UML 图表和数据库建模的简单指南

统一建模语言 (UML) 不仅在软件开发中起着很重要的作用,在许多行业的非软件系统中也举足轻重,因为它可以形象化地显示系统或流程的行为和结构。UML 有助于揭示应用程序结构、系统行为和其他业务流程中潜在的问题。

为什么要采用 UML?

UML 产生于上世纪九十年代,要归功于三位软件工程师:Grady Booch、Ivar Jacobson 和 James Rumbaugh,他们希望开发一种不那么混乱的方式来表达日益复杂的软件开发,并且将方法从过程中分离出来。如今,UML 仍然是软件开发人员,以及各行各业项目经理、企业主、科技企业家和专业人士的标准首选表示法。

UML 有哪些优点?

  • 可简化复杂性
  • 可保持通信畅通
  • 可将软件和流程的生产自动化
  • 有助于解决持续的体系结构问题
  • 可提高工作质量
  • 可降低成本并缩短上市时间

UML 图表类型

UML 图表有两种主要类型:结构图和行为图(在这些类别下还有其他多种类型)。这些变体是为了呈现不同类型用户使用的多种不同类型的场景和图表。

从客户和项目经理,到技术作者、设计人员、分析人员、编码人员、QA 和测试人员,每个角色都可以根据需要采用特定的图表。这意味着每种布局需要不同的侧重点和不同层次的细节。UML 的目标是形象化地表达每个人都能轻松理解的图表。

基本的 UML 图
基本的 UML 序列图示例。模板可供下载

下面将进行详细介绍:

结构图

结构图展示软件或系统的静态结构,还演示不同层次的抽象和实施。此类图表帮助您可视化构成系统的各个结构,如数据库或应用程序。图中显示的是组件或模块的层次结构,以及它们之间的连接和交互方式。这些工具可提供指导,并确保系统的各个部分与其他所有部分一起按预期工作。

行为图

行为图侧重于软件系统或流程的动态方面。此类图表演示的是系统功能,并强调正在建模的系统中必须发生的事情。

下面将详细介绍每个类别下多种不同类型的 UML 图:

1.结构 UML 图

  • 类图。此图是软件开发过程中最常用的类型,用于描绘系统的逻辑和物理设计并显示其类。由于类采用方框表示,类图看起来与流程图很像。此图提供了不同的类及其关联方式的可视化信息,每个类包含三个部分:
  • 顶部:类名称
  • 中间:类属性
  • 底部:类方法或操作
UML 类接口图
UML 类接口图示例。模板可供下载
  • 对象图。此图经常用来复查类图是否准确。换而言之,类图在实践中是否可行?对象图显示了系统的多个对象及其关系,它为发现需要修复的潜在设计缺陷提供了更好的视角。
  • 组件图。此图也称为组件流程图,显示了各个元素的逻辑分组及其关系。换而言之,此图将系统细分为更小的组件,从而为复杂系统提供更为简化的视图。每个组件均采用包含组件名称的矩形框表示。连接符定义了不同组件之间的关系或依赖性。
  • 组合结构图。软件开发领域以外的人很少使用此图,其原因是它与类图很相似,只是更深层次地描绘了多个类的内部结构,并显示了这些类之间的交互。除非您是开发人员,否则顶级视图可能已提供了足够的信息。
  • 部署图。此图显示了硬件(节点)和软件(工件)组件及其关系。它直观地表示了每个软件组件确切的部署位置。
  • 包图。此图用于描绘构成模型的各个包之间的依赖关系。主要目的是为了显示复杂系统所包含的各个大组件之间的关系。
  • 概要图。此图不太像图表,更像是一种语言。概要图可通过定义自定义模式、标记值和约束,为 UML 图表创建新的属性和语义。您可以借助这些概要,针对不同的平台(如 Java Platform、Enterprise Edition (Java EE) 或 Microsoft .NET Framework)和领域(如业务流程建模、面向服务的体系结构、医疗应用程序等),定制 UML 元模型。

2.行为 UML 图:

  • 活动图。此图描绘了一个具有明确的开始和结束的逐步过程。它包括为达到某个目标而必须发生的一系列活动。图中显示了每一项活动是如何导致下一项活动,以及它们之间是如何关联的。除软件开发之外,此图还可用在几乎任何业务环境中。此图也称为业务流程映射或建模。
