一. 软件规模度量的必要性
软件项目规模的度量,是软件项目中相当重要的一环.
只有相对合理和相对准确地度量软件规模,才能对项目的计划进度安排,资源分配,等等各个环节进行合理的部署.这样才能尽可能地保证软件项目的进度和质量.
原因是:
1. 软件项目与其它项目,例如建筑工程项目,汽车制造项目等,都有可以通过加大资源投入而获得更大生产力的特点.比如增加一条汽车生产线,生产能力能马上提高一倍.(当然其中仍包括一些工业生产线上的一些如何最大化流水线的技巧理论问题,但从总体上来说,软件生产不具备这样的特点),当加大软件开发资源的时候,如果管理不善,会出现生产力下降的情况.尽管其它的工业生产也可能发生这样的情况,但软件生产发生的概率要大很多.
2. 有90%的软件项目难以预测,只有10%的软件项目能在够在预定的费用和进度下交付.从这个角度看,能否准确地度量软件的规模,成为软件项目成功的重要矛盾点.
3. 软件项目规模的相对准确度量,能为项目计划,为项目的甲乙双方的资源分配调动提供有力的招引,尽管软件项目的度量是不可能完全精确的.有目的性地进行度量,能让项目组对软件开发的整个过程中出现的各种问题和风险有预先的估计,避免盲目从而能在实际上有效的提高软件项目的生产水平.
二.软件项目规模度量的相关方法及其局限
比较流行的软件规模度量的方法是代码行(LOC)和功能点(FP)两种
l 代码行度量的方法
代码行度量的方法,是通过各种手段,统计出软件项目的代码行.从而按代码行的数量为单位度量出软件的规模.
一般使用代码行度量自动化工具来进行度量,要度量的文件类型包括软件项目中交付用户使用的各种文件. 一般来说,如果项目的配置管理是使用CVS的话,可以使用StatCVS进行代码行度量.
LOC方法的优点是:
1. 度量工作容易进行,而且自动化度量工具非常多,即使自行开发难度也不高