标签:uml 类图 用例图
题记:记录学习的UML用例图与类图的基本知识。
一、UML的用例图:
UML的用例图的用途:帮助开发团队一一种可视化的方式理解系统的功能需求。
UML用例图包含的元素:(1)参与者:表示与你的应用程序或系统进行交互的用户组织或外部系统(ps:用一个小人表示)。
(2)用例:用例就是外部可视的系统功能,对系统提供的服务进行描述(ps:用椭圆表示)。
(3)子系统:用来展示系统的一部分功能。这部分功能联系紧密。
UML用例图中的关系主要包含5种:(1)关联(2)泛化(3)包含(4)扩展
关联:表示参与者与用例之间的通信,任何一方都可发送或接受消息。(ps:箭头指向——指向消息接收方)
泛化:就是通常理解的继续关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。(ps:箭头指向——指向父用例)
包含:包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。(ps:箭头指向——指向分解出来的功能用例)。
扩展:扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。(ps:箭头指向——指向基础用例)。
二、UML的类图:
类图:类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物。也是系统编码和测试的重要模型依据。
在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)、边界类(Boundary Class)。
(1)实体类:实体类对应系统需求中的每个实体,它们通常要保存在永久存储介质中,一般使用数据库表和文件记录,实体类既包含存储和传递数据的类,还包含操作数据的类。实体类来源于需求说明中的名词,如用户,商家等。
(2)控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语转化来的名词,如增加商品对应有一个商品增加类,注册对应一个用户注册类。
(3)边界类:边界类用于对外部用户与系统之间的交互对象进行抽象。
类的UML图示:
在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示。如下图:
在UML类图中,类一般由三部分组成:(1)类名(3)类的属性(3)类的操作。如上图中的UML类图中,Employee代表类名,name、age、email代表类的属性,modifyInfo()代表类的操作。(ps:“-”代表private,"+"代表public,"#"代表protected)
类与类之间的关系:在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。类与类之间的关系主要有:(1)关联关系(2)依赖关系(3)泛化关系(4)接口与实现关系。
1、关联关系:关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如班级和学生等。在UML类图中,用实线链接有关联关系的对象所对应的类,在使用Java编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。
2、依赖关系:依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。在系统实施阶段,依赖关系通常通过三种方式来实现,第一种也是最常用的一种方式是将一个类的对象作为另一个类中方法的参数,第二种方式是在一个类的方法中将另一个类的对象作为其局部变量,第三种方式是在一个类的方法中调用另一个类的静态方法。
3、泛化关系:泛化关系也就是继承关系,用于描述父类与子类之间的关系。在UML中,泛化关系用带空心三角形的直线来表示。
4、接口与实现关系:接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系,在这种关系中,类实现了接口,类中的操作实现了接口中所声明的操作。在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示。
在UML中,关联关系通常又包含如下几种形式:(默认情况下,关联是双向的)
(1)双向关联(2)单向关联(3)自关联(4)多重性关联(5)聚合关系(6)组合关系。
(1)双向关联:默认情况下,关联是双向的。
(2)单向关联:类的关联关系也可以是单向的,单向关联用带箭头的实线表示。
(3)自关联:在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。
(4)多重性关联关系:多重性关联关系又称为重数性关联关系,表示两个关联对象在数量上的对应关系。在UML中,对象之间的多重性可以直接在关联直线上用一个数字或一个数字范围表示。对象之间可以存在多种多重性关联关系,常见的多重性表示方法如下图所示:
(5)聚合关系:聚合关系表示整体与部分的关系。在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。在UML中,聚合关系用带空心菱形的直线表示。
(6)组合关系:组合关系也表示类之间整体和部分的关系,但是在组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系。在UML中,组合关系用带实心菱形的直线表示。
UML用例图与类图的基本知识的了解
标签:uml 类图 用例图
原文地址:http://blog.csdn.net/android_jiangjun/article/details/44887601