《顺序图和协作图.pptx》由会员分享,可在线阅读,更多相关《顺序图和协作图.pptx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.1 交互图概述交互图(interaction diagram)是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。通常用来描述一个用例的行为,显示该用例中所涉及的对象和这些对象之间的消息传递情况目的:帮助分析人员对照检查每个用例中所描述的用户需求交互图包括顺序图(sequence diagram)和协作图(collaboration diagram)两种形式顺序图着重描述对象按时间顺序的消息交换协作图着重描述系统成分如何协同工作第1页/共39页4.2 顺序图u顺序图描述对象之间的动态交互关系,着重体现对象间消息传递的时间顺序。展现了在一个特殊的用例场景中系
2、统外部参与者发起的事件、事件的顺序以及各个系统之间的交互事件等第2页/共39页u顺序图的基本元素u对象:对象、对象的生命线、激活的对象和对象的删除。u生命线u控制焦点u消息:调用消息、异步消息、返回消息。u条件、注释体和注释连接。第3页/共39页顺序图用二维表来表示交互,纵向是时间轴,横向是参与的角色以及它们交换的消息。角色的生命周期表现为生命线,一条垂直的线,在激活的时间段里是双线,在状态保持的时间里是虚线。消息表示为从一条生命线出发到另一条生命线的有向线,从上而下,表示消息的时间顺序。激活是过程的执行,包括它等待嵌套过程执行的时间。在顺序图中它用部分替换生命线的双道线表示。第4页/共39页
3、对象的命名方式:对象名:类名:类名对象名第5页/共39页生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间控制焦点是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作第6页/共39页4.3 顺序图中的消息消息是对象间的单向通信,从发送者到接受者的携带信息的控制流。消息可能带有值参。UML:调用消息、异步消息、返回消息Rose:阻止消息、超时消息第7页/共39页调用消息(procedure call)调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制调用消息的接收者必须是一个被动对象第8页/共39页异步消息(asynchronou
4、s)异步消息的发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制第9页/共39页返回消息(return)返回消息表示从过程调用返回,如果是从过程调用返回,则返回消息不用画出。对于非过程调用,如果有返回消息,必须明确表示出来第10页/共39页阻止消息和超时消息阻止消息是指消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息超时消息是指消息发送者发出消息给接收者并按指定时间等待,如果接收者在指定时间内无法接收消息,则发送者放弃这个消息第11页/共39页自调用(self call)UML标记ROSE标记第12页/共39页:Systement
5、erItem(UPC,quanlity)endSale()makePayment(amount)出纳员第13页/共39页CallerOperatorCallee时间轴时间轴callacknumbercallacktalktransfer顺序图生命线激活状态保持角色第14页/共39页激活的 对象带有生命线的对象Object:Class分支 生命线删除标志简单消息用于表示对象正执行某一动作,在对象的生命线之间发送消息的同时即激活对象。用于表示顺序图中参与交互的对象,每个对象的下方都带有生命线,用于表示该对象在某段时间内是存在的。生命线可以劈分成多条生命线,用于表示条件,接收分支消息。标于生命线或激
6、活上。表示已删除该对象或活动的执行。表示简单的控制流。用于描述控制如何在对象间进行传递,不考虑通信的细节。名 称描 述可视化图符u顺序图的可视化图符第15页/共39页注释连接注释体返回消息异步消息同步消息名 称可视化图符注释连接将注释体与要描述的实体相连。说明该注释体是对该实体所进行的描述。用于对UML实体进行文字描述。用于表示从同步消息激活的动作返回到调用者的消息。表示异步控制流。当调用者发出消息后不要等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息的返回;当处理消息的操作执行完毕,
7、调用者才可继续执行自己的操作。描 述第16页/共39页消息的格式格式:序号条件表达式返回值:=消息名(参数列表)例:2:display(x,y)简单消息1.3.1:p:find()带返回值的嵌套消息x0 4:invert(x,color)条件消息3.1*:update()循环消息A3,b4/c2:copy(a,b)线程同步第17页/共39页从Login use case开始我们如何登录进一个系统?1.输入用户名2.输入密码3.按回车键,或者点击那可以发送登陆请求的按钮4.如果用户名错或者密码错,系统将拒绝登录并保留原页面5.如果用户名和密码都正确,系统进入下一个正确页面第18页/共39页因此,
8、一个系统用户在这一use case处将处理三个对象,它们中的两个是 GUI。对象:登录页面(GUI)系统数据库下一页面(GUI)第19页/共39页第20页/共39页例:一次学生注册第21页/共39页4.4 建立顺序图的步骤确定交互过程的上下文识别参与交互过程的对象为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用控制焦点。如果需要说明时间约束,则在消息旁边加上约束说明如果需要,可以为每个消息附上前置条件和后置条件第22页
9、/共39页试用顺序图描述下列情形,当用户在自己的计算机上向网络打印机发出一个打印任务时,他的计算机便向打印机服务器发送一条打印命令,譬如print(file)。打印机服务器如果发现网络打印机处于空闲状态,则向打印机发送打印命令命令print(file);否则向打印队列发送一条保存命令store(file)。第23页/共39页第24页/共39页实例:存款第25页/共39页4.5 协作图协作图是用于描述系统的行为是如何由系统的成分协作实现的图,描述系统对象(或活动者)如何共同协作完成用例强调的是参与交互的对象的协作和组织顺序图和协作图可以相互转换协作图中包括的建模元素有对象、消息、链等第26页/共
10、39页多重对象多重对象:由多个对象组成的对象集合,用多个方框重叠表示,往往是同类的对象如果消息发送给多个对象,则用多重对象表示在顺序图中仍然显示单对象的图标第27页/共39页主动对象主动对象:一组属性和一组方法的封装体,其中至少有一个方法不需要接受消息就能主动执行,即主动对象可以在不接受外部消息的情况下自己开始一个控制流第28页/共39页 消息执行顺序的编号方案 协作图中最常用的消息执行顺序的编号方案有两种:u顺序法:用简单编号方案,从1开始,由小到大,顺序排列。u层次法:用小数点制编号方案,此时常常要求表示系统号、子系统号和模块号。UML使用了小数点方案。第29页/共39页2*:prepar
11、e()对象对象消息消息3:check()4:check=trueremove()7:check=truenew1:prepare():订单提交窗口:订单:交付货物电视栏目:订单项5:needsToRecorder()时序号时序号 回授回授:购进货物6:new电视库存:仓库货物第30页/共39页第31页/共39页对象的创建与销毁在协作图中表示创建和销毁一个对象采用标有版型create的创建消息和标有版型destroy的销毁消息第32页/共39页同步消息和异步消息协作图中的同步消息和异步消息含义与顺序图中的相同,表现形式也相同第33页/共39页多对象多对象用于表示访问全组对象的操作和信号,用两堆叠
12、一起的矩形框表示运行每一个对象的操作需要两个消息:一个是对多对象的重复调用,找出对每一个对象的链接,另一个是使用该链接发送对每一个对象的消息多对象的应用可以方便的体现面向对象的多态性原则多对象应用中的特殊情况:广播消息第34页/共39页广播消息:是把系统中的全部对象作为它的目标对象的消息。广播消息一般是异步消息,广播消息的发送者不等待返回消息。系统中的所有对象都会收到广播消息,但是并不是系统中的全部对象都对它做出响应第35页/共39页自调用与回调自调用是指一个对象调用自己回调:当一个对象发送一个异步消息调用另一个对象时,指定的事件类型发生或所要求的操作已完成时,消息接受对象立即发送一个异步消息给原调用者,通知所关注的事件已经出现或操作已完成,同时返回一些必要的参数和信息,激励原消息发送对象进行相应的后续动作,这就是回调机制第36页/共39页第37页/共39页4.7 顺序图和协作图的比较顺序图强调的是消息的时间顺序,协作图强调的是参与交互的对象的组织顺序图中有生命线和控制焦点,协作图中没有。协作图中有路径,消息必须带序号第38页/共39页感谢您的观看!第39页/共39页