UML交互图学习教案_第1页
UML交互图学习教案_第2页
UML交互图学习教案_第3页
UML交互图学习教案_第4页
UML交互图学习教案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1UML交互交互(jioh)图图第一页,共46页。第1页/共45页第二页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明(shumng)定时图定时图本章小结本章小结第2页/共45页第三页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用交互图应用(yngyng)说明说明定时图定时图本章小结本章小结第3页/共45页第四页,共46页。一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示一次交互就是指在特定语境中,为了实现某一个目标,而

2、在一组对象之间进行交换的一组消息所表示(biosh)的行为的行为 第4页/共45页第五页,共46页。顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹 通信图:中的通信图实际上就是通信图:中的通信图实际上就是UML 1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹 定时图:采用了

3、一种带数字刻度的时间轴来精确定时图:采用了一种带数字刻度的时间轴来精确(jngqu)地描述消息的顺序地描述消息的顺序交互概述图:是交互图和活动图的混合物交互概述图:是交互图和活动图的混合物 第5页/共45页第六页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章本章(bn zhn)小结小结第6页/共45页第七页,共46页。第7页/共45页第八页,共46页。对象与角色:最顶上一排矩形框。在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代对象与角色:最顶上一排矩形框。在

4、交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。作为具体的事物,一个对象代表现实世界中的某个东西。例如,表现实世界中的某个东西。例如,aOrder作为类作为类Order的一个实例,可以代表一个的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事特定的订单;而如果作为一个原型化的事件,则件,则aOrder可以代表类可以代表类Order的任何一的任何一个实例。个实例。生命线与控制焦点:每个对象都有自己的生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条生命线,对象生命线是一条(y tio)垂直的虚线,垂直的虚线,用来表示一个对象在一段时间内存在。用来表示一个对象

5、在一段时间内存在。第8页/共45页第九页,共46页。10第9页/共45页第十页,共46页。DeleteCustomer()NewCustomer(Data)Customer(Data):CustomerWindow:Customer第10页/共45页第十一页,共46页。消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动作是一个通过对计算过程的抽象而得到的可执行语句消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动作是一个通过对计算过程的抽象而得到的可执行语句(yj)。消息分为五种:调用、返回

6、、发送、创建和销毁消息分为五种:调用、返回、发送、创建和销毁调用:表示调用某个对象一个操作调用:表示调用某个对象一个操作 第11页/共45页第十二页,共46页。1312嵌套编号嵌套编号(bin ho)第12页/共45页第十三页,共46页。14顺序顺序(shnx)编号编号第13页/共45页第十四页,共46页。第14页/共45页第十五页,共46页。循环循环(xnhun)与分支与分支第15页/共45页第十六页,共46页。循环循环(xnhun)与分支与分支的循环的循环(xnhun)和分支表示法和分支表示法第16页/共45页第十七页,共46页。在在dispatchForm(分发窗体)中,对于某个已支付的

7、(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个进行分发时,就会调用该订单(一个Order类的实例对象类的实例对象aOrder)的)的dispatch()方法方法dispatch()方法将逐个方法将逐个(zhg)调用该调用该Order对应的所有对应的所有OrderItem对象的对象的getPeddleryId()方法还获取供应商方法还获取供应商ID(PeddleryId),而),而OrderItem对象则是通过其所对应的对象则是通过其所对应的Product对象来的对象来的getPeddleryId()方法来获取供应商方法来获取供应商ID第17页/共45页第十八页,共4

8、6页。当当Order的实例对象的实例对象(duxing)aOrder得到返回的得到返回的PeddleryId后,根据该值判断是否已经有相对应的后,根据该值判断是否已经有相对应的DeliverOrder对象对象(duxing),如果没有就创建它(调用,如果没有就创建它(调用create(PeddleryId)),然后再将对应的),然后再将对应的Product添加到这个添加到这个DeliverOrder对象对象(duxing)中。否则就直接添加到相应的中。否则就直接添加到相应的DeliverOrder对象对象(duxing)中中第18页/共45页第十九页,共46页。交互片断交互片断(pindun)

9、操作符操作符assert是用来表示内容所描述的行为是执行过程中那个时刻唯一的有效行为。如果执行到这个片断是用来表示内容所描述的行为是执行过程中那个时刻唯一的有效行为。如果执行到这个片断(pindun)的前面,则说明的前面,则说明该片断该片断(pindun)就一定会发生。就一定会发生。它通常和它通常和ignore或或consider一起使用,以一起使用,以断言某种特定种类的断言某种特定种类的消息行为消息行为 第19页/共45页第二十页,共46页。交互片断操作符交互片断操作符break和循环语句的和循环语句的break有点类似,通常有点类似,通常break用来定义一个含有监护条件的子片断。如果监护

