面向对象动态建模,用于建立行为的实体间行为交互的四种图,状态图(Stage Diagram),时序图(Sequence Diagram),活动图(Activity Diagram)前面的博客中,我们已经学习完,今天我们来一起学习一下协作图(Sequence Diagram)。协作图和我们前面学习过的时序图都是一种交互图,协作图强调的是收发消息的对象的组织结构。
在系统体系结构的语境中,协作既包括静态方面也包括动态方面的概念组块命名,协作为一个类、接口和其她元素组成的群体命名,他们共同工作,提供了比各个部分的总和更强的合作行为。接着,我们来看一下这一知识点的总体概览:
首先,我们需要明确的就是协作图的基本概念以及协作图有哪些作用:
了解了这些基础知识,有助于加强我们对协作图的理解,搞清楚协作图到底具有怎么样的本领,可以在UML这个大家族中利于不败之地,接下来我们来了解一下协作图的组成元素以及创建协作图的步骤:
通过前面的学习我们知道,序列图和协作图统称为交互图,其中,序列图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻将会发生的事件;协作图强调收发消息的对象的组织结构。那么当序列图与协作图不期而遇,会擦出怎样的火花:
接下来,我们需要做的,就是把这些理论知识运用到实践中去,接下来,我们就用协作图来描述一下就餐者,服务生和厨师他们之间的关系:
接着,以我们的机房收费系统为例,了解一下协作图在机房中是如何应用的,看看一般用户查询的序列图:
操作员信息维护的序列图:
管理员日结和周结的序列图:
协作图在我们的生活中,也有着广泛的应用,想一想巴黎圣母院,天安门,这两座建筑物展示出的特质都非言语所能形容,在很多方面,这两座剑祖屋在结构上都是简单的,但是意境深远,在她们身上,我们能够看到一致的对称美,仔细研究,发现许多细节,,她们每一部分本身就很美,而这些部分合起来产生的整体效果比各个部分更美而且功能更强。
从巴黎圣母院和天安门我们能感受到,质量好的建筑设计得很协调,同样的道理,我们的软件也是这样,一个质量好的软件密集型系统不仅功能合理,而且也应该体现设计的和谐与平衡,以使得她易于修改,所有结构良好的面向对象系统都充满了模式,一些元素以共同的方式一起工作,提供了比其所有组成部分的总和更强的合作行为。UML之旅,未完待续......