UML统一建模语言

27次阅读

共计 2319 个字符,预计需要花费 6 分钟才能阅读完成。

一、什么是 UML

UML 全称是:Unified Modeling Language 又称统一建模语言或标准建模语言。

统一建模语言 UML 是 OMG(Object Management Group)在 1997 年发表的图标式软件设计语言,它综合了很多种当时已经存在的面向对象的建模语言、方法和过程。

二、为什么我们要使用 UML?

软件工程的目标:利用工程化的方法在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件. 提高软件产品的质量和开发效率,减少维护的困难随着软件工程地进展,IT 界想用一种语言来描述它们完成的需求,设计,但是不同的公司开发了自己的产品。于是乎,为了统一起来,就有了 OMG 组织

【ObjectManagementGroup 对象管理组织】,这个组织让这种描述需求、设计的语言统一了,就称作是 UML 了。也就是说,UML 用来给我们设计,需求分析。

三、类图

类图 (Class Diagram) 是显示类、接口以及它们之间的静态结构和关系的图。类图最基本的元素是类或接口。

如下图:

第一层是类名。类名不能省略,必须显示

第二层是属性层。一个属性可以是 public、private 或 protected。一个属性的左面如果有一个加号(+),表示它是 public; 左面如果是一个减号(-),表示它是 privae; 左面如果是一个(#),表示它是 protected。

第三层是方法层。一个方法可以是 public、private 或 protected。一个方法的左面如果有一个加号(+),表示它是 public; 左面如果是一个减号(-),表示它是 privae; 左面如果是一个(#),表示它是 protected; 如果方法下面有一个下划线,表明是一个静态的方法。

类图用于描述系统中的类与类之间的各种关系

1. 继承(泛化)

概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在程序中是通过继承类实现的。比如狗是对动物的具体描述,在面向对象设计的时候一般把狗设计为动物的子类。

表示方法:空心三角形箭头的实线,子类指向父类。

2. 实现

概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述。

表示方法:空心三角形箭头的虚线,实现类指向接口.

3. 依赖

概念:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖,在程序中一般表现为类 A 中的方法需要类 B 的实例作为其参数或者变量,而类 A 本身并不需要引用类 B 的实例作为其成员变量。

表示方法:虚线箭头,类 A 指向类 B。


4. 关联

概念:表示类与类之间的联接, 它使一个类知道另一个类的属性和方法,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,在程序中被关联类 B 以类属性的形式出现在关联类 A 中,也可能是关联类 A 引用了一个类型为被关联类 B 的全局变量。

表示方法:实线箭头,类 A 指向类 B

5. 聚合

概念:聚合关联关系的一种特例,是强的关联关系。聚合是整体和个体之间的关系,即 has- a 的关系,整体与个体可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。程序中聚合和关联关系是一致的,比如计算机与 CPU、公司与员工的关系等; 表现在代码层面,和关联关系是一致的,只能从语义级别来区分表示方法:尾部为空心菱形的实线箭头(也可以没箭头),类 A 指向类 B

6. 组合

概念:组合也是关联关系的一种特例。组合是一种整体与部分的关系,即 contains- a 的关系,比聚合更强。部分与整体的生命周期一致,整体的生命周期结束也就意味着部分的生命周期结束,组合关系不能共享。程序中组合和关联关系是一致的,只能从语义级别来区分。

表示方法:尾部为实心菱形的实现箭头(也可以没箭头),类 A 指向类 B

四、用例图

用例图显示谁将是系统的使用者、用户希望系统提供什么服务以及系统能够为用户提供什么样的服务; 从用户的角度描述系统的功能。用例图最常用来描述系统以及子系统

下图是描述一个论坛网站,游客、会员与管理员可以使用不同的功能的用例图

五、时序图

时序图有时又叫做序列图、活动序列图。作为交互图的一种,序列交互图按照时间顺序从上到下显示每个使用案例。下图所示的例子是一个普通网站登录的时序图。

六、UML 建模工具

有很多工具可以帮助我们画出 UML 图。这样的工具包括如下内容:

Rational Rose

Rational Rose 是 Rational 公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。

下载地址:www.rational.com 收费软件

UDE – community

JUDE 是一个中日合作的软件项目,有商业化的 Professional 版本和免费的 Community 版本,最大的区别是免费版的不支持 UML 2.0,对于一般应用足够了。

下载地址:http://astah.net/editions/community 有收费和免费的

BOUml

一个免费的 UML 2 工具箱,支持 C ++,Java 以及 Idl。

下载地址:http://bouml.free.fr/ 免费

Microsoft Visio

Microsoft Visio 是 Windows 操作系统下运行的流程图和矢量绘图软件,它是 Microsoft Office 软件的一个部分可以绘制 UML 图,本文档建模工具选择就是 Visio.

下载地址:www.microsoft.com 收费软件

七、总结

通过以上讲解,在软件开发的过程中,可以使用 UML 建模语言对项目中的业务进行分析和设计,掌握了这些图形的创建可以帮助开发团队以一种可视化的方式理解系统的功能需求。

正文完
 0