软件内部/外部质量指标
外部质量因素影响用户,内部质量因素影响软件本身和它的开发者,外部质量取决于内部质量
外部质量:
- Correctness 正确性:按照spec执行,得到正确的结果,软件的行为要严格符合规约中定义的行为
保证正确性:测试和调适、防御式编程,形式化方法(形式化语言)
encapsulation, decentralization 封装、分散化 - Robustness 健壮性:针对异常情况的处理:出现规约定义之外的情形,软件做出恰当的反应(出现异常时不要崩溃),未被spec覆盖的情况即为"异常情况"
encapsulation, error handling封装、异常处理 - Extendibility 可扩展性:是否容易使软件适应规约的变化
提升可扩展性的两个原则:简约主义设计,分离主义设计
encapsulation, information hiding封装,信息隐蔽(结构良好的对象有简单的接口,并且不向外界显漏任何内部机制。) - Reusability 可复用性:一次开发,多次使用,发现共性
modularity, component, models, patterns模块化、组件、模型、模式 - Compatibility 兼容性:不同软件系统之间相互可容易的集成
保持设计的同构性:标准化文件格式,标准化数据结构,标准化用户接口 - Efficient 性能
- Portability 可移植性:软件可方便的在不同的技术环境之间移植:硬件、操作系统
- Ea