软件构造中的多维视图

本文探讨了软件构造过程中的多维度视图,包括Moment、Period和Code/Component-level,涉及Build-time和Run-time阶段。关注点从源码组织、代码变化、包/库的静态和动态链接,到运行时的内存状态、执行轨迹和系统使用情况。通过对这些视图的分析,可以深入了解代码的生命周期和运行行为。
摘要由CSDN通过智能技术生成

1. 软件构造过程中的多维度视图

MomentPeriod
Code-levelComponent-levelCode-levelComponent-level
Build-timeSource code, AST,
Interface-Class-Attribute-Method
(Class Diagram)
Package, File, Static Linking, Library, Test Case,
Build Script (Component Diagram)
Code ChurnConfiguration Item, Version
Run-timeCode Snapshot,
Memory dump
Package, Library, Dynamic linking, Configuration,
Database, Middleware, Network,
Hardware (Deployment Diagram)
Execution stack trace,
Concurrent multi-threads
Event log, Multi-processes,
Distributed processes
Procedure Call Graph,
Message Graph (Sequence Diagram)


①Moment维度关注于程序在某一个时刻的表现,而Period维度更关注于程序在一段时间内的表现;
②Build-time维度关注程序还未被投入运行,编码阶段的表现,而Run-time维度更关注于程序运行时的表现;
③Code-level维度关注程序的语句层面,Component-level维度更关注于一段代码,当作一个块观察比如一个包、一个库。
(1) Build-time, moment, and code-level view 关注的是源码的组织情况,可在词汇(源码)、语法(抽象语法树)、语义(类图)三个层面分别分析。

(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 关注代码的更迭,与(2)中不同的是,这个维度下更关注文件版本的变化,而不是具体语句的变化(2中关注的是哪一行代码被修改了)----VCS的引出

(5) Run-time, moment, and code-level view 关注的是程序在某个时间点内存中的情况,如代码快照图(Code Snapshot)、内存信息转储(Memory dump)。

(6) Run-time, period and code-level view 关注的是代码的执行情况,执行跟踪

(7) Run-time, moment, and component-level view 关注的也是包/库,但却是在代码执行过程中的情况,如动态链接库

(8) Run-time, period, and component-level view 关注的是系统的使用情况,使用日志查看

2. 视图之间的联系

从无到有,写出了代码,就进入了Build-time维度,开始只是单个的没有任何联系的代码文件,所以是在moment+Code-level维度,此时随着时间的推移,代码删删改改,就属于Period+Code-level了,而代码越写越多成为了一个包,甚至形成了一个库,于是就属于moment+Component-level维度了,但是随着时间的推移,你的库文件由于需求的变化发生了变化,所以就属于Period+Component-level。代码写好了,投入运行,进入Run-time维度,观察的如果是某一句代码的执行后结果,那就是moment+Code-level维度,但如果看的是代码执行的轨迹,那就是Period+Code-level维度,而如果看的是一个库文件的连接情况等,那就是moment+Component-level维度了,如果看的是线程或进程的执行过程,也就是通过日志等手段查看一段时间内系统都做了什么事情,那么就是Period+Component-level了。
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值