首页 > 其他 > 详细

UML建模(五)类图

时间:2014-03-22 22:56:19      阅读:676      评论:0      收藏:0      [点我收藏+]

1. 概述

类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。是定义其他图的基础,在类图的基础上可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。

类图包含的主要元素有类、接口、协作和关系。其中关系有依赖关系、泛化关系、关联关系和实现关系,类图也可以包含注释和约束,还可以包含包或子系统。

bubuko.com,布布扣

图1 类图模型

2. 类

2.1 类的表示

类是类图的主要组件,由3部分组成,即类名、属性及操作(或称为方法)。在UML中,类用矩形来表示,顶端部分存放类的名称,中间部分存放累的属性、属性的类型及值,底部部分存放类的操作、操作的参数和返回类型。

bubuko.com,布布扣

图2 User类图

User类具有两个属性,即username和password,数据类型都是String类型,User类还包含一个方法Login(),返回类型为Boolean。在UML中可以根据实际情况来选择隐藏属性部分或者操作部分,或者两者都隐藏。

2.2 类名

类名的首字母需要大写,如果类名由多个单词组成,则将这些单词合并,并且每个单词首字母大写。

2.3 属性

类的属性用于描述对象的特征,是类的一个组成部分。类可以有任意数目的属性,也可以没有属性。属性可以具有不同的可见性,即public、protected、默认、private。

2.4 操作

操作用于操纵属性或者执行其他的动作。通常把操作称为函数,但操作是位于一个类的内部,并且只适用于该类的对象。操作由操作名称、返回类型和参数组成。其中返回类型、名称和参数一起被称为操作签名。操作签名描述使用操作时所必须的所有信息。类的操作也有可见性和范围。

3. 接口

3.1 接口的表示

接口是在没有给出对象的实现和状态的情况下对对象行为的描述。接口包含操作不包含属性,没有对外界可见的关联。一个类可以实现一个或多个接口,并且所有的类都可以实现接口中的操作。

3.2 实现接口

bubuko.com,布布扣

3 实现接口

上图定义了Callback接口,Client类实现了Callback接口,TestFace类调用了Callback接口中的方法。

4. 关系

4.1 泛化关系

泛化的定义是一种存在于一般类别和特殊类别之间的分类关系。特殊类别的每一个实例也是一般类别的一个实例。因此特殊类别间接的具备了一般类别的各种特征。在编程语言中,通过从一般类(父类)到特殊类(子类)的继承类实现泛化。例如,男人类继承人类。

4.2 高级泛化关系

4.2.1 泛化组

UML提供了一个用于组织父类和子类之间各种不同关系的特征,即泛化组。泛化组是父类的划分规则,使建模人员可以从一个公共父类继承几组不同的子类。父类可以有一个或多个泛化组,用来表达子类可以有多种不同方式继承父类。

bubuko.com,布布扣                                                                                               bubuko.com,布布扣

                      图4 泛化方式一                                                                                                                                                         图5 泛化方式二

4.3 依赖关系

依赖关系表示一个模型元素(客户方)需要另一个模型元素(供应方)来达到某种目的,供应方的修改会影响客户方的执行结果。依赖关系表明一个客户方如果没有供应方的支持是不完整的。

bubuko.com,布布扣

图6 依赖关系

4.4 关联关系

4.4.1 表示

关联关系是一种结构关系,指明一个事物的对象与另一个事物的对象之间的联系。关联关系反映了对象之间相互依赖、相互作用的关系。

bubuko.com,布布扣

图7 关联关系

bubuko.com,布布扣

图8 关联关系中的角色

bubuko.com,布布扣

图9 多个类与一个类相关联

bubuko.com,布布扣

图10 为关联添加约束

有时两个类之间关联后有一个规则,可以通过关联线附近加注一个约束来说明。例如,医生给病人看病,但看病的顺序要按照病人挂号的顺序进行。所以再病人的附近用花括号加一个“ordered”来指明这个规则,即约束。

bubuko.com,布布扣

图11 多重性

一个医生可以给多名病人看病,就是关联的多重性。可以在关联线下方注明多重性的数值。

表示法 说明 表示法 说明
0 表示0个对象 1..n 表示1~n个对象
0..1 表示0~1个对象 n 表示n个对象
0..n 表示0~n个对象 * 表示许多对象
1 表示一个对象    

4.4.2 聚集

聚集是一种特殊的关联。表示一个类是由几部分组成的。部分类和由它们组成的类之间是一种整体与部分的关系。

bubuko.com,布布扣

图12 聚集关系

上图表明,人只有一个脑袋。菱形连线从部分指向整体。

4.4.3 三重关联

两个以上的类相互关联称为三重关联。

UML建模(五)类图,布布扣,bubuko.com

UML建模(五)类图

原文:http://blog.csdn.net/studynote/article/details/21799057

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!