顺序图的建模步骤
软件工程---交互建模之交互图,顺序图与协作图

2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图
UML报告四-顺序图建模

天津理工大学
计算机与通信工程学院
实验报告
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九种建模图--顺序图

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. 细化消息的内容。
第十章时序图(顺序图)

第十章 时序图
饮料销售机
(2)钱币记录仪的主要功能是: ①从前端获取顾客输入的信息(包括现金和饮 料选购); ②更新现金和饮料存储; ③将用户投入的现金或找回的零钱发送到前端。
饮料销售机
第十章 时序图
(3)分配器的主要功能是: ①检查用户所选饮料是否有存货; ②分发饮料给顾客。 买饮料的顺序是: a)顾客从前端投入钱币,选择所需要的饮料; b)钱币到达钱币记录仪,记录仪通知分配器检查 饮料存货情况; c)若有存货,记录仪更新自己的存储,并通知分 配器发饮料到机器前端。
一组对象(对象名和类名) 对象生命线(时间轴) 对象被激发(对象的活跃期) 对象间的通信(消息)
第十章 时序图
二. 时序图样式和元素
消息 对象
生命线
被激活期
第十章 时序图
二. 时序图样式和元素
●
① 对象及命名
:类名 :对象名
对象名:类名
第十章 时序图
二. 时序图样式和元素
① 对象的命名
② 生命线 表示对象存在的时间,对象下面一条虚线表示。
返回消息
第十章 时序图
三. 消息 消息:对象之间传输的信息。消息有以下类型: ④阻止消息 阻止消息指消息发送者发出消息给接收者,如果接收 者无法立即接收这个消息,则发送者放弃这个消息。
阻止消息
第十章 时序图
三. 消息 消息:对象之间传输的信息。消息有以下类型:
⑤超时消息 超时消息指消息发送者发出消息给接收者,并按 指定时间等待,如果接收者无法在指定时间内接收这 个消息,则发送者放弃这个消息。
②异步消息 异步消息的发送者通过消息把信号传递给接收者, 然后继续自己活动,不等待接收者返回消息或控制。
异步消息
软件工程顺序图

消息从活动对象生命线到接受对 象生命线旳箭头表达。箭头以时间 顺序在图中从上到下排列。箭头上 面标识要发送旳消息,如下图所示。
把参加者表达为活动对象
旳建模能够阐明参加者怎样 与系统交互,以及系统怎样 与顾客交互。参加者能够调 用对象,对象也能够告知参 加者,如下图所示。
四、 怎样使用消息进行通信
消息是顺序图活动对象之间通信旳惟一 方式。UML中消息使用了某些简介旳标识符。
消息能够包括条件以便限制它们只有满 足条件时才干发送。条件显示在消息名称上 面旳方括号中,如下图所示:
在UML中,总共有4种类型旳消 息,如下图所示。
到目前为止只看到了一种消息, 即简朴消息(flat message)
旳操作统计下来,以供后来查询。最 终,Engine 直接将成果返回给 ProcessMonitor,由ProcessMonitor将 成果包装,显示给顾客。
六、学习怎样建模顺序图
创建顺序图包括四项任务: • 1)拟定需要建模旳工作流。 • 2)从左到右布置对象。 • 3)添加消息和条件以便创建每
一种工作流。 • 4)绘制总图以便连接各个分图。
2.布置对象
• 建模顺序图旳下一步是从左 到右布置全部旳参加者和对 象,包括要添加消息旳对象 生命线。
3.添加消息和条件
接下来,对每一种工作流 作为独立旳顺序图建模。从基 本旳工作流开始,它是没有犯 错条件,而且需要至少决策旳 工作流。在本例中,基本工作 流是教师成功地检验某个学生 旳分数。如下图所示。
1. 同步消息
同步消息(synchronous message)代表一种操 作调用旳控制流。同步消息旳发送者把控制 传递给消息旳接受者。然后暂停活动,等待 消息接受者旳应答,收到应答后才继续自己 旳操作。
StarUML顺序图建模

