基于UML的面向对象数据库设计思想及在HR系统中的应用_第1页
基于UML的面向对象数据库设计思想及在HR系统中的应用_第2页
基于UML的面向对象数据库设计思想及在HR系统中的应用_第3页
基于UML的面向对象数据库设计思想及在HR系统中的应用_第4页
基于UML的面向对象数据库设计思想及在HR系统中的应用_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第26卷第8期2009年8月计算机应用与软件Computer App licati ons and Soft w are Vol 126No . 8Aug . 2009基于U ML 的面向对象数据库设计思想及在HR 系统中的应用张念121, 2陈薇2(中国地质大学(武汉 地球物理与空间信息学院湖北武汉430074 (广州航海高等专科学校计算机与信息工程系广东广州510725摘要针对传统E 2R 模型在大型数据库设计中的不足, 提出一种基于UML 的面向对象数据库设计思想。该方法由用例驱动整个研发过程, 可以在进行系统分析的同时规划数据库, 产生对应的数据库表。在HR 库设计过程, 提高系统研发

2、效率。关键词统一建模语言数据库设计人力资源系统D ES DATABASE BASED O NI I CAT IO N IN HR S Y STE MZhang N ian121, 2Chen W ei2(Institute of Geophysics and Geo m atics, China U niversity of Geosciences, W uhan 430074, Hubei, China (D epart m ent of Co m puter Science and Infor m ation Technology, Guangzhou M ariti m e Colleg

3、e, Guangzhou 510725, Guangdong, China Abstract According t o the deficiency of traditi onal E 2R model in large database designing, the paper puts f or ward a design idea of object 2oriented database based on UML. The method drives whole p r ocess of design and devel opment by the use 2case, it can

4、p lan database and p r o 2duce corres ponding database table while analyzing the syste m. The app lied p ractice in HR syste m shows that it can op ti m ize the p r ocess of da 2tabase designing, and i m p r ove the efficiency of research and devel opment .Keywords Unified modelling language Databas

5、e design Hu man res ource syste m(2 不利于系统扩展。应用系统的业务需求总是不断变化0引言数据库设计是现代信息系统的基础和核心, 传统的数据库设计主要依靠实体关系模型(E 2R 模型 , E 2R 模型结构简单、便于理解, 但不利于反映复杂数据库系统各实体间的关系, 也不利于软件项目干系人的相互交流。UML 是一种面向对象的分析与设计语言, 它能够让系统构造者用标准的、易理解的方式来表达系统, 便于不同人员有效共享与交流1-3。采用UML 方法进行数据库系统建模, 可以将数据库规划与系统规划结合起来, 在系统分析的同时进行数据库的设计, 可以保证数据库设计与系

6、统规划的一致性, 改进软件开发质量, 提高软件研发速度4-7。和发展的, 在对系统进行扩展时, E 2R 模型很难适应这种扩展的需要。(3 采用E 2R 模型进行建模时, 分析与设计阶段独立性很强, 各阶段或过程之间的转换比较困难, 其中一个阶段的变换可能引起整个系统的改变, 增加了系统分析与设计的工作量。为克服以上缺点, 需采用更灵活、更健壮的面向对象分析方法来替代E 2R 模型, 或与E 2R 模型结合作数据库系统分析与设计, 下文就是用UML 技术对E 2R 模型进行改进。2基于U ML 的面向对象数据库设计思想2. 1U ML 与传统E 2R 模型的关系UML 是一种面向对象的建模技术

7、, 从本质上看, UML 对象1传统E 2R 模型遇到的问题在传统的数据库设计中, 用E 2R 模型来创建数据库的逻辑结构, 其基本思想是:描述实体与实体之间的关系, 以此来反映一个数据库系统的需求8。该方法在一定程度上为数据库建模提供了方便, 推动了数据库设计的规范化、标准化, 但随着现代信息系统越来越庞大, 数据库越来越复杂, E 2R 模型的缺点也逐步暴露出来:(1 用E 2R 模型描述系统信息过于简单化, 且词汇量不足, 不利于准确地映射问题域, 也不利于从整体上反映系统。模型是一种扩展的实体关系(E 2R 模型。在数据库建模中, E 2R 模型主要用于表述实体间的关系, 当数据库系统

8、规模很小时, E 2R 图很容易理解。然而现代数据库系统往往非常庞大(可能由上百个数据表组成 , 仅仅依靠E 2R 图来理清各实体之间的关系是非常困难的, 此时UML 技术是一种有效的解决方法。UML 采用类图、用例图、对象图、交互图等工具, 清晰地描述系统的各种功能需求及复杂系统的各种内部关系, 使得建模收稿日期:2008-01-08。张念, 高工, 主研领域:系统分析, 计算机算法, 地球探测信息技术。第8期张念等:基于UML 的面向对象数据库设计思想及在HR 系统中的应用139过程和结果容易被理解。此外, UML 不仅能够完成E 2R 图所能完成的数据库建模, 还可将数据库建模过程与系统

9、分析过程紧密结合, 避免数据库规划与应用系统设计的脱节, 为设计健壮的、高效的数据库应用系统提供方便。(1 将整个类层次映射为一个数据库表。该方法实现简2. 2用U ML 进行数据库设计的基本过程图1是用UML 进行数据库设计的基本过程 。单, 支持多态, 但增加了类层次的耦合, 且浪费大量空间。(2 每个具体子类分别映射成一个数据库表, 抽象类不参与映射。该方法实现简单, 包含具体子类所有信息, 但父类的修改会导致父表和子表同时修改, 对象具有多个角色时不能保证数据的完整性。(3 每个类均映射成数据库表。该方法与面向对象的概念一致性最好, 支持多态, 易于修改基类和增加新类。缺点是:数据库中

10、存在大量的表, 访问数据的时间较长, 对报表的支持差。图1基于UML 的数据库设计过程可以看出, 基于UML 的数据库设计基本思想是:由用例驱动整个研发过程, 将整个过程分为四个阶段:捕获需求阶段、系统分析阶段、系统设计阶段、实现阶段(实体类映射为数据表 , 每个阶段均在前一阶段基础上进化而来, 呈增量迭代模式阶段工作分别为:(1 捕获需求阶段极交流, , 例模型、, 。(2 分析阶段, 进行功能抽象和数据抽象, 得到系统分析包及类之间的关系。(3 设计阶段进一步细化, 细化分析类的方法和相互关系, 细化各子系统的接口和相互间交互, 得到可以实现的设计模型。(4 实现阶段将上述用UML 分析产

11、生的类图映射到数据库, 实现对数据库的具体设计。3在HR 系统中的应用, 来说明UML:用例分析、建立9。. 1首先, 建立业务用例模型, 用来描述模块的业务功能10, 包括两个元素:角色、用例。角色就是使用用例的人, 用例则用来描述系统或模块功能, 指定一系列活动。如图2所示, 是考核管理模块的用例图 。2. 3U ML 类图与关系数据库的映射将UML 分析得到的实体类图映射到关系数据库, 是上述思想中最重要的部分, 也是系统实现的关键。2. 3. 1实体类到数据库表的映射类映射到表一般情况下, 将一个实体类映射为一个表, 主键的定义是其关键。一种方法是为每个类增加一个对象标识符(O I D

12、 , 将它映射为数据库表的主键; 另一种方法是根据实际情况, 将某个属性或属性的组合作为主键。属性映射为字段(列 通常一个属性映射为表中的一列, 非持久的属性不进行映射, 复杂的属性可以映射为多列。属性的类型映射为域简单类型直接映射为数据库相应的类型; 复杂类型先化作简单类型, 再作相应处理。2. 3. 2类的关系映射图2考核管理模块用例图关联关系的映射通过外键来实现。若A 与B 是一对一关联, 映射数据库表时可以选择任意一方, 在其所在类表中添加外键, 指向另一方对应表的主键; 若A 的一个对象与B 的多个对象关联(一对多 , 则在B 对应的数据库表中添加外键, 指向A 对应库表的主键; 如

13、A 与B 是多对多关联, 则考虑增加一个关联表(中间表 , 该表与A 和B 对应的表形成两个一对多的关系, 在关联表中设置对象标识符(O I D , 同时增加两个外键, 分别指向A 和B 对应的数据库表。聚合/组合关系的映射聚合表示整体/部分关系较弱的情况, 一般采用一对多关联的映射方式, 如果聚合关系比较紧密, 则可以映射到一张表中; 组合表示整体/部分较强的耦合关系, 映射策略与聚合类似, 只是子类对应的子表中的外键不能为空。泛化关系的映射在面向对象方法中, 泛化反映了类之间的继承关系; 而关系数据库表中, 没有明确方法表达继承。映射时可以考虑如下三种方法:然后, 对用例图进行分析, 细化

14、功能, 同时考虑数据间的层次, 生成系统顺序图和合作图, 其中顺序图可以得到类的方法(函数 。对图2(考核管理模块用例图 进行过程分析, 可以得到考核计划顺序图、排序顺序图、考核定级顺序图、考核上级打分顺序图、考核自评打分顺序图。如图3所示, 是考核自评打分顺序图。图3考核自评打分顺序图1403. 2建立类图计算机应用与软件2009年基于上述的业务用例模型, 用名词短语的方法, 可以从用例描述中得到系统的类(对象 , 经过反复筛选和添加, 可得到系统的整体类图(对象模型 。用UML 设计数据库时得到三种类:控制类、实体类和边界类。控制类用于对一个或几个用例所特有的控制行为进行建模、协调、处理、

15、控制和序列化其他对象; 实体类是指存储信息和相关行为的类, 即业务对象; 边界类用于系统与角色的交互。建立类图, 可以明确类的属性和行为, 发现类的关联, 找出实体类和它们之间的关系, 为数据库设计提供依据, 如图4所示, 是根据业务用例模型分析出来的类图 。数据库表及表间的相互关系确定下来, 意味着数据库规划的完成。4结束语面向对象的系统分析方法是现代信息系统规划与设计的主流思想, 采用UML 对数据库系统进行建模, 可以将系统的分析过程与数据库规划过程紧密结合, 保证了系统结构的合理性, 且大大提高了开发效率。同时, 由于对象和类本身的封装性、独立性, 。参1M.邵维忠, 麻志. :, 2

16、001:48252.2M.北京:机械工业出版社,2003:52256.3冀振燕. UML 系统分析设计与应用案例M.北京:人民邮电出版社, 2003:34237.4张唏. UML 类图在关系数据库中的实现J .计算机应用研究,2001(12 :1312133.5张虹, 郑会颂. UML 中的类模式在关系数据库中的映射及其实现J .南京邮电学院学报, 2005(6 :75278.6古莉, 刘玉生. 基于UML 设计数据库模型J .计算机与现代化,2001(5 :55258.图4考核管理模块的实体类及控制类7张念春. UML 模型向关系数据库的映射方法初探J .计算机工程可以看出, 该考核管理模块

17、包含一个控制类:Quarter A s 2sessServlet; 三个实体类:Quarter A ssessPlan (季度考核计划 、Quarter A ssess Report (季度考核述职 、Quarter A ssess (绩效考核 。与应用, 2002(19 :2122214.8萨师煊, 王珊. 数据库系统概论M.3版. 北京:高等教育出版社,2000:2132224.9陈志刚, 何铮. 基于UML 的对象关系数据库设计J .微型电脑应3. 3类转化为数据表建立类图后, 就可以按照上节的方法, 将UML 类图映射到关系数据库。首先, 按照“实体类到数据库表的映射”方法, 将分析得

18、到的类转化为数据库表, 譬如Quarter A ssessPlan 类可以映射为季度考核计划表, 表的字段分别为:条目编号(主键 、考核表编号(主键、外键 、季度主要工作任务、考核标准、权重(% 、资源支用, 2001(10 :12214.10W endy Boggs,M ichael Boggs . UML 与Rati onal Rose 2002从入门到精通M.北京:电子工业出版社, 2002:55258.(上接第121页参考文献1吴丽花, 刘鲁. 个性化推荐系统用户建模综述J .情报学报,2006, 25(1 :55256.2Deshpande M, Karyp is G . Ite m

19、 2based T op 2N Recommendati on A lgo 2rithm sJ .AC M Transacti ons on I nf or mati on System s, 2004, 22(1 :1432168.3李涛, 王建东, 叶飞跃. 一种基于用户聚类的协同过滤推荐算法J .系统工程与电子技术, 2007, 29(7 :117721178.4M ichael J A, Berry Gordon S L inoff . 数据挖掘技术M.机械工业出持承诺、参与评价者打分、自评打分、上级评分。然后, 按照“类的关系映射”方法, 根据类之间的关系生成表之间的关系, 如图5所示, 是用该方法得到的表之间的关系(原表较大, 截取一部分 。版社, 2006:1512152.5Sar war B, Karyp i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论