《架构师训练营》-第一周-UML图(待更新)

4+1架构视图

逻辑视图(Logical View)

  • 相关方
    客户、用户、开发组织管理者
  • 视角
    系统的功能元素,以及它们接口、职责、交互
  • 主要元素
    系统、子系统、功能模块、接口
  • 用途
    开发组织划分、成本\进度的评估
  • 逻辑视图案例
    《架构师训练营》-第一周-UML图(待更新)

过程视图(Process View)

  • 相关方
    性能优化、开发相关人员
  • 视角
    系统运行时线程、进程的情况
  • 主要元素
    系统进程、线程以及处理队列等
  • 过程视图案例
    《架构师训练营》-第一周-UML图(待更新)

物理视图(Physical View)

  • 相关方
    系统集成商、系统运维人员
  • 视角
    系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置
  • 主要元素
    物理节点以及节点的通信
  • 物理视图案例
    《架构师训练营》-第一周-UML图(待更新)

开发视图(Development View)

  • 相关方
    开发相关人员、测试人员
  • 视角
    系统如何开发实现
  • 主要元素
    描述系统的层、分区、包、框架、系统通用服务、业务通用服务、类和接口、系统平台和相关基础框架
  • 用途
    指导开发组织设计和开发实现

场景视图(Scenarios)

  • 相关方
    用户、设计和开发人员
  • 视角
    概括了架构上最重要的场景(最典型或最有风险)及其非功能性需求,通过这些场景的实现,阐明架构的广度或众多架构元素运行的方式
    《架构师训练营》-第一周-UML图(待更新)

UML

通用模型元素

《架构师训练营》-第一周-UML图(待更新)

常见元素关系

《架构师训练营》-第一周-UML图(待更新)

  • 继承
    一个类(称为子类)继承另外的一个类(称为父类)的功能,并可以在子类中增加自己的新属性和功能。
    《架构师训练营》-第一周-UML图(待更新)
  • 实现
    Class类实现interface接口的功能,实现是类与接口之间最常见的关系。
    《架构师训练营》-第一周-UML图(待更新)
  • 依赖
    依赖就是一个类A使用到了另一个类B来实现某些功能,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。
    《架构师训练营》-第一周-UML图(待更新)
  • 关联
    关联体现的是两个类之间语义级别的一种强依赖关系,这种关系比依赖关系更强,一般是长期性的。
    《架构师训练营》-第一周-UML图(待更新)
  • 聚合
    关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期。例如下图的班主任与学生的关系。
    《架构师训练营》-第一周-UML图(待更新)
  • 组合
    关联关系的一种特例,体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的。例如下图的人与心脏的关系。
    《架构师训练营》-第一周-UML图(待更新)

静态图

通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。常见的静态图有用例图、对象图、类图、组件图、包图、部署图

用例图(Use Case Diagrams)

类图(Class Diagrams)

组件图(Component Diagrams)

部署图(Deployment Diagrams)

对象图(Object Diagrams)

包图(Package Diagrams)

动态图

通过描述执行流程或者实体状态变化的方式,来展现软件实体在执行过程中的变化过程

序列图(Sequence Diagrams)

活动图(Activity Diagrams)

状态图(State Diagrams)

协作图(Collaboration Diagrams)