第6章顺序图和协作图课件.ppt
《第6章顺序图和协作图课件.ppt》由会员分享,可在线阅读,更多相关《第6章顺序图和协作图课件.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、内容提要顺序图顺序图协作图协作图交互的概念一次交互就是指在特定语境中,为了实现一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换某一个目标,而在一组对象之间进行交换的一组消息所表示的行为的一组消息所表示的行为 如何创建交互图用例图仅仅描述了系统的功能,以及功能的执行用例图仅仅描述了系统的功能,以及功能的执行流程。它并没有从实现的层面来描述系统。流程。它并没有从实现的层面来描述系统。而要对用例进行实现描述,则需要描述相互影响而要对用例进行实现描述,则需要描述相互影响的对象的集合,这些对象用来支持用例所要求的的对象的集合,这些对象用来支持用例所要求的功能。功能。并且,给出系统
2、用例的实现描述,是并且,给出系统用例的实现描述,是从外部视图从外部视图转到内部结构的第一步转到内部结构的第一步。在在UML中,用例的实现用交互图来描述,它通过中,用例的实现用交互图来描述,它通过显示对象之间的关系和对象之间处理的消息来对显示对象之间的关系和对象之间处理的消息来对系统的动态特性建模。系统的动态特性建模。交互图包括序列图和协作图两种。交互图包括序列图和协作图两种。如何创建交互图交互图用来一步一步地描述用例地实现流交互图用来一步一步地描述用例地实现流程,包括流中需要什么对象,对象之间发程,包括流中需要什么对象,对象之间发送什么,什么角色启动流、消息按什么顺送什么,什么角色启动流、消息
3、按什么顺序发送等。序发送等。交互图通过从用例建模中得到的用例文档交互图通过从用例建模中得到的用例文档说明、词汇表和用例图来创建说明、词汇表和用例图来创建。顺序图概念概念n顺序图是强调消息时间顺序的交互图。顺序图是强调消息时间顺序的交互图。n顺序图描述了对象之间传送消息的时间顺序,顺序图描述了对象之间传送消息的时间顺序,用来表示用例中的行为顺序。用来表示用例中的行为顺序。n顺序图将交互关系表示为一个二维图。其中,顺序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各独立的对象。表了在协作中各独立的对象。 顺序图概念概
4、念顺序图顺序图包含了顺序图包含了4个元素:个元素:n对象(对象(Object)n生命线(生命线(Lifeline)n消息(消息(Message)n激活(激活(Activation) 顺序图对象(对象(Object)n顺序图中对象的符号和对象图中对象所用的符顺序图中对象的符号和对象图中对象所用的符号一样。号一样。n将对象置于顺序图的顶部意味着在交互开始的将对象置于顺序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建顶部,那么表示对象是在交互的过程中被创建的。的。 顺序图生命线(生命线(Lifelin
5、e)n生命线是一条垂直的虚线,表示顺序图中的对生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部中心象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。的位置都带有生命线。n生命线是一个时间线,从顺序图的顶部一直延生命线是一个时间线,从顺序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。伸到底部,所用的时间取决于交互持续的时间。n对象与生命线结合在一起称为对象的生命线,对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下对象的生命线包含矩形的对象图标以及图标下面的生命线。面的生命线。 顺序图消息(消息(Message)n消息
6、定义的是对象之间某种形式的通信,它可消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的以激发某个操作、唤起信号或导致目标对象的创建或撤销。创建或撤销。 n消息是两个对象之间的单路通信,从发送方到消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。接收方的控制信息流。n消息可以用于在对象间传递参数。消息可以用于在对象间传递参数。n消息可以是信号,也可以是调用。消息可以是信号,也可以是调用。n在在UML中,消息使用箭头来表示,箭头的类型中,消息使用箭头来表示,箭头的类型表示了消息的类型。表示了消息的类型。顺序图消息(消息(Message)顺序图激活(激活(Ac
7、tivation)n激活表示该对象被占用以完成某个任务,去激激活表示该对象被占用以完成某个任务,去激活指的则是对象处于空闲状态、在等待消息。活指的则是对象处于空闲状态、在等待消息。n在在UML中,为了表示对象是激活的,可以将该中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期激活条或控制期,对象就是在激活条的顶部被,对象就是在激活条的顶部被激活的,对象在完成自己的工作后被去激活。激活的,对象在完成自己的工作后被去激活。 顺序图对象的创建和撤销对象的创建和撤销n如果对象位于顺序图的顶部,说明在交互开始如果对象位于顺序图
8、的顶部,说明在交互开始之前该对象已经存在了。之前该对象已经存在了。如果对象是在交互的如果对象是在交互的过程中创建的,那么它应当位于图的中间部分过程中创建的,那么它应当位于图的中间部分。n对象在创建消息发生之后才能存在,对象的生对象在创建消息发生之后才能存在,对象的生命线也是在创建消息之后才存在的。命线也是在创建消息之后才存在的。n创建对象的两种表示方法:创建对象的两种表示方法:顺序图对象的创建和撤销对象的创建和撤销n如果要撤销一个对象,只要在其生命线终止点如果要撤销一个对象,只要在其生命线终止点放置一个放置一个“X”符号即可,该点通常是对删除或符号即可,该点通常是对删除或取消消息的回应。取消消
9、息的回应。 顺序图顺序图建模技术顺序图建模技术n确定需要建模的工作流确定需要建模的工作流n从左到右布置对象从左到右布置对象n添加消息和条件以便创建每一个工作流添加消息和条件以便创建每一个工作流n绘制总图以便连接各个分图绘制总图以便连接各个分图顺序图范例范例1teacheradministratorstudentRecord gradesSave gradesReport cardslogonUpdate gradesView gradesGenerateReport cardsload gradesincludeincludeincludeinclude顺序图范例范例1n确定将要建模的工作流确
10、定将要建模的工作流w教师成功地检查学生分数教师成功地检查学生分数w教师试图检查学生分数,但学生不在系统中教师试图检查学生分数,但学生不在系统中w教师试图检查学生分数,但该学生分数不在系教师试图检查学生分数,但该学生分数不在系统中统中顺序图范例范例1n布置对象布置对象Web interfaceteacherDatabase wrapperStu infoStu grades顺序图范例范例1n添加消息和条件添加消息和条件(流程流程1)Web interfaceteacherDatabase wrapperStu infoStu gradesReq stu infoGet stu dataLoad
11、stuReturn stu infoLoad gradesReturn gradesReturn stu infoDisp stu info顺序图范例范例1n添加消息和条件添加消息和条件(流程流程2)Web interfaceteacherDatabase wrapperStu infoStu gradesReq stu infoGet stu dataLoad stuStu not foundfailuremBoxDisp error顺序图范例范例1n添加消息和条件添加消息和条件(流程流程3)Web interfaceteacherDatabase wrapperStu infoStu gr
12、adesReq stu infoGet stu dataLoad stuReturn stu infofailuremBoxDisp errorLoad gradesNo grades found for stu顺序图范例范例2顺序图范例范例3n系统管理员添加书籍的顺序图系统管理员添加书籍的顺序图 : Item : Administrator : Maintenance Window : Title1: add item( )4: create(Integer, Title)Check if correspondingtitle exist2: find(String)3: return tr
13、ue顺序图范例范例3n图书管理员处理借书的顺序图图书管理员处理借书的顺序图(不包括预留书籍的情况)(不包括预留书籍的情况)顺序图范例范例3n系统管理员删除书目的顺序图系统管理员删除书目的顺序图顺序图范例范例3n借阅者预留书籍的顺序图借阅者预留书籍的顺序图theBorrower : BorrowerWeb ApplicationtheTitle : Title1: Login2: find(String)3: Return true4: reserve( )顺序图范例范例4n分析分析Select Course用例中的对象、角色之间用例中的对象、角色之间交互的消息。主要有以下交互:交互的消息。主要
14、有以下交互: (1)学生通过界面发送选课命令。学生通过界面发送选课命令。 (2)界面向控制对象请求课程信息。界面向控制对象请求课程信息。 (3)控制对象向数据库发送查询数据消息。控制对象向数据库发送查询数据消息。 (4)控制对象暂存数据库的查询结果。控制对象暂存数据库的查询结果。 (5)界面对象从控制对象中取得所有的课程信息。界面对象从控制对象中取得所有的课程信息。 (6)在界面上显示所有的课程信息。在界面上显示所有的课程信息。顺序图范例范例4n分析分析Select Course用例中的对象、角色之间用例中的对象、角色之间交互的消息。主要有以下交互:交互的消息。主要有以下交互: (7)界面对象
15、发送命令要求控制对象删除课程信息。界面对象发送命令要求控制对象删除课程信息。 (8)学生选择课程。学生选择课程。 (9)界面对象要求学生输入学号。界面对象要求学生输入学号。 (10)界面对象向控制对象发送信息,查询该生是界面对象向控制对象发送信息,查询该生是否可以选择选定的课程。否可以选择选定的课程。 (11)控制对象从数据库中查询关联信息。控制对象从数据库中查询关联信息。 (12)控制对象判断是否可以选课。控制对象判断是否可以选课。 (13)如果可以选课,则向数据库中添加关联信息。如果可以选课,则向数据库中添加关联信息。 (14)向界面对象返回信息。向界面对象返回信息。顺序图范例范例4协作图
16、概念概念n协作图描述的是和对象结构相关的信息。协作图描述的是和对象结构相关的信息。n协作图的用途是表示一个类操作的实现协作图的用途是表示一个类操作的实现。n协作图对交互中有意义的对象和对象之间的链协作图对交互中有意义的对象和对象之间的链建模。建模。n在在UML中,协作图用几何排列来表示交互作用中,协作图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明。的发生顺序用消息箭头处的编号来说明。 协作图概念概念协作图协作图包含了协作图包含了3个元素:个元素:n对象(对象(Object)n链(链(Link)n消息(
17、消息(Message) 协作图对象(对象(Object)n协作图与顺序图中的对象的概念是一样,只不协作图与顺序图中的对象的概念是一样,只不过在协作图中,无法表示对象的创建和撤销,过在协作图中,无法表示对象的创建和撤销,所以对于对象在图中的位置没有限制。所以对于对象在图中的位置没有限制。 协作图链(链(Link)n协作图中链的符号和对象图中链所用的符号是协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类角色的实线。一样的,即一条连接两个类角色的实线。 n为了说明一个对象如何与另一个对象连接,可为了说明一个对象如何与另一个对象连接,可以在链的末路上附上一个路径构造型。以在链的末路上附
18、上一个路径构造型。 协作图消息(消息(Message)n协作图中的消息类型与顺序图中的相同,只不协作图中的消息类型与顺序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。给消息添加顺序号。n顺序号是消息的一个数字前缀,是一个整数,顺序号是消息的一个数字前缀,是一个整数,由由1开始递增,每个消息都必须由唯一的顺序开始递增,每个消息都必须由唯一的顺序号。可以通过点表示法代表控制的嵌套关系。号。可以通过点表示法代表控制的嵌套关系。n嵌套可以具有任意深度。与顺序图相比,协作嵌套可以具有任意深度。与顺序图相比,协作图可以显示更为复杂的分支。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 和协 作图 课件
限制150内