1、软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。没有软件度量,就不能从软件开发的暗箱中跳将出来。通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。度量取向是软件开发诸多事项的横断面,包括顾客满意度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量等。度量取向要依靠事实、数据、原理、法则;其方法是测试、审核、调查;其工具是统计、图表、数字、模型;其标准是量化的指标。
2、软件度量包括3个维度,即项目度量、产品度量和过程度量。
项目度量
1、项目度量:是针对软件开发项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助项目管理进行项目控制。
2、规模度量:软件开发项目规模度量是估算软件项目工作量、编制成本预算策划合理项目进度的基础,有助于软件开发团队准确把握开发时间、费用分布以及缺陷密度等等。方法如:功能点分析、代码行、德尔菲法、特征点、对象点等。
3、成本度量:软件开发成本度量主要是指软件开发项目所需的财务性成本的估算。方法如:类比估算法、戏份估算法、周期估算法。
产品度量
产品度量用于对软件产品进行评价,实质上是软件质量的度量。软件质量层次模型FCM3层模型包括:软件质量要素、衡量标准和量度标准,包括11个标准,分为产品操作(product operation)、产品修正(product revision)和产品转移(product transition)。ISO 9126将软件质量总结为6大特性,每个特性包括一系列副特性,其软件质量模型包括3层,即高层:软件质量需求评价准则(SQRC);中层:软件质量设计评价准则(SQDC);低层:软件质量度量评价准则(SQMC)。
过程度量
软件过程度量主要包括三大方面的内容,一是成熟度度量(maturity metrics),主要包括组织度量、资源度量、培训度量、文档标准化度量、数据管理与分析度量、过程质量度量等;二是管理度量(management metrics),主要包括项目管理度量(如里程碑管理度量、风险度量、作业流程度量、控制度量、管理数据库度量等)、质量管理度量(如质量审查度量、质量测试度量、质量保证度量等)、配置管理度量(如式样变更控制度量、版本管理控制度量等);三是生命周期度量(life cycle metrics),主要包括问题定义度量、需求分析度量、设计度量、制造度量、维护度量等。