软件估算-代码行估算法

张开发
2026/4/21 17:20:47 15 分钟阅读
软件估算-代码行估算法
代码行技术是比较简单的定量估算软件规模的方法。这种方法根据以往开发的类似产品的经验和历史数据估算实现一个功能需求的源程序行数。当有以往开发类似项目的历史数据可供参考时用此方法估算出的历史数据还是比较准确的把实现每个功能需要的原代码行数累加起来就得到实现整个软件需要的原代码行数。为了使得对程序规模的估算值更接近实际值它要求有多种软件相关经验人员参与参加者就问题相互讨论互相说服对方。用代码行技术可以得到比较准确的估算值。可采用以下步骤:(1)组织者向各专家提供项目规格说明书和记录估算值的表格。(2)专家要仔细研究软件规格说明书的内容然后组织者召集小组会各专家讨论与规模相关的因素。(3)各专家匿名填写对该软件三个规模的估算值:即该软件可能的最小规模、最可能规模和最大规模。(4)组织者对各专家的估算值进行综合计算出各个专家期望值和期望中值做出估算总结。(5)组织者召集小组会讨论较大的估计差异。(6)专家复查估计总结并在迭代表上提交另一个匿名估算。重复步骤(4)~步骤(6)最终获得一个得到多数专家共识的软件规模。系统对各位专家的估算值计算三种规模即最佳的(a)、可能的(m)和悲观的(6)的平均值再用下式可计算出程序规模的估计值:L一(a十4m十6)/6在估算出代码行数之后还可以进一步度量软件开发的生产率、每行代码的单元成本和每千行代码的错误个数等。(1)生产率:P L/PM其中L是软件的代码行数其单位是每千行代码数KLOC;PM是软件开发的工作量其单位是人月;P是软件开发的生产率其单位是每人月完成的代码行数。(2)单位成本:CS/L其中S是软件开发的总成本其单位是人民币或美元等货币单位;C是每行代码的平均成本。(3)代码出错率:EQR N/L其中N是软件的错误总数;EQR是每千行代码的平均错误数。用代码行技术度量软件规模时常用单位是LOC或KLOC。它的技术特点是:容易计算;同时许多估算模型都使用LOC和KL(C作为主要输入数据;现已有大量的基于代码行的数据存在使用比较方便。但是程序代码只是软件组成的一部分用它代表整个软件似乎不太合理不同的语言实现同一个软件产品所需的代码行也不相同此方法不适合于非过程化的语言。

更多文章