(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf_第1页
(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf_第2页
(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf_第3页
(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf_第4页
(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机科学与技术专业论文)基于插件体系结构的软件生产线集成框架设计与实现.pdf.pdf 免费下载

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

文档简介

国防科技大学研究生院学位论文 摘要 随着网络和软件技术的发展,人们渐渐认识到,为了提高软件开发效率和软 件产品质量,必须改变传统手工作坊式的开发方法,转而采用工程化的开发方法 和工业化的生产技术。由此,根据工业界成熟的产品线思想,业界提出了软件产 品线这一概念。软件产品线的提出是软件开发走向产业化的基础,也是软件重用 的进一步发展。 早在2 0 世纪9 0 年代,北大青鸟工程最早提出并开发了一条软件生产线,从 而在国内引入了这一产业化的软件开发环境进行软件产品线实践。在当前国际上, 典型的插件体系结构e c l i p s e 平台作为一个优秀的软件开发环境为人们构建软件生 产线提供了便利,人们也开发出众多基于插件形式的e c l i p s e 工具用于软件产品的 工业化生产。但面对工具问的互操作以及如何组织不同的插件工具在软件生产过 程中进行集成并按照生产流程实现开发等此类问题时,e c l i p s e 并没有给出全部答 案。这也使得研究能够集成标准的软件生产线工具、软件构件、软件服务,以及 协同机制的软件生产线集成框架更具有重要的理论意义和应用价值。 针对上述问题,本文研究了当前业界关于软件生产线的相关技术和标准,给 出了软件生产线各组成要素和集成框架抽象模型,并基于此模型设计了一个基于 插件体系结构的软件生产线集成框架技术模型,最后实现了一个e c l i p s e 环境集成 框架插件。该框架能通过对多种生产线插件工具的集成,为用户提供了一个可视 化的管理视图,实现了生产线中工具的统一组织管理;并通过可视化的流程配置, 实现定制一条软件生产线生产流程的目的。本文的主要研究工作包括以下几个方 面: ( 一) 研究了软件生产线的相关技术标准,给出了一个软件生产线的抽象组 成模型,主要包括集成框架、工具和关系模型;通过对集成框架进行了需求调研, 提出了集成框架中的工具集成、数据集成和流程配置模型 ( 二) 基于典型的e c l i p s e 插件体系结构,设计了一个基于插件体系结构的软 件生产线集成框架技术模型,该模型实现了基于资源库集成软件工具,通过相应 的协同与保障机制,定制生产流程从而形成软件生产线的目标; ( - - ) 基于提出的集成框架技术模型,本文实现了一个针对e c l i p s e 环境下的 软件生产线集成框架插件。该插件可以集成符合集成框架相关技术规范的插件工 具,通过有效的数据交互和可视化的流程定制,最终搭建一条软件生产线。 在上述工作的基础上,本文配合相关监控工具插件对集成框架插件进行了验 证,最终成功搭建了一条支持运行监控的软件生产线典型应用。结果表明:该集 成框架插件和相关技术规范能够帮助软件生产线开发人员设计实现生产工具和集 第i 页 国防科技大学研究生院学位论文 成定制生产流程,并按照生产流程运行生产工具时给予有效的涧度,初步验证了 本文工作的可行性和有效性。 主题词:软件重用,软件生产线,e c l i p s e ,集成框架,插件体系结构 第i i 页 国防科技大学研究生院学位论文 a bs t r a c t w i t hr a p i dd e v e l o p m e n to fs o f t w a r et e c h n o l o g ya n di n t e m e t ,t h e r ei sag r o w i n g r e c o g n i t i o nt h a t i no r d e rt oi m p r o v et h ee f f i c i e n c yo fs o f t w a r ed e v e l o p m e n ta n d s o f t w a r ep r o d u c tq u a l i t y ,i ti sn e c e s s a r yt oc h a n g et h et r a d i t i o n a lh a n d w o r k s h o po nt h e d e v e l o p m e n to fm e t h o d st oi n d u s t r i a ld e v e l o p m e n tm e t h o d sa n dp r o d u c t i o nt e c h n o l o g y a sar e s u l t ,t h ec o n c e p to fs o f t w a r ep r o d u c tl i n ei s p u tf o r w a r di na c c o r d a n c ew i t h m a t u r ei n d u s t r yp r o d u c tl i n e i ti st h eb a s i so ft h ei n d u s t r i a l i z a t i o no fs o f t w a r e d e v e l o p m e n tt h a ts o f t w a r ep r o d u c tl i n ei sm a d e a n di sa l s ot h ef u r t h e rd e v e l o p m e n to f s o f t w a r er e u s e a se a r l ya st h e19 9 0 s ,t h es o f t w a r ep r o d u c t i o nl i n et h a ti st h es o f t w a r ei n d u s t r y d e v e l o p m e n te n v i r o n m e n tw a sf i r s tp r o p o s e da n dd e v e l o p e db yp e k i n gu n i v e r s i t yj a d e b i r dp r o j e c ti no r d e rt os u p p o r tt h es o f t w a r ep r o d u c tl i n ep r a c t i c e i nt h ec u r r e n t i n t e m a t i o n a l ,t h et y p i c a le c l i p s ep l u g i na r c h i t e c t u r ea sa ne x c e l l e n tp l a t f o r mf o r s o f t w a r ed e v e l o p m e n te n v i r o n m e n tp r o v i d e sac o n v e n i e n tf o rp e o p l et ob u i l das o f t w a r e p r o d u c t i o nl i n e ,a n dp e o p l ea l s oh a v ed e v e l o p e dn u m e r o u sf o r m so fe c l i p s e - b a s e d p l u g i nt o o l sf o ri n d u s t r i a lp r o d u c t i o no fs o f t w a r ep r o d u c t s b u tw h e nf a c i n gt h e p r o b l e mo ft h et o o li n t e r o p e r a b i l i t yb e t w e e nd i f f e r e n to r g a n i z a t i o n sa n dh o wt op l u g - i n s o f t w a r et o o l sf o r i n t e g r a t e dp r o d u c t i o np r o c e s st oa c h i e v es u c hd e v e l o p m e n ti s s u e s , e c l i p s ed i dn o tg i v et h ew h o l ea n s w e r t h e r e f o r e ,i tm a k e st h es t u d yo ft h es o f t w a r e p r o d u c t i o n l i n e i n t e g r a t e d f r a m e w o r kw h i c hi n t e g r a t e ss o f t w a r e t o o l s ,s o f t w a r e c o m p o n e n t s ,s o f t w a r es e r v i c e s ,a n dc o l l a b o r a t i o nm e c h a n i s mm o r ei m p o r t a n tt h e o r e t i c a l a n da p p l i e dv a l u e a f t e rt h er e l a t e dt e c h n o l o g i e sa n ds t a n d a r d so ft h ec u r r e n ts o f t w a r ep r o d u c t i o nl i n e w e r es t u d i e d ,w h a ti sp r e s e n t e di nt h ep a p e ra r et h ec o n s t i t u e n te l e m e n t si ns o f t w a r e p r o d u c t i o nl i n e ,t h ea b s t r a c ta n dt e c h n i c a lm o d e lo ft h ei n t e g r a t e df r a m e w o r k ,a n dw e a l s og i v eap l u g i no fi n t e g r a t e df r a m e w o r ka sa nr e a l i z a t i o no ft h et e c h n i c a lm o d e l w h i c hi sb a s e do nt h ep l u g - i na r c h i t e c t u r e b yt h ei n t e g r a t i o no fav a r i e t yo fp l u g i n t o o l s ,t h ef r a m e w o r kp r o v i d e su s e r sav i s u a lv i e wo fu n i t ym a n a g e m e n to ft h et o o l s ; a n dw ec a na c h i e v et h eg o a lo fc u s t o m i z a t i o no fs o f t w a r ep r o d u c t i o nl i n eb yt h e v i s u a l i z a t i o no ft h ep r o c e s sc o n f i g u r a t i o n t h ec o n t e n to ft h i sp a p e rc a nb eg e n e r a l i z e d a sf o l l o w s 1 t h er e l a t e dt e c h n i c a ls t a n d a r d so fs o f t w a r ep r o d u c t i o nl i n ea r es t u d i e d ,a n dt h e a b s t r a c tc o m p o s i t i o nm o d e lo fs o f t w a r ep r o d u c t i o nl i n ew h i c hi n c l u d e si n t e g r a t e d f r a m e w o r k ,t o o l sa n dm o d e lr e l a t i o n si sg i v e n ;t h et o o li n t e g r a t i o n ,d a t ai n t e g r a t i o na n d p r o c e s sc o n f i g u r a t i o nm o d e li nt h ei n t e g r a t e df r a m e w o r ka r ep r o p o s e da c c o r d i n gt ot h e n e e da n a l y s i so ft h ei n t e g r a t e df r a m e w o r k 2 i nt h i sp a p e r ,t h et y p i c a le c l i p s ep l u g i na r c h i t e c t u r ei ss t u d i e d ,a n dat e c h n i c a l 第i i i 页 国防科技大学研究生院学位论文 m o d e lo fs o f t w a r ep r o d u c t i o nl i n ei n t e g r a t e df r a m e w o r ki sd e s i g n e d t h em o d e lc a n a c h i e v et h e g o a l t h a tas o f t w a r e p r o d u c t i o n l i n ec a nb ec r e a t e d b y t h e i n t e g r a t e d - f r a m e w o r kw h i c hi n t e g r a t e ss o f t w a r et o o l s ,s o f t w a r ec o m p o n e n t s ,s o f t w a r e s e r v i c e s ,a n dc o l l a b o r a t i o nm e c h a n i s m 3 ap l u g i no fi n t e g r a t e d 行a m e w o r ka sa nr e a l i z a t i o no ft h et e c h n i c a lm o d e li s d e v e l o p e d t h r o u g he f f e c t i v ed a t ai n t e r a c t i v ea n dv i s u a l i z a t i o np r o c e s sc o n f i g u r a t i o n ,a s o f t w a r ep r o d u c t i o nl i n ec a nb ec r e a t e db yt h i sp l u g i nw h i c hi n t e g r a t e sr e l a t e dp l u g i n t o o l si nl i n ew i t ht h ei n t e g r a t e dn o r m s o nt h eb a s i so ft h ea b o v ew o r k ,am o n i t o r i n gs o f t w a r ep r o d u c tl i n ei sd e v e l o p e d b a s e do nt h i sm o d e lw i t ht h er e l a t e dm o n i t o r i n gt o o l st ov e r i f yt h ee f f e c t i v e n e s so ft h e p l u g i n t h er e s u l t ss h o wt h a tt h ei n t e g r a t e dp l u g - i nf r a m e w o r ka n dr e l a t e dt e c h n i c a l s p e c i f i c a t i o n sc o u l dh e l ps o f t w a r ed e v e l o p e r st od e s i g ns o f t w a r ep r o d u c t i o nt o o l sa n d c u s t o m i z et h ep r o d u c t i o np r o c e s s ,a n dg i v ea ne f f e c t i v em e a n so ft o o l ss c h e d u l i n gi n a c c o r d a n c ew i t ht h ep r o d u c t i o np r o c e s s t h i sp r e l i m i n a r yv e r i f i e dt h ef e a s i b i l i t ya n d e f f e c t i v e n e s so ft h i sp a p e r sw o r k k e yw o r d s :s o f t w a r er e u s e ,s o f t w a r ep r o d u c t i o nl i n e ,e c l i p s e ,i n t e g r a t e df r a m e w o r k , p l u g i na r c h i t e c t u r e 第i v 页 国防科技大学研究生院学位论文 表2 1 表2 2 表2 3 表2 4 表2 5 表2 6 表2 7 表2 8 表2 9 表2 1 0 表2 1 1 表2 1 2 表2 1 3 表4 1 表4 2 表5 1 表5 2 表5 3 表5 4 表5 5 表5 6 表5 7 表5 8 表5 9 表目录 e x p o r t p a c k a g e 语法11 e x p o r t p a c k a g e 语法示例代码1 2 i m p o r t p a c k a g e 语法1 2 i m p o r t p a c k a g e 语法示例代码1 2 扩展点语法1 3 扩展点示例代码1 4 插件安装方式分析比较1 4 软件生产线流程配置规范示例18 引入x s t r e a m 操作类包18 创建基础解析类x s t r e a m p a r s e u t i l 19 封装操作x m l 的接口函数2 0 对流程配置规范的操作示例2 0 创建节点工具代码示意图2 6 工具注册方式比较4 2 配置文件内容4 9 搜索代码主要实现5 7 t o o l c h o o s e a c t i o n 主要接口函数5 8 工具生命周期管理主要接口6 0 工具启动函数实现代码6 1 工具停止函数实现代码6 2 d a t a i n t e g r a t i o n 主要接口函数6 4 g e t n e w o b j e c t o 方法6 5 c r e a t e f i g u r e o 方法6 6 g e t p a r t f o r e l e m e n t 0 方法6 6 第1 v 页 国防科技大学研究生院学位论文 图1 1 图2 1 图2 2 图2 3 图2 4 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图3 1 0 图3 1 1 图3 1 2 图3 1 3 图3 1 4 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图4 1 l 图4 1 2 图4 1 3 图目录 e c l i p s e 插件体系结构图7 扩展机制示意图1 3 g e f 应用组成部分示意图2 2 e d i t p a r t 对象示意图2 3 p r a c t i c ee d i t o r 的使用界面示意图2 5 软件生产线组成要素图2 8 集成框架与生产工具的交互图3 0 软件生产示意图3 0 软件生产线整体运行模型图3 1 集成框架用例图3 2 工具发现模型图3 3 工具加载模型图3 4 工具管理模型图3 4 工具表示模型图3 5 数据集成模型图3 6 流程配置示意图3 7 资源库工具模型和流程配置工具模型对比图3 7 生产线流程配置文件示例3 8 生产线流程配置模型图3 8 集成框架体系结构图3 9 内核功能示意图4 0 集成框架层结构图4 l 监控生产线流程图4 2 监控生产线生产流程示意图4 3 分布式协作开发场景图4 4 工具的参考模型图4 6 工具集成技术模型图4 7 工具组织结构图4 8 生产线工具配置文件示例5 0 数据集成参考模型:5 1 流程配置模块技术模型图5 2 流程配置文件编辑器视图5 2 第v 页 国防科技大学研究生院学位论文 图4 1 4 图5 1 图5 2 图5 3 图5 4 图5 5 图5 6 图5 7 图5 8 图5 9 图5 1 0 图5 1 1 图5 1 2 图5 1 3 图5 1 4 图5 1 5 图5 1 6 图5 1 7 图5 1 8 图5 1 9 流程配置u j 视化编辑视图5 3 集成框架插件示意图5 5 f i n d t o o l a c t i o n 类图5 6 f i n d t o o l a c t i o n 类图5 8 r e p o s i t o r y v i e w 类图5 9 工具生命周期管理类图6 0 p a r a m e t e r 类图6 3 d a t a i n t e g r a t i o n 类图6 3 流程配置模块源码包图6 5 生产线功能菜单示意图6 7 工具装载示意图6 8 工具信息示意图6 8 工具资源库示意图6 9 流程配置视图_ 6 9 监控生产线示意图7 0 集成框架工具加载示意图7 0 集成框架资源库工具组织示意图7 1 集成框架流程定制示意图7 1 生产线启动示意图7 2 软件生产流程视图7 2 第v i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:基士堑佳签丕坌趁鲍筮往生芒垡篡盛捶苤遮进曼塞堡 学位论文作者签名:_ 乒坠 日期:城年。月 产日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 基主堑佳签签箜煎鲍筮佳生庄缝篡盛挺苤遮盐生塞理 学位论文作者签名:乏丝日期:一l 触多年朗上日 作者指导教师签名:差主茎盗垒 日期:分w 蛑t 嘲v 侣 国防科技大学研究生院学位论文 第一章绪论弟一早三百t 匕 随着现代社会信息技术和软件业的不断发展,软件系统的规模和复杂度不断 提高,如何提高软件开发效率和产品质量,并保证软件开发的成功,一直是困扰 着软件开发领域的难题。人们希望软件开发能够借鉴其它工程学科的成功做法, 走“软件工程化”的道路。为此,必须改变手工作坊式的开发方法,采取工程化 的开发方法和工业化的生产技术【1 l 。于是,根据工业界成熟的产品线思想,人们提 出了软件产品线。软件产品线【2 】可以被看作根据一个特定细分市场而区分的系统家 族。软件产品线的提出是软件开发走向产业化的基础,也是软件重用的进一步发 展。为了对这种新型的软件开发方法提供支持,最关键的是建立配套的由多个辅 助工具所组成的软件开发环境。本文的工作正是围绕这一具有深刻技术背景和广 泛应用前景的热点研究问题展开。 1 1 研究背景 随着软件结构的日益复杂,为简化软件开发、细化分工,软件开发过程被划 分为多个阶段,包括需求分析,设计建模,代码编写,部署监控等。相应地,出 现了针对各个阶段不同粒度的开发工具,如u m l 建模工具,调试工具等。由于众 多纷繁的开发工具给用户在选择和集成上都带来了许多问题,软件开发环境也就 应运而生。 1 1 1 软件开发环境的发展 最早的软件开发环境是基于特定开发环境的专用开发工具,开发工具在不同 硬件间是不可移植的。随着命令行的出现,基于命令行的开发环境运行在操作系 统上,用于串行的软件开发。与专用开发工具相比,命令行开发环境对开发环境 与执行环境进行了某种程度的区分,相同操作系统上开发的软件是可移植的。接 着随着中间件技术的蓬勃发展,开发流程也从以前的面向过程发展到面向对象, 再到分布对象,开发环境出现了一种集代码编写,调试运行等工具于一体的集成 开发环境,如v i s u a lc + + 等。由于集成了不同的功能,软件的开发过程中的不同的 利益相关方均可以使用这些功能来协调开发,因此集成开发环境可用于串行或并 行的软件开发过程。 随着软件的体系结构模式发生变化,建模语言不断成熟,迫切需要对软件开 发过程中空间、时间的分布开发特性,以及对非软件因素依赖的管理支持。于是, 软件开发环境再次发展到可扩展的新阶段,即扩展开发环境。扩展开发环境聚焦 第1 页 国防科技大学研究生院学位论文 于为分布叫:境卜软件岁l :发提供集成j r 发环境。与集成丌发环境相比,扩展丌发环 境扩展了其使用的范畴,包括系统分析人员、架构师、开发人员、测试人员均可 基于统一整合的开发环境实现协作开发。开发环境由一系列互相依赖的工具组成。 扩展开发环境不仅支持时间上的分布开发,也支持空间上的分布开发,并且开始 考虑对非软件依赖因素的管理。 在现阶段,领域相关的编程语言出现,对关注点分离的需求使得相应的软件 开发环境可以在更高层次上开发系统。如e c l i p s e 3 】平台,这种开发环境通过提供 一系列标准,按照这种标准编写的各种开发工具都可以集成到这个环境中。软件 开发不再仅仅是单纯的编码,它是团队开发者相互合作来设计解决方案,构建高 质量代码的协同过程,因此以协同开发思想为基础的协同开发环境成为目前的发 展趋势。协同开发环境通过整合协同工具,实现无缝的、完整的软件开发。 纵观软件开发环境的发展,可以把它们总结为五个发展阶段【4 】: 1 9 4 5 1 9 6 0 时期,直接运行在裸机上的专用开发工具 1 9 6 0 1 9 8 0 时期,基于命令行的开发环境( c o m m a n dl i n ee n v i r o n m e n t s , c l e ) 1 9 8 0 2 0 0 0 时期,集成开发环境( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t s i d e ) 2 0 0 0 2 0 0 4 时期,扩展开发环境( e x t e n d e dd e v e l o p m e n te n v i r o n m e n t s x d e ) 2 0 0 5 年开始兴起的协同开发环境( c o l l a b o r a t i v ed e v e l o p m e n te n v i r o n m e m s , c d e ) 1 1 2 软件生产线面临的集成问题 随着开发环境和软件工具的不断发展完善,软件重用的力度不断加大,人们 提出了使用产品线的模式来生产软件,并研究应用这种方法学,在多个项目中取 得了成功。软件产品线是一个十分适合专业的软件开发组织的软件开发方法,能 有效的提高软件生产率和质量、缩短开发时问、降低总开发成本;同时,它也是 一个新兴的、多学科交叉的研究领域,研究内容和范围相当广泛。为了进行软件 产品线实践,人们引入了软件生产线的概念,即按照一定的软件生产方法,将若 干软件生产工具和构件有序组织起来的软件开发环境,生产线能够较为完整地提 供成套的软件开发支撑。为实现这一目标,人们开发出众多软件工具,涵盖软件 生产过程、管理协同过程和质量过程等软件开发全生命周期。 目前,以e c l i p s e 为代表的插件体系结构开发环境的迅速发展和企业以及个人 对其的广泛接受,其插件机制和丰富的界面体验为软件开发工具领域注入了新的 活力。2 0 0 7 年举办的第十一届国际软件产品线会议的o s s p l 0 7 ( o p e ns o u r c e s o f t w a r ea n dp r o d u c tl i n e s2 0 0 7 ) 议题中,g a r y 等认为当前开源项目e c l i p s e 作为一 第2 页 国防科技大学研究生院学位论文 个软件生态系统,很好的实践了卡内基梅隆大学软件工程研究所( s o f t w a r e e n g i n e e r i n gi n s t i t u t eo fc a r n e g i em e l l o nu n i v e r s i t y ,c m u s e i ) 1 5 1 的软件产品线实践 框架,甚至比很多的商业产品线更加完善;且其插件体系结构作为一个优秀的集 成框架为软件产品线中的工具支持提供了很好的指导意义【6 j 。c a r l o s 等在其报告【7 1 中指出目前开源软件为搭建软件产品线中的工具支持提供了一个绝佳的契机,并 基于e c l i p s e 设计开发了适用于开发普适系统的软件产品线支持工具p e r v m l g e n e r a t i v et o o l ( p e r v g t ) 1 8 1 。 现在,人们已经开发出了众多基于e c l i p s e 插件形式的工具用于软件产品线实 践。然而,这些工具彼此独立,缺乏交互,如何组织这些不同的软件工具在软件 生产过程中进行集成并按照特定的生产流程实现软件开发成为构建一条软件生产 线所面临的重要问题。 本文的研究基于上述背景和国家8 6 3 计划重点课题“可信的国家软件资源共 享与协同生产环境”中关于软件生产线集成框架相关研究内容。软件生产线集成 框架能够集成软件工具、软件构件、软件服务,以及相应的协同机制,从而形成 软件生产线,最终实现软件制品的加工处理。因此,设计实现一个支持对工具和 数据的集成,并可组织定制生产流程的软件生产线集成框架具有重要的现实意义。 1 2 1 软件产品线研究现状 1 2 研究现状 产品线的起源可以追溯到1 9 7 6 年p a r a n s 9 】对程序族的研究。对软件产品线的 实践早在2 0 世纪8 0 年代中期就出现。最著名的例子是瑞士c e l s i u s t e c h 公司的舰 艇防御系统的开发,该公司从1 9 8 6 年开始使用软件产品线开发方法,使得整个系 统中软件和硬件在总成本中所占比例之比从使用软件生产线方法之前的6 5 :3 5 下 降到使用后2 0 :8 0 ,系统开发时间从近9 年下降到不到3 年【2 】o 目前,关于软件产 品线的定义尚没有统一的标准,但较学术界公认的当属c m u s e i 给出的如下定义 1 2 1 : 定义1 软件产品线 软件产品线是多个软件密集系统组成的集合,这些系统共享一个公共的、可 管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求,这些系统 遵循一个预描述的方式,在公共的核心资产基础上开发。 为了对软件产品线的开发进行实践,c m u s e i 相应提出了开发软件产品线的 方法即软件产品线实践( s o f t w a r ep r o d u c tl i n ep r a c t i c e ) 1 0 】。关于其确切定义也由 c m u s e i 给出: 第3 页 国防科技大学研究生院学位论文 定义2 软件产品线实践 软件产品线实践是一种系统的方法,通过按照一定的生产方式,使用核心资 产进行集成、实例化或者产生多种产品来构成软件产品线。软件产品线实践包括 了战略级、粗粒度的重用。 虽然软件工业界己经在大量使用软件产品线开发方法,但是正式的对软件产 品线的理论研究要到2 0 世纪9 0 年代中期才出现,并且早期的研究主要以实例分 析为主。到了9 0 年代后期,软件产品线的研究己经成为软件工程领域最热门的研 究领域。得益于丰富的实践和软件工程、软件体系结构、软件重用技术等坚实的 理论基础,对软件产品线的研究发展十分迅速,目前软件产品线的发展己经趋向 成熟。很多大学已经锁定了软件产品线作为一个研究领域,并有大学己开设软件 产品线相关的课程。国外从事软件产品线领域研究最活跃的学术团体是c m u s e i 。 s e i 主要研究方向为产品线实践,是以其对软件工程实践的研究为基础推动和促进 向软件产品线方法的转化。d o nb a t o r y 领导的德克萨斯大学产品线体系结构研究 组p l a r g ( p r o d u c t l i n ea r c h i t e c t u r er e s e a r c hg r o u p ) 1 1 j 主要研究方向为产品线体系 结构、即插即用的软件构件、面向对象设计模式的自动化应用、软件生成器和领 域建模等。f r a u n h o f e ri e s e ( i n s t i t u t ef o re x p e r i m e n t a ls o f t w a r ee n g i n e e r i n g ) 1 1 2 】隶属于 德国凯撒斯劳腾大学,它由d i e t e rr o m b a c h 教授等领导,该研究院致力于推动创 新的软件开发技术、方法和工具向工业实践的转化,并向公司企业提供开发产品 线和提高其竞争力的帮助。一些的国际著名学术会议也设立了相应的产品线专题 讨论会,如o o p s l a ( c o n f e r e n c eo no b j e c t o r i e n t e dp r o g r a m m i n g ,s y s t e m s ,l a n g u a g e s a n da p p l i c a t i o n s ) ,e c o o p ( e u r o p e a nc o n f e r e n c eo no b j e c t - o r i e n t e dp r o g r a m m i n g ) , i c s e ( i n t e m a t i o n a lc o n f e r e n c eo ns o f t w a r ee n g i n e e r i n g ) 等。与软件体系结构的发展 类似,软件产品线的发展也很大的得益于军方的支持。如美国国防部的两个典型 的项目【2 】:关于基于特定领域软件体系结构的软件开发方法的研究项目 - - d s s a ( d o m a i ns p e c i f i cs o f t w a r ea r c h i t e c t u r e ) 和基于重用的软件开发方法的研究 项- - s t a r s ( s o f t w a r et e c h n o l o g yf o ra d a p t a b l e ,r e l i a b l es y s t e m s ) 。这两个项目在 软件体系结构和软件重用两个方面极大地推动了软件产品线的研究和发展。 1 2 2 软件生产线研究现状 为了进行软件产品线实践,国内早在青鸟工程“七五”期间,提出了软件生 产线( s o 胁a r ep r o d u c t i o nl i n e ) 的概念和思想【l 】,其中将软件的生产过程分成3 类不 同的生产车间,即应用构架生产车间、构件生产车间和基于构件、构架复用的应 用集成组装车间,从而形成软件产业内部的合理分工,实现软件的工业化生产。 软件开发人员被划分成三类:构件生产者、构件库管理者和构件复用者。这三种 第4 页 国防科技大学研究生院学位论文 角色所需完成的任务是不f r d 的,构件生产者负责构件的生产、描述;构件库管理 者负责构件分类以及构件库的管理工作;而构件复用者负责进行基于构件的软件 开发,包括构件查询、构件理解、适应性修改、构件组装以及系统演化。为防止 与软件产品线概念上的混淆,在国家8 6 3 计划重点课题“可信的国家软件资源共 享与协同生产环境”中给出了软件生产线的确切定义。 定义3 软件生产线 软件生产线是按照一定的软件生产方法,将若干软件生产工具和构件有序组 织起来的软件开发环境,生产线能够较为完整地提供成套的软件开发支撑。 通过软件生产线集成框架能够集成软件工具、软件构件、软件服务,以及相 应的协同机制,从而形成一条软件生产线,实现软件制品的开发或加工处理。而 根据不同软件生产模式和集成策略,可以形成不同的软件生产线,例如基于构件 的软件生产线、面向服务的软件生产线、支持异构集成的软件生产线和支持监控 的软件生产线等。软件生产线实现软件制品的加工处理。其共性基础是:在软件 可信保障机制、开发协同平台,以及共享资源库的共同支撑下,灵活组合软件需 求分析、建模、开发、组装集成和部署等各阶段生产工具,形成条软件制品转 换流程,通过对输入制品的有序加工处理,形成所需要的加工后软件制品。我们 认为与软件产品线相比,软件生产线实质就是支持软件产品线实践的开发环境, 其内涵为按照一定的软件生产方法,利用核心资产和相关工具支持进行特定领域 内软件家族制品的生产。 1 2 3 插件体系结构研究现状 为了使软件具有更好的可重用性和可扩展性,人们提出了插件的思想并加以解 释【1 4 】。目前,插件体系作为一种流行的体系结构,可以提供多种软件开发工具的 整合机制,除了底层的核心以外,其他所有的工具都是插件。插件是最小的功能 单元,通常一个小的工具可以是一个单独的插件,而复杂的工具可能是几个插件 的组合。除了底层很小的一个称为平台运行时的内核之外,平台

温馨提示

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

评论

0/150

提交评论