从 UML 到数据库,使用 Rational Software Modeler 和 InfoSphere Data Architect 加快数据模型的设计到实现



UML 是一种应用广泛的面向对象建模方法和工具,常用于通用数据模型的建模,而关系型数据库设计则是通用数据模型的具体实现,二者在数据建模方面各有侧重,彼此独立。实现 UML 模型到关系型数据库的平滑转换,不仅能减轻数据建模的难度和复杂度,还能提高数据库的设计与实现的效率和质量。

Rational Software Modeler 工具对 UML 建模提供了丰富的支持,InfoSphere Data Architect 则提供了强大的数据库设计功能。本文在分析 UML 模型与关系型数据库模型之间映射关系的基础上,提出了一种利用上述两种软件实现在 UML 数据模型与数据库设计之间相互转化的方法,文章通过实例描述了如何快速实现从 UML 模型到 DB2 数据库实例的转换。


前提条件

IBM Rational Software Modeler v7.0

IBM InfoSphere Data Architect v7.5

IBM DB2 Universal Database v8.2


背景知识

模型是我们用来对现实世界进行抽象的工具,而数据模型在软件工程中就是用来描述数据的概念、定义和访问操作的工具。一个数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件。在信息技术中,建立数据模型是非常重要的环节,它能够帮助使用数据和交换数据的应用更准确和更易于交流。

一般来说,每种数据模型都有自己独特的数据建模语言。统一数据建模语言(UML)就是目前软件领域比较通用的标准建模语言。UML 是一种图形化的语言,通过可视化,说明,构建和书写一个面向对象软件密集系统的制品的开放方法。UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。实际上它不仅适用于数据建模,也适于业务建模,对象建模,组件建模等,可以贯穿软件开发周期中的每一个阶段。

应用 UML 使我们在软件分析阶段把重点关注在如何对现实世界进行抽象,比如建立类和对象,识别这些类以及它们相互间的关系。UML 在分析阶段并不考虑实现细节如数据库,用户接口等问题。

从实现角度,数据库作为信息系统中的基础设施,能够长期为整个软件系统服务,保存数据。数据库模型是用来描述数据库如何构造和使用的规范,目前最常用的一种是关系型数据库模型。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成,关系模型简单的说就是二维表格模型,一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。目前常见的关系型数据库有 DB2、Oracle、MySQL 等。一般来说,设计和建立这些关系型数据库是很复杂的,往往需要大量的时间去理解数据库中可能要求的上百个表和表与表之间的关系。我们通过面向对象的模型来驱动数据库的设计和开发将为软件开发人员带来方便,提高生产效率。

IBM Rational Software Modeler(RSM)是一个强大的基于 UML2.0 的可视化建模和设计工具,用户能够清楚地文档化和交流这些系统视图并与其他工具整合来进行模型驱动开发。本文中用它来生成 UML 描述的数据模型。

IBM InfoSphere Data Architect(IDA)前身是 IBM Rational Data Architect(RDA), 是一个功能强大的企业级数据库建模和集成开发工具,可以用来发现,建模,关联和标准化所有的数据资产。本文用它来实现数据模型的转换和数据库的建立。

本文讨论了如何借助 UML 建立数据模型并通过工具映射面向对象的 UML 模型到关系型数据库模型来加速数据库的创建。并以简化的 Common Data Model 中的计算机系统模型为例来说明如何基于 RSM 和 IDA 实现 UML 数据模型到数据库模型的转化。

整个转换过程包括如下步骤:

  1. 在 RSM 中建立 UML 数据模型。
  2. 在 RSM 中将 UML 数据模型转化成逻辑数据模型(LDM)并导出。
  3. 在 IDA 中导入 LDM,并将逻辑数据模型转化成物理数据模型(PDM)。
  4. 通过物理数据模型生成数据库描述语言(DDL)语句。
  5. 连接 DB2 数据库管理系统,执行 DDL 语句生成最终结果。

创建 UML 类图

在本文中,使用 UML 类图来表示一个面向对象的数据模型。示例中的简单数据模型描述了一个计算机系统(ComputerSystem)由 CPU,Memory 和 Disk 组成,操作系统(OperatingSystem)运行在 ComputerSystem 上。

首先在 RSM 中新建一个 UML 模型工程。

图 1. 创建新的 UML 工程
图 1. 创建新的 UML 工程

