




已阅读5页,还剩76页未读, 继续免费阅读
(计算机软件与理论专业论文)andromda模型转换组件开发方法的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
台肥j 【业大学硕士学位论殳 a n d r o m d a 模型转换组件开发方法的研究与应用 摘要 在目前已有的软件开发方法学中,模型驱动体系结构m d a 是一种利用模 型进行软件开发的方法。它将系统开发人员工作时的大部分注意力从代码的编 写转移到了模型的设计,从而提高了系统开发过程的抽象层次,有助于项目人 员之间的互相协作和项目的顺利进行。 a n d r o m d a 是一种遵循m d a 规范开发的开源软件工具,它对目前j 2 e e 领域中较为流行的技术平台和框架都有较好的支持,如s p r i n g 、h i b e r n a t e 和 s t r u t s 等。在a n d r o m d a 定义的组件中,c a r t r i d g e 是负责将平台无关模型转换 成为平台相关模型的重要组件,其中包括了具体的模型转换规则和实现。虽然 目前的a n d r o m d a 提供了对s p r i n g 框架的部分支持,但是其中缺少了对s p r i n g 框架的子模块s p r i n gm v c 的支持。 针对这利一情况,本文首先提出了一种开发c a r t r i d g e 组件的方法。该方法将 开发过程分为五大步骤,分别为确定建立p i m 的u m l 建模技术、抽取p s m 元 模型、实现p i m 与p s m 之间的转换、c a r t r i d g e 配置文件的创建和模板文件内 容的完善。该方法涵盖了设计c a r t r i d g e 组件的主要方面,对每个步骤完成之后 开发者必须实现的成果进行了约束。 基于该方法,本文实现了s p r i n gm v cc a r t r i d g e 组件。该组件用于将平台 无关模型转换成为基于s p r i n gm v c 框架的p s m 。在实现的过程中,根据以上 提出的c a r t r i d g e 组件开发方法的要求,本文提出了一种基于s p r i n gm v c 框架 进行w e b 系统开发的方法,并采用s t r a t e g y 和t e m p l a t em e t h o d 设计模式对方 法中的某些部分进行了重构,使其能够适应m d a 软件开发方式。在此基础上, 本文完成了针对s p r i n gm v c 框架的p s m 元模型抽取和p i m 与p s m 之间转换 规则的抽取和实现等工作。 本文最后运用s p r i n gm v cc a r t r i d g e 组件对淮北矿业集团煤矿安全管理信 息系统中的隐患排查模块进行了实现,对本文提出的开发c a r t r i d g e 组件的方法 具有的理论意义与应用价值进行了验征。 关键词:m d a ,模型转换组件,a n d r o m d a ,s p r i n gm v c ,c a r t r i d g e 台肥工业大学硕十学位论文 r e s e a r c ha n d a p p l i c a t i o n o nd e v e l o p m e n tm e t h o do f a n d r o m d am o d e lt r a n s f o r m a t i o nc o m p o n e n t a b s t r a c t i nt h e c o l l e c t i o no fp r e s e n ts o f t w a r ed e v e l o p m e n tm e t h o d o l o g i e s ,m d a ( m o d e ld r i v e na r c h i t e c t u r e ) i st h eo n ew h i c hu s e s m o d e lt o d e v e l o ps o f t w a r e m d a sa b i l i t yo fs h i f t i n gm o s tp a r to fs o f t w a r ed e v e l o p e r s c o n c e n t r a t i o nf r o m c o d i n gt om o d e l i n gd u r i n gd e v e l o p m e n t ,i m p r o v e st h ea b s t r a c t i o nl e v e lo fs o f t w a r e d e v e l o p m e n ta n di sh e l p f u lf o rc o l l a b o r a t i o na m o n gd e v e l o p e r s ,w h i c he n s u r e st h e s m o o t hr u n n i n go fd e v e l o p m e n t a n d r o m d ai sa no p e ns o u r c ec o d eg e n e r a t i o nt o o lw h i c hf o l l o w sm d a s p e c i f i c a t i o n i th a ss u p p o r t sf o rp r e s e n tp o p u l a rp l a t f o r m sa n df r a m e w o r k si nj 2 e e d o m a i n ,s u c ha ss p r i n g ,h i b e r n a t ea n ds t r u t s a m o n gc o m p o n e n t sd e f i n e db y a n d r o m d a ,c a r t r i d g ei s t h eo n ew h i c hi s r e s p o n s i b l ef o r t h et r a n s f o r m a t i o n b e t w e e np l a t f o r mi n d e p e n d e n tm o d e l ( e l m ) a n dp l a t f o r ms p e c i f i cm o d e l ( p s m ) i t e n c a p s u l a t e st h et r a n s f o r m a t i o nr u l e sa n di m p l e m e n t a t i o n s a l t h o u g hs u p p o r t i n g s p r i n gf r a m e w o r ki np r e s e n tr e l e a s e ,a n d r o m d ah a sn os u p p o r tf o rs p r i n gm v c m o d u l ew h i c hi sap a r to fs p r i n g t h i sd i s s e r t a t i o np r e s e n t sag e n e r a lm e a n st od e v e l o pc a r t r i d g ec o m p o n e n t i t i sc o m p o s e do ff i v es t e p s ,w h i c ha r ef i x i n go nt h em o d e l i n gt e c h n i q u et ob u i l dp i m , e x t r a c t i n gp s mm e t a m o d e l ,i m p l e m e n t i n gt r a n s f o r m a t i o nb e t w e e np i ma n dp s m , c r e a t i n gc a r t r i d g ec o n f i g u r a t i o nf i l e sa n de n h a n c i n gt e m p l a t ef i l e s b a s e do nt h e m e a n s ,t h i sd i s s e r t a t i o ni m p l e m e n t ss p r i n gm v cc a r t r i d g ec o m p o n e n t ,w h i c h t r a n s f o r m sp i mt op s mc o r r e s p o n d i n gt o s p r i n gm v cf r a m e w o r k d u r i n gt h e p r o c e s s ,t h i sd i s s e r t a t i o np r o v i d e sam e a n st od e v e l o ps o f t w a r eb a s e do ns p r i n g m v cf r a m e w o r ka n du t i l i z e ss t r a t e g ya n dt e m p l a t em e t h o dd e s i g n p a t t e r nt o r e f a c t o ri t s e l ft oa d a p t e rm d as o f t w a r ed e v e l o p m e n t ,b a s e do ni t t h i sd i s s e r t a t i o n i m p l e m e n t se x t r a c t i o no fp s mc o r r e s p o n d i n g ,t os p r i n gm v cf r a m e w o r ka n d t r a n s f o r m a t i o nr u l e sa n di t si m p l e m e n t a t i o n 。 a tt h ee n do ft h ed i s s e r t a t i o n ,i tu t i l i z e st h e s p r i n gm v cc a r t r i d g et o i m p l e m e n tt h ei n c i p i e n t f a u l te x c l u s i o na n dc h e c k i n gm o d u l eo fh u a i b e ic o a l s e c u r i t ym a n a g e m e n ti n f o r m a t i o ns y s t e mf o rv a l i d a t i o no ft h et h e o r ys i g n i f i c a n c e a n da p p l i c a t i o nv a l u eo ft h em e a n st h i sd i s s e r t a t i o np r e s e n t s k e y w o r d s :m d a ,m o d e lt r a ns f o r m a t i o nc o m p o n e n t ,a n d r o m d a ,s p r i n gm v c , c a r t r i d g e 台肥工业大学硕士学位论文 图1 1 图1 2 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图3 1 图3 2 图3 3 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图4 1 1 图4 1 2 图4 1 3 图4 1 4 图4 1 5 图4 1 6 图4 1 7 图4 1 8 图4 1 9 图4 2 0 图4 2 1 图5 1 图5 2 矧5 3 图5 4 图5 5 图5 6 图5 7 图5 8 论文 图表清单 m d a 方式与传统方式的异同点2 m d a 方式下各种人员角色之间的协作关系4 c o r e 包中模型元素的类建模1 2 e x t e n s i o nm e c h a n i s m s 包中模型元素的类建模1 3 s p r i n g 框架模块结构图1 7 s p r i n gm v c 框架处理请求的顺序图2 1 a n d r o m d a 模型制品生成机制2 3 a n d r o m d a 与j m i 和m d r 的关系图2 5 s t r a t e g y 模式的结构图2 7 t e m p l a t em e t h o d 模式的结构图2 8 开发c a r t r i d g e 组件的五个步骤3 0 类i s e r v i c e b a s e 的定义3 9 类i s e r v i c e b a s e a d a d t e r 的定义4 0 类s e r v i c e p r o c e s s o r 的定义4 1 类s e r v i c e p r e p r o c e s s o r 的定义4 1 服务层初步元模型的主要部分4 2 类d o s o m e t h i n g c o n t r o l l e r 的定义4 4 类d o s o m e t h i n g c o n t r o l i e r 的定义4 5 类d o s o m e t h j n 2 b a c k e n d 的定义。4 6 表示层初步元模型的主要部分4 7 持久层初步元模型的主要部分4 8 抽取出的p s m 元模型4 9 s p r i n g e n t i t y f a c a d e 与s p r i n g m v c u s e c a s e f a c a d e 的类模型设计5 0 类s p “n g e n t i c y f a c a d e l o 鲥c l m p l 的定义5 1 类s p r i n g m v c u s e c a s e f a c a d e l o g i c l m p l 的定义5 1 n a m e s p a c e x m l 文件的部分内容5 4 c a r t r i d g e x m l 文件的部分内容5 4 m e t a f a c a d e s x m l 文件的部分内容5 5 p r o f i l e x m l 文件的部分内容一5 6 s e r v i c e l a y e r x m l v s l 文件的部分内容5 7 p r e s e n t a t i o n l a y e r x m l v s l 文件的部分内容5 8 p e r s i s t e n c e 1 a y e r x m l v s l 文件的部分内容5 8 隐患排查系统的结构图。6 1 与隐患排查流程对应的用例模型6 2 自定义的用例模型6 3 与隐患排套流程对应的类模型一6 4 与隐患排查流程对应的类模型二6 4 类1 s e r v i c e b a s e 的定义 类r e g i s t e r l n c i p i e n f f a u l t c o n t r o l l e r 的定义 类s e r v i c e p r o c e s s o r 的定义一 6 5 6 6 6 7 鱼里i 些叁兰堕主兰些堡兰 图5 9 类r e g i s t e r l n i c p i e n t f a u l t b a c k e n d 的定义 图5 1 0 隐患信息录入界面 图5 1 1 隐患信息修改界而 6 9 6 9 表4 - 1 服务层模板文件列表4 1 表4 2 表示层模板文件列表4 6 表4 - 3 持久层模板文件列表4 7 表4 - 4 本文设计的s t e r e o t y p e 与t a g g e d v a l u e 扩展元素5 2 合肥t 业大学硕士学位论文 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经 发表或撰写过的研究成果,也不包含为获得金匿王些太堂 或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签字摩葫埠字隰朋年歹月f 。日 学位论文版权使用授权书 本学位论文作者完全了解金目垦王业太堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。 本人授权佥艘王些盍堂可以将学位论文的全部或部分论文内容编入有蓑数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 一名孝j 又爿季一名:方彬嘭 签字日期:h 怫年,月t ,日 签字日期:历口占年厂月l a 日 三霎兰嘉嚣善;?多;:?;7;口 含目p at - 业大学硕士学位论文 致谢 衷心感谢我的导师袁兆山教授在这近三年的研究生学习阶段中对我的悉心 指导和帮助,如果没有袁老师的谆谆教导,本论文是不可能顺利完成的。袁老 师以他在软件工程领域深厚的理论基础和对研究方向良好的把握,给了我意义 最深刻的指引。袁老师为我提供了良好的工作学习环境的同时,更为我创造了 在理论和实践两个方面都得到锻炼的机会。袁老师认真严谨的治学态度和工作 作风将令我终身难忘。 感谢合肥工业大学研究生院及计算机与信息学院的各位领导和老师给予的 帮助。 最后,感谢我的父母和家人在我求学期间对我的鼓励,他们的关心和支持 使我更加坚定我的路。 蔡斌辉 2 0 0 6 年5 月 合肥工业人学硕- = 学位论文 1 im d a 概述 第一章绪论 模型驱动体系结构m d a ( m o d e ld r i v e na r c h i t e c t u r e ) 是由对象管理组织 o m g 于2 0 0 1 年7 月提出的为了在软件开发过程中解决软件互操作问题的一种 模型组织管理框架,它是一种解决系统集成问题的新途径。m d a 是一种独立 于特定平台和软件供应商的软件体系结构设计和开发方法,它适用于设计、部 署、集成等软件开发的整个生命周期。 m d a 能够创建出机器可读的、高度抽象的模型,这些模型以独立于实现 技术的方式进行开发,以标准化的方式储存。m d a 把建模语言用作一种编程 语言而不仅仅是设计语言,它以一种全新的方式将一系列新的软件技术整合到 一起。这些技术包括基于组件的开发、设计模式、中间件、声明性规约、抽象、 多层系统、企业应用整合以及契约式设计。m d a 的出现,为提高软件开发效 率、增强软件的可移植性和可维护性、开发组织之间的协同工作能力,以及文 档编制的便利性提供了一种可能。m d a 被面向对象技术界预言为未来两年里 最重要的方法学。 1 2 软件开发的含义 a l i s t a i rc o c k b u r n 在他的a g i l es o f t w a r ed e v e l o p m e n t 一书中归纳了业界对 软件开发的看法,其中包括以c a rh o a r e 为代表的数学观、以b e r t r a n dm e y e r 为代表的工程观、以及以很多程序员为代表的手工艺观。此外也有越来越多的 人对软件开发持建模的观点,比如! v a tj a c o b s o n 就曾声称软件开发就是建模。 m d a e x p l a i n e d 一书的作者a n n e k ek l e p p e 等也指出代码就是模型。 1 3m d a 方式下软件开发的生命周期 m d a 方式下软件丌发的突出点在于模型在软件开发过程中扮演了非常重 要的角色。在m d a 中,软件丌发过程是由对软件系统的建模行为驱动的。图 1 1 说明了m d a 软件开发方式与传统软件开发方式的异同点。 这两种方式下的软件开发生命周期并没有很大的不同,不同之处在于开发 方式对开发人员的约束力以及开发阶段产生的制品。在传统的开发方式下,开 发人员往往不按照理论上的迭代开发模式进行开发,这样容易导致开发过程的 紊乱与小一致。而m d a 可以有效的避免这种情况的发生,冈为从p i m 的处理 到系统的部署,所有这些工怍:i :要由m d a 工具完成,j :发人员在其中只起辅 助,h :作嗣。 台肥工业大学顾i4 学位论文 在m d a 方式下,各个阶段产生的制品是可以被计算机理解的模型。根据 这些开发阶段具有的特征以及模型在开发阶段中所起的作用,m d a 将模型划 分为四炎,它们是: 1 ) 计算无关模型c i m 。c 1 m 不显示任何系统细节,它通常被称为域模型。 2 ) 平台无关模型p i m 。这种模型具有高抽象层次,它是独立于任何实现技术的 模型。 3 ) 平台相关模型p s m 。这种模型对应于某种特定的软件技术,开发者可以使 用这种软件技术来描述系统的模型。 4 ) 代码是用编程语言源代码对系统的描述( 规约) 。 图1 1 m d a 方式与传统方式的异同点 1 4m d a 对软件开发各方面的影响 1 ) m d a 为软件开发方法学提供了基础 软件工程中的方法学是指在进行项目开发时一系列对开发人员进行约束的 方法和规则的集合。按照规则的多少和约束的强弱,可以大致地把方法学分为 重型和轻型两种。 重型方法学比较正舰拳l 严谨,存采髑重型方法学的项翻中,开发人员具有 合肥工业大学硕卜学忙论文 较强的可替换性,因为方法学本身强制要求开发者把他所创造的所有东西都记 录在案,所以参与项目的新人员能够借助这些文档很快熟悉项目开发的进展情 况。 轻型方法学则具有与重型方法学相反的特质。在软件开发过程中,需要记 录在案的东西不多,最终交付的是可以运行的产品以及测试用例。开发者之间 的交流形式大多数是口头的、非正式的,虽然这种形式相对于重型方法学要高 效,但它只存在项目成员的头脑中。如果成员从项目中离去,那么这些东西也 随之丢失。 m d a 对这两种方法学都有很好的支持。轻型方法的主要特点是迭代和重 构,m d a 具有的模型制品同步特性为之提供了有力支持。重型方法的特点是 需要开发人员编写详尽的文档和创建大量的模型。对于m d a 来说,这些文档 和模型的精确度越高越有利于模型的转换。 2 ) m d a 改变了软件开发过程 在m d a 方式下,开发过程的需求分析阶段依然存在,不过需求分析员要 编写的不再是需求分析文档,而是p i m 。需求分析文档和p i m 之间的区别在于, 阅读需求分析文档的是设计师或者程序员,但阅读p i m 的则主要是类似于编译 器的自动工具。既然需求分析阶段产生的制品发生了改变,那么依赖于需求分 析阶段的设计阶段自然也要改变。此外,编码这项工作则需要完全重新定义, 开发人员只需要编写实现自定义内容的代码,大部分的代码将由m d a 工具由 模型直接生成。同时测试、部署等阶段也会有相应改变。 3 1m d a 为开发人员的角色赋予了新的含义 m d a 软件开发方式涉及到的开发人员角色主要有: a ) b u s i n e s sa n a l y s t ( 业务分析人员) 。业务分析人员不需要掌握任何与编 程有关的知识,他的主要职责是抽取用户日常处理的业务流程和流程中 涉及的信息,形成c i m 。 b ) r e q u i r e m e n t a n a l y s t ( 需求分析人员) 。需求分析人员必须具有一定的编 程和建模的经验,他的主要职责是将业务分析人员反馈的c i m 进行分 析和抽象,抽取出系统的需求模型,同时标识出需求模型中需要自动生 成的部分。需求分析人员与q k 务分析人员之间的协作必须是经常性的, 这对保持需求模型与c i m 之间的一致性相当重要。 c ) p i md e s i g n e r ( p i m 设计人员) 。p i m 没计人员的主要职责是根据需求分 析人员提供的系统需求模型建立和维护p i m 。p i m 设计人员在某些情况 下,还需要对由p i m 生成的p s m 进行完善工作。为了保持p i m 与需求 模刑之问的一致性,p i m 设计人员和需求分析人员之间需要保持经常性 晌协作。 d ) q u a l i t y a s s u r a n c ee n g i n e e r ( 模型制i l ;f f 质量保障人员) 。模型制品质量保 合肥工业人学碾j :学位论文 障人员的主要职责是对p i m 转换生成的p s m 进行测试,并对p s m 进行 进一步的完善。 e 1 d e p l o y m e n te n g i n e e r ( 系统部署人员) 。系统部署人员的主要职责是将 最终生成的系统模型制品进行部署和运行。 图1 - 2 说明了以上各种人员角色之间的协作关系。 咧唑一共 d e p l o y m e r te n g i n e e r 图1 。2m d a 方式f 各种人员角色之间的协作关系 4 1m d a 改变了开发工具 随着软件技术的进步,开发工具的改变一直都没有停止。在m d a 方式下, 充当开发语言角色的是统一建模语言u m l 。由于开发语言抽象程度的提升,开 发工具也必然会进行相应的变动。在m d a 方式下,模型变换工具充当的是传 统编译器的角色,而传统的编译器则退居目前汇编器的地位。此外,调试器也 将逐渐进化,就如同从机器码级调试向源码级调试的过渡那样,目前的调试方 式也将逐渐过渡到模型级调试。在i d e 中罨重要的也不再是基于文本的代码编 辑器,而是基于图形的建模工具。以后丌发人员将会像现在谈论一个a p i 函数 那样谈论一个发汁模式,而代码模式将完全由模型转换工具自动生成,它不再 是开发人员关心的内容。 5 1m d a 改变了,f 发人员对文档、代码和模型的传统认识 台肥工业太学硕i :学位论文 在以往的开发过程中,开发人员对文档和模型往往采取可有可无的态度。 他们始终坚信文档和模型不需要写得太精确,人们完全可以通过自身的理解能 力去更正其中一些无关紧要的错误并补全一一些省略之处。此外,编写精确程度 较高的文档和模型需要大量的时间,而在目前的情况、f ,这些文档和模型又不 能直接转变成为可以运行的产品,因此这些情况都直接影响着开发人员对文档 和模型的重视程度。 在m d a 方式下,以上的这些情况都将随之改变。模型和文档的主要使用 者不再是开发人员,而是能够处理模型的计算机。创建详尽的文档和模型不再 是一件浪费时间的事,因为文档和模型越精确,越有利于模型的转换。 1 5 目前软件行业对m d a 的认识 在o m g 的主席r i c h a r ds o l e y 看来,m d a 在小公司中接受得要慢一些, 但在大公司中被迅速采用。原因很简单,m d a 确实改变了软件开发的方式。 已经开展建模工作的公司在进行项目开发时,虽然在项目开发的早期投入了大 量的精力进行系统模型的建立,但是一旦进入到具体的编程工作,那么模型往 往被开发人员忽视。出现这种情况的原因在于,模型和实现之间不能直接进行 转换。m d a 要做的就是把模型本身也作为一个开发制品。通过编译器,m d a 工具自动将模型生成与系统架构,如j 2 e e 、n e t 、c o r b a 、c o m 等,相关联 的数据转换、持久存储、转换完整性和数据格式等内容。因此,采用基于模型 的方法,开发人员可以将注意力转向系统的模型设计,最终的工作成果将由 m d a 工具自动生成。目前可以将m d a 的支持者分为三类: 1 1 支持采用u m l 来构建p i m ,然后将p i m 转换成p s m ,最后由p s m 生成代 码。 2 ) 支持采用m o f 来实现模型转换。这些支持者认为m d a 的核心是m o f ,而 不是u m l ,建模语言以及建模语言之间的转换都应该基于m o f 来描述。 3 ) 支持采用设计u m l 编译器的方式实现模型转换。通过构建u m l 编译器, u m l 不再仅仅是一种建模语言,它成为了一。种编程语言。u m l 建立的模型 因此也就可以直接被机器理解,模型之间的转换将变得非常直接。 1 6 本文的研究意义 本文的工作重点在于设计出一种面向s p r i n gm v c 框架的c a r t r i d g e 组件。 研究和没计面向s p r i n gm v c 框架的c a r t r i d g e 组件的意义在于它提供了一种 a n d r o m d a 对s p r i n gm v c 框架的模型转换支持,有利于a n d r o m d a 对整个 s p r i n g 框架的完整支持。 台肥工业大学硕十学位论文 此外,a n d r o m d a 在将平台无关模型转换成j 2 e e 系统中的表示层时采用 的技术平台是s t r u t s 框架。与s t r u t s 框架相比,开发者使用s p r i n g m v c 框架构 建表示层可以获得许多突出的优点,如s p r i n gm v c 的视图无关特性和l o c ( i n v e r s i o no f c o n t r 0 1 ) 特性以及由i o c 特性带来的易测试性等。因此,设计一 种能够将平台无关模型转换成基于s p r i n gm v c 框架的平台相关模型的模型转 换组件,不但能够将s p r i n gm v c 框架在j 2 e e 表示层表现出来的突出特性融入 到具体的m d a 实现工具中,还能为使用a n d r o m d a 工具进行j 2 e e 系统开发 的人员提供一种新的j 2 e e 系统设计和模型转换的途径。 1 7 本论文的主要内容 1 7 1 本文主要工作 本论文在m d a 理论知识的基础上,对p i m 与p s m 之间的转换进行了研究, 首先提出了一种开发c a r t r i d g e 组件的方法。根据该方法,本文实现了面向s p r i n g m v c 框架的c a r t r i d g e 组件,并使用该c a r t r i d g e 组件实现了具体的实例系统。 1 7 2 本文的篇章结构 1 ) 第一章绪论,对m d a 的发展历史以及m d a 对软件开发各方面的影响 进行了介绍。 2 ) 第l u 章模型转换组件设计的理论和技术基础,对m d a 中的基本概念以 及涉及到模型转换的知识进行了分类介绍。对s p r i n g 框架、a n d r o m d a 工具以及其它一些关键技术进行了介绍和分析。 3 ) 第三章基于a n d r o m d a 设计模型转换组件的方法。 4 ) 第四章面向s p r i n gm v c 框架的c a r t r i d g e 组件的实现。 5 ) 第五章隐患排查管理信息系统的实例应用,以淮北矿业集团煤矿安全 管理信息系统中的隐患排查模块为实例,采用s p r i n gm v cc a r t r i d g e 组 件进行实现。 6 ) 第六章总结与展望。 1 8 小结 本章对m d a 的基本思想进行了阐述,将m d a 方式下的软件开发生命周期 与传统方式下的软件开发生命周期进行了对比,对m d a 在软件开发领域产生 的影响做了说明。 台肥工业人学硕= i :学位沦文 第二章模型转换组件设计的理论和技术基础 2 1 模型转换组件设计的理论基础 2 1 1m d a 的基本概念 m d a 的基本概念包括平台、视图、模型、映射等。 1 、平台 平台可以描述为在特定的硬件技术下实现某种技术的基础结构,如u n i x 平台、c o r b a 平台和j 2 e e 平台等。平台通过接口和特定的使用模式向构建在 平台之上的各种应用提供功能和服务,而这些平台上的应用不需要关心平台所 提供的功能和服务是如何实现的。平台的作用可以归结为屏蔽低层实现细节, 向使用者提供服务接口。 2 1 视图 视图是由一系列相关概念组成的对系统模型的部分描述。从不同的角度对 系统进行建模可以得出不同种类的模型视图。虽然这些视图所表现出来的内容 不尽相同,但是这些视图都是对同一事物的具体反映。m d a 定义了三种类型的 视图,它们分别为: a ) 计算无关视图c i v 。c i v 关注系统的需求和环境,对应需求捕获阶段的 概念性描述。其作用是将系统基本处理逻辑同平台相关的技术规范分离 开来。 b ) 平台无关视图p 1 v 。p i v 关注于系统的操作而隐藏了平台相关的细节。 这种视图可以用- - 9 十通用的、平台无关的建模语言如u m l 来描述。p i v 对应系统分析阶段的规约性描述。 c ) 平台相关视图p s v 。p s v 对应于某种特定平台,它关注特定平台的实现 细节。p s v 对应设计阶段的规约性捕述。 3 1 模型 m d a 中的模型概念是对软件系统整体结构和行为特征的一种抽象。它既可 以表述不同领域内的问题,i 乜可以对抽象层次不同的信息进行抽象。模型驱动 的方法就是利用模型来进行系统的设计、开发和维护。在m d a q b ,可以根据以 上介绍的三种视图将模型分为计算无关模型c i m 、平台无关模型p i m 和平台相 关模型p s m - z 类。 a ) c i m 是与c i v 对应的模型,它用来描述特定领域的业务工作情况以及 而临的问题。由c i m 可以导出软件系统的需求模型。 b ) p i m 是与p i v 对应的模型。p i mf ;| 1 系统的数据、q k 务流程等平台无关的 信息组成,它描述的是软件系统应实现的功能和整体结构。在一般情况 j7r ; 台肥工业大学硕十学位论文 下,p i m 可以有多种实现平台与之对应。 c 1p s m 是与p s v 对应的模型。p s m 是与特定平台相关的模型。在p s m 中, 用于描述系统信息的模型元素带有特定于平台的信息,如特定于某种平 台的数据类型、参数类型、异常处理机制等。这些信息将直接影响最终 产生的模型制品。p s m 代表软件生命周期中的设计模型。 4 1 映射 映射是包括一系列规则和机制的概念。在m d a 中,模型映射表示从一种 模型向另一种模型的转换,这种转换可以是双向的。m d a 中的映射主要指p i m 与p s m 之间的纵向转换,除此之外,还可以包括p s m 与p s m 之间的横向转换。 2 1 2 元模型和元对象设拖m o f 模型是对现实存在的实体的抽象和简化,它提供了系统的实现蓝图。模型 将描述对象的非本质信息过滤掉,抽象出问题的本质,使问题更容易理解。为 了建立复杂的软件系统,开发人员必须抽象出系统的不同视图,然后使用精确 的表示符号来建立模型。在对这些模型是否满足系统的需求进行验证后,开发 人员逐步添加细节信息把这些模型转变为系统实现。这样的一个过程就是建模 的过程。 软件建模是开发优秀软件的一个核心工作,其目的是把要设计的结构和系 统的行为联系起来,并对系统的体系结构进行可视化控制。可视化建模使用一 些图形符号进行建模,它的作用如下: 1 1 可以捕捉用户的业务过程 2 1 可以作为一种很好的交流工具 3 ) 可以管理系统的复杂性 4 1 可以定义软件的架构 5 、可以增加系统的重用性 模型是通过建模语言表述的。建模语言具有良好的语法规则和语义,每一 种建模语言都有对应的元模型。元模型定义了构成建模语言的模型元素以及这 些元素之间的联系,因此元模型是从静态角度来定义模型语言的。 元模型和建模语言构建的模型都属于模型的范畴,不同点在于这两种模型 表述信息的抽象层次不同。元模型反映的是建模语言的信息,而使用建模语言 建立的模型反映的是现实世界中应用系统的信息。 元模型中的“元”表示的是一种实例化的含义,可以将建模语言建立的模 型视作为元模型的一种实例化结果。 使用元模型的好处有: 1 ) 元模型提炼5 用于定义建模语言的模型元素。使用这出模型元素可以用于定 钔k 合肥 一业大学硕士学位论文 义不同抽象层次的模型。 2 、元模型为扩展建模语言提供了撼础。 在m d a 中,负责定义元模型的对象是元对象设施,即m o f ( m e t ao b j e c t f a c i l i t y ) 。m o f 为构建元模型定义了一种通用的模型语言,并为其定义了一套 完善的语义和完整的语法规则。 2 1 3m d a 定义的四种抽象层次 层级理论是构建复杂软件体系的基本原则。对于软件开发这种具有特殊复 杂度的工作,发现和运用层级理论是分析和构建软件体系结构的基本原则。为 此o m g 制定了四种抽象层次来表示模型的抽象程度以及模型之间的抽象关 系。每一种抽象层次涵盖了所有具有该层抽象特性的模型元素。这四种抽象层 次的名称分别为: 1 1m 0 层 处于该层的模型元素一般指系统运行时反映现实世界事物的运行实体。这 些模型元素在系统中有多种表示方式,如数据库中的信息、处于系统运行时内 存中的对象等。 2 1m i 层 处于该层的模型元素用于组成反映应用系统信息的模型,这种模型一般可 以使用u m l 等建模语言建立。可以将m 0 层模型元素视作m 1 层模型元素实例 化的结果。 3 ) m 2 层 处于该层的模型元素用于组成元模型。模型元素本身的静态结构以及模型 元素之间的各种联系分别反映了元模型定义的模型语言所具有的语法和语义信 息。可以将m 1 层中的模型元素视作为由多种具有特殊联系的m 2 层模型元素 实例化后的实体组合而成的模型元素。 4 1m 3 层 处于浚层的模型元素在四种抽象层次中具有最高的抽象程度。这些模型元 素用于定义m 2 层中的模型元素,冈此可以将m 2 层中的模型元素视作为该层 模型元素的实例化结果。出于m d a 只定义了凹层抽象层次,并且这些模型元 素处在抽象层次的最高层,因此它们属于自定义类别的模型元素,即它们具有 的语法及语义由它们自身定义。m o f 就是在该层定义的。 2 1 4 统一建模语言u m l u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是一种定义良好、易于表达、可视化 台肥工业大学硕l 学位论文 通用的丽向对象建模语言。它被用于描述和构建复杂的软件系统。u m l 为使用 面向对象思想进行系统分析和设计的系统架构师提供一种可以对软件系统制品 进行具体化、可视化、文档化等工作的一致性语言。u m l 融入了软件工程领域 的新思想、新方法和新技术,它在b o o c h 、o m t 、o o s e 等面向对象分析和设 计方法的基础上解决了原先软件领域中无法解决的问题。u m l 的使用不局限于 面向对象分析和设计,它还支持从需求分析开始的软件开发全过程。自1 9 9 5 年以来,b o o c h 、r u m b a u g h 和j a c o b s o n 就致力于设计一种统一的建模语言,并 最终将其命名为u m l 。此后很多的软件公司也加入了u m l 的设计工作。到1 9 9 7 年,u m l l 1 成为o m g 的标准。u m l 得到了工业界、科技界和应用界的广泛 支持,是目前最流行的面向对象建模语言。 1 1u m l 建模技术 u m l 提供了九种可视化建模技术来描述系统的不同方面。这些建模技术的 可视化表示分别为用例图、类图、包图、状态图、活动图、顺序图、合作图、 组件图和部署图。从大的方面可以将这些图分为两类,即用于描述系统静态结 构的静态图和用于描述系统动态行为的动态图。 静态图反映了系统的整体结构、构成系统的个体以及个体之间的联系等信 息。这些信息是系统的本质特征,它们不受系统行为状态改变的影响。这些信 息包括:类的组织结构( 属性和行为) 、类的接口、类之间的相互关系( 继承、 聚合) 、包的结构、以及系统的物理结构等。 动态图描述了系统运行时系统中对象问的通信( 消息交互) 过程。动态图 包括顺序图、合作图、状态图和活动图,它们各自的侧重点不同。顺序图、合 作图主要用于描述对象之间的交互,而状态图、活动图主要用于描述对象的内 部行为。 2 ) u m l 主要建模技术介绍 a ) 类建模技术 在u m l 的静态图中,类图占据了一个相当重要的地位。j a m e sr u m b a u g h 对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符,是面向 对象系统中最重要的构造器。类图显示了一组类、接口、协作以及它们之间的 联系。 b ) 用例建模技术 u m l 提供了用例来描述用户期颦系统能提供的服务。用例概念是由u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准商品采购合同范本
- 2025建筑施工脚手架承包合同
- 电商会计考试题库及答案
- 2025企业停车位租赁合同模板
- 资阳二中月考试卷及答案
- 2025年中国石化知识竞赛题库附参考答案
- 2025年糖尿病护理学专业深度试题库(附答案)
- 夏邑县司法考试题及答案
- (2025)全科医学科进修、实习生出科理论考试试题及答案
- 学校高一考试题库及答案
- 垃圾的危害教学课件
- 卷烟送货员安全培训课件
- GB 26488-2025镁合金压铸安全生产规范
- 抖音达人签约合同协议书
- 2025年园林绿化技术员职业技能考核试题及答案解析
- 2025年军事模型行业研究报告及未来行业发展趋势预测
- 2025安徽宣城市总工会招聘社会化工会工作者13人笔试参考题库附答案解析
- 北京数语科技Datablau数据模型与数据资产平台介绍
- 人体对外界环境的感知+课件-2025-2026学年人教版生物八年级上册
- 无人机驾驶培训专业知识课件
- 2025年北师大版新教材数学二年级上册教学计划(含进度表)
评论
0/150
提交评论