软件构造笔记 1.2 Quality Objectives of Software Construction

1.软件构造过程中应考虑的重要质量指标

分为外部质量因素和内部质量因素,其中外部质量影响用户,内部质量因素影响软件本身和开发者,且外部质量取决于内部质量。

外部质量因素:

正确性(Correctness)按照预先定义的“规约”执行,是至高无上的质量指标。实现方法有测试和调试;防御式编程;形式化方法。

健壮性(Robustness ):针对异常情况的处理,确保出现异常时不会“崩溃”,异常情况指spec为考虑的情况。

正确性和健壮性的区别:

健壮性是对正确性的补充

正确性指软件的行为要严格的符合规约中定义的行为。

健壮性指出现规约定义意外的情况时,软件要做出恰当的反应。

软件构造笔记 1.2 Quality Objectives of Software Construction

可扩展性(Extendibility):对软件的规约进行修改是否足够容易。可扩展性体现软件应对变化的能力,简约设计主义和分离设计主义是实现它的两项原则。

可复用性(Reusability):简单的说就是一次开发可供多次使用。

兼容性(Compatibility ):不同软件系统之间相互可容易的集成。

性能(Efficiency ):在有足够正确性的前提下,性能才有意义。对性能的关注要与其他质量属性进行折中。过度的优化会导致软件不在适应变化和复用。

内部质量因素:内部质量因素通常用作外部质量因素的部分度量。包括源代码相关因素,如代码行(LOC),循环复杂性;体系结构相关因素,如耦合,内聚等;可读性;可理解性等。

质量属性间的折中

正确的软件开发过程中,开发者应该将不同质量因素之间如何做出折中的设计决策和标准明确的写下来,虽然需要折中,但“正确性”绝不能与其他质量因素折中。在目前的软件行业中,四个属性脱颖而出:

正确性和健壮性:可靠性

可扩展性和可复用性:模块化

软件构造笔记 1.2 Quality Objectives of Software Construction

软件构造中五个关键的指令属性

易理解性

软件构造笔记 1.2 Quality Objectives of Software Construction

可复用性

软件构造笔记 1.2 Quality Objectives of Software Construction

可维护和适用性

软件构造笔记 1.2 Quality Objectives of Software Construction

健壮性

软件构造笔记 1.2 Quality Objectives of Software Construction

性能

软件构造笔记 1.2 Quality Objectives of Software Construction