【UML】类图Class diagram(转)

http://blog.csdn.net/sds15732622190/article/details/48860711

前言

        说到UML,相信大家就能立刻反应出其中的类图,为什么这么说呢,类图和用例图我觉得是UML最精髓的部分,在软件开发与管理中起着巨大的作用。接下来介绍一下类图。

定义

        由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。

组成

如例图,类一般由名称,属性和方法组成。分别写在三个方框里。

类(Class)

1、类名

不可省略。
书写规范:正体字(可被实例化),斜体字(抽象类)。

2、属性(attributes)

书写规范:修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]
可见性修饰符:(+)public;(-)private;(#)protected;(默认)package(包)级别的可见性。

3、方法

同属性。

关系

泛化(Inheritance)

表示方法:直线加空心三角形。
①单重继承(一个子类有且只有一个父类)
②多重继承(一个子类有两个或两个以上父类)

关联关系(Association)

①简单关联

表示方法:直线

(1)单向关联(使用箭头)

(2)双向关联

(3)自身关联

②聚合关系(Aggregation)

整体和部分,松耦合,可以独立存在,时间不分先后。

表示方法:空心菱形。

③组合关系(Composition)

整体和部分,紧耦合,不可独立存在,时间存在先后。

表示方法:实心菱形。

依赖关系(Dependency)

即为使用关系。
表示方法:虚线箭头。

实现关系

一个类元描述了另一个类元保证实现的契约。
表示方法:虚线加空心三角。

协作

        协作是指一些类、接口和其他的元素一起工作提供一些合作的行为,这些行为不是简单地将元素加能得到的。例如:当你为一个分布式的系统中的事务处理过程建模型时,你不可能只通过一个类来明白事务是怎样进行的,事实上这个过程的执行涉及到一系列的类的协同工作。使用类图来可视化这些类和他们的关系。

接口

类和接口的实现关系,接口用圆表示。

要点

1、给定一个软件系统,根据软件系统特征抽象得到类。
2、抽象得到每个类的属性方法。
3、正确表达出类和类的关系。(不能只用依赖关系(太弱);能用关联时要用关联;能用组合就不用聚合;能用聚合就不用一般关联;能用一般关联就不用依赖;该用接口实现的要用接口实现;需要继承的要用继承。)
4、用准确关系进行建模后要进行修饰(名称,属性等)。

机房收费系统类图

      欢迎大家提出宝贵的建议。

总结

        我感觉类图是UML图中相对较难的一张,如何画好类图是我们需要学习的,如何完整的找出具体类,抽象类不是画一两张图就能学会的,所以我们要多把握画图的机会,画好类图,学好UML。
原文地址:https://www.cnblogs.com/telwanggs/p/6782398.html