(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf_第1页
(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf_第2页
(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf_第3页
(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf_第4页
(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机应用技术专业论文)面向软件大规模定制的构件化领域框架研究.pdf.pdf 免费下载

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

文档简介

浙江t 业大学硕十研究生毕业论文面向软件大规模宠制的构件化领域框架研究 面向软件大规模定制的构件化领域框架研究 摘要 日益激烈的市场竞争要求软件工程必须有效率的满足用户个性化 需求的定制,能够快速响应和适应市场业务的变化。但是,软件行业 大多数的开发还处于手工劳动阶段,软件开发是针对单一用户的具体 需求,单个产品来组织的。怎样提高软件开发的效率和质量成为研究 重点,软件构件技术和软件框架正是其中的热点。目前,大规模定制 作为一种新的生产模式,正逐渐得到重视,并在生产中曰益体现其优 势。并且,有人提出了软件大规模定制( s d m c ) 的思想。该文正是在研 究了国内外构件技术以及基于框架开发方面的一些新学术和应用成果 的基础上,对s d m c 下的软件开发模式进行了探讨,提出了一种面向s d m c 的基于“配置模型框架引擎构件”结构的构件化领域框架。 并站在领域框架元模型的角度分析了该框架在s d m c 环境下的结构、集 成、控制流等特点,分析了构件在该框架下的开发和演化特点。同时 该文研究了该框架的设计方法以及利用框架进行构件集成和软件定制 的机制,并给出了面向s d m c 的工作流构件化领域框架s d m c w o r k f l o w 的 实现。在该文的最后,叙述了如何利用s d m c - w o r k f l o w 来定制基于工作 流的灾害快速反应系统。 关键词:大规模定制,领域框架j 构件,软件产品族 浙江工业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 r e s e r c ho nc 0 田o n e n t b a s e d d o m a i n - s p e c i f i cs o f t w a r ef ra 伍w o r kf o rm a s s c u s t o z a t i o n a b s t r a c t t h ec u s t o m i z a t i o nb a s e do nt h ec l i e n t p e r s o n a l i t y i s r e q u i r e de f f i c i e m l yb y s o f t w a r ee n g i n e e r i n gw i t ht h ei n c r e a s i n g l ym a r k e tc o m p e t i t i o n , w h i c hi sc a p a b l eo f r e s p o n d i n ga n da d a p t i n gt h ed e v e l o p m e n to fm a r k e t b u ti nm o s to ft h es o f t w a r e i n d u s t r y ,t h em 面o r i t yd e v e l o p m e n ti ss t i l lh a n d w o r k - l a b o u r i n gp h a s e ,w h i c ha l m sa tt h e d e m a n do fs i n g l eu s e ra n ds i n g l ep r o d u c t t h e r e f o r e ,t h et h i n gt h a th o wt oi m p r o v et h e e f f i c i e n c ya n dq u a l i t yt a m si n t ot h ek e y s t o n eo fr e s e a r c ha n dt h es o f t w a r ec o m p o n e n t t e c h n o l o g ya n ds o f t w a r ef r a m e w o r ka r et h eh o t s p o tt h e r e i n t o p r e s e n t l yt h em a s s c u s t o m i z a t i o na san e wp r o d u c i n gm o d e li sb e i n gf o c u s e dg r a d u a l l ya n db r i n g so u tt h e d o m i n a n c ei np r o d u c t i o n f u r t h e r t h et h i n k i n go fs d m ci s p r o p o s e d t h ep a p e r d i s c u s s e st h em o d e io fs o f t w a r ed e v e l o p m e n tu n d e rs d m cb a s e do nt h er e s e a r c ho n c o m p o n e n tt e c h n o l o g ya n d s o m en e ws c i e n c ea n da p p l i c a t i o n so fs o f t w a r ef r a n l e w o r k , p u t t i n gf o r w a r dt h es m d c - o r i e n t e dc o m p o n e n td o m a i n s p e c i f i cf r a m e w o r kb a s e do n t h es t r u c t u r eo f ”c o n f i g u r a t i o nm o d e l - f r a m e w o r ke n g i n e c o m p o n e r t t a n df r o mt h e d o m a i n - s p e c i f i c f r a m e w o r km e t am o d e lp o i n to fv i e w , t h ep a p e ra n a l y z e st h e c h a r a c t e r i s t i co ft h i sf r a m e w o r ki n c l u d i n gs t r u c t u r e ,i n t e g r a t i o na n df l o wo fc o n t r o l u n d e rs d m c m e a n w h i l et h ep a p e rs t u d i e st h em e t h o d so fd e s i g na n dm a k i n gu s eo f t h ef r a m e w o r kt oi n t e g r a t et h ec o m p o n e n ta n dm e c h a n i s mo fc u s t o m i z a t i o n , a n d p r e s e n t st h ei m p l e m e n t a t i o no f t h es d m c - w o i h 汀l o wb a s e do ns d m c f i n a l l y t h e p a p e ri l l u s t r a t e st h a th o w t oc u s t o m i z et h ed i s a s t e rr e s p o n s es y s t e mb a s e do nw o r k f l o w u s i n gs d m c - w o r k f i ,o w k e yw o r d s :m a s sc u s t o m i z a t i o n ;d o m a i n - s p e c i f i cf r a m e w o r k ;s o f t w a r ec o m p o n e n t s o f t w a r ep r o d u c tf a m i l y 浙江工业大学 学位论文原创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行 研究工作所取得的研究成果。除文中已经加以标注引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙 江工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究作 出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明 的法律责任。 作者签名:砻陟彳忿 日期:矿年乡月z 2 一日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密曰: ( 请在以上相应方框内打“4 ”) 作者签名: 导师签名: 日期:加,年歹月殄日 日期:芦以年厂月z p 日 他7 给肇 浙江t 业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 第一章绪论 1 1软件开发与软件工厂化生产 软件业经过4 0 余年的发展已成为现代信息社会的重要支柱,但软件开发高失 败率的风险,很少按期交付的习惯,以及远远超出预算的成本,也均已成为该行 业的显著特征。软件开发中的大量重复劳动,同类软件标准以及特性的差异性, 软件的精确表达与人类的模糊思维方式之间的矛盾等都是软件危机存在的主要原 因。而软件资源的多元化、应用环境的复杂性和多变性更增加了软件危机的内涵i l 】。 与软件技术相伴发展的硬件技术在这几十年中取得了显著的成绩。硬件系统 的复杂度很高,但与软件相比,设计和实现错误却较少。硬件设计从微观集成电 路到宏观的分布式系统均充分体现了技术重用的思想,系统中每一子系统的设计 都经过了详尽的分析和测试,上层系统由多个可靠的下层子系统构造而成。所以 经过几十年的知识积累,硬件产业终于达到了今天的高峰1 1 1 。 与硬件生产的高度工业化和集成化相比,传统的应用软件开发过程包含以下 几个阶段:需求分析、设计、编码、测试、维护等。软件开发效率低,开发周期长, 丌发成本高,可维护性和适应性差。每个应用系统的开发都是从头开始,其中存 在大量的重复劳动。几十年来,为了摆脱软件危机的困惑,人们提出了软件复用 的概念。软件复用是指重复使用“为了复用目的而设计的软件”的过程【2 】。软件系 统之间的一致性和相似性是进行软件复用的客观条件。越是相似的系统,越是容 易进行复用,并且复用度越高,获得的收益也越大。软件复用是在软件开发中避 免重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始” ( f r o ms c r a t c h ) 的模式,而是以已有的工作为基础,充分利用过去应用系统丌发 中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。通过软件 复用,在应用系统开发中可以充分利用已有的开发成果,消除重复劳动,避免重 新丌发可能引入的错误,从而提高软件开发的效率和质量。 软件复用的研究主要集中在软件构件技术( s o f t w a r ec o m p o n e n tt e c h n o l o g y ) 、软件体系结构( s o f t w a r ea r c h i t e c t u r e ) 、领域工程( d o m a i ne n g i n e e r i n g ) 、 软件再工程( s o f t w a r er e e n g i n e e r i n g ) 、开放系统( o p e ns y s t e m ) 、软件过程 ( s o f t w a r ep r o c e s s ) 、c a s e 技术等方面的研究上。 ( 1 ) 软件构件技术。软件构件技术是支持软件复用的核心技术,是近几年来迅 速发展并受到高度重视的一个学科分支。所谓构件( c o m p o n e n t ) 是指应用系统中可 以明确辨识的构成成分。而可复用构件( r e u s a b l e c o m p o n e n t ) 阱是指具有相对独立 的功能和具有可复用价值的构件。随着对软件复用理解的深入,构件的概念已不 浙江工业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 再局限于源代码构件,可以延伸到需求、系统和软件的构架、文档、测试计划、 测试案例和数据以及其他对开发活动有用的信息。这些信息都可以称为可复用软 件构件。在构件的开发上,一般认为描述构件的最简捷途径是构件模型1 3 1 。比较有 代表性的是t r a c z l 4 提出的3 c 模型、r e b o o t 项目中提出的r e b o o t 模型1 和北京大学 提出的青鸟构件模型【4 1 】。这些模型均是学术界提出的指导性模型,抽象层次比较 高,用户可以根据不同的问题域对其进行扩展。而在构件组装上,比如复合构件 的构造一般是通过顺序、选择、并行以及它们的扩展方式将构件组合在一起1 6 。另 外,构件组装是构件实现其功能的必需过程。没有详尽描述的构件,很难进行组 装。因此,o s c a rn i e r s t r a s z 7 | 提出的a p p l i c a t i o n s2c o m p o n e n t s 十s c r i p t s 概 念得到了普遍认同。在分析构件组装的技术特点后,f r a n za e h e r m a n n 等1 8 提出了 对构件组装语言的一般要求:能描述体系结构;是脚本语言;具有粘连语言( g l u e l a n g u a g e ) 能力,支持构件自适应裁剪;具有协同( c o o r d i n a t i o n ) 能力,满足并发 及分布式构件的协作要求。i b m 也对构件组装语言的要求进行了探讨,给出了构件 组装语言b m l ,并逐一论述了该语言是如何满足构件组装需求的。 ( 2 ) 软件框架。综合各学者对框架的概念定义【9 1 3 】:软件框架是对系统整体结构 设计的刻划,包括全局组织与控制结构,构件间通讯、同步和数据访问的协议, 设计元素间的功能分配,物理分布,设计元素集成,伸缩性和性能,设计选择等胛l 。 软件框架研究如何快速、可靠地从可复用构件构造系统的方式,着重于软件系统 自身的整体结构和构件间的互联。其中主要包括:软件框架原理和风格,软件框架 的描述和规约,特定领域软件框架,构件向软件框架的集成机制等。其中一些软 件公司也实现了特定于领域的框架,如t a l i g e n t 公司的c o m m o n p o i n t 和i b m 公司针 对商业领域的s a nf r a n c i s c o 等等。而根据所采用的开发方法和实现技术,从复用 的角度来划分框架,可以分为自盒框架( w h i l e - b o xf r a m e w o r k ) 和黑盒框架 ( b l a c k b o xf r a m e w o r k ) ,从设计角度来分,领域框架有两种主流的设计方案陋, o o 领域框架和构件化领域框架( c o m p o n e n t - b a s e ds o f t a r ef r a m e w o r k 简称 c b s f ) ,其中o o 领域框架是一种白盒框架。软件框架在其生命周期开始一般是白盒 框架,但随着对领域认识的不断加深,自盒框架将逐渐演化成为黑盒框架,从面 图1 1 基于构件的框架结构f l 丁1 浙江t 业丈学硕士研究生毕业论丈 面向软件大规模定制的构件化领域框架研究 提高对复用的支持。因为o o 框架由于框架类的类度过小和继承扩展机制不够灵活, 因而基于构件的领域框架现在成为研究的热点【1 7 l 。与0 0 框架相比,c b s f 具有更大 的构件粒度以及其基于组装的扩展机制,使得它更易于被复用。目前对c b s f 的研 究还相对较少,实际工作主要有a v a l o n 项目【“、概念知识处理框架t o c k i t 0 9 1 以及 交互训练框架p o 等等,它们都是基于j a v ab e a n 或b j b 的c b s f 框架。 如1 - 2 图所示的是一个支持分布式构件的信息处理构件化领域框架n e s c 2 ”,它 采用的是界面、规则和存储的基本层次化结构。 (应用环境二) 远程方法动态组合 i构件组合 l 功能构件建h 分布构件管理h 数据存取服务 i 图1 3 面向业务构件的黑白盒混合的领域框架的设计与实现 而图卜4 所展示的是基于构件的b o s s 框架结构设计。在b o s s 框架中,环境层、 基础构件层、业务构件层、业务过程层和应用系统层构成了明显的层次关系,下 层构件为上一层提供了独立完整的功能,因此上层构件无需了解下层构件内部的 实现细节,只需调用下层构件提供的明确定义的接口和方法来实现自己的功能。 浙江t 业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框禁研究 为了支持方便快速地基于框架开发应用系统,提供了集成机制,负责将处在不同 层次的构件按照用户的特殊需求集成为应用系统。 应用系统层 e 圃e 圃口 tr 业务过程层 圆圆回圆口 t t1r 集成机制业务构件层 l 过程引擎l i 客户身份验证构件ii 客户资料管理构件li 权限管理构件l l 1 广 f 控制罂i 基础构件层 i l 信息定制构件li 受理单构件il 工单构件ii 注册表构件i 可rtr 环境层 l e s b ll d c o ml c o r b ai iu n i x lw i n d o w sl 口 图1 4 基于构件的b o s s 框架结构1 ( 3 ) 领域工程。领域工程是为一组相似或相近系统的应用工程建立基本能力和 必备基础的过程,它覆盖了建立可复用软件构件的所有活动彤i 。领域是指一组具 有相似或相近软件需求的应用系统所覆盖的功能区域。领域工程包括三个主要的 阶段:领域分析、领域设计和领域实现。 ( 4 ) 软件再工程。现存大量的遗产软件系统( l e g a c ys o f t w a r e ) 由于技术的发 展,正逐渐退出使用,如何对这些系统进行挖掘、整理,得到有用的软件构件? 已有的软件构件随着时间的流逝会逐渐变得不可使用,如何对它们进行维护,以 延长其生命期,充分利用这些可复用构件? 软件再工程正是解决这些问题的主要技 术手段。软件再工程是个工程过程,它将逆向工程( r e v e r s ee n g i n e e r i n g ) 、重 构( r e s t r u c t u r i n g ) 和正向工程( f o r w a r de n g i n e e r i n g ) 组合起来,将现存系统重 新构造为新的形式。 ( 5 ) 开放系统技术。开放系统技术的基本原则是在系统的开发中使用接口标 准,同时使用符合接口标准的实现。这些为系统开发中的设计决策,特别是对于 系统的演化,提供了一个稳定的基础,同时,也为系统( 子系统) 间的互操作提供 了保证。开放系统技术具有在保持( 甚至是提高) 系统效率的前提下降低开发成本、 缩短开发周期的可能。对于稳定的接口标准的依赖,使得开发系统更容易适应技 术的进步【2 6 i 。 在产业界和学术界的共同努力下,软件开发技术得到了很大的进步,软件生 产率得到了不断提高,软件生产质量也得到了很大改善。通过大规模复用经过实 浙江t 业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 践检验的系统体系结构和标准化的构件,使得对于一般的设计问题都可以直接利 用现成的解决方法,避免了系统开发时不断重复相同的劳动,从而大幅度降低开 发成本、提高生产效率和产品质量。系统化的复用将为软件企业在竞争日益激烈 的市场上征得有利的地位。但是,随着软件生产规模日益扩大和软件复杂度的逐 步增加,现有的软件开发技术及环境还远远不能适应和满足软件产业发展的需要, 不能很好地满足用户个性化和频繁的业务变化的需求。但日益激烈的市场竞争要 求软件工程必须有效率的满足用户个性化需求的定制,能够快速响应和适应市场 业务的变化口7 。“。 7 软件复用为解决软件危机提供了一个方向,但如何规模而且标准化使用软件 复用技术仍然是一个新的研究课题。软件行业大多数的开发还处于手工劳动阶段, 软件开发是针对单一用户的具体需求,单个产品来组织的。近年来,产业界提出 一种“软件工厂”的思路,就是将软件开发作为一种生产制造过程,像在生产线 上生产物质产品一样,大规模生产软件产品。 目前市场上使用的软件都是基于大规模生产的方式或者选择客户定制的方式 开发的。这样就存在这样的矛盾:如果是为客户定制的,则无法满足大规模开发, 因为目前的定制都是基于代码级的,这样的软件没办法为其他客户所用,无法规 模实现软件复用的优势;如果是基于某一产品族的大规模生产的,则无法很好的 满足单一客户的具体需求,而且这样的大规模生产的是无差异性的软件,因而也 就无法体现软件复用的概念。 一这样需要我们把将大规模标准化软件开发与面向单个用户定制开发有机结合 起来,既满足用户的个性化需求,又达到规模经济的效益。 因为面向某一领域的系统存在着相似性,具有许多相同的功能特点。通过提 取面向领域的软件共性特点,通过具有领域标准的接口和以对象形式实现的构件 实现共性需求。只要具备了已经设计和实现了的领域个性需求的构件,通过替换 和组合不同的构件,就能满足用户对领域软件的共性和个性需求。 1 2大规模定制生产发展现状 随着现代科学技术的迅猛发展和人们生活水平的日益提高,用户需求日趋多 样化、个性化。现今的市场中,顾客的影响越来越大,同时市场又是动态多变的, 难以预测的。使得原先传统的大批量生产方式己不能适应快速多变的市场需要。 在新的市场环境中,企业迫切需要一种新的大批量生产模式,由此大批量定制( m a s s c u s t o m i z a t i o n ,m c ) 生产方式应运而生企业采取m c 的原因,主要是为了适应动 态多变而又多样化的市场。 ( 1 ) 市场的多样化随着经济发展和市场的日趋饱和,用户对产品的个性化要求 日益增长,不再满足于便宜但无个性的产品,而是要求产品多样化、定制化,同 浙江= r 业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 时又要价格便宜。 ( 2 ) 市场的动态多变性随着科技的飞速发展及经济的不断进步,产品的生命周 期大大缩短。企业必须能够快速响应技术的不断更新以及多变的市场需求;否则, 残酷的市场竞争很快会将其无情淘汰。企业采用大批量定制能够让企业快速开发 并生产出多样化的、定制而又便宜的产品,同时又使产品能够容易地快速转型, 较好地适应激烈的市场竞争。 最早提出大批量定制概念的是a l v i nt o f f l c r 。他于1 9 7 0 年在未来的冲击 f f u t u r es h o c k ) - - 书中提出了一种以类似于标准化或大批量生产的时间和成本,提 供满足客户特定需求产品和服务的生产方式的设想。 1 9 8 7 年,d a v i s 将这种生产方式称为“m a s sc u s t o m i z a t i o n ”,即大批量定制。大 批量定制又称大规模定制、大规模客户化生产等【删0 i 。1 9 9 3 年,p i n e 在大批量定 制一企业竞争的新前沿( m a s s c u s t o m i z a t i o n :t h en e wf r o n t i e r i nb u s i n e s s c o m p e t i t i o n ) - - 书中首次正式提出了大批量定制的概念口”2 i 。根据p i u c 的定义,大批 量定制是指以大批量生产的成本和速度,提供定制的个性化产品和服务。 1 9 9 6 年,h a r t 和t a y l o r 给大批量定制下了一个可操作性的定义:大批量定制是 采用柔性过程和柔性组织结构以提供多样的( 又通常是客户定制的) 产品和服务,而 这种产品和服务的价格又必须能与标准的大批量的生产相竞争。 1 9 9 6 年,敏捷制造奠基人r i c kd o v e 将敏捷( a g i l i t y ) 与大批量定制相结合,表示 企业应具有的适应性。 1 9 9 9 年,p i t t 、b e r t h a m 和w a s t o n 以及d u m 和m i l l g a n 都支持d a v i s 的观点,将大 批量定制描述成以大批量生产的成本和时间提供客户化的产品和服务。综合以上 概念,并对其作适当扩充,大批量定制的概念可以描述为:大批量定制是一种集 企业、客户、供应商和环境等于一体,在系统思想指导下,用整体优化的观点, 充分利用企业已有的各种资源,在标准化技术、现代设计方法学、信息技术和先 进制造技术等的支持下,根据客户的个性化需求,以大批量生产的低成本、高质 量和高效率提供定制产品和服务的生产方式。用大批量定制的原理及方法实施网 络化制造,可以取得非常可观的效益。 据国外预测,这种既能满足客户的真正需求而又不牺牲企业效益和成本的生 产方式,正在成为2 l 世纪的主流生产方式。到2 0 1 1 年,汽车、电器等3 0 以上的产 品将广泛实现大批量定制生产。但是从目前的发展情况来看,这种生产方式的普 及速度要大大高于国外的预测。 大规模定制的出现是生产模式发展演化的必然结果。从历史上看,生产模式 的演变经过了4 个阶段。 ( 1 ) 手工作坊阶段( i n v e n t i o ns t a g e ) 这种方式柔性度极高,但生产效率低,成本高。 它的特征是以熟练工匠为主的小批量甚至是单件的手工生产模式。 ( 2 ) 大量生产阶段( m a s sp r o d u c t i o ns t a g e ) 大量生产模式是进入工业化时代后的 浙江工业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 典型生产模式。它的技术特征是机械化、电气化和刚性自动化以及多级递阶的企 业组织形式。这种生产方式柔性低,自动化程度高,生产效率最高,生产成本很 低。 ( 3 ) 持续改进阶段( c o n t i n u o u si m p r o v e m e n ts t a g e ) 此阶段是达到大批量定制阶段 的过渡阶段。它通过授权的、功能交叉的合作组的不断努力来改进过程管理。它 是大批量定制的前提,它的结果是低成本、高质量,提供标准的产品及服务。 ( 4 ) 大批量定制阶段( m a s sc u s t o m i z a t i o ns t a g e ) 当生产发展到信息化时代,市场 的竞争要求种新的生产模式大批量定制。大批量定制企业的特征是:动态 的制造需求、柔性的资源、产品多样性的后延设计、产品族结构及柔性过程路径。 简单地说,大规模定制是以大规模的生产成本和时间满足用户的个性化需求, 其基本思想是:将个性化定制产品的生产问题通过产品重组和过程重组转化为或 部分转化为批量生产问题【3 3 1 。 1 3 软件大规模定制研究现状 在软件开发上,人们提出了许多旨在促进软件工程化的开发思想和方法,其 中最为关注的就是软件复用。随着面向对象技术出现逐步成为主流技术,为软件 复用提供了基本的技术支持。软件复用研究重新成为热点,被视为解决软件危机, 提高软件生产效率和质量的现实可行的途径。它通常可分为产品复用和过程复用 两条途径。基于构件的复用是产品复用的主要形式,也是当前复用研究的焦点口“。 著名的b r o w n 和w a l l n a u 将构件定义为一个非平凡的、几乎独立的、可替换的 系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能。o m g ( o b j e c t m a n a g e m e n tg r d u p ) 的定义更通俗、详细一些:构件是一个物理的、可替换的系统 组成部分,它封装了实现体并且提供了对一组接口的实现方法。构件表示了系统 实现体的一个物理片段,包括软件代码( 源代码、二进制代码或可执行代码) 或者等 同体,如脚本或命令文件。构件自身必须相容于接口且实现接口,接口表示了驻 留在构件内的成分所实现的服务,构件实例为客户端构件提供这些服务1 。构件 技术通过封装定的功能来提供第三方构件,构件本身不需编程改动就能采用或 重用,对外提供服务。而且构件通常比传统的对象具有更大的粒度,这种特性使 得构件能够复合多个对象的功能,对外提供服务。因而当前软件构件技术被视为 实现成功复用的关键因素之一同时软件复用技术的广泛应用将促进软件产业的 变革,使其重组分工,软件构件生产也将成为独立的行业丽存在。 另外领域工程发展也给软件复用提供了有力的支持。领域工程是对一个领域 中的若干系统进行分析,识别应用系统的共同特征和可变特征,对这些特征进行 抽象,形成领域分析模型( d o m a i na n a l y s i sm o d e l ) ,依据领域分析模型产生出领域中 一类应用系统共同具有的构架,即特定领域的软件构架( d o m a i ns p e c i f i cs o f t w a r e 浙江t 业大学硕士研究生毕业论文 面向软件大规模定制的构件化领域框架研究 a r c h i t e c t u r e ,简称d s s a ) ,并以此为基础,识别、开发和组织可复用构件【3 6 】。这样, 当开发同一领域中的新应用时,可以根据领域分析模型,确定新应用的需求规约, 根据特定领域的软件构架形成新应用的设计,并以此为基础选择可复用构件进行 组装,从而形成新系统与领域工程相对应,称开发单个应用系统的软件工程过 程称为应用工程。经过多年的研究与实践,当前已提出若干种领域工程方法,取 得了一定的成果。其中比较有代表性的方法是卡耐基- 梅隆大学软件工程研究所提 出来的f o d a 方法1 3 3 1 、w i l lt r a c z 提出来的d s s a 领域工程方法、乔治梅森大学 h a 5 s a ng o m a a 教授提出来的e d l c 模型以及贝尔实验室提出来的f a s t 领域工程方 法。 以上这些软件工程方法都是立足于软件开发角度的,而如何将软件开发与面 向用户需求相结合则较少提及。因而在这些软件工程方法的基础上,有人提出了 面向大规模定制的软件开发模式( s o f t w a r ed e v e l o p m e n tf o rm a s sc u s t o m i z a t i o n , s d m c ) 3 3 1 ) 将大规模标准化软件开发与面向单个用户定制开发有机结合起来,来 满足用户的个性化需求,又达到规模经济的效益。 , 与物质产品相比较,软f 铲品的生命周期更短,受市场和客户需求变化的影响 更大,特别是领域应用软件,每个企业的产品结构、规模大小和管理方式都不一 样,业务流程也各不相同,而且随着市场的变化,企业重组和持续业务过程改善, 都造成业务过程的动态不稳定。这要求软件产品不仅在开发过程中要满足多样化 的业务需要,而且在企业应用过程中,要能动态适应不断变化的业务过程。因此, 软件产品应比物质产品更具有柔性和可定制性。根据不同软件产品的特点,存在 两种软件开发形式,如图1 5 所示 高 基 掣 牛 低 面向大规模定制的欺单个软件定向开发 件开发( s d m c ) 标准成品软件开发 低 时间,成本高 图l - 5 软件生产模式比较 标准成品软件( o f f - t h e s h e i o 开发面向较大规模的客户群,开发和销售成本 低;相对价格便宜,交货迅速,但满足用户特殊需求的集成和修改费用高。 单个软件定向开发( o n e - o a ) 完全按用户需求组织开发,能贴近用户需求,但 开发费用高,周期长,而且可维护、可升级性差 面向大规模定制的软件开发模式是以上两种开发方式优点的结合,既可以快 速响应个性化客户需求,又可以实现标准软件开发的效率和成本。如图1 6 所示, s d m c 除继承领域工程和基于构件的软件工程方法的特点外,还将并行工程的思想 浙江t 业人学硕t 研究生毕业论文 面向软件大规模定制的构件化领域框架研究 ,紫蕊、 ,堡彗王珲k祥土衽:” 里塑毫璺族苟童甭 生 ,夏塞剖性面香篷柱 f孽鏖磐+ 菇是弄茇周期i l 胡经济。州c 模姘” 个性化一 用户满意 ( 范围经济) 纛商哆2 燃) 缩短开发周期规模经济) 减低成本 提高质量 过程重组 图i - 6s d m c 与其它软件工程方法的关系p 3 】 可重用构件是实现s d m c 的基石采用基于构件的开发方法,可以将一个复杂 的软件产品分成多个构件的集合,相当于将复杂的单一问题简单化,因此更便于 软件的管理、维护和升级。理论上,构件是与具体产品无关的相互独立的单元, 可以在广泛范围内共享和重用,是解决大规模软件工程问题的有效方法。构件可 以外购,还可以外协构造,这样可以充分利用外部资源,缩短开发周期。s d m c 运 用并行工程的思想,集成地、并行地开发软件产品和过程,从软件开发的开始就 充分考虑软件生命周期中所有因素,包括时间、成本、质量和用户需求等。 综上所述,s d 眦继承和发扬了领域工程、基于构件的软件工程和并行工程的 思想和方法,在系统方法指导下,用全局优化的观念,充分利用内外部资源,以 大规模生产软件的效益,开发满足用户个性化需求的软件产品。其目标是: ( 1 ) 缩短产品开发周期,以实现快速响应; ( 2 ) 提高开发规模,降低开发成本,以实现规模经济: , ( 3 ) 满足用户个性化需求,以实现范围经济; 1 4本论文研究的内容和工作 本论文的主要是根据领域需求,结合构件技术,研究面向软件大规模定制的 领域框架分析和设计。并设计出能符合软件大规模定制要求,符合软件领域特征 的框架。并能根据不同需求实现对框架内共性和个性构件的灵活集成和调用。 ( 1 ) 广泛阅读软件复用和大规模定制方面的著作和相关技术文档,了解现今 浙江t 业丈学硕士研究生毕业论文 , , 面向软件大规模定制的构件化领域框架研究 的软件框架结构标准和设计方法,了解当前的软件开发模式和大规模定制思想在 软件开发上研究进展情况。 ( 2 ) 通过对领域需求的分析,搭建面向s d 眦的构件化领域框架。根据领域 需要满足的柔性和可定制性要求,分析领域框架的数据扩展点,功能扩展点,界 面扩展点以及过程扩展点。并研究各个扩展点的实现模型,设计框架内扩展点的 接口标准。 ( 3 ) 通过设定构件的集成机制和控制机制来实现对构件的调用和组合,其中 主要研究构件的框架引擎模型和构件控制流,研究框架引擎如何按照业务规则调 用构件实现对系统不同需求的满足。 ( 4 ) 在框架运行机制上,主要探讨在面向s d m c 的构件化领域框架下,软构 件的开发和快速集成上,即面对软件大规模定制需求下,软件产品的开发过程和 定制过程,并比较其与传统软件开发模式的区别和优势。 ( 6 ) 实现基于s d m c 构件化领域框架的工作流系统,并在此基础上定制灾害 快速反应系统。 1 5论文结构 第一章:绪论。介绍当前的软件开发模式,不足之处,软件开发发展趋势; 大规模定制思想的起源,发展和现状,列举基于大规模定制思想的新近的技术和 理论创新。以及相关的论文综述;介绍软件大规模定制思想的概念,发展和现状, 陈述现在基于软件大规模定制思想的一些论文观点。同时列举本论文要研究的内 容和工作。 第二章:面向大规模定制的软件开发方法研究。阐述s d m c 的概念和特点,并 介绍s d 软件产品族的概念和范围,从领域工程的角度分析如何识别领域需求, 如何提取软件产品族的共同特征和可变特征,以及对特征的抽象,领域分析模型 的形成,如何依据领域分析模型产生出领域中一类应用系统共同具有的软件框架, 并以此为基础,识别、开发和组织可复用构件。 在这一章,还将介绍s d m c 的软件生产模式,第一就是s d m c 的软件产品族特征 提取过程,第二就是s d m c 的软件设计开发过程,介绍框架的设计开发过程以及软 构件的开发过程,并从并行工程的角度分析开发成本和软件过程的优势。第三就 是介绍s d 托的软件定制过程,从客户需求分析到功能模块的选择,软构件的选择 和集成以及最后软件产品的测试和调整,以及与客户的交互过程,同时还介绍了 目酊正在研究的软件产品线技术。 同时在这一章,还将给出s d m c 领域软件产品族的模型,s d m c 领域产品族模型 的元素以及其意义。同时给出领域产品族模型的配置规则概念,陈述配置规则与 s d m c 领域产品族模型元素的关系以及对其的约束 浙江丁业丈学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 第三章:面向s d m c 的构件技术研究。在这章,介绍构件的概念,构件的分 类和典型技术,并介绍构件模型和构件描述语言。同时给出在s d m c 环境下构件的 分类和储存方法,同时在面向s d 姬时构件的演化方式和演化过程。 第四章:面向s d m c 的构件化领域框架特征研究。在这一章,介绍框架的概念, 以及框架的定义,阐述了框架和构件之间的关系。并介绍了s d m c 下框架的元模型, 从元模型角度分析各个元素在s d m c 中的定义和区别。给出元素语义描述以及元素 的特征和其在s d m c 中的作用,并阐述元模型的设计方法,并对元模型扩展点的表 示和实现机镱4 进行了详细的讨论。同时这一章给出s d 婀构件化领域框架的结构, 提出了新的框架概念“配置模型框架引擎构件”,并介绍了结构中各部分 的作用。阐述了s d m c 构件化领域框架下基于x m l 的插座式构件集成机制,最后介 绍框架运行时刻过程引擎、业务规则和业务构件之间的控制流程( 控制流) 。 第五章:s d 眦构件化领域框架的设计。这一章给出了s d m c 构件化领域框架的 设计方法,首先是领域框架的核心配置模型与框架引擎的设计方法,然后给出软 件定制器以资源管理器的设计方法。构件库以及构件管理器的设计方法,阐述构 件的组织、储存、调用机制。规则库和规则管理器的设计方法,阐述了构件调用, 构件集成中规则约束原理和规则调用方法。视图库和视图管理器,从用户界面角 度,给出基于m v c 设计模式下的视图设计和生成调用方法。 第六章:讲述基于s d 忱构件化领域框架的工作流系统s d 骶呷o r k f l o w 的实现 方法。介绍s d m p w o r k f l o w 的系统框架结构,介绍了配置模型的x 虬结构以及框 架引擎的实现方法,框架引擎解析配置模型的实现机制。系统框架的u m l 设计, 系统的类结构,类图设计。平台中系统功能构件的开发实现。这一章从实践角度 阐述了s d m c 构件化领域框架的实现细节。 第七章:s d 眦埘o r k f l o w 在灾害救助快速反应系统中的应用。给出利用 s d m c w o r k f l o w 平台定制浙江省灾害救助快速反应系统的方法和过程,演示了s d m c 构件化领域框架的应用过程。 第八章;总结和展望。这部分对本论文的工作进行了总结,指出了面向s d m c 的构件化领域框架中许多值得研究和探讨的问题,并列举了些需要进一步完善 的工作,并阐述了s d m c 未来发展的几个方向, 浙江1 = 业大学硕士研究生毕业论文面向软件大规模定制的构件化领域框架研究 第二章软件大规模定制( s d m c ) 开发方法研究 2 1s d m c 基本原理 2 1 1s o m c 的概念及特点 s d m c 的基本思想就是:将个性化定制软件产品的生产问题通过构件重组和过 程重组转化为或部分转化为构件的大规模复用问题。s d m c 要求开发的软件既能体 现领域中的共性需求,同时又能满足客户的个性化需求,这样的软件就能适用于 某一领域的客户。 工业产品是以零件为生产单位,而软件产品是以可重用软构件为最小生产单 位,同时构件不需要重复生产。与工业产品的大规模定制相比较,工业产品的大 规模定制表现在把用户的个性化定制转化为零件的大批量生产上,而s d m c 则表现 在把用户的个性化定制转化为软构件的规模复用上。同时,工业产品定制中对零 件需求的差异需要生产不同零件来满足,而软件开发上可以通过软构件的柔性来 得到满足,只有调整构件仍无法满足的情况下才需要开发新的构件。因此,s d 虬 比工业产品m c 更具有柔性和可定制性。 若要实施s d m c ,首先要求需开发的软件产品必须符合s d m c 产品的特征:软件 产品必须是可定制的,能满足动态的领域需求;软件产品必须是柔性可扩展的, 能满足产品多样性的后延设计;软件产品的资源必须具备可重用性;软件产品结 构应该是一种产品族结构。 2 1 2 s d m c 软件产品族 可定制的产品族模型是实现s d m c 的关键。因此,s d m c 重点在于研究建立合理 的产品族结构的软件设计方法,不再每次只设计一个产品,而是同时完成一组产 品的设计,即对整个产品族进行综合设计,从而可以挖掘出产品族中的相似性信 息,设计出面向产品族的、可定制的领域框架和可重用构件。并利用并行工程的 观点,以时间、成本、用户满意度为且标,集成地、并行地设计产品族及定制过 程,同时尽可能考虑到影响软件定制过程的约束条件和条件约束下的软件配置机 制。软件产品族是利用共享资源构造的某一具体领域软件产品的集合,是一系列 相似产品的统一表达。软件产品族对具体领域的相似问题进行归类,用相似的解 决方案来解决,并试图覆盖同业务领域的所有现实或潜在需求。面向大规模定 制的软件产品族体系结构如图2 - 1 所示 浙江丁业犬学硕士研究生毕业论文 , 面向软件大规模定制的构件化领域框架研究 软件产品族由领域框架、构件、定制过程和定制机制等部分组成。按照从用 户需求到软件产品形成,在业务定义、技术方案和物理实现3 个层面上建立领域框 架模型和构件模型,层与层之间存在映射关系,右边层次的模型是左

温馨提示

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

评论

0/150

提交评论