UML 哲学之道——类图[三]
前言
简单整理一些uml中的类图。
正文
类的基本表示法:
名称、属性(类型、可见性)、方法(参数、返回值、可见性)

想上面这样,第一行是名称,第二行是属性,第三行是方法
可见性:
- 表示public
- 表示private
表示protect
接口表示法:

接口和类差不多,但是前面有一个<>的标志。
包表示法:

包可以表示层级关系:

包还可以用来组织各种内容:

包是一个层级更大的概念,可以指不同层级,也可以指不同的子系统等。
类与类之间的关系:
- 依赖关系
- 关联关系
- 泛化(extends)
- 实现(implements)
- 聚合关系
- 组合关系
现在来一一看下他们的关系:
关联关系:
关联关系分为双向关系和单向关系:

双向这样表示也是可以的:

就是用一更横向表示。
那么双向管理有两种表示法,一种是双向实心箭头,或者一根横线。
比如老师和学生,老师拥有多名学生,学生可以有多名老师。

单向关联如上,一个人拥有多个地址,但是地址和人没有关系。
也有些地方这样表示的:

表示他们1对多的关系。
这样表示都是可以的。
然后值得注意的是有些地方把双向关系称为关联,单项关系称为关系。
这是一个值得注意的地方,看团队的语义。
最后一个关联是自关联:

比如节点下面有节点,这就是自关联了。一个节点Node的成员又是节点对象。
下面是实现:

比如UserDaoImpl 实现 UserDao。
用的是虚线和空心箭头。
然后是继承关系:

比如狗继承动物,用的是实现空心箭头。
下面是依赖关系:

用的是虚线箭头表示。
聚合关系:
聚合(Aggregation)关系表示整体与部分的关系
在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在
在UML中,聚合关系用带空心菱形的直线表示

飞机场里面有飞机。
组合关系:
组合(Composition)关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在
成员对象与整体对象之间具有同生共死的关系
在UML中,组合关系用带实心菱形的直线表示

结
下一节领域模型
UML 哲学之道——类图[三]的更多相关文章
- UML学习笔记:类图
UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...
- UML基础系列:类图
类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都是有效的.对象图是类图的实 ...
- Uml 建模 一(类图建模和startuml的使用)
本文将分三个部分介绍Uml建模:Uml建模的作用.类图.startuml的使用 Uml的作用 本文以java为例介绍Uml,在当前的软件开发中大多数使用面向对象开发(OO),面向对象的就是将现实世界中 ...
- UML类图三
2. 依赖关系 依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的 ...
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- 《设计模式》读懂UML类图
一.类中的主要关系 继承.实现.组合.聚合.依赖.关联 二.UML类图 三.代码实现 public class H2O { } public class O2 { } public interface ...
- 18、面向对象基本原则及UML类图简介
18.1.面向对象基本原则 18.1.1.面向抽象原则 抽象类特点: a.抽象类中可以有abstract方法,也可以有非abstract方法. b.抽象类不能用new运算符创建对象. c.如果一个非抽 ...
- 软件工程 #02# Entity Relationship Diagram VS. 用 UML 中的类图表示 E-R 图
不同的老师叫我们画 E-R 图居然是不一样的,于是我仔细研究了一番.. 通常所说的 E-R 图(外文全称 Entity Relationship Diagram,简称 ERD)长这个样子: 而有时候它 ...
- UML类图(三)-------实例
实例分析1——登录模块 某基于C/S的即时聊天系统登录模块功能描述如下: 用户通过登录界面(LoginForm)输入账号和密码,系统将输入的账号和密码与存储在数据库(User)表中的用户信息进行比较, ...
随机推荐
- C++ //常用算法 binary_serach //查找指定的元素 //无序序列中不可用
1 //常用算法 binary_serach 2 //查找指定的元素 3 //无序序列中不可用 4 5 6 #include<iostream> 7 #include<algorit ...
- CPNtools协议建模安全分析---实例(三)
对于复杂的系统的建模或者协议的建模,各种颜色集的定义以及变量的声明很重要,要区分明确,对于函数行业进程的定义更加复杂.CPN对协议的描述只适合简单逻辑性的协议分析,如果协议包括复杂的算法,那么CPN就 ...
- 工具 --- IL指令集解释
引言 汇总一下所有的 .NET IL 指令,以及它们的名称.操作码值.堆栈转换行为和描述. 作为反编译IL代码时的查询字典. IL 指令集列表 以下内容来自微软官方文档,通过百度翻译API翻译为中文. ...
- 【规范】看看人家Git提交描述,那叫一个规矩
前言 缘由 没想到玩了多年git,竟然还有提交描述规范 事情起因: 在工作迭代过程中,偶然发现同组小帅哥Git提交描述总是和自己的不大一样,秉承好奇至上的我特意去研究了下.竟然发现提交了这么多年的Gi ...
- CSS Navigation - vscode 插件 - vue css 跳转
CSS Navigation - vscode 插件 - vue css 跳转
- 如何在forEach内使用异步调用 async/await
翻自: How to use async and await in a forEach JS loop? https://learn.coderslang.com/0144-how-to-use-as ...
- 初识uds之abstract socket
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 在<记一次有趣的hwclock ...
- View之invalidate,requestLayout,postInvalidate
目录介绍 01.invalidate,requestLayout,postInvalidate区别 02.invalidate深入分析 03.postInvalidate深入分析 04.request ...
- WPF设置传参、点击按钮改变长度
前台代码 <!-- 通过传递ElementName --> <Button x:Name="btn1" Width="200" Height= ...
- 在 .NET 中使用 OPC UA 协议
目录 什么是 OPC UA UaExpert 的使用 下载 UaExpert 首次启动 添加 OPC UA 服务器 连接 OPC UA 服务器 查看 PLC 数据 使用 C# 读写 OPC UA 数据 ...