OOAD - UML 分析模型

统一建模语言 (UML) 是 OOAD 的一种图形语言,它提供了编写软件系统蓝图的标准方法。 它有助于可视化、指定、构造和记录面向对象系统的工件。 它用于描述复杂系统中的结构和关系。

简史

它是在 20 世纪 90 年代开发的,是多种技术的融合,其中最著名的是 Grady Booch 的 OOAD 技术、James Rumbaugh 的 OMT(对象建模技术)和 Ivar Jacobson 的 OOSE(面向对象软件工程)。 UML 试图标准化 OOAD 的语义模型、句法符号和图表。

UML 中的系统和模型

系统 − 为实现某些目标而组织起来的一组元素形成一个系统。 系统通常分为子系统并通过一组模型进行描述。

模型 − 模型是系统的简化、完整且一致的抽象,创建的目的是为了更好地理解系统。

视图 − 视图是系统模型从特定角度的投影。

UML概念模型

UML 概念模型包含三个主要元素 −

  • 基本构建块
  • 规则
  • 通用机制

基本构建块

UML 的三个构建块是 −

  • 事物
  • 关系
  • 图表

事物

UML中有四种东西,分别是 −

  • 结构性事物 − 这些是表示静态元素的 UML 模型的名词,这些静态元素可以是物理的也可以是概念的。 结构性事物包括类、接口、协作、用例、活动类、组件和节点。

  • 行为事物 − 这些是 UML 模型的动词,代表时间和空间上的动态行为。 行为事物的两种类型是交互和状态机。

  • 对事物进行分组 − 它们包含 UML 模型的组织部分。 分组事物只有一种,即包。

  • 注释性事物 − 这些是 UML 模型中的解释,代表应用于描述元素的注释。

关系

关系是事物之间的联系。 可以用 UML 表示的四种关系类型是 −

  • 依赖 − 这是两件事之间的语义关系,一件事的变化会带来另一件事的变化。 前者是独立的事物,后者是依赖的事物。

  • 关联 − 这是一种结构关系,表示一组具有共同结构和共同行为的链接。

  • 泛化 − 这表示子类从超类继承结构和行为的泛化/特化关系。

  • 实现 − 这是两个或多个分类器之间的语义关系,其中一个分类器制定了其他分类器确保遵守的契约。

图表

图表是系统的图形表示。 它由一组通常以图表形式存在的元素组成。 UML总共包括九张图,分别是 −

  • 类图
  • 对象图
  • 用例图
  • 序列图
  • 协作图
  • 状态图
  • 活动图
  • 组件图
  • 部署图

规则

UML 有许多规则,使得模型在语义上是自洽的,并且与系统中的其他模型和谐地相关。 UML 具有以下语义规则 −

  • 命名
  • 范围
  • 可见性
  • 完整性
  • 执行

常见机制

UML 有四种常见机制 −

  • 说明
  • 修饰
  • 通用划分
  • 可扩展机制

规格

在UML中,每个图形符号的背后都有一个表示语法和语义的文本语句。 这些是规格。 该规范提供了一个语义底板,其中包含系统的所有部分以及不同路径之间的关系。

修饰

UML 中的每个元素都有独特的图形符号。 此外,还有一些符号来表示元素的重要方面,如名称、范围、可见性等。

通用划分

面向对象的系统可以有多种划分方式。 两种常见的划分方式是 −

  • 类和对象的划分 − 类是一组相似对象的抽象。 对象是系统中实际存在的具体实例。

  • 接口和实现的划分 − 接口定义了交互的规则。 实现是接口中定义的规则的具体实现。

可扩展机制

UML 是一种开放式语言。 可以以受控方式扩展 UML 的功能以满足系统的需求。 可扩展性机制是 −

  • 构造型 − 它扩展了 UML 的词汇表,通过它可以从现有的构建块中创建新的构建块。

  • 标记值 − 它扩展了 UML 构建块的属性。

  • 约束 − 它扩展了 UML 构建块的语义。