UML - 概述



UML 是一种用于指定、可视化、构建和记录软件系统构件的标准语言。

UML 由对象管理组 (OMG) 创建,UML 1.0 规范草案于 1997 年 1 月提交给 OMG。

OMG 不断努力创建真正意义上的行业标准。

  • UML 代表 **统一建模语言**。

  • UML 不同于其他常见的编程语言,如 C++、Java、COBOL 等。

  • UML 是一种图形语言,用于创建软件蓝图。

  • UML 可以被描述为一种通用的可视化建模语言,用于可视化、指定、构建和记录软件系统。

  • 虽然 UML 通常用于建模软件系统,但它并不局限于此。它也用于建模非软件系统。例如,制造单元中的流程流程等。

UML 不是编程语言,但可以使用工具使用 UML 图生成各种语言的代码。UML 与面向对象分析和设计有直接关系。经过一些标准化后,UML 已成为 OMG 标准。

UML 的目标

一图胜千言,这个习语绝对适合描述 UML。面向对象的概念比 UML 早得多。在那个时候,还没有标准的方法来组织和整合面向对象开发。正是在那时,UML 出现了。

开发 UML 有许多目标,但最重要的目标是定义一些通用的建模语言,所有建模人员都可以使用,并且它也需要易于理解和使用。

UML 图不仅为开发人员制作,也为业务用户、普通人和任何有兴趣了解系统的人制作。系统可以是软件或非软件系统。因此必须明确,UML 不是开发方法,而是伴随流程使其成为一个成功的系统。

总之,UML 的目标可以定义为一种简单的建模机制,用于建模当今复杂环境中所有可能的实际系统。

UML 的概念模型

要了解 UML 的概念模型,首先我们需要澄清什么是概念模型?以及为什么需要概念模型?

  • 概念模型可以定义为由概念及其关系组成的模型。

  • 概念模型是在绘制 UML 图之前的第一步。它有助于理解现实世界中的实体以及它们如何相互交互。

由于 UML 描述了实时系统,因此创建概念模型然后逐步进行非常重要。可以通过学习以下三个主要元素来掌握 UML 的概念模型:

  • UML 构建块
  • 连接构建块的规则
  • UML 的通用机制

面向对象的概念

UML 可以被描述为面向对象 (OO) 分析和设计的继承者。

一个对象包含数据和控制数据的操作。数据表示对象的状态。类描述一个对象,它们也形成一个层次结构来模拟现实世界系统。层次结构表示为继承,类也可以根据需要以不同的方式关联。

对象是我们周围存在的现实世界实体,抽象、封装、继承和多态等基本概念都可以用 UML 表示。

UML 足够强大,可以表示面向对象分析和设计中存在的所有概念。UML 图仅表示面向对象的概念。因此,在学习 UML 之前,详细了解 OO 概念变得很重要。

以下是面向对象世界的一些基本概念:

  • **对象** - 对象表示一个实体,是基本的构建块。

  • **类** - 类是对象的蓝图。

  • **抽象** - 抽象表示现实世界实体的行为。

  • **封装** - 封装是将数据绑定在一起并将其隐藏在外部世界的机制。

  • **继承** - 继承是从现有类创建新类的机制。

  • **多态** - 它定义了以不同形式存在的机制。

OO 分析和设计

OO 可以定义为一项调查,更具体地说,它是对对象的调查。设计意味着已识别对象的协作。

因此,了解 OO 分析和设计概念非常重要。OO 分析的最重要目的是识别要设计的系统的对象。此分析也针对现有系统进行。现在,只有当我们能够以一种可以识别对象的方式开始思考时,才能进行有效的分析。在识别对象后,识别它们的关系,最后生成设计。

OO 分析和设计的目的可以描述为:

  • 识别系统的对象。

  • 识别它们之间的关系。

  • 进行设计,可以使用 OO 语言将其转换为可执行文件。

OO 概念应用和实现的三个基本步骤可以定义为

OO Analysis → OO Design → OO implementation using OO languages

以上三点可以详细描述为:

  • 在 OO 分析期间,最重要的目的是识别对象并以适当的方式对其进行描述。如果这些对象被有效地识别,那么接下来的设计工作就很容易了。应该用职责来识别对象。职责是对象执行的功能。每个对象都有一些要执行的职责。当这些职责协同工作时,系统的目的就实现了。

  • 第二阶段是 OO 设计。在此阶段,重点放在需求及其满足上。在此阶段,对象根据其预期的关联进行协作。关联完成后,设计也完成了。

  • 第三阶段是 OO 实现。在此阶段,使用 OO 语言(如 Java、C++ 等)实现设计。

UML 在 OO 设计中的作用

UML 是一种用于建模软件和非软件系统的建模语言。虽然 UML 用于非软件系统,但重点是建模 OO 软件应用程序。迄今为止讨论的大多数 UML 图都用于建模不同的方面,例如静态、动态等。无论方面是什么,工件都只是对象。

如果我们查看类图、对象图、协作图、交互图,所有这些基本上都是基于对象设计的。

因此,了解 OO 设计和 UML 之间的关系非常重要。OO 设计根据需要转换为 UML 图。在详细了解 UML 之前,应先正确学习 OO 概念。一旦完成 OO 分析和设计,下一步就非常容易了。来自 OO 分析和设计的信息是 UML 图的输入。

广告