第五章 顺序图
目录
m1.交互的概念
m2.交互建模技术
m3.交互图概念
m4.顺序图
m5.顺序图分析
m6.示例
5.1交互的概念
m1.交互(interaction)
交互是一种行为,是由语境中的一组对象为达到某种目的而交换的一组消息构成。
m2.语境(context)
就是对建模元素进行约束或者提供环境的一个模型片段。是为了某种目的而关联在一起的一组视图,如执行一个操作或构成某种模式。
可以在语境中发现交互。
m3.
对象、角色、链、连接件
m修饰链的端点的约束
Ø关联(association)
Ø自身(self)
Ø全局(global)
Ø局部(local)
Ø参数(parameter)
m4.消息
是对传送信息的对象之间所进行的通信的规约,其中带有对将要发生的活动的期望。
在传送一个消息时,对消息的接收通常会产生一个动作。这个动作可能引发目标对象以及该对象可以访问其它对象的状态改变。
动作的种类:
Ø调用(call)
Ø返回(return)
Ø发送(send)
Ø创建(create)
Ø撤销(destroy)
m5.序列
当一个对象向另一个对象发送消息时,接收对象可能接着会向另一个对象发送消息,这个对象又可能发送消息给下一个不同对象,如此一直传递下去。这个消息流形成了一个序列。
过程式序列(procedural sequence)
单调序列(flat sequence)
m6.表示法
Ø顺序图:强调时间的顺序。
•对象或角色的生命期、创建与撤销都通过生命线的垂直延伸而显式地表示
Ø通信图:强调发送和接收消息的角色的组织。
•必须使用注解表示创建和撤销。
5.2 交互建模技术
m对控制流建模
使用交互最常见的目的是对整个系统的行为建模,是对系统的动态方面建模。策略如下:
Ø设置交互的语境
Ø设置交互的场所
Ø如想强调对象之间的结构组织,则需识别连接他们的链
Ø按照时间顺序,描述从对象传向对象的消息。
Ø用每个对象在每个时刻的状态和角色修饰对象
m绘制交互图的策略
Ø选择交互强调的重点
Ø独立子序列中的事件只能是偏序关系
Ø仅显示对于理解语境中交互较为重要的对象的特征
Ø仅显示对于理解语境中的交互较为重要的消息特征
5.3 交互图概念
m交互图(interaction diagram)显示一个交互,由一组对象和它们之间的关系构成,其中包括在对象之间传递的消息。
m交互图的内容包括:
Ø角色或对象
Ø通信或链
Ø消息
m交互图表示法
Ø使用生命线表示参与者
Ø消息表达式的基本语法
Return =message(parameter:parameterType):returnType
没有参数,也可省略()
如:initialize(code)
initialize
d = getProductDescription(id : ItemID) :ProductDescription
5.4 顺序图
m强调消息的时间顺序。显示的对象沿X轴排列,消息沿Y轴按顺序排列。
m特征
Ø顺序图有对象生命线
Ø顺序图有控制焦点(focus of control/执行规约execution specification)
m顺序图基本表示法
Ø生命线(lifeLine)
Ø消息(message)
Ø控制期和执行规格条
m表示应答或返回
Ø使用消息语法
returnVar = message(parameter)
Ø在活动条末端使用应答(或返回)消息线
m对象的创建和销毁
m结构化控制
Ø可选执行
Ø条件执行
Ø并行执行
Ø循环(迭代)执行
m嵌套活动图
m绘制SSD的动机
因为我们必须处理和响应这些事件(来自于鼠标、键盘、其他系统……)来设计软件。
软件系统要对以下三种事件进行响应:
Ø来自于参与者(人或计算机)的外部事件
Ø时间事件
Ø错误或异常(通常源于外部)
因此,需要准确地知道,什么是外部输入事件,即系统事件。这些事件是系统行为分析的重要部分
5.5 顺序图分析
mSSD和用例之间的关系
m系统事件和操作命名
Ø系统事件应该在抽象级别而非物理的输入设备级别来表达
Ø系统事件名称以动词开始
m交互图与类图的关系
5.6 示例
例1
例2
例3
小结
m交互图是动态建模技术之一,包括顺序图和通信图。
m顺序图向读者提供了控制流随时间推移的清晰的可视化轨迹,强调消息的时间顺序。