软件设计师----UML

事物

UML中有四种事物:

  1. 结构事物:结构事物是UML模型中的名词 ,通常是模型的静态部分 ,描述概念或物理元素。

  2. 行为事物:行为事物是UML模型的动态部分 ,它们是模型中的动词,描述了跨越时间和空间的行为。

  3. 分组事物:分组事物是UML模型的组织部分 ,是一些由模型分解成"盒子"。

  4. 注释事物:注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。

关系

UML中有四种关系:依赖、关联、泛化和实现。

  1. 依赖:依赖是两个事物间的语义关系 ,其中一个事物(独立事物)发生变化会影响另一个事务(依赖事务)的语义。

  2. 关联:关联是一种结构关系 ,它描述了一组链,链是对象之间的连接。

    a. 聚合:部分和整体的生命周期不一致,整体消失了,部分仍然存在,部分可以脱离整体存在。

    b. 组合: 部分和整体的生命周期一致,整体消失了,部分也消失了,部分不可以脱离整体存在。

  3. 泛化:泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对 象。子元素共享了父元素的结构和行为。

  4. 实现(了解): 实现是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。

B D

A D C

B

C

C

B

A

类图

类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系

符号:

类图用于对系统的静态设计视图建模。通常以下述3种方式之一使用类图:

  1. 对系统的词汇建模。
  2. 对简单的协作建模。
  3. 对逻辑数据库建模。

B A

D

抽象类不能实例化,直接对象就是实例化对象,非直接对象:用A的子类实例化的对象

对象图

对象图展示了某一时刻一组对象以及它们之间的关系 ,描述了在类图中所建立的事物的实列的静态快照

对象图给出系统的静态设计视图静态进程视图。对象图一般包括对象和链(关联)

用例图

  • 用例图展示了一组用例、参与者以及它们之间的关系
  • 一个用例执行的时候,可能会发生一些特殊的情况或可选的情况,这种情况就是这个用例的拓展用例。
  • 参与者:参与者是与系统交互的外部实体。可能是使用者,也可能是与系统交互的外部系统、基础设备等。
  • 用例:用例是从用户角度描述系统的行为,它将系统的一个功能描述成一系列的事件,这些事件最终对操作者产生有价值的观测结果。用例是一个类,它代表一类功能而不是使用该功能的某一具体实例。
  • 之间的关系:
    • 包含关系(<<include>>)(用例之间):一个用例包含另一个用例
    • 扩展关系(<<extend>>)(用例之间):一个用例执行的时候,可能会发生一些特殊的情况或可选的情况,这种情况就是这个用例的扩展用例
    • 关联关系(参与者和用例之间
    • 泛化关系(用例与用例以及参与者与参与者之间
  • 用例图用于对系统的静态用例视图进行建模。可用以下两种方式来使用用例图:
    • 对系统的语境建模
    • 对系统的需求建模。

A

交互图(序列图、通信图)

  • 交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成。包含它们之间可能传递的消息。
  • 交互图一般包括对象、链和消息
  • 序列图是强调消息时间顺序的交互图,通信图是强调接收和发送消息的对象的结构组织的交互图。
  1. 序列图(顺序图、时序图):序列图是场景的图形化表示,描述了对象之间的时间顺序。序列图用于展示系统中一个用例和多个对象的行为。 序列图有两个不同于通信图的特征:
    1. 序列图有对象生命线
    2. 序列图有控制焦点
  1. 通信图(协作图):通信图强调收发消息的对象的结构组织,在早期的版本中也被称作协作图。 通信图展现了对象之间的消息流及其顺序。 通信图有两个不同于序列图的特性:
    1. 通信图有路径
    2. 通信图有顺序号
  2. 交互概览图(不考)
  3. 计时图(不考)

C B

状态图

  • 状态图展现了一个状态机,它由状态、转换、事件和活动组成。
  • 状态图展现了对象的状态转换及事件顺序
  • 可以用状态图对系统的动态方面建模。当对系统、类或用例的动态方面建模时,通常是对反应型对象建模。
  • 定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。
  • 三种标准事件:entry、exit、do
    • entry:入口动作,进入状态立即执行
    • exit:出口动作,退出状态立即执行
    • do:内部活动,占有限时间,并可以中断的工作
  • 事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。
  • 监护条件是一个布尔表达式。

转换包括两个状态(源状态,目标状态)

事件,监护条件,动作

事件触发转换(迁移)

活动(动作)可以在状态(迁移)内执行,也可以在状态转换时执行。

C D

C

活动图

  • 活动图是一种特殊的状态图,它展示了在系统内从一个活动到另一个活动的流程。
  • 活动图一般包括活动状态和动作状态、转换和对象。
  • 通常有两种使用活动图的方式:
    • 对工作流建模
    • 对操作建模

C

构件图(组件图)

  • 构件图展现了一组构件之间的组织和依赖。
  • 构件图专注于系统的静态实现试图

部署图

  • 部署图是用来对面向对象系统的物理方面建模的方法,展现了运行时处理结点以及其中构件(制品)的配置。
  • 部署图展现了系统的软件和硬件之间的关系,在实施阶段使用

UML图汇总

  • 静态建模:类图、对象图、用例图
  • 动态建模:序列图(顺序图、时序图)、通信图(协作图)、状态图、活动图
  • 物理建模:构件图(组件图)、部署图
  • 交互图:序列图(顺序图、时序图)、通信图(协作图)
相关推荐
奶味少女酱~2 天前
uml类图
uml
犬余4 天前
UML之用例图详解
笔记·学习·uml
找了一圈尾巴4 天前
UML 总结(基于《标准建模语言UML教程》)
系统架构·uml
Gavynlee5 天前
设计模式总结
uml
编程老船长5 天前
用PlantUML让状态图“动”起来 —— 快速绘制老师申报课程流程
uml·visual studio code
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧11 天前
软件设计模式------抽象工厂模式
设计模式·软件构建·个人开发·抽象工厂模式·uml·开闭原则
AAA 建材批发王哥(天道酬勤)12 天前
UML(Unified Modeling Language,统一建模语言)
uml
rolt13 天前
有向无环图的约束怎么表达-《分析模式》漫谈39
ddd·uml·领域驱动设计·面向对象
爱吃零食的白糖13 天前
UML(统一建模语言)
uml