UML - 类图
-
上一节: UML - 标准关系图
上一节
下一节: UML - 对象图
下一节
UML - 类图
简述
类图是静态图。它表示应用程序的静态视图。类图不仅用于可视化,描述和记录系统的不同方面,还用于构造软件应用程序的可执行代码。
类图描述了类的属性和操作,以及强加给系统的约束。类图广泛用于面向对象的系统的建模,因为它们是唯一的UML图,可以直接使用面向对象的语言进行映射。
类图显示了类、接口、关联、协作和约束的集合。它也被称为结构图。
类图的目的
类图的目的是对应用程序的静态视图进行建模。类图是唯一可以直接使用面向对象的语言映射的图,因此在构造时被广泛使用。
UML图像活动图,序列图只能给出应用程序的序列流,但是类图有点不同。它是编码人员社区中最受欢迎的 UML 图。
类图的目的可以概括为 −
分析和设计应用程序的静态视图。
描述系统的职责。
组件和部署关系图的基础。
正向和逆向工程。
如何绘制类图?
类图是用于构建软件应用程序的最流行的UML图。学习类图的绘制过程非常重要。
类图在绘制时有很多属性需要考虑,但在这里,将从顶级视图考虑关系图。
类图基本上是系统静态视图的图形表示,表示应用程序的不同方面。类图的集合表示整个系统。
在绘制类图时应记住以下几点 -
类图的名称对于描述系统的各个方面应该有意义。
应事先确定每个元素及其关系。
应明确标识每个类的责任(属性和方法)
对于每个类,应指定最小数量的属性,因为不必要的属性会使关系图变得复杂。
在需要时使用注释来描述关系图的某些方面。在绘图的末尾,开发人员/程序员应该可以理解。
最后,在制作最终版本之前,应在普通纸上绘制图表,并尽可能多地返工以使其正确。
下图是应用程序的订单系统的示例。它描述了整个应用程序的特定方面。
首先,订单和客户被标识为系统的两个元素。他们具有一对多关系,因为客户可以有多个订单。
顺序类是一个抽象类,它有两个具体的类(继承关系)特殊顺序和正常顺序。
这两个继承的类具有作为 Order 类的所有属性。此外,它们还具有其他功能,如调度()和接收()。
考虑到上面提到的所有要点,绘制了以下类图。
在哪里使用类图?
类图是一个静态图,用于对系统的静态视图进行建模。静态视图描述系统的词汇表。
类图也被视为组件图和部署图的基础。类图不仅用于可视化系统的静态视图,还用于构造用于任何系统的正向和逆向工程的可执行代码。
通常,UML 关系图不直接与任何面向对象的编程语言进行映射,但类图是一个例外。
类图清楚地显示了与面向对象语言(如Java,C++等)的映射。从实践经验来看,类图一般用于施工目的。
简而言之,可以说,类图用于 -
描述系统的静态视图。
显示静态视图元素之间的协作。
描述系统执行的功能。
使用面向对象语言构建软件应用程序。
上一节: UML - 标准关系图
上一节
下一节: UML - 对象图
下一节
查看笔记 分享笔记
笔记内容:
称呼:
Email:
站点:
分享笔记 重置
分类导航
前端
Ajax 教程
Angular 教程
Aurelia 教程
Bootstrap 教程
ChartJS 教程
CSS 教程
ES6 教程
FontAwesome 教程
HTML 教程
HTML 字符集 教程
HTML 游戏 教程
JavaScript 教程
jQuery 教程
Less 教程
React 教程
Sass 教程
Stylus 教程
TypeScript 教程
Unity 教程
Vue.js 教程
WebAssembly 教程
XAML 教程
颜色 教程
服务端
C# 教程
C++ 教程
COBOL 教程
C语言 教程
Fortran 教程
Go 教程
Groovy 教程
Java 教程
JSP 教程
JVM 教程
Kotlin 教程
Lisp 教程
Lua 教程
Node.js 教程
Pascal 教程
Perl 教程
PHP 教程
Python 教程
Python 3 教程
Ruby 教程
Rust 教程
Scala 教程
Spring 教程
Spring Boot 教程
Spring Cloud 教程
VB.Net 教程
移动端
Android 教程
IOS 教程
Objective-C 教程
React Native 教程
Swift 教程
小程序 教程
数据库
Access 教程
DB2 教程
Mariadb 教程
Memcached 教程
MongoDB 教程
MySQL 教程
Neo4j 教程
PL/SQL 教程
PostgreSQL 教程
Redis 教程
SQL 教程
SQL Server 教程
SQLite 教程
T-SQL 教程
数据格式
Jackson 教程
JSON 教程
SVG 教程
XML 教程
开发工具
ActiveMQ 教程
Ant 教程
Apache HttpClient 教程
Apache POI PPT 教程
AWS 教程
Docker 教程
ElasticSearch 教程
ExpressJS 教程
GIT 教程
GitLab 教程
Google Maps 教程
Gradle 教程
Java NIO 教程
JavaFX 教程
JavaMail 教程
JDBC 教程
jMeter 教程
JPA 教程
jsoup 教程
Junit 教程
KoaJS 教程
Kubernetes 教程
Log4j 教程
Logstash 教程
Lucene 教程
Makefile 教程
Maven 教程
RESTful 教程
Sed 教程
SEO 教程
Servlet 教程
SLF4J 教程
Socket.IO 教程
Struts 教程
SVN 教程
TestNG 教程
UML 教程
UNIX / LINUX 教程
WebSocket 教程
WPF 教程
xStream 教程
区块链 教程
数据处理
Flink 教程
Flume 教程
Hadoop 教程
Hbase 教程
Hive 教程
Kafka 教程
Kibana 教程
MapReduce 教程
MATLAB 教程
MyBatis 教程
Pig 教程
R语言 教程
Solr 教程
Spark 教程
Storm 教程
Zookeeper 教程
大数据分析 教程
数据仓库 教程
数据挖掘 教程
计算机基础
HTTP 教程
IPv4 教程
IPv6 教程
Ubantu 教程
WebServices 教程
嵌入式系统 教程
操作系统 教程
数据结构和算法 教程
汇编语言 教程
物联网 教程
电子电路基础 教程
编译器设计 教程
网站开发 教程
计算机 教程
计算机基础 教程
计算机网络 教程
设计模式 教程
AI
CNTK 教程
Keras 教程
PyTorch 教程
TensorFlow 教程
人工智能 教程
机器学习 教程
Python 技术
Django 教程
Flask 教程
NumPy 教程
Pandas 教程
Pillow 教程
PyGTK 教程
PyQt5 教程
PySpark 教程
pytest 教程
Python -数据科学 教程
Python MySQL 教程
Python 取证 教程
Python 数据结构 教程
Python 文本处理 教程
Python 网络编程 教程
Python 网页抓取 教程
Python 设计模式 教程
RxPY 教程
SciPy 教程
Seaborn 教程
SymPy 教程
wxPython 教程
框架
Laravel 教程
Web 图标Icon 教程
Web2py 教程
WebGL 教程
WebRTC 教程
WordPress 教程
Yii 教程
Zend Framework 教程
SAP
Crystal Reports 教程