一 序列图概述:

序列图主要用于展示对象之间交互的顺序。

序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。

横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时。生命线是一个双道线。

消息用从一个对象的生命线到还有一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

二 序列图中涉及的元素:

1. 角色(Actor)

系统角色, 能够是人、其它系统或者子系统

2. 对象(Object)

有三种命名方式:

(1)包含对象名和类名

(2)仅仅显示类名。不显示对象名。即表示他是一个匿名对象

(3)仅仅显示对象名不显示类名

3. 生命线

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

4. 控制焦点(Focus of Control)

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

5. 消息

消息一般分为同步消息(Synchronous
Message)。异步消息(Asynchronous
Message)和返回消息(Return
Message)

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

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

(3)返回消息:返回消息表示从过程调用返回

6. 自关联消息(Self-Message)

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

三 储户取款的样例:

用序列图表示用户从ATM机上取款的样例:

四 心得总结:

1. 先用序列图画出主要流程, 用注解或文字说明特殊流程。

2. 假设特殊流程也非常重要。 那么能够再用一个序列图来表达。

3. 假设分支非常多而且都比較重要时, 首选活动图而不是顺序图。

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


UML之序列图的更多相关文章

  1. UML 之 序列图和协作图

    序列图(Sequence Diagram)     亦称为时序图或循序图,是一种UML行为图.它通过描写叙述对象之间发送消息的时间顺序显示多个对象之间的动态协作.它能够表示用例的行为顺序,当运行一个用 ...

  2. UML: 序列图

    摘自http://www.umlonline.org/school/thread-37-1-1.html 大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆 ...

  3. UML - EA 序列图

    序列图中的 Fragment 的类型(Loop.Opt.Par和Alt) (还有: ) 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向 ...

  4. UML学习(三)-----序列图

    UML的模型中可分为两种,动态模型和静态模型.用例图.类图和对象图都是UML中的静态结构模型.而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系.序 ...

  5. UML精粹3 - 类图,序列图,CRC

    类图Class diagram 类图描述系统中的对象类型,以及它们之间的各种静态关系.类图也展示类的性质和操作,以及应用于对象连接方式的约束.UML中的特性feature,涵盖了性质property和 ...

  6. 从 Java 代码逆向工程生成 UML 类图和序列图

    from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...

  7. UML序列图参考资料

    UML各个图的说明:http://www.uml.org.cn/oobject/201509015.asp?artid=16901 UML类图的说明:https://www.cnblogs.com/a ...

  8. UML 序列图

    序列图      序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互.显示不同的业务对象如何交互,对于交流当前业务如何进行很有用.序列图是一个用来记录系统需求,和整理系统设计的好图.序列图 ...

  9. 转载:UML学习(三)-----序列图(silent)

    原文:http://www.cnblogs.com/silent2012/archive/2011/09/14/2172219.html UML的模型中可分为两种,动态模型和静态模型.用例图.类图和对 ...

随机推荐

  1. jQuery第四课 点击 _选项卡效果一

    //鼠标移到上面是显示手型cursor:pointer jquery 的函数: siblings //兄弟节点,同胞元素 :eq()选择器选取带有指定 index 值的元素.index 值从 0 开始 ...

  2. state.sls web.apache

    [root@master01 web]# salt 'node02' state.sls web.apache node02: ----------           ID: apache-inst ...

  3. Linux split 命令用法详解 - 切割文件[转]

    功能说明:切割文件.语 法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切 ...

  4. Mybaties下的分页功能的实现

    jsp页面 <!-- 页码 --> <div class="ipRListNav2"> <a href="zyxx.do?findZyxx& ...

  5. Java的TreeMap,C++的lower_bound,合并间隔

    https://leetcode.com/problems/data-stream-as-disjoint-intervals/?tab=Description 这道题目是合并间隔的经典题目. htt ...

  6. less12 函数

    less .x(1) { x:11 } .x(2) { y:22 } .x(@x:1) when (default()) {z:@x} //default()表示一直为真 body{ backgrou ...

  7. QuerySet和对象的例子 个人记录

    import osif __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE&quo ...

  8. Word frequency analysis

    Write a program that reads a file, breaks each line into words, scripts whitespace and punctuation f ...

  9. POJ 3665 模拟

    按照题意模拟就OK了 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> ...

  10. MetaSploit攻击实例讲解------Metasploit自动化攻击(包括kali linux 2016.2(rolling) 和 BT5)

    不多说,直接上干货! 前期博客 Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库 Kali linux 2016.2(Ro ...