UML七交互交互图
1 引言
该例中,用户和系统的交互可以分为三个连续执行的动作
1、用户在位图区域内按下鼠标左键;
2、保持左键按下拖动鼠标;
3、释放鼠标左键。
这三个动作构成了系统参与者和系统的交互
每一动作都相当于向系统发2
{Association}
20
3. 交互图
在UML中使用交互图建模系统中的交互行为:
交互图描述了一系列的对象之间传递的消息
交互图分为两种:
顺序图 Sequence diagram
通信图communicationdiagram/协作图 collaboration diagram
它们在语义上是等价的
顺序图:强调消息的时间顺序
协作图:强调接收和发送消息的对象的结构组织
21
顺序图
顺序图的定义:
顺序图是交互图的一种,它强调的是消息发送在时间上的先后顺序。
顺序图的构成
参加交互的各角色(对象、参与者)在顺序图的顶端沿水平方向排列
角色之间传递的消息
用箭头表示,水平放置,按照消息发送的先后顺序沿垂直方向排列,很直观。
每个对象的底部中心都有一个垂直虚线,这条虚线被称为对象生命线(object lifeline)
对象生命线代表一个对象在某个时间段内的存在
如果在顺序图上某一对象收到了创建消息或销毁消息,则此对象的生存期始于它收到创建消息的时刻,终止于收到销毁消息的时刻。
22
顺序图
控制焦点
在UML里,由消息引发的动作的执行过程被描述为控制焦点
定义:
控制焦点代表一个对象直接地或通过一个子过程间接地执行一个动作的那段时间。
图形化表示:它由位于对象生命线上的一个窄长方形表示
控制焦点长方形的顶端代表动作的开始时刻
底端代表动作的结束时刻
控制焦点可以理解为是C语言中一对花括弧(“{}”)内的内容
23
顺序图
顺序图、对象生存线、控制焦点
24
顺序图
动作(Action)
当一个对象收到了消息后,此对象把消息当做执行某种动作的命令。
在UML里,一个动作(Action)被定义为
动作是执行一系列可执行的原子计算(atomic computation),并可导致系统状态的变化或返回某个值。
典型的例子:执行某个函数
在动作的执行过程中,会导致其它一系列的消息的顺序发送
典型的例子是:函数调用其它函数
25
顺序图中的结构化控制
顺序图中的结构化控制
可选执行 (标签: opt)
条件执行 (标签:alt)
并行执行 (标签:par)
循环(迭代)执行 (标签:loop)
26
顺序图
Ref (reference):
表示引用其他交互
27
SD 案例 (POS系统)用例描述和用例图
用例:处理销售
1、顾客携带所购商品来到POS机付款处进行购买交易
2、收银员开始一次新的销售交易
3、收银员输入商品ID
4、系统逐条记录出售的商品条目,并显示该商品的描述、价格和累计额。价格通过一组价格规则来计算
5、收银员重复步骤3~4,直到结束
6、系统显示总额
7、收银员告知顾客总额并提请付款。
8、顾客支付,系统处理支付。
。。。。
(此处仅有主事件流)
28
SD 案例 (POS系统)用例描述和用例图
(1) 基本资料管理(包括货品资料、客户资料、供应商资料、收支类型、其他库存变动类型等)
基本资料填写(或修改)→提交资料填写(或修改)
29
SD 案例:基本资料管理(以货品资料为例)顺序图
30
货品采购入库的顺序图
31
小结:顺序图的作用
,定义类图中具体某个类的操作
CASE的事件流
。。。
通信图/协作图
通讯图/协作图是交互图的另一种表现形式。
它在语义上和顺序图是等价的
通信图强调的是参加一个交互的各对象的组织。
通信图的构成:
对象
连接
在此连接上传递的消息
33
通信图/协作图
链接的表示
在协作图上,链接 用对象之间相连的直线来表示
链接可以有名字,它标在表示链接的直线上
如果有消息借助此链接关系传递,则把消息的图符沿直线方向绘制,消息的箭头指向接受消息的对象
由于仅从图符的绘制上无法在协作图上读出消息发送的顺序
所以,通常在消息上保留对应的顺序图的消息顺序号
34
协作图 (复杂一点 )
35
顺序图和协作图的区别
顺序图和协作图都来自UML的元模型中相同的信息,所以二者在语义上是等价的,可以相互转化。
协作图显示对象之间是如何被连接的
{local} {global}{parameter}
但顺序图没有
顺序图显示消息的返回、有对象生命线、控制焦点,而协作
UML七交互交互图 来自淘豆网m.daumloan.com转载请标明出处.