UML 用例图
基本的 UML 用例图示例。模板可供下载
  • 用例图。此图描述的是系统做了什么,而不是系统是如何做的。用例指的是当“操作者”采用系统完成某个流程时所发生的一系列事件。操作者定义为从系统外部与系统进行交互的任何人或任何事物(人、组织或应用程序)。因此,用例图形象化地描述了一组序列,并表达了系统的功能需求。
  • 交互概述。此图往往很复杂,它类似于活动图,二者均显示逐步的活动序列。但交互概述图是由多个不同的交互图构成的活动图。此图采用与活动图相同的注释(开始、最终、决策、合并、分支和联接节点),但增加了交互、交互使用、时间约束和持续时间约束等元素。 
  • 计时图。当计时成为最重要的部分时,可使用此 UML 图。此图也称为顺序图或事件图,它不显示各个对象相互之间是如何交互或更改的。从功能上而言,它显示了对象和操作者沿时间线的操作方式。其重点在于事件所花费的时间,以及根据持续时间约束而发生的更改。计时图的主要部分包括:
    • 生命线:个体参与者
    • 状态时间线:生命线在管道内经过的不同状态
    • 持续时间约束:满足约束所需的时间
    • 时间约束:参与者完成某件事所需的时间
    • 破坏事件:对象生命线终止的地方。在生命线上出现破坏事件之后,不会再出现其他任何事件。
  • 状态机图。此图也称为状态图,适用于对象行为很复杂,而细节非常重要的情况。此图有助于描述某个对象(有时是一个运算符)的行为,以及它是如何根据内部事件和外部事件发生改变。
  • 序列图。这个极具视觉吸引力的图表不仅在设计界广为流行,也颇为擅长显示各种类型的业务流程。它简单地揭示了系统结构,按时间顺序显示了操作者与对象之间的消息和交互顺序。序列图显示了简单的迭代和分支。它非常适合多任务的情况。
  • 通信图。通信图或协作图类似于序列图。不过,此图强调的是对象之间的通信。它显示了参与交互的对象的组织结构,并具备更为复杂的迭代和分支功能。

数据库模型

UML 作为一种数据库建模表示法,也越来越受到欢迎。这些模型是出色的视觉工具,可用于集体讨论、自由形式作图以及针对想法开展协作。

虽然 UML 并不具备数据建模规范,但它可作为一个有用的图表工具,尤其是因为来自数据库的数据可用于面向对象的编程。

下面将介绍您可以创建的不同类型的数据库模型:

  • 层次数据库模型。此模型的数据采用类似树的组织结构,虽然有些老式,但很好用。树由多个组构成,称为“段”。它采用一对多关系。数据访问也是可预测的。
  • 网络模型。此模型以图形表示,其中关系类型表示为弧线,对象类型表示为节点。与其他数据库模型不同的是,网络模型的架构并不限于点阵或层次结构。
  • 面向对象的数据库模型。此模型使用对象集合或可重用的软件元素,以及相关的特性和方法。例如,多媒体数据库中可能包含无法存储在关系数据库中的图像。或者,超文本数据库允许链接到其他对象。
  • 关系模型。此模型中的数据使用关系(或具有行和列的网格状数学结构)来构建结构。它基本上是一个表格。
  • 对象关系模型。顾名思义,此模型是上述两种模型的组合。它支持对象、类、继承以及其他面向对象的元素,但也支持关系数据模型中的数据类型、表格结构等等。
  • 实体关系模型。此模型由实体类型(人、地点或事物)组成。它显示了这些实体之间可能存在的关系。实体关系图定义实体及其属性,并显示实体之间的关系,从而阐释数据库的逻辑结构。
  • 文档模型。此模型专为存储和管理文档或半结构化数据设计,而非针对原子数据。它采用树形结构,其中每个节点为表示部分文档的对象。
  • 实体属性值模型。在实体属性值模型或开放架构模型中,数据采用三列的形式进行记录:
  1. 实体(所描述的对象)
  2. 属性或参数(如名称、说明、数据类型)
  3. 属性的值。
  • 星型架构。这是维度模型中最简单的版本,其中数据按照维度和事实排列。此模型很适合查询大数据集,因而多用在商业智能和数据仓库中。

通过软件进行简化

无论是创建数据库模型还是 UML 图表,均可借助 软件工具 来简化和改进过程。请确保您选择的软件具备以下功能:

  • 使用内容生态系统中符合行业标准(如 UML 2.5、BPMN 2.0 和 IEEE)的现成模板和数千种形状,创建专业图表。
  • 借助数据重叠、图标、颜色和图形让图表更加生动,使数据更易于理解,包括一步到位的 Excel 数据可视化功能。
  • 使用共同创作、评论和注释与他人协作。
  • 提供统一的版本,随时随地通过浏览器或设备应用程序访问图表。

无论是在软件开发中,还是在许多行业的非软件系统中,采用直观的 UML 图表对于成功构建行为过程和结构均起着至关重要的作用。详细了解如何借助 软件 创建 UML 图表,可参考本逐步 指南  。

Visio 入门

在 Visio 的帮助下,几乎可以在任何位置,在任何设备上直观呈现并交流想法、信息和流程。

立即购买
相关内容
工作效率

集成在线日历应用提高工作效率的 5 种方式

阅读详细信息
工作效率

使用数字白板让会议更具吸引力

阅读详细信息
工作效率

投票可以提高在线会议参与度的 5 种方式

阅读详细信息
工作效率

远程工作人员的 5 种协作方法

阅读详细信息

商业见解和理念中心不提供专业税务或财务建议。应联系你自己的税务或财务专家来讨论你的情况。