交互图PPT课件_第1页
交互图PPT课件_第2页
交互图PPT课件_第3页
交互图PPT课件_第4页
交互图PPT课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 交互图 2 目录 6 2顺序图 6 3通信图 6 4时间图 6 1交互图的概念 3 交互图 交互图 interactiondiagram 是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档 交互图通常用于描述一个用例的行为 显示该用例中所涉及的对象及对象之间消息传递情况 交互图包括 顺序图 sequencediagram 描述对象按照时间顺序的消息交换 协作图 collaborationdiagram 描述系统成分如何协同工作 时间图是一种特殊的顺序图 即表示的交互具有很强的时间特性 交互概述图 是交互图和活动图的混合物 4 目录 6 2顺序图 6 3通信图 6 4时间图 6 1交互图的概念 5 用例图 类图 活动图 顺序图之间是什么关系 顺序图的作用 6 引言 赤壁之战的时序图 顺序图的作用 7 顺序图的作用 8 顺序图的作用 9 顺序图的作用 10 顺序图的作用 11 顺序图的作用 12 Publicclass刘备 publicvoid应战 顺序图的作用 13 Publicclass孔明 publicvoid拟定策略 publicvoid联合孙权 privatevoid借东风火攻 顺序图的作用 14 Publicclass关羽 Publicvoid防守荊州 Publicclass张飞 publicvoid防守荆州前线 顺序图的作用 15 Publicclass孙权 publicvoid领兵相助 顺序图的作用 16 活动图 从用户的角度描述用例 用例 时序图 从计算机的角度描述用例 对象间的交互 分析1 用例图 活动图 顺序图之间的关系 顺序图的作用 17 思考 消息是什么 与类是什么关系 18 顺序图的基本概念 顺序图顺序图也称为时序图 它描述了系统中 对象间通过消息进行的交互 它强调了消息在时间轴上的先后顺序 顺序图的作用顺序图常用来描述用例的实现 它表明了由哪些对象 通过消息相互协作来实现用例的功能 在顺序图中 标识了消息发生交互的先后顺序 19 顺序图表示 20 顺序图的表示 对象顺序图中对象的符号和对象图中对象所用的符号一样 将对象置于顺序图的顶部意味着在交互开始的时候对象就已经存在了如果对象的位置不在顶部 那么表示对象是在交互的过程中被创建的 21 对象的撤销如果要撤销一个对象 只要在其生命线终止点放置一个 X 符号即可 该点通常是对删除或取消消息的回应 顺序图的表示 22 对象的左右排列位置对象的左右顺序并不重要 但是为了图面的清晰整洁起见 通常应遵循以下两个原则 1 把交互频繁的对象尽可能地靠拢 2 把初始化整个交互活动的对象 有时是一个参与者 放置在最左边 顺序图的表示 23 生命线是一条垂直的虚线 表示顺序图中的对象在一段时间内的存在 每个对象的底部中心的位置都带有生命线 生命线是一个时间线 从顺序图的顶部一直延伸到底部 所用的时间取决于交互持续的时间 对象与生命线结合在一起称为对象的生命线 对象的生命线包含矩形的对象图标以及图标下面的生命线 顺序图的表示 24 顺序图的表示 激活表示该对象被占用以完成某个任务 去激活指的则是对象处于空闲状态 在等待消息 在UML中 为了表示对象是激活的 可以将该对象的生命线拓宽成为矩形 其中的矩形称为激活条或控制期 对象就是在激活条的顶部被激活的 对象在完成自己的工作后被去激活 激活条 25 顺序图的表示 消息定义的是对象之间某种形式的通信 它可以激发某个操作 唤起信号或导致目标对象的创建或撤销 消息可以用于在对象间传递参数 在UML中 消息使用箭头来表示 箭头的类型表示了消息的类型 26 顺序图的表示 UML1 4后定义的消息有 调用消息procedurecall异步消息asynchronous返回消息returnUML1 3前的消息还有 简单消息simpleRose扩充的消息阻止消息balking超时消息time out 27 同步消息 消息的发送者把控制传递给消息的接收者 等待接收者返回或放弃控制 调用消息必有一个与之配对的返回消息 但是可以不用画出 顺序图的表示 28 异步消息 消息的发送者把控制传递给消息的接收者 然后继续自己的工作 不等待接收者返回或放弃控制 UML1 4及以后 UML1 3及以前 简单消息 表示不区分同步或异步 29 返回消息 表示从过程调用返回 如果是过程消息返回 则不用画出 如果是非过程消息 则必须画出 30 阻止消息 消息的发送者传递消息给接收者 如果接收者无法立即接收 则发送者放弃该消息 超时消息 消息的发送者发出消息给接收者并按指定时间等待 若接收者无法在指定时间内接收 则发送者放弃该消息 31 Rose中的消息 简单消息 32 顺序图 消息编号 按消息产生的先后顺序 给消息编号 有两种编号方案 一种是顺序编号 另一种是嵌套编号 1 顺序编号 整个消息的传递过程就形成了一个完整的序列 因此通过在每个消息的前面加上一个用冒号隔开的顺序号 按照消息的先后顺序 从1开始对消息编号 来表示其顺序 将订单生成送货单 33 顺序图 2 嵌套编号 UML标准中定义了 嵌套编号方案 嵌套编号方案表示了方法间的包含关系 由于顺序图本身已经充分表现出消息执行的顺序 因此在UML模型中并没有要求对消息进行编号 只是要求在通信图中 对消息进行了编号 但在Rose等建模工具中 为了能够自动实现顺序图与通信图的转换 在顺序图中也默认采取 嵌套编号方案 如1 1 1 2 1 3 34 顺序图 表示循环和分支顺序图中 对象的行为有循环和分支两种方式 为了表示这两种行为 引入了交互片段 区域和操作符的概念 一个交互片段可以包含多个区域 每个区域拥有一个监护条件和一个复合语句 35 顺序图 每个交互片段都有一个操作符 操作符决定了交互片段的执行方式 alt和Opt可以表示分支的操作符有两个 支持多条件的alt和支持单条件的opt loop表示循环的操作符是loop 它说明该片段将可以执行多次 而具体的次数由循环次数和监护条件表达式来说明 36 顺序图 3 assert consider ignore操作符assert是用来表示行为是执行过程中那个时刻唯一的有效行为 如果执行到这个片段的前面 则说明该片段一定会发生 它通常和ignore或consider一起使用 以断言某种特定种类的信息行为 consider和assert操作符混用 操作符consder包含一个子片段和一个消息类型列表 只有列表中的消息类型可以出现在子片段中 这表示其他类型可以出现在实际的系统中 但是交互会忽略它们 图中所表示的意思是 他们只接受start或stop消息 consider start stop 而且在start消息之后必须是一个stop消息 assert操作符表示 而不能是其他消息 图中所表示的意思是 他们只接受start或stop消息 consider start stop 而且在start消息之后必须是一个stop消息 assert操作符表示 而不能是其他消息 37 顺序图 4 break操作符break和循环语句的berak有些类似 通常用break定义一个含有监护条件的子片段 如果监护条件为 真 则执行子片段 而且不执行子片段后面的其他交互 如果监护条件为 假 那么就按正常流程执行 在图中 当系统要用户登录时 如果单击 取消 按钮 那么就将取消登录 并且不再执行后续地交互 否则就将等待用户输入登录信息 系统对输入的信息进行相应地应答 38 顺序图 5 critical region 操作符crtical表示子片段是 临界区域 在临界区域中 生命线上的事件序列不能和其他区域中的任何其他事件交错 它通常用来表示一个原子性的连续操作 例如事务性操作 下图所示就是一个实际的例子 图中表示的含义是 从银行帐号 bankaccount 扣钱和往证券帐户 stockaccount 加钱的这两个动作要么全部成功完成 要么都不执行 39 顺序图 6 par操作符par是用来表示 并行 的 也就是用来表示两个或多个并发执行的子片段 并行子片段中 单个元素的执行次序可以以任何可能的顺序相互操作 除非采用critical禁止 7 refref用来在一个交互图中 引用其他的交互图 在一个矩形框的左上交标识ref操作符 并在方框中写明被引用的交互图名称 这样就可以将图中定义的顺序图login引入到新的交互图中 40 创建顺序图 确定需要建模的用例 确定用例的工作流确定各工作流所涉及的对象 并按从左到右顺序进行布置 添加消息和条件以便创建每一个工作流 41 例1 42 例2 假设学生 查询成绩 是教务系统中的一次交互 已经给出主要事件流描述如下 用户发出查询请求 显示在查询界面中 用户在查询界面中输入要查询的学号 通过学生数据库确认学号输入正确与否 对用户输入的学号进行验证 并返回结果到查询界面中 如果学生存在 用户输入要查询的课程名 通过成绩数据库确认课程名输入正确与否 如果课程名存在 将成绩查询结果 并显示在界面上 并将结果返回给用户 请用顺序图来描述以上交互行为 43 44 例3 以饮料自动销售系统为例 买饮料的正常场景 顾客从机器的前端钱币口投入钱币 然后选择想要的饮料 钱币到达钱币记录仪 记录仪更新自己的存储 记录仪通知分配器分发饮料到机器前端 45 2 饮料 已售完 的场景 买饮料的正常场景 顾客从机器的前端钱币口投入钱币 然后选择想要的饮料 钱币到达钱币记录仪 记录仪更新自己的存储 记录仪通知分配器分发饮料到机器前端 46 目录 6 2顺序图 6 3通信图 6 4时间图 6 1交互图的概念 47 通信图 通信图的概念通信图也称为协作图 它描述了系统中 对象间通过消息进行的交互 强调了对象在交互行为中承担的角色 通信图和顺序图之间的语义是等价的 只是它们的关注点有所不同而已 可以很容易的完成从顺序图到通信图的转换 从订单生成订货单的通信图 48 通信图 协作图 通信图的作用通信图常用来描述业务或软件系统中 每个对象在交互发生时承担的角色 即强调了交互发生时 每个对象承担的职责 使用通信图可以显示对象相互协作时充当的角色 如果需要强调时间和序列 最好选择顺序图建模 如果需要强调上下文相关 最好选择通信图建模 通信图用于显示对象之间如何进行交互 以实现特定用例或用例中特定部分的行为 设计员使用通信图和顺序图确定并阐明对象的角色 这些对象执行用例的特定事件流 这些图提供的信息主要用来确定类的职责和接口 49 通信图的元素 对象object 链link 消息message 通信图的组成元素包括对象 消息 链 连接器 消息表示了对象间的通信 对象通过链连接在一起 50 通信图的元素 1 对象通信图与顺序图中的对象的概念是一样 只不过在通信图中 无法表示对象的创建和撤销 所以对于对象在图中的位置没有限制 2 链表示对象之间的语义关系 链是关联的一个实例 通信图中链的符号和对象图中链所用的符号是一样的 即一条连接两个对象的实线 3 消息通信图中的消息类型与顺序图中的相同 只不过为了说明交互过程中消息的时间顺序 需要给消息添加顺序号 顺序号是在消息的前面加一个整数 每个消息都必须有唯一的顺序号 51 通信图的元素 表示一个通信图 主要是标识系统中的对象 对象间交互的消息 对象间的链 如图所示 是系统管理员添加书籍的协作图 52 阅读通信图 下图是图书管理员登录系统的协作图 协作图的阅读 1 由Librarian角色向Login发送UserLogin信息 要求登录系统 2 登录界面 Login 向Maintenance发送发送InputMaintenance的信息 做一些维护工作 3 登录界面 Login 向Query角色发送inputQuery消息 做一些查询工作 4 登录界面 Login向Operation发送inputOperation信息 进行一些输入操作 53 顺序图与通信图的相同点 规定责任二者均直观地规定了发送对象和接收对象的责任 支持消息二者均支持所有的消息类型 衡量工具二者均是衡量耦合性的工具 54 顺序图与通信图的不同点 通信图强调参与交互的对象的组织结构 顺序图强调消息的时间顺序 顺序图可以反映对象的创建 激活 撤消 通信图不能 通信图能反映动作路径 消息必须有顺序号 时间顺序必须从顺序号获得 顺序图则没有两种图的语义是等价的 可以从一种形式的图转换成另一种形式的图 而不丢失任何信息 55 目录 6 2顺序图 6 3通信图 6 4时间图 6 1交互图的概念 56 时间图 时间图是一种特殊的顺序图 在UML2 0中 引入了一种新的交互图来解决这类问题 即着重表示定时约束的 时间图 TimingDiagram 如果要表示的交互具有很强的时间特性 例如实时控制系统中 最好用定时图建模 时间图所包含的元素并不多 主要包括 生命线 状态 状态变迁 消息 时间刻度 57 时间图 下图是用时间图表示一个电子门禁系统的控制逻辑 该门禁系统包括门 物理的门 智能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论