1.2软件构建的质量目标
▪软件系统的质量属性
- 外部质量因素与内部质量因素
- 重要的外部质量因素
- 质量因素之间的权衡
▪软件构建的五个关键质量目标
(理改重壮快)
易于理解、便于修改、重用性高,健壮性好,高效运行 - 易于理解:优雅和美观的代码/可理解性
- 为变化做好准备:可维护性和适应性
- 开发成本低廉:设计/重用:可重用性
- 防止漏洞:稳健性
- 高效运行:性能
外部质量因素与内部质量因素
外部质量是用户能够感受到的,影响用户的使用 (如速度和易用性)
内部质量影响使用代码的相关人员,影响软件本身和开发者
到最后只剩下外部质量因素
但实现这些外部因素的关键在于内部因素:为了让用户享受可见的品质,设计师和实施者必须运用内部技术来确保隐藏的品质。
(1)外部质量因素
外部1:正确
▪正确性是软件产品执行其规范所定义的确切任务的能力。
▪正确性是最重要的品质。
▪确保正确性的方法:有条件的。
- 一个严肃的软件系统涉及很多领域,通过在一个层面上处理所有组件和属性来保证其正确性是不可能的。 相反,分层方法是必要的
设想一个软件系统是分层开发的,每一层都保证自己是正确的,同时假定其调用的低层也是正确的。
保证正确性:测试和debug
防御式编程,例如类型化/静态类型检查和断言,意味着帮助软件从开始