




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章交互图第一页,共八十七页,编辑于2023年,星期四目录7.1顺序图7.2通信图7.3绘制交互图7.4顺序图与通信图的关系7.5定时图第二页,共八十七页,编辑于2023年,星期四7.1顺序图一.顺序图的概念也称时序图,SequenceDiagram描述了系统中对象之间传送消息的时间顺序。二.顺序图的作用用来描述用例的实现第三页,共八十七页,编辑于2023年,星期四7.1顺序图图:即时通信系统中对象server和对象Database的交互
UML2.0可以帧化顺序图,即用一个边框包围他并在左上角添加一个间隔区,间隔区中包含了识别该顺序图的信息。(例,sd:表示该图是顺序图;login:顺序图名)第四页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示三.组成元素对象--Object生命线--Lifeline消息--Message控制焦点(激活)--Activation第五页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示1、对象参与者实例也是对象;顺序图中水平方向为对象维;一般参与者和对象按从左到右顺序排列在顺序图的顶部;第六页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示1、对象对象的命名方式有三种:显示对象名和类名只显示类名(匿名对象)只显示对象名(不关心类)第七页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示2、生命线表示对象存在的时间。如果对象生命期结束,则用注销符号表示。第八页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示3、控制焦点(激活期)对象执行某个动作的时期。第九页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示4、消息对象间交互信息的方式UML中5种消息:调用(同步消息)发送(异步消息)返回创建销毁第十页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(1)调用消息发送者把消息发送后,等待,直到接收者返回控制。可表示同步。第十一页,共八十七页,编辑于2023年,星期四图:同步消息第十二页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(2)发送消息消息发送后,发送者继续操作,不等待。常用于表示并发。第十三页,共八十七页,编辑于2023年,星期四图:异步消息第十四页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(3)返回消息表示消息的返回。一般同步的返回不需画出,直接隐含,而异步返回则可用它。第十五页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示自调用例:表示某对象调用自己的操作。UML标记ROSE标记第十六页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(4)创建通常利用构造方法来实现,对象一创建,生命线就开始了。图:创建消息示例第十七页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(5)销毁
生命终止符号用一个较大的叉形符号表示。图:销毁消息示例第十八页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示5、消息的格式UML中规定的消息语法格式如下:举例2:display(x,y)简单消息1.3.1:p:=find(specs)嵌套消息[x<0]4:invert(x,color)条件消息3.1*:update()循环消息第十九页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(1)消息编号顺序编号
——在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。第二十页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示图7-4将订单生成送货单第二十一页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示(2)消息编号嵌套编号
——把属于同一个对象发送和接收的消息放在同一层进行编号。第二十二页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的表示图7-5嵌套编号第二十三页,共八十七页,编辑于2023年,星期四Rose中的消息第二十四页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入顺序图中,对象的行为有循环和分支两种方式,为了表示这两种行为,引入了交互片段、区域和操作符的概念。第二十五页,共八十七页,编辑于2023年,星期四第二十六页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入每个交互片段都有一个操作符,操作符决定了交互片段的执行方式。1、表示分支的操作符alt:支持多条件opt:支持单条件第二十七页,共八十七页,编辑于2023年,星期四第二十八页,共八十七页,编辑于2023年,星期四第二十九页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-5顺序图中的分支表示(1)第三十页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-7顺序图中的分支表示(2)第三十一页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入2、表示循环的操作符:loop说明该片段将可以执行多次,而具体的次数由循环次数和监护条件表达式来说明。第三十二页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-7顺序图中的循环表示第三十三页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入3、break
用break定义一个含有监护条件的子片段。如果监护条件为“真”则执行子片段,而且不执行子片段后面的其他交互;如果监护条件为“假”,那么就按正常流程执行。第三十四页,共八十七页,编辑于2023年,星期四第三十五页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-10break操作符第三十六页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入4、assert、consider、ignore
assert是用来表示执行过程中,那个时刻的行为是唯一有效的。consider包含一个子片段和一个消息类型列表。只有列表中的消息类型可以出现在子片段中,其他类型可以出现在实际的系统中,但是交互会忽略它们。ingore也包含一个子片段和一个消息类型列表。列表中的消息类型可以出现在子片段中,但交互会忽略它们。它的含义与consider刚好相反。第三十七页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-9consider和assert操作符第三十八页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入5、critical
crtical表示子片段是“临界区域”,在临界区域中,生命线上的事件序列不能和其他区域中的任何其他事件交错。第三十九页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-11操作符crtical第四十页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入6、par
par是用来表示“并行”的,也就是用来表示两个或多个并发执行的子片段。第四十一页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入图7-12par操作符par第四十二页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入7、ref
ref用来在一个交互图中,引用其他的交互图。在一个矩形框的左上角标识ref操作符,并在方框中写明被引用的交互图名称。图7-13ref操作符第四十三页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图的深入顺序图中使用其它的技术:1、使用注释2、使用约束3、使用状态第四十四页,共八十七页,编辑于2023年,星期四第四十五页,共八十七页,编辑于2023年,星期四7.1顺序图——顺序图建模为每一个用例编写事件流,包括一个基本事件流和若干可选事件流或异常流;识别事件流中参与交互的对象;为每个事件流绘制顺序图,包括为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销;从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息;如果需要,可以画上交互片段、交互引用和约束等。第四十六页,共八十七页,编辑于2023年,星期四7.1顺序图——绘制顺序图
以饮料自动销售系统为例,对“买饮料”的3种场景进行建模,对每一个场景,我们绘制其对应的顺序图。下面是买到饮料的一般事件流:(1)顾客从机器的前端钱币口投入钱币,然后选择想要的饮料;(2)钱币到达钱币记录仪,记录仪更新自己的存储;(3)记录仪通知分配器分发饮料到机器前端;第四十七页,共八十七页,编辑于2023年,星期四7.1顺序图——绘制顺序图1、买到饮料的场景对应的顺序图,如图7-14所示。图7-14买到饮料的场景第四十八页,共八十七页,编辑于2023年,星期四7.1顺序图——绘制顺序图图7-15饮料已售完的场景2.饮料“已售完”的场景第四十九页,共八十七页,编辑于2023年,星期四7.1顺序图——绘制顺序图3.机器没有合适的零钱图7-16零钱“找不开”的场景第五十页,共八十七页,编辑于2023年,星期四练习一
例:为即时通信系统中的“用户登录”用例建立顺序图:第一步:确定事件流第二步:识别对象第三步:添加消息第五十一页,共八十七页,编辑于2023年,星期四练习一第一步:确定事件流“用户登录”用例的基本事件流:(1)打开登录对话框;(2)输入用户信息;(3)将用户信息发给服务器;(4)服务器访问数据库,验证账号合法性;(5)数据库返回账号合法信息以及用户的离线消息(如果有);(6)服务器更新在线用户列表;(7)客户端更新好友列表的状态信息,显示离线消息。第五十二页,共八十七页,编辑于2023年,星期四练习一第一步:确定事件流“用户登录”用例的异常事件流:用户输入的信息与数据库的信息不匹配,数据库验证不通过,弹出错误消息;第五十三页,共八十七页,编辑于2023年,星期四练习一第二步:识别对象(1)客户(client);(2)登录对话框(entryDialogue);(3)服务器(server);(4)数据库(database);(5)好友列表(friendList);第五十四页,共八十七页,编辑于2023年,星期四练习一第三步:添加消息第五十五页,共八十七页,编辑于2023年,星期四例:建模“成绩系统”的“浏览成绩(viewgrades)”用例,需要至少表示出3个要建模的工作流:教师成功的检查学生的分数;教师试图检查某个学生的分数,但是该学生在系统中不存在;教师试图检查某个学生的分数,但是该学生的分数在系统中不存在。练习二第五十六页,共八十七页,编辑于2023年,星期四第五十七页,共八十七页,编辑于2023年,星期四第五十八页,共八十七页,编辑于2023年,星期四第五十九页,共八十七页,编辑于2023年,星期四练习三1、用户打印文件,计算机向打印服务器发送打印命令,打印机如果空闲,则直接打印;否则把打印文件存储在打印队列中。2、管理员通过课程管理器打印课程UML的信息。第六十页,共八十七页,编辑于2023年,星期四第六十一页,共八十七页,编辑于2023年,星期四[a]第六十二页,共八十七页,编辑于2023年,星期四管理员通过课程管理器打印全部课程信息。第六十三页,共八十七页,编辑于2023年,星期四7.2通信图一、通信图的概念通信图也称协作图(collaborationdiagram);描述系统中对象(或活动者)如何共同协作实现用例;强调的是参与交互的对象的组织;一般,顺序图和协作图之间可相互转换;二、通信图的作用描述用例或用例中特定部分的行为。第六十四页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素对象(参与者实例、多对象、主动对象)消息链第六十五页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素1、对象(1)多对象多个对象的集合,往往是同类的对象。如果消息同时发送给多个对象,则用多重对象表示。在顺序图中仍然显示为同单对象一样的图标。第六十六页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素1、对象(2)主动对象(活动对象)一组属性和一组方法的封装体,其中至少有一个方法不需要接收消息就能主动执行(称作主动方法)。UML中Rose中第六十七页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素2、链用来连接对象,消息显示在链的旁边,一个链上可以有多个消息。在顺序图中不使用链,只有协作图中才使用链的概念。第六十八页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素3、消息通信图中的消息类型与顺序图中的相同。为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。顺序号是在消息的前面加一个整数。每个消息都必须有唯一的顺序号。编号方式:无层次编号和嵌套编号。第六十九页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素4、迭代标记在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式来表示,用来说明循环规则。表7-2常用迭代表达式迭代表达式语义[i:=1..n]迭代n次[I=1..10]I迭代10次[while(表达式)]表达式为true时才进行迭代[until(表达式)]迭代到表达识为true时,才停止迭代[foreach(对象集合)]在对象集合上迭代第七十页,共八十七页,编辑于2023年,星期四7.2通信图三、组成元素5、监护条件监护条件通常是用来表示分支在UML中,监护条件是以“[条件表达式]”的格式表示的。第七十一页,共八十七页,编辑于2023年,星期四如何读懂通信图第七十二页,共八十七页,编辑于2023年,星期四例:图7-18从订单生成订货单的通信图第七十三页,共八十七页,编辑于2023年,星期四图7-19通信图例:第七十四页,共八十七页,编辑于2023年,星期四图7-20注册课程例:第七十五页,共八十七页,编辑于2023年,星期四练习1第七十六页,共八十七页,编辑于2023年,星期四练习2第七十七页,共八十七页,编辑于2023年,星期四建立通信图的步骤确定交互过程的上下文。识别参与交互过程的对象。如果需要,为每个对象设置初始特性。确定对象之间的链,以及沿着链的消息。从引发这个交互过程的初始消息开始,将随后的每个消息附到相应的链上。如果需要表示消息的嵌套,则用Dewey十进制数表示法。如果需要说明时间约束,则在消息旁边加上约束说明。如果需要,可以为每个消息附上前置条件和后置条件。第七十八页,共八十七页,编辑于2023年,星期四7.3顺序图与通信图比较顺序图和协作图都属于交互图,都用于描述系统中对象之间的动态关系。二者在语义上是等价的,可以互换,但侧重点不同。(1)顺序图强调的是消息的时间顺序,而协作图强调的是参与交互的对象的组织。(2)顺序图中有对象生命线和控制焦点,协作图中没有;协作图中有路径,并且协作图中的消息必须有消息编号。第七十九页,共八十七页,编辑于2023年,星期四7.4绘制交互图绘制交互图的4个步骤:第一,找出交互对象及其关系(仅对于通信图而言);第二,确定对象之间交互的具体消息格式和流程,并用同步调用、异步消息、返回消息来表示;第三,并利用交互片段(顺序图)或迭代标志及监护条件来表示循环和分支结构;第四,通过一些构造型来完善整个交互图。第八十页,共八十七页,编辑于2023年,星期四7.4绘制交互图例:为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村委会入股合同协议书
- 退卡退费协议书
- 测量工临时用工协议书
- 租金返还协议书
- 资料丢失协议书
- 酒吧禁毒协议书
- 实验室安全合同协议书
- 租赁客户协议书
- 美发解约协议书
- 打印店股权分配协议书
- GA 1810-2022城镇燃气系统反恐怖防范要求
- 重庆地区现代方言中的古语词
- 3第三章申论写作 写作课件
- 广西建设工程质量检测和建筑材料试验收费项目及标准指导性意见(新)2023.10.11
- 商户撤场退铺验收单
- 国开电大 可编程控制器应用实训 形考任务5实训报告
- PEP英语四年级下册U5 My clothes Read and write(教学课件)
- DB37-T 2671-2019 教育机构能源消耗定额标准-(高清版)
- 信息系统项目管理师论文8篇
- (完整版)重大危险源清单及辨识表
- 试验室仪器设备检定校准证书和测试报告确认表(公司范本)
评论
0/150
提交评论