10、条件为用来定义一个含有监护条件的子片断。如果监护条件为“真真”则执行子则执行子片断,而且不执行包含片断,而且不执行包含子片断的图中其它交互子片断的图中其它交互将不会将不会(b hu)执行;如果监护执行;如果监护条件为条件为“假假”,那么执行,那么执行将正常地继续进行将正常地继续进行 第20页/共45页第二十一页,共46页。表示该子片断是表示该子片断是“临界区域临界区域”,在临界区域中生命线上的事件序列不能够和其它区域中的任何其他,在临界区域中生命线上的事件序列不能够和其它区域中的任何其他(qt)事件交错。通常用来表示一个原子性的连续操作,例如事务性操作事件交错。通常用来表示一个原子性的连续操作

11、,例如事务性操作 第21页/共45页第二十二页,共46页。用来表示用来表示“并行并行”的,也就是用来表示两个或多个并发执行的子片断,并行子片断中单个元素的执行次序可以以任何可能的顺序的,也就是用来表示两个或多个并发执行的子片断,并行子片断中单个元素的执行次序可以以任何可能的顺序(shnx)相互操作相互操作 par第22页/共45页第二十三页,共46页。在一个交互图中,我们可以在一个交互图中,我们可以(ky)引用其它的交互图,其表示的方法是用一个矩形,加上引用其它的交互图,其表示的方法是用一个矩形,加上ref操作符,并写明引用的交互图名称即可操作符,并写明引用的交互图名称即可 图表示法图表示法类

12、图class对象图object包图package用例图use case顺序图sd通信图comm定时图timing活动图activity交互概观图intover状态机图statemachine构件图component部署图deployment第23页/共45页第二十四页,共46页。第24页/共45页第二十五页,共46页。链:连接器,是用来表示对象之间的语义连接,一般而言,链是关联的一个实例(包括链:连接器,是用来表示对象之间的语义连接,一般而言,链是关联的一个实例(包括(boku)association、self、global、local等)。不过在等)。不过在UML 2中已经开始弱化它们的使用

13、,因此除非必要,无需过多地考虑它们中已经开始弱化它们的使用,因此除非必要,无需过多地考虑它们消息编号:消息的编号有两种,一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系消息编号:消息的编号有两种,一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系迭代标记:用迭代标记:用*号表示,表示循环,通常还有迭代表达式,用来说明循环规则号表示,表示循环,通常还有迭代表达式,用来说明循环规则第25页/共45页第二十六页,共46页。监护条件:通常是用来表示分支的,也就是表示监护条件:通常是用来表示分支的,也就是表示“如果条件为如果条件为true,才发送消息

14、,才发送消息” 在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则会影响在通信图中使用监护条件一定要有所限制,通常应只列出主要的监护条件,否则会影响(yngxing)其阅读。如果需要,尽可能还是通过顺序图来表示其阅读。如果需要,尽可能还是通过顺序图来表示 第26页/共45页第二十七页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章本章(bn zhn)小结小结第27页/共45页第二十八页,共46页。首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。不过由于它们在语义上是等价的,因此可

15、以绘制出一种,再通过建模工具来自动转换成另一种图首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。不过由于它们在语义上是等价的,因此可以绘制出一种,再通过建模工具来自动转换成另一种图 分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制 先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步(t

16、ngb)调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构第28页/共45页第二十九页,共46页。Robustness分析不是分析不是(b shi)UML模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具在在Robustness分析中,将应用边界类、控制类和实体类分析中,将应用边界类、控制类和实体类从一个用例中抽取三类对象的方法:从一个用例中抽取三类对象的方法:

17、 第29页/共45页第三十页,共46页。第30页/共45页第三十一页,共46页。图书管理员向系统发出图书管理员向系统发出“新增书籍信息新增书籍信息”请求请求主窗口、主窗口、“新增书籍信息新增书籍信息”按钮按钮系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类书籍类别列表框。书籍类别列表框。图书管理员做出选择图书管理员做出选择后,显示相应界面,后,显示相应界面,让图书管理员输入信让图书管理员输入信息,并自动根据书号息,并自动根据书号规则生成书号规则生成书号“新书信息录入新书信息录入(l r)”窗口窗口及辅助的及辅助的“提交提交”按

