软件构造课程笔记——软件质量目标
程序员文章站
2022-03-10 14:16:25
...
首要质量目标
- Easy to understand
- Ready for change
- Cheap for develop
- Safe from bugs
- Efficient to run
外部质量目标
用户可感知的质量目标
正确性
准确执行软件规约定义的任务
鲁棒性
恰当处理软件规约之外的任务
可扩展性
软件规约变更后,软件产品随之变更的难易度
可扩展性是一个规模性问题
要点:
- 设计简单;
- 模块化:变更只影响少量模块;
可复用性
软件模块为不同应用构建服务的能力
兼容性
将软件元素与其他元素组装在一起的难易度
组件需要与系统其他部分交互,当组件对系统其他部分做了不正确的假设时,出现兼容性问题。
效率
软件系统对硬件资源的需求尽可能少的能力
资源如cpu时间,主存/外存,I/O设备带宽等
可移植性
将软件产品转移到各种软硬件环境的便利性
易用性
对不同背景,资质的用户而言的易用程度
功能
软件系统潜在的能力范围
Featurism:程序设计中一种不适宜的趋势,即软件开发者增加越来越多的功能,企图跟上竞争,其结果是程序极为复杂、不灵活、占用过多的磁盘空间.
即时性
软件尽快发布
内部质量目标
用户无法直接感知的质量目标
源码相关因素:
Lines of Code,Cyclomatic Complexity
架构相关因素:
coupling, cohesion
可读性
复杂度
规模
上一篇: 软件构造体会(二)复习笔记之再谈泛型
下一篇: 软件构造 课堂笔记4