UML – 类图
类图是一个静态图。它表示一个应用程序的静态视图。类图不仅用于可视化,描述和记录一个系统的不同方面,而且还用于构建软件应用程序的可执行代码。
类图描述了类的属性和操作,也描述了对系统的约束。类图在面向对象系统的建模中被广泛使用,因为它们是唯一的UML图,可以直接与面向对象语言进行映射。
类图显示了类的集合、接口、关联、协作和约束。它也被称为结构图。
类图的目的
类图的目的是为一个应用程序的静态视图建模。类图是唯一可以与面向对象语言直接映射的图,因此在构建时被广泛使用。
像活动图、顺序图这样的UML图只能给出应用程序的顺序流,然而类图则有点不同。它是编码者社区中最流行的UML图。
类图的目的可以概括为 —
- 分析和设计一个应用程序的静态视图。
-
描述一个系统的职责。
-
组件图和部署图的基础。
-
正向和反向工程。
如何绘制类图
类图是用于构建软件应用程序的最流行的UML图。学习类图的绘制过程是非常重要的。
类图在绘制时有很多属性需要考虑,但这里将从顶层的角度考虑类图。
类图基本上是系统的静态视图的图形表示,代表了应用程序的不同方面。一个类图的集合代表了整个系统。
在绘制类图时应记住以下几点
- 类图的名称应该是有意义的,以描述系统的各个方面。
-
每个元素和它们的关系都应该事先确定。
-
每个类的责任(属性和方法)应该被清楚地确定。
-
对于每个类,应指定最少的属性数量,因为不必要的属性会使图变得复杂。
-
每当需要描述图表的某些方面时,应使用注释。在绘图的最后,它应该是开发者/编码者可以理解的。
-
最后,在制作最终版本之前,应该在普通纸上绘制图表,并尽可能多次返工,使其正确。
下面的图是一个应用程序的订单系统的例子。它描述了整个应用程序的一个特定方面。
- 首先,订单和客户被确定为系统的两个元素。它们有一对多的关系,因为一个客户可以有多个订单。
-
订单类是一个抽象的类,它有两个具体的类(继承关系)SpecialOrder和NormalOrder。
-
这两个继承的类具有与订单类一样的所有属性。此外,它们还有额外的函数,如dispatch()和receive()。
考虑到上面提到的所有问题,我们绘制了下面的类图。
在哪里使用类图
类图是一种静态图,它被用来模拟系统的静态视图。静态视图描述了系统的词汇量。
类图也被认为是组件图和部署图的基础。类图不仅用于可视化系统的静态视图,而且还用于构建任何系统的正向和反向工程的可执行代码。
一般来说,UML图不直接与任何面向对象的编程语言进行映射,但类图是一个例外。
类图清楚地显示了与面向对象语言的映射,如Java、C++等。从实践经验来看,类图一般用于构建目的。
简而言之,可以说,类图是用于 −
-
描述系统的静态视图。
-
显示静态视图中各元素之间的协作。
-
描述系统所执行的功能。
-
使用面向对象的语言构建软件应用程序。