软件项目规模估计方法介绍
软件项目的规模估算历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的规模估算往往和实际情况相差甚远。 因此,估算错误已被列入软件项目失败的四大原因之一。
软件工程师经常会被问到,编一个什么什么样的软件需要多长时间、多少钱。面对这个问题,有不少人很犯难,因为,第一用户的需求太不具体,第二,自己缺乏一个科学的估计方法。这里向大家介绍几种软件项目规模的估计方法。
概念介绍
先介绍一个衡量软件项目规模最常用的概念——LOC(Line of Code),LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力。组织可以根据对历史项目的审计来核算组织的单行代码价值。
例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(。c和。h文件)约为250K.某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则该项目中1LOC的价值为:
(240×10000)/150000=16元/LOC
改项目的人月均代码行数为:
150000/240=625LOC/人月
方法一、Delphi 法
Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家"专"的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用。Delphi法鼓励参加者就问题相互讨论。这个技术,要求有多种软件相关经验人的参与,互相说服对方。
Delphi法的步骤是:
1、协调人向各专家提供项目规格和估计表格;2、协调人召集小组会各专家讨论与规模相关的因素;3、各专家匿名填写迭代表格;4、协调人整理出一个估计总结,以迭代表的形式返回专家;5、协调人召集小组会,讨论较大的估计差异;6、专家复查估计总结并在迭代表上提交另一个匿名估计;7、重复4-6, 直到达到一个最低和最高估计的一致。
方法二、 类比法
类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。
其基本步骤是:
1、整理出项目功能列表和实现每个功能的代码行;2、标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;3、通过步骤1和2得出各个功能的估计值;4、产生规模估计。
软件项目中用类比法,往往还要解决可重用代码的估算问题。估计可重用代码量的最好办法就是由程序员或系统分析员详细地考查已存在的代码,估算出新项目可重用的代码中需重新设计的代码百分比、需重新编码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比,可用下面的计算公式计算等价新代码行:
等价代码行 = [(重新设计% +重新编码% +重新测试%)/3]× 已有代码行
比如:有10,000行代码,假定30%需要重新设计,50%需要重新编码,70%需要重新测试,那么其等价的代码行可以计算为:
[ (30% + 50% + 70%)/3 ]× 10,000 = 5,000 等价代码行。
意即:重用这10000代码相当于编写5000代码行的工作量。
方法三、功能点估计法
功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是:
1、计算输入,输出,查询,主控文件,和接口需求的数目。
2、将这些数据进行加权乘。下表为一个典型的权值表。
功能类型 权值输入 4输出 5查询 4主控文件 10接口 10
3、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。
据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC.
方法四、PERT估计法
PERT对各个项目活动的完成时间按三种不同情况估计:一个产品的期望规模,一个最低可能估计,一个最高可能估计。用这三个估计用来得到一个产品期望规模和标准偏差的Pert 统计估计。Pert 估计可得到代码行的期望值E, 和标准偏差SD.
详细的估计方法,读者可参考笔者所写的《应用PERT进行项目工期估计》一文,这里不再赘述。
- 1建筑工程项目管理软件
- 2软件项目管理工具
- 3项目管理系统
- 4工程行业科研项目管理系统
- 5工程项目管理软件下载
- 6开源项目管理系统下载
- 7工程项目管理
- 8多项目管理
- 9项目管理
- 10哪家项目管理好
- 11企业项目管理排名
- 12项目管理系统有哪些
- 1卫生间防水维修施工工艺
- 2拉日铁路盆因拉隧道胜利突破万米大关
- 3现代咨询方法与实务考点:直接效益与直接费用
- 4一级建造师市政公用工程管理与实务计算混凝土的初贯量
- 5中国建成海水淡化工程超百个 日产90万吨
- 62015安全工程师考试《相关法律知识》资料:施工单位安全责任
- 7湖州市2015年度造价工程师考试报名时间为6月16日至30日
- 8项目设计负责人控制点一般应包括
- 92012一级建造师《公路工程》:合同文件的优先顺序
- 102015年招标师采购案例分析全真模拟题15
- 11城市热力网热力站防腐涂层的一般规定
- 12如果没有建设工程教育网,我就不可能通过考试
- 13工程咨询概论知识点:工程咨询争端的解决
- 142015年一级建造师考试辅导:项目管理规范(三十四)
- 15衡昆国道主干线某隧道工程施工组织设计
- 162015年一级建造师《公路工程》桥梁工程施工(5)
- 172015年咨询工程师《工程咨询概论》每日一练8.6
- 182015年监理工程师《建设工程合同管理》练习题(90)
- 192015年天水造价工程师报名入口
- 20园林景观工程施工组织设计78p
- 212015年咨询工程师《宏观经济政策与发展规划》每日一练(12.26)
- 22沉沉一线穿南北 ——中国铁建电气化局集团京石武高铁“四电”系统集成施工纪实
- 23非承包施工花岗岩地面 内容
- 24园林树木学课件
- 252015年咨询工程师《项目决策分析与评价》每日一练3.11
- 26中铁电气化局西格二线关角隧道首台箱变一次送电成功
- 272015年造价工程师《理论与法规》专家分析(13)
- 282015一级建造师考试《市政工程》重点(10)
- 292015年一级建造师建筑专业考点:防火墙施工规定
- 302015年咨询工程师《宏观经济政策》练习题(5)
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