




已阅读5页,还剩73页未读, 继续免费阅读
(计算机科学与技术专业论文)协同式软件生产线的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院硕十学位论文 摘要 随着软件规模的不断扩大,软件复杂度与日剧增,如何提高软件开发效率和 软件质量,降低软件开发成本,成为了软件界普遍关注的重点。为了解决这个问 题,人们采用软件复用技术,提出了以生产线方式实现工业化软件生产的思想, 软件产品线和北大青鸟软件生产线基于该思想取得了成功的应用。 随着i n t e m e t 的飞速发展,软件开发开始朝着分布式、协同化的方向发展,协 同式软件开发逐渐成为了研究热点,协同式软件开发环境也逐渐兴起。为了在 i n t e m e t 环境下实现工业化软件生产,我们希望把软件产品线和软件生产线方式应 用于协同式软件开发,然而两者都没有明确指出如何在i n t e m e t 环境下实现分布式、 协同化的软件生产,不能有效满足i n t e r n e t 环境开放、分布、协同的要求。 为了解决上述问题,本文对计算机辅助协同工作、协同式软件开发、协同式 软件开发环境、软件产品线以及软件生产线进行了深入研究,并在此基础上提出 了协同式软件生产线的思想。协同式软件生产线通过复用i n t e m e t 上可复用的软件 工具来组建不同功能的软件生产线,并提供对工具管理、工具集成、生产线协同 和生产线管理的支持,具备了分布式、协同化软件生产的能力。本文围绕协同式 软件生产线,开展了以下研究和实践工作。 1 提出了协同式软件生产线的抽象模型,对生产线工具、生产线服务、生产 线集成框架和生产线流程等关键概念进行了抽象定义。根据生产线抽象模型,详 细介绍了协同式软件生产线的工作原理,包括生产线的创建流程和运行流程。 2 在协同式软件生产线抽象模型的基础上,对协同式软件生产线进行了具体 的设计。给出了生产线工具及工具库、生产线服务和生产线集成框架的技术模型, 同时,为生产线流程定制等生产线管理设计了可视化的管理平台。 3 采用e c l i p s e 插件技术实现了生产线集成框架和生产线管理平台,特别在 生产线管理平台中以e m f 和g e f 技术实现了可视化的生产线流程定制;生产线 服务以o s g i 服务的方式实现,并在r i e n a 框架的支持下实现了服务的远程透明调 用;采用x m l 技术实现了对生产线相关配置文件和数据信息的保存和处理。 在上述工作的基础上,本文开发了协同式软件生产线原型系统,并结合监控 工具搭建了一条协同式的监控软件生产线,对协同式软件生产线进行了验证。结 果表明,协同式软件生产线能够将生产线工具集成为软件生产线,并能够为生产 线工具的分布式、协同化工作提供有效的支持,初步验证了本文工作的可行性和 有效性。 主题词:软件复用,工业化软件生产,协同式软件开发,协同式软件生产线 第i 页 国防科学技术大学研究生院硕十学位论文 a b s t r a c t w i t ht h ec o n t i n u o u s l yi n c r e a s i n go fs o f h v a r es i z ea n ds o f t w a r ec o m p l e x i t y ,h o wt o i 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 ds o f t w a r eq u a l i t y ,a n dt or e d u c es o f t w a r e d e v e l o p m e n tc o s t s ,h a sb e c o m et h ef o c u so ft h es o f t w a r ei n d u s t r y t os o l v et h i s p r o b l e m ,p e o p l et a k et h es o f t w a r er e u s et e c h n o l o g yb a s e do nw h i c h ,p r o p o s e dt o a c h i e v ei n d u s t r i a l i z a t i o no fs o f t w a r ep r o d u c t i o ni naw a yo fp r o d u c t i o nl i n e ,s o f t w a r e p r o d u c tl i n e sa n dj a d eb i r ds o f t w a r ep r o d u c t i o nl i n ea r et w os u c c e s s f u l i m p l e m e n t a t i o n so f t h i sc o n c e p t w i t l lt h er a p i dd e v e l o p m e n to fi n t e r a c t ,s o f t w a r ed e v e l o p m e n tb e g a nt om o v ei na c o o r d i n a t i o na n dd i s t r i b u t i o nw a y t h er e s e a r c ho fc o l l a b o r a t i v es o f t w a r ed e v e l o p m e n t h a s g r a d u a l l yb e c o m ear e s e a r c hh o t s p o t ,c o l l a b o r a t i v e s o f t w a r ed e v e l o p m e n t e n v i r o n m e n t sa r ea l s oo nt h er i s e i no r d e rt oa c h i e v 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 p r o d u c t i o no ni n t e r n e t ,w eh o p et ot a k et h es o f t w a r ep r o d u c tl i n e sa n ds o f t w a r e p r o d u c t i o nl i n e si n t oc o l l a b o r a t i v es o f t w a r ed e v e l o p m e n t ,h o w e v e r , t h e r ea r es e v e r a l s h o r t c o m i n g sf o rt h e mt ow o r ko ni n t e r n e t ,a st h e yc a n n o tm e e tt h eo p e n , d i s t r i b u t e d , a n dc o l l a b o r a t i v er e q u i r e m e n t so fi n t e r n e t i no r d e rt os o l v et h ea b o v ep r o b l e m s ,t h i s p a p e rm a d ei n - d e p t hs t u d i e so f c o m p u t e r - s u p p o r t e dc o o p e r a t i v ew o r k , c o l l a b o r a t i v es o f t w a r ed e v e l o p m e n t , c o l l a b o r a t i v es 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 t ,s o f t w a r ep r o d u c tl i n e sa n d s o f t w a r ep r o d u c t i o nl i n e s ,b a s e do nt h e s es t u d i e s ,w ep r o p o s e dac o n c e p to f c o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n e c o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n ec a n c o n s t r u c ts o f t w a r ep r o d u c t i o nl i n e sw i t hv a r i o u sc a p a b i l i t i e sb yr e u s i n gt h er e u s a b l e s o f t w a r et o o l so ni n t e r n e t ,a n di t p r o v i d e ss u p p o r t sf o rt o o l sm a n a g e m e n t , t o o l s i n t e g r a t i o n ,p r o d u c t i o nl i n e c o l l a b o r a t i o na n dp r o d u c t i o nl i n em a n a g e m e n t ,t h u st o a c h i e v ed i s t r i b u t e da n dc o l l a b o r a t i v es o f t w a r ep r o d u c t i o n f o l l o w i n g sa r et h em a i n s t u d i e sa n dw o r k so ft h i sp a p e rw h i c hf o c u so nc o l l a b o r a t i v es o t t w a r ep r o d u c t i o nl i n e 1 p r o p o s e da na b s t r a c tm o d e lo fc o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n e ,m a d e a b s t r a c t d e f i n i t i o n so fp r o d u c t i o nl i n et o o l s ,p r o d u c tl i n es e r v i c e s ,p r o d u c t i o nl i n e i n t e g r a t i o nf r a m e w o r ka n dp r o d u c t i o nl i n ep r o c e s s e s a c c o r d i n gt ot h ea b s t r a c tm o d e l , d e t a i l e dw o r kp r i n c i p l e so ft h ec o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n ew e r eg i v e n , i n c l u d i n g t h ec r e a t i n gp r o c e s s e sa n dt h er u n n i n g p r o c e s s e s 2 b a s e do nt h ea b s t r a c tm o d e lo ft h ec o l l a b o r a t i v es o f t w a r ep r o d u c tl i n e ,w e m a d ei t s s p e c i f i cd e s i g n s ,i n c l u d i n gt h et e c h n i c a lm o d e l so fp r o d u c t i o nl i n et o o l s ,t o o l s d e p o s i t o r y ,p r o d u c t i o nl i n es e r v i c e sa n dp 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 k , a l s ow e d e s i g n e d ap r o d u c t i o nl i n em a n a g e m e n t p l a t f o r m f o rs o f t w a r e p r o d u c t i o n l i n e m a n a g e m e n t s ,s u c ha sc o n f i g u r i n gs o f t w a r ep r o d u c t i o np r o c e s s e s 3 u s ee c l i p s ep l u g i nt e c h n o l o g yt oi m p l e m e n tt h es o f t w a r ep r o d u c t i o nl i n e i n t e g r a t i o nf r a m e w o r ka n dt h ep r o d u c t i o nl i n em a n a g e m e n tp l a t f o r i l l ,p a r t i c u l a r l yi nt h e 第i i 页 国防科学技术大学研究生院硕士学位论文 p r o d u c t i o nl i n em a n a g e m e n tp l a t f o r m ,w eb s ee m fa n dg e ft e c h n o l o g i e st oa c h i e v e v i s u a l i z e dc o n f i g u r i n go ft h ep r o d u c t i o nl i n ep r o c e s s e s ;p r o d u c t i o nl i n es e r v i c e sw e r e i m p l e m e n t e da so s g is e r v i c e s ,a n dt h e yc a nb ep u b l i s h e da n dc a l l e dr e m o t e l yw i t ht h e s u p p o r t so fr i e n a ;t h ep r o d u c t i o nl i n e r e l a t e dc o n f i g u r a t i o nf i l e sa n dd a t af i l e sw e r e i m p l e m e n t e du s i n gt h ex m lt e c h n o l o g y o nt h eb a s i so ft h ea b o v ew o r k s ,t h i sp a p e rd e v e l o p e dap r o t o t y p eo fc o l l a b o r a t i v e s o f t w a r ep r o d u c t i o nl i n e ,a n dac o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n ef o rm o n i t o t i n g w a sc o n s t r u c t e dw i t ht h em o n i t o r i n gt o o l s ,i tw a su s e dt ov e r i f yt h ec o l l a b o r a t i v e s o f t w a r ep r o d u c t i o nl i n e t h er e s u l t ss h o wt h a tt h ec o l l a b o r a t i v es o f t w a r ep r o d u c t i o n l i n ec a ni n t e g r a t ep r o d u c t i o ni i n et o o l st oc o n s t r u c ts o f t w a r ep r o d u c t i o nl i n e s a n dc a n p r o v i d ep r o d u c t i o nl i n et o o l sw i t he f f e c t i v es u p p o r t sf o rd i s t r i b u t e da n dc o l l a b o r a t i v e w o r k s t h i sp r e l i m i n a r i l yv e r i f i e dt h ef e a s i b i l i t ya n de 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 y w o r d s :s o f t w a r er e u s e ,i n d u s t r i a l i z a t i o no fs o f t w a r ep r o du c t i o n , c o l l a b o r a t i v es o f t w a r ep r o d u c t i o n ,c o l l a b o r a t i v es o f t w a r ep r o d u c t i o nl i n e 第i i i 页 国防科学技术大学研究生院硕十学位论文 表目录 表1 1 微软部分w i n d o w s 操作系统的代码量1 表2 1e c l i p s e 插件扩展点示例1 5 表2 2e c l i p s e 插件依赖关系示例15 表2 3o s g i 服务注册与注销示例1 6 表2 40 s g i 服务调用示例1 6 表2 5r i e n a 框架下远程o s g i 服务的注册1 7 表2 6r i e n a 框架下远程o s g i 服务代理的设置1 8 表2 7 以x m i 文档描述的e m f 模型1 9 表2 8 以j a v a 标记语言描述的e m f 模型2 0 表2 9x m ls c h e m a 描述的e m f 模型2 0 表2 1o 一个简单的x m l 文档示例一2 3 表2 1 1 使用d o m 解析x m l 文档示例2 4 表5 1 生产线工具配置文件4 9 表5 2 工具库索引文件5 0 表5 3 生产线项目配置文件5 0 表5 4 生产线实例配置文件5 1 表5 5 工具库管理服务接口类5 2 表5 6 搜索工具库索引文件关键代码5 2 表5 7 生产线管理服务接口类5 3 表5 8 生成生产线项目配置文件关键代码5 3 表5 9 协同管理服务接口类5 4 表5 1 0 远程可访问生产线服务的发布5 4 第1 v 页 国防科学技术大学研究生院硕十学位论文 图目录 图1 1 微软部分w i n d o w s 操作系统代码量增长图2 图1 2 软件产品线的三个基本活动一5 图1 3 青鸟软件生产线概念模式图“6 图1 4 从开发角度看c s c w 系统体系结构【3 0 】8 图2 1e c l i p s e 架构图1 4 图2 2 类图描述的e m f 模型1 9 图2 3d r a w 2 d 架构【5 5 l 2 1 图2 4g e f 架构1 5 6 】一2 1 图2 5 使用基于g e f 的s w td e s i g n e r 进行可视化开发2 2 图3 1 协同式软件生产线体系结构2 5 图3 2 工具协同示例2 6 图3 3 软件生产线示例2 7 图3 4 软件生产线划分示例2 7 图3 5 创建协同式软件生产线的详细流程2 9 图3 6 运行协同式软件生产线的详细流程3 l 图3 7 协同式软件生产线总体流程3 2 图4 1 生产线工具设计图3 4 图4 2s p l t o o l 类结构。3 5 图4 3 生产线工具库结构设计3 6 图4 4 集成框架结构图3 7 图4 5 远程o s g i 服务代理的a c t i v a t o r 类图3 8 图4 6 协同模块类图3 9 图4 7 工具管理模块类图4 0 图4 8 数据管理模块类图4 0 图4 9 生产线集成框架视图及布局设计一4 1 图4 1 0 生产线服务结构。4 2 图4 1 lt o o l m a n a g e l m p l 类图一4 3 图4 1 2 生产线管理服务实现类4 4 图4 1 3 协同管理服务实现类一4 6 图4 1 4 生产线管理平台视图布局一4 7 图5 1 协同式生产线集成框架操作界面5 6 图5 2 在生产线管理平台上配置生产线流程一5 7 第v 页 国防科学技术犬学研究生院硕十学位论文 图5 3 搜索监控生产线所需生产线工具。5 8 图5 4 输入生产线项目相关信息一。5 9 图5 5 监控生产线的可视化流程配置一5 9 图5 6 集成框架下获取的生产线任务6 0 图5 7 通过集成框架为监控需求建模工具获取输入数据6 l 图5 8 监控需求建模工具工作透视图一一6 l 图5 9 监控信息展现工具展现的监控信息一6 2 第v i 页 独创性声明 本人声明所里交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目: 垃回盛筮仕垒庄缉鲶盟窥生塞垫 学位论文作粼:避 魄泓7 胱日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅:可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印,缩印或扫描等复制手段保存汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 迹回盛筮往垒芒缦鲍班窥皇塞塾 学位论文储张善避吼叫年胁月必日 作者指导教师签名:昼瞳 日期: u ? 年r z 月撕 国防科学技术大学研究生院硕士学位论文 第一章绪论 随着人们对软件功能需求的不断扩大,软件的规模与日俱增,软件复杂度也 越来越高,如何保证软件质量以及提高软件开发效率,成为了软件界普遍关注的 重点。软件工程思想的出现,使软件开发开始了从“艺术、“技巧 和“个体 行为”向“工程 和“群体协同工作转化的历程【i 】。人们逐渐认识到,要提高软 件开发效率,提高软件产品质量,必须改变传统手工作坊式的软件开发,转而采 用工程化的开发方法与工业化的生产技术【2 3 1 。借鉴工业界成熟的生产线技术,人 们提出了软件产品线和软件生产线。软件产品线和软件生产线以软件复用为基本 思想,并结合工业界成熟的生产线技术,实现了大规模、工业化的软件生产,不 仅极大提高了软件开发效率,降低了软件开发成本,对软件质量也提供了有效保 障。 近年来,i n t e m e t 迅速发展,并逐渐融入信息社会的方方面面,软件开发也开 始从集中式、本地化的模式向基于i n t e r a c t 的分布式、协同化的方向发展。为了实 现i n t e r a c t 环境下的工业化软件生产,需要对软件产品线和软件生产线进行分布式 扩展,并提供完善的协同机制,建立协同式软件生产线,从而支持分布式、协同 化的软件生产。同时,为i n t e r n e t 环境下协同式软件生产线建立配套的辅助工具和 开发环境,也是必不可少的。本文的工作正是围绕这一具有较高理论价值、丰富 技术含量和广泛应用前景的热点研究问题展开。 1 1 研究背景 , 1 1 1 工业化软件生产 随着人们对软件功能需求的不断扩大,软件的规模与日剧增,软件复杂度也 越来越高,例如表1 1 所示为微软部分w i n d o w s 操作系统的代码量【4 】。 表1 1 微软部分w i n d o w s 操作系统的代码量 年份操作系统 代码行数( 百万) 1 9 9 3w i n d o w sn t3 1 4 5 1 9 9 4w i n d o w sn t3 5 7 8 1 9 9 6w i n d o w sn t4 0 1 1 1 2 2 0 0 0w i n d o w sn t2 0 0 0 2 9 2 0 0 l w i n d o w sx p4 0 2 0 0 3 w i n d o w ss e r v e r2 0 0 35 0 对应于表1 1 ,图1 1 反映了其代码量的变化情况,可以看出,w i n d o w s 操作 系统的代码量每年以大约2 5 的速度增长,到2 0 0 3 年的w i n d o w ss e r v e r2 0 0 3 就 第1 页 国防科学技术大学研究生院硕士学位论文 已经达到了5 0 0 0 万行的代码,而最新的w i n d o w sv i s t a 和w i n d o w s7 则更多。此 外,2 0 0 5 年美国陆军助理部长办公室( 负责采办、后勤和技术,a s aa l t ) 要求 卡内基梅隆大学软件工程研究所( c m u l s e i ) 研究“在现行软件工程基础上,怎 样才能构建1 0 亿语句的未来系统 ,为此,c m u s e i 专门对超大规模软件系统做 了研究,在2 0 0 6 年6 月做了“超大规模系统:未来软件的挑战这一报告【5 】。 s o u 脱c o d el i n e s ( m i l l i o n ) 5 0 4 0 3 0 2 0 1 0 1 9 9 42 0 0 02 u 0 3y e a r 1 9 9 31 9 9 62 0 0 1 一 图1 1 微软部分w i n d o w s 操作系统代码量增长图 如此大规模软件系统的开发,对软件开发率、软件质量和软件成本的要求非 常高,传统手工作坊式的软件开发模式无法满足这些要求。软件工程告诉我们, 要提高软件开发效率,提高软件产品质量,必须改变传统手工作坊式的软件开发, 转而采用工程化的开发方法与工业化的生产技术【2 3 1 。 软件工程是1 9 6 8 年,计算机科学家们为了解决软件危机提出的,软件工程的 发展,使软件开发开始了从“艺术 、“技巧和“个体行为”向“工程 和“群 体协同工作 转化的历程【1 1 。实践证明,软件开发完全可以借鉴工业界成熟的“生 产线 思想,将工程化的开发方法和工业化的生产技术应用于软件开发能够有效 提高软件开发效率,降低软件开发成本。 实现工业化软件生产的重要思想是软件复用,基础是大量的可复用软件对象, 近年来,软件构件技术得到了迅猛发展,大大提高了软件复用的效率,有效推动 了工业化软件生产的发展。 将工业化的软件生产模式应用于实际的软件生产,国际上最早由卡内基梅隆 大学软件工程研究所提出了软件产品线( s o f t w a r ep r o d u c tl i n e ) ,国内由北大提 出了青鸟软件生产线。软件产品线和青鸟软件生产线都贯彻了工业化软件生产的 思想,以可复用软件为基础,以复用为手段,有效提高了软件开发效率和软件质 第2 页 国防科学技术大学研究生院硕七学何论文 量,降低了软件开发成本,并在众多软件生产企业中取得了成功应用。 然而,随着i n t e m e t 的迅速发展,软件开发也需要面向i n t e m e t ,软件产品线 和软件生产线都没有回答如何在i n t e r n e t 环境下实现工业化的软件生产,包括如何 管理和复用i n t e m e t 上大量的可复用软件,以及如何在分布式环境下对软件生产过 程进行有效的规划、管理和协同。针对这些问题,本文提出了协同式软件生产线 的思想,协同式软件生产线维护了一个可复用软件工具库,并为分布式的软件生 产过程提供有效的管理和协同支持。 1 1 1 协同式软件开发 对于大型软件项目的开发,需要经过需求获取、规格定义、设计、编码、测 试、维护等阶段,每个阶段都需要由专门的人员去完成,所以,大型软件项目的 开发本身就是一个需要大量协同的过程【6 】。为了降低软件开发成本,许多软件厂商 将软件产品外包给具有廉价劳动力的国家,于是,又产生了分布式开发团队之间 的协同问题。 解决分布式软件开发协同问题,最关键的就是要解决分布式开发团队之间的 通信与交流问题【7 - 9 1 。2 0 世纪末,c s c w ( c o m p u t e rs u p p o a e dc o o p e r m i v ew o r k , 计算机辅助协同工作) 逐渐兴起并成为了研究热点,c s c w 借助于计算机和网络 技术为人们的分布式工作提供协同支持。对于分布式环境下的软件开发,c s c w 具有一定的指导意义,并能提供相关的技术支持。 近年来,随着i n t e m e t 的迅速发展,软件开发资源得到了极大的丰富,各种面 向i n t e m e t 的应用软件也得到了充分的利用,这些都为分布式软件开发团队之间的 协同提供了有效的支持。总体上看,i n t e r n e t 环境下软件工具与软件生产环境呈现 出软件资源共享化、软件开发协同化的特点,基于i n t e m e t 的工具资源开放共享与 协同开发成为提高软件开发效率和质量、降低软件开发成本的重要途径和有效手 段。 实现基于i n t e r n e t 的协同式软件开发需要相关协同开发环境的支持,目前协同 开发环境通过整合即时通讯、论坛、资源管理、邮件等工具,为分布式软件开发 提供了一定的协同功能,取得了许多成功应用,例如s o u r c e f o r g e 等。 然而,目前的协同开发环境提供的功能主要在代码协同方面,包括配置管理、 冲突检测等,而忽略了软件开发流程中其它占重要角色的软件开发活动,例如需 求管理、项目管理、设计等f l0 1 。本文提出的协同式软件生产线在保证生产线协同 工作的同时,还能够有效支持生产线的配置和管理等需求。 1 2 研究现状 第3 页 国防科学技术大学研究生院硕士学位论文 1 2 1 工业化软件生产 1 2 1 1 软件复用和软件构件 工业化软件生产的一个重要思想是“软件复用 ,1 9 6 8 年n a t o 软件工程会 议上,m c i l r o y 在大量生产的软件构件中首次引入了“复用 的概念。软件复 用是指重复使用“为了复用目的而设计的软件的过程【1 1 1 。通过软件复用,人们 在开发新的软件系统的时候,可以充分利用已有的开发资源,包括各个阶段形成 的文档、代码等,避免重复劳动,大大缩短重新设计开发所需的时间,能够有效 提高软件开发效率,降低软件开发成本。同时,通过复用已有的高质量的开发成 果,避免了重新开发有可能引入的错误和缺陷,从而可以有效提高软件质量。软 件复用已被视为解决软件危机,提高软件生产率和软件质量的有效途径,成为了 软件界普遍关注的重点。 实现工业化软件生产的基础是建立一个资源丰富的可复用软件对象仓库。随 着软件工程的不断发展,软件复用的对象从子程序、代码段、类、模块等逐步过 渡到了基于构件【1 2 j 3 】( c o m p o n e n t ) 的软件复用。构件是指应用系统中可以明确辨 识的构成成分。而可复用构件( r e u s a b l ec o m p o n e n t ) 是指具有相对独立的功能和可 复用价值的构件【2 】。近几年来,构件技术得到迅猛发展,构件的概念也从原来的源 代码构件,延伸到了需求、系统架构、开发文档、测试等对开发活动有用的信息, 这些信息都可以作为可复用的软件构件。软件构件技术有效推动了工业化软件生 产的发展。 i n t e m e t 环境下,可复用软件构件的形态又有了新的特点。一方面,网构软件 1 4 - 1 5 1 的出现,使得以软件构件等技术支持的软件实体将以开放、自主的方式存在 于i n t e m e t 的各个节点,它即能够在开放互联的环境中与其它软件实体进行联通、 协作,还能够感知外部网络环境的变化,并根据这些变化对自身的功能、性能等 指标做出动态的调整。另一方面,一些特定的大粒度软件工具由于其较好的灵活 性,也开始作为可复用软件工具被用于软件生产。 1 2 1 2 软件产品线 采用工业化方法进行软件开发的思想在软件工程的早期阶段就已经提出,但 系统化的方法直到“软件产品线( s o f t w a r ep r o d u c tl i n e ) 提出才逐渐发展起来。 最早提出软件产品线思想的是卡内基梅隆大学的软件工程研究院( c m u s e i ) ,它 对软件产品线的定义【l6 j 如下: 软件产品线是多个软件密集系统组成的集合,这些系统共享一个公共的、可 管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求,这些系统 第4 页 周防科学技术大学研究生院硕士学位论文 遵循一个预描述的方式,在公共的核心资产基础上开发。 采用软件产品线思想进行软件生产有许多优势,归纳起来有以下几点【1 1 : 提高软件生产效率。 提高软件质量。 降低软件开发成本。 降低软件投放市场的时间。 短时间内投入新市场的能力。 为了对软件产品线的开发进行实践,c m u s e l 相应提出了开笈软件产品线的 方法,即软件产品线实践( s o f t w a r e p r o d u c t l i n e p r a c t i c e ) ,其定义如下: 软件产品线实践是一种系统的方法,通过按照一定的生产方式使用核心资 产进行集成、实例化或者产生多种产品来构成软件产品线。软件产品线实践包括 了战略级、粗粒度的重用。 如图12 所示,软件产品线实践由核心资产开茇、产品开发和管理三个基本活 动构成。 围i2 软件产品线的三个基奉活动 核心资产丌发。 核心资产开发的目的是为软件产品建立生产能力。核心资产( c o r ea s s e t s ) 是 软件产品线的基础,由可复用的软件制品和软件资源组成。核心资产包括软件体 系结构、可复用软件构件、领域模型、需求声明、文档、规范、性能模型、规划、 预算、测试计划、测试用例、工作计划和过程描述等,其中,软件体系结构是核 心资产的关键。 产品开发 软件产品开发依赖于核心资产、产品线范围( p r o d u c tl i n es c o p e ) 、生产计划 第5 页 国防科学技术人学研究生院硕士学位论文 ( p r o d u c t i o np l a n ) 和单个产品的产品描述( p l d u c td c s c 啷t i o n ) 四个方面。其中, 核心资产是产品开发的来源,产品线范匿指出在产品线中包古某个产品是否可行, 生产计划详细指明如何用核心资产来构建软件产品,产品描述则表述了软件产品 线中通用软件产品描述的的变化情况。 管理 管理在成功的产品线应用中起到了关键作用。管理包括技术管理和组织管理 两个方面。技术管理决定生产方法并将生产计划提供给项目经理;组织管理定义 的生产规约并最终决定生产策略。 软件产品线思想从_ 一开始就得到了人们的关注,尤其是9 0 年代后期,软件产 品线的研究己经成为软件工程领域最热门的研究领域,并且提出了多种构建软件 产品线的方法和应用案例,例如c o p a f l ”,f a s 一埘f o r m l 2 ”,k o r b a 和 q a d a ”i 。软件产品线在许多大型软件企业取得了成功应用。例如瑞典海军的软 件开发商c c l s i u s t c c h 使用了一种名为s h i ps y s t e m2 0 0 0 的软件产品线使得其生产 过程中的软硬件消耗比从6 5 :3 5 变为2 0 :6 0 ,大大降低了软件开发的费用和时间 【2 ”。还有诺基亚也使用软件产品线来开发其多种型号手机的操作系统,得到了丰 厚的回报。 1 2 1 3 青乌软件生产线 国内在工业化软件生产方面也有相关研究实践,最著名的是“青鸟工程”1 2 s 。 青鸟工程早在“七五”期间就提出了软件生产线的概念和思想删。其中将软件的 生产过程分为3 类不问的生产车间,即软件架构生产车问、软件构件生产车间和 应用集成组装车间。青鸟软件生产线的概念模式如图1 3 所示。 乡 雪 l 龋i 嚆 白 癣 婴 图l3 青呜软件生产线概念模式旧 第6 页 国防科学技术大学研究生院硕十学位论文 同3 类生产车间相对应,软件开发人员也分为构件生产者,构件库管理者和 构件复用者。构件开发者负责软件架构和软件构件的开发;构件库管理者负责对 软件构件进行分类组织管理;构件复用者负责进行基于构件的软件开发,包括构 件查询、构件理解、适应性修改、构件组装以及系统演化。 青鸟软件生产线的技术路线以现有的青鸟软件开发环境为基础,研究构件一 构架模式的软件生产技术,制定符合国情、国际兼容的青鸟构件标准规范;支持 专业化的构件生产,即有目的的构件开发和采用再工程技术从已有系统中获取构 件;采用领域工程技术,支持专业化的构架开发;强有力的构件库、构架库管理; 支持软件过程设计和控制;支持基于构件、构架复用的应用系统集成( 组装) 口1 。 青鸟软件生产线和软件产品线在本质上是一致的,它们的基本思想都是软件 复用,即以可复用的软件构件为基础,以复用为手段,实现提高软件生产效率和 质量,降低软件开发成本的目的。青鸟软件生产线和软件产品线都是以软件架构 为中心的软件生产,侧重软件架构下的软件产品,但也有一些不同之处: 青鸟软件生产线的可复用软件对象以软件架构和软件构件为主,管理组织 相对比较简单,而对软件产品线来说,其核心资产都是可复用的对象,并 且需要一整套管理机制来管理这些核心资产。 青鸟软件生产线的软件架构和软件构件由专门的构件生产者开发,而软件 产品线的核心资产是在软件产品的生产中逐渐积累起来的。软件产品线核 心资产的积累始终围绕着其产品家族范围内的软件产品,而青年软件生产 线的构件则可以有多种功能。 青鸟软件生产线的生产过程相对简单,即在应用集成车间对软件构件进行 “组装 。而软件产品线的生产过程是在复杂的技术管理和组织管理机制 下进行的。 1 2 2 协同式软件开发 1 2 2 1 计算机辅助协同工作c s c w 随着计算机和网络技术的发展,人们对计算机的需求不再停留在计算需求方 面,而是希望计算机能够帮助人们进行分布式的协同工作。1 9 8 4 年g r e i f 和c a s h m a n 等人共同探讨了如何发挥技术在协同工作中的作用,并提出了计算机辅助协同工 作的新思想f 2 7 】。1 9 8 6 年,第一届c s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生防溺水竞赛知识答题(带答案)
- 病历书写规范试题及答案
- 心理健康知识竞赛题库及答案
- 2025年高职农艺类考试题库及答案
- 专题02 光现象(第02期)-2016年中考物理试题分项版解析汇编(解析版)
- 六安企业活动策划方案制作
- 七夕活动策划方案主题
- 门店咨询方案模板范文图片
- 2025年汽车尾气净化三效催化剂项目申请报告范文
- 2025年家庭投影仪项目立项申请报告
- 2025年编外人员考试题库答案
- 江苏省城镇供水管道清洗工程估价表及工程量计算标准 2025
- 2025年秋人教版二年级上册数学教学计划含教学进度表
- 激光焊接技术在钛合金材料加工中的前沿应用
- 四年级学生健康体质监测方案
- 福建冠豸山简介
- 2.3地表形态与人类活动课件高中地理湘教版选择性必修一
- 国企综合管理岗招聘笔试题及答案13套
- 远离手机诱惑班会课件
- 动漫制作培训课程
- 2025-2030中国征信行业发展状况与前景趋势研究报告
评论
0/150
提交评论