01_描述对象_类图(Class Diagram)
1. 作用
- 用于面向对象软件开发的分析和设计阶段,描述系统的静态结构。
- 描述类与类、类与接口、接口与接口之间的静态结构和关系,描述系统的结构化设计。最基本的元素:类、接口。
- 用于应用程序的一般概念建模、详细建模、数据建模,将模型转换成编程代码。
- 类图是系统编码和测试的重要模型依据。
2. 元素
- 包(package)
- 类(class)
- 接口(interface)
- 关系(relation)
- 信号(signal)
- 数据类型(data type)
- 原始类型(primitive type)
- 枚举(enumeration)

3. 范围属性
- +:public
- #:protected
- -:private
- ~:package
4. 关系
4.1 关联(association)
拥有关系,拥有者能知道被拥有者的属性和方法。被拥有者是拥有者的属性。关联分单向关联(unidirectional association)和双向关联(bidirectional association)。

荔枝:

4.2 依赖(dependency)
使用关系。使用者需要被使用者的部分属性和方法。

荔枝:

4.3 泛化(generalization)
继承关系。使继承者(子类)拥有被继承者(父类)的属性和方法。

荔枝:

4.4 聚合(aggregation)
描述整体与部分的关系,部分离开整体可以独立存在。

荔枝:

4.4 组合(composition)
描述整体与部分的关系,部分不能离开整体独立存在。

荔枝:

4.5 实现(realization)
类的方法体现接口的行为。

荔枝:

5. Robustness(拓展)
边界(boundary)
实体(entity)
控制(control)

6. 大荔枝

01_描述对象_类图(Class Diagram)的更多相关文章
- 类图(Class Diagram)
类图(Class Diagram): 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 类一般由三部分组成: 类名(Class):每个类都必须 ...
- Python设计模式 - UML - 类图(Class Diagram)
简介 类图是面向对象分析和设计的核心,用来描述系统各个模块中类与类之间.接口与接口之间.类与接口之间的关系,以及每个类的属性.操作等特性,一般在详细设计过程中实施. 类图本身就是现实世界的抽象,是对系 ...
- 【UML】类图Class diagram(转)
http://blog.csdn.net/sds15732622190/article/details/48860711 前言 说到UML,相信大家就能立刻反应出其中的类图,为什么这么说呢,类图和用例 ...
- Pownerdesigner画用例图_类图_时序图
1. 问题描述 软件过程中,设计阶段有几个常用的工具:Rational Rose.Visio.Pownerdesigner,一般用Rose用例图/类图/时序图,Visio画流程图,Pownerdesi ...
- 四、java基础-面向过程_对象_类中可出现的因素
1.面向过程和面向对象区别: 1)面向过程:开发一个应用程序.一个项目,必须先了解整个过程,了解各个步骤.模块间的因果关系,使的面向过程方式去开发程序时,代码和代码之间的关联程度是非常强.所以其中任何 ...
- MVC描述对象的类关系图/调用关系图【学习笔记】
- UML类图(Class Diagram)中类与类之间的关系及表示方式(转)
源地址:https://blog.csdn.net/a19881029/article/details/8957441 ======================================== ...
- UML 用例图、顺序图、状态图、类图、包图、协作图、流程图
用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父 ...
随机推荐
- 【代码分享】用redis+lua实现多个集合取交集并过滤,类似于: select key from set2 where key in (select key from set1) and value>=xxx
redis中的zset结构可以看成一个个包含数值的集合,或者认为是一个关系数据库中用列存储方式存储的一列. 需求 假设我有这样一个数据筛选需求,用SQL表示为: select key from set ...
- 深入理解http1.x、http 2和https
转自 https://segmentfault.com/a/1190000015316332 一.HTTP/1.x Http1.x 缺陷:线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数 ...
- golang中的标准库反射
反射 反射是指程序在运行期对程序本身访问和修改的能力 变量的内在机制 变量包含类型信息和值信息 var arr [10]int arr[0] = 10 类型信息:是静态的元信息,是预先定义好的 值信息 ...
- golang中map原理剖析
1. golang中的map有自己的一套实现原理,其核心是由hmap和bmap两个结构体实现的 2. 初始化map package main func main() { // 初始化一个可容纳10个 ...
- gin中绑定查询字符串或表单数据
package main import ( "github.com/gin-gonic/gin" "log" "time" ) type P ...
- python 使用sqlite,ConfigParser实例
此实例是本人公司真实场景,使用了VNC,ngrok 技术实现内网穿透,本例是对内网穿透的使用: 此例的最终效果是对于处于各地内网终端实现远程桌面监控及操作: 目前世面上也有一些软件实现了内网穿透(向日 ...
- python采用json.dump和json.load存储数据
#!/usr/bin/python # -*- coding: UTF-8 -*- import json numbers = [2,3,4,7,11,13] filename = 'numbers. ...
- docker中使用systemctl启动服务
解决 Failed to get D-Bus connection: Operation not permitted https://serverfault.com/questions/824975/ ...
- Arduino+ESP32 之 SD卡读写
背景知识: ESP32有两种使用SD卡的方法,一种是使用SPI接口访问SD卡,另一种是使用SDMMC接口访问SD卡 . Arduino core for the ESP32中SPI方式占用4个IO口, ...
- AQS源码一窥-JUC系列
AQS源码一窥 考虑到AQS的代码量较大,涉及信息量也较多,计划是先使用较常用的ReentrantLock使用代码对AQS源码进行一个分析,一窥内部实现,然后再全面分析完AQS,最后把以它为基础的同步 ...