百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

软件开发设计文档之「类图」

yuyutoo 2025-01-03 19:51 2 浏览 0 评论

对象是系统中用来描述客观事物的一个实体,它由对象标识(名称)、属性(状态、数据、成员变量)和服务(操作、行为、方法)三个要素组成,它们被封装为一个整体,以接口的形式对外提供服务。

而类则是对具有相同属性和服务的一个或一组对象的抽象。类与对象是抽象描述和具体实例的关系,一个具体的对象被称为类的一个实例。在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。


目录:

  • 一、类图简单介绍
  • 二、有哪些组成元素
  • 三、找个样例看一看
  • 四、我们也来动动手

一、类图简单介绍

在软件工程中,类图 (Class Diagram) 是面向对象系统建模中最常用和最重要的图,是一种静态的结构图,描述了系统内部类的集合、类的属性、类的方法和类之间的关系,可以简化了人们对系统的理解。同时,类图是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。

二、有哪些组成元素

1、在 UML 中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略),如下图,介绍了如何描述一个类。

2、在画类图的时候,重点是要捋清楚类之间的关系。如下图,介绍了六种类之间的关系。

  • 虚线箭头指向依赖;
  • 实线箭头指向关联;
  • 虚线三角指向接口;
  • 实线三角指向父类;
  • 空心菱形能分离而独立存在,是聚合;
  • 实心菱形紧密关联不可分,是组合;

3、泛化和实现都好理解,重点再介绍一下:聚合、组合、关联之间的区别。

三、找个样例来看看

1、如下图,描述了动物之间的类图,画得比较简单

  • 鸟和动物之间为泛化(继承)的关系,大雁、鸭、企鹅和鸟之间也类似
  • 大雁实现了飞翔接口 << interface >> 的具体逻辑,属于实现关系
  • 动物执行新陈代谢方法时,需要空气和水,属于依赖关系
  • 鸟跟翅膀属于组合关系,翅膀不能单独存在,箭头一般不用画
  • 大雁和雁群属于聚合关系,大雁可以单独存在,箭头一般不用画
  • 气候对企鹅有影响,企鹅“知道”气候,气候“不知道”企鹅,属于关联关系

2、下图就更简单些,省略掉了属性和方法,只保留类名

  • 车的类图结构为 <<abstract>>,表示车是一个抽象类
  • 它有两个继承类:小汽车和自行车;它们之间的关系为实现关系
  • 小汽车为与SUV之间也是继承关系,它们之间的关系为泛化关系
  • 小汽车与发动机之间是组合关系
  • 学生与班级之间是聚合关系
  • 学生与身份证之间为关联关系
  • 学生上学需要用到自行车,与自行车是一种依赖关系

四、我们也来动动手

场景:有公司、部门、员工、文件、打印机,通过类图描述他们之间的关系

  • 他们之间的关系参考连接线的文字
  • 有些时候可以适当添加一些注释,紧跟在类名、属性名、方法名之后,更容易理解
  • 如何去修改 draw.io 的线和箭头的样式,可以参考下图进行调整

写在最后:

我比较喜欢的两款绘图工具:draw.io 和 visio,风格比较现代化,相信你们如果用过也会喜欢的,关于他们的介绍和使用就不多说了,大家可以自行网上搜一搜,下一篇我将介绍如何用 draw.io 画 E-R 图。

感谢您能看到这里,如果对您有帮助,可以在右上角关注一下,后续会分享更多有意思的内容

如何写好一份软件开发设计文档

软件开发绘图系列之「时序图」

软件开发设计文档之「流程图」

相关推荐

如何在HTML中使用JavaScript:从基础到高级的全面指南!

“这里是云端源想IT,帮你...

推荐9个Github上热门的CSS开源框架

大家好,我是Echa。...

前端基础知识之“CSS是什么?”_前端css js

...

硬核!知网首篇被引过万的论文讲了啥?作者什么来头?

整理|袁小华近日,知网首篇被引量破万的中文论文及其作者备受关注。知网中心网站数据显示,截至2021年7月23日,由华南师范大学教授温忠麟等人发表在《心理学报》2004年05期上的学术论文“中介效应检验...

为什么我推荐使用JSX开发Vue3_为什么用vue不用jquery

在很长的一段时间中,Vue官方都以简单上手作为其推广的重点。这确实给Vue带来了非常大的用户量,尤其是最追求需求开发效率,往往不那么在意工程代码质量的国内中小企业中,Vue占据的份额极速增长...

【干货】一文详解html和css,前端开发需要哪些技术?
【干货】一文详解html和css,前端开发需要哪些技术?

网站开发简介...

2025-02-20 18:34 yuyutoo

分享几个css实用技巧_cssli

本篇将介绍几个css小技巧,目录如下:自定义引用标签的符号重置所有标签样式...

如何在浏览器中运行 .NET_怎么用浏览器运行代码

概述:...

前端-干货分享:更牛逼的CSS管理方法-层(CSS Layers)

使用CSS最困难的部分之一是处理CSS的权重值,它可以决定到底哪条规则会最终被应用,尤其是如果你想在Bootstrap这样的框架中覆盖其已有样式,更加显得麻烦。不过随着CSS层的引入,这一...

HTML 基础标签库_html标签基本结构
HTML 基础标签库_html标签基本结构

HTML标题HTML标题(Heading)是通过-...

2025-02-20 18:34 yuyutoo

前端css面试20道常见考题_高级前端css面试题

1.请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?display:flex;在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩flex:1;子元素设置...

vue引入外部js文件并使用_vue3 引入外部js

要在Vue中引入外部的JavaScript文件,可以使用以下几种方法:1.使用``标签引入外部的JavaScript文件。在Vue的HTML模板中,可以直接使用``标签来引入外部的JavaScrip...

网页设计得懂css的规范_html+css网页设计

在初级的前端工作人员,刚入职的时候,可能在学习前端技术,写代码不是否那么的规范,而在工作中,命名的规范的尤为重要,它直接与你的代码质量挂钩。网上也受很多,但比较杂乱,在加上每年的命名都会发生一变化。...

Google在Chrome中引入HTML 5.1标记

虽然负责制定Web标准的WorldWideWebConsortium(W3C)尚未宣布HTML5正式推荐规格,而Google已经迁移到了HTML5.1。即将发布的Chrome38将引入H...

HTML DOM 引用( ) 对象_html中如何引用js

引用对象引用对象定义了一个同内联元素的HTML引用。标签定义短的引用。元素经常在引用的内容周围添加引号。HTML文档中的每一个标签,都会创建一个引用对象。...

取消回复欢迎 发表评论: