UML数据库建模关键技术分析 大数据分析师工资待遇
[摘 要]本文在分析选择UML数据库建模方法的基础上,重点分析了UML数据库静态和动态建模技术,指出运用UML数据库建模方法得到的模型不受数据库管理系统的局限,与对象关系数据库管理系统的连接性更好,并且有利于实现面向对象的软件工程。
[关键词]UML数据库动态建模静态建模
[中图分类号]TP[文献标识码]A[文章编号]1007-9416(2010)03-0054-01
目前,利用UML对数据库建模在学术界尚未形成一个统一的标准,有很多学者致力于使UML成为一种可以完全替代ER方法的语言。在不考虑数据库管理系统类型的情况下,UML数据库建模的一个关键问题是UML的语言表达转化成目前数据库模式支持和能够理解的方式(即表、列、表空间等),即在UML语言和数据库之间形成一个沟通的法则。
1 选择UML数据库建模方法
UML数据库建模中关键问题是寻找数据库和UML模型图中的对应关系,一般有说来有以下2种方法[1]:(1)将数据库逻辑和物理概念一一映射到UML的表达上。(2)将UML中的表达方法向数据库支持的模型映射。
第一种方法是:将数据库中逻辑和物理概念用UML的语言来表达;这种思路的核心思想是:数据库中的物理概念:如数据库的服务器,数据库的通信协议等用UML中的部署图表示,数据库中的表空间、数据库、模式、用户用UML的包、角色表示,用用例图来体现。数据库中的表,行,列用UML中的类图和对象图和属性来表示,数据库的业务规则体现在UML类图的关系上。该方法用在系统分析设计之后,对于一个已经有了初步的数据库设计的信息系统来说,便于内部的沟通和交流,能够很好的表达系统的数据库设计。由于这种方法对于还没有确定系统的数据库设计方案的信息系统来说,是不太合适的,在还没有拿出数据库设计的方案之前,这种解决方案实现起来有一定困难。
而第二种方法是:将UML中的表达方法向数据库支持的模型映射。这种思路的核心思想是以UML中的类图为主,向数据库表结构映射,系统分析及设计人员使用UML进行系统的概念建模,将与UML数据建模有关的设计成果,如类图、顺序图、状态图及活动图,用相应的映射方法实现至后端的ORDBMS。该方法把UML图分解成静态和动态结构两种,其中类图的操作被看作动态结构,建立数据库逻辑模型,静态结构作为数据库表中信息存放,动态结构可以实现为界面代码和数据库逻辑规则等。本方法完整的实现了从系统分析设计到数据库设计的转换,中间过程没有流失数据和操作信息。
基于上述原因,本文将针对第二种解决方案进行转化,因为一个系统的设计方案如果采用面向对象的方式进行分析和设计的话,这种方式能够很好的描述系统的特征和系统结构,因此利用UML类图向数据库进行映射应该是最佳方案。
2 UML数据库静态建模
首先对类的属性进行一个划分。根据研究文献的观点,类可以分为永续类,短暂类和接口类。从类的定义上可以看出这几个类的作用,在UML数据库建模中,由于只有需要持久化的对象需要存储,因此该建模方案中数据设计仅需要实现永续类。因此对所有永续类以一对一的方式对映成为实体的数据表[2]。教务系统作为一个信息系统,处理的类型以静态信息为主,系统中的类几乎都是要保存的永续类,只有在状态转化图中出现的类才是短暂类,而系统接口类是系统和程序设计的接口。
其次,由于UML具有的对象特点,存在超类与子类的概念,因此如果类图中有继承的结构则使用一对多的方式对映。考虑到将对象技术中的继承关系映射为对象关系数据表中继承关系,其实质是UML数据库建模中的UML的泛化(Generalization)关系,因此继承关系在对映为数据表时,有三种对映方式:第一种方式是将所有的子类与父类结合成为单一的数据表格;第二种方式是将父类的属性、操作复制到各个子类之中,成为若干个子类别数据表(实际数量为子类的个数);第三种方式是将父类与各个子类分别对映成数据表(实际数量为子类的个数加上一个父类),父类的主键将成为子类数据表的主/外键。
3 UML数据库动态建模
为了补充前述作法的不足,本文提出将描述类操、交互图、状态图及活动图映射为ORDBMS的触发器、存储过程、方法或面向对象程序代码的构想。交互图、状态图及活动图虽然不是包含在类图之下,但都能借以补充说明操作的行为或处理程序。所以,可从这些图形的内容去探讨它们与程序代码的对映关系,以找出实现类操作的步骤与原则。
(1)类图中操作的映射。操作是某一个类的对象所要求服务的实现,它可以代表类里面所包含的行为。描述操作逻辑及处理程序的方式可使用结构化英文,虚拟程序代码及活动图来表示。类的操作类似传统结构化程序中的子程序或程序,如果操作逻辑及处理程序已使用结构化英文或虚拟程序代码清楚的描述,则可以将操作描述映射为程序代码。另外在操作映射过程中,需要特别注意的是传入和传出的参数。
(2)交互图的映射。顺序图与合作图统称为交互图,主要用于描述许多对象在单一用例中的互动行为合作图主要强调收发信息对象的结构组织,通过合作图可以将一组物件和另一组对象之间连结以及信息收发情形显示出来,合作图可以用束表现系统的动态特点。由于可使用如Rational Rose或System Architect 2001等CASE Tool直接将顺序图映射为合作图,表示两种图形在语意映射上不会有流失的情形。所以在探讨交互图映射程序代码的议题上,只要针对顺序图即可。
(3)活动图的映射。活动图可以显示系统里面由一个活动到另一个活动的流程。活动图里面包括一组活动以及活动与活动之间的顺序流程、分支流程以及发出动作和接受动作的对象。活动图可以用来表现系统的动态视图,进行工作流程建模与操作建模。
(4)状态图映射成触发器或存储过程。存储过程是内置于关系型数据库管理系统的特殊程序。它是将程序的应用逻辑由客户端移到数据库服务器端,当客户端应用程序发出一个请求命令,即可在数据库服务器端执行多个SQL指令,这样做能大量减少计算机资源的使用,降低网络的流量,提高C/S架构应用系统的执行效能。触发器是一种特殊的存储过程,两者不同之处在于存储过程是被动的程序,必须要有入调用它才会执行;触发器是主动的程序,它由设计人员事先定义在某个数据表上,当使用INSERT、UPDATE或DELETE指令柬修正数据时,数据库管理系统会检查是否有符合某种条件的状况发生,一旦该条件符合时,会自动激活触发器,执行一连串的SQL指令。
4 结语
使用UML未必能够解决所有的问题,在本系统中尝试使用UML对数据库建模,一方面研究信息系统的建模的技术,另一方面可以使面向对象的方法在本系统的分析设计和实现中一气呵成。UML对象模型在本质上只是一个扩展的实体.关系(ER)模型。UML强调的是面向对象的观点,ER模型在以前普遍被人接受,现在在面向对象的设计中,UML使得软件和数据库使用相同的模型一起工作。
[参考文献]
[1] 刘志成,应时,黄格飞.UML在关系数据库设计中的应用[J].计算机时代,2006,12.
[2] 王澄,魏宪军,李志华等.基于UML建模的工程试验数据库管理系统的设计[J].现代机械, 2009,02.
[作者简介]
叶裴雷(1978―),女,上海人,广东白云学院计算机系,讲师,硕士学位,主要从事计算机软件工程研究工作。