operator改为opt,写入判断条件
StarUML顺序图建模
循环片段(loop)
选择Combined Fragment,将
operator改为opt,可写入循环条件
StarUML顺序图建模
框图
简化顺序图复杂度 利于任务和模块分割
sd表示பைடு நூலகம்图定义
ref表示框图引用
框图可以嵌套
StarUML顺序图建模
框图定义
StarUML顺序图建模
框图引用
StarUML顺序图建模
框图嵌套
StarUML顺序图建模
参数
显示序列顺序
• 勾选后显示
消息格式
• NONE:不显示参数 • TYPEONLY:只显示类型,包括返回值
• NAMEONLY:只显示参数名称
• NAMEANDTYPE:显示参数和参数类型
StarUML顺序图建模
创建对象与类的关联
StarUML顺序图建模
消息 创建 同步调用
异步调用
自调用
返回
销毁
StarUML顺序图建模
消息属性设置
StarUML顺序图建模
交互片段
序号 1 alt 图框操作符 含义 选择性的片段,多条件的分支;用虚 线分割,每区域设置一个条件,代表 一个分支 满足条件则执行分支 循环,表示该片段执行多次 并行执行的片段
StarUML顺序图建模
组成 参与者(Actor) 对象(Object)
生命线(LifeLine)
控制焦点(Focus Of Control)
消息(Message)
交互片段(Interaction Frame)
框图(Frame)
顺序图建模_软件工程_[共2页]
![顺序图建模_软件工程_[共2页]](https://img.taocdn.com/s3/m/204cbc385ef7ba0d4b733bb3.png)
第5章 用例建模(1)仔细评价需求收集阶段所编写的各种用例(use cases),以充分理解系统中的各种交互 序列。
(2)标识出驱动这些交互序列的各种事件,同时要理解这些事件如何与特定的对象发生关系。
(3)为每一个用例建立事件跟踪图。
(4)为每一个对象建立状态转换图。
(5)复查行为模型以验证其准确性和一致性,必要时返回到上一阶段修改对象模型。
5.4.1 顺序图建模在使用 UML 的过程中,顺序图往往是和用例建模绑定使用的。
前面提到,可以使用用例图来表达单个情景实例的行为,也就是说,每一个用例的交互过程都对应一个顺序图。
顺序图能够很清楚地表达对象间是如何协作完成用例所描述的那些交互功能的。
顺序图表示的是,为完成用例而在系统边界输入、输出的数据以及消息。
当然,顺序图也可以推进到系统的内部,表示系统内部对象间的消息传递。
在用例建模期间,经常会使用顺序图来表示参与者和系统在系统边界发生的交互活动。
随着设计活动的深入,在已经有了系统内部类的结构和对象之间的交互行为的设计之后,再用顺序图进一步丰富系统内部对象之间的交互活动的展开。
顺序图作为交互图的一种,是对系统的执行过程中的交互活动场景进行建模的方法,是最常用的 UML 图形化方法之一。
顺序图按时间的次序,表示对象之间的消息,指出有哪些对象参与了交互以及它们之间消息传递的序列。
顺序图的建模元素主要包括对象、生命线、控制焦点和消息。
(1)对象及其生命线。
在顺序图建模元素中,最重要的就是对象和它的生命线。
在顺序图中,主要刻画对象是以何种角色参与到交互场景中来的,无论它是人、物,还是其他的系统以及子系统。
对象的命名有图 5-17 所示的三种方式。
方框中标明的就是对象的不同的类别。
① 第一种(object)是完整命名的方法,语法如下:<对象名> :<类名>② 第二种(anonymous object)是所谓的匿名对象的表示方法,即在“:”后面写上 类名,而不给出具体的对象名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序图的建模步骤
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”标签,如下图所示:。