一、概念
交互图有顺序图和协作图两种形式。
时序图和协作图从不同角度表达了系统中的交互和系统行为,它们之间可以相互转化。 通信图(Communication Diagram)也称为协作图。 二、时序图<1>概念1>
顺序图(Sequence Diagram)=生命线(Lifeline)+消息(Message) 时序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各独立的对象。 顺序图的可视化图符: UML异步消息:建模软件使用实线箭头表示。 <2>生命线2>每个对象及参与者都有一条垂直的生命线(Lifeline),表示了在交互过程中的生命期限。 表示方式:用矩形框和虚线表示生命线,矩形框中添加生命线的名称,虚线表示生命长度。 生命线名称语法:生命线对象名[选择器]:类名ref decomposition (蓝色表示可选选项) 选择器:同一个类的对象可以有不同的状态值,可以再此中标明。 ref:是引用(Reference)的英文缩写 decomposition:指明在另一个更详细的顺序图中展示了当前交互的参与者如何处理它所接收到的信息的细节 <3>互动条3>活动条(Activation Bar)也称为执行发生(Execution Occurrence),用来表示对象的某个行为的执行状态。 表示方式:虚线上的小矩形条。 <4>消息4>1.消息简介对象的行为也称为消息(Message),通常当一个对象调用另一个对象中的行为时,即完成了一次消息传递。 2.表示方式在生命线间的带有实心箭头表示消息 3.消息命名信号或消息名(参数:参数类型):返回值 4.简单消息、同步消息、异步消息消息分为简单消息(Simple Message)、同步消息(Synchronous Message)和异步消息(Asynchronous Message)
表示方式如上《顺序图的可视化图符》图。 5.对象创建消息参与交互的对象不必再整个顺序图交互的完整周期中一直存在,可以根据需要,通过发送消息来创建和销毁他们。 表示方式有两种:
6.对象的销毁将构造型《destroy》放在消息的上方来表达对象销毁消息,同时在对象的生命线的结束部分画一个“×”来表示对象被销毁7.无触发对象和无接收对象的消息无触发对象消息(Found Message):用活动条开始断点上的实心球箭头来表示。(用在开始) 无接收对象消息(lost message):用箭头加实心球表示。(用在结束) 8.控制信息<1>条件控制信息1> 当表达式的条件为真的时候消息才会被发送 语法:[表达式]消息标签 <2>重复(迭代)控制信息2> 消息多次发送给接收对象,迭代条件是表达式,当表达式的判定值为真结束 语法:*[表达式]消息标签 9.消息的返回值表示方式:用虚线加开箭头的形式表示 <5>交互框5>UML2.0添加了交互框(Interaction Frame). 交互框指途中的一块区域(Region)或片段(Fragment),包含一个操作符(或称为标签),并包含一个警戒.
1.alt 上图理解:
2.loop 3.par 可以理解为saveUserData()和checkQualification()将并行运行。 <6>时序图建模技术6>
<7>注意事项7>对象不一定非得是类,还可以是参与者。 三、协作图1.概念协作图与时序图一样也是用来描述对象与对象之间消息连接关系的,侧重于说明哪些对象之间有消息传递。 协助图=交互的参与者+通信链+消息 通信图描述参与一个交互的对象的链接,它强调发送和接收对象之间的链接。 2.交互的参与者表示方式:用对象符号表示,在矩形框中放置交互的参与者,显示交互的参与者的名称和它所属的类 语法:参与者名:类名 注意:虽然整个系统中可能有其他的对象,但只有涉及协作的对象才会被表示出来。 协作图中可能出现的4类对象:
3.链接表示方式:用直线表示。
4.消息表示方式:依附于链接上的来由标记箭头和带顺序号的消息表达式表示。
1.控制消息表示方式:采用中括号表示。 当控制条件为真的时候消息才会被发送。 2.嵌套消息和自消息当一个消息导致了另一个消息被发送的时候(编号区分),第二个消息被称为嵌套在第一个消息里。 嵌套可以剁成嵌套。 3.循环与时序图中的循环类同。 表示方式:用“*”星号表示。 4.并发消息顾名思义,就是几个消息被同事发送,编号是前半部分可以一样,后面采用字母表示。 5.小细节编号与后半部分用冒号隔开。 ********************************************************************************结束语******************************************************************************************** |
|