1、软件构造的多维度视图
2、 软件构造的阶段划分、各阶段的构造活动
(1)构建,运行
(2)时刻,周期
(3)代码,组件 (1)Buildtime:想法 -> 需求 -> 设计 -> 代码 -> 可执行的包
(2)Code-level;Build-time;Moment:
面向词法:半结构化源代码
面向语法:AST抽象语法树
面向语义:UML
(3)Code-level;Build-time;Period
Churn
代码的添加、修改、删除
(4)Run-time, moment, and code-level view
刻画内存中某时刻变量的状态
Memory dump:硬盘上的一种文件,包含进程内存内容的副本,当进程因某种内部错误或信号而中止时产生
Debuggers可以加载转储文件并显示它包含的有关运行程序状态的信息,包括寄存器、调用堆栈和所有其他程序数据的内容。
(5)Run-time, period and code-level view
关注程序单元之间的交互
可以关注UML顺序图
可以观察执行跟踪
(6)Run-time, moment, and component-level view
Deployment diagram in UML
(7)Run-time, period, and component-level view
关注系统层面的事件日志记录
3、内部/外部的质量指标
内部:
圈复杂度,耦合度,可读性、易理解性、清晰度,复杂度,体积
外部:
正确性, 健壮性,可扩展性,可复用性,兼容性,可移植性,易用性,功能性,及时性