统一建模语言(UML)类图是可视化和设计系统静态结构的重要工具。它们提供了一种清晰简洁的方式来表示系统中的类、接口、协作及其关系。本指南将带你了解UML类图的关键概念,提供示例和实用技巧,帮助你掌握UML这一基础方面。

类图的目的
类图是一种结构图,用于展示一组类、接口和协作及其关系。它是面向对象系统建模中最常见的图表。类图关注系统的静态设计视图,重点在于词汇、协作或模式。它们是组件图和部署图的基础。
静态视图
类图表示系统的静态视图,这意味着它们不展示与时间相关的行为。它们描绘了模型中与时间无关的元素,展示可能存在于现实世界、软件或硬件实现,或抽象形式中的有意义且有用的概念。这些图表可以包含代表现实世界概念、抽象概念、实现概念或计算机概念的元素。
类图的关键元素
类
类是一种一组对象的描述,这些对象具有相同的属性、操作、关系和语义。它是系统词汇中事物的抽象。类是最常用的UML建模元素,可以表示软件、硬件或概念性事物。
属性和操作
- 属性:我们感兴趣的类的属性。
- 操作:该类的对象可以执行的事情。
表示法
类的表示法是一个矩形,其中包含一个必填的名称部分。可选部分可以显示类的属性和操作。
意义层次
类可以存在于不同的意义层次上,包括分析、设计和实现层次。
抽象类和具体类
- 抽象类: 一个不能直接实例化的类。其名称可能是斜体。
- 具体类: 一个可以拥有独立实例的类。
类作用域属性和操作
一个类可以被视为一个全局对象。类作用域属性是这个隐式对象的属性,而类作用域操作作用于类本身,而不是作用于某个对象。
构造型
一个类可以用尖括号(« 和 »)表示构造型。构造型表示模型元素的一个特殊类别或语法中的一个新术语。
创建操作
一个类可能有一个创建操作(构造函数),在类中以带下划线的操作形式显示。
关系
类图还显示类之间的关系,包括:
- 关联: 描述给定类的各个对象之间的语义连接。
- 泛化: 将父分类器(超类)的一般描述与更具体的子分类器(子类)联系起来。
- 依赖: 显示元素之间的关系,例如抽象层次、模板参数、权限或使用情况。
实例和对象
- 对象: 一个类的实例。它是一个具有身份的个体,其结构和行为由类描述。
- 状态: 对象属性的当前值。
符号表示
UML实例规范(对象)的符号表示是一个带有名称字段必选区域的方框,该区域包含对象名称、“:”以及实例化类的名称。可选的第二个区域可以显示槽(属性及其当前值)。实例的名称是带下划线的。
图的内容
实例可以出现在类图和对象图中。类可以通过虚线箭头连接到其实例,以表示依赖关系。
图示内容
类图包含类、接口、协作关系和关系。它们也可能包含注释和约束。类图可以包含包或子系统,以将模型元素组合成更大的模块。
类图的用途
类图用于建模系统的静态设计视图。它们可用于:
- 建模系统的词汇。
- 建模类之间的协作关系。
- 建模逻辑数据库模式。
与其他图示的关系
类图与其他图示相关,例如:
- 对象图:展示类的实例及其关系。
- 组件图和部署图:类似于类图,但分别包含组件和节点。
抽象
类图是一种抽象形式,提供系统的简化视图,在保留关键细节的同时隐藏不必要的复杂性。
多个图示
通常需要多个类图来展示系统的完整静态视图。每个图应专注于系统的特定方面。
图示作为投影
类图是模型中的一个投影,是元素集合的图形化展示。
正向与逆向工程
类图可用于模型和代码的正向与逆向工程。
元模型
UML的抽象语法使用MOF模型来展示UML语法。这些MOF模型使用UML结构图的一个子集。抽象语法图中的方框是«元类»。UML的元素是这些«元类»的实例。
类图示例
图书馆系统
让我们考虑一个简单的图书馆系统,以说明类图的关键概念。
类
- 书: 代表图书馆中的一本书。
- 属性:
书名,作者,ISBN - 操作:
借书(),还书()
- 属性:
- 读者: 代表图书馆读者。
- 属性:
姓名,会员编号 - 操作:
借书(),还书()
- 属性:
- 图书管理员: 代表图书管理员。
- 属性:
姓名,员工编号 - 操作:
添加书籍(),removeBook()
- 属性:
关系
- 关联:
- 一个
读者可以借阅多个书籍本。 - 一个
图书管理员可以管理多个书籍本。
- 一个
- 泛化:
读者和图书管理员可以泛化为一个人员类。
- 依赖:
- 该
图书馆系统类依赖于书籍,读者,以及图书管理员.
- 该
实例
- 对象:一个
书具有标题= “UML入门指南”,作者= “约翰·多”,ISBN= “1234567890”.
电子商务系统
让我们考虑一个电子商务系统,以进一步说明这些概念。
类
- 产品:表示商店中的一个产品。
- 属性:
名称,价格,库存 - 操作:
addToCart(),removeFromCart()
- 属性:
- 顾客: 代表一个客户。
- 属性:
姓名,客户编号 - 操作:
下单(),查看订单历史()
- 属性:
- 订单: 代表客户下的订单。
- 属性:
订单编号,日期,状态 - 操作:
计算总价(),发货()
- 属性:
关系
- 关联:
- 一个
客户可以下多个订单。 - 一个
订单可以包含多个产品s.
- 一个
- 泛化:
客户和管理员可以泛化为一个用户类。
- 依赖关系:
- 该
电子商务系统类依赖于产品,客户,以及订单.
- 该
实例
- 对象:一个
产品的实例,其名称= “笔记本电脑”,价格= “$999.99”,库存= “100”.
结论
理解UML类图的关键概念对于有效建模系统的静态结构至关重要。类图提供了一种清晰简洁的方式来表示类、其属性、操作和关系。通过掌握这些概念并将其应用于实际案例,你可以创建出有意义且有用的图表,以捕捉系统设计的核心。无论你是经验丰富的开发者还是该领域的新人,UML类图都是可视化和沟通复杂系统的一种强大工具。
愉快建模!
参考文献
- UML类图教程
- UML类图教程
- 本全面指南深入介绍了UML类图,包括如何有效创建和使用它们。它还突出了Visual Paradigm社区版的功能,这是一款免费的UML软件。
- 免费类图工具
- 免费类图工具
- Visual Paradigm Online提供了一个免费版本,用于创建类图和其他UML图。该工具易于使用,并支持多种图类型,对图的数量或形状没有限制。
- 什么是类图?
- 什么是类图?
- 本文解释了UML中类图的基本知识,包括其结构和组成部分。同时,还介绍了如何使用Visual Paradigm来创建这些图表。
- 如何绘制类图?
- 如何绘制类图?
- 一份使用Visual Paradigm绘制类图的逐步指南,包括创建枚举和连接成员的技巧。
- 在线类图软件
- 在线类图软件
- Visual Paradigm的在线类图工具设计得快速且直观,使用户能够快速且协作地创建专业的UML图。
- UML图:全面指南
- UML图:全面指南
- 本指南涵盖了各种类型的UML图,包括类图,以及它们在软件工程中的重要性。它讨论了类图如何描绘系统的静态结构以及类之间的关系。
- UML类图全面指南
- UML类图全面指南
- 本文详细概述了UML类图、其组成部分,以及它们在系统设计不同阶段的应用。同时提到了使用Visual Paradigm来创建这些图表。
- Visual Paradigm中UML图简介
- Visual Paradigm 中的 UML 图表简介
- 本文介绍了 Visual Paradigm 支持的各种 UML 图表类型,重点介绍了类图在建模系统静态结构中的作用。
- 通过 Visual Paradigm 学习类图
- 通过 Visual Paradigm 学习类图
- 一份逐步指南,介绍如何使用 Visual Paradigm 创建类图,包括保持图表简洁明了的最佳实践。
- 探索 UML:14 种图表类型的概述及其在敏捷环境中的相关性
- 探索 UML:14 种图表类型的概述及其在敏捷环境中的相关性
- 本文概述了各种 UML 图表类型,包括类图,以及它们在敏捷软件开发环境中的相关性。
这些参考资料提供了对类图和 UML 的全面理解,以及使用 Visual Paradigm 创建这些图表的实用指南。












