软件设计师----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图汇总

  • 静态建模:类图、对象图、用例图
  • 动态建模:序列图(顺序图、时序图)、通信图(协作图)、状态图、活动图
  • 物理建模:构件图(组件图)、部署图
  • 交互图:序列图(顺序图、时序图)、通信图(协作图)
相关推荐
梁辰兴4 天前
UML 建模实验
软件工程·uml·建模
思忖小下8 天前
梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达03
uml
思忖小下9 天前
梳理你的思路(从OOP到架构设计)_UML应用:业务内涵的分析抽象&表达01
uml·ooa
肖老师+11 天前
可视化建模与UML《部署图实验报告》
uml·可视化建模
思忖小下13 天前
开发中使用UML的流程总结篇
需求分析·uml
战神刘玉栋13 天前
《知识拓展 · 统一建模语言UML》
软考·uml·面向对象
喵~来学编程啦14 天前
【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)
软件工程·uml
喵~来学编程啦14 天前
【软件工程】一篇入门UML建模图(用例图、对象图、顺序图与协作图)
软件工程·uml
肖老师+17 天前
可视化建模以及UML期末复习篇----UML图
uml·可视化建模
沉河不浮18 天前
PlantUML——类图
uml