UML面向对象系统分析和设计
1. 概述(交互图) 交互图是用来表达系统的各个对象之间如何交互,如何完成某个行为的动态模型工具。主要用于对用例图中的控制流进行建模。一般要求每个用例使用一个交互图进行描述,从而有效观察和理解系统内部的协助关系和行为过程,交互图包括序列图和协助图,序列图是按时间次序描述系统中各对象如何通过消息交互。 2.序列图(描述) 序列图描述了系统中各个对象之间传递消息的时间次序,用来表示用例的行为顺序,从而为对象类图中概况对象类的行为丶划分对象类的职责提供依据。序列图依赖于用例图,如果用例图是对用户需求的第一次抽象,那么,通过序列图,用户的需求就会变得更加具体,系统中各个对象的行为和角色也更加清晰,从而为构建对象类图打下基础。 序列图也称为时序图,它包括基本符号:对象,生命线,消息和激活。如下图示例: 3.序列图组成(具体描述) 1)对象 序列图中对象的符号和对象图中对象所有符号一样,都是矩形将对象名称包含起来并且对象名下有下划线,见上表 2)生命线 什么线是一条垂直的虚线,表示序列图中的对象在一段时间内的存在,每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从序列图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图以及图标下面的生命线。 3)消息 用于描述对象之间某种形式的通信,它可以激发某个操作,唤起信号或者导致目标的创建和撤销。序列图强调消息的时间顺序,协作图强调消息交换时对象之间的空间结构关系。消息使用箭头表示: 4)激活 序列图可以描述对象的激活和撤销。激活表示该对象被占用以完成某个任务,撤销表示对象处于空闲等待消息状态。矩形表示对象是激活的,称为激活期,对象完成任务后被撤销,撤销一般发生在一个消息离开对象生命线的时候。 4.同步消息和异步消息 同步消息代表一个消息从发送方传递给接收方,接收方对控制(接收消息)做出响应,然后执行所请求的操作,如果需要,可以把消息传给另一个对象,当操作完成,把消息返回原来的同步消息的发送方,原来的接收方也可以直接返回或发送信息给原来信息的发送方。 同步信息的接收方必须是一个被动对象,即它是一个需要通过消息的驱动才能执行动作的对象,同步消息用一条实习箭头线表示,一般一个同步消息必须有一个配对的返回消息。在序列图中返回消息可以省略。 异步消息代表一个非同步的信号请求,该信号异步要求一个操作。 异步消息可以做到: 1)常见一个新线程,此时的异步消息连接到一个激活期的顶部。 2)创建一个新对象。 3)与一个已经在运行的线程通信。 异步消息的接收方必须是一个主动对象,它不需要消息驱动就可以执行对象的动作。 5 协作图 协作图强调以消息传递为纽带的一组对象之间的组织结构,用于描述系统的行为是如何由系统的各对象合作完成的。 协作是一种静态结构,它是一个系统对实现某些服务所涉及的对象及其交互的投影,协作定义了对象之间空间结构的联系。 1)协作图的组成: 包括对象类角色,关联角色,消息三部分 协作图的建模步骤: 例: 相同的序列图为:
两者的不同点为:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201023163242539.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI1OTk3OQ==,size_16,color_FFFFFF,t_70#pic_center)
|