《Enterprise-Architect-UML指南.docx》由会员分享,可在线阅读,更多相关《Enterprise-Architect-UML指南.docx(80页珍藏版)》请在优知文库上搜索。
1、EnterpriseArchitectUM1.指南1 .应用UM1.进行数据库建模1.1 介绍当须要为软件系统系统供应一种牢靠,敏捷而又高效的对象长久化方法时,当今的设计师和架构师们面临着众多的选择,从技术的层面上,这个选择往往介于完全面对对象,对象关系混合,完全关系化和建立在公开或专有文件格式上的常规解决方案之间(如:XM1.1O1.E的结构化存储1从供应者的层面上,Orade,IBM,Microsoft,POET和其它的公司供应了相像,但是彼此间往往不相容的解决方案.本文仅论述这些选择中的一种,即在完全关系数据库上层面对对象的类模型进行分层.这并不表明它是唯一、成好而又简洁的解决方案,但是
2、从好用的角度看,它是最常用的一种类型,和也是最简洁被用娼的一种.我们先快速阅读两个设计领域的模型,并试图把它们连接起来:第一,介绍用UM1.表达面对对象的类模型;其次.关系数据库模型.对每一个领域我们只涉及联向到我们任务的主要功能.然后捌门将关注从类模型到数据库模里映射的技术和礴.包括对象长久性,对象行为,对象和对象标识之间的关系.我们将总结对UM1.数据profile的回顾(RationalSoftware举荐1.一些面对对象设计,UM1.和关系数抠库建模的相像性也会被提及.类模型是UM1.用来表达软件系统逻辑结构的主要工件.它用来记录数据需求和模型领域内对象的行为.本文不探讨创建和具体描述
3、该模型的技术,我们将假设已经存在一个设计好的类模型,它须要映射到关系数据库上.类榛型类在UM1.中是一个基本的逻辑实体.它定义了一个结构单元的数据和行为.一个类是一个模板或运行时创建实例和对盆的模型.当开发一个陵辑模型,如UM1.中的结构层次,我们将明嫡地把它们当作类来处理.当面对动态图时,如依次图和协作图,我们也要处理类的实例和对象,以及它们运行时的内部动作.数I藏和封装原则是基于作用域效果.类有它的内部数据元素.访问这些数据元素须要通过类对外的行为或接口.遵循这个原则会生成更易于维沪的代码。一个筒触的“Person”类,没有显示状态和行为Peson Address:CAdctess Nam
4、e Age:double ge!Age)int SetAge(0 g!Name stNarreQ.cgrS2Q dMXM.OltflWTHrtJ10 eTfpro.cuaTHd)a:) to5.CM11Of rfocCMaTM0 4Cteckkch.cutt4mfk)这个例子描述了下列行为:一个主健约束(PK);一个外键约束(FK);一个索引约束(Index);一个触发器(Trigger);一个唯T约束(UniqUe);一个存储过程(Proc)一个有效性检查(Check).运用上面供应的标注,我们可以在DBMS层次上,对困难的数据结构和行为建模.另外,UM1.还供应表达逻辑实体间关系的标注.关
5、系UM1.数抠建模profile定义了两个表间造意一种依靠关系.它表示为一构造型的关联并包括一组主键,的卜键,数据profile仍旧须要一种关系始终参加到父类和子类之间,父类定义一个主城,子类实现一个建立于全部或部分父类主键基础上的外梃.这种关系将被区分为:”定义的(假如该子类外犍包含全部父类主健元素)和非定义的(假如只包括部分主键元素I这个关系可以包括基数性约束,以及袖成对的相关主键与外键来建模,并命名为关联角色.下图描述了运用UM1.对这种关系的建模.上图显示I父类和子类之间的标识关系,带有主螳到外槌的角色名物理模型UMI.也供应一些机制来表示数据库的整体物理结施,它的内容和部署位西.我们
6、用恂造型组件来表示一个物理;库.见下图:oDstabase*NainOraOB一个组件表示了一个留敢,可部署的实体.在物理模型中,组件可以映射到一个物理硬件(UM1.的节点X对于数SS库内的关系模式,我们用带Schema构造型的包来表示.一个表可以放国到Schema中来建立它在数据库中的范围和位置.schema*UserChMGrjndohiMGrjndpjrentParentPerson1.3从类模型到关系模型的映射我们已经描述了所关注的两个领域和它们运用的标注,现在将我们的留意力转移到如何映射,及如何从一个领域转换到另一个领域,以下采纳的策略和表达依次是建议性的,而不是必需的.果纳何种步骤和过程要依据个人的须要和环境而定.1 .类的建模首先我“城设从T已经创建的类模里构建一个新的关系数据库模式.明显这是一个最简洁的方向,这是因为摸型始终在我们的限制之下,并且我们能依据类模型来优化这关系模型.在现实环境下,你可趣要在原有数抠模型之上对类模型分层,这是更难的一种状况,具有挑战性。在这里,我们只关注第一种状况,至少类模型会记录元素的关联,继承和聚合关系.2 .标识长久对象建立类模型后,我由预要将类模型的元素分成须要长久性和不须要长久性两类.例如,假如我们采纳“模型-视图-限制的设计模式来设计我们的应