一.软件系统的质量属性
- External quality factors (外部质量因素)
(1) 正确性:最重要的质量指标
按照预先定义的规约执行
确保正确性的方式:
① Conditional(分层):每一层保证自己的正确性,同时假设其下层是正确的
② 测试和调试:发现不正确,消除不正确
③ 防御式编程:在写程序的时候就确保正确性
④ 形式化方法:通过形式化验证发现问题
(2) 健壮性:针对异常情况的处理
健壮性是对正确性的补充
正确性:软件的行为要严格的符合规约中定义的行为
健壮性:出现规约定义之外的情形的时候,软件要做出恰当的反应,出现异常时不要崩溃
未被specification覆盖的情况即为“异常情况”,所谓的“异常”,取决于spec的范畴
(3) 可扩展性:对软件的规约进行修改,以适应变化。
规模越大,扩展越不容易。
(4) 可复用性:一次开发,多次使用
要点:发现共性。
(5) 兼容性:不同的软件系统之间相互可容易的集成
(6) 性能:对性能的关注要与其他质量属性进行折中
(7) 可移植性:软件可方便的在不同的技术环境之间移植
(8) 易用性
(9) 函数性(Functionality):每增加一小点功能,都确保其他质