您的位置:软件测试 > 软件项目管理 > 项目管理综合 >
项目规模估算失准 软件开发成空中楼阁
作者:网络转载 发布时间:[ 2013/5/2 15:27:09 ] 推荐标签:

功能点估算法的核心是利用软件信息域中的一些计数估算和软件复杂性估计的经验关系式而导出功能点FP。因此,它是一种在需求分析阶段基于系统功能的一种规模估计方法。主要是通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。这种方法的计算公式是:功能点=信息处理规模X技术复杂度。其中,信息处理规模包括:各种输入、输出、查询、内部逻辑文件数、外部接口文件数等;技术复杂度则包括:性能复杂度、配置项目复杂度、数据通信复杂度、分布式处理复杂度、在线更新复杂度等。

②LOC代码行估算法

衡量软件项目规模的常用方法还有代码行LOC(Line of Code) 估算法。LOC是指所有的可执行的源代码行数,包括可交付的工作控制语言语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。这是一种从技术角度来估算的方法,是以代码行(LOC)作为软件工作量的估算单位。开发团队可以根据对历史项目的审计来核算开发团队的单行代码价值,一个代码行的价值和人月均代码行数可以体现一个软件开发团队的生产能力。LOC方法在早期的系统开发中较为广泛使用。优点在于方便计算、容易监控、能反映程序员的思维能力;缺点在于代码行数的含糊不清,不能正确反映一项工作的难易程度以及代码的效率。因此,在传统的LOC方法上有许多改进的方法。这些不断演化的新方法有:PERT功能点估算法、类比估算法、系统分解法等。

除了以上介绍的两种方法外,还有许多其它的估算方法。不同的方法适用于不同的具体环境,有些方法虽然很好但并不一定适合当前的任务。因此,建议至少使用两种方法进行规模估算,不要依赖于任何一种方法。只有量体裁衣,具体问题具体分析,才能得到尽量合理的规模估算。

准确进行项目规模估算的步骤

(1)规模估算前先制定良好的规划

一个成功的软件项目首先要有一个好的起点,也是一个合理的规划。同样道理,一个好的规模估算也需要有一个好的规划。例如,当我们的办公室内堆满了杂乱无章的文件时,恐怕是无法知道对于我们真正有用的文件在哪里。同样道理,当我们从软件项目中收集了各种需求、意见和问题时,我们也很难从中估算出整个项目的规模、工作量以及成本。因此,在估算之前首先要对众多信息进行整理、归类和分析,从而得到一个条理清晰的项目规划。在这个规划提供的框架内,才可能正确的估算。因为有了规划才能成竹在胸,才能给规模估算指出正确的方向。

(2)确定软件项目的范围

确定软件项目的范围,是确定目标软件的数据和控制、功能、性能、约束、接口以及可靠性的要求。这项工作和需求分析是很类似的,如果之前已经达成需求分析规约,那么可以直接从《需求分析说明书》中把有用的部分拿来使用。如果还没有开始需求分析,必须要使用需求分析技术从客户处得到一个具体的软件范围。因为确定软件项目的范围,能形成一个有界限的开发框架。虽然这个开发框架还不够精确,但足以进行规模的估算工作。

(3)制订各级别的估算表框架和模板

在开发框架明确后,我们下一步要做的是把公司内部有项目经验、有估算经验的工程们召集在一起,制定各级别的估算表框架和估算表模板,并写上足够清晰的指导。当项目组用这些模板的时候,相当于用了估算精英们的脑袋来思考本项目的估算了。然后,再根据项目的实际情况列出具体的活动,后是把这些活动进行细化估算。据我过往的经验,很多时候规模估算没有做好的缘故是因为没有估算好非直接生产编程的活动的规模,例如管理类、支持类、维护类的活动,而根本的原因是没有制定好估算表框架和有合适的模板可利用。

(4)根据合适的估算表模板进行由底而上的估算

后一步是项目组根据项目的特点利用合适的估算表模板继续细化,例如进行详细的WBS分解,列出要完成这个项目所需要的全部工作。然后,把这些工作通过由底而上的方式进行综合,以估算出项目规模的大小。

后,分享这次项目失败给我的教训:要客观的利用和看待过去的经验。因为以往的估算经验虽然是宝贵的财富,但是如果财富用错了地方会变成垃圾。在使用历史经验时,要注意现在和参考经验之间的差异。不要忘记,随着时间的推移,软件开发领域的技术和方法都在发生着巨大的改变。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd