UML之协作图

来源:互联网 发布:阿里云域名交易 编辑:程序博客网 时间:2024/04/28 19:12

一、基础概念   

        协作图强调发送和接受消息的对象之间的结构组织的交互图,显示对象、对象之间的链接以及对象之间的消息,还可以显示当前模型中的简单类实例和类实体实例。

        协作图,它描述了系统中,对象间通过消息进行的交互,强调了对象在交互行为中承担的角色。下图就是一个典型的协作图。

        从订单生成订货单的协作图。


二、作用

        协作图常用来描述业务或软件系统中,每个对象在交互发生时承担的角色,即强调了交互发生时,每个对象承担的职责。

        使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择协作图建模。

         协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特定部分的行为。设计员使用协作图和顺序图确定并阐明对象的角色,这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类的职责和接口。

三、元素及标识

        UML中,表示一个协作图,主要是标识系统中的对象、对象间交互的消息、对象间的链。

        1.对象:

协作图与时序图中的对象的概念是一样,只不过在协作图中,无法表示对象的创建和撤销,所以对于对象在图中的位置没有限制。

         2.链:

       表示对象之间的语义关系,链是关联的一个实例。协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个对象的实线。

        3.消息

        协作图中的消息类型与时序图中的相同,只不过为了说明交互过程中消息的时间顺序,需要给消息添加顺序号。顺序号是在消息的前面加一个整数。每个消息都必须有唯一的顺序号。

        4.消息编号:

        消息的编号有两种,一种是无层次编号(按顺序编号),它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系.

        5.迭代标记和监护条件

       (1)迭代标记

              迭代标记用*号表示,表示循环,通常还有迭代表达式,用来说明循环规则。

              迭代是通过在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式来表示。对于迭代表达式,UML没有强制规定什么语法,因此可以使用任何可读的、有意义的表达式来表示。常用的迭代表达式如表所示。

迭代表达式

语义

i:=1..n

迭代n

[I=1..10]

I迭代10

[while(表达式)]

表达式为true时才进行迭代

[until(表达式)]

迭代到表达式为true时,才停止迭代

for each(对象集合)

在对象集合上迭代

 

         (2)监护条件

                监护条件通常是用来表示分支的,也就是表示“如果条件为true,才发送消息”的语义,在UML中,监护条件是以“【条件表达式】”的格式表示的。现在来看一下它在交互图中的应用。

                例如,在图中,消息“1.3:create(prddleryid)”的前面就添加了一个监护条件【peddeleryidnotexist】,它说明只有当peddeleryid不存在时才调用create方法来创建新的送货单。如果已经存在,那就不必创建,直接调用1.4方法,将订单项中的产品添加到相应的送货单即可。



相关阅读:

UML(5)——协作图

UML图之六——协作图

0 0
原创粉丝点击