本节向大家介绍一下UML类图画法,主要包括UML类图元素和关系画法,希望通过本文的介绍,你对UML类图画法有一定的认识。
软件设计起步:UML类图画法
学习设计模式,画UML类图是基础,通过UML类图,能更好地和大家交流,也能很容易就表达出自己的设计想法,它就好比普通话,是一种标准语言。
现在流行的主要工具有两种:RationalRose和MicrosoftVisio,这两种工具都比较易用,选择哪种工具就看个人的喜好了。本人对Microsoft的软件比较有好感,所以自然MicrosoftVisio2003是我的首选。
UML类图常用元素。
类:
类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。
CPerson是一个抽象类,它是不能被实例化的,而CFamily可以被实例化。
接口:
接口是被调用者调用的一组操作方法。
其实CPerson也可以作为接口。
UML类图中常见的几种关系。
泛化(Generalization):
一句话,就是继承的表示。是is-a的关系。
依赖(Dependency):
UML类图画法中依赖是一种使用关系,它说明一个事物规范的变化可能影响到使用它的另一个事务,但反之则不然。依赖关系的表示法是虚线箭头,箭头尾部的元素依赖箭头头部的元素,是use-a的关系。
关联(Association):
用于描述类与类之间的连接,是has-a的关系。
聚合(Aggregation):
聚合是关联的特例。如果类与类之间的关系具有“整体和局部”的特点,则把这样的关联称为聚合。它往往有“包含”,“由……组成”的意思。
我这里举的都是平时UML类图画法常用的几种情况,当然UML还有很多知识我没有了解,比如关联就有许多种。
本节向大家介绍一下UML类图符号,只有掌握了UML符号的意义,你才能很好的使用,本节从八个方面向大家介绍UML类图符号,希望通过本节的学习你对UML类图符号有初步的认识。
UML类图符号简介
1. 类(Class):使用三层矩形框表示。
第一层显示类的名称,如果是抽象类,则就用斜体显示。
第二层是字段和属性。
第三层是类的方法。
注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。
2. UML类图符号之接口:使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。
第一行是接口名称。
第二行是接口方法。
3. UML类图符号之继承类(extends):用空心三角形+实线来表示。
4. UML类图符号之实现接口(implements):用空心三角形+虚线来表示
5.UML类图符号之 关联(Association):用实线箭头来表示,例如:燕子与气候
6. UML类图符号之聚合(Aggregation):用空心的菱形+实线箭头来表示
聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如:公司和员工
组合(Composition):用实心的菱形+实线箭头来表示
组合:部分和整体的关系,并且生命周期是相同的。例如:人与手
7. UML类图符号之依赖(Dependency):用虚线箭头来表示,例如:动物与氧气
8.UML类图符号之 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。
本节向大家介绍一下UML这个名词,主要包括为什么使用UML和UML中的图等内容,希望通过本节的学习大家对UML有一定的了解,下面让我们一起来学习UML吧。
设计模式——UML简介
1.UML
1.1UML是什么
一种创建程序模型的可视化语言,所谓的程序模型,就是程序的图形化表现形式。
1.2为什么使用UML
主要是为了交流,交流就需要在一个标准的平台上进行,比如中国人交流,都会在中文的平台上进行。UML提供了描述程序模型的一个标准,让开发人员、客户更好的进行交流。
为了交流的清晰,UML定义好不同的图来专门表示不同类型的信息,可以非常清晰的表达我们对系统的理解,以及该理解是否和其他人一致。
为了交流的精确,在交流前,UML强迫设计者必须认真思考他的设计方案,因为他需要把他的设计方案用UML画出来。
1.3UML中的图
1.3.1介绍
用例图,关注系统与客户的交互情况,即客户可对系统做什么?
活动图,关注业务的工作流,业务的逻辑情况。
交互图,关注业务或程序中互相交互的情况。
类图,关注类之间的关系。
状态图,关注系统各对象之间的不同状态以及状态之间的转换。
配置图,关注不同的模块之间如何配置。
1.3.2类图
UML图中最基本的就是类图,它描述类,并表现类之间的关系。
1.描述单个类:
需要注意的是:类名为斜体字表示该类为抽象类;类图中属性和方法前面的符号,它们表示属性和方法成员的可访问性。一般为:
公共的(Public):用加号(+)标记。
保护的(Protected):用(#)标记。
私有的(Private):用(-)标记。
描述类之间的关系:
类与类之间可分为4种关系:
UML类图中的泛化关系,比如派生、继承、拥有……。如同人可分为男人和女人一样。
UML类图中的组合关系,一个对象A是另一个对象B的一部分,且A这部分不能独立存在。如同轮胎和汽车一样,汽车没有轮胎不能称为“完整”的汽车,或汽车的功能不完整了。
UML类图中的聚集关系,一个对象A是另一个对象B的一部分,但是A这个对象可以独立存在,不影响对象B。如同飞机和飞机场一样,飞机飞走了,飞机场还是独立的,不受飞机在不在的影响。
UML类图中的使用关系,一个对象A使用了另一个对象B。如同小汽车使用汽车加油站一样。
1.3.3交互图
类图只能显示类之间的静态关系,要显示类的对象之间如何协调工作的,就需用交互图。
交互图就是显示对象之间如何交互的UML图。
1.4总结
记住UML图的作用,它只是提高你的设计和帮助表达你的设计,只是一种辅助手段、工具。所以不必过分考虑用正确的方法创建图,只需考虑表达你的设计种的概念的最佳方式。
当然,这也就意味着你不应该用不规范的方式使用UML,那样不利于正确的沟通。
在画图的时候,你只需考虑你试图表达的思想。