一.软件构造的多维视图
1.分阶段:构建和运行时视图
2.通过动态:时刻和周期的看法
3.按级别:代码和组件视图
1.构造阶段视图:从想法到用户需求到产品设计到代码编写再到可安装/可执行的程序包,都属于构造阶段。
代码层面:构造阶段意味着代码的逻辑组织,源代码是如何通过例如functions, classes, methods, interfaces等基本的代码块有逻辑的组织起来,以及相互之间的依赖关系。
组件层面:构造阶段意味着代码的物理组织,源代码是如何通过 files, directories, packages, libraries组织起来,以及相互之间的依赖关系。
除此以外构造阶段意味着特定时刻的软件形态,还意味着软件形态随时间的变化。
2.运行阶段视图:当你的程序在目标机器中运行时表现如何,以及在运行时目标机器要将哪些磁盘文件存入内存等等,这些问题都是运行时视图所关注的。
代码层面:运行时视图意味着一个可执行程序在内存中的状态以及程序内部各个单元间如何相互调用。
组件层面:运行时视图意味着软件包是如何部署到具体的物理环境中(例如操作系统,网络,硬件等),以及他们之间如何相互作用。
除此以外,运行时视图意味着一个程序在特定时刻的表现,还意味着程序随时间变化的一系列表现,包括过程调用图,消息图(序列图),并行和多线程/进程,分布式进程)等。