【系统分析与设计】UML类图绘制方法(真の能看懂~!)
文章目录
- 1 类的基本表示方式
- 2 类之间关系的表示方式
所有的面向对象(Object Oriented)语言都离不开类的概念,理解了程序中类的设计也就理解了程序的一半。但类的具体描述方式在各个类中都不一样,UML类图的提出是为了能够脱离语言的限制,抽象地描述各个类的信息及各个类之间的关系。这是UML类图的作用。
1 类的基本表示方式
在UML类图中,每一个矩形代表一个类。我们举一个简单的例子:
这是一个代表车辆的类。
一般的类图分为三个部分。部分类图有五个部分。
第一部分为类名,如果类名用正体书写则说明这是可以实例化的普通类。如果类名用斜体书写,则说明这是抽象类。如果类名有下划线修饰则说明这是静态类。
第二部分为类内的属性,格式为修饰符 属性名 :属性类型。修饰符为“+”说明该属性为public型,“#”说明该属性为protected型,“-”说明该属性为private型。
第三部分为类内的方法,格式为修饰符 方法名 (参数名1:参数类型1,……):方法返回值类型。修饰符为“+”说明该方法为public型,“#”说明该方法为protected型,“-”说明该方法为private型。如果方法名有下划线修饰则说明这是静态方法。
如果类图中需要描述类的性质,则放在第四部分描述。如果类内有内部类,则放在第五部分描述。
如果类图描述的是一个接口,在接口名的上方需要加上《interface》的修饰符。同时该类图仅有两个部分,接口名和接口的方法。
对于任何一张类图,只要对照上面的说明就可以解读出含义。
2 类之间关系的表示方式
类之间的关系有继承关系,实现关系,依赖关系,关联关系,聚合关系,组合关系。
1.继承关系
继承关系使用如下箭头:
由子类指向父类。
2.实现关系
实现关系使用如下箭头:
有实现类指向接口
3.依赖关系
依赖关系使用如下箭头:
由使用者指向被使用者。
如果A指向B,则说明A中使用了B,使用方式包括A类中有B类实例化对象的局部变量。A类中有方法把B类实例化对象当做了参数,A类中有方法调用了B类中的静态方法。
4.关联关系
关联关系使用如下箭头:
由拥有者指向被拥有者。
如果A指向B,则说明A类中有B类的成员变量。
5.聚合关系
聚合关系使用如下箭头:
由整体指向部分。
如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成,同时B类即便不在A类中也可以单独存在。
6.组合关系
组合关系使用如下箭头:
由整体指向部分。
如果A指向B,则说明A类中有B类的成员变量,但是与关联关系不同,A类和B类有逻辑关系。A类是整体,B类是部分。A类由B类构成。但与聚合关系不同,如果B类不在A类中就无法单独存在。
两个类之间究竟是聚合还是组合完全由类的设计决定。
【系统分析与设计】UML类图绘制方法(真の能看懂~!)相关推荐
- 软件设计-UML类图详解说明
一. UML类图思维导图 二. 详细分析和介绍 下面就从上面的思维导图开始,详细的介绍UML类图! 1. 什么是UML,概念是什么? UML(Unified Modeling Language)中文统 ...
- UML类图绘制_常见设计模式
UML类图 常用的类图元素 UML类图的应用 创建型模式 简单工厂模式 工厂方法模式 抽象工厂模式 建造者模式 单例模式模式 结构型模式 适配器模式 桥接模式 装饰模式 门面模式 享元模式 代理模式 ...
- Java开发设计——UML类图
此博客系转载:https://www.cnblogs.com/shamao/p/10875550.html 摘要:本文主要介绍了UML类图的相关知识. 1.简介 在UML中,类使用包含类名.属性和操作 ...
- UML类图中方法(操作)的表示格式
网上很少看到针对于类图中方法的格式进行探讨的文章,而类图本身也不是那么的死板,但是一些既定的规则.通用性的格式,使用起来还是会更加便于理解与分享.下面讲一下类图中方法的规范表示方式. [可视性]操作名 ...
- 【系统分析与设计】业务流程图绘制方法
文章目录 1 符号表示 2 例子 1 符号表示 2 例子
- 实用设计软件,自带精美UML类图模板快速作图
UML类图是什么呢?UML是在计算机软件中的一种建模语言,UML图是设计软件.程序的建模工具.UML图又包括用例图.类图.对象图.活动图等九种图形,他们分别有着不同的作用.UML类图是设计UML图中的 ...
- android 继承类图,Android Studio中绘制UML类图介绍
Android Studio中绘制UML类图介绍 Android Studio中绘制UML类图介绍 动机 最近开始阅读项目源码,从其中一个模块开始看,奈何大项目中的一个模块,对于萌新而言,也太过于复杂 ...
- uml 类图 网上书店_UML作业第三次:分析《书店图书销售管理系统》,绘制类图...
分析书店图书销售管理业务,提取相关的类,并画出类图 一.要求及步骤 step1:学习PlantUML类图绘制方法,学习(链接:http://plantuml.com/zh/): step2:以< ...
- 身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图!
身为程序员还看不懂UML类图? 一文带你零基础学会看UML类图! 一,UML类图示例图 二,UML类图图例 三,分步解析说明 3.1 类图: 3.2 接口: 3.3 实现继承 3.4 实现接口: 3. ...
最新文章
- 舒工深度解析不规则场地座位二维码生成规则
- Mongodb 请求处理流程
- SVN checkout
- 017_CSS长度单位
- 二年级的数学题,10个人有9个人做错,你能做对吗?
- steps/align_si.sh
- SparkWeb 编译
- 摄像头poe供电原理_弱电知识之六:跟我学做监控,认识POE交换机与POE监控摄像头...
- 如果 “ 2X ”的补码是“ 90H ”,那么 X 的真值是( )。
- 【vue-number-scroll】数字逐渐增加或者减少的滚动解决方案
- Redis入门篇(安装与启动)
- Mongo DB命令简介
- 一个非常好用的插件-FeHelper
- 身体就是控制器,微软Kinect是怎样做到的?
- 网易2017春招[编程题]赶去公司@Java
- android友盟微信分享到朋友圈,干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等...
- MAC结合LINUX进行Jmeter进行java代码压力测试
- 江苏高考时间2021成绩查询,2021年江苏高考成绩什么时候出来 公布时间
- 芯片IC测试专栏—ESD与TLP
- Git 设置用户名和邮箱
热门文章
- 堆和栈组合:双端队列c++
- 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
- Can't get source for site-packages\torchvision\ops\poolers.py. TorchScript requires source access in
- 未将对象引用设置到对象的实例
- VOC2007基本信息
- 'module' object is not callable
- ospf 中传输网络和传输区域的概念?
- Cissp-【第2章 资产安全】-2021-1-14(163页-185页)
- 左侧固定右侧自动填充_办公小技巧:解决Excel公式自动填充问题
- python c参数,CPython – 读取C函数内的Python字典(键/值)作为参数传递