06 顺序图

顺序图是UML中描述对象间交互的一种方式,它包含了对象、同步/异步交互和消息传递。文章详细讲解了四种控制类型:选择执行(opt)、条件执行(alt)、并发执行(par)和迭代执行(loop),这些控制结构用于描述复杂的执行流程。

06 顺序图

定义

顺序图是一种交互图,即由一组对象以及这些对象之间的关系(通信)组成,其中还包含这些对象之间被发送的消息。
在这里插入图片描述

内容

顺序图所包含的内容:

  1. 交互各方:角色或对象
  2. 交互方式:同步或异步
  3. 交互内容:消息

控制类型

选择执行

一种控制结构类型,其标签为opt。仅当进入该控制操作子, 监护条件为真时,该控制操作子的体才予执行。
在这里插入图片描述

条件执行

一种控制结构类型,其标签为alt。该控制操作子的体通过水平线将其分为一 些部分。每一部分表示一个条件分支,并有一个监护条件。

并发执行

一种控制结构类型,其标签为par。该控制操作子的体通过水平线将其分为多个部分。每一部分表示一个并行计算。在大多数情况下,每一部分涉及不同的生命线:
在这里插入图片描述

迭代执行

一种控制结构类型,其标签为loop 。监护条件出现在该体中一个生命线 的顶端,只要在每一次迭代之前该监护条件为真,该循环体就反复执行。当该体上面的监护条件为假时,控制绕过该控制操作子。
在这里插入图片描述

例题

在这里插入图片描述
在这里插入图片描述

### UML 类图、状态图、用例图和顺序图的定义与使用方法 #### 类图 类图是UML中用于描述系统静态结构的一种图形工具。它展示了系统的类及其之间的关系,包括继承、关联、聚合和组合等。类图中的元素通常由类名、属性和操作组成[^1]。 ```mermaid classDiagram Class01 <|-- AveryLongClass : child Class03 *-- Class04 Class05 --|> Class06 Class07 .. Class08 Class09 --> C2 : Where am i? Class09 --* C3 Class09 --|> Class07 Class07 : equals() Class07 : Object[] elementData Class01 : size() Class01 : int chimp Class01 : int gorilla Class08 <--> C2: Cool label ``` #### 状态图 状态图用于描述对象在其生命周期内的状态变化和事件响应。每个状态可以包含入口动作、出口动作以及内部活动。状态图适用于建模具有复杂行为的对象或子系统[^2]。 ```mermaid stateDiagram [*] --> State1 State1 --> State2 State2 --> State3 State3 --> [*] State1 : entry / initialize() State2 : do / performAction() State3 : exit / finalize() ``` #### 用例图 用例图用于描述系统外部参与者与系统功能之间的交互关系。它通过椭圆表示用例,通过小人符号表示参与者,并通过箭头表示两者之间的关系。 ```mermaid usecaseDiagram actor User actor Admin usecase "Login" as UC1 usecase "Manage Users" as UC2 usecase "View Reports" as UC3 User -- UC1 Admin -- UC2 Admin -- UC3 ``` #### 顺序图 顺序图是一种动态图,用于描述对象之间按时间顺序的消息传递过程。它显示了参与交互的对象及其消息流,有助于理解系统的行为逻辑[^3]。 ```mermaid sequenceDiagram participant A as Actor participant S as System A->>S: Request Login S-->>A: Authenticate A->>S: Provide Credentials S-->>A: Grant Access ``` ### 示例代码块 以下是一个简单的 Python 类定义示例,用于配合类图的理解: ```python class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return f"{self.name} says woof!" class Cat(Animal): def speak(self): return f"{self.name} says meow!" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郭同学忒骚了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值