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概念变得很重要。

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

  • 对象 - 对象表示实体和基本构建块。

  • Class - Class是对象的蓝图。

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

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

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

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

OO分析与设计

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

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

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

  • 识别系统的对象。

  • 确定他们的关系。

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

应用和实施OO概念有三个基本步骤。这些步骤可以定义为

OO Analysis → OO Design → OO implementation using OO languages

以上三点可详细描述如下 -

  • 在面向对象分析期间,最重要的目的是识别对象并以适当的方式描述它们。如果能够有效识别这些对象,那么下一个设计工作就很容易了。应该用责任来确定对象。责任是对象执行的功能。每个对象都有某种类型的责任要执行。当这些责任合作时,系统的目的就实现了。

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

  • 第三阶段是OO实施。在这个阶段,设计是使用Java,C ++等OO语言实现的。

UML在面向对象设计中的作用

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

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

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