📜  UML-概述

📅  最后修改于: 2020-12-13 15:01:41             🧑  作者: Mango


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 Analysis → OO Design → OO implementation using OO languages

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

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

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

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

UML在OO设计中的作用

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

如果我们研究类图,对象图,协作图,交互图,所有这些基本上都将基于对象进行设计。

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