这是一个神奇的图<( ̄︶ ̄)↗
这是一个把你吓得不轻的图中(#°Д°)
这是一个让你认为软件构造很难,根本学不会的图{{{(>_<)}}}
这是……
| Moment | Period | |||
| Code-level | Component-level | Code-level | Component-level | |
| Build-time | Source code, AST, Interface-Class-Attribute-Method (Class Diagram) | Package, File, Static Linking, Library, Test Case, Build Script (Component Diagram) | Code Churn | Configuration Item, Version |
| Run-time | Code 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) | ||||
软件构造过程分为三个维度:
构建-运行时、瞬时-周期、代码-组件
分界线:可执行文件的产生
如果学过计算机系统,应该对这个维度有直接的理解
构建:预处理、编译、汇编、链接
运行时:execve、longjump、动态链接……
没什么可以解释的吧
瞬时–周期–>瞬时–周期–>瞬时–……
组件组成程序
代码编写组件
其实理解起来不算太难,仔细看英文就会了
有一点要注意的是这个图是基于JAVA语言写的,所以像Package在有的语言中没有
如果Run-time里的概念有些没有听过可以打开调试看看,里面基本都会有
网上相关内容多了,所以也没什么可以解释的,表里有看不懂的查一下就有
软件构造实验要好好做,会有点用,JAVA的库写得还是很好的,有空可以多看看
软件构造还是要背的,它的概念比较多,但仅限考试,因为基本开发很少用( ̄_ ̄|||)



