质量标准可分为外部质量因素与内部质量因素,外部质量因素影响用户,内部质量因素影响软件本身与它的开发者,外部质量取决于内部质量。
一、外部质量因素
1、Correctness(正确性):软件按照预先定义的规约执行
正确性是最重要的质量标准。
2、Robustness(健壮性):软件针对异常状况做出适当反应
健壮性是对正确性的补充,当出现规约定义的情况时软件要严格满足正确性,当出现规约定义以外的情况时,软件要做出适当反应。
3、Extendibility(可拓展性):对软件的规约进行修改,是否足够容易。
也就是说当对一款软件的功能要求更改时,修改软件使其对新规约满足正确性是否足够容易。一般来说,改变越大,软件系统越大,拓展越难。
4、Reusability(可复用性):一个软件用于构造多个不同的应用的能力。
5、Compatibility(兼容性):软件与其他软件系统相结合的容易程度。
关键在于保证设计的同构性,即保证软件的标准化。
6、Efficiency(性能):软件尽可能少的利用硬件资源就完成任务的能力。
在满足正确性前性能毫无意义,过度的优化性能将导致软件不再适应变化与复用。
7、Portability(可移植性):软件可方便地在不同硬件环境与软件环境之间移植。
8、Ease of use(易用性):不同背景学历的人都能学会软件的使用。
9、Functionality(功能):软件提供给用户的可能操作的范围。
每增加一小点功能,都要确保其它质量属性不受损失。
10、Timeliness(及时性):软件在用户需要时或之前发布出来
二、内部质量因素
与源代码相关的因素,例如代码行(LOC)、圈复杂度等。
架构相关因素,如耦合、内聚等。
Readability,Understandability,Clearness,Size等