1.软件质量的内涵
首先再来看PMBOK对质量的定义是内在的系列特征满足要求的程度。这里我们的关注点是这个要求是谁的要求,如果仅仅理解为最终的使用软件的用户的要求,那就片面的理解了软件的质量。因此这里的要求应该理解为满足内部用户和外部用户的要求。
◆外部用户要求
正确,高效,健壮,易用和可靠
◆内部维护人员要求
可维护(代码易读,易读,易Debug,注释清晰,容易扩展)
◆内部测试人员要求
可测试,易用,易理解
◆企业产品化要求
可扩展,可移植,可配置,灵活,重用性高,模块和组件化
因此质量不是无中生有,是有具体的需求驱动,质量也是为了满足某种需求。但一开始可能我们并不能意识到这种需求,如一开始并不注意软件可维护性,到了后期随着需求不断变更修改和人员交替,软件维护拖垮掉项目一半人员时候才反省软件可维护性的重要性,才来关注这个质量需求并制订相应的质量目标。
只有当所有人由于没有执行某些规则而导致惨痛代价后,人们才可能真正理解规则的价值。
因此《代码大全》将软件质量特征分为内部质量特征和外部质量特征:
外部质量特征包括:
◆正确性
整个系统受说明、设计和实现的错误影响程度。
◆可用性
用户学会和使用系统的难易程度。
◆效率
对系统资源的最小利用,包括存储和执行时间。
◆可靠性
在一定条件下执行特定功能的能力。