软件构造课程笔记——软件质量目标

首要质量目标

  1. Easy to understand
  2. Ready for change
  3. Cheap for develop
  4. Safe from bugs
  5. Efficient to run

外部质量目标

用户可感知的质量目标

正确性

准确执行软件规约定义的任务

鲁棒性

恰当处理软件规约之外的任务

可扩展性

软件规约变更后,软件产品随之变更的难易度

可扩展性是一个规模性问题
要点:

  • 设计简单;
  • 模块化:变更只影响少量模块;

可复用性

软件模块为不同应用构建服务的能力

兼容性

将软件元素与其他元素组装在一起的难易度

组件需要与系统其他部分交互,当组件对系统其他部分做了不正确的假设时,出现兼容性问题。

效率

软件系统对硬件资源的需求尽可能少的能力

资源如cpu时间,主存/外存,I/O设备带宽等

可移植性

将软件产品转移到各种软硬件环境的便利性

易用性

对不同背景,资质的用户而言的易用程度

功能

软件系统潜在的能力范围

Featurism:程序设计中一种不适宜的趋势,即软件开发者增加越来越多的功能,企图跟上竞争,其结果是程序极为复杂、不灵活、占用过多的磁盘空间.

即时性

软件尽快发布

内部质量目标

用户无法直接感知的质量目标

源码相关因素:
Lines of Code,Cyclomatic Complexity
架构相关因素:
coupling, cohesion

可读性
复杂度
规模

猜你喜欢

转载自blog.csdn.net/hieheihei/article/details/91357431