【软考】UML中的图之类图

目录

          • 1. 说明
          • 2. 图示
          • 3. 类图使用方式
            • 3.1 对系统的词汇建模
            • 3.2 对简单的协作建模
            • 3.3 对逻辑数据库模式建模

1. 说明
  • 1.类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。
  • 2.在面向对象系统的建模中所建立的最常见的图是类图。
  • 3.类图给出系统的静态设计视图。
  • 4.包含主动类的类图给出了系统的静态进程视图。
  • 5.类图中通常包括:类,接口,协作,依赖、泛化和关联关系。
  • 6.类图中也可以包含注解和约束。
  • 7.类图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。
  • 8.类图用于对系统的静态设计视图建模。
  • 9.这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。
2. 图示

在这里插入图片描述

  • 1.实线空心三角箭头:代表泛化关系,表示类之间的继承关系。箭头从子类指向父类。在Java中,这种关系用extends 关键字表示。
  • 2.虚线空心三角箭头:代表实现关系,表示类实现了接口的所有方法和特征。箭头从类指向接口。
  • 3.虚线箭头:代表依赖关系,表示一个类的实现需要另一个类的协助。在Java中,这通常意味着一个类的方法参数需要传入另一个类的对象
  • 4.实线箭头:代表关联关系,表示类与类之间的连接。这种关系使一个类知道另一个类的属性和方法。与依赖关系相比,关联关系更强且不是临时性的。
  • 5.空心菱形实线箭头:代表聚合关系,是关联关系的一种特例,表示整体与部分的关系,但部分对象可以脱离S整体对象独立存在。箭头中的空心萎形指向被聚合类,箭头本身指向聚合类。
3. 类图使用方式
3.1 对系统的词汇建模
  • 1.对系统的词汇建模涉及做出这样的决定:哪些抽象是考虑中的系统的一部分,哪些抽象处于系统边界之外。
  • 2.用类图详细描述这些抽象和它们的职责。
3.2 对简单的协作建模
  • 1.协作是一些共同工作的类、接口和其他元素的群体,该群体提供的一些合作行为强于所有这些元素的行为之和。
  • 2.用类图对这组类以及它们之间的关系进行可视化和详述。
3.3 对逻辑数据库模式建模
  • 1.将模式看作为数据库的概念设计的蓝图。
  • 2.很多领域要在关系数据库或面向对象数据库中存储永久信息,可以用类图对这些数据库的模式建模。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/547065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Openwrt21.02支持SKW78(MT7621)

1.获取SDK 1.下载Openwrt源码 下载链接: git clone --branch openwrt-21.02 https://gitee.com/cocos_yang/openwrt.git 下载完后,会有一个openwrt目录,进入openwrt目录 cd openwrt 修改feeds.conf.default的内容,如下所示&#x…

操作系统(1)计算机存储结构

文章目录 一、计算机存储结构1、基本概念2、计算机存储结构的组成部分3、局部性原理4、高速缓存4.1、基本概念4.2、工作原理4.3、层次结构4.4、对系统性能的影响4.5、一致性问题 5、寄存器5.1,种类5.2,特点5.3、作用5.4、寄存器与缓存的差异 前言 计算机…

MybatisPlus实现数据权限隔离

引言 Mybatis Plus对Mybatis做了无侵入的增强,非常的好用,今天就给大家介绍它的其中一个实用功能:数据权限插件。 数据权限插件的应用场景和多租户的动态拦截拼接SQL一样。建议点赞收藏关注,方便以后复习查阅。 依赖 首先导入M…

【网安小白成长之路】7.burp基本使用

🐮博主syst1m 带你 acquire knowledge! ✨博客首页——syst1m的博客💘 🔞 《网安小白成长之路(我要变成大佬😎!!)》真实小白学习历程,手把手带你一起从入门到入狱🚭 &…

计算机网络3——数据链路层1

文章目录 一、介绍1、基础2、内容 二、数据链路层的几个共同问题1、数据链路和帧2、三个基本问题1)封装成帧2)透明传输3)差错检测 三、点对点协议 PPP1、PPP协议的特点1)PPP 协议应满足的需求2)PPP 协议的组成 2、PPP协…

vmware安装ubuntu-18.04系统

一、软件下载 百度网盘: 链接:https://pan.baidu.com/s/1fK2kygRdSux1Sr1sOKOtJQ 提取码:twsb 二、安装ubuntu系统 1、把ubuntu-18.04的压缩包下载下来,并且解压 2、打开vmware软件,点击文件-打开 3、选择我们刚刚解…

