《架构师训练营》-第一周-UML图(待更新)
4+1架构视图
逻辑视图(Logical View)
- 相关方
客户、用户、开发组织管理者 - 视角
系统的功能元素,以及它们接口、职责、交互 - 主要元素
系统、子系统、功能模块、接口 - 用途
开发组织划分、成本\进度的评估 - 逻辑视图案例
过程视图(Process View)
- 相关方
性能优化、开发相关人员 - 视角
系统运行时线程、进程的情况 - 主要元素
系统进程、线程以及处理队列等 - 过程视图案例
物理视图(Physical View)
- 相关方
系统集成商、系统运维人员 - 视角
系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置 - 主要元素
物理节点以及节点的通信 - 物理视图案例
开发视图(Development View)
- 相关方
开发相关人员、测试人员 - 视角
系统如何开发实现 - 主要元素
描述系统的层、分区、包、框架、系统通用服务、业务通用服务、类和接口、系统平台和相关基础框架 - 用途
指导开发组织设计和开发实现
场景视图(Scenarios)
- 相关方
用户、设计和开发人员 - 视角
概括了架构上最重要的场景(最典型或最有风险)及其非功能性需求,通过这些场景的实现,阐明架构的广度或众多架构元素运行的方式
UML
通用模型元素
常见元素关系
- 继承
一个类(称为子类)继承另外的一个类(称为父类)的功能,并可以在子类中增加自己的新属性和功能。 - 实现
Class类实现interface接口的功能,实现是类与接口之间最常见的关系。 - 依赖
依赖就是一个类A使用到了另一个类B来实现某些功能,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。 - 关联
关联体现的是两个类之间语义级别的一种强依赖关系,这种关系比依赖关系更强,一般是长期性的。 - 聚合
关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期。例如下图的班主任与学生的关系。 - 组合
关联关系的一种特例,体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的。例如下图的人与心脏的关系。
静态图
通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。常见的静态图有用例图、对象图、类图、组件图、包图、部署图
用例图(Use Case Diagrams)
类图(Class Diagrams)
组件图(Component Diagrams)
部署图(Deployment Diagrams)
对象图(Object Diagrams)
包图(Package Diagrams)
动态图
通过描述执行流程或者实体状态变化的方式,来展现软件实体在执行过程中的变化过程