第一章软件构造的多维度视图和质量目标

本节主要是对课件PPT的一个摘要

多层次视图

Build-time: 构造阶段

Code-level: functions, classes, methods, interfaces 代码的逻辑组织

Component-level: files, directories, packages, libraries 代码的物理组织

Moment: 特定时刻的软件形态

Period: 软件形态随时间的变化

Runtime: 运行阶段 程序被载入目标机器,开始执行

Code-level: 代码层面:逻辑实体在内存中如何呈现

Component-level: 构件层面:物理实体在物理硬件环境中如何呈现

Moment: 逻辑/物理实体在内存/硬件环境中特定时刻的形态如何

Period: 逻辑/物理实体在内存/ 硬件环境中的形态随时间如何变化?

不同视图的转换

从无到有代码:

  • 编程/写代码(ADT/OOP)

从Code到Component:

  • Design(ADT/OOP;可复用性;可维护性)

从Buildtime到runtime:

  • Debug,unit/integration testing(单元测试和集成测试(测试鲁棒性和正确性))

从Moment到Period:

  • Version control(版本控制)

软件系统的质量属性

External quality factors:外部质量因素影响用户

Coreectness(正确性):最重要的质量指标

​ 定义:正确性是软件产品能够安装预先定义的“规约”执行的能力

Robustness(健壮性又称鲁棒性):针对异常情况的处理

​ 定义:健壮性是对正确性的补充,健壮性要求当出现规约定义之外的情形的时候,软件要做出恰当的反应。

正确性和鲁棒性的包含关系如图所示:

Extendibility(可拓展性):对软件的规约进行修改是否足够容易

Reusability(可复用性):一次开发,多次使用

对于可拓展性和可复用性主要可以通过良好的设计模式来实现。

Internal quality factor 内部质量因素影响软件本身和它的开发者

Readablity:可读性

Lines of Code:代码行数

Cyclomatic Complexity:循环复杂度

posted on 2021-07-06 15:56  pluschen2000  阅读(82)  评论(0)    收藏  举报