目录

1UML类图概念

2UML类图画法

3使用visio画uml类图

4使用idea查看UML类图(很方便)

5类的六大关系及画法

5.1依赖关系

5.2泛化关系(继承关系)

5.3 实现关系

5.4关联关系

5.5聚合关系

5.6组合关系


1UML类图概念

统一建模语言(Unified Modeling Language,UML)可以帮助我们表示软件的结构:不同的模块、类和对象如何相互交互,以及它们之间的关系是什么。是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的结果

UML图:通过不同的图形和符号,来描述软件模型以及各个元素之间的关系

UML图分类:

  • 用例图(use case)
  • 静态结构图:类图、对象图、包图、组件图、部署图
  • 动态行为图:交互图(时序图与协作图)、状态图、活动图

因为设计模式中一般使用的是UML类图,什么是UML类图:UML类图是描述类之间的关系

2UML类图画法

类属性或者操作的访问修改符的标注:

  • public用加号标注
  • private用减号标注
  • protected用#号标注

类简要画法

  • 第一格:类名称(如果是抽象类,名称标注为斜体字)
  • 第二格:类属性名称
  • 第三格:类操作名称(方法)

接口简要画法

  • 第一格:接口名称(名称前面要加入接口标注<>)
  • 第二格:操作名称

3使用visio画uml类图

本人使用的是visio2016版本

在新建环境联网搜索UML选择静态结构

左侧有很多功能的快捷方式

4使用idea查看UML类图(很方便)

选中想要查看类

右键

上方的工具选项可以查看类的关系,不在细说,自己试试就知道了

5类的六大关系及画法

5.1依赖关系

是一种使用关系,一个类的实现,需要另一个类的协助,逻辑上 use a表示在类中使用到了对方,依赖关系是一种最基本通用的关系

其他的五种关系都是依赖关系的特例

类实现关系的几种形式

  • 类中使用到了对方

  • 类的成员属性

  • 方法的接受的参数类型

  • 方法的返回值类型

  • 方法内部使用到了

画法符号:一条虚线表示依赖关系

5.2泛化关系(继承关系)

泛化关系就是继承关系,称为Is-A关系,当一个类表示多个类的共享特征时,这称为泛化

UML画法符号:一条实线+三角箭头,剪头要指向父类

5.3 实现关系

类实现接口

UML画法符号:一条虚线+三角箭头,箭头方向指向接口

5.4关联关系

关联关系体现的是业务逻辑上的关系

关联关系具有导航型,可以单向关联,也可以双向关联(代码层面的)

关联关系还具有多重性:一对一,一对多,多对多

组合和聚合是两种关联关系

单向关联UML画法符号: 一条实线加一个箭头

双向关联UML画法符号: 一条实线 (一条实线加两个箭头)

5.5聚合关系

聚合关系,是关联关系的一个特例,聚合是一种特殊类型的关联。如果将继承看作Is-A关系,则可以将聚合视为Has-A关系。

聚合用于描述以下情况中两个或多个类之间的关系:一个类在逻辑上包含另一个类,但所包含的类的实例又可以独立于第一个类在其上下文之外生存,或者可以被其他的类所引用,描述的是业务逻辑上整体和部分的关系 整体和部分如果可以分开 就构成聚合关系。例如,部门与教师间存在Has-A关系,每位教师必须属于部门,但如果部门不再存在,教师仍然可以处于活动状态

UML符号画法:一条实线加上空心菱形来表示聚合关系

例如,部门(Department)与教师(Teacher)间存在Has-A关系,每位教师必须属于部门,但如果部门不再存在,教师仍然可以处于活动状态

5.6组合关系

一个类是另一个类的组成部分就称两者间存在组合关系。与聚合的区别是当主类不存在时,依赖类就不存在。

UML符号画法:一条实线加上实心菱形来表示组合关系

例如,房子(House)由房间(Room)组成,但如果房子被销毁,房间就不再存在,

开发环境中没必要关注两者是聚合还是组合

