行为图和静态图

下面逐个介绍UML的行为图:顺序图、协作图、状态图和活动图

UML--交互图

交互图介绍

  • 交互图是用来描述对象之间以及对形象和参与者之间的动态协作关系以及协作过程中行为次序的图形文档。
  • 其作用是为了描述一个用例的行为。
  • 一个用例需要多个顺序图或者协作图,除非是非常简单的用例。
  • 交互图又可以细分成顺序图和协作图,它们的侧重点不同 ,但是可以进行相互转换

交互图的作用

用来检查每个用例中所描述的用户需求,如果没有将需求落实到现有的类中,则需要补充相应的类或者方法。

顺序图(时序图)

  • 显示对象 之间交互的图,按照时间顺序排列,重点在于交互对象之间的消息交互
  • 一个用例模型由若干个用例图描述。
  • 用例图上可能会使用各种颜色,但是颜色只是起辅助阅读的作用。
  • 是二维图形,水平是对象维度(没有强制的顺序);垂直轴为时间维度
  • 组成成分:
    • 用户:小人儿
    • 对象:矩形,表示代码中类的实例化对象
    • 时间:从上到下的长条形矩形
    • 消息:有方向的箭头(从参与者或者对象指向另外一个对象(参与者))

协作图

  • 功能:描述某个系统的行为是如何由系统的成分协作实现的图形。
  • 组成:参与者、对象、消息、链。

UML--状态图和活动图

状态图

  • 描述一个对象在其生存期间 的动态行为,表示一个对象所经历的状态序列 、引起状态转移的事件 和因为状态转移而伴随的动作
  • 是对系统的动态行为建模的五个图之一;
  • 常用来检查、调试和描述 类的动态行为
  • 状态图用来显示状态机 ,重点在于描述状态之间的控制流

状态图的组成

  • 起始:填充圆
  • 结束:带边填充圆
  • 状态:圆角矩形
  • 事件:实心箭头

活动图

  • 是对系统的动态行为建模的五个图之一;
  • 用来描述系统的工作流程和并发行为
  • 可以看成是状态图的特殊形式;
  • 活动图中的一个活动结束后将立即进入下一个活动(可能会需要事件的触发);
  • 分成动作状态活动状态

状态图的组成

  • 活动:表示某任务的执行;
  • 动作状态:原子的、不可分割的、没有内部的;是特殊的活动状态,耗时是可以忽略的。
  • 活动状态:可分解的、完成需要一段时间的;(执行进入动作然后转向另一个活动)。
  • 泳道:和类是一对多的关系;表示责任区;
  • 分支:对于同一个事件,判断出来不同的活动;每一种可能性称为分支;
  • 分叉:表示并发行为的开始;
  • 汇合:表示并发行为的结束;
  • 对象流:对象可以作为活动的输出和输入(比如活动可以创建一个对象或者使用对象)

下面逐个介绍UML的静态图:类图、对象图、包图

UML--类图和对象图

  • 类是具有相似结构、行为和关系的一组对象的抽象;
  • 在UML中使用划分成三个各自的长方形表示;
  • 其名称一般是名词
  • 类之间的关系有:关联、聚集、组合、泛化、依赖
    • 关联:表示类和类之间的关系;关联的实例化称为链表示的是对象和对象之间的关系 (实心三角);关联衍生出来的一个概念称为关联类,用来进一步面熟关联的属性、操作等信息 ,甚至还有自反关联,表示同一个类两个对象之间的关系。
    • 聚集:本质上仍然是关联关系,表示整体和部分之间的关系,关键词为包含、组成、分为...部分(空心棱形)
    • 组合:是具有生命周期的聚集关系(实心棱形)
    • 泛化:本质上是继承关系(空心三角)
    • 依赖:如果修改了X导致Y发生了变化,则称Y依赖于X

类图

类图以直观、抽象的方式展示了不同对象之间的静态结构关系。

对象图

  • 对象图描述了系统中的对象实例及其之间的关系。它展示了在特定时间点上系统中的对象、类的实例以及它们之间的连接。
  • 对象图用于具体展示系统运行时的实例化情况,可以显示对象的状态、属性和关联等信息。

对象图和类图之间的关系是:对象图可以看成是类图的一个快照

UML--包图

  • 描述的是包和包之间的关系
  • 包图描述的是模型中的包及其包含的元素组合,是维护和控制系统总体结构的重要建模工具。
  • 系统中的每一个元素都只能为一个包所有,一个包可以嵌套在另一个包中。一个包图可以由任何一种的UML图 组成,通常是用例图或者类图

组成

  • 包图由名称和表示/内容两个部分组成;
  • 每个部分都使用一个矩形表示,并且名称 使用的是小矩形而内容使用大矩形,因此形如:
plaintext 复制代码
-----
|   |
--------------
|            |
|            |
--------------
  • 包的名称是普通的字符串,或者路径;所以可以是普通名 或者路径名
  • 包中内容的可见性:
    • +:public的意思
    • -: private的意思
    • #:protected的意思

关系

包和包之间的关系有两种:依赖和泛化

  • 依赖: <--<< name >>--
  • 泛化:同类图之间的泛化关系,使用空心箭头表示
相关推荐
巽星石4 天前
PlantUML中的实体关系图
uml·plantuml·er图
rolt12 天前
[图解]静态关系和动态关系
uml·面向对象
边城仔13 天前
【设计模式】UML类图
设计模式·uml
J老熊22 天前
Java设计模式之责任链模式详细讲解和案例示范
java·设计模式·面试·系统架构·责任链模式·uml
吕永强1 个月前
面向对象需求分析
需求分析·uml·类图·用例图·顺序图·状态图·活动图
Tacy02131 个月前
UML概述
uml
茜茜西西CeCe1 个月前
软件工程知识点总结(2):需求分析(一)——用例建模
软件工程·需求分析·uml·用例图·活动图·用例建模·ooa
J老熊1 个月前
Java设计模式之建造者模式详细讲解和案例示范
java·设计模式·面试·系统架构·建造者模式·uml
General_G1 个月前
UML之时序图
uml