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图之六——协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML之协作图
- UML图之协作图
- UML之协作图学习
- UML建模之协作图
- UML从零开始之协作图
- 【UML】-九种图之协作图
- uml 9种图之协作图
- UML之顺序图、协作图
- UML总结之时序图、协作图
- 浅谈线段树 Segment Tree
- DELMIA简介
- 使用ZXing的二维码扫描和生成问题记录
- 黑马程序员_JAVA 学习笔记25 WEB篇12
- 黑马程序员_JAVA 学习笔记26 WEB篇13
- UML之协作图
- USACO 1.2 Palindromic Squares (palsquare)
- activity与service通信学习
- RMAN-08137: WARNING: archived log not deleted
- 调试 bootrom_uncmp image 使用workbench OCD 英文
- JAVA HashMap详细介绍和示例
- adroid
- 编译fuse-dfs时“error: type argument ? extends T”错误
- 家政行业发展新趋势 从业人员工资超白领