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

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

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

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

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

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

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

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

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

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

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

  1. UML序列图参考资料

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

  2. UML序列图的理解:

    UML序列图的理解:UML序列图是指一个对象的方法在处理过程中调用其他对象的图:重点是要突出调用其他对象的序列:

  3. UML 序列图

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

  4. UML 序列图详解

    现在是二月,而且到如今你或许已经读到.或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化.考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG ...

  5. 【夯实PHP基础】UML序列图总结

    原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...

  6. 软件工程里的UML序列图的概念和总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...

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

    序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...

  8. 【UML】UML序列图总结

    序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图. 纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色. 类元角色用生命线表示. 当对象存在时,角色用 ...

  9. UML序列图总结

    转载请注明出处:htt://blog.csdn.net/tianhai110 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在 ...

  10. (转)UML序列图总结

    序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...

随机推荐

  1. MVC中JQuery文件引入的路径问题,@Url.Content函数

    今天写了个MVC的Demo,文件夹结构很简单,如下: 利用EF生成Model框架并手工加表字段注解,但在页面上JS验证始终没显示.实在无语. 无意中在浏览器里按F12,看见提示:   Failed t ...

  2. C语言PRO2

    2-5 #include<stdio.h>#include<math.h>int main(){ int money , year; double rate , sum; pr ...

  3. FTS抓包看L2CAP Connection的建立(一)

    一.概述     在前面的文章中介绍了inquiry和ACL connection的建立过程.这个连接建立后,L2CAP signaling channel(CID = 0x0001)就已经存在,可以 ...

  4. install zabbix-agent on CENTOS

    in ubuntu--https://www.digitalocean.com/community/tutorials/how-to-install-zabbix-on-ubuntu-configur ...

  5. 转载:C++线程池的一个实现

    原文转自:http://www.cnblogs.com/lidabo/p/3328646.html 略有修改 Cthread类参见:http://www.cnblogs.com/tangxin-blo ...

  6. C++用数组实现的静态队列

    #ifndef _STATIC_QUEUE_H_ #define _STATIC_QUEUE_H_ // 静态queue模板,用数组实现的队列,在初始化的时候需要指定长度 template<cl ...

  7. C++控制程序只运行一个实例

    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ...

  8. Bundle文件的创建和使用(一)

    经常会出现某个需求:将自己的模块或者开放类,封装成静态库给其他人提供方便的调用. 但是当你的模块中需要大量使用xib,图片,音频或者其他资源文件时,无法添加至静态库.这个时候就需要将一些资源文件封装至 ...

  9. 使用多种客户端消费WCF RestFul服务(一)——服务端

    RestFul风格的WCF既然作为跨平台.跨语言.跨技术的一种方式出现,并且在ASP.NET API流行起来之前还是架构的首选技术之一,那么我们就来简要的介绍一下WCF在各个平台客户端的操作. 开发工 ...

  10. [LeetCode] Edit Distance(很好的DP)

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...