UML图之五——时序图
一、什么是时序图
序列图表示了系统在参与者互动执行某一个用例期间,系统内部的一群对象的协作情况。一个用例就对应一个时序图。序列图是对系统动态行为进行描述。用于用例分析和设计阶段。
二、对比
1、序列图和协作图
序列图跟协作图相似,两种图传递的意思是一样的。不同的是序列图强调的是消息的传递顺序,它将交互关系表示为一个二维图。纵向是时间轴,横轴是对象,对象的生命周期沿竖线向下延伸。而协作图强调的是系统间的组织结构,重在表现对象的角色,消息的传递顺序不明显。
看示例:
时序图
协作图
2、时序图和类图、用例图
用例图是系统外部对象(参与者)与系统这两大对象之间的互动,而类图是对系统中涉及到得所有对象,进行抽象描述。时序图是参与者和系统进行交互,系统内部对象之间的具体互动实现。SO,时序图关联了类图与用例图,可以通过用例图和类图进行整合。
三、时序图的构成
1、角色:参与者。
角色是类中的用户类,可以直接拖过来用,但是这里的角色应该是脱离系统之外的一个单纯的角色。类中定义的属性和操作可以不考虑。
2、对象:系统内部参与用例的一群对象。
对象的来源
1、类图。
开篇已经说过时序图其实可以是用例图和类图的整合。所以时序图中的对象大部分是已经存在的。
存在哪?在类图中。也就是说时序图中的对象是我们在类中已经创建好的,我们只需要拿来用。还有一点要注意:时序图中用到得是具体的对象,而非类,所以时序图中的对象是类图中类的实例化。
画法:
2、创建
还有一小部分对象是在交互过程中通过消息创建的。
画法:
当然有创建就有撤销:在生命线的末尾打岔。
3、消息:角色,跟对象,对象和对象之间信息的传递。
简单消息:
同步消息:发出消息后等待对方回应后,再去做别的事情。
异步消息::发出消息后无需等待对方回应,可以先去做别的事情。
返回消息:
4、生命线:对象在某一用例中的生命周期。
激活期:生命线上不是虚线的部分,代表对象在某一用例过程中执行某一操作的时间。
PS: 一个用例,可以对应生成一个用例。
参与者对象只能跟边界对象互动。
实体对象不能发送消息给边界对象和控制对象。
如只是对数据增,删,该,查,可以不设置控制对象。
关系:序列图的一群对象来自类图,对象之间的交互来自用例描述。
四、时序图怎么画?
采用BCE(boundary-control-entity patterns)模式绘制时序图。
BCE 模型中将对象分为三类:边界类,控制类,实体类。
边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要通过边界类来实现。
控制类:一个用例会生成一个控制类。用来控制用例执行期间的复杂运算或者业务逻辑。
实体类:系统内部的对象。
他们的排列如下图所示。
步骤:1、找出参与者和添加用例控制类。
2、然后根据用例流程不断对边界类和实体类进行填充。
PS:控制类只有一个,边界类和实体类可以使多个。
分析下来,其实我们的具体实现是在做一道填空题。我们需要向B,C,E三个框中添加对象。
以下是对机房收费系统登陆用例的时序图:
按F5键同时生成的协作图:
修改密码示例:图一个为一次修改成功:
图二为二次修改成功
图二的画法不确定,请指正。
UML图之五——时序图相关推荐
- 轻松理解UML用例图时序图类图的教程
摘自https://zhuanlan.zhihu.com/p/29874146 写在前面 当你老大扔给你这样的图,或者你需要完成某些功能而去看文档的时候发现以下类似这样的图会不会不(一)知(脸)所(懵 ...
- Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图
文章目录 前言 一.安装 Eclipse 官方提供的安装框架 GEF 1.1.Eclipse 中第三方插件更新/安装策略 1.2.为什么选择 GEF 框架? 1.3.GEF 框架安装 二.安装 Ama ...
- UML建模之时序图(Sequence Diagram)转
UML建模之时序图(Sequence Diagram) 一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Actor) ...
- UML交互图(时序图、顺序图、序列图是一样的、协作图)
时序图.顺序图.序列图是一样的,可能是因为英文翻译的问题,他们对应的都是Sequence Diagram,而另一个Timing Diagram可能翻译常时间图更合适一点点. Sequence Diag ...
- 【设计相关】UML类图和时序图介绍
文章目录 一. 什么是UML UML的定义 UML的应用场景 类图(Class Diagrams) 类关系 继承关系 记忆技巧 案例 汽车关系 购票机 类说明 方法说明 时序图(Sequence Di ...
- 看懂UML类图和时序图
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
- UML建模之——时序图(待整理)
时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中.下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更深入的讲解. 一. 什么是时序图? 时序图( ...
- UML图绘制-----时序图的画法
UML图绘制-----时序图的画法 1.什么是时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序 主要用来更直观的表现各个对象交互的时间顺序,将体现的重点放在 以时间为参照,各个 ...
- 用gif图展示UML中箭头和线条的含义,及搞懂UML类图、时序图和用例图
前言 新进入一家公司,应对 日常的软件开发工作和交流,要能看懂别人写的代码各个类之间的关系,那就需要您能看懂类图uml中各个类之间的线条.箭头代表什么意思? UML的类图中,一共有以下六大关系: 泛化 ...
最新文章
- Android中用 adb 命令操作数据库
- java获取小数位数_Java获取小数位数
- 【下载】《看见新力量》第二期,带你走进数十位科技创业者背后的故事
- 倒排索引 - C/C++
- 如何使用Chrome开发者工具调试web socket应用
- 【LeetCode笔记】23.合并K个升序列表(Java、分治、链表)
- nyoj 1321信息战(九)——水淹七军(搜索bfs)
- job用法 Java_Web App使用Quartz实现java schedule job
- jmeter.bat双击闪退问题
- java spite截取_Java內功心法,行為型設計模式
- MATLAB绘图/数据的可视化
- github上12306抢票使用说明
- C++笔记(《C++新经典》)
- c语言十佳歌手程序,十佳歌手决赛的细则流程
- [Go实战]简单使用scylladb
- svn搭建报错集合(http访问)
- vm镜像 黑群晖_VMWare虚拟机安装黑群晖 (DSM6.2.1)
- [置顶] 中国象棋程序的设计与实现(高级版)(项目截图)
- HYDU_create_process (./utils/launch/launch.c:75): execvp error on file *
- [imx8mpevk] pcie endpoint test