软件工作量评估方法 AMC软件项目评估方法
软件项目的规模估计历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的规模估计往往和实际情况相差甚远。 因此,估计错误已被列入软件项目失败的四大原因之一。软件工程师经常会被问到,编一个什么什么样的软件需要多长时间、多少钱。面对这个问题,有不少人很犯难,因为,第一用户的需求太不具体,第二,自己缺乏一个科学的估计方法。下面是几种软件项目规模的估计方法。概念介绍先介绍一个衡量软件项目规模最常用的概念--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]× 已有代码行 方法三、功能点估计法 功能点测量是在需求分析阶段基于系统功能的一种规模估计方法。通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。通常的步骤是: 1、计算输入,输出,查询,主控文件,和接口需求的数目。 2、将这些数据进行加权乘。下表为一个典型的权值表。 功能类型 权值 输入 4 输出 5 查询 4 主控文件 10 接口 10 3、估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。 据发现,对一个软件产品的开发,功能点对项目早期的规模估计很有帮助。然而,在了解产品越多后,功能点可以转换为软件规模测量更常用的LOC。
更多阅读
软件项目风险评估报告 项目投资风险评估报告
本文档的范围和目的本文主要针对软件开发涉及到的风险,包括在软件开发周期过程中可能出现的风险以及软件实施过程中外部环境的变化可能引起的风险等进行评估。在文中对所提到的风险都一一做了详细的分析,并提出了相应的风险回避措施。
软件项目经理职责 产品经理岗位说明书
国际软件项目经理的七大素质:1、在一个或多个应用领域内使用整合了道德、法律和经济问题的工程方法来设计合适的解决方案。2、 懂得确定客户需求并将其转换成软件需求的过程。3、 履行项目经理的职责,善于处理技术和管理方面的事务。4
如何写软件项目技术标 软件项目投标技术方案
技术标作为一个初期评价软件供应商的重要标准之一,需要覆盖多方面的考虑因素,从需求的理解,到系统的设计,到项目的实施与管理,以及项目的验收与后期支持。那么我们如何来编写一个完整的技术标呢?第一,项目概述项目情况的一个综合介绍,这
英雄联盟卡密尔实战 [项目管理者联盟专稿]软件项目质量管理实战总结1
摘要:本文详细阐述了作者对软件项目质量管理的认识,是作者实际经验的总结。主要内容包括对软件项目质量管理理论的认识、软件项目质量管理在实践中的具体做法。文章详细介绍了有关质量计划编制、质量控制、质量保证的有关理论;文章也
软件项目实施方案 平台软件项目实施笔记之一
平台软件一直为业内人士所追捧,也是许多商业软件公司的转型选择,更是被许多企业的信息主管作为试图解放自己的工具而充满希望。然而通察周遭之实践,除了在二次开发以及独立模块上有一定成功应用之外,在一个企业里面能够通过平台软件