瞬时moment | 阶段period | |||
代码级 | 模块级 | 代码级 | 模块级 | |
构造时bulid-time | 源代码source code 抽象语法树AST 类图class diagram | 包package 文件file 静态链接库static linking library 测试用例test case 组件图component diagram | 代码变化code churn | 配置项SCI 版本version |
运行时run-time | 代码快照code snapshot 内存转储memory dump | 包package 库library 动态链接dynamic linking 配置configuration 数据库database 中间件middleware 网络network | 执行堆栈跟踪execution stack trace 并发多线程concurrent multithreads | 事件记录event log 多进程multi-processes 分布式过程distributed processes |
外部质量目标:
- 正确性:程序是否按照规约执行,最重要的
- 健壮性:出现异常时不要崩溃,是正确性的补充
- 可拓展性:修改规约的难易程度
- 可复用性:一次开发,多次使用
- 兼容性:通过标准化、协议等实现
- 性能:与大多数质量目标冲突
- 可移植性:不仅是硬件环境的可移植,还有软件环境
- 易用性
- 功能性
- 及时性
内部质量目标:和代码相关的
- 代码行数LOC
- 圈复杂度
- 内聚、耦合
- 可读性
- 易理解性
- 明确性
- 规模