质量要素
描述和评价软件质量的一组属性 功能性、可靠性、易用性、效率性、可维护性、可移植性等质量特性以及将质量特性细化产生的副特性
衡量标准
衡量标准的组合反映某一软件质量要素 精确性、稳健性、安全性、通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、文件完备性等
量度标准
可由各使用单位自定义 根据软件的需求分析、概要设计、详细设计、编码、测试、确认、维护与使用等阶段,针对每一个阶段制定问卷表,以此实现软件开发过程的质量度量
表7-3软件质量度量FCM模型
凯悦(Lawrence E. Hyatt)和罗森贝克(Linda H. Rosenberg)在《识别项目风险以及评价软件质量的软件质量模型与度量》(A Software Quality Model and Metrics for Identifying Project Risks and Assessing Software Quality)中比较了这3种最常用的软件质量模型,其基本情况如表5-14所示。
度量标准/目标 麦 考 尔 勃 姆 ISO 9126
正确性(Correctness) X X 可维护性
可靠性(Reliability) X X X
完整性(Integrity) X X
可用性(Usability) X X X
效率性(Efficiency) X X X
可维护性(Maintainability) X X X
可测试性(Testability) X 可维护性
互操作性(Interoperability) X
适应性(Flexibility) X X
可重用性(Reusability) X X
可移植性(Portability) X X X
明确性(Clarity) X
可变更性(Modifiability) X 可维护性
文档化(Documentation) X
恢复力(Resilience) X
易懂性(Understandability) X
有效性(Validity) X 可维护性
功能性(Functionality) X
普遍性(Generality) X
经济性(Economy) X
表7-4 3种软件质量模型之比较
软件质量度量方法
软件质量度量方法比较多,例如:(1)Halstead复杂性度量法,基本思路是根据程序中可执行代码行的操作符和操作数的数量来计算程序的复杂性。操作符和操作数的量越大,程序结构就越复杂。(2)McCabe复杂性度量法,其基本思想是程序的复杂性很大程度上取决于程序控制流的复杂性,单一的顺序程序结构最简单,循环和选择所构成的环路越多,程序就越复杂。