UML是统一建模语言的缩写,是一种标准化建模语言,
由一组集成图组成,旨在帮助系统和软件开发人员指定、可视化、构建和记录软件系统的工件,以及用于业务建模和其他非软件系统。
UML 代表了一组最佳工程实践,这些实践已被证明在大型复杂系统的建模中是成功的。

UML是开发面向对象软件和软件开发过程中非常重要的一部分。
UML 主要使用图形符号来表达软件项目的设计。
使用 UML 有助于项目团队进行交流、探索潜在的设计并验证软件的架构设计。

在本文中,我们将为您详细介绍什么是 UML,UML 的起源UML 的目标是提供一种标准符号,可以被所有面向对象的方法使用,并选择和集成前体符号的最佳元素。UML 被设计用于广泛的应用程序。因此,它为广泛的系统和活动(例如,分布式系统、分析、系统设计和部署)提供了结构。
UML 是一种由 OMT 统一产生的符号

1.对象建模技术OMT [ James Rumbaugh 1991] - 最适合分析和数据密集型信息系统。
2. Booch [ Grady Booch 1994] - 非常适合设计和实施。
Grady Booch 与Ada语言进行了广泛的合作,并且是该语言的面向对象技术开发的主要参与者。
虽然 Booch 方法很强大,但符号不太受欢迎(很多云形状主导了他的模型 - 不是很整齐)
3.OOSE(面向对象的软件工程 [ Ivar Jacobson 1992]) - 以一个称为用例的模型为特色。用例是一种强大的技术,可用于理解整个系统(OO 传统上薄弱的领域)的行为。

1994 年,OMT 的创建者 Jim Rumbaugh 在离开通用电气并加入 Rational Corp 的 Grady Booch 时震惊了软件界。

合作的目的是将他们的想法合并为一个单一的、统一的方法(该方法的暂定名称)。方法确实是“统一方法”)。

到 1995 年,OOSE 的创建者 Ivar Jacobson 也加入了 Rational,他的想法(尤其是“用例”的概念)被输入到新的统一方法 - 现在称为统一建模语言

 1。Rumbaugh、Booch 和 Jacobson 的团队被亲切地称为“三人组”UML 也受到其他面向对象表示法的影响:梅勒和施莱尔 [1998]科德和尤登 [1995]Wirfs-Brock [1990]马丁和奥德尔 [1992]UML 还包括当时其他主要方法中不存在的新概念,例如扩展机制和约束语言。UML 的历史

1.  1996 年,对象管理组 (OMG ) 发布的第一个提案请求 (RFP)为这些组织联合起来制定联合 RFP 响应提供了催化剂。

2.  Rational 与几个愿意投入资源致力于强大的 UML 1.0 定义的组织建立了 UML 合作伙伴联盟。那些对 UML 1.0 定义贡献最大的人包括:
数码设备公司
生命值
i-Logix智能公司
IBM
图标计算
MCI系统屋
微软
甲骨文
理性软件
德州仪器
优利系统

这种合作产生了 UML 1.0,这是一种定义良好、表达能力强、功能强大且普遍适用的建模语言。

这在 1997 年 1 月作为初始 RFP 响应提交给 OMG。11997 年 1 月,IBM、ObjecTime、Platinum Technology、Ptech、Taskon、Reich Technologies 和 Softeam 也分别向 OMG 提交了 RFP 响应。这些公司与 UML 合作伙伴一起贡献了他们的想法,并且合作伙伴共同产生了修订后的 UML 1.1 响应。UML 1.1 版本的重点是提高 UML 1.0 语义的清晰度并吸收新合作伙伴的贡献。它在 1997.1 秋季提交给 OMG 供他们考虑并通过,将 1.1 增强到 1.5,随后从 01 到 06 到 UML 2.1(现在 UML 当前版本是 2.5)

为什么选择 UML

随着软件对许多公司的战略价值的增加,该行业正在寻找自动化软件生产和提高质量、降低成本和缩短上市时间的技术。
这些技术包括组件技术、可视化编程、模式和框架。随着范围和规模的增加,企业还寻求管理系统复杂性的技术。
特别是,他们认识到需要解决重复出现的架构问题,例如物理分布、并发性、复制、安全性、负载平衡和容错。
此外,万维网的发展虽然使一些事情变得更简单,但也加剧了这些架构问题。

统一建模语言 (UML) 旨在响应这些需求。
1.为用户提供即用型、富有表现力的可视化建模语言,以便他们开发和交换有意义的模型。
2.提供可扩展性和专业化机制来扩展核心概念。
3.独立于特定的编程语言和开发过程。
4.为理解建模语言提供正式的基础。
5.鼓励 OO 工具市场的增长。

6.支持更高级别的开发概念,例如协作、框架、模式和组件。
7.整合最佳实践。

UML - 概述

在我们开始研究 UML 理论之前,我们将简要介绍一下 UML 的一些主要概念。

关于 UML,首先要注意的是有很多不同的图表(模型)需要习惯。这样做的原因是可以从许多不同的角度看待一个系统。软件开发将有许多利益相关者参与。

例如:
分析师
设计师
编码员
测试人员
质量保证
客户
技术作者

所有这些人都对系统的不同方面感兴趣,每个人都需要不同程度的细节。例如,编码人员需要了解系统的设计并能够将设计转换为低级代码。相比之下,技术作家对整个系统的行为感兴趣,需要了解产品的功能。UML 试图提供一种表达能力很强的语言,以使所有利益相关者都可以从至少一个 UML 图中受益。下面快速浏览一下这 13 个图表中的每一个,如下面的 UML 2 图表结构所示:结构图显示了系统的静态结构及其在不同抽象和实现级别上的部分,以及它们之间的关系。结构图中的元素代表系统的有意义的概念,可能包括抽象概念、现实世界和实现概念,结构图有以下七种类型:

类图
组件图
部署图
对象图
封装图
复合结构图
剖面图
行为图

显示了系统中对象的动态行为,可以描述为系统随时间发生的一系列变化,行为图有以下七种类型:
用例图
活动图
状态机图
序列图
通讯图
交互概览图
时序图<img src="



"/>