UML_时序图

原文地址:https://www.cnblogs.com/downey/p/4890830.html

一、时序图简介(Brief introduction)

 二、时序图元素(Sequence Diagram Elements)

角色(Actor)

对象(Object)

生命线(Lifeline)

控制焦点(Focus of Control)

消息(Message)

自关联消息(Self-Message)

Combined Fragments

 

三、时序图实例分析(Sequece Diagram Example Analysis)

时序图场景

时序图实例

时序图实例分析

四、总结(Summary)

一、时序图简介(Brief introduction)

       时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

二、时序图元素(Sequence Diagram Elements)

  角色(Actor)

   系统角色,可以是人、及其甚至其他的系统或者子系统。

  对象(Object)

  对象包括三种命名方式:

  第一种方式包括对象名和类名;

  第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;

  第三种方式只显示对象名不显示类明。

 

  生命线(Lifeline)

  生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间,如下图

 

  控制焦点(Focus of Control)

 

  控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示,如下图。

       

  消息(Message)

  消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:

 

 

  同步消息=调用消息(Synchronous Message)

  消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

 

  异步消息(Asynchronous Message)

  消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

 

  返回消息(Return Message)

  返回消息表示从过程调用返回

 

  自关联消息(Self-Message)

  表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。

  Combined Fragments

 

  Ø         Alternative fragment(denoted “alt”) 与 if…then…else对应

  Ø         Option fragment (denoted “opt”) 与 Switch对应

  Ø         Parallel fragment (denoted “par”) 表示同时发生

  Ø         Loop fragment(denoted “loop”) 与 for 或者 Foreach对应

 

三、时序图实例分析(Sequece Diagram Example Analysis)

  时序图场景

完成课程创建功能,主要流程有:

1、请求添加课程页面,填写课程表单,点击【create】按钮

2、添加课程信息到数据库

3、向课程对象追加主题信息

4、为课程指派教师

5、完成课程创建功能

 

时序图实例

UML 2.0 时序图又称顺序图,用于展示对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互 [^1][^2]。 ### 使用方法 - **明确交互场景**:确定要分析或展示的系统交互过程,这通常来自于系统的用描述或者特定的业务流程。如,在一个在线购物系统中,用户下单的过程就是一个具体的交互场景。 - **识别参与对象**:找出在该交互场景中参与的所有对象。在上述在线购物系统的子中,参与对象可能包括用户、购物车、订单系统、支付系统等。 - **确定消息传递**:明确对象之间传递的消息及其顺序。以用户下单为,消息可能包括用户向购物车添加商品、购物车向订单系统提交订单、订单系统向支付系统发起支付请求等。 - **分析时间顺序**:按照时间顺序排列消息,清晰展示每个消息的发送和接收时刻。 ### 绘制规范 - **对象表示**:在图的顶部,用矩形框表示对象,框内写对象名称,通常在名称后加冒号和类名。如,“用户:User”。对象之间以垂直虚线向下延伸,称为对象的生命线。 - **消息表示**:用带箭头的线段表示对象之间的消息传递。箭头方向表示消息的流向,从发送对象指向接收对象。消息可以是同步消息(实心箭头)、异步消息(空心箭头)或返回消息(虚线箭头)。 - **激活期**:当对象在处理消息时,在其生命线上用细长的矩形表示激活期。如,当订单系统处理用户订单时,其生命线上会出现一个激活期矩形。 - **组合片段**:用于对消息进行分组和逻辑控制,如顺序片段(表示消息按顺序执行)、选择片段(表示条件分支)等。 ### 示 以下是一个简单的在线购物系统中用户下单并支付的 UML 2.0 时序图: ```plaintext 用户:User 购物车:ShoppingCart 订单系统:OrderSystem 支付系统:PaymentSystem | | | | | -- 添加商品 --> | | | | | -- 提交订单 --> | | | | | -- 发起支付请求 --> | | | | | <-- 支付成功通知 -- | | | <-- 订单处理完成通知 | | <-- 订单完成通知 -- | | | ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值