在打开的窗口中,选择 UML Project 类型。将新工程命名为 Example,并选择 Standard template 标准模版。在模版选择中选 Blank Model 空模型,图形种类选择 Freeform Diagram。点 Finish,完成创建新工程。这样在 Project Explorer 中就能看到一个新的 Example 工程,并自动在工程中生成一个空白模型和图 Diagram,默认名字是 Blank Model 和 Main Diagram。将这个空模型改名为 ComputerModel.emx,如下图所示。

图 2. 新模型
图 2. 新模型

RSM 提供了丰富的 UML 可视化建模工具,具体方法可参考 RSM 的资料和帮助文档。本文应用了 RSM 的类图部件和工具,创建用 UML 描述的计算机系统模型作为例子,包括 5 个类和 4 个关系。如下图所示。

图 3. UML 类图示例
图 3. UML 类图示例

向模型中添加中每个类的 Attributes 属性组。单击 Type 列中的选择框为属性添加相应的类型。

图 4. 为 UML 类添加属性和类型
图 4. 为 UML 类添加属性和类型

完成添加所有属性后得到如下 UML 模型 class diagram 类图。根据这个 UML 类图,软件设计人员还可以通过 RSM 与其它工具的结合来自动生成程序代码,帮助加速设计到实现的过程。本文只侧重于描述数据模型的实现。

图 5. 完成的 UML 类图
图 5. 完成的 UML 类图

转换 UML 类图为逻辑数据模型

首先在 RSM 中建立一个新的模型转换配置。打开菜单 Modeling>Transform,选择 New Configuration,如图

图 6. 新建模型转换配置
图 6. 新建模型转换配置

命名新的配置为 example,在列表中选择模型转换方式为 UML-to-LDM, 即从 UML 模型转为逻辑数据模型。接着配置模型转换的输入和输出,选定源数据 Source 为 Example 工程中的 ComputerModel,目的 Target 为 Example,即输出模型的位置,如下图。

图 7. 配置 Source 和 Target
图 7. 配置 Source 和 Target

选定后点 Finish 结束,即在 Example 工程中生成一个名为 example.tc 的数据转换配置。

现在选中我们要转换的 UML 模型 ComputerModel, 然后单击 Modeling>Transform, 就会发现刚才建立的转换配置 example.tc 出现在菜单中。运行 example.tc,RSM 就会按照配置将模型 ComputerModel 转化为逻辑数据模型 ComputerModel.ldm,转换结果如图 9 所示。

图 8. 运行 example.tc
图 8. 运行 example.tc
图 9. 转换结果
图 9. 转换结果

将逻辑数据模型导入 IDA

这里我们利用 IDA 将 RSM 定义的数据模型最终转化为数据库中的表定义。首先在 IDA 中新建一个工程 , 选择 Data Design Project 类型,命名为 Example。在此工程中导入上述步骤在 RSM 中设计生成好的逻辑数据模型。一个简单的办法是直接将 LDM 文件从 RSM 工程中拷贝到 IDA 的 Example 工程中,IDA 会自动解析文件,识别出 ldm 格式,完成后 IDA 工程中 Data Models 和 Data Diagrams 目录下将增加了条目 ComputerModel.ldm。

图 10. 在 IDA 中导入 ldm
图 10. 在 IDA 中导入 ldm

转换逻辑数据模型为物理数据模型

接下来需将所生成的逻辑数据模型转换为物理数据模型。选中 Data Model 中的 ComputerModel.ldm, 打开菜单中的 Data>Transform>Physical Data Model

图 11. 转换 ldm 为 pdm
图 11. 转换 ldm 为 pdm

在打开的转换页中,选择生成新模型。在下一步选择配置连接数据库的种类和版本以便于通过物理模型直接实现数据库的生成。IDA 支持多种数据库连接,这里我们选择了 DB2 数据库 v8.2, 用户可根据自己的环境选择。接下来需要配置转换的设定。这里要注意前面没有设定类型的属性会被设置为默认的类型,用户可以自己修改默认的类型和大小。这里我们将默认类型修改为 varchar,如图所示:

图 12. 转换配置设定
图 12. 转换配置设定

完成转换后,在 Data Model 菜单下可看到 ComputerModel.dbm,打开 schema 可检查所生成的数据库表,表项,主键和关系。

图 13. 生成数据库模型
图 13. 生成数据库模型

