(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf_第1页
(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf_第2页
(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf_第3页
(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf_第4页
(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf_第5页
已阅读5页,还剩136页未读 继续免费阅读

(控制理论与控制工程专业论文)面向服务的软件需求建模与求精研究.pdf.pdf 免费下载

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

文档简介

j l 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:莹垄墓日期:劫矸争。 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 一监t 导师签名掣日期珥彳罗6 矗譬l疆i唧,; 上海大学工学博士学位论文 面向服务的软件需求建模与求精研究 从c im 到pim 的转换 作者 导师 专业 学位 曹晓夏 缪淮扣教授 控制理论与控制工程 工学博士 上海大学计算机工程与科学学院 二o o 九年七月 s h a n g h a ii 小m r s i t yd o c t o r a ld i s s e r t a t i o n r e s e a r c ho ns e r v i c e o r i e n t e ds o f t w a r e r e q u i r e m e n tm o d e l i n ga n d r e f i n e m e n t b y c a ox i a o x i a s u p e r v i s o rp r o f e s s o rm i a oh u a i k o u m a j o rc o n t r o lt h e o r ya n dc o n t r o le n g i n e e r i n g d e g r e ed o c t o ro f t e c h n o l o g y j u l y2 0 0 9 s h a n g h a i ,er c h i n a 上海大学博士学位论文 摘要 随着软件应用领域的不断扩展和深入,软件的规模和复杂性在逐渐扩大和提 高。人们对软件的质量和生产效率也提出了更高的要求。软件复用是在软件开发 中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。 模型驱动以及面向服务等概念的提出为解决各个层次的软件复用提供了解决方 案。 本文在已有研究成果的基础上,针对目前研究存在的不足,以模型驱动和面 向服务为切入点,对于软件需求建模、模型验证以及模型转换等问题给出了相应 的解决方案。本文的主要贡献包括如下方面。 在特征模型的基础上提出了面向服务的特征模型,简称为服务特征模型,用 服务特征以及服务特征之间的两大类四种关系来描述服务特征模型;并给出了服 务特征模型的形式化定义,一个服务特征是一个九元组,分别描述服务特征的九 个属性。在此基础上给出了服务特征模型的四个基本性质。 提出了形式化的需求定制以及验证方法。给出了从领域服务特征模型得到目 标系统需求模型的四条模型裁剪定制规则。并给出了对目标系统需求模型的完整 性、一致性进行自动获取和验证的机制,包括用k r i p k e - 结构描述需求模型,用 c t l 公式描述性质以及用s m v 实现对性质的自动检查。 提出了用模型求精进行从c i m 到p i m 转换的方法。并提出了解释映射的求 精方法,运用这一方法在保持语义一致的前提下进行不同抽象层次模型之间的转 换。并将解释映射的结果描述为规则,用于模型演绎中。本文提出的求精方法分 为两种:简单求精和复杂求精。简单求精有三类:分解、特化和可操作化;复杂 求精则分为两大类:解释映射、模型演绎。解释映射是通过同构嵌入映射来进行 求精,这就需要将模型表示为一个理论集合,将两个理论集合进行解释映射,这 类求精比较复杂,但是经过证明的映射可以作为规则加入规则集,在模型演绎求 精中进行复用。第二类求精就是模型演绎,本文借鉴m a n n a 提出的程序综合方 法,对演绎表进行改进,其一,对于定理中变量的类型进行扩展,加入模型类型、 服务类型以及组件类型;其二,将需要进行求精的模型看作是一组需要证明的定 理,对于模型运用规则,需要对表示模型的每个定理同时应用规则。 摘要 提出了运用模式从软件需求分析产生目标系统体系结构的模型转换框架。该 框架利用设计模式对需求的建模和模型转换提供进一步的支持。本文将模式分为 领域模式、分析模式、体系结构模式以及设计模式四个层级,不同类型的模式应 用到模型转换的不同阶段。模式作为结构映射的规则应用到模型转换框架中,在 一定程度上提高了模型转换的效率,实现了软件需求分析和体系结构设计的复 用。 设计并实现了支持这一整体框架的建模和求精的支持工具原型,给出了工具 原型的主要功能和软件体系结构。 关键词:特征模型面向服务模型驱动模型求精 上海大学博士学位论文 a b s t r a c t w i t ht h er a p i da n db r o a da p p l i c a t i o no fs o f t w a r e , t h es c a l ea n dc o m p l e x i t yo f s o t 蕾w a r ei sa l s oi m p r o v i n gr a p i d l y p e o p l eb e c o m em o r ee m p h a s i so nt h es o f t w a r e q u a l i t ya n dh o wt oi m p r o v et h ep r o d u c t i v i t yo fs o f t :w a r ed e v e l o p m e n t s o t h a r er 吼l s e i so ft h es o l u t i o nt oa v o i dt h er e p e a td e v e l o p m e n tw o r ki nt h es o f t w a r ed e v e l o p m e n t p r o c e s s b ys o f t w a r er e u s e , i tc a ni m p r o v es o f t w a r ed e v e l o p m e n te f f i c i e n c ya n d s o f t w a r e q u a l i t y a tt h es a m et i m e m o d e ld r i v e ns o f t w a r ed e v e l o p m e n ta n d s e r v i c e - o r i e n t e dd e v e l o p m e n tp r o v i d eas o l u t i o nt op r o b l e m so fs o f t w a r er e u s ef r o m r e q u i r e m e n ts t a g et o t h ed e s i g ns t a g e a i m i n ga tt h ed e f i c i e n c yo fc u r r e n tw o r k , t h i st h e s i sp r o v i d e sc o r r e s p o n d i n g s o l u t i o n so nt h ep r o b l e m so fr e q u i r e m e n tm o d e l i n g ,m o d e lv e r i f i c a t i o na n dm o d e l t r a n s f o r m a t i o nf r o mt h e p e r s p e c t i v e o fs e r v i c e - o r i e n t e da n dm o d e l - d r i v e n d e v e l o p m e n t n a m e l y , t h e m a i nc o n t r i b u t i o no ft h i st h e s i si n c l u d e s : o nt h eb a s eo ff e a t u r em o d e l ,t h i st h e s i sp r o p o s e sas e r v i c e - o r i e n t e df e a t u r e m o d e l as e r v i c e - o r e i e n t e df e a t u r em o d e li sd e s c r i b e du s i n gs e r v i c ef e a t u r ea n d r e l a t i o n sb e t w e e ns e r v i c ef e a t u r e s a n dt h ef o r m a ld e f i n i t i o no fs e r v i c e - o r i e n t e d f e a t u r em o d e li sg i v e n t h es e r v i c ef e a t u r e si nt h i sm o d e l8 1 ed e f i n e da sa9 - t u p l e st o d e s c r i b et h en i n ea t t r i b u t e so ft h es e r v i c ef e a t u r e a n dt h er e l a t i o n s h i pb e t w e e nt h e s e r v i c ef e a t u r e sc a nb ec l a s s i f i e di n t of o u rc a t e g o r i e so fr e f i n e m e n t s ,c o n s t r a i n t s , r e q u e s ta n de x c l u s i o n a n df o u rb a s i cp r o p e r t i e so ft h es e r v i c e o r i e n t e df e a t u r em o d e l a le p o i n t e do u t t h i st h e s i sp r o p o s e saf o r m a lm e t h o df o rs o f t w a r er e q u i r e m e n tc u s t o m i z a t i o n a n dv e r i f i c a t i o n a n d g i v e s f o u rm o d e lc u s t o m i z a t i o nr u l e st ot r a n s f o r m s e r v i c e o r i e n t e df e a t u r em o d e lt o t a r g e ts y s t e mr e q u i r e m e n tm o d e l b yu s i n g k r i p k e - s t r u c t u r et od e s c r i b et h er e q u i r e m e n tm o d e la n dc t lf o r m u l at od e s c r i b e m o d e lp r o p e r t i e s ,s o f t w a r er q u i e m e n tm o d e li sc h e c k e db ys m v a u t o m a t i c a l l y t h et r a n s f o r m a t i o nf i = o mc i mt op i mi sa c h i e v e db yu s i n gm o d e lr e f i n e m e n t t h er e f i n e m e n tc a nb ec l a s s i f i e da st w oc a t e g o r i e s ,n a m e l ys i m p l er e f i n e m e n ta n d h i 摘要 c o m p l e xr e f i n e m e n t s i m p l er e f i n e m e n ti s f u l t h 口- c l a s s i f i e da sd e c o m p o s i t i o n , s p e c i a l i z a t i o n a n do p e r a t i o n a l i z a t i o n , a n dc o m p l e xr e f i n e m e n ta si n t e r p r e t a t i o n m a p p i n ga n dm o d e ld e d u 嘶o n i n t e r p r e t a t i o nm a p p i n gi sb a s e do nt h ee m b e d d i n g i s o m o r p h i cm a p p i n g , w h i c hc a l lm a pt h ea b s t r a c tm o d e lt ot h ec o n c r e t eo n e m o d e l d e d u c t i o nb o r r o w st h ei d e ao fp r o g r a ms y n t h e s i so fm a n n a t oi m p r o v et h em o d e l d e d u c t i o n , w ea d dt h em o d e l ,s e r v i c e ,a n dc o m p o n e n t 弱t h et y p eo f v a r i a b l e m o d e li s r e g a r d e da sas e to ft h e o r i e s w h e nw eu s e ar u l et ot h em o d e l ,w em u s ta p p l yt h er u l e t oa 1 1t h e o r i e so ft h em o d e l a c o m p l e t ef r a m e w o r ko f t r a n s f o r m a t i o nf r o ms o i h v a r er e q u i r e m e n ta n a l y s i st o i t ss y s t e ma r c h i t e c t u r ei sp r o p o s e d t 1 1 cm o d e l i n ga n dm o d e lt r a n s f o r m a t i o nu n d e rt h e m d af r a m e w o r ki sf u r t h e rs u p p o r t e db yu t i l i z i n gd e s i g np a t t e r n i nt h i sf r a m e w o r k , d e s i g np a t t e r n sc a nb ec l a s s i f i e d 嬲f o u rl a y e r sn a m e l yd o m a i np a t t e r n , a n a l y s i s p a t t e r n , a r c h i t e c t u r ep a t t e r n ,a n dd e s i g np a t t e r n d i f f e r e n tk i n d so fp a t t e r nw i l lb e a p p l i e d i nt h ed i f f e r e n tp h a s eo fm o d e lt r a n s f o r m a t i o n i ne a c hp h a s eo ft h e t r a n s f o r m a t i o n , p a t t e r ni su s e da ss t r u c t u r em a p p i n gr u l e st oi m p r o v et h ee f f i c i e n c yo f m o d e lt r a n s f o r m a t i o na n dr e a l i z e dt h er e u s eo ft h es o i t 、:v a r er e q u i r e m e n ta n d a r c h i t e c t u r e ap r o t o t y p et o o lw h i c h 哪o r t st h e m o d e l i n ga n dr e f i n i n g f r a m e w o r ki s d e s i g n e da n di m p l e m e n t e d t h et h e s i sg i v e s t h em a i nf u n c t i o n sa n ds o f t w a r e a r c h i t e c t u r eo ft h et o o 】 k e yw o r d s :f e a t u r em o d e l s ,s e r v i c e - o r i e n t e d ,m o d e l d r i v e n , m o d e lr e f i n e m e n t i v 上海大学博士学位论文 目录 摘要。i a b s t r a c t 。i 目录v 表格目录 图表目录x i 第一章绪论1 1 1 课题研究背景。1 1 1 1 软件复用1 1 1 2 面向服务2 1 1 3 领域工程3 1 1 4 模型驱动4 1 1 5 软件求精6 1 2 研究现状7 1 2 1 领域工程研究现状7 1 2 2m d a 的研究现状1o 1 2 3 软件求精的研究现状一1 4 1 3 尚待解决的问题1 5 1 3 1 业务模型的描述问题1 5 1 3 2 需求模型正确性问题1 6 1 3 3 模型的求精问题16 1 4 本文的主要贡献1 6 1 5 本文的组织结构18 第二章面向服务的领域特征需求建模2 l 2 1 引言一2 1 2 1 1 层级模型理论2 2 2 1 2 模型基础理论。2 3 v 目录 2 2 面向服务的领域特征建模2 5 2 2 1 面向服务的特征概念2 5 2 2 2 面向服务的特征模型。3 0 2 2 3 服务特征模型的性质3 3 2 3 服务特征的组合3 4 2 4s o f m 模型实例3 5 2 5 相关工作3 7 2 6 小结3 7 第三章需求模型的定制与验证3 9 3 1 引言3 9 3 2 应用需求模型定制的规则。4 0 3 3 模型检查4 2 3 3 1 系统形式化建模4 4 3 3 2 验证性质的描述4 6 3 3 3 需求模型完整性的描述4 9 3 3 4 需求模型一致性的描述5 1 3 3 5 自动模型检查5 2 3 4 相关工作5 4 3 5 小结5 5 第四章面向服务的特征需求模型的求精5 7 4 1 求精概述5 7 4 2 求精方法5 8 4 3 简单求精5 9 4 4 复杂求精6 1 4 4 1 模型解释求精6 1 4 4 2 模型演绎求精的方法7 l 4 4 3 一个实例的片断8 4 4 5 相关工作8 6 4 6 小结8 7 v i 上海大学博士学位论文 第五章模型转换过程及其工具支持8 9 5 1 模型转换的总体思想8 9 5 2 模型转换的过程框架。9 1 5 2 1 模型驱动的软件开发过程9 1 5 2 2 运用模式进行模型转换的过程9 4 5 3 一个实例研究10 0 5 4 支持工具1 0 5 5 4 1 工具提供的主要服务1 0 5 5 4 2 工具的软件体系结构1 0 7 5 5 相关工作一1 0 8 5 6 刀、结1 0 9 第六章结束语111 6 1 本文工作总结1 1 1 6 2 研究设想11 2 参考文献11 3 攻读博士学位期间公开发表的论文:。1 1 9 致谢1 2 1 v 目录 v m 上海大学博士学位论文 表格目录 表3 1e s b 的完整性。4 9 表3 2e s b 完整性的求精5 0 表3 3e s b 的服务模型的一致性5 i 表3 4e s b 服务模型的一致性求精5 1 表5 1 第一层服务特征的简要描述1 0 1 表5 2 第二层服务特征的简要描述1 0 1 表5 3 第三层服务特征的简要描述1 0 1 i x 目录 x 上海大学博士学位论文 图表目录 图1 1f o r m 的概述图8 图1 2m d a 的模型转换全貌1 2 图2 1 服务特征的概念模型2 6 图2 2 面向服务特征的元模型2 7 图2 3 强制类型的服务特征的图形化表示2 7 图2 4 必选类型的服务特征的图形化表示2 8 图2 5 可选类型的服务特征的图形化表示。2 8 图2 6 服务的元模型2 9 图2 7 需求分解的层级3 0 图2 8 服务特征父子关系。3 0 图2 9m d a 的模型转换全貌3l 图2 1 0 服务特征之间的需求关系3 2 图2 1 1 服务特征之间的排斥关系3 2 图2 1 2 电子书店服务特征模型片段3 5 图3 1 经过定制得到的应用系统的服务特征需求模型4 2 图3 2 应用系统需求模型验证的基本框架4 3 图3 3 有向图表示的k r i p k e 结构4 4 图3 4 由服务特征需求模型转化而来的k - 结构模型4 6 图3 5 电子书店服务模型片断。4 9 图3 6 求精之后的电子书店服务模型5 0 图4 1 从需求模型到体系结构模型的求精过程一5 8 图4 2 求精方法的元模型:5 9 图4 3 从抽象模型到具体模型的映射6 1 图4 5 编译器初始服务模型8 4 图4 6 运用数据流体系结构模式之后的编译器服务模型8 4 图4 7 运用其他体系结构模式的编译器模型8 5 x i 目录 图4 8 编译器体系结构与编辑器体系结构组合。8 6 图5 1 特征模型与模式应用在软件开发不同阶段的相互作用。9 0 图5 2 模型驱动的软件开发过程9 1 图5 3 运用模式进行模型求精的过程框架9 5 图5 4 文档编辑器的服务特征模型1 0 0 图5 5 裁剪和定制后的o b j e c t z 编辑器服务特征模型片段1 0 2 图5 6o b j e c t z 编辑器的初始服务模型的结构。1 0 2 图5 7m v c 在o b j e c t z 编辑器中的应用10 3 图5 8o b j e c t z 编辑器中编译部分的体系结构图。1 0 4 图5 9o b j e c t - z 编辑器体系结构求精的中间结果1 0 4 图5 1 0 支持环境需要提供的项目管理服务一1 0 5 图5 1 1 支持环境需要提供的服务特征建模服务1 0 6 图5 1 2 求精服务的功能模型1 0 7 图5 1 3 服务特征建模求精工具体系结构一1 0 7 图5 1 4 服务特征建模与求精工具的建模界面。1 0 8 上海大学博士学位论文 i i 课题研究背景 i i 1 软件复用 第一章绪论 随着软件应用领域的不断扩展和深入,软件的规模和复杂性在逐渐扩大和提 高。人类社会对软件的依赖也愈加严重,软件出现的任何错误都有可能对所在应 用领域产生严重的负面作用。同时,市场竞争的压力要求在更严格的时间限制内 提供满足应用需求的软件产品。因此,人们对软件的质量和生产效率也提出了更 高的要求。 与提高软件质量和生产效率的客观要求相比较,软件的开发仍然停留在手工 作坊的生产方式中。软件工程思想的出现以及结构化、面向对象等软件开发方法 的提出,反映了人们对提高软件质量和生产效率在方法学上的努力。各种软件开 发辅助工具的出现,也在很大程度上改善了软件的开发环境。但软件的生产远没 有达到真正的工业化生产方式。 近几年来,面对日益复杂的软件系统,人们开始认识到,要真正实现软件的 工业化生产,达到软件产业发展所需要的质量和生产效率,软件复用是一条现实 可行的途径。对软件复用技术的研究已成为软件工程学科的重要研究方向之一, 并受到学术界和产业界的广泛重视。 软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提 高软件开发的效率和质量。近十几年来,面向对象技术和组件技术的出现并逐步 成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点, 被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。 随着对软件复用理解的深入,复用的概念不断地扩展,延伸到系统和软件的 需求规格说明、构架、文档、测试等对开发活动的有用信息。从软件开发过程的 角度看,有关软件复用的问题可以分为两类,一类是关于面向复用的开发,另一 类是关于基于复用的开发。 软件复用一直是软件业追求的目标,从以前的代码复用、模块复用、方法复 第一章绪论 用、组件复用直到今天的服务复用,在整个i t 业界对软件复用的重视不言而喻。 软件复用也正成为实现软件工业化、标准化的重要手段。近几年逐渐兴起的 s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e 面向服务的架构) 热潮,更是强调粗粒度的复 用。服务复用是s o a 的核心价值,在s o a 环境下,人们对软件复用更加寄予 厚望。但是,不容忽视的是,实际的软件开发却没有享受到更多的软件复用给他 们带来的好处。因为复用低,所以软件工业化、标准化以及软件工厂之路都是走 得异常艰辛。 1 1 2 面向服务 随着开放分布式处理技术的发展,原有的理论和技术在面对更大规模和更加 灵活的应用时显出了明显的不足。典型的开放分布式处理技术有c o r b a 、d c o m 和j 2 e e 等,他们都有成熟的体系,并分别在工业界和学术界取得了成功。但是, 这些技术都面临着一些难以解决的问题。例如,它们实现的分布式系统间存在互 操作性问题。因此,需要有一种新的理论和技术来应对这些问题。1 9 9 6 年g a r t n e r 提出s o a 1 ,2 】,目的是让企业业务更加敏捷,软件系统变得更有弹性,使企业 能快速响应需求的变化。 s o a 鼓励使用可替代的技术和消息机制,通过把服务联系在一起来满足应 用。这种基于消息机制的应用允许公司可通过调整使用已有的服务模式而非被迫 进行大规模新的应用代码开发。这样客户可以在商业环境许可的时间内对变化的 市场作出快速的响应。s o a 在企业信息化方面有着明显的优势,为软件产业带 来新的需求和市场。w e bs e r v i c e s 代表了面向服务的体系结构的一种实现,但并 不能认为所有的s o a 应用程序都是w 曲s e r v i c e s 。 s o a 环境下,软件被封装为服务,通过服务组装完成业务功能。s o a 架构模 型的本质是业务建模。侧重于为敏捷性进行业务建模,服务是业务模型的外部表 现形式,以统一的服务形式来描述业务模型,业务的变化是在模型内部的变化, 业务敏捷性反应在业务建模的敏捷性上,而服务则解决敏捷业务间的互操作问 题。 为实现业务敏捷性,业务建模与服务形式存在交叉,即当业务模型以统一的 服务形式取得之后,便可以通过组装模型得到具有统一服务形式的业务模型,以 2 上海大学博士学位论文 期实现更大范围的业务敏捷性,这也是目前s o a 研究范畴中非常重要的部分, 即以统一的服务形式为基础,通过组装模型,实现更大范围的业务敏捷性。s o a 架构模型包含以统一的服务形式为基础通过组装模型实现更大范围的业务建模。 虽然在s o a 的环境下,服务是主体形式,获取已有的服务( 服务发现) 和 发布新的服务( f i t 务发布) 从技术上更加容易,但是如何从业务上抽象服务,如 何理解其他业务服务还是一个有待解决的问题。 1 1 3 领域工程 软件复用的研究和实践表明,针对特定领域的软件复用活动相对容易取得成 功。领域工程是为特定领域软件的开发建立可复用软件制品的活动。其中,“领 域”是指一组具有相近或相似需求的软件应用覆盖的功能区域 3 】。领域工程包 括领域分析、领域设计以及领域实现三个主要的阶段。领域分析 4 5 通过对特定 领域样本应用的分析,识别这些应用的共性和变化性需求,并对这些需求进行抽 象,形成领域需求模型。领域设计依据领域模型产生该领域中软件产品应该具有 的共性的软件体系结构,即特定领域的软件体系结构。领域实现则以领域模型和 特定领域体系结构为基础,识别、开发和组织领域中的构建和体系结构等可复用 软件制品。这样,当开发同一领域的新产品时,可以通过对领域模型的定制,形 成当前应用的需求规格说明;通过对特定领域软件体系结构的定制,形成当前应 用的软件体系结构;并以此为基础选择领域构件进行组装,从而形成新的软件产 品。 领域分析是系统地获取特定领域可复用软件需求的活动,它覆盖了对领域需 求的获取、分析、规格说明和检验验证的整个过程。领域分析在一个初始领域 边界的基础上,确定相关的信息来源,考虑预期的需求变化、技术发展及客观条 件等因素,明确领域的边界;考察领域中已有的或潜在的软件应用,识别领域内 的共性和变化性需求,分析需求之间的依赖关系,并在抽象的基础上形成领域( 需 求) 模型。 领域分析活动的输出制品是领域模型。在软件复用活动中,领域模型主要承 担三种责任。对于领域分析,领域模型必须提供足够的建模机制,以有效地捕获 领域具有的共性和变化性需求;对于领域设计,领域模型必须能够提供充分的信 3 第一章绪论 息,以有效地支持特定领域软件体系结构的构造;对于领域内软件应用的开发, 领域模型必须能够提供方便的定制机制,以支持对需求的复用。 领域模型在软件复用中承担的责任对领域模型自身的结构提出了相应的要 求。同时,面向领域的特点也使得一般的需求获取和分析方法不再适用于领域建 模活动的实施。因此采用何种形式的领域模型,如何实施针对领域的需求获取和 分析活动,就成为领域工程研究和实践中的重要问题。 1 1 4 模型驱动 上个世纪9 0 年代是软件中间件高速发展的一个时期,一系列平台技术诞生 并得到广泛应用。在近十余年的市场竞争中,支持不同技术标准的中间件产品并 存,没有而且也不可能产生一个“最终赢家。这种中间件分化现象所带来的中 间件平台之间的互操作障碍,直接导致了企业为不同中间件应用系统的集成付出 昂贵代价。同时,由于企业商业逻辑与某种平台实现技术的“绑定,提升了信 息系统的平台移植难度,加大了企业业务发展受制于某种平台技术发展的风险。 在这种背景下,如何解决企业信息系统建设的互操作性、可移植性、可复用性等 问题,成为软件开发领域的重要课题。 近l o 年来,模型驱动体系结构( m o d e l d r i v e na r c h i t e c t u r e ,以下简称m d a ) 6 ,7 ,8 】,这,个由o m g 组织提出的全新的应用模型技术进行软件系统开发的方法 论和标准体系,正成为软件工程界的研究焦点,同时正在引起各个相关产业领域 的高度关注。m d a 的提出,对未来软件系统,尤其是将对大规模分布式软件系 统的设计、开发、测试、部署、集成、评估、演化等方方面面技术发展产生深远 的影响。m d a 不只是一个实现分布式系统的软件体系结构,也是一个运用模型 技术进行软件开发的方法。 m d a 的规划是非常宏伟的。m d a 充分考虑了问题的复杂性,将问题按照 不同的抽象程度分为四类模型。计算无关模型( c o m p u t a t i o ni n d e p e n d e n tm o d e l , c i m ) 、平台无关模型( p l a t f o r mi n d e p e n d e n tm o d e l ,p i m ) 、平台特定模型 ( p l a t f o r ms p e c i f i cm o d e l ,p s m ) 以及实现相关模型( i m p l e m e n t a t i o ns p e c i f i c m o d e l ,i s m ) 。 m d a 的核心思想是:首先为企业商业应用建立独立于实现技术的平台无关 4 上海大学博士学位论文 模型,再通过映射方法将平台无关模型转换为与实现技术特性相关的平台特定模 型,进而生成可执行代码并在目标平台上部署和实现。m d a 提供了一个开放的、 独立于供应商的应对商业和技术变化挑战的方法。m d a 以o m g 建立的各种标 准为基础,实现将商业或应用逻辑与支撑平台技术相分离。通过m d a 及相关标 准建立的平台独立应用可以被实现于包括c o r b a 、j 2 e e 、n e t 、w e b 服务和 其他基于w e b 的平台等在内的一系列开放和私有平台之_ j 7 _ 9 1 。m d a 将实现细 节与业务功能分开,这样就无需在每次新技术到来的时候,对应用程序或系统的 功能和行为重新建模,而其它的体系结构方法常常和特定技术相关联。 模型驱动的一个重要意图是将模型作为软件开发的一个基本单元,以进一步 提高软件开发的抽象层次,并通过建立高抽象级的模型和向低抽象级别模型及代 码的转换来构造可运行的应用程序。 这个方法是建立在所有知识被完善描述的基础之上。在任何软件组织中,最 有价值的财富就是积累起来的专业知识。这就要求这些专业知识能够被形式化表 示,并且在组织范围内可被人获取和使用。并且这些专业知识可以自动映射到相 应的具体实现上去。这个要求使得那些非形式化的方法不再适用。如果我们要建 立数十年内仍有价值的模型,我们就需要采用一种不会被废弃的语言来描述模 型。在m d a 中,模型不再仅仅是描绘系统、辅助沟通的工具,而是软件开发的 核心和主干。模型之间通过模型映射机制相互转换,从而保证了模型的可追溯性。 软件开发和更新过程就是模型自顶向下、逐步求精的过程。m d a 的基本思想是, 一切都是模型。软件的生命周期就是以模型为载体并由模型转换来驱动的过程。 模型构造、模型映射与模型求精技术是m d a 的核心。 m d a 要求模型是对系统的一部分结构、功能和行为的形式规范:首先,模 型是一种系统规范,这种规范可以是结构的规范,也可以是系统功能或系统行为 的规范;其次,这种规范必须是形式化的,即必须使用一种严格定义没有歧义的 语言。所以一个模型必须和一种严格定义了语法和语义的建模语言绑定在一起。 m d a 展现了一个全面的体系结构,但目前它在各个模块之间是脱节的,或者说 没有可靠的连接手段。如何建立从需求分析到设计直至实现的各种层次的软件模 型,如何通过模型的求精从上一层模型获得下一层模型,仍然是软件工程面临的 巨大挑战。 第一章绪论 人们已经广泛认识到,在软件开发的各个领域,技术变化的速度在迅速增长。 公司希望减少产品上市时间,而业务需求的变化同以往一样快,甚至更快。快速 的技术进步和业务变换剧烈地融合,导致了人们努力从实现业务需求的描述中分 离出来业务需求的模型,这就允许开发团队在探索技术上的下一个解决方案的同 时,保证他们的业务模型依然是有效的知识资产。在实现这些目标的时候,m d a 提供了一种开放的、开发商中立的方法来建立强壮的可扩充的系统。 m d a 是一种对业务逻辑建立抽象模型,然后由抽象模型自动产生最终完备 的应用程序的方法。m d a 致力于提高软件开发行为的抽象级别,倡导将业务逻 辑定义为精确的高层抽象模型,让开发人员从繁琐、重复的低级劳动中解脱出来, 更多地关注业务逻辑层面。它代表了o m g 定义的互操作性规范的一个革命性进 步。 1 1 5 软件求精 软件开发过程有许多种软件加工模型,最诱人的是自动程序设计型模型。自 动程序设计型模型也称为变换型开发过程,它是一种形式化的软件开发方法。在 该模型中,软件开发过程可以分为两个基本阶段:软件规格说明编写阶段和计算 机辅助下的程序求精变换阶段。该模型以软件的形式化规格说明为中心。软件 求精( s o f t w a r er e f i n e m e n t ) 技术是从规格说明到程序设计研究中的一种重要技 术。 规格说明从

温馨提示

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

评论

0/150

提交评论