解密UML九中关系
将UML中经常使用的九种关系分为了四组进行解释。
一、组合和聚合解说:
同样:均是指有部分组成总体。
不同:聚合是指能够独立存在的个体组成总体。(弱的拥有关系)
组合存在时间上的关系。总体和部分具有同样的生命周期。
且部分本就是总体的 一部分。
(强拥有关系)
比方:书架和书及书页之间关系。
书是书架的一部分。可是书能够离开书架单独存在。
这样的关系是组合
非常多的书页能够组成一本书。可是书是不能离开书页单独存在的。且书和书页是 同一时候存在的。这就是组合关系。
二、包括和扩展解说:
两者存在于用例图中。指的是用例之间的关系。
包括:是用来描写叙述将一个基用例中过于复杂的功能用例。来分解成多个新的用例。
且这些新的用例必不可少。
扩展:是将基用例中的相对独立且可选的用例与基用例之间的描写叙述。
如:机房收费系统中的:用户上机记录查看,包括了查询、查看、退出、导出 Excel表等功能。
若将上机记录查看作为一个用例那么这些功能均要在此用例中描 述。
过于复杂。
那么能够将这些功能分解成子用例。
由于查询、查看、退出,是被包括在上机记录查看必不可少的功能,这三个功能是无条件存在的。将上机记录查看描写叙述的更完整。
而导出为Excel表是在查询出现结果之后,对于上机记录查看这个功能。能不能导出Excel表都是一样的。
三、继承和泛化:
泛化事实上也是一种继承关系。
不同的是泛化关联箭头从子类指向父类的 与继承相反。
是泛化关系
四、关联和依赖的认识:
依赖是比关联弱的关系,关联事实上是一种较强的依赖关系。
依赖是指两个独立的系统之间的关系。一个系统负责构造还有一个系统实例。或依赖于还有一个系统服务时存在的。
比方:但机器负责生产零件时。机器构造的零件实体;打气筒为自行车提供打气服务也是一种依赖关系。
关联是仅仅特定的对象实例之间存在较长期的固定关系。
依赖是指两个对象之间存在短时间的关系。
如用人、自行车、打气筒三者之间的关系来描写叙述。
人和自行车是特定的配对,且在非常长的时间中人均能够骑自行车。
可是。自行车和打气筒之间不存在配对关系,你可能在路上用这个打气筒一次。实用另外各一次,且每次使用时间较短。
五、实现关系;
两个实体与接口之间的关系。
总的来说这几种关系的强弱是:泛华=实现>组合>聚合>关联>依赖
解密UML九中关系的更多相关文章
- UML图中经常用到几种的关系图例
学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...
- UML语言中五大视图和九种图形纵览
UML语言纵览 视图 UML语言中的视图大致分为如下5种: 1.用例视图.用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能. 2.逻辑视图.逻辑视图从系统的静态结构和动态行为角 ...
- UML中关系的分类及其概念——总结备忘
UML中关系分类: 依赖:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义. 关联:关联是类与类之间的联接,它使一个类知道另一类的属性和方法. 聚合:聚合 ...
- UML九种图 之 包图和对象图
前言 对象图和包图依然是对系统的静态的描写叙述.UML九种图加上包图,事实上是十幅图. 包图 1.构成 2.包中的元素 类.接口.用例.构件.其他包等.( ...
- 讨论UML概念和模型UML九种图。
文件夹: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图.在每一种视图中都包括一个或多种图. 本文我们重点解说UML每种图的细节问题: 1.用例图(use case d ...
- UML九种图汇总
UML视频读,该文件开始起草.我不知道如何下手啊!我想先UML九图和总结的关系,然后开始用它的文件. 首先在地图上. UML的九种图各自是:用例图.类图.对象图.状态图.活动图.协作图.序列图.组件图 ...
- UML九种图-包图、类图
UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...
- 【转】浅谈UML的概念和模型之UML九种图
原文地址:浅谈UML的概念和模型之UML九种图 目录: UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图.本文我们重点讲解UML每种图的 ...
- 浅谈UML——九种图(一)
前言 学UML将近两个星期了,对UML有了一定的了解,学过的没学过的都知道UML中最最最核心的部分要数那九个图了.浅谈UML九种图. 实例 1.用例图: 什么是用例?描绘一个系统外在可见的需求情况,是 ...
随机推荐
- Android Studio 打开弹出警告框
1.Android Studio打开后,自己的项目没有打开,就弹出了警告框,重启之后依然弹出警告框: 警告框内容:"Cannot load project: java.lang.Illega ...
- Nginx配置域名跳转实例
要求:浏览器地址栏输入qj.123.com之后,地址自动变成qj.abc.com 配置nginx跳转 server { listen 80; server_name qj.abc.com qj.123 ...
- Linux && vim 批量替换
Linux批量文件的字符串替换 sed -i "s/oldstring/newstring/g" `grep oldstring -rl path` vim多行替换::1,2s/s ...
- 打开的IE网页不是最大化的解决方法
方法一:先把所有的IE窗口关了;只打开一个IE窗口;最大化这个窗口;关了它;OK,以后的默认都是最大化的了 方法二:先关闭所有的IE浏览器窗口,用鼠标右键点击快速启动栏的IE浏览器图标,在出现的快捷菜 ...
- 解压版mysql安装--windows系统
1 解压到某个目录 2 配置配置文件 3 执行命令:安装目录/bin/mysqld --install mysql5.6 --defaults-file=指定配置文件位置 "安装目录/bin ...
- DWZ简介及其使用
来源:http://blog.csdn.net/t123012009065/article/details/8286826 DWZ简介: DWZ富客户端框架(jQuery RIA framewor ...
- 原生js实现的放大镜效果
这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html&g ...
- 《Linux内核分析》 week5作业-system call中断处理过程
一.使用gdb跟踪分析一个系统调用内核函数 1.在test.c文件中添加time函数与采用c语言内嵌汇编的time函数.具体实现请看下图. 2.然后在main函数中添加MenuConfig函数,进行注 ...
- Supervisor的一些基础使用
Supervisor是一个进程监控程序. 满足的需求是:我现在有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了 ...
- 3.4 C与汇编程序的相互调用
为了提高代码执行效率,内核源代码中有些地方直接使用了汇编语言编制.这就会涉及在两种语言编制的程序之间相互调用的问题. 函数调用包括从一块代码到另一块代码之间的双向数据传递和执行控制转移.数据传递通过函 ...