UML图:特征、图表和类型

软件系统发展迅速且复杂,如果团队无法将架构可视化,就很难沟通设计决策。UML 提供了一种在编写任何代码之前即可共享的可视化符号。
为什么要使用 UML?完整历史
1990 世纪 XNUMX 年代是面向对象语言发展的时代,例如 C++. 这些面向对象的语言用于创建复杂但引人注目的系统。
由于所开发的系统复杂、难以理解,导致系统部署后面临设计和分析问题,很难向其他人解释该系统。
UML 一经推出,便有许多改变游戏规则的实验和方法被提出来,用于简化系统分析等困难的任务。
UML 是一种面向对象的统一建模语言。它是由 Rational 软件公司的杰出软件工程师 Grady Booch、Ivar Jacobson 和 James Rumbaugh 在 1994 年至 1995 年间发明的。它一直处于开发阶段,直到 1996 年。
UML 的三位发明者,即 Grady Booch、Ivar Jacobson 和 James Rumbaugh,都曾有过设计一种能够降低复杂性的语言的绝妙想法。
- Booch 的方法在物体的设计和构造过程中非常灵活。
- Jacobson 的方法提供了一种很好的解决用例问题的方法。它还提供了一种强大的高级设计方法。
- 事实证明,Rumbaugh 的方法在处理敏感系统时非常有用。
Later 随后,David Harel 发明的 UML 中引入了行为模型和状态图。
UML 于 1997 年被对象管理组织 (OMG) 认可为标准。自从 UML 被采用为标准以来,对象管理组织就负责管理它。
2005年,国际标准化组织批准UML成为ISO标准。它被各行各业用来创建面向对象的模型。
最新的 UML 版本是 2.5.1,于 2017 年 XNUMX 月发布。
UML 版本
| 日期 | 版本 | 关于我们 |
|---|---|---|
| 1997 年 11 月 | 1.1 | UML 被对象管理组织采用。这是 UML 的第一个版本。 |
| 2000 年 3 月 | 1.3 | 对现有模型进行了小幅升级,语义发生了显著变化, 符号,以及UML的元模型。 |
| 2001 年 9 月 | 1.4 | 这是 UML 的主要更新时期。它通过提供各种扩展来扩展 UML。在图表中引入了可见性、工件、构造型。 |
| 2003 年 3 月 | 1.5 | 程序、数据流机制等特征被添加到UML中。 |
| 2005 年 1 月 | 1.4.2 | UML 被 ISO 接受为标准。 |
| 2005 年 8 月 | 2.0 | UML 中增加了对象、包、时序、交互等新图表。活动图和序列图增加了新功能。协作图更名为通信图。现有图表中引入了多项功能和变化。 |
| 2006 年 4 月 | 2.1 | 对 UML 2.0 进行了修正。 |
| 2007 年 2 月 | 2.1.1 | Upgrade是在 UML 2.1 中引入的。 |
| 2007 年 11 月 | 2.1.2 | UML 2.1.1 被重新定义。 |
| 2009 年 2 月 | 2.2 | UML 2.1.2 错误已修复。 |
| 2010 年 5 月 | 2.3 | UML 2.2 进行了修订,对组件图做了微小的修改。 |
| 2011 年 8 月 | 2.4.1 | 类、包和原型都发生了变化。UML 2.3 经过修订,具有增强功能。 |
| 2015 年 6 月 | 2.5 | UML 2.4.1 进行了修订,改动不大。UML 比以前更加简洁。引入了快速运行和更高效模型生成功能。过时的功能被移除。模型和模板作为辅助结构也被取消。 |
UML的特点
- 它是一种通用建模语言。
- 它不同于以下软件编程语言: Python, C, C++等等。
- 它是一种图形语言,可以用来生成强大的建模元素。
- 它与面向对象的设计和分析相关。
- 它甚至在软件行业之外也有无限的应用。它可以用来可视化工厂的工作流程。
概念模型
在开始了解 UML 概念之前,必须了解概念模型的基础知识。
概念模型由相互关联的概念组成。它帮助我们理解
- 什么是物体?
- 如何发生交互来执行一个过程?
UML 需要概念模型。在实际建模系统之前,您必须了解实体及其之间的关系。
开始使用 UML 需要以下面向对象的概念:
- 摆件它是现实世界中的实体。单个系统中存在多个对象。它是 UML 的基本组成部分。
- 增益级类只不过是一个容器,用于维护对象及其关系。
- ABStracTION:它是一种表示实体而不显示实现细节的机制。它用于可视化对象的行为。
- 遗产:它是一种扩展现有类来创建新类的机制。
- 多态性:它是一种表示具有多种形式以用于不同目的的对象的机制。
- 封装:这是一种将对象和数据绑定为一个单元的方法。它确保对象和数据之间的紧密耦合。
以上也称为 基本构建块 UML。
什么是 UML 图?
UML图 是统一建模语言的输出。它是类、对象及其之间关系的图形表示。UML 图是描述系统一部分的模型。它用于定义系统的功能或设计。图表必须清晰简洁,以便查看者能够轻松理解。
UML 图分为三个不同的类别,例如,
- 结构图
- 行为图
- 交互图
UML 中的结构图
结构图用于表示系统的静态视图。它表示构成系统结构的系统的一部分。结构图显示系统内的各种对象。
以下是UML中的各种结构图:
- 类图
- 对象图
- 封装图
- 组件图
- 部署图
UML 中的行为图
任何现实世界的系统都可以用静态或动态形式来表示。如果系统既能用静态方式表达,又能用动态方式表达,则该系统是完整的。行为图表示系统的功能。
处理系统静态部分的 UML 图称为结构图。处理系统移动或动态部分的 UML 图称为行为图。
以下是UML中的各种行为图:
- 活动图
- 用例图
- 状态机图
UML 中的交互图
交互图不过是行为图的一个子集。它用于可视化系统各个用例元素之间的流程。交互图用于显示两个实体之间的交互以及数据在它们内部的流动方式。
以下是UML中的各种交互图:
- 时序图
- 时序图
- 协作图
上述图表的详细解释将在后续教程中说明。
结构型与行为型 UML 图
下表对比了两种 UML 图类型,以帮助团队选择合适的类型。
| 属性 | 结构图 | 行为图 |
|---|---|---|
| 查看 | 静止 | 动态 |
| 专注 | 组成部分及其关系 | 系统动作和交互 |
| 例子 | 类、对象、包、组件、部署 | 活动、用例、状态机 |
| 主要用途 | Archi结构和数据库设计 | 工作流程、用户旅程、状态转换 |
| 创建于 | 预先定义系统结构 | 对运行时行为和业务逻辑进行建模 |
UML 工具
市场上有许多工具可用于生成 UML 图。有些是基于桌面的,而有些则可以在线使用。以下是可用于创建 UML 模型的工具的精选列表:
- Edraw Max:- 了解更多
- Moqups:- 了解更多
- Visio:- 了解更多
- ConceptDraw:- 了解更多
- StarUML:- 了解更多
- 雨伞:- 了解更多
- UML 设计器工具: 了解更多
我们将使用 StarUML 用于生成 UML 图的应用程序。
安装步骤:打开链接: http://staruml.io/download
根据您的 PC 规格。下载任意版本的应用程序。这里我们将选择 Windows 选项。
应用程序下载完成后,请使用所有默认选项进行安装。安装完成后,启动应用程序。 StarUML 您电脑上的应用程序。
您将看到以下窗口,
您现在可以开始创建 UML 图。


