论文部分内容阅读
为了解决软件危机中的问题,软件工程研究者们从传统工业生产中吸取经验并作了许多有益的尝试,软件测量就是其中之一。
软件测量将测量引入软件生产,通过测量软件开发过程中各实体属性来量化软件生产中的相关要素,增强软件开发的可控性,从而达到改善开发过程,提高软件质量的目的。传统测量为软件测量提供了理论基础,包括测量的表示、分类、尺度和确认等,这些对于软件测量有重要的理论指导作用。
软件开发过程中的实体属性很多,通过改进后的目标/问题/测量(Goal/Question/Metric,GQM)方法可以帮助我们确定测量目标,划定测量范围,明确分析步骤。通过测量获得相关数据进一步反馈到下一步的软件生产,可以使软件开发过程日趋成熟化。
软件测量根据属性的不同可以分为多个领域,包括软件规模测量、成本测量、能力成熟度测量和软件生产效率测量等。每一个领域都有不同的参考模型,本文介绍了其中的一些成果,包括COCOMO模型和集成能力成熟度模型CMMI等。其中CMMI与软件测量存在互为交叉的关系:CMMI五级模型本身就是一种软件测量;CMMI中又有与软件测量相关的过程域,第四级定量管理级更是明确指出了软件测量的重要性。
本文在总结分析上述理论成果的基础上,着重阐述参与研制的软件过程集成框架SPIF。SPIF的前身软件过程改进框架是一个以能力成熟度模型(CMM)为参考模型的过程改进支持工具,随着CMM被CMMI取代,我们在原来的基础上引入了很多新的要素,其中软件测量占了相当大的比重。SPIF中的软件测量主要对应于CMMI中与测量相关的三个过程域,它们分别是:测量与分析域(MA)、定量项目管理域(QPM)和组织过程能力域(OPP),同时SPIF收集的数据为进一步使用其它模型进行相关测量奠定了基础。
软件测量的引入拓展了SPIF的功能,使得SPIF可以支持CMMI中与测量相关的过程域,是SPIF全面支持CMMI的重要一步,同时也为软件测量在软件开发中的使用提供了参考。
SPIF在富士通南大计算机软件公司的应用不仅使得公司的软件过程日趋成熟,并且帮助该公司分别通过了CMM三级、四级和CMMI五级的认证。同时需要指出的是,SPIF是一个通用的品质管理工具,并不局限于某一具体公司,帮助苏州方舟公司于2006年3月通过CMMI二级可以很好的说明这一点。