UML: 序列图

摘自http://www.umlonline.org/school/thread-37-1-1.html

大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆的整个过程,期间都发生了一些什么事情?

这个过程,我们通过序列图展示出来,可能是这样子的:

注意:红色虚线以及黄底色的文字不是序列图的一部分,它们是用来说明这个序列图的。

序列图的语法并不复杂,简述如下:
1.有两条竖轴,分别代表了顾客和服务员两个角色。
2.两条竖轴之间有一些带箭头的线条,线条上有一些文字,顺着箭头方向来读这个图,就是谁对谁做了什么事情。“领导座位”这条线是从“服务员”指向“顾客”的,这就表示:“服务员”对“顾客”做了“领到座位”这个事情。
3.有些线条是自己指向自己的,如“进门”,线条从“顾客”开始,最后还是指向“顾客”,意思就是自己对自己做了什么事情,“进门”这条线是从“顾客”指向“顾客”的,这就表示:顾客自己进门了,这个事情是自己对自己发起的,没有别人介入。
4.由上往下读这个图,就是事情安排时间发生的顺序了。
5.由这个图可以很清楚的了解到谁与谁发生了那些交互,事情的先后顺序是怎样的。

上面这个图,还有另外一种画法:

注意:红色虚线以及黄底色的文字不是序列图的一部分,它们是用来说明这个序列图的。

这个图多了一种带箭头的虚线,“菜单”这条虚线,由“服务员”指向“顾客”,表示:“服务员”将“菜单”给“顾客”。
顾客先向服务员要菜单,然后服务员将菜单给顾客。通过实线与虚线,可以表达出不同角色的交互过程。

顾客向服务员点菜,过一会服务员就会将菜送上来,我们都知道,菜不是服务员做出来的,她背后有人,她背后的故事又是怎样的呢?

上面这个图,揭示了点菜、结帐的完整过程。
通过序列图,我们可以清楚地看到各角色之间是如何交互,角色之间的“接口”是怎样的,通过怎样的步骤最终会让事情办完。

时间: 2024-12-15 12:26:55

UML: 序列图的相关文章

csdn MarkDown 第六篇 技术篇--UML 序列图 实现

这一篇开始讨论代码层面的问题.主要是markdown的功能的设计实现. 这一篇先从markdown外围的代码开始讲起: UML序列图是从https://github.com/bramp/js-sequence-diagrams copy得到的. 当如这个UML代码还用到了两个JS,功能库和画图. <script src="underscore-min.js"></script> <script src="raphael-min.js"&

UML序列图总结

原文:UML序列图总结 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线. 消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列. 序列图中涉及的元素: 1.   生命线: 生命线名称可带下划线.当使用下划线时,意味着序列图中的生命线代表一个类的特定实体. 2.

CSDN-Markdown编辑器之UML序列图

这里以"TCP协议中的三次握手"来讲一下Markdown编辑器中UML序列图的应用. 连接建立的过程: ```sequence Title:连接建立的过程 客户主机->服务器主机: 连接请求(SYN=1,seq=client_isn) 服务器主机->客户主机: 授予连接(SYN=1,seq=client_isn)\n ack=client_isn+1 客户主机->服务器主机: 确认(SYN=0,seq=client_isn+1)\nack=server_isn+1 `

UML序列图总结(Loop、Opt、Par和Alt)

序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线. 消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列. 序列图中涉及的元素: 1. 生命线: 生命线名称可带下划线.当使用下划线时,意味着序列图中的生命线代表一个类的特定实例. 2. 同步消息 发送人在它继续之

UML序列图总结(转)

序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线. 消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列. 序列图中涉及的元素: 1. 生命线: 生命线名称可带下划线.当使用下划线时,意味着序列图中的生命线代表一个类的特定实例. 2. 同步消息 发送人在它继续之

【UML】UML序列图总结

序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图. 纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色. 类元角色用生命线表示. 当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线. 消息用从一个对象的生命线到另一个对象生命线的箭头表示. 箭头以时间顺序在图中从上到下排列. 序列图中涉及的元素: 1. 生命线 生命线名称可带下划线.当使用下划线时,意味着序列图中的生命线代表一个类的特定实体. 2.     同步消息

JS 实现UML序列图 (二)-- csdn MarkDown 第七篇 技术篇

上一篇大概说了一下JS是怎么画UML 图形的. 这一篇简单介绍一下这个JS 解析 UML语法是怎么实现的. https://github.com/bramp/js-sequence-diagrams/blob/master/src/grammar.ebnf 这个是Markdown UML语言的语法结构.摘抄了部分: 这一部分是将词和词组成语句.而语句和语句就组成篇章. document ::= statement* statement ::= ( 'title' ':' message | 'p

需求用例分析之九:序列图

作者:张克强    作者微博:张克强-敏捷307 序列图,也称时序图.顺序图,英文名Sequence Diagram.在雅各布森用例分析方法中鼓励使用各类图形来表达,但恰恰没有明确提到序列图.而科伯恩用例分析方法以结构化/半结构化文本用例为中心,强调基于目标的文本格式,对UML各类图所提甚少. 在RUP和OOAD中,UML序列图的最基本定位是用于识别类与类之间的信息传递,是识别类的方法的最佳场合.它是在得到用例之后初步识别了类之后发挥巨大作用的.序列图是交互图(interaction diagr

UML之序列图(Sequence Diagram)

类图描述的是类之间的静态关系,而序列图展示的是对象之间的沟通方法,描述运行时的交互关系. OOP编程语言里面合理的直接交互方式只有一种,方法调用(Event通讯是间接的).所以序列图也可以 理解为方法调用交互图.方法调用有四个元素,参与者(两个,调用者和被调用者),方法名称,输入 和输出. 参与者 参与者用一个Lifeline来表示,图像为一个矩形外加底部的一条竖线.矩形里面显示对象名,格式为 name:ClassType的样式,都为可选项,Martin Fowler推荐a Handler的格式

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

from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM? Rational? Software Architect 从 Java? 源代码来逆向工程生成 UML 类和序列图. 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品. 作者详细说明了使用 IBM Rational Sof