18、钮按钮第31页/共45页第三十二页,共46页。根据事件流中的步骤根据事件流中的步骤5,以及扩展路径的描述,就可以在原图上增加相应的控制对象,以及扩展路径的描述,就可以在原图上增加相应的控制对象(duxing),得到更进一步的,得到更进一步的Robustness分析图分析图 第32页/共45页第三十三页,共46页。新添两个逻辑新添两个逻辑(lu j):一是基本事件流中的步骤:一是基本事件流中的步骤2、3要求根据用户选择的类别,自动获得书号;二是当书名重复性检查没有通过(有重名),则应返回要求其重输要求根据用户选择的类别,自动获得书号;二是当书名重复性检查没有通过(有重名),则应返回要求其重输 第

19、33页/共45页第三十四页,共46页。第34页/共45页第三十五页,共46页。第35页/共45页第三十六页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明(shumng)定时图定时图本章小结本章小结第36页/共45页第三十七页,共46页。第37页/共45页第三十八页,共46页。工作方法工作方法(fngf):针对用例图中的每个用例,并结合领域模型中的类,寻找分析类,并通过:针对用例图中的每个用例,并结合领域模型中的类,寻找分析类,并通过Robustness分析来理清业务逻辑流程,再用交互模型将其确定下来分析来理清业务逻辑流程

20、,再用交互模型将其确定下来 注意:主要关注于区分出边界对象、实体对象和控制对象,暂时不要考虑其具体的实现类注意:主要关注于区分出边界对象、实体对象和控制对象,暂时不要考虑其具体的实现类 说明:对于较复杂的用例,可以按上述的流程逐渐地进行分析、设计、实施;但对于比较简单的用例而言,也是可以直接从用例描述中导出设计阶段交互模型说明:对于较复杂的用例,可以按上述的流程逐渐地进行分析、设计、实施;但对于比较简单的用例而言,也是可以直接从用例描述中导出设计阶段交互模型 第38页/共45页第三十九页,共46页。引入基础类:包括基础框架、程序库等引入基础类:包括基础框架、程序库等质量评审:质量评审:- 低耦

21、合:耦合性是指两个类之间的连接强度低耦合:耦合性是指两个类之间的连接强度- 高内聚:内聚性是指一个类的属性与方法高度集成高内聚:内聚性是指一个类的属性与方法高度集成- 效率:解决方案的执行效率是否满足系统的需求效率:解决方案的执行效率是否满足系统的需求- 完整性:是指在任何完整性:是指在任何(rnh)环境下都可以重复使用环境下都可以重复使用- 简单性:类越简单,出错的可能性越小,系统的灵活简单性:类越简单,出错的可能性越小,系统的灵活 性和可维护性也越好性和可维护性也越好 优化类设计:设计模式与重构优化类设计:设计模式与重构第39页/共45页第四十页,共46页。在分析模型的基础上引入基础类、优

22、化类设计之后,必然会获得新的类模型(设计模型),因此就可能需要基于新引入的在分析模型的基础上引入基础类、优化类设计之后,必然会获得新的类模型(设计模型),因此就可能需要基于新引入的“设计类设计类”来更新交互模型,以获得与实际代码来更新交互模型,以获得与实际代码(di m)相吻合的模型相吻合的模型给出一个能表达其目的的名称;通过修改元素的布局,尽量避免交叉线的存在;可以通过注解和颜色作为可视化提示,以突出图形中的重要特性;尽量少用分支,对于分支很多的场景,可以考虑用活动图来补充给出一个能表达其目的的名称;通过修改元素的布局,尽量避免交叉线的存在;可以通过注解和颜色作为可视化提示,以突出图形中的重

23、要特性;尽量少用分支,对于分支很多的场景,可以考虑用活动图来补充 第40页/共45页第四十一页,共46页。交互与交互图交互与交互图如何阅读交互图如何阅读交互图如何绘制交互图如何绘制交互图交互图应用说明交互图应用说明定时图定时图本章本章(bn zhn)小结小结第41页/共45页第四十二页,共46页。坐标轴交换了位置,改为坐标轴交换了位置,改为(i wi)从左到右来表示时间的推移从左到右来表示时间的推移用生命线的用生命线的“凹下凸起凹下凸起”来表示状态的变化,每个水平位置代表一种不同的状态,状态的顺序可以有意义、也可以没有意义来表示状态的变化,每个水平位置代表一种不同的状态,状态的顺序可以有意义、也可以没有意义生命线可以跟在一根生命线可以跟在一根线后面,在这根线上线后面,在这根线上显示些不同的状态值显示些不同的状态值可显示一个度量时间可显示一个

温馨提示

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

评论

0/150

提交评论