UML 图表绘制和数据库建模指南
为什么使用 UML?
UML 在 20 世纪 90 年代首次出现,这要归功于三位软件工程师—Grady Booch、Ivar Jacobson 和 James Rumbaugh—因为他们想开发一种不那么混乱的方法来表示日益复杂的软件开发,同时将方法与过程分离开来。如今,UML 仍然是开发人员、项企业主、技术企业家和各行各业的专业人员的标准首选表示法。
UML 有哪些优点?
- 简化复杂性
- 保持沟通畅通
- 将软件的生产和流程自动化
- 帮助解决持久性的体系结构问题
- 提高工作质量
- 降低成本,缩短上市时间
UML 图表的类型
从客户和项目经理到技术作者、设计者、分析师、编码员和 QA、测试人员,每个角色都将利用特定的图表来满足其需求。这意味着每个布局都需要不同的重点和详细级别。目标是让 UML 直观地表达易于所有人理解的图表。
结构图
行为图
让我们详细了解下属于每个类别的多个不同类型的 UML 图表:
1. 结构 UML 图表
类图。 此图是软件开发中最常用的类型,用于描述系统的逻辑和物理设计并显示其类。它看起来类似于流程图,因为类用框表示。此图提供了不同类及其相互关联方式的视觉对象,并且每个类有三个部分:
- 顶部部分:类名
- 中间部分:类属性
- 底部部分:类方法或操作
UML 类接口图示例。可用于 下载的模板。
对象图。通常,此图用作复查类图以获得准确性的方法。换句话说,它在实践中是否有效? 它显示了系统的对象及其关系,并提供了需要修复的潜在设计缺陷的更好视图。
组件图。 也称为组件流图,它显示元素及其关系的逻辑分组。换句话说,它将复杂系统分解为较小的组件,以提供更简化的复杂系统视图。每个部分都使用矩形框显示,名称写入其中。连接器定义不同组件之间的关系/依赖关系。
组合结构图。软件开发领域之外的任何人都很少使用此图。为什么? 虽然它类似于类图,但它需要更深入地探讨,描述多个类的内部结构并显示它们之间的交互。除非你是开发人员,否则顶级视图可能就能提供足够的信息。
部署图。此图显示了硬件(节点)和软件(项目)组件及其关系。它提供每个软件组件的准确部署位置的直观表示。
包图。 这用于描述构成模型的包之间的依赖关系。主要目标是显示构成复杂系统的各个大型组件之间的关系。
剖面图。它不像图表,更像语言。剖面图定义自定义版型、标记值和约束,以帮助为 UML 图表新建属性和语义。借助这些剖面,可以为不同的平台(例如,Java 平台、Enterprise Edition (Java EE) 或 Microsoft .NET Framework)和域(例如,业务流程建模、面向服务的体系结构、医疗应用程序等)自定义 UML 元模型。
2. 行为 UML 图表:
基本 UML 用例图示例。可用于 下载的模板。
用例图。 这描述了系统做什么,但未描述如何做。用例是行动者使用系统完成流程时发生的一组事件。行动者定义为从系统外部与系统(人员、组织或应用程序)交互的任何人或任何内容。因此,用例图直观地描述了该序列集,并表示系统的功能要求。
交互概述 图。 此图通常很复杂,类似于活动图,因为两者都显示活动分步序列。但交互概述图是由不同的交互图构成的活动图。它们使用与活动图相同的注释(初始、最终、决策、合并、分支和联接节点),并添加了交互、交互使用、时间约束和持续时间约束等元素。
时间图。 当时间占据中心位置时,使用此 UML 图表。也称为序列化或事件图,它不显示对象如何相互交互或更改。在功能上,它显示对象和行动者如何沿时间线行动。此处的重点是事件需要多长时间以及根据持续时间约束发生的更改。时间图的主要部分包括:
- 生命线:单个参与者
- 状态时间线:生命线在管道中经历的不同状态
- 持续时间约束:满足约束所需的时间
- 时间约束:参与者需要完成某些内容的时间
- 销毁发生:对象生命线的结束位置。在生命线上发生销毁后,不会发生其他任何事件。
状态机图。也称为状态图,当对象的行为复杂且详细信息至关重要时,此图适用。它有助于描述一个对象(有时是运算符)的行为,以及它如何根据内外部事件进行更改。
序列图。这种具有视觉吸引力的图表不仅在设计界很受欢迎,还擅长显示所有类型的业务流程。它只显示系统的结构,以时间顺序显示消息序列以及行动者和对象之间的交互。序列图显示简单的迭代和分支。它有利于多任务处理。
通信图。 通信图或协作图类似于序列图。但是,它强调对象之间的通信。它显示了参与交互的对象的组织,并具有更复杂的迭代和分支功能。
数据库模型
UML 作为数据库建模的表示法也越来越受欢迎。这些模型是很好的视觉工具,可用于集思广益、自由格式的图表绘制和创意协作。
虽然 UML 没有 数据建模规范,但它可以是有用的图表绘制工具,特别是因为数据库中的数据可用于面向对象的编程。
让我们来看看可以创建的不同类型的数据库模型:
- 分层数据库模型。虽然很古老,但也很不错,此模型的数据以树状结构组织。树由多个称为段的组组成。它使用一对多关系。数据访问也可预测。
- 网络模型。此模型采用图形的形式,其中关系类型为弧线,对象类型为节点。与其他数据库模型不同,网络模型的架构并不局限于作为点阵或层次结构。
- 面向对象的数据库模型。 此模型使用对象集合或可重用的软件元素以及关联的功能和方法。例如,多媒体数据库可能具有无法存储在关系数据库中的图像。或者,超文本数据库允许链接到其他对象。
- 关系模型。 在这里,数据使用关系或具有列和行的类似网格的数学结构进行结构化。它基本上是一个表。
- 对象关系模型。顾名思义,此模型是上述两个模型的组合。它支持对象、类、继承和其他面向对象的元素,也支持数据类型、表格结构等–更类似于关系数据模型。
- 实体关系模型。 这由实体类型(人员、地点或事物)组成。它显示它们之间可以存在的关系。通过定义实体及其属性并显示它们之间的关系,ER 图说明了数据库的逻辑结构。
- 文档模型。 它专为存储和管理文档或半结构化数据而非原子数据而设计。它具有树结构,其中每个节点都是表示文档一部分的对象。
- 实体-属性-值模型。EAV 或开放架构模型,数据记录为三列:
- 实体(描述的内容)
- 属性或参数(例如名称、说明、数据类型)
- 属性的值
- 星型架构。 这是维度模型的最简单版本,其中的数据按维度和事实排列。它用于商业智能和数据仓库,因为它适合查询大数据集。
使用软件进行简化
无论是正在创建数据库模型还是 UML 图表,使用 软件工具 都可简化和改进过程。请务必选择一个可让你实现以下目的的选项:
- 在满足行业标准(例如, UML 2.5以及 BPMN 2.0 和 IEEE)的内容生态系统中创建具有现成模板和数千个形状的专业图表。
- 借助数据叠加、颜色和图形让图表更加生动,包括一步到位的 Excel 数据可视化功能,使数据易于理解。
- 使用共同创作、评论和注释与他人协作。
- 提供统一的版本,随时随地通过浏览器或设备应用程序访问图表。
在许多行业的软件开发和非软件系统中,使用可视 UML 图表可以在成功构建行为流程和结构方面发挥至关重要的作用。通过本分步 指南 ,详细了解如何使用 软件 创建 UML 图表。
Marin 是 Microsoft 市场营销团队的一员。他很高兴地看到,企业家如何更好地创办、管理和发展他们的企业。
关注 Microsoft 365