uml顺序图_14. 面向对象——UML顺序图(Sequence Diagram)

e8daadf5e36b573556377406fb538b56.png

返回目录:

Chilan Yuk:软件工程分析设计图库目录​zhuanlan.zhihu.com
c0ef8a4b3f674ed58fc38a9afadbea4f.png

顺序图说明事件如何引发从一个对象到另一个对象的转移。一旦通过用例确认事件,就可以创建一个顺序图。事实上,顺序图表现了导致行为从一个类流动到另一个类的关键类和事件。

顺序图以栅栏的形式描述对象的交互,其中在右侧添加新创建对象。


一、主要元素

1. 对象

参与交互的类的实例,对象之间可以发送消息和接收消息。在分析模型中可以用类的类型表示对象。

a0bf1c1bedcc8c08efb0af69d5a355f8.png

ca3504dc3e4c07fcbb783a8329698c21.png

0dd14aacb5437b4a94c66847857ac971.png

939fb8d564a4ce6c112d39f5b455c401.png

2. 参与者

描述本次交互的发起者,即用例的驱动者。用小人形状表示。

7abf4326ffb326d0c39e26de19c3a27c.png

3. 生命线

生命线用于描述对象的生存周期,对象下方的虚线就是该对象的生命线。

1c0cfa9bd51e61ed5e260019c878b519.png

4. 执行规格条/激活条

表示控制焦点的控制期,指活动者或对象处于执行状态的时间段。用矩形条表示。

a43243716de6d6e6ddae352da30a1b75.png

5. 消息

消息用于描述对象间交互的方式及内容。

消息(它可能表示事件或操作的调用)被画成水平的。

消息图标的端点与垂直线相连,这些垂直线又与图顶部的实体相连。消息从发出者指向接收者。次序由垂直位置来表示,第一个消息出现在图的顶部,最后一个消息出现在图的底部。


二、消息类型

1. 同步消息

一个对象向另一个对象发出同步消息后,将处于阻塞状态,一直等到另一个对象的回应。

11aa3d8579b75909b80e702b0eb55b2d.png

2. 异步消息

一个对象向另一个对象发出异步消息后,这个对象可以进行其他的操作,不需要等到另一个对象的响应。

9088ecea0d62b5ca2ebbbf6df78971d2.png

3. 返回消息

表示从过程调用返回。

bac78db97e2cfa953e7e9f3f6faf6389.png

4. 简单消息

不区分同步或异步。

e04275a8ee6cb30cdc3825f8d3c649a3.png

三、消息语法格式

[条件][消息序号][返回值:=]消息名([参数列表])

例如:

  • 2:display( x , y ):简单消息
  • 1.2.1:p:= find( specs ):嵌套消息,消息带返回值
  • [x<0] 4: invert( x , color ) :条件消息
  • 3.1 * update( ):循环消息

四、销毁事件

销毁事件表明何时一个对象被销毁,它表示为生命线末端的一个 X

如果对象是一个组合对象,那么相关的对象也会被销毁。

9ebd452b7b660d8f7a922ed341b27795.png

五、控制流

有两种方式来修改顺序图的控制流:使用分支、使用从属流

1. 使用分支

214749cd479aa2dbe2cb7a43496e40af.png

2. 使用从属流

从属流允许某一个对象根据不同的条件改变执行不同的操作,即创建对象的另一条生命线分支。

20479aaea749be451d746151d119c713.png

六、控制结构

序列片段可以用来简化序列图,也可以用来表示序列图中的流程控制结构。

如下图,在序列图中引入一个循环。

87526b8d59e53b91417a847c98ac2be1.png

2b52b582eb61b0e7d6355fbf53a7724d.png

矩形方框表示UML图框。图框操作符有下列几种:

  • alt:选择性片段。
  • loop:条件为真的循环片段。
  • opt:可选片段。
  • par:并行执行片段。
  • region:只能执行一个线段的临界片段。

例题:商场购物卡

  • 若某商场中发行一种购物卡用户可以根据自己的需要提出申请去办理购物卡
  • 商场的卡管理员可以根据申请,创建新的购物卡
  • 用户可以向购物卡预存费用,商场卡管理员为该用户添加相应的预存费用
  • 用户可以用购物卡在商场进行消费,每进行一次消费,售货员就从购物卡中扣除相应的费用
  • 当购物消费每满一定数额时,商场自动在卡中添加奖励费

3bff80c019bcf2f09c65987d68792cfb.png
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值