统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML使用面向对象设计的建模工具,但独立于任何具体程序设计语言。
UML模型被划分为两类语义域:
- 结构语义定义了在建模域中关于个体的UML结构化模型元素的含义,这个含义可能只在某个特定的时间点是正确的,该类别有时也被称为静态语义。
- 行为语义定义了在建模与中关于个体如何随着时间变化而做出不同性为UML行为模型元素。该类别有时也被称为动态语义。
UML概念模型主要由三部分组成:基本的构造块、运用于这些构造块的通用机制和组织UML视图的架构。
- 构造块
在UML中,事物代表基本的面向对象构造块,主要包括以下4种类型(结构事物、行为事物、分组事物、注释事物)
关系将UML的事物连接起来,构造出结构良好的UML模型,在UML中有4种基本关系(依赖、关联、泛化和实现)
模型是所有事物关系的知识库,创建模型有助于描述正在设计的软件系统的所需行为。模型中有很多元素、元素之间有很多关系,这些都需要展示给用户,这种展示就是通过UML的图来实现的。
- 通用机制
UML提供了4种通用机制,它们被一致地应用到模型中,描述了达到对象建模目标的4中策略,并在UML的不同语境中被反复运用。
- 规格说明(提供了对构造块的语法和语义的文字叙述)
- 修饰(Uml表示法中的每一个元素都有一个基本符号,可以把各种修饰细节添加到这些符号上,这意味着,能够仅适用带有一个或两个修饰的基本记号来构造非常高级的模型,然后修饰模型,添加信息)
- 通用划分(类元和实例、结构和实现、类型和角色)
- 扩展机制(Uml提供了灵活的扩展机制,可以以受控的方式扩展该语言)
- 外廓和外廓图(外廓是基于UML元素的子集为特定领域定义UML的一个特定版本,即定义了一组对UML 已有模型的扩展和限定机制,以用于某个特定领域)
- 架构
UML提供了丰富的模型图来表达系统的各个方面,这些图形之间并不是完全独立的,他们之间存在着千丝万缕的联系。在软件开发的各个阶段,每种图形都有不同的用法和侧重点,这就给普通用户的使用带来了很大的困扰。
UML标准只是提出来这些图形的语法模型和语义模型,并没有针对这些图形的使用提供很好的支持。为了有效的利用这些模型,我们就需要结合不同的软件工程过程,定义组织出图形的机构。