统一建模语言(UML)|简介

统一建模语言(UML) 是一种通用建模语言。UML的主要目的是定义一种标准的 可视化 系统的设计方式。它与其他工程领域使用的蓝图非常相似。

null

UML是 不是编程语言 ,它相当于一种视觉语言。我们使用UML图来描述 行为与结构 系统的一部分。UML帮助软件工程师、商人和系统架构师进行建模、设计和分析。对象管理组(OMG)在1997年采用统一建模语言作为标准。从那以后,它一直由OMG管理。国际标准化组织(ISO)于2005年将UML作为一个经批准的标准发布。UML经过多年的修订,并定期进行审查。

我们真的需要UML吗?

  • 复杂的应用程序需要来自多个团队的协作和规划,因此需要一种清晰简洁的方式在他们之间进行沟通。
  • 商人不懂代码。因此,UML对于与非程序员交流系统的基本需求、功能和过程至关重要。
  • 当团队能够可视化流程、用户交互和系统的静态结构时,可以节省大量时间。

UML与 面向对象 设计和分析。UML利用元素和它们之间的形式关联来形成图表。UML中的图表可以大致分为:

  1. 结构图- 捕获系统的静态方面或结构。结构图包括:组件图、对象图、类图和部署图。
  2. 行为图- 捕获系统的动态方面或行为。行为图包括:用例图、状态图、活动图和交互图。

下图显示了符合UML2.2的图的层次结构

图片[1]-统一建模语言(UML)|简介-yiteyi-C++库

UML中使用的面向对象概念-

  1. 类别—— 类定义了蓝图,即对象的结构和功能。
  2. 对象—— 对象帮助我们分解大型系统,并帮助我们将系统模块化。模块化有助于将我们的系统划分为可理解的组件,以便我们可以逐块构建系统。对象是用于描述实体的系统的基本单元(构建块)。
  3. 继承—— 继承是子类继承父类属性的机制。
  4. 抽象—— 对用户隐藏实现细节的机制。
  5. 封装- 将数据绑定在一起并保护其免受外部世界的影响被称为封装。
  6. 多态性- 功能或实体能够以不同形式存在的机制。

UML 2.0中的新增内容-

  • 敏捷等软件开发方法已经被纳入,原始UML规范的范围已经扩大。
  • 最初,UML指定了9个图表。UML 2。x将图表的数量从9个增加到13个。添加的四个图是:时序图、通信图、交互概述图和复合结构图。UML 2。x将状态图图重命名为状态机图。
  • UML 2。x增加了将软件系统分解为组件和子组件的能力。

结构化UML图-

  1. 类图- 最广泛使用的UML图是类图。它是所有面向对象软件系统的构造块。我们使用类图通过显示系统的类、它们的方法和属性来描述系统的静态结构。类图还帮助我们识别不同类或对象之间的关系。
  2. 复合结构图- 我们使用复合结构图来表示类的内部结构及其与系统其他部分的交互点。复合结构图表示部件及其配置之间的关系,这些关系决定了分类器(类、组件或部署节点)的行为。它们表示使用部件、端口和连接器的结构化分类器的内部结构。我们还可以使用复合结构图对协作进行建模。它们与类图类似,只是它们详细地表示了与整个类相比的各个部分。
  3. 对象图- 对象图可以被称为系统中实例及其之间关系的屏幕截图。由于对象图描述了对象被实例化时的行为,因此我们能够研究系统在特定时刻的行为。对象图与类图类似,只是它显示了系统中类的实例。我们利用类图来描述实际的分类器及其关系。另一方面,对象图表示类的特定实例以及它们在某个时间点之间的关系。
  4. 组件图- 组件图用于表示系统中物理组件的组织方式。我们使用它们为实现细节建模。组件图描述了软件系统元素之间的结构关系,并帮助我们理解功能需求是否已被计划的开发所涵盖。当我们设计和构建复杂的系统时,组件图是必不可少的。接口由系统的组件用来相互通信。
  5. 部署图- 部署图用于表示系统硬件及其软件。它告诉我们存在哪些硬件组件,以及哪些软件组件在其上运行。我们将系统架构描述为软件工件在分布式目标上的分布。工件是由系统软件生成的信息。它们主要用于在具有不同配置的多台计算机上使用、分发或部署软件时。
  6. 包装图- 我们使用包图来描述包及其元素是如何组织的。包图简单地向我们展示了不同包之间的依赖关系和包的内部组成。软件包帮助我们将UML图组织成有意义的组,并使图易于理解。它们主要用于组织类和用例图。

行为图-

  1. 状态机图- 状态图用于表示有限时间内系统或部分系统的状态。这是一个行为图,它用有限状态转换来表示行为。状态图也被称为 国家机器 状态图 这些术语经常互换使用。简单地说,状态图是用来模拟一个类对时间和变化的外部刺激的动态行为的。
  2. 活动图- 我们使用活动图来说明系统中的控制流程。我们还可以使用活动图来表示用例执行中涉及的步骤。我们使用活动图对顺序和并发活动进行建模。因此,我们基本上使用活动图直观地描述工作流。活动图关注的是流动的条件和发生的顺序。我们使用活动图描述或描述导致特定事件的原因。
  3. 用例图- 图表用于描述系统的一个用例或一部分功能。它们被广泛用于说明系统的功能需求及其与外部代理(参与者)的交互。用例基本上是一个图表,表示可以使用系统的不同场景。用例图为我们提供了系统或系统的一部分的高级视图,而不涉及实现细节。
  4. 序列图- 序列图只是按顺序描述对象之间的交互,即这些交互发生的顺序。我们还可以使用术语“事件图”或“事件场景”来指代序列图。序列图描述了对象在系统中的运行方式和顺序。商人和软件开发人员广泛使用这些图表来记录和理解新系统和现有系统的需求。
  5. 通信图- 通信图(在UML1.x中称为协作图)用于显示对象之间交换的顺序消息。通信图主要关注对象及其关系。我们可以使用序列图来表示类似的信息,然而,通信图以自由形式表示对象和链接。
  6. 时序图- 时序图是序列图的一种特殊形式,用于描述对象在一个时间范围内的行为。我们使用它们来显示控制对象状态和行为变化的时间和持续时间约束。
  7. 交互概述图- 交互概述图为一系列动作建模,并帮助我们将复杂的交互简化为更简单的事件。它是活动图和序列图的混合体。

参考—— 统一建模语言——维基百科 统一建模语言——IBM

本文由 安基特·贾因 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享