软件项目估算之代码行估算方法

现在软件在大多数基于计算机的系统中已成为最昂贵的部分,如果软件成本估算的误差很大,就会使盈利变成亏损。

软件项目估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,想一次性整体解决比较困难。因此,对问题进行分解,把其分解成一组较小的接近于最终解决的可控的子问题,再定义它们的特性。

估算技术一般有代码行(LOC)和功能点(FP)估算法,这是两种不同的估算技术,但有许多共同特性。项目计划人员首先给出一个有界的软件范围的叙述,再由此尝试着把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其LOC或FP(即估算变量)。接着,把基线生产率度量用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算进行综合后就能得到整个项目的总估算。

LOC或FP估算技术对于分解所需要的详细程度是不同的。当用LOC作为估算变量时,功能分解是绝对必要的且需要达到很详细的程度。而估算功能点所需要的数据是宏观的量,当把FP当做估算变量时所需要的分解程度可以不很详细。LOC是直接估算的,而FP是通过估计输入、输出、数据文件、查询和外部接口的数目,以及复杂性校正值间接地确定的。除去所用到的估算变量,项目计划人员必须对每一个分解的功能提出一个有代表性的估算值范围。利用历史数据或凭实际经验,计划人员对每个功能分别按乐观的、可能的、悲观的三种情况给出LOC或FP估计值。

为了反映开发特性的影响,应当随时修正平均生产率。

1 LOC(Lines of Code,代码行)估算代码尺寸

把项目划分为若干个功能,分别计算每个功能的代码长度,所有功能代码行之和即项目的代码长度。

LOC估算表包括:

每个功能的代码长度估算值=(乐观值+4*可能值+悲观值)/6

估算工作量=代码总估算长度/估算生产率

估算总成本=日薪*估算工作量

估算行成本=估算总成本/估算代码长度

估算生产率由经验获得

2
FP(功能点)估算代码尺寸

项目的功能点数是几个测量参数(用户输入数、用户输出数、用户查询数、文件数、外部接口数)的功能点之和。

用户输入数:计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。

用户输出数:计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。

用户查询数:一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。

文件数:计算每个逻辑的主文件(如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件)。

外部接口数:计算所有机器可读的接口(如磁带或磁盘上的数据文件),利用这些接口可以将信息从一个系统传送到另一个系统。

FP估算表包括:

每个测量参数的估算FP计数=估算值*加权因子

项目估算FP=各参数FP计数之和*复杂度调整因子

估算生产率由经验获得

估算工作量=项目估算FP/估算生产率

估算总成本=日薪*估算工作量

单个FP估算成本=估算总成本/估算FP

时间: 2024-08-24 14:20:53

软件项目估算之代码行估算方法的相关文章

依据软件项目工作量估算来测算合作伙伴采购预算及人力资源投入计划

[项目人力资源计划]是指通过对未来人力资源需求的预测,确定完成项目所需人力资源的数量和质量.各自的工作任务,以及相互关系的过程.它确保了在适当的时候,为适当的职位配备合适数量和类型的工作人员,并使他们能够有效地完成总体目标. 项目概况 系统基于Cordys BOP 4云架构办公能力平台,支撑公文管理.通用办公.流程管理三类业务,提供完善的流程全生命周期管理能力.可视化流程定制开发能力.快速复用能力及友好的个性化定制页面. (1)办公管理能力平台及接口(内含开发平台.基础平台和接口): (2)公文

Project Management: 软件项目估算与计划不是一般的难!

摘要:估算.计划.计划跟踪是项目管理的主要工作,难度之高超乎你想象!光靠学习项目管理理论难以管好项目,而往往真能管好项目的都是那些在具体项目中滚打出来的实干人士.本文将会让你全面学习项目估算.计划.计划跟踪的知识,体验实际项目管理的难度,学到提高项目管理水平的一些方法. 大纲:1.从建筑工程说起2.估算要估啥?3.估算如何做出来?4.计划有什么内容?5.计划是如何做出来的?6.如何跟踪计划?7.优秀项目经理是怎样炼成的? 特别声明:如需转载此文,请给出指向本网站的连接,如下:作者:张传波摘自:h

关于软件项目工作量估算的若干问题

作者:张克强 软件项目工作量估算从估算依据上看可以分成如下两类: 1,基于规模估算 2,基于工作量估算 基于规模估算的情况下,需要估算软件项目的规模.本文首先来看规模方面的问题. 问题1:如何表达规模? 软件产品或项目的功能规模是涉及软件开发和交易的成本.项目资源投入的预测.项目维护成本的预算.项目质量管理的要求以及产品上市的时间等方面的关键指标.因此,进行软件产品的功能规模测量显得尤其重要. 如何测量软件规模这个问题自软件工程诞生起就一直是这个领域的焦点问题.刚开始,人们很自然的使用代码行数作

软件项目估算实战(广州 2014-12-6)

课程收益本课程将会为为你带来以下收益:1.改变项目小组不敢估算的心态,勇于估算和承担责任:2.学会实用的项目估算办法(包括项目初期估算和项目中后期估算):3.学会估算驱动计划,让项目实际成本与估算保持一致. 上课时间2014年12月6日(周六),上午9:00-12:00,下午14:00-17:30 上课地点广州山水时尚酒店(东站店)4楼会议室 (地铁1号线火车东站I出口左转30米即可抵达酒店) 适合听众中高层领导,项目经理,敏捷教练,SEPG.EPG.PMO参加课程的朋友需要具备一定项目管理经验

软件项目报价方法

题:软件项目报价方法 广告:========================================================== 欢迎使用[豆瓣读书] 管理你的阅读,查阅书评,编写读书笔记等. ^^ app下载:http://itunes.apple.com/cn/app/id695492935 ================================================================= 软件项目一般包括解决方案.开发.维护.系统集成等.以下

iOS开发- 查询项目代码行数

...其实, 这功能也没什么用. 就是查询一个项目总的代码行数. 玩玩倒是可以. 方法: 在终端下面依次输入: cd 项目文件 find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l

在软件项目管理中如何把时间估算的靠近真实值?

我们在开发一个软件项目的时候,大老板或者客户经常需要我们给他们某个项目估算的工时,我们一般的做法就是把当前的项目按照WBS进行自上而下,自顶而底,自外而里的进行分解:然后根据一个详细的可个人实施的任务作为一个最低的估算时间的单元,这个时候问题,就来了,如何让这个最低的估算时间的单元逼近它的实际真实值,同时也不让员工太闲或者太累?这里给大家介绍一种我们以前用过的乐观估计,悲观估计和期望估计的算法,供大家参考. 任务最终的估算时间=(乐观估计+悲观估计+期望估计*4)/ 6(中庸), (1)乐观估计

一个统计代码行数的简单方法

安装Git, 到项目目录下右击->Git Bash, 输入命令: find . -name "*.cs" | xargs wc -l 效果如下, 还是挺简便的. 一个统计代码行数的简单方法,布布扣,bubuko.com

做web项目时对代码修改后浏览器端不生效的应对方法(持续更新)

做web项目时,经常会遇到修改了代码,但浏览器端没有生效,原因是多种多样的,我会根据我遇到的情况逐步更新解决办法 1.运行的时候采用debug模式,一般情况下使用项目部署按钮右边那个按钮下的tomcat7中的run就行,如果使用的是serves中的run serves,这种情况貌似不会自动编译 2.点击project菜单下的clean选项,在打开的窗口中选择你使用的项目,ok,这样会删除tomcat容器中关于该项目的一些信息,然后重新部署,运行 3.删除电脑中tomcat文件夹,重新解压,然后在