前言

内容:

  • 统一建模语言UML

中论

统一建模语言UML

UML:一种可视化的建模语言,而非程序设计语言,支持从需求分析开始的软件开发的全过程。

UML主要包括三个部分

  • 构造块:UML有三种基本的构造块,事物、关系、图
    • 事物:重要组成部分
    • 关系:把事物紧密联系在一起
    • 图:多个互相关联的事物的集合
  • 公共机制:达到特定目标的公共UML方法
  • 规则:构造块如何放在一起的规定

image-20240521201517664

事物:

  • 结构事物:模型的静态部分,如接口、类、用例、构件等
  • 行为事物:模型的动态部分,如交互、活动、状态机
  • 分组事物:模型的组织部分,如包
  • 注释事物:模型的解释部分,依附于一个元素或一个元素之上对其进行约束或解释的简单符号

image-20240521201749997

关系:

  • 依赖:一个事物的语义依赖于另一个事物的语义的变化而变化
  • 关联:一种结构关系,描述了一组链,链是对象之间的连接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。
  • 泛化:一般/特殊的关系,子类和父类之间的关系
  • 实现:一个类元指定了另一个类元保证执行的契约

UML2.0(了解即可)

image-20240521202006298

类图

静态图,为系统的静态设计视图,展现一组对象、接口、协作和他们之间的关系

image-20240521202049719

对象图

静态图,展现某一时刻一组对象及它们之间的关系,为类图的某一快照。

image-20240521202151965

用例图

静态图,展现一组用例、参与者以及它们之间的关系。

用例之间的关系:扩展、包含、泛化

image-20240521202248969

序列图

顺序图、动态图。是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。

有同步消息(实心三角箭头表示【阻塞调用、调用者中止执行、等待控制权返回、需要等待返回消息】)、异步消息(空心三角箭头表示【发出消息后继续执行、不引起调用者阻塞、不等待返回消息】)、返回消息(从右到左的虚线箭头表示)三种

image-20240521202438503

通信图

动态图。即协作图,强调参加交互的对象的组织

image-20240521202618986

状态图

动态图。以一个状态机的形式展现,描述单个对象在多个用例中的行为,包括简单状态和组合状态。转换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。

状态图中的转换和状态是两个独立的概念

image-20240521202746283

活动图

动态图。特殊的状态图,展现一个系统内从一个活动到另一个活动的流程。活动的分岔和汇合线是一条水平粗线,每个分岔的分支数代表了可同时运行的线程数。

(牢记下图中并发分叉、并发汇合、监护表达式、分支、流等名词)

image-20240521202955588

构件图(组件图)

静态图。为系统静态实现视图,展现一组构件之间的组织和依赖

image-20240521203037125

部署图

静态图。系统静态部署视图,部署图物理模块的节点分布。

image-20240521203118873

UML 4+1视图

  1. 逻辑视图。逻辑视图也称为设计视图,它表示了设计模型在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
  2. 进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
  3. 实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。
  4. 部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  5. 用例视图。用例视图是最基本的需求分析模型。

image-20240521203509262

后记

海到无边天作岸,山登绝顶我为峰。