编辑: 静看花开花落 2018-09-24
UML 指南 指南 指南 指南 顺序图 顺序图 顺序图 顺序图 Robert C.

Martin Engineering Notebook 98.04 翻译 杨健 在上一期的专栏里 我描述了 UML 的协作图 协作图允许设计者确定在一个协作中对象 间传递消息的顺序 这种图的风格相对于消息的顺序更注重对象间的关系 在这一期里 我们将讨论 UML 的顺序图 顺序图装载了和协作图同样的信息 但注重的 是消息的顺序 而不是对象间的关系 回顾蜂窝电话 回顾蜂窝电话 回顾蜂窝电话 回顾蜂窝电话 下面是上期的蜂窝电话例子的最终协作图 见图

1 数字:按钮 发送:按钮 :发送按钮适配器 :数字按钮适配器 :拨号器 :发声器 :蜂窝式无线电话 台 显示:CR显示 显示:拨号显示

1 按钮按下 1.1 数字 代码 1.1.1 显示数字 代码 1.1.2 发出声音

2 按钮按下 2.1 发送 2.1.1 连接 pno 2.1.1.1 占用 图1蜂窝电话的协作图 与这个模型相对应的顺序图显示在图

2 中图2的内容很好理解 尤其在我们将它和图

1 对照时 让我们跟踪这些特性 首先 现在有两个顺序图 第一个 捕获当数字键被按下时发生的一系列事件 第二个 捕获当用户按发送键呼叫时发生的事件 在每一个图的顶部我们看到表示对象的矩形 就象 在协作图中一样 对象名被加下划线以便和它们的类相区分 对象名也被一个冒号将其和类 名分开 一些对象 象拨号器 没有特别的对象名 因此冒号作为类名的前缀而没有对象名 在它前面 每个对象向下生出一条虚线 被称为 生命线 这些线定义了图的时间轴 按常规 时 间延向下方向流逝

1 生命线 描述了它们所联系的对象将存在多久 在图

2 中我们不能 看到 生命线 的整个长度 它们从图的最顶部延伸过图的最低部 这暗示了图中描述的对 象存在于图开始之前 也仍存在于图结束之后 生命线之间的箭头表示正在对象间传递的消息 顺序号 象上一期所显示的 是允许的但 并不需要 结束箭头的白色窄条被称为 激活 它们显示一个响应消息的 方法 的执行 期 这些 方法 暗含了 激活 结束后返回到调用者

2 在第一个顺序图中围绕消息组的大矩形定义了一个迭代 这迭代的循环条件被显示在矩形 的底部 数字:按钮 :数字按钮适配器 :拨号器 显示:拨号显示 :发声器 对每一个数字 按钮按下 数字 代码 显示数字 代码 发出声音 发送:按钮 :发送按钮适配器 :拨号器 :蜂窝式无线电话 台 显示:CR显示 发送 按钮按下 连接 pno 占用 图2蜂窝电话的顺序图 花些时间观察图

1 和图

2 你将会亲自证明它们表示了相同的信息 然而两者的形式是根 本不同的 顺序图占据了更多的空间 但更容易进行规则系统地跟随 协作图显示整个协作 在一个密集的图中 但规则系统有一定的模糊 使用哪一种图依赖于你想强调的信息 有时 候你想显示一个协作的 黏着性 又有时候你想显示规则系统的 流动性 对象的建立和删除 对象的建立和删除 对象的建立和删除 对象的建立和删除 图3显示了在顺序图中我们如何描述建立和删除一个对象 下面我们看一下 蜂窝式无线 电话台 对象建立一个 连接 对象在响应一个连接消息时 建立被一个终止于对象框的箭 头所标示 删除同样被一个终止与对象 生命线 的末端 X 处的箭头所标示

1 UML 也允许在图的边上提示 让时间向右延续 然而这是很少有的情况

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题