首页 > 其他分享 >统一建模语言 (UML)

统一建模语言 (UML)

时间:2022-12-27 13:03:53浏览次数:43  
标签:建模语言 系统 Booch 软件 UML 统一


什么是统一建模语言 UML?

  • ​​UML 的起源​​
  • ​​UML 的历史​​
  • ​​为什么选择 UML​​
  • ​​UML - 概述​​

统一建模语言 (UML)_ooc

UML是统一建模语言的缩写,是一种标准化建模语言,由一组集成图组成,旨在帮助系统和软件开发人员指定、可视化、构建和记录软件系统的工件,以及用于业务建模和其他非软件系统。UML 代表了一组最佳工程实践,这些实践已被证明在大型复杂系统的建模中是成功的。UML是开发面向对象软件和软件开发过程中非常重要的一部分。UML 主要使用图形符号来表达软件项目的设计。使用 UML 有助于项目团队进行交流、探索潜在的设计并验证软件的架构设计。在本文中,我们将为您详细介绍什么是 UML,

UML 的起源

UML 的目标是提供一种标准符号,可以被所有面向对象的方法使用,并选择和集成前体符号的最佳元素。UML 被设计用于广泛的应用程序。因此,它为广泛的系统和活动(例如,分布式系统、分析、系统设计和部署)提供了结构。

UML 是一种由 OMT 统一产生的符号

  • 对象建模技术 OMT [ James Rumbaugh 1991] - 最适合分析和数据密集型信息系统。
  • Booch [ Grady Booch 1994] - 非常适合设计和实施。Grady Booch 与Ada语言进行了广泛的合作,并且是该语言的面向对象技术开发的主要参与者。虽然 Booch 方法很强大,但符号不太受欢迎(很多云形状主导了他的模型 - 不是很整齐)
  • 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 的历史

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

Rational 与几个愿意投入资源致力于强大的 UML 1.0 定义的组织建立了 UML 合作伙伴联盟。那些对 UML 1.0 定义贡献最大的人包括:

  • 数码设备公司
  • 生命值
  • i-Logix
  • -智能公司
  • IBM
  • 图标计算
  • MCI系统屋
  • 微软
  • 甲骨文
  • 理性软件
  • 德州仪器
  • 优利系统

这种合作产生了 UML 1.0,这是一种定义良好、表达能力强、功能强大且普遍适用的建模语言。这在 1997 年 1 月作为初始 RFP 响应提交给 OMG。

1997 年 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_02

为什么选择 UML

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

  • 为用户提供即用型、富有表现力的可视化建模语言,以便他们开发和交换有意义的模型。
  • 提供可扩展性和专业化机制来扩展核心概念。
  • 独立于特定的编程语言和开发过程。
  • 为理解建模语言提供正式的基础。
  • 鼓励 OO 工具市场的增长。
  • 支持更高级别的开发概念,例如协作、框架、模式和组件。
  • 整合最佳实践。

UML - 概述

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

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

例如:

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

所有这些人都对系统的不同方面感兴趣,每个人都需要不同程度的细节。例如,编码人员需要了解系统的设计并能够将设计转换为低级代码。相比之下,技术作家对整个系统的行为感兴趣,需要了解产品的功能。UML 试图提供一种表达能力很强的语言,以使所有利益相关者都可以从至少一个 UML 图中受益。

下面快速浏览一下这 13 个图表中的每一个,如下面的 UML 2 图表结构所示:

结构图显示了系统的静态结构及其在不同抽象和实现级别上的部分,以及它们之间的关系。结构图中的元素代表系统的有意义的概念,可能包括抽象概念、现实世界和实现概念,结构图有以下七种类型:

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

行为图显示了系统中对象的动态行为,可以描述为系统随时间发生的一系列变化,行为图有以下七种类型:

  • 用例图
  • 活动图
  • 状态机图
  • 序列图
  • 通讯图
  • 交互概览图
  • 时序图

统一建模语言 (UML)_建模_03

作者:chktsang
来源:知乎——《什么是统一建模语言 (UML)?》


标签:建模语言,系统,Booch,软件,UML,统一
From: https://blog.51cto.com/u_15923796/5972667

相关文章

  • 一个正常的人,一定是人格统一的。
    越来越体会到人际交往中一个很重要的规则,那就是,人的很多特质都是一体两面、不可分割的,当你因为一个人的某个很明显的优点而喜欢欣赏对方时,也要做好准备,对方的这个特质可能......
  • UML——类图
    目录​​类​​​​类图是什么?​​​​什么时候产生类图?​​​​为什么用例图之后是画类图,这样做的目的是什么?​​​​类图的关系​​​​如何画类图呢?​​​​第一次机房中......
  • UML——用例图(Use case diagrams)
    目录​​什么是用例图?​​​​用例图帮我们做什么?​​​​用例图的基本元素有哪些?​​​​第一次机房收费系统用例图​​​​总结​​       一、什么是用例图......
  • UML——概述(什么是UML?UML有什么作用?面向对象技术)
    目录​​什么是UML?​​​​UML能帮我们做什么?​​​​什么是建模?​​​​为什么要建模?​​​​为什么要可视化建模?​​​​建模的原理(原则)​​​​UML的基本构造块​​​​U......
  • UML——面向对象技术
    目录 ​​UML中为什么要使用面向对象技术?​​​​面向对象的基本原则有哪些?​​​​面向对象有哪些基本内容?​​​​类和对象的之间的关系是怎样的?​​​​究竟继承的是什......
  • UML——包图
               为什么会产生包?对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,把那些语义相近并倾向于......
  • UML——行为图(活动图、状态图)
    状态图是做什么的?描述了一个具体对象的可能状态以及它们之间的转换。展现一个对象拥有的状态,还可以说明时间(如消息的接收、错误、条件变更等)如何随着时间的推移来影响这些状......
  • UML——顺序图、协作图
     一、顺序图是做什么的?描述按照时间的先后顺序对象之间交互动作过程 顺序图的构成对象消息:是对象之间的通信,可以是信号或者操作调用生命线(激活):表示在某段时间内对象是存在......
  • UML——实现图(组件图、部署图)
    在进行完前面的系统逻辑设计之后,下一步我们就需要定义设计的物理实现,如可执行文件、库、表、文件和文档等。UML的实现图又分为了:组件图和部署图两部分一、组件图1.组件图:用......
  • 统一观测|如何使用 Prometheus 监控 Windows
    作者:颍川引言微软Windows是当前主流操作系统之一,在桌面和服务端均有较大市场份额。对于Linux操作系统,Prometheus可以通过NodeExporter来进行基础资源(CPU、内存......