一
1.1 多维视图
按阶段划分:构造时/运行时视图
按动态性划分:时刻/阶段视图
按构造对象的层次划分:代码/构件视图
构造、时刻、代码层视图:
词汇层面:源代码
语法层面:AST语法树
语义层面:类图
构造、阶段、代码层视图:
code churn 代码更改
构造、时刻、组件层视图:
类、包、库、组件类图等
构造、阶段、组件层视图:
SCI 配置项
version 软件版本
运行、时刻、代码层视图:
code snapshot 代码快照
memory dump 内存信息转储
运行、阶段、代码层视图:
执行跟踪,用日志方式记录程序执行的调用次序
运行、时刻、组件层视图:
Deployment diagram
运行、阶段、组件层视图:
事件日志:系统层面
1.2 软件质量目标
外部质量因素影响用户
内部质量因素影响软件本身和它的开发者
外部质量取决于内部质量
-
正确性
调试和验证
防御式编程
形式化方法 -
健壮性
出现规约定义之外情形的时候,软件要做出恰当的反应 -
可拓展性
简约主义设计
分离主义设计 -
可复用性
-
兼容性
-
高效性
-
可移植性
-
易用性
-
功能性
-
及时性
-
以及可验证性,可修复性,完整性等等