模型驱动的软件开发模式研究.pdf
《模型驱动的软件开发模式研究.pdf》由会员分享,可在线阅读,更多相关《模型驱动的软件开发模式研究.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 l 8卷第2期 2 0 5 年 2月 计 算 机 技 术 与 发 展(、(1 P l 几 ER TE(1I N(wX Y AN 3 r)E VEL()PN I ENT VE,1 1 8 Nc)2 l 】2 0 )8 模型驱动的软件开发模式研 究 薛振伟,吴志杰(中国工程物理研 究院 计算机应用研 究所,四川 绵阳 6 2 1 9 0 0)摘要:3 c 中详细论述 了模型驱动的软件开发模式。阐述 了以代码为中心的传统软件开发模式的缺点,并通过对模型驱 动架构(MD A)涔系结构的讨论 分析出模型各个层次描述语言的要求 分别讨论了 M DA软件开发生命周期、M D A软件 开发参与者及活动的变
2、更和 MD A开发工具的更新,并对 M D A软件开发模式进行 了评价。在模型驱动的软件开发模式 下,软件开发生命周期是由软件系统建模行为驱动的 其开发过程围绕模型的创建和变换开展 其最终 目的就是要通过架 构性的分离来实现软件开发的轻便性、互操作性和可重用性,关键词:模型驱动架构;对象管理组织;计算无关模型;平台无关模型;平台相关模型 中圈分类号:T P 3 1 1 5 2 文献标识码:A 文章编号:1 6 7 3 6 2 9 X(2 0 0 8)0 2 0 0 2 4 一o 3 S t u d y o n M o d e l Dr i v e n Pa t t e r n o f S o
3、f t wa r e De v e l o p me n t X U E Z h e n we i WU Z h i j i e (I n s t i t u t e o f(3 o n ll p u r e r A p p l i c a t i O n,C h i n e s e A c a d e my o f E n g i n e e r i n g P h y s i c s Mi a n y a n g 6 2 1 9 0 0,C h i n a)Ab s t r l t d:Th ef t wa r e d e v e loln t p a t t e r n d r i v
4、e n b y n d e l h a s b e e n d i u s s e d in d e t a i l i n t h i s p a p e r Th e s h o r t c o n i n g s o f t r a d i t i o n a l so,wa r e d e v e lo p i n g pat t e r n o ,n t r a 1 o n o c)(i we r e p r c s c n t e d f i r s t ly Th e r e q u i r e r n e n t s o f l a n g u a g e r e v e r
5、y mo d e l le v e l we r e a n a l y e d v i a t h e d i s c u s s;o n a b o u t mo d e l d r i v q n a r c h i t e c t u r e S u k x l u e n t l y t h e s o f t wa r e d e v e lo pin g l i f e c y c l e l o n MDA t h e t a r t i c ip a n t s a n d a e t iv i t i e si nt h eMDA p r o c e s s,a n dt
6、h e u p d a t eo f M DAd e v e lo p i n gt o o l sv c e r diu s s e d s e p a r a t e l y Me a n whil e,t h e s o f t wa r e d e v e lop i n gpat t e r n b a 3 e d o ff MDA e v a h mt e d Un d e r t h e s o f t wa r e d e v elo p me n t p a t t e r n d r i v e n b y mo d e l。mo d e l i ng b e h a v
7、i o r dr o v ef t wa r e d e v e l o p me nt l i f e c y e l e Mo d e!b u il d i ng a n d n K x t e l t r ans l a t i n g s u r r o u n d e d t h e d e v e lo p me n t p r o c,s The d e s t in,a t k n o f MDA wa s t O a c hieve t h e pxt a b i l i t y,i n t e r a c t iv i t y a n d r e u s a b i l i
8、 t y o f s o f tw are d eve l o ping t h r o u g h s e p a r a t in g t h e a r c h i t e c t u r e i n t o ma n y l a y e r s Ke y w0 r :MDA;OMG;CI M;Pl M;PS M O 引 言 模型 驱 动架构(Mo d e l D r i v e n Ar c h i t e c t u r e,仍 A)是 由 国 际对 象 管理 组 织(O b j e c t Ma n a g e m e n t G r o u p,O MG)于 2 0 0 1年 7
9、月正式 发布 的。它是 一种 基 于 U ML以及相关工业标准的框架,将软件系统建立在各 种模型的基础上,通过模 型的变换来驱动系统的开发。在传统的软件开发模式当中,大部分开发过程都是以 代码为中心的,这种开发模式 随着软件 规模 和复杂度 的不断增加 以及频繁变更 的出现而逐渐暴徭出越来越 多的缺点和问题。相比而言,以模型为中心的基 于 MD A的软件开发模式在众多大型软件项 目中越来越 展现出卓越 的问题解决能力和强大的生命 力。收稿 日期:2 0 1)7 0 5 2 7 基金项 目:国家基金 资助项 i(2 0 0 5 0 6 5 6)作者简 介:薛振伟(1 9 7 8一),男,河南濮
10、阳人,硕:,:1 程 师,研究方 向为软件体系结构、墟用软件)F 发、软件测试;志杰,研究员,研究 方向为软件工褪。1 以代码为中心传统软件开发模式 的缺点 目前许多开发过程都 是传统 的 以代码 为中心,即 整个项 目的开发 以代码生产为主要任务,“编 写软件仍 是劳动力 密集型 的活儿”lL j。这种 以代码 为中心的开 发模 式主要存在 以下三方面的缺点:第一,混淆 了解决问题的内在本质 和外在手段,在 分析问题本身的同时过多地去考虑运行环境与代码实 现等因素 而放松 丁对问题根本解决方法 的研究;第二,大型应用系统 往往涉及诸 多领 域的专业 知 识,而软件设计人 员往往无法在 短期
11、内涉猎 所有 的专 业技术领域,需要相关的领域专家参与需求分析工作。然而领域专家却只能用自己的专业术语对复杂的需求 加以描述,在 与软件开 发人员的沟通 过程 中存 在较 多 的障碍,影 响软件 人员对问题域本 质的把握。第三,软件技术 的发展 日新月异 开 发语 言、开发 工具和开发平 台一直在变化当中。如果还沿用 以代码 中心的系统开发模式,既无法保障已经投入的项 目 投资,无法最大限度地复用原有系统的 资源,又无法应 维普资讯 http:/ 第 2期 薛振伟等:模型驱动的软件开 发模式研究 2 5 对变化多端的诸 多环境 因素。再加上 系统 的软件需求 也会随着用户理解的不断深入而发生许
12、 多变化。即使 采用原型法,也不能根本 有效地解 决随时 都可 能发生 的变更问题。2 MD A体系结构 在 MD A中,模 型(Mo d e 1)不再 仅 仅 是描 绘 系统,辅助 沟通 的工具,而是软件 开发 的核心和 主干。图 1 描绘了 MD A的模型架构。从 图 1 可见,在 MD A中,一个系统从 不 同的视 角 可以被不 同的模型所描述。这些模型分为 3 个层 次:(1)计 算 无 关 模 型(C o mp u t a t i o n a l I n d e p e n d e n t Mo d e l,C I M):仅仅表 述商务 知识 和商务 过程,不涉及 如何用软件来实现商
13、务过程;(2)平 台无 关 模 型(P l a t f o r m I n d e p e n d e n t Mo d e l,P I M):表述如何用软件系统来实现商务过程,去除了 与基础功能无关的技术细节;(3)平台相关模型(P l a t f o rm S p e c i f i c Mo d e l,P S M):表述特定技术对软件系统功能的具体实现。模型之间 通过模型映射机制相互映射,从而保证了模型的可追 溯性L 引。图 l MI)人 的 模 型 架 构 其中,C I M 就是通 常意 义上 的“业 务模 型”,它 描 述系统的业务知识和业 务过程,不涉及软件实现,因此 用于构造
14、C I M的语言就需要包含用来规定业务过程、参与者、相关部门、过程问依赖等方面的术语。而P 1 M 主要用来表述如何用软件系统来实现业务过程,在模 型中去除 了与基础 功能无关 的技术 细节,因此 用于构 造 P I M 的语言就需要具有较高的抽象,且 能够与 具体 的技术细节脱离,同时也必须能够对系统的静态结构 和动态行 为进行精确 的建模。最后 P s M 是用来 表述 某种特定技术对软件系统功能的具体实现,这是最贴 近代码级的模型,要求构造 P S M的语言必须足够精 确,且 具备一定的扩展性,能够满足与各种实现技术紧 密挂钩的要求。3 基于 MDA的软件开发模式 3 1 MD A软件开
15、发生命周期 基于 MD A的软件开发生命周期是由软件系统的 建模行为驱动的,整个开发过程都是围绕模型的创建 和变换 开展 的,如 图 2所示。从整体来看,MD A软件开发生命周期同传统的生 命周期并没有很 大不 同。关键之 处在于,当完 整实 现 MDA后,对生命周期的关注点从“代码”转移到了“模 型”。目前,开发人员 的关 注焦点 是代码,一般 是使 用 面向对象编程语言书写。在使用 MD A方法后,关注 焦点就会逐渐转移到更高的层次上:先是 P S M上,然 后再转移到 P I M 上。开发人员会 逐步忘记 P S M 需要 被变换成代码,因为代码生成的过程将会被完全自动 化,如图 2所示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 驱动 软件 开发 模式 研究
限制150内