UML建模中的时序图详解

来源:互联网 发布:蒋方舟 知乎 徐静蕾 编辑:程序博客网 时间:2024/05/29 15:06


UML建模之时序图(Sequence Diagram)

    一、时序图简介(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

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

另:

消息的类型与符号

 


实例:同步异步

(1)简单消息

简单消息是没有区分同步和异步的消息。

 

(2)同步消息

消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息接收者的回应消息。(就是程序中的调用)

 

(3)异步消息

消息的发送者将消息发送给消息的接受者后,不用等待回应的消息,即可开始另一个活动。(就是程序中发消息给消息队列的操作)

(3)返回消息

主动发消息后消息的回馈,可画可不画

 

 

激活

激活的概念

当一个对象没有被激活期时,该对象处于休眠状态,什么事都不做,但它仍然存在,等待新的消息来激活它。

当一条消息被传递给对象的时候,它会触发该对象的某个行为,这就是说该对象被激活了。

当一个对象处于激活期时,表明该对象正处于执行某个动作。

激活的符号

激活用一个细长的矩阵框(在生命线上)表示。

矩形框的高度表示对象执行一个操作所经历的时间段,矩形的顶部表示动作的开始,底部表示动作的结束。

对象接收消息后可以由自己的某个操作来完成,也可以通过其他对象的操作来完成。



 

  自关联消息(Self-Message

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

  Combined Fragments

 

  Ø         Alternative fragmentdenoted “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、完成课程创建功能

 

时序图实例

 

时序图实例分析

1、序号1.0-1.3  完成页面的初始化

2、序号1.4-1.5  课程管理员填充课程表单

3、序号1.6-1.7  课程管理员点击【Create】按钮,并响应点击事件

4、序号1.8     Service层创建课程

5、序号1.9-1.10 添加课程到数据库,并返回课程编号CourseId

6、序号1.11-1.12 添加课程主题到数据库,并返回主题编号topicId

7、序号1.13         给课程指派教师

8、序号1.14         向界面抛创建课程成功与否的消息

四、总结(Summary

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

转:http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html


0 0
原创粉丝点击