类图(Class diagram)
定义:类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。用来定义系统中的类,包括描述类的结构和类之间的关系。类图的主要作用于描述系统的静态结构。
个人理解:在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。类图可以说是是UML中最重要的图,类图画好了,其它的图画起来就轻松得多。
类图的组成:
(1) 类名:每个类都必须有一个名字,数据类型为字符串型。
(2) 属性:指类的性质,即类的成员变量。一个类可以有多个属性,也可以没有属性。
UML类图中属性的声明格式为:可见性+名称:类型
可见性:表示该属性对于类外的元素而言是否可见,包括公有(public)、私有(private)和受保护(protected)三种,在类图中分别用+、—、#来表示。
(3) 操作:是类的行为方法,类任意一个实例化的对象都可以使用的行为。
UML类图中操作的声明格式为:可见性 名称(参数列表) [ : 返回类型]
返回类型:是可选项,表示方法的返回值类型,依赖于具体的编程语言,可以是基本数据类型,也可以是用户自定义类型,还可以是空类型(void),构造方法不返回值。
类图中的关系:
关联、依赖、泛化、实现,在我的博客UML的四种关系(如需浏览请猛戳红色字体)中已经详细阐述过了,此处不再赘述。
以机房收费系统为例,做简单的类图如下:
注:上图只是做一个示例,不要当做规范,因为里边没有加入三层架构的内容,可以说,怎么画都是错的。
附:三层到底是哪三层?
三层架构(3-tier architecture) :通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。
小结:在画类图的过程中,最重要的的工作就是确定类,从系统中抽象出我们需要的类,类一定要精细化,如用户类中再抽象出一般用户类、操作员类、管理员类。最后就是根据实际情况确定类的属性和操作以及类之间的关系。
感谢每天努力的自己,为自己加油!