常用关系:

关联关系使用一条直线表示,比如  A与B关联

用于描述不同类的对象之间的结构关系,将多个类的实例联系在一起
是一种静态关系,基本与程序的运行没有关系
比如,部门与员工的关系,就是关联关系
关联关系一般不强调方向,表示互相“知道”对方,也就是存在引用
关联关系有多重性 比如一对一关联 一对多关联等 可以任意关联N对N关联
如果特别强调方向,就使用箭头,比如
那么表示A知道B但是B不知道A
也就是说,关联关系有两种图形
直线或者直线箭头
 
关联关系表示存在引用,比如员工类的定义中有“部门”属性字段
实现关系是带空心箭头的虚线表示的,比如A实现B,箭头指向父类、接口

实现可以狭隘的认为是一种实现类与父类、接口的关系(其实在UML中实现的含义远不止实现类这层含义)
泛化关系是带空心箭头的直线表示的,比如A继承

用于说明继承关系
泛化关系是从子类到父类的关系,箭头指向的是父类
聚合关系是带空心的菱形的直线表示的,比如 A聚合到B上,也就是B由A组成

聚合关系用于类图,表达整体由部分构成的语义,比如部门由许多人员组成
整体和部分不是强依赖的,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在
组合关系是带实心的菱形的直线表示的,比如A组合成B,或者说B由A构成

表达整体拥有部分的含义,组合关系是一种特殊的强依赖的聚合关系
如果整体不存在,那么部分也不存在了
比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了
依赖关系使用带箭头的虚线表示,比如  A依赖B

用于描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖

用例图:角色与功能的关系图,

UML 组成 1的更多相关文章

  1. UML课程复习重点

    第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...

  2. UML图中经常用到几种的关系图例

    学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...

  3. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

  4. UML类图(上):类、继承和实现

    面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...

  5. UML

    UML:1.继承关系用空心三角形+实线来表示2.实现接口用空心三角形+虚线来表示3.关联关系用实线箭头来表示4.依赖关系用虚线箭头来表示5.聚合关系用空心菱形+实线箭头来表示6.组合关系用实心菱形+实 ...

  6. UML类图与面向对象设计原则

    1. 引言     从大一开始学习编程,到如今也已经有两年了.从最初学习的Html,Js,JaveSe,再到JavaEE,Android,自己也能写一些玩具.学习过程中也无意识的了解了一些所谓的设计模 ...

  7. 浅谈UML的概念和模型之UML九种图

    1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...

  8. UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composit ...

  9. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  10. UML类图关系全面剖析

    UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...

随机推荐

  1. 史上最简单 OpenCV for C++ 在 Windows 和 Ubuntu 上编译安装使用教程

    准备工作 原材料 Ubuntu 系统(非必须,Windows 也可以,主要是 Ubuntu 适合编译) OpenCV 3.4.1 压缩包 OpenCV contrib 3.4.1 压缩包 MinGW( ...

  2. 图文并茂--微信小程序,获取用户地理位置信息,并调用腾讯地图API来获取用户具体位置

    今天开始搞这个东西,下面是详细的记录 先看一下效果啦 1.小程序代码先获取用户基础位置信息 js data: { myLocation: 'GET LOCATION', }, openMap() { ...

  3. Flutter2.X学习之路--调试页面布局好用的办法

    Flutter里有个很好用的东西,可以方便我们来进行页面组件的布局调试,话不多说,上代码 1.找到main.dart引入rendering.dart import 'package:flutter/r ...

  4. mysql 简单查询

    查询特定列SELECT ename,birthday FROM emp; 查询所有的select*from emp; 给列起别名select ename AS 姓名, salary AS 工资 FRO ...

  5. angular8实现前端携带cookie发送给后端+nodejs获取前端发送的cookie

    1.前端测试代码angular8 // 测试代码 testCookie() { const url = 'http://10.11.11.11:3000/test/cookie' const para ...

  6. Array.from的9大优美用途!!!看了不后悔哦~~~~

    纯手工打印调试~~~~ 九种用途~~~超赞的哦~~~~~ <!DOCTYPE html> <html lang="en"> <head> < ...

  7. 【原创】项目六 Load Of The Root

    实战流程 新创建文件夹,在这个文件夹里进行操作 nmap扫描下网段 根据nmap逐个排查,发现目标主机,但只有22端口 因此进一步扫描22端口的具体信息,没有扫出很有用的信息 发现靶场又提示一个用户, ...

  8. TCP通信的客户端代码实现-TCP通信的服务器端代码实现

    TCP通信的客户端代码实现 两端通信时步骤:1.服务端程序,需要事先启动,等待客户端的连接.⒉.客户端主动连接服务器端,连接成功才能通信.服务端不可以主动连接客户端.在Java中,提供了两个类用于实现 ...

  9. 第三方模块:requests模块和openpyxl模块

    1.第三方模块的下载应由 第三方模块:别人写的模块 一般情况下功能都特别强大 我们如果想使用第三方模块 第一次必须先下载后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1.pip工具 注意 ...

  10. windows环境下安装es和kibana

    1 ES安装 1.1 下载地址 https://www.elastic.co/cn/downloads/elasticsearch 1.2 版本选择 注意选择合适的版本,ES依赖于JDK,需要有对应的 ...