UML 关系
1. 关联关系(association)
关联关系式是用一条直线表示的,如A—B。表示在一段时间内将多个类的实例连接在一起,关联关系描述了某个对象在一段时间内一直知道另一个对象的存在。在Rose中为了区分相互“知道”和单向“知道”的关系,定义了关联关系的另一个变体,既单向关联关系,用一条带箭头的直线来表示,例如A—>B,说A知道B中,但是B不知道A。
2. 依赖关系(dependency)
依赖关系是用一条带箭头的虚线表示的,例如A----->B(A依赖于B)。依赖关系用来描述一个对象的修改会导致另一个对象的修改这样的关系。与关联关系不同的是,依赖关系除了“知道”其他对象的存在,还会“使用”其他对象的属性或者方法。因此可以这么说,依赖关系是一种特殊的关联管理。
3. 扩展关系(extends)
扩转关系是用一条带箭头的虚线加版型<<extends>>来表示的,如
(A扩展出B),它用于在用例模型中说明向基本用例中的某个点插入扩展用例,一般来说,扩展用例是带有抽象性质的,它表示了用例场景中的某个支流,有特定的扩展点触发而被启动。扩展用例应该用在概念模型中,通过分析业务用例场景抽象出关键的可选核心业务而形成扩展用例。与包含关系不同的是,扩展表示的是“可选”,而不是“必需”,这意味着即使没有扩展用例,基本用例也是完整的。如果没有基本用例,扩展用例是不能单独存在的。
4. 包含关系(include)
包含关系是用一条带箭头的虚线加版型<<include>>来表示的,包含用例总是带有抽象性质的,基本用例可控制与包含用例的关系,并可依赖于执行包含用例所得的结果。但基本用例和包含用例都不能访问对方的属性。于扩展用例一样,包含用例也应当用在概念用例模型中,通过分析业务用例场景而抽象出关键的必选的核心业务而形成包含用例。与扩展用例不同的是,包含用例表示的是“必须”而不是“可选”。这意味着如果没有包含用例,基本用例是不完整的,同时如果没有基本用例,包含用例是不能单独存在的。
5. 实现关系(realize)
实现关系式一条带空心箭头的虚线表示的,基本用例描述了一个业务目标,但是该业务目标有多种可能的实现途径,每一种途径可以用用例实现来表示。
6. 泛化关系(generalization)
泛化关系是一条带空心箭头的实线表示的,
(A继承自B)。泛化关系可用于建模过程中的任意个阶段,说明两个对象之间的继承关系。
7. 聚合关系(aggregation)
聚合关系是用一条带空心菱形箭头的直线表示的,如
(A聚合到B上,或者B由A组成)。聚合关系用于类图,特别用于表示实体对象之间的关系,表达整体由部分构成的语义。与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在。
8. 组合关系(composition)
组合关系式是用一条带实心菱形箭头的直线表示的,如
(A组合成B,或者是B由A构成)。需要特别说明的是,在Rose中没有采用实心菱形箭头这一标准的UML图形,而是采用了带箭头的空心菱形。箭头表示指向组合的子对象,表示子对象属于母对象。组合关系是一种强依赖的特殊聚合关系,如果整体不存在了则部分也消亡。
UML 关系的更多相关文章
- 图例解析四大UML关系【转】
转自http://developer.51cto.com/art/201007/209644.htm 本文和大家重点讨论一下UML关系图,UML中有五类图,共有九种图形,UML类之间的UML关系图你是 ...
- UML关系
UML关系详解 1.关联关系(association) 连接模型元素及链接实例,用一条实线来表示 2.依赖关系(dependency) 表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示 ...
- UML关系图
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
- 设计模式奠基石——UML关系转化为代码
1.继承关系(泛化关系) [说明]:继承关系是子类(派生类)继承父类(基类),或者子接口继承父接口的关系.即子类对象"is a" 父类对象,比方鸟是动物. [UML图]: 图解:A ...
- 简单实用UML关系图解
一句话UML,再记不住就要DPP了: 关系 图解 代码 备注 1:继承关系(Generalization) 2:实现关系(Realization) 3:依赖关系(Dependency) ...
- UML关系(泛化,实现,依赖,关联(聚合,组合))
http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖. ...
- UML关系类图
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...
- UML关系总结
用例图: 1.扩展关系:如果已有一个用例,在这个用例的基础(该用例是完整的)上加入新的动作形成了另一个用例,即后者是通过继承前者的属性并加入新的内容而来的,则前者通常称为通用化用例,后者常为扩展用例. ...
- UML关系实现、泛化,依赖、组合
图片via<大话设计模式> UML一目了然
随机推荐
- 使用startActivityForResult方法(转)
功能: A.java 是主界面,B.java 是子功能模块,要从A启动B,B干完活之后把结果汇报给A 注意: 使用startActivityForResult方法 在配置文件就是不能指定Activi ...
- matlab练习程序(图像球面化)
十一没什么事干,接着看图像算法. 这个球面化算法最初是在ps上的球面化滤镜中看到的,感觉挺有意思,就研究了一下. 算法的详细推导可以在这篇博客中找到,我比较懒,只在纸上推了一遍,就不在博客上编辑了. ...
- html5 canvas 标签
<canvas id="board" width="500" height="400"></canvas> < ...
- CC2540开发板学习笔记(七)—— 睡眠唤醒
(一)中断唤醒 一.实验内容 通过中断唤醒在睡眠模式下的CC2540 二.实验原理 1.系统电源管理(工作方式) (1)全功能模式: 高频晶振(16M或者32M)和低频晶振(32.768K RCOSC ...
- Intent的七大属性
1.Action Action属性代表系统要执行的动作 系统提供如下常用的Action属性 *ACTION_MAIN:应用程序入口点 *ACTION_VIEW:显示指定数据 *ACTION_EDIT: ...
- Hark的数据结构与算法练习之计数排序
算法说明 计数排序属于线性排序,它的时间复杂度远远大于常用的比较排序.(计数是O(n),而比较排序不会超过O(nlog2nJ)). 其实计数排序大部分很好理解的,唯一理解起来很蛋疼的是为了保证算法稳定 ...
- ural 1283. Dwarf
1283. Dwarf Time limit: 1.0 secondMemory limit: 64 MB Venus dwarfs are rather unpleasant creatures: ...
- 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...
- Dijkstra堆优化与SPFA模板
Dijkstra+优先队列 #include<cstdio> #include<cctype> #include<queue> #include<cstrin ...
- Java Web网站应用中的单点登录
采用SSH架构加以说明:1. 建立一个登录管理类LoginManager2. 在LoginManager中定义一个集合,管理登录的用户.3. 在Spring中将LoginManager配置成单例 ...