001统一建模语言和UML类图画法相关推荐

  1. UML类图画法及类之间几种关系

    文章目录如下: 一.类图画法 二.类之间的几种关系:泛化(Generalization).实现(Realization).关联(Association)(又分一般关联.聚合(Aggregation). ...

  2. UML类图画法、举例说明、通俗易懂

    本文章和大家分享如何画UML类图,因为在计算机毕业设计.课程设计.文档报告中经常用到,所以还是有必要和大家共同来学习一下. 在UML类图中,常见的有以下几种关系: 1.泛化(Generalizatio ...

  3. Android UML类图介绍及画法

    转载于:http://uule.iteye.com/blog/2078935 继承.实现是三角型箭头,其他都为箭头 组合.聚合都有一个菱形端,且都为实线,其他都无菱形端 继承是实线,实现是虚线 关联是 ...

  4. 【UML】如何记忆UML类图的画法

    目录 1. 前言 2. 元素 2.1. 访问权限 3. 类之间的各种关系 3.1. 泛化 3.2 关联 3.3. 依赖 4. 另一篇参考的博文 1. 前言 UML类图形象反映系统类之间的关系,在正规的 ...

  5. 软件设计-UML类图详解说明

    一. UML类图思维导图 二. 详细分析和介绍 下面就从上面的思维导图开始,详细的介绍UML类图! 1. 什么是UML,概念是什么? UML(Unified Modeling Language)中文统 ...

  6. Java:封装的概念,UML类图,构造方法,this关键字,static关键字,方法重载,包package

                     oop三大特性:封装,继承,多态 oop一般指面向对象程序设计(一种计算机编程架构) 一.封装的概念:    将东西包在一起,然后以新的完整形式呈现出来       ...

  7. Eclipse——UML类图插件

    基本概念 UML:即统一建模语言(Unified Modeling Language),它是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法.UML ...

  8. UML类图中的各种箭头代表的含义(转自:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html)

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  9. JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)

    运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...

最新文章

  1. HDU 4609 3-idiots FFT
  2. linux编写arm执行文件夹,嵌入式ARM-Linux平台上的编译、配置和运行使用
  3. 用Python学分析 - 单因素方差分析
  4. python多进程编程实例_Python多进程编程multiprocessing代码实例
  5. Java12-day03【​​​​​​​(类名、抽象类名、接口名)作为形参和返回值、内部类、常用API(Math、System、toString()、Arrays)、冒泡】
  6. linux系列服务总结之四:SAMBA共享设置完整介绍
  7. 星形和雪花模型_数据仓库多维数据模型设计
  8. [C++] 构造函数 which is of non-class type
  9. static_cast与dynamic_cast类型转换
  10. VI3之vCenterServer配置的备份与还原
  11. Rickie的软件测试学习笔记-第四周
  12. SPSS基础数据操作之变量的计算及个案计数
  13. 用JS实现图片模糊到清晰预加载效果
  14. 何谓差模信号?何谓共模信号?
  15. Lipschitz 条件或者Lipschitz连续
  16. 详解Java操作符 instanceof
  17. 清华姚班陈丹琦等27位华人学者获奖,斯隆奖2022年获奖名单颁布
  18. CAPL 封装了的SeedKey解锁函数,高复用性
  19. 决策树(基础理论篇)
  20. 安卓微信名字彩色字体怎么设置? 微信名字特效设置教程

热门文章

  1. u盘乱码怎么做?这些正确做法你知道吗?
  2. python修改yaml文件内容_Python操作Yaml文件
  3. 配置内网IP/Linux-修改IP地址
  4. Windows7下SVN下载安装
  5. Word控件Spire.Doc 【打印】教程(3):如何在自定义纸张尺寸上打印 Word—C#/VB.NET
  6. linux【网络】DNS 解析时快时慢,我该怎么办?
  7. 命令行删除mysql服务
  8. 卷积神经网络的改进 —— 分组卷积、DW 与 PW
  9. 计算机游戏的发展趋势表,2018年电脑行业发展趋势分析 游戏本、轻薄便携本最受关注,商务本成新增长点【组图】...
  10. python—selenium —xpath定位方法详解