统一建模语言UML概念和功能简介
本节向大家介绍一下统一建模语言UML,主要包括UML基本概念和功能两大部分内容,希望通过本节的学习大家能够掌握统一建模语言UML的一些基本知识。
统一建模语言UML概述
1.基本概念
UML(统一建模语言,UnifiedModelingLanguage)是OMG(ObjectManagementGroup)组织在1997年发表的图标式软件设计语言,是一个绘制软件概念图的图形化记法(notation)。人们可以用它绘制图形,用这些图形来表示一个计划进行的软件设计的问题域,或者用这些图来表示一个已经完成的软件实现。
统一建模语言UML综合了当时很多种已存在的面向对象的建模语言、方法和过程,主要包括:
BoochMethod
Object-OrientedSoftwareEngineening
Schlaer-Mellor
Coad-Yourdon
ObjectModeingTechnique
UML可分为三个种不同的层次:概念层(Conceptual)、规格说明层(Specification)和实现层(Implementation)
概念层上的图形与源代码没有什么严格的关系,它们与人类自然语言相关。它们是用来描述有关已经存在的人类的问题领域的概念和抽象的速记。它们无须遵从严格的语义规则,因此它们的意思理解会有歧义、主题可被解释。
规格说明层和实现层的图形与源代码有明显的关系,实际上,规格说明层的图是准备用来转换成成源代码的,类似地,实现层的图是打算用来描述已经存在的源代码的。在这些层次的图形,有许多规则和语义学要遵从,这些图较少有歧义,基本上都有严格的格式。
举例:一条狗(Dog)是一只动物(Animal)。
表示这句话的一个概念层次的统一建模语言UML图如下
这个图描绘了通过泛化(generalization)关系连接起来的称为Animal(动物)和Dog(狗)的两个实体。Animal是Dog的泛化,一条Dog是一种特定的Animal。这是所有这张图的意义了,没有什么其他意思可以从中推断出来了。这个概念模型没有涉及任何有关计算机、数据处理和程序。我们可以声称,我们的宠物狗是一只动物,我们或者可以谈到属于动物界的生物学的分类上去。因此,这张图是主题可解释的。
不过,这张图在规格说明层次和实现层次上有更明确的意思:
这些代码定义了通过继承关系连接的Animal类和Dog类,这个规格说明模型描述了程序的一部分。
一个概念层次上的图没有定义源代码,也不应该去定义源代码。一个描述了某个问题解决方法的规格说明层次的图,也不会去寻找任何像概念层那样的问题的描述。
2.统一建模语言UML的功能
对一个软件系统来说,UML具有以下主要功能[BOOCH99]:可视化功能;说明功能;建造功能和文档化功能。
可视化(Visualizing)功能
这是非常有价值的,从一个可视化的图上去评估一个系统的依存结构比从代码中去评估容易多了。
可视化可以促进对问题的理解,并且方便设计师彼此交流和沟通。
可以比较容易的发现设计图中可能存在的逻辑错误,避免和减少意外发生。
说明(Specifying)功能
提供了一种通用的,精确的,没有歧义的机制,来对一个软件系统进行说明。
建造(Costructing)功能
UML提供了自己的标准语法规则,可以使用建模工具软件对一个系统设计模型进行解释,并将设计模型映射到计算机语言(如Java)上。也就是说,可以加快系统的设计,实现过程。
通过统一建模语言UML可以反映系统的总貌。这样,当系统设计首先完成后,可以比较容易的发现可以复用的部分,从而降低开发成本。