UML: 序列图
摘自http://www.umlonline.org/school/thread-37-1-1.html
大家都进过餐馆吃饭吧?你是如何和餐厅服务员“眉来眼去”的呢?回忆一下从你进餐馆开始到你离开餐馆的整个过程,期间都发生了一些什么事情?
这个过程,我们通过序列图展示出来,可能是这样子的:

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

注意:红色虚线以及黄底色的文字不是序列图的一部分,它们是用来说明这个序列图的。
这个图多了一种带箭头的虚线,“菜单”这条虚线,由“服务员”指向“顾客”,表示:“服务员”将“菜单”给“顾客”。
顾客先向服务员要菜单,然后服务员将菜单给顾客。通过实线与虚线,可以表达出不同角色的交互过程。
顾客向服务员点菜,过一会服务员就会将菜送上来,我们都知道,菜不是服务员做出来的,她背后有人,她背后的故事又是怎样的呢?

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

UML: 序列图的更多相关文章
- UML序列图参考资料
UML各个图的说明:http://www.uml.org.cn/oobject/201509015.asp?artid=16901 UML类图的说明:https://www.cnblogs.com/a ...
- UML序列图的理解:
UML序列图的理解:UML序列图是指一个对象的方法在处理过程中调用其他对象的图:重点是要突出调用其他对象的序列:
- UML 序列图
序列图 序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互.显示不同的业务对象如何交互,对于交流当前业务如何进行很有用.序列图是一个用来记录系统需求,和整理系统设计的好图.序列图 ...
- UML 序列图详解
现在是二月,而且到如今你或许已经读到.或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化.考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG ...
- 【夯实PHP基础】UML序列图总结
原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...
- 软件工程里的UML序列图的概念和总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...
- UML序列图总结(Loop、Opt、Par和Alt)
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
- 【UML】UML序列图总结
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图. 纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色. 类元角色用生命线表示. 当对象存在时,角色用 ...
- UML序列图总结
转载请注明出处:htt://blog.csdn.net/tianhai110 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在 ...
- (转)UML序列图总结
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
随机推荐
- json 增删改 加 排序
<script type="text/javascript"> var json = { "age":24, "name":&q ...
- sql索引组织
select p.*, p.partition_id, c.object_id,OBJECT_NAME(c.object_id) objectName,c.name,c.column_id,pc.m ...
- ngrok的使用
windows的ngrok配置: 步骤一:下载ngrok http://pan.baidu.com/s/1jH0s8o2 步骤二:如果你的国外网址没被墙就直接使用cmd命令行使用. 国内ngrok配置 ...
- cordova插件iOS平台实战开发注意点
cordova插件是其设计理念的精髓部分,创建并使用自定义插件也是一件比较容易的事.但在这个过程中也容易进入一些误区或者有一些错误的理解,下面从笔者实际开发中遇到的问题出发,对其中的一些注意点和重要概 ...
- 20145211 《Java程序设计》课程总结——桃花流水窅然去
每周读书笔记链接汇总 20145211 <Java程序设计>第1周学习总结--小荷才露尖尖角 20145211 <Java程序设计>第2周学习总结--桃花依旧笑春风 20145 ...
- MVC从服务器端返回js到客户端的方法(总结)
1.利用ViewBag,从服务器端创建一个显示js开关的ViewBag,然后到View中去做判断. Controller端 [HttpPost] public ActionResult Index(h ...
- https://my.oschina.net/reesechou/blog/492265
https://my.oschina.net/reesechou/blog/492265
- iOS8 推送注册方式改变的问题
不久之后iPhone 6/6 plus就会在国内如雨后春笋般遍地开花了.iOS 8早已现行一步,不过有的开发者也注意到了在iOS 8上推送通知的注册方式有所变化,报错提示为: 1 registerFo ...
- Useful bat command
1.Start and stop the windows services net stop <service name>net start <service name>net ...
- JavaScript:文本域事件处理
文本域往往可以输入大量的文字信息,但是在文本域上有一些键盘的处理事件:onkeydown.onkeypress.onkeyup. 范例一:观察文本域的键盘事件处理 代码如下: 效果图如下: 默认状态: ...