限制登录Linux服务器的几种方式

一.第一种方法 通过修改TCP Wrappers服务访问控制来实现限制登录Linux 1.这里以sshd服务为例,配置完成后,只允许配置允许的IP才能ssh连接本机服务器,其他IP拒绝判断某一个基于tcp协议的服务是否支持tcp_wrapper,要先判断它是否支…

【C语言】<动态内存管理>我的C语言终末章

<动态内存管理> 1. 为什么要有动态内存分配2. malloc和free2.1 malloc2.2 free 3. calloc和realloc3.1 calloc3.2 realloc 4.常见的动态内存错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释…

Linux下SPI设备驱动实验:实现SPI发送/接收数据的函数

一. 简介 前面文章介绍了SPI设备数据收发处理流程,后面几篇文章实现了SPI设备驱动框架,加入了字符设备驱动框架代码。文章如下: SPI 设备驱动编写流程:SPI 设备数据收发处理流程中涉及的结构体与函数-CSDN博客 SPI 设备驱动编写…

PgSQL之WITH Queries/Statement

PostgreSQL WITH 子句 在 PostgreSQL 中,WITH 子句提供了一种编写辅助语句的方法,以便在更大的查询中使用。 WITH 子句有助于将复杂的大型查询分解为更简单的表单,便于阅读。这些语句通常称为通用表表达式(Common Table Express…

基于有序抖动块截断编码的水印嵌入和提取算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 噪声测试 旋转测试 压缩测试 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................…

Spring(24) Json序列化的三种方式(Jackson、FastJSON、Gson)史上最全!

目录 一、Jackson 方案(SpringBoot默认支持)1.1 Jackson 库的特点1.2 Jackson 的核心模块1.3 Maven依赖1.4 代码示例1.5 LocalDateTime 格式化1.6 统一配置1.7 常用注解1.8 自定义序列化和反序列化1.9 Jackson 工具类 二、FastJSON 方案2.1 FastJSON 的特…

折叠面板组件(vue)

代码 <template><div class"collapse-info"><div class"collapse-title"><div class"title-left">{{ title }}</div><div click"changeHide"> <Button size"small" v-if"sho…

LeetCode-706. 设计哈希映射【设计 数组 哈希表 链表 哈希函数】

LeetCode-706. 设计哈希映射【设计 数组 哈希表 链表 哈希函数】 题目描述&#xff1a;解题思路一&#xff1a;超大数组解题思路二&#xff1a;拉链法解题思路三&#xff1a; 题目描述&#xff1a; 不使用任何内建的哈希表库设计一个哈希映射&#xff08;HashMap&#xff09;。…

SpringBoot基于RabbitMQ实现消息延迟队列方案

知识小科普 在此之前&#xff0c;简单说明下基于RabbitMQ实现延时队列的相关知识及说明下延时队列的使用场景。 延时队列使用场景 在很多的业务场景中&#xff0c;延时队列可以实现很多功能&#xff0c;此类业务中&#xff0c;一般上是非实时的&#xff0c;需要延迟处理的&a…

【讲解下常见的Web前端框架】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Linux-管道

目录 无名管道关闭未使用的管道文件描述符 管道对应的内存大小与shell命令进行通信&#xff08;popen&#xff09;命名管道FIFO创建FIFO文件打开FIFO文件 无名管道 管道是最早出现的进程间通信的手段。 管道的作用是在有亲缘关系的进程之间传递消息。所谓有亲缘关系&#xff…

【YOLOV5 入门】——Pyside6/PyQt5可视化UI界面后端逻辑

声明&#xff1a;笔记是做项目时根据B站博主视频学习时自己编写&#xff0c;请勿随意转载&#xff01; 一、环境安装 VScode/Pycharm终端进入虚拟环境后&#xff0c;输入下面代码安装pyside6&#xff0c;若用的Pycharm作为集成开发环境&#xff0c;也下载个pyqt5&#xff1a; …

移动Web学习07-适配单位vw/vh哔哩哔哩移动端vw单位适配案例

1.1、VW相对单位 前面我们已经学习了rem单位 &#xff0c;他是一个相对单位、相对于HTML表格字号大小 VW/VH也是一个相对单位&#xff0c;他是相对于视口的尺寸计算结果 VW&#xff1a;viewport width VH: viewport height <meta name"viewport" content"…

C语言之探秘:访问结构体空指针与结构体空指针的地址的区别(九十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…