面向对象分析与设计 - UML 分析模型



统一建模语言 (UML) 是一种面向对象分析与设计的图形化语言,它提供了一种标准的方式来编写软件系统的蓝图。它有助于可视化、规范化、构建和记录面向对象系统的工件。它用于描述复杂系统中的结构和关系。

简史

它诞生于 20 世纪 90 年代,是几种技术的融合,主要包括 Grady Booch 的面向对象分析与设计技术、James Rumbaugh 的 OMT(对象建模技术)和 Ivar Jacobson 的 OOSE(面向对象软件工程)。UML 试图标准化面向对象分析与设计的语义模型、语法符号和图。

UML 中的系统和模型

系统 - 一组为了实现某些目标而组织在一起的元素构成一个系统。系统通常被划分为子系统,并由一组模型来描述。

模型 - 模型是对系统的简化、完整和一致的抽象,用于更好地理解系统。

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

UML 的概念模型

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

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

基本构建块

UML 的三个构建块是:

  • 事物
  • 关系

事物

UML 中有四种事物:

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

  • 行为事物 - 这些是 UML 模型中的动词,表示随时间和空间变化的动态行为。两种行为事物是交互和状态机。

  • 分组事物 - 它们构成 UML 模型的组织部分。只有一种分组事物,即包。

  • 注释事物 - 这些是 UML 模型中的解释,表示用于描述元素的注释。

关系

关系是事物之间的连接。UML 中可以表示的四种关系是:

  • 依赖 - 这是两个事物之间的语义关系,其中一个事物的变化会导致另一个事物的变化。前者是独立的事物,后者是依赖的事物。

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

  • 泛化 - 这表示泛化/特化关系,其中子类继承自超类的结构和行为。

  • 实现 - 这是两个或多个分类器之间的语义关系,其中一个分类器规定了一个契约,其他分类器必须遵守。

图是对系统的图形表示。它通常由一组元素组成,通常以图形的形式表示。UML 总共包括九种图:

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

规则

UML 有许多规则,以便模型在语义上自洽,并与系统中的其他模型和谐地关联。UML 对以下方面有语义规则:

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

通用机制

UML 有四种通用机制:

  • 规范
  • 修饰
  • 常见划分
  • 扩展机制

规范

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

修饰

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

常见划分

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

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

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

扩展机制

UML 是一种开放式语言。可以以受控的方式扩展 UML 的功能,以满足系统的要求。扩展机制包括:

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

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

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

广告