UML图简介

含义:UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言

主要模型:

  • 功能模型:从用户的角度展示系统的功能,包括用例图
  • 动态模型:展现系统的内部行为,包括序列图、活动图、状态图
  • 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图

本文内容:对象模型中的类图的基本绘法。目的在于把代码结构进行可视化,例如各类设计模式

源码地址UML图绘制 - SouthBegonia's Github

绘图软件

ProcessOn在线绘图网站

类图绘制

含义:类图(class Diagrams),是描述系统中的类,以及各个类之间的关系的静态视图,常用于表示类、接口和它们之间的协作关系
内容:为清晰表示类之间关系,类图包含有接口实现、继承、依赖、关联、聚合、组合等关系


类/接口的表示

  • 类:单元格有3行(类名称、类属性、类方法),抽象类的类名称为斜体
  • 接口:单元格有2行(接口名称、接口方法)


继承关系/接口实现

  • 继承:绘制方法为实线+空三角箭头
  • 接口实现:绘制方法为虚线+空三角箭头


依赖关系

  • 依赖:是一种使用的关系,即一个类的实现需要另一个类的协助,例如动物类必须要生存,而生存的必需品是空气和水。绘制方法为虚线+虚线箭头


关联关系

  • 关联:表示一种拥有的关系,它使一个类知道另一个类的属性和方法,例如企鹅的迁移习性与气候变化是息息相关的。绘制方法为实线+实线箭头


聚合/组合关系

聚合组合关系都隶属于关联关系,是整体与部分的关系。

  • 聚合:表示弱的拥有关系,部分可以离开整体而单独存在,例如大雁群包含数只大雁,每一只大雁都可以独立于群体生存。绘制方法为空菱形+实线+实线箭头
  • 组合:表示强的拥有关系,但部分不可离开整体单独存在,例如鸟必须有一双翅膀。绘制方法是实心菱形+实线+实线箭头

项目示例

设计模式示例:

网友示例:
UML图各种图总结 - 春风十里的晴

UML类图基本画法 - LukeFan

参考

UML类图绘制的更多相关文章

  1. 面向对象的照妖镜——UML类图绘制指南

    1.前言 感受 在刚接触软件开发工作的时候,每次接到新需求,在分析需求后的第一件事情,就是火急火燎的打开数据库(DBMS),开始进行数据表的创建工作.然而这种方式,总是会让我在编码过程中出现实体类设计 ...

  2. 使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实

    2.使用工厂方法模式设计能够实现包含加法(+).减法(-).乘法(*).除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果.要求使用相关的工具绘制UML类图并严格按照类图的设计编写程 ...

  3. 1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程

    1.使用简单工厂模式设计能够实现包含加法(+).减法(-).乘法(*).除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果.要求使用相关的工具绘制UML类图并严格按照类图的设计编写程 ...

  4. 转:深入浅出UML类图(具体到代码层次)

    深入浅出UML类图 作者:刘伟 ,发布于:2012-11-23,来源:CSDN   在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML ...

  5. 深入浅出UML类图(一)

    在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the Standard O ...

  6. 深入浅出UML类图

    原作者:http://www.uml.org.cn/oobject/201211231.asp 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作&l ...

  7. UML系列02之 UML类图(一)

    概要 本章介绍类图中类的UML表示方法.内容包括:类图介绍实体类的UML表示抽象类和接口的UML表示 转载请注明出处:http://www.cnblogs.com/skywang12345/p/352 ...

  8. UML类图一

    转自:http://blog.csdn.net/lovelion/article/details/7838679 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统 ...

  9. 深入了解UML类图

    深入浅出UML类图 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the ...

随机推荐

  1. js调用局部打印功能并还原

    function printme() { //printMain为要打印的dom元素 window.document.body.innerHTML = document.getElementById( ...

  2. 深入理解C#第三版部分内容

     最近,粗略的读了<深入理解C#(第三版)>这本技术书,书中介绍了C#不同版本之间的不同以及新的功能. 现在将部分摘录的内容贴在下面,以备查阅. C#语言特性: 1.C#2.0 C#2的主 ...

  3. 在vue中如何使用axios

    1.前言 在Vue1.0的时候有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource. 关于为什么放弃推荐? -& ...

  4. NOIP模拟赛 华容道 (搜索和最短路)蒟蒻的第一道紫题

    题目描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道 ...

  5. vue之注册自定义的全局js方法

    前端开发的时候,总会需要写一些js方法,在vue框架中为了方便使用,可以考虑注册一个全局的js方法,下面是注册步骤: 1.0 可以在assets文件中的js文件下面新建一个js文件,如:yun.js- ...

  6. 计划任务at和crontab

    目标:会看,会写计划任务时间,会制定计划任务 一次性:at yum -y install at #安装at systemctl start atd #启动at服务 systemctl enable a ...

  7. Ansible之入门简介

    一.ansible简介 ansible是一款由python语言编写的一款自动化运维工具,它集合了众多运维工具(puppet.cfengine.chef.func.fabric)优点,实现了批量系统配置 ...

  8. java多线程与线程并发二:线程互斥

    本文章内容整理自:张孝祥_Java多线程与并发库高级应用视频教程 当两条线程访问同一个资源时,可能会出现安全隐患.以打印字符串为例,先看下面的代码: // public class Test2 { p ...

  9. Docker学习-Docker搭建Consul集群

    1.环境准备 Linux机器三台 网络互通配置可以参考 https://www.cnblogs.com/woxpp/p/11858257.html 192.168.50.21 192.168.50.2 ...

  10. T-SQL Part X: UNION, EXCEPT and INTERSECT

    MSDN上关于EXCEPT和INTERSECT的文档.MSDN上关于UNION的文档. 值得注意的是,UNION其实有两种,一种是普通的UNION,另外一种是UNION ALL.加上EXCEPT和IN ...