001统一建模语言和UML类图画法
目录
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类图画法相关推荐
- UML类图画法及类之间几种关系
文章目录如下: 一.类图画法 二.类之间的几种关系:泛化(Generalization).实现(Realization).关联(Association)(又分一般关联.聚合(Aggregation). ...
- UML类图画法、举例说明、通俗易懂
本文章和大家分享如何画UML类图,因为在计算机毕业设计.课程设计.文档报告中经常用到,所以还是有必要和大家共同来学习一下. 在UML类图中,常见的有以下几种关系: 1.泛化(Generalizatio ...
- Android UML类图介绍及画法
转载于:http://uule.iteye.com/blog/2078935 继承.实现是三角型箭头,其他都为箭头 组合.聚合都有一个菱形端,且都为实线,其他都无菱形端 继承是实线,实现是虚线 关联是 ...
- 【UML】如何记忆UML类图的画法
目录 1. 前言 2. 元素 2.1. 访问权限 3. 类之间的各种关系 3.1. 泛化 3.2 关联 3.3. 依赖 4. 另一篇参考的博文 1. 前言 UML类图形象反映系统类之间的关系,在正规的 ...
- 软件设计-UML类图详解说明
一. UML类图思维导图 二. 详细分析和介绍 下面就从上面的思维导图开始,详细的介绍UML类图! 1. 什么是UML,概念是什么? UML(Unified Modeling Language)中文统 ...
- Java:封装的概念,UML类图,构造方法,this关键字,static关键字,方法重载,包package
oop三大特性:封装,继承,多态 oop一般指面向对象程序设计(一种计算机编程架构) 一.封装的概念: 将东西包在一起,然后以新的完整形式呈现出来 ...
- Eclipse——UML类图插件
基本概念 UML:即统一建模语言(Unified Modeling Language),它是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法.UML ...
- UML类图中的各种箭头代表的含义(转自:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html)
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)
运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...
最新文章
- HDU 4609 3-idiots FFT
- linux编写arm执行文件夹,嵌入式ARM-Linux平台上的编译、配置和运行使用
- 用Python学分析 - 单因素方差分析
- python多进程编程实例_Python多进程编程multiprocessing代码实例
- Java12-day03【​​​​​​​(类名、抽象类名、接口名)作为形参和返回值、内部类、常用API(Math、System、toString()、Arrays)、冒泡】
- linux系列服务总结之四:SAMBA共享设置完整介绍
- 星形和雪花模型_数据仓库多维数据模型设计
- [C++] 构造函数 which is of non-class type
- static_cast与dynamic_cast类型转换
- VI3之vCenterServer配置的备份与还原
- Rickie的软件测试学习笔记-第四周
- SPSS基础数据操作之变量的计算及个案计数
- 用JS实现图片模糊到清晰预加载效果
- 何谓差模信号?何谓共模信号?
- Lipschitz 条件或者Lipschitz连续
- 详解Java操作符 instanceof
- 清华姚班陈丹琦等27位华人学者获奖,斯隆奖2022年获奖名单颁布
- CAPL 封装了的SeedKey解锁函数,高复用性
- 决策树(基础理论篇)
- 安卓微信名字彩色字体怎么设置? 微信名字特效设置教程
热门文章
- u盘乱码怎么做?这些正确做法你知道吗?
- python修改yaml文件内容_Python操作Yaml文件
- 配置内网IP/Linux-修改IP地址
- Windows7下SVN下载安装
- Word控件Spire.Doc 【打印】教程(3):如何在自定义纸张尺寸上打印 Word—C#/VB.NET
- linux【网络】DNS 解析时快时慢,我该怎么办?
- 命令行删除mysql服务
- 卷积神经网络的改进 —— 分组卷积、DW 与 PW
- 计算机游戏的发展趋势表,2018年电脑行业发展趋势分析 游戏本、轻薄便携本最受关注,商务本成新增长点【组图】...
- python—selenium —xpath定位方法详解