根据所生成的数据库模型,IDA 提供了生成图形化模型的功能。用户可以直观的检查转换模型的结果是否符合设计,并修改最后的数据库模型。

图 14. 物理数据模型图示
图 14. 物理数据模型图示

转换完成后,根据 DB2 的实际要求检查并修改 IDA 自动转化成的物理数据模型的类型、主键和外键信息。这里要注意 IDA 自动转化成的物理数据模型里面 String 类型被自动转化为 varchar(32672), 这个长度已超过了 DB2 的要求,所以要手工改变字段的长度;自动生成外键的名字可能超过 18 个字段,在 DB2 数据库里也不支持,需要手工改成较短的名字。

生成数据库实例

修改完成后,用户可以直接根据该物理模型生成数据库描述语言 DDL,右键单击模型中的 Database 选项,选择生成整个数据库的定义语言 DDL。

图 15. 生成 DDL
图 15. 生成 DDL

若数据库里已存在这些表,则需要在生成 DDL 选项中选定“DROP”语句,保证更新成功。同时在生成选项下一页中命名新生成的 ddl 文件为 script.sql,保存。如果选中了“run on server”, 则需要配置数据库服务器。首先配置数据库连接。在此之前,我们已经在 DB2 中建立了名为 Sample 的数据库。在数据库连接中选择 DB2 for Linux, Unix, and Windows,根据用户的环境,配置数据库的连接信息。

图 16. 配置数据库的连接信息
图 16. 配置数据库的连接信息

生成了名为 script.sql 的 DDL 文件存放在 SQL Scripts 目录下。即数据库表的生成语言。如果上一步的数据库已经配置好,连接测试没有问题,就可以直接在 IDA 里运行该 SQL 生成数据库表。

图 17. 运行 script.sql
图 17. 运行 script.sql

运行过程中可查看运行历史信息,获取错误提示等。如果运行成功则出现如下界面。

图 18. 数据库 SQL 执行成功
图 18. 数据库 SQL 执行成功

图 18 大图

最后,可以访问远程的 DB2 数据库管理系统 , 检查运行结果是否正确。

图 19. DB2 中的结果
图 19. DB2 中的结果

总结

Rational Software Modeler 是一个专业的 UML 建模和设计工具,可用于基于 UML 的概念模型和逻辑模型的建模方面。InfoSphere Data Architect 提供了强大的数据设计和转换功能并提供了与数据库的接口,可以完成从概念模型映射到数据库的具体实现。本文介绍了一种使用这两种工具,实现从 UML 做数据模型设计最终生成数据库实例的方法,其步骤包括从 UML 数据建模到 LDM,从 LDM 到 PDM,从 PDM 到数据库 DDL 语句,最后生成到数据库实例。本文所述方法能有效加快数据模型及其数据库实现的开发速度,极大的提高工作效率。



http://www.ibm.com/developerworks/cn/rational/r-cn-umlrsmida/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rational Software Modeler(简称RSM)是由IBM公司开发的一款集成开发环境,用于软件系统的建模设计。下面是关于Rational Software Modeler下载的介绍。 1. 下载来源: Rational Software Modeler可以通过IBM公司的官方网站进行下载。用户可以登录IBM官网,然后进入软件下载页面,在搜索框中输入Rational Software Modeler,并选择适合的版本进行下载。 2. 下载要求: 为正常使用Rational Software Modeler,在下载之前需要确保满足以下系统要求: - 操作系统:Windows、Linux或者Mac OS X等常见操作系统; - Java运行时环境:Rational Software Modeler需要依赖Java环境,因此需要先在系统上安装Java。 3. 下载步骤: - 登录IBM官网,进入软件下载页面; - 在搜索框中输入Rational Software Modeler,选择适合的版本; - 点击下载按钮,选择下载路径; - 下载完成后,找到下载的安装包文件并运行; - 按照安装向导的指示进行安装,包括选择安装路径、接受许可协议等。 4. 特别注意: - 用户需要根据自己的操作系统选择正确的版本进行下载; - 下载完成后,最好进行校验,确保文件的完整性和正确性; - 如果在下载过程中遇到问题,可以查阅IBM官网提供的文档或者咨询IBM的技术支持。 总之,Rational Software Modeler是一款功能强大的软件模型设计工具,用户可以通过IBM官方网站进行下载和安装。在下载之前请确认系统要求,并按照下载步骤进行操作。希望以上信息对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值