1.三维度
By phases: build- and run-time views 按阶段划分:构造时
/
运行时视图
By dynamics: moment and period views
按动态性划分:时刻
/
阶段视图
By levels: code and component views 按构造对象的层次划分:代码/
构件视图
2.八视图
![](https://i-blog.csdnimg.cn/blog_migrate/6d0d7c8aa1494f5d1deb3475907247b9.png)
2.1
Buildtime Views
Code-level view: 代码的逻辑组织
Component-level view:代码的物理组织
(1) Build-time, moment, and code-level view
词汇方面:Source code 源代码
语法方面:AST 语法树
语义方面:
Class Diagram 类图
(2) Build-time, period, and code-level view
Code churn 代码变化
:对代码进行了修改使代码发生变化
(3) Build-time, moment, and component-level view
此阶段为在构造代码过程中的物理组织部分
静态
链接发生此构造阶段
(4) Build-time, period, and component-level view
各项软件实体随时间的变化
Software Configuration Item (SCI,配置项)
Version (版本)
2.2
Runtime Views
Code-level view:逻辑实体在内存中如何呈现
Component-level view:物理实体在物理硬件环境中如何呈现
Moment view: 逻辑/物理实体 在内存/硬件环境中特定时刻的形态如何
Period view: 逻辑/物理实体在内存/ 硬件环境中的形态随时间如何变化
(1)
Run-time, moment, and code-level view
Snapshot diagram(代码快照图):描述程序运行时,某时刻内存里变量层面的变化
![](https://i-blog.csdnimg.cn/blog_migrate/268f1aa9b7dff4c2fe7aa80bd52f2870.png)
Memory dump (
内存信息转储):硬盘上的一种文件,包含进程内存内容的副本,当某个进程因某种内部错误或信号而中止时产生。
(2)Run-time, period and code-level view
Execution tracing 执行跟踪:
用日志方式记录程序执行的调用次序
表现了代码层面在运行过程中各个部分的调用和继承关系
(3)Run-time, moment, and component-level view
动态
链接发生此阶段
(4)Run-time, period, and component-level view
Event logging (构件
/
系统层面
)