顺序图的建模步骤
- 格式:doc
- 大小:277.00 KB
- 文档页数:11
天津理工大学
计算机与通信工程学院
实验报告
2013 至2014 学年第二学期
课程名称对象设计与建模
学号学生姓名年级2011计算机
专业
教学班号1实验地点7-215(合作)
实验时间2014年月日第节至月日第节主讲教师
辅导教师
按F5,将上面的Sequence 框图转换成Collaboration 框图。
如图所示。
附录(可包括源程序清单或其它说明)
心得体会
通过这样一步一步的完成,并且将顺序图转化为协作图,我对顺序图的建模有了更深的了解。
UML顺序图一般用于:确认和丰富一个使用情境的逻辑。
一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。
一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的逻辑描述,或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述。
或是包含在几个用例中的流程。
顺序图的建模步骤1.创建和删除顺序图1.1 创建顺序图新建一个顺序图的方式有两种:1.1.1 在逻辑视图中增加顺序图1)一般情况下,顺序图属于系统的逻辑模型,因此可以使用“Logical View”的右键菜单——〉“New”——〉“Sequence Diagram”,如下图所示:然后输入顺序图的名称,如下图所示:接着双击新增的顺序图名称,开始输入顺序图,如下图所示:1.1.2 在用例视图中增加顺序图顺序图主要是用于对用例的描述,在此种目的下新增顺序图的方式也是有两种:2.1)直接在“Use Case View”下的相应用例上通过右键菜单——〉“New”——〉“Sequence Diagram”菜单项新建一个顺序图,如下图所示:输入顺序图的名称,如下图所示:输入完顺序图的名称后,双击此顺序图的名称开始输入顺序图的内容。
2.2)在用例图中使用用例的属性窗口来新增顺序图。
如下图所示,在用例“浏览课件”的“Specification”属性窗口中的“Diagrams”项目下,通过右键菜单——〉“Insert Sequence Diagram”,输入顺序图的名称,如下图所示:双击此顺序图名称,进入顺序图的编辑界面。
1.2 删除顺序图不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),删除顺序图的方式都是一样的。
都是选中需要删除的顺序图,右键菜单——〉“Delete”,即可直接删除,如下图所示。
注意,在Rational Rose2003环境下,所有的删除操作都是没有提示的。
1.3 修改顺序图的名称不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),修改顺序图名称的方式都是一样的。
都是选中需要修改名称的顺序图,右键菜单——〉“Rename”,如下图所示:2.增加和删除对象2.1 增加对象在顺序图中,增加对象的方式主要有两种:2.1.1 使用原有的模型元素作为顺序图的对象使用拖放的方式把原有的模型元素作为顺序图的对象,如下图所示:注意:可以被拖放的模型元素有参与者(Actor)和类(Class)这两种模型元素。
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. 细化消息的内容。
第5章 用例建模(1)仔细评价需求收集阶段所编写的各种用例(use cases),以充分理解系统中的各种交互 序列。
(2)标识出驱动这些交互序列的各种事件,同时要理解这些事件如何与特定的对象发生关系。
(3)为每一个用例建立事件跟踪图。
(4)为每一个对象建立状态转换图。
(5)复查行为模型以验证其准确性和一致性,必要时返回到上一阶段修改对象模型。
5.4.1 顺序图建模在使用 UML 的过程中,顺序图往往是和用例建模绑定使用的。
前面提到,可以使用用例图来表达单个情景实例的行为,也就是说,每一个用例的交互过程都对应一个顺序图。
顺序图能够很清楚地表达对象间是如何协作完成用例所描述的那些交互功能的。
顺序图表示的是,为完成用例而在系统边界输入、输出的数据以及消息。
当然,顺序图也可以推进到系统的内部,表示系统内部对象间的消息传递。
在用例建模期间,经常会使用顺序图来表示参与者和系统在系统边界发生的交互活动。
随着设计活动的深入,在已经有了系统内部类的结构和对象之间的交互行为的设计之后,再用顺序图进一步丰富系统内部对象之间的交互活动的展开。
顺序图作为交互图的一种,是对系统的执行过程中的交互活动场景进行建模的方法,是最常用的 UML 图形化方法之一。
顺序图按时间的次序,表示对象之间的消息,指出有哪些对象参与了交互以及它们之间消息传递的序列。
顺序图的建模元素主要包括对象、生命线、控制焦点和消息。
(1)对象及其生命线。
在顺序图建模元素中,最重要的就是对象和它的生命线。
在顺序图中,主要刻画对象是以何种角色参与到交互场景中来的,无论它是人、物,还是其他的系统以及子系统。
对象的命名有图 5-17 所示的三种方式。
方框中标明的就是对象的不同的类别。
① 第一种(object)是完整命名的方法,语法如下:<对象名> :<类名>② 第二种(anonymous object)是所谓的匿名对象的表示方法,即在“:”后面写上 类名,而不给出具体的对象名。
使⽤starUML⼀步⼀步画顺序图顺序图:是UML中能表现出⼀个过程中各个详细步骤的模型图,过程可以理解为⼀个功能的执⾏过程。
下⾯我们以⼀个简单的影院管理系统中售票功能为例来⼀步⼀步完成顺序图的构建。
建模⼯具:starUML版本:5.0.2.1570(新版本下⾯也适⽤)1:⾸先确定功能的主功能场景如下所⽰。
(1)顾客向售票员提供剧⽬名称,和场次要求(时间)。
(2)售票员查询⽤户提供的剧⽬所在演出厅票务和位置信息。
(3)系统显⽰剧⽬信息和演出厅信息。
(4)顾客查看票价和演出厅所剩位置信息,并提供⾃⼰想要的位置。
(5)售票员选择位置,并确认。
(6)系统显⽰座位信息和交易⾦额。
(7)⽤户选择⽀付⽅式,并⽀付。
(8)系统更新演出厅信息,⽣成交易票据并将交易信息发送到外部的账务系统。
(9)系统打印票据。
(10)顾客携带票据离开。
2:找出系统中的参与者顾客系统售票员数据库3:建⽴项⽬打开starUML,选择默认⼯程然后新建⽴顺序图:在项⽬的最右边栏:Analysis Model -> ADD Diagram -> Sequence Diagram之后项⽬的最左端如下:select :选中某个元素object:对象Stimulus:对象与对象间消息SelfStimulus:对象间⾃调⽤的消息Combined Fragment:结合⽚段,⽐如循环⽚段等,分⽀⽚段Interaction Operand:交互操作Frame :框架,主题(图最外⾯的边界)4:加⼊相应元素,如下图所⽰,最外⾯添加的是⼀个Frame。
要是想更改Frame或者Object的名称,我们在最右边属性修改即可。
5:添加消息的过程如下所⽰:⿏标左击 Stimulus,然后松开,之后将⿏标移⾄源Object⽣命线上,⿏标左击不松开,拉⾄⽬的Object上即可。
6:按照主功能场景画出的图⼀步步画出来的图就是这样啦:ps:。
实验三创建顺序图一、实验目的1.理解顺序图的基本概念;2. 掌握顺序图的组成要素及含义;3. 掌握在Rational Rose中绘制顺序图的操作方法。
二、预备知识顺序图(序列图)sequence diagram创建序列图(图3-1)在浏览器内的Logic 视图中单击鼠标右键,选择new→sequence diagram就新建了一张序列图。
也可以在浏览器中use case视图中选择某个用例,然后右击这个用例,选择new→sequence diagram。
图3-1:创建序列图在序列图中放置参与者和对象(图3-2)在序列图中的主要元素之一就是对象,相似的对象可以被抽象为一个类。
序列图中的每个对象代表了某个类的某一实例。
(1)把用例图中的该用例涉及的所有参与者拖到sequence图中。
(2)选择工具栏中的object按钮,单击框图增加对象。
可以选择创建已有类的对象,也可以在浏览器中新建一个类,再创建新的类的对象。
双击对象,在弹出的对话框中的“class”里确定该对象所属的类。
(3)对象命名:对象可以命名也可没名字。
双击对象,在弹出的对话框中的“name”里给对象取名。
(4)如果是多重对象,在图3-2的下方,将复选框【Multiple insta】选中。
图3-2:放置参与者和对象说明对象之间的消息(图3-3)(1)选择message工具栏按钮。
(2)单击启动消息的参与者或对象,把消息拖到目标对象和参与者。
(3)命名消息。
双击消息,在对话框中“General”里的“name”中输入消息名称。
(4)删除消息:选中消息线,右击,选择delete操作。
(5)显示或取消消息编号。
消息编号在顺序图中是可选的,选择菜单栏的Tools----Options菜单项,在出现的对话框中选择Diagram选项卡,将“Sequence numbering”复选框勾选,就可以显示消息编号;如果不勾选,消息编号不会显示在时序图中。
图3-3:对象之间的消息三、实验内容题目一:画出打印机工作的顺序图(线性序列)需求:用户打印文件,客户端计算机向打印服务器发送打印命令,打印机如果空闲,则直接打印,否则,将打印消息存储到打印队列中。
顺序图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图中,用于控制流。
跟我学UML建模⼯具StarUML(第11部分)——应⽤StarUML创建顺序图的创建⽰例1.1跟我学UML建模⼯具StarUML(第11部分)——应⽤StarUML创建顺序图的创建⽰例1.1.1UML动态建模相关技术及应⽤1、动态建模相关的技术(1)在软件系统静态模型的基础上建⽴出相应的动态模型在建⽴出软件系统的静态模型基础上,软件系统的分析和设计⼈员接下来就需要分析和设计软件系统的动态结构,并且建⽴出相应的动态模型。
因为软件系统的动态模型描述了软件系统随时间变化的⾏为,这些⾏为是⽤从静态模型视图中抽取出的系统瞬间值的变化来描述的。
(2)动态模型的主要内容软件系统的动态模型主要包括UML顺序图、协作图、状态图、活动图,这些模型图便于分析软件系统的功能⾏为、印证和修改软件系统的静态结构,满⾜软件系统⽤户的功能和⾮功能性的需求,最终达到满⾜软件系统的功能⽬标。
2、交互图----可以对共同⼯作的对象群体的⾏为建模(1)交互图——主要包括协作图和顺序图交互图主要⽤于定义软件系统如何实现相关功能的;因为它们能够逐步地显⽰⽤例的主要流程,这包括:在流程中需要什么对象、对象相互发送什么消息、什么⾓⾊启动流程、消息按什么时序发送等⽅⾯的信息。
(2)交互图中的“交互”含义它描述了⼀个交互,由⼀组对象和它们之间的关系所组成,这包括在对象间传递的信息。
(3)顺序图和协作图的不同点1)时序图(顺序图)它强调消息时间顺序的交互图,描述类系统中类和类之间的交互,将交互建模成消息交换。
下图为某个银⾏项⽬中⽤户取钱的顺序图⽰例:2)协作图和时序图⼀样,协作图也显⽰⽤例中特定情形的流程。
但时序图按时间排序,⽽协作图则着重于对象之间的关系。
(4)顺序图和协作图⽰例1)下⾯为⼀个软件系统中的⽤户注册的顺序图2)⽽下⾯则为与前⾯的⽤户注册的顺序图相对应的协作图。
可以看出,协作图与时序图中的信息相同,但协作图显⽰了不同的流视图,在这个框图中,更容易看出对象之间的关系,但对象顺序信息则不够明显。
顺序图的建模步骤1.创建和删除顺序图1.1 创建顺序图新建一个顺序图的方式有两种:1.1.1 在逻辑视图中增加顺序图1)一般情况下,顺序图属于系统的逻辑模型,因此可以使用“Logical View”的右键菜单——〉“New”——〉“Sequence Diagram”,如下图所示:然后输入顺序图的名称,如下图所示:接着双击新增的顺序图名称,开始输入顺序图,如下图所示:1.1.2 在用例视图中增加顺序图顺序图主要是用于对用例的描述,在此种目的下新增顺序图的方式也是有两种:2.1)直接在“Use Case View”下的相应用例上通过右键菜单——〉“New”——〉“Sequence Diagram”菜单项新建一个顺序图,如下图所示:输入顺序图的名称,如下图所示:输入完顺序图的名称后,双击此顺序图的名称开始输入顺序图的内容。
2.2)在用例图中使用用例的属性窗口来新增顺序图。
如下图所示,在用例“浏览课件”的“Specification”属性窗口中的“Diagrams”项目下,通过右键菜单——〉“Insert Sequence Diagram”,输入顺序图的名称,如下图所示:双击此顺序图名称,进入顺序图的编辑界面。
1.2 删除顺序图不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),删除顺序图的方式都是一样的。
都是选中需要删除的顺序图,右键菜单——〉“Delete”,即可直接删除,如下图所示。
注意,在Rational Rose2003环境下,所有的删除操作都是没有提示的。
1.3 修改顺序图的名称不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),修改顺序图名称的方式都是一样的。
都是选中需要修改名称的顺序图,右键菜单——〉“Rename”,如下图所示:2.增加和删除对象2.1 增加对象在顺序图中,增加对象的方式主要有两种:2.1.1 使用原有的模型元素作为顺序图的对象使用拖放的方式把原有的模型元素作为顺序图的对象,如下图所示:注意:可以被拖放的模型元素有参与者(Actor)和类(Class)这两种模型元素。
顺序图的建模步骤
1.创建和删除顺序图
1.1 创建顺序图
新建一个顺序图的方式有两种:
1.1.1 在逻辑视图中增加顺序图
1)一般情况下,顺序图属于系统的逻辑模型,因此可以使用“Logical View”的右键菜单——〉“New”——〉“Sequence Diagram”,如下图所示:
然后输入顺序图的名称,如下图所示:
接着双击新增的顺序图名称,开始输入顺序图,如下图所示:
1.1.2 在用例视图中增加顺序图
顺序图主要是用于对用例的描述,在此种目的下新增顺序图的方式也是有两种:
2.1)直接在“Use Case View”下的相应用例上通过右键菜单——〉“New”——〉“Sequence Diagram”菜单项新建一个顺序图,如下图所示:
输入顺序图的名称,如下图所示:
输入完顺序图的名称后,双击此顺序图的名称开始输入顺序图的内容。
2.2)在用例图中使用用例的属性窗口来新增顺序图。
如下图所示,在用例“浏览课件”的“Specification”属性窗口中的“Diagrams”项目下,通过右键菜单——〉“Insert Sequence Diagram”,
输入顺序图的名称,如下图所示:
双击此顺序图名称,进入顺序图的编辑界面。
1.2 删除顺序图
不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),删除顺序图的方式都是一样的。
都是选中需要删除的顺序图,右键菜单——〉“Delete”,即可直接删除,如下图所示。
注意,在Rational Rose2003环境下,所有的删除操作都是没有提示的。
1.3 修改顺序图的名称
不管是在逻辑视图(Logical View)还是在用例视图(Use Case View),修改顺序图名称的方式都是一样的。
都是选中需要修改名称的顺序图,右键菜单——〉“Rename”,如下图所示:
2.增加和删除对象
2.1 增加对象
在顺序图中,增加对象的方式主要有两种:
2.1.1 使用原有的模型元素作为顺序图的对象
使用拖放的方式把原有的模型元素作为顺序图的对象,如下图所示:
注意:可以被拖放的模型元素有参与者(Actor)和类(Class)这两种模型元素。
2.1.2 增加新的顺序图对象
在顺序图的界面中,选择对象(Object)工具,如下图所示:
然后输入对象名称,如下图所示:
2.2 删除对象
删除顺序图中的对象主要有2种方式:
2.2.1 使用右键菜单删除对象
如下图所示,选择需要删除的对象,使用右键菜单——〉“Edit”——〉“Delete from Model”菜单项即可删除该对象。
2.2.2 使用快捷键删除对象
使用快捷键的方式比使用菜单项要简单,选中需要删除的对象,使用Ctrl+D的方式即可删除该对象。
2.3 终结对象在顺序图中的生命
选择对象生命终结符号,如下图所示:
选择需要终止生命的对象的生命线,如下图所示:
3.增加和删除对象间的消息
3.1增加对象间的消息
如下图所示,选择对象消息(Object Message),
按住鼠标左键,从需要发出消息的对象的生命线开始,拖动线段直到接收消息的对象为止,
松开鼠标左键。
入下图所示:
然后输入消息的名称。
还需要设置哪些对象是在交互的过程中被创建的,如下图所示:
在增加对象的消息时,还可以增加发送给对象自己的消息,如下图所示:
3.2 设置消息的不同类型
双击需要设置消息类型的消息,在“Detail”项目中进行消息类型的设置,如下图所示:
一旦消息的类型改变之后,消息的符号也会跟着进行相应的变化。
3.3 删除对象间的消息
与删除对象的方式一样,删除对象消息的方式也是两种,一种是使用右键菜单,另外一种使用Ctrl+D的快捷键方式删除。
使用右键菜单的方式如下:
右键点击需要删除的消息,在弹出的菜单中选择——〉“Edit”——〉“Delete from Model”,如下图所示:
4.设置顺序图的项目属性
设置顺序图的项目属性的方法如下:主菜单——〉“Tools”——〉“Options”,在弹出的窗口中选择“Diagram”标签,如下图所示:。