3 .1 概述 通过前面学到的知识,我们进一步比较3 种 UML 图, 如表3-1 所示。用例图和序列图( sequ ence diagram)都表示动态行为,只是前者表示系统外部对象(参与者)与系统这两大对象之间的互动,而后者则重在表示系统内部一群小对象之间的互动。 表 3-1 3 种 UML 图的比较 也就是说,序列图关联了类图与用例图两方面,表示了系统在与参与者互动执行某一个用例期间,系统内部的一群小对象的协作情况。因此,分析师可以使用双叉法,同步进行类图与用例图的分析,然后尽快通过序列图来整合、调整三方面的图,如图3-1 所示。 同类图的情况一样,序列图包含了一大堆元素,不过我们还是主张要聪明地选用合适的元素。所以,接下来的小节中,分析师可以先学习必学的元素,接着再来看如何应用BCE 模式(Bou ndary -Control-Entity Patterns),迅速绘制出整合领域概念(domain concept)和业务流程(bu siness process)两方面的序列图。 3 .2 .1 一群对象 序列图是一张栅栏状的图形,展现出一群对象(object)的一小段存活期间,如图3-2 所示。而对象之间的互动消息,横跨在生命线(lifeline)上,稍后我们会详细说明“消息”。 既然序列图用来表示执行期间系统内部一群对象之间的互动情况,因此在实际操作中,我们经常使用序列图来表示某一个用例的执行期间系统内部的运作情况。至于系统内部有哪些对象可用,理所当然地规范在类图中。请看图3 -3 ,分析师可以使用序列图来整合用例与类。 3 .2 .2 消息 一旦分析师让序列图对应到用例之后,序列图中的对象该做什么事情便可以参考用例描述中的流程步骤了。而到了序列图中,原先的用例中的流程步骤将拆解成对象之间的“消息”。换言之,对象之间通过互传消息来进行合作,就好像真实世界中一群人之间的互动。 序列图中的生命线在概念上并无太多重要价值,仅用来表示这一群对象是存在的。不过,在序列图上,有一条条的垂直虚线刚好方便消息横跨其上,从这一点来看,生命线确实有其存在的价值,如图3 -4 所示。 再者,位于线条上的长条矩形称为“执行说明(execution specification ) ”,用来代表对象收到消息之后,会负责做一小段事情。对象接收到消息之后,本来就会开始动作,所以如同生命线的情况一样,执行说明在概念上并无特殊价值。 但是,在序列图方面,执行说明可以显示在某一小段执行期间,对象可能发送消息给其他对象,或者发送消息给自己。...