顺序图
- 格式:ppt
- 大小:1.02 MB
- 文档页数:28
顺序图功能
顺序图是用来描述系统中的事件交互和参与者之间的交互过程,它展示了事件的序列性、参与者的交互、消息的传递和响应等。
顺序图的功能主要有以下几个方面:
1. 交互过程的可视化:顺序图通过图形化的方式展示了系统中参与者之间的交互过程,使得人们可以直观地了解事件是如何发生,并且可以清楚地看到交互的顺序和关系。
2. 事件和消息的交互描述:顺序图通过表示事件和消息的箭头以及箭头上的标识符,清楚地展示了交互过程中消息的传递和响应,使得人们可以准确地描述和理解事件之间的关系。
3. 可视化系统的结构和行为:顺序图可以用来描述系统的结构和行为,可以展示参与者之间的相互作用、系统的工作流程和具体的处理过程等,非常方便理解和沟通系统的设计和实现。
4. 用例场景的描述和验证:顺序图可以用来描述和验证用例场景,可以清晰地展示用例的流程和参与者之间的交互,从而帮助人们更好地了解用例的功能和特点,并进行需求的分析和确认。
5. 系统的动态行为模拟和测试:顺序图可以用来模拟和测试系统的动态行为,可以根据顺序图中的交互逻辑和时间顺序,来模拟和实现系统的具体行为和响应,从而验证系统的正确性和性能。
6. 分析和优化系统的性能和效率:顺序图可以用来分析系统的性能和效率,可以清晰地展示系统中交互的过程和消息的传递,从而帮助人们发现系统的瓶颈、优化系统的性能、提高系统的效率等。
总之,顺序图是一种非常有用和强大的工具,可以用来描述和展示系统中的交互过程和消息传递,可以帮助人们更好地理解和分析系统的结构和行为,从而支持系统的设计、实现、模拟、测试和优化等工作。
UML九种建模图--顺序图概述顺序图是⼀种交互图(interaction diagram).交互图展现了⼀种交互,它由⼀组对象或参与者以及它们之间可能发送的消息构成。
交互图专注于系统的动态视图。
顺序图是强调消息的时间次序的交互图。
组成顺序图主要有4个标记符:对象、⽣命线、消息和激活。
对象三种表⽰⽅法1.包括对象名和类名,2、只有类名3.只有对象名⽣命线⽣命线⽤于描述对象的存在周期,对象下⽅的虚线就是该对象的⽣命线。
激活控制焦点是指活动者或对象处于执⾏状态的时间段消息消息⽤于描述对象间交互的⽅式及内容。
消息分为四种:同步消息、异步消息、返回消息、⾃关联消息1.同步消息:⼀个对象向另⼀个对象发出同步消息后,将处于阻塞状态,⼀直等到另⼀个对象的回应表⽰⽅式:2.异步消息:⼀个对象向另⼀个对象发出异步消息后,这个对象可以进⾏其他的操作,不需要等到另⼀个对象的响应表⽰⽅式:3.返回消息:同步消息的返回消息表⽰⽅式:4.⾃关联消息:⽤来描述对象内部函数的互相调⽤表⽰⽅式:还有顺序图中对于流程控制的模块:复合⽚段复合⽚段有多种,在此主要介绍⼀下⼏种:条件判断、可选、循环、同步1.条件判断:⽤于描述代码中if…else…这种结构标记为“alt”例如:2.可选:是⼀种特殊的“条件判断”,它只是⼀个if,没有else if或else 可选的标记为:opt3.循环:是指代码中的for、while之类的语句块循环的标记为:loop例如:下图中[m,n]是指⾄少执⾏m次,最多执⾏n次4.同步:⽤于描述多线程的情况同步的标记是:par画顺序图的步骤:1. 确定交互的范围2. 确定参与交互的活动者与对象3. 确定活动者、对象的⽣存周期4. 确定交互中产⽣的消息5. 细化消息的内容。
顺序图(SequenceDiagram)
顺序图(Sequence Diagram):
是⼀种强调对象间消息传递次序的交互图,⼜称为时序图或序列图。
描述了在⼀个⽤例或操作的执⾏过程中对象如何通过消息相互交互,说明了消息如何在对象之间被发送和接收以及发送的顺序。
组成:
交互⽚段(Interaction Fragment):
⼀个复杂的顺序图可以划分为⼏个⼩块,每⼀个⼩块称为⼀个交互⽚段,由⼀个⼤⽅框包围。
常⽤的操作符包括:
1) alt:多条路径,条件为真时执⾏。
2) opt:任选,仅当条件为真时执⾏。
3) par:并⾏,每⼀⽚段都并发执⾏。
4) loop:循环,⽚段可多次执⾏。
消息:
1)调⽤消息(Call Message): 在顺序图中有的消息对应于激活,表⽰它将会激活⼀个对象。
2)发送消息(Send Message): 如果消息没有对应激活框,表⽰它不是⼀个调⽤消息,不会引发其他对象的活动。
3)⾃⾝消息(Self Call Message): 如果对象的⼀个⽅法调⽤了⾃⼰的另⼀个⽅法时,消息是由对象发送给⾃⾝。
4)创建/销毁消息(Create/Destroy Message): 创建消息⽤于使⽤new关键字创建另⼀个对象,⽽销毁消息⽤于调⽤对象的销毁⽅法将⼀个对象从内存中销毁。
在下⼀节我们讨论⼀下状态图。
实验5顺序图和协作图一.顺序图1.实验内容图1-1顺序图2.实验步骤2.1定义类在LogiC VieW视图下创建4个类,它们是:客户、ATM端口、钱币记录仪、分类器,如图1-2所示。
图1-2创建类2.2创建顺序图右击LogiC View,选择New→Sequence Diagram,系统自动增加了一个项目:NewDiagram0我们在此处输入:顺序图,如图1-3所示。
图1-3创建顺序图2.3往顺序图中添加对象在i刘览器窗口中,双击“顺序图”文本,系统就在模型图窗口打开“顺序图”,如图1-4所示。
图1-4打开顺序图分别将浏览器窗口中的4个类(客户、ATM端口、钱币记录仪、分类器)拖入顺序图。
当把类拖入顺序图中时,系统自动创建匿名对象。
如图1・5所示。
图1-5对象拖入顺序图给匿名对象命名步骤如下:右击匿名对象客户”图标,选择OPen SPeCifICatiOn,打开对象的规范窗口,输入姓名:邓小贫。
如图1-6所示。
图1-6给匿名对象取名点击“OK”按钮,完成对象命名。
2.4 给对象添加消息添加消息的步骤:1)在工具箱中单击ObjeCl Message 按钮,2)在“邓小贫”对象的生命线上按下鼠标左键(不要松手),拖动鼠标到对象”:ATM端口”后,松开鼠标,就建立了一条消息。
如图1-7所示。
×ι÷lMHl ►!►Mog/For H«lp , pr«ss Fl∣D∙fftult Ltt<u∙g∙: Analysis图1-7添加消息3)右击消息,打开快捷菜单,选择OPenSPeCifiCatiOn ,打开消息的规范窗口,并输 入消息名:请求接收钱币,如图,1-8所示。
图1-7消息命名@ Rational Rose - 20182236+季自成+⅛⅛4.mdl‰侬File Edit View Format Browse Report ToOk Add-Ins Window Help口空。
顺序图1.概述顺序图(Sequence Diagram)是交互图的一种,它按照交互发生的时间顺序,利用对象的“生命线”和消息描述对象之间的交互。
通常用来描述一个用例的行为,完成对系统的动态行为建模。
顺序图主要目的是定义事件序列,产生一些希望的输出,其重点不是消息本身,而是消息产生的顺序。
一个典型的顺序图如图1所示,图1. 顺序图2.基本元素顺序图的基本元素有生命线、消息、活动者、对象、组合片断。
2.1 生命线(Lifeline)一条生命线代表着顺序图中的一个参与者,表示建模的角色或对象实例。
在UML中,生命线画作一个方格,一条虚线从上而下,通过底部边界的中心,生命线对象的名字放置在方格里,如图2所示,图2. 生命线(1)通常,顺序图属于某个用例时,顺序图中会包含有参与者的生命线。
边界类、控制类、实体类都可以拥有生命线,如图3所示,图3. 生命线(2)2.2消息(Messages)消息是对象之间的一种通信,它可以传递信息并期望相关的动作被执行。
顺序图的第一个消息总是从顶端开始,并且一般位于图的左边。
然后继发的消息加入图中,稍微比前面的消息低些。
在UML中,一个对象传递一个消息给另一个对象,画一条线指向接收对象,包括一个实心箭头(表示同步调用操作)或一个棍形箭头(表示一个异步信号)。
消息或方法名字放置在带箭头的线上面。
如图4所示,第一个消息是一个同步消息,隐式返回。
第二个消息表示异步,第三个消息即是异步消息的返回的消息。
图4. 消息生命线上的瘦矩形表示消息执行发生或一个控制焦点的激活,表明对象在某一时间点开始执行活动。
在图4中,有三个执行发生。
调用本身的消息可用于表示一个操作的递归调用,或者同一对象中一个方法对另一个方法的调用,如图5所示,图5. 调用自身消息2.3约束(Constraints)当为对象的交互建模时,有时候,必须满足一个条件,消息才会传递给对象。
约束在各个不同的UML图中,用于控制流。
顺序图:显示对象之间交互的图,对象时按时间顺序排列的。
一般把参与者对象放在图的两侧,主参与者放在最左边,次要参与者放在右边
调用(precedure call)消息:发送者把控制传递给消息的接受者,然后停止活动等待消息接收者放弃或返回控制
异步(asynchronous)消息:发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制
返回(return)消息:表示从过程调用返回
阻止(Balking)消息:发送消息者发送消息给接收者,要是消息接收者无法立即接收消息泽发送者放弃这消息
超时(TimeOut)消息:发送消息者发送消息给接收者并按照指定时间等待。
如果接收者无法
再指定时间类接收消息,则发送者放弃这个消息
顺序图表示对象之间的交互
登陆顺序图:
User:创建的实例
添加用户的顺序图:
打开添加用户的界面,在界面上选择一个组(可以通过一个下拉选择框来选择),然后向后台提交,后台系统保存用户的信息
并同时建立用户和组之间的关联。