软件构造多维度视图知识点总结

1,Build-time Views(构造阶段)

Code-level View:编码阶段代码是如何组成的(代码有多少个类,类的方法)
Component-level View:结构角度关注代码的物理结构,比如系统有多少个package,libraries
Moment View:瞬时角度,某个时间点代码的完成情况
Period View:长期角度关注软件的变化情况
1.1 Build-time,Moment,code-level View

在某一个时间点,构建代码过程中,代码是什么样子。
1,词法
source code
2,语法
Abstract Syntax Tree(AST)
抽象语法树
3, 语义:源代码具体想实现什么目标
源代码到现实世界的映射,类与类之间的关系
UML图

1.2 Build-time,period,code-level View

1,关注编码过程中代码的改变情况
code churn
版本控制工具

1.3 Build-time,moment,component-level View

代码的组织情况,类和文件之间的组织情况,(更改时应该修改哪些部分?)
模块化
1,库函数(编写阶段)
library
2,(构建阶段)
maven Repository
3,(测试阶段)
junit

静态链接和动态链接
静态链接:代码被复制进代码成为整体,发生在构造阶段(库文件的升级难以反馈)
动态链接:

Component diagram in UML

1.4 Build-time,period,component-level View

各软件实体随时间如何变化?
SCI(配置项)
Version(版本)
VCS(version control system)

2,Run-time Views(构造阶段)

Code-level View:逻辑实体在内存中如何呈现
Component-level View:物理实体在物理硬件环境如何呈现
Moment View:逻辑/物理实体在内存/硬件环境某时刻的形态
Period View:逻辑/物理实体在内存/硬件环境形态随时间的变化
2.0.1 Executable programs(可执行程序)

1,native machine code
2,interpreted byte codes(解释型字节码)
java移植性更高

2.0.2 Libraries(库文件)

dynamic link 动态链接,仅仅做标记,运行时才将库文件转置内存

2.0.3 configuration and data files(配置文件)
2.0.4 Distribute programs(分布式程序)
2.1 Run-time,Moment,code-level View

程序运行的某个阶段,分别有多少对象,以及每个对象的值
1,Snapshot 代码快照图
2,Memory dump 内存信息转储查看内存使用情况

2.2 Run-time,period,code-level View

Sequence diagram in UML
Execution tracing

2.3 Run-time,moment,component-level View

Deployment diagram in UML

2.4 Run-time,period,component-level View

系统日志 Event logging

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值