




已阅读5页,还剩133页未读, 继续免费阅读
(计算机应用技术专业论文)基于特征的软件产品线开发关键技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学博士学位论文 摘要 软件产品线通过管理领域共性和可变性开发领域特定的可复用资产,以生产 和维护功能类似的软件产品家族,是实现软件大规模定制生产的有效途径。如何 在领域特征分析的基础上,实现产品线领域核心资产开发和软件产品的定制生 产,是软件产品线工程研究的关键性问题之一。为此,论文从形式化建模、领域 体系结构和构件设计、软件产品配簧建模及问题求解、资产管理等方面对基于特 征的产品线开发方法及其关键技术进行了研究。 论文第一章论述了软件产品线产生的背景,介绍了软件产品线相关理论基 础,并对软件产品线及基于产品线的软传产品开发特点进行了分析基于对软件 产品线相关研究项目和系统以及研究热点的介绍,提出了基于特征进行产品线及 其软件产品开发的主体思路 论文第二章在简要介绍特征模型基本概念的基础上,针对现有特征模型在非 功能性特征描述、可交性建模等方面存在的不足,提出特征地图概念,对特征模 型进行扩展,完善了特征配置依赖描述及约束表达,支持对产品线开发全生命周 期阶段的软件制品进行导航和定位,并引入本体描述语言建立元模型。在此基础 上,引入超图从不同语义层次对产品线进行建模,通过将不同语义层次的语义信 息抽象为本体概念及其关系并建立语义跳转机制,关联不同语义层次中的语义信 息,构成纵横交错的语义结构,建立统一的知识表达框架和形式化模型 论文第三章在分析产品线领域工程过程的基础上,针对领域体系结构设计问 题,论述了特征驱动的领域体系结构设计原则,并以产品线特征模型为输入,从 子系统、进程和模块构件等不同抽象层次对领域体系结构进行建模和设计,并通 过特征分析确定可复用对象。着重探讨了隐藏特征模型可变性信息的构件设计方 案在此基础上给出了领域体系结构生成算法,算法以特征模型为基础,通过自 底而上依次设计模块构件、进程、子系统生成领域体系结构,并综合考虑了产品 线运行环境和性能等方面的要求 论文第四章在分析产品线应用工程过程的基础上,针对软件产品定制生产问 题,提出面向软件产品线的产品配置概念。通过针对特征可变性和特征配置依赖 建立配置规则及其约减规则。面向软件生产过程中的特征选取和软件制品选取阶 段分别建立特征配置模型和软件制品配置模型,并给出了相应的配置求解算法, 配置求解结果即为满足领域应用需求的特征和软件制品集合。为复用部分配置规 浙江大学博士学位论文 摘要 则和求解结果以提高求解效率,对配置建模及求解过程进行了改进和优化。 论文第五章在对资产库和软件资产进行形式化定义的基础上,针对产品线开 发不同阶段对软件资产的不同管控要求,提出三库概念,详细描述了基于工作流 的库迁移和软件资产全生命周期管控模型,并就产品线及其软件产品家族的全分 布资产存储方案等问题进行了探讨。 论文第六章提出了一个基于特征的产品线开发系统框架,对其主要功能、组 件模块和关键过程进行了说明,并介绍了基于该框架设计和实现的一个产品线歼 发原型系统,对其中的产品线和软件产品开发主要流程,以及部分支持工具和平 台进行了阐述和说明。 论文最后总结论文的主要工作和贡献,并指出下一步的研究工作方向。 关键词软件产品线、领域工程、特征建模、本体、领域体系结构、构件、配置 建模、问题求解、资产库 浙江大学博:t 学位论文 a b s t r a c t s o f w a r ep r o d l l c tl i n ed e v e l o l 话d o m a i n - s p e c i f i cr e u s a b l ea s s e t st op r o c l u e ca n d m a i n t a i ns o t t w a r ep r o c t u c tt i n n i l yw i l hs i m i l a rf u n c t i o n sb ya n a l y z i n ga n dm a n a g i n g c o m m o n a l i t ya n dv a r i a b i l i t yi nd o m a i n i ti sa ne f f e c t i v ew a yt oi m p l e m e n ts o t t w a t o p r o d u c t i o nf o rm a s sc u s t o m i z a t i o n h o wt or e a l i z et h ed e v e l o p m e n to fc o l ea s s e t si n d o m a i na n dt h ec u s t o m i z e dt n l x l u e t i o no fs o t t w a r ep r o a u c t sa p p l y i n gs p l p r i n c i p l e s o n t h c b a s e o f f e a t u r ea n a l y s i s i s a k e y p r o b l e m i n t h er e s e a r c h o f $ p l e n g i n e e r i n g t o a d d r e s st h i sp r o b l e m , t h ed i s s e r t a t i o n m a i n l yi n t r o d u c e s t h ek e yt e c h n o l o g yo i l f e a t u r e - b a s e ds o f t w a r ep r o d u c tl i n ed e v e l o p m e n ti nt e r m so ff o r m a lm o d e l i n g , d o m a i n a r c h i t e c t u r ea n dc o m p o n e n td e s i g n i n g , s o t t w a r ep r o d u c te o n t i g u r a t i o nm o d e l i n ga n d p r o b l e ms o l v i n g , a n da s s c tm a n a g i n g i nt h e1 。c h a p t e r , w ef i r s t l yd i mt h eo r i g i no fs o t t w a r cp r o d u c tl i n ea n d i n t r o d u c es o m ed e f i n i t i o n sa n dc o n c e p t i o n so fs p la n d $ p le n g i n e e r i n g , t h e nd i s c u s s t h ec h a r a c t e r i s t i c so fs p ld e v e l o p m e n ta n ds o t t w a r ep r o d u c td e v e l o p m e n ta p p l y i n g s p lp r i n c i p l e s a t t e ri n t r o d u c i n gt h er e l a t e de n g i n e e r i n gp r o j e c t sa n da c a d e m i c r e s e a r c hp r o g r e s s e so fs p lw ep r o p o s eo u rm a i ni d e a s f e a t u r e - b a s e ds p la n d s o t t w a 口r ep r o d u c td e v e l o p m e n t i nt h e2 耐c h a p t e r , a t t e ri n t r o d u c i n gt h ec o n c e p t i o n so ff e a t u r em o d e la n d a n a l y z i n gi t sd e f i c i e n c yi nt e r m so fn o n - f u n c t i o n a lf e a t u r ed e s c r i p t i o na n dv a r i a b i l i t y m o d e l i n g , w ep r o p o s et h ec o n c e p to ff e a t u r em a pt oe x t e n dt h ef e a t u r em o d e l i t s u p p o r t sc u s t o m i z e df e a t u r ed e p e n d e n c i e sa n dc o n s t r a i n te x p r 髑c s , p r o v i d e st h e c a p a b i l i t yt on a v i g a t ea n dl o c a t et h es o t t w a r ea r t i f a c t so ff e a t u r e 8 t h e no n t o l o g yi s u s e dt od e f i n et h em e t a - m o d do ff e a t u r em a p o nt h eb a s eo fa b o v ed e f i n i t i o n , h y i e r 雩阳p hi si n t r o d u c e dt of o r m a i l i z e ds o t t w a r ep r o d u c ti i n ef r o md i f f e r e n ts e m a n t i c l a y e r s t h es e m a n t i ci n f o r m a t i o mi ne a c hl a y e r 黜a b s t r a c t e d 勰o n t o l o g yc o n c e p t s a n dr e l a t i o n s h i l 皓a n da l ec o n n e c t e db ys e m a n t i cl i t tm e c h a n i s mt oc o n s i t u c tf i l l i n t e r w e a v i n gs e m a n t i cs h u c h 她t h u sau n i f o r mk n o w l e d g er e p r e s e n t a t i o nf r a m e w o r k a n df o r m a lm o d e lf o rs p li se o n s l r u e t c d i nt h e3 “c h a p t e r , w ef i r s t l yi n t r o d u c et h ep r o c e s so f d o m a i ne n g i n e e r i n ga n dt h d i s c u s st h ee n g i n e e r i n gp r i n c i p l e su s e dt od e s i g nd o m a i na r e l a i t e e t u r eo i lt h eb a s eo f f e a t u r e f e a t u r em o d e li st a k e na s 柚i n p u tt od e s i g nt h ed o m a i na r c h i t e c t u r ef r o m d i s t i n c ta b s t r a c tl a y e r ss u c ha ss u b s y s t e m , p r o c e s sa n dm o d u l e b ya n a l y z i n gt h e f e a t u r e st o 唰f yt h er e u s a b l eo b j e c t s , w ce s p e c i a l l yd i s c u s st h od e s i g ns c h e m eo f d o m a i nc o m p o n e n t st oh i d et h ev a r i a b i l i t yo ff e a t u r em o d e l o nt h eb a s eo fa b o v e 浙江大学博士学位论文 w o r k , w ep r o p o s ea 矗a l g o r i t h mt o1 , r o , t u c es o t h a r ea r c h i t e c t u r ea u t o m a t i c a l l y 硼艟 a l g o r i t h mt a k e sf e a t u r em o d c i 勰t h eb a s i st op r o c l u e ed o m a i na r c h i t e c t u r eb yt h e b o t t o m - u pd e s i g no fm o d u l ec o m p o n e n t , p r o c e s sa n ds u b s y s t e m i ta l s oc o n s i d e r st h e o p e r a t i n gm v i r o n m e n ta n dp e r f o r m a n c er e q u i r e m e n t sa d e q u a t e l y ht l l e4 “c h a p t e r , a f t e ra n a l y z i n gt h ep r o c e s so fa p p l i c a t i o ne n g i n e e r i n g , w e p r o p o s et h ec o n c e p to fs p lo r i e n t e dp r o d u c tc o n f i g u r a t i o nt oc u s t o m i z es o f t w a r e p r o d s c o n f i g u r a t i o nr u l e sa n dd e d u c tr u l e sa md e f i n e di nt e r m so ft h ev a r i a b i l i t y a n dc o n f i g u r a t i o nd e p e n d e n c yo ff e a t u r e s c o r r e s p o n d i n gt ot h ep h a s 簋o ff e a t u 糟 s e l e c t i o na n ds o f t w a r ea r t i f a c ts e l e c t i o ni nt h ep r o c e s so fs o f t w a r ep r o d u c t i o n , t h e f e a t u r ec o n f i g u r a t i o nm o d e la n ds o f t w a r e 眦 i f a e tc o n f i g u r a t i o nm o d e la c o n s t r u c t e d t op r o v i d eau n i f o r mf r - , a n e w o r ko fc o n s t r a i n td e s c r i p t i o nf o rf e a t u r em o d e la n d d o m a i na p p l i c a t i o nr e q u i r e m e n t n 嵋r e l a t e da l g o r i t h m so fc o n f i g u r a t i o ns o l v i n g 粥 a l s op r c s c n t e c l t h er e s u l to fw h i c h 勰t h es e t so ff e a t u r e sa n ds o t t w a r oa r t i f a c t s m e e t i n g f e a t u r ec o n s t r a i n t sa n d a p p l i c a t i o nr e q u i r e m e n t s t o r e u s e p a r t i a l c o n f i g u r a t i o nr u l e sa n ds o l v i n gr e s u l t st oi m p r o v es o l v i n ge f f i c i e n c y , w ei m p r o v ea n d o p t i m i z et h ep r o c e s so f e o n f i g t m i t i o nm o d e l i n ga n dp r o b l e ms o l v i n g i nt h e5 i nc h a p t e r , w ef i r s t l yf o r m a l i z et h ec o n c e p to fa s s e tl i b a r a r ya n ds o f t w a r e a s s e t c o n f i o n t e dw i t ht h ef a c tt h a td i f f e r e n ts t a g e si nt h ep r o c e s so fs p l d e v e l o p m e n t t a k ed i s t i n c tm a n a g e m e n td e m a n d so nt h es o t t w a r ea s s e t s ,w ep r o p o s et h a tt h es p l a s s e t sa r eh e l di nt h r e ed i s p a r a t er e p o s i t o r i e s a u t o m a t i ca s s e tt r a n s f e rb e t w e e na s s e t r e p o s i t o r i e si si m p l e m e n t e di nt h ec h a r g eo f w o r k f l o wt or e a l i z et h ew h o l e1 i f e e y e l e m a n a g e m e n to fs p la s s e t s t h ed i s t r i b u t e ds t o r a g es c h e m eo fs p la s s e t sb a s e d0 1 1t h e c o n c e p to f r e p o s i t o r yi sa l s od i s c u s s e d hm c6 “c h a p t e r , w ef i r s t l y p r o p o s e as y s t e mf i a m e w o r ks u p p o r t i n g f e a t u r e - b a s e ds p ld e v e l o p m e n ta n dd i s c u s si t sm a i nf u n e t i o m m o d u l e s 柚dk e y p r o c e s s e s t h e nap r o t o t y p ed e s i g n e da n dr e a l i z e d t h eb a s i so ft h ef r a m e w o r ki s p r e s e n t e d 1 1 他m a i np r o c e s s e so ft h ep r o t o t y p et od e v e l o pp r o d u c tl i n ea n dr o o t r l c r c t e s o t t w a r ep r o d u c t s 。a n ds o l r n ca s s i s t a n tt o o l sa n dp l a t f o r ma 坞i l l u s t r a t e d i nt h ee n d , a l lo ft h ew o r k si n t h i sd i s s e r t a t i o n 毗s u m m e du p a n dt h e i rf u t u r e s 研p r o s p e c t e d k e y w o r d s s o f t w a r ep r o d u c tl i n e , d o m a i ne n g i n e e r i n g , f e a t u r em o d e l i n g , o n t o l o g y , d o m a i n - s p e c i f i cs o f t w a r ea r t h i t e e t u r e , c o m p o n e n t , c o n f i g u r a t i o n m o d e l i n g , p r o b l e ms o l v i n g , a s s e tr e p o s i t o r y 浙江大学博士学位论文翻目录 图目录 图1 1 基于标准零件配置的机械产品大规模定制生产2 图1 - 2 软件产品线工程5 图1 - 3 软件产品线工程特点7 图i 4 软件产品线基本活动之问的关系7 图1 5 支持软件开发的领域分析n 图1 6 面向特征的复用方法f o r m 1 2 图l - 7 基于本体、特征驱动的产品线开发过程。1 5 图1 - 8 青鸟构件库体系结构。1 7 图1 - 9 领域工程再工程2 0 图1 i o 产品线评估过程2 2 图1 1 1 论文组织结构2 6 图2 - 1h o m ei n t e g r a t i o ns y s t e m 软件产品线特征模型示例。3 0 图2 - 2 本体描述语言栈3 5 图2 3 基于本体的特征地图元模型。3 6 图2 4 移动电话软件产品线语义超图形式化模型4 4 图3 - 1 面向特征的体系结构建模框架4 9 图3 - 2 特征模型和参考体系结构之间的映射。5 l 图3 3 特征类型和可复用对象之间的映射。5 3 图3 - 4 基于门面模式的模块实现框架构件设计5 5 图3 5 隐藏a l t e r n a t i v e 特征变化性的模块实现构件设计。5 6 图3 - 6 隐藏o r 特征变化性的模块实现构件设计5 7 图3 7 隐藏o p t i o n a l 特征变化性的模块实现构件设计。5 7 图3 8 隐藏r e q u i r e 特征配置依赖关系变化性的模块实现构件设计5 8 图3 - 9 隐藏m u t e x 特征配置依赖关系变化性的模块实现构件设计5 8 图3 1 0 移动电话软件产品线特征模型6 3 图3 1 1 移动电话软件系统呼叫处理特征绑定单元的对象模型建立过程6 4 图3 1 2 移动电话软件系统呼叫处理的模块模型建立过程6 5 图3 1 3 移动电话软件系统呼叫处理子系统的进程模型建立过程6 5 图3 1 4 移动电话软件系统的子系统模型建立过程6 6 图4 - t 基于特征的软件产品开发生命周期实体关系模型6 9 图4 2 移动电话软件产品线特征地图8 3 图5 1 构件评估流程定义示例9 2 图5 - 2 库迁移模型9 3 图5 3 基于三库的多视图模型9 5 图5 4 资产存储方案 9 6 图5 - 5 资产检索过程9 7 i v 浙江大学博士学位论文 图目录 图5 6 基于三库的产品线软件资产管理方案示例 图6 1 基于特征的产品线开发系统框架f s d f 图6 - 2 基于p r o t 魄6 的特征建模工具 图6 - 3 基于e c l i p s e 的领域体系结构和构件集成开发工具 图6 4 基于e c l i p s e 的软件产品配置开发工具。 图6 - 5 基于拦截器的资产库系统实现框架 v 1 0 0 1 0 4 1 0 5 1 0 r 7 浙江大学博士学位论文 表h 录 表目录 表i - io o p 、c b s d 、s p l 的软件产品开发特点对比6 表1 2 典型体系结构设计方法1 4 表3 1 特征变化性及其构件设计方案5 9 表3 2 运行环境及其构件连接器设计方案。5 9 v l 浙江大学博士学位论文 第1 章绪论 第1 章绪论 1 1 软件产品线产生的背景 1 1 1 当前软件产业面临的问题 软件产业作为各国极其重要的战略性、支柱性和先导性产业,是智力密集型 的高技术产业,是信息产业的核心与灵魂,已经成为国际竞争焦点和战略制高点, 是2 l 世纪拥有最大产业规模和最具前景的新兴产业之一 当前,一方面,应用软件,特别是企监级应用软件,在越来越多的领域得到 推广和应用;另一方面,高速增长的全球经济,使得关键行业的企业级应用需求 在不断变迁。大到新政策的发布、组织问的兼并和收购、新业务模型的涌现,小 到企业内部的业务流程重组、组织结构的调整,新创意的产生,这些来自市场、 管理、技术等环境的不断变化,以及组织对变化环境的不断适应成为当前企业应 用不得不面对的鲜明现实 快速多变的市场特点、普遍缺乏的基础管理体系、大规模的企业应用、信息 技术及其应用在深度和广度上的飞速发展,以及异构的r r 实施环境,造就了当前 的软件产业环境格局,同时也导致企业对软件功能和性能要求不断变更,软件系 统的规模和复杂度空前扩张,开发和维护成本呈指数趋势上涨。由此在软件质量、 开发周期、生产成本等方面对企业应用软件产品的开发提出了新的要求,软件开 发应能对企业业务流程和应用需求的频繁变更,以及应用环境的变迁和异构化等 做出快速响应,实现软件产品的定制化生产。 传统的面向对象软件开发技术及一切从零开始基于代码的手工作坊式软件 开发方式单独为每一个用户开发和维护独立的软件产品,需进行大量重复性的需 求分析、设计、编码、测试及维护工作,生产周期长,结构僵化,成本高,效率 低下,无法适应新形势下的快速发展的业务环境和企业级应用需求,往往软件系 统刚刚开发完成还未上线运行,企业的组织结构、业务流程及人员就已经发生了 变化,出现“建成即成闲置”的局面,形成软件工程的灾难。企业级应用软件产 业在旧的软件危机尚未彻底解决的情况下,面临着新一轮的软件危机。 如何在一个急剧变化的市场、管理、组织环境中,在以互联网为代表的新兴、 浙江大学博士学位论文 第1 章绪论 廉价的技术条件下,通过合理模式的部署,适应人们较低的应用水平,并满足市 场迅速变化的企业级大规模应用需求成为当前软件产业急待解决的一个问题,是 提高软件企业竞争力,实现可持续发展的关键所在。 软件产品行业遇到的这些问题与传统的机械制造行业的发展历程类似。最 初,传统制造行业的产品生产企业需要设计和生产构成产品的每一个零件,生产 周期长,且不同企业之间的产品零件无法通用,导致生产成本昂贵,可维护性差。 之后,通过零件的标准化生产和对标准零件进行配置及流水线组装( 图1 1 ) ,开 创了工业化规范大生产的新纪元,将产品制造的重点从制造单个零件转移到了标 准零件的装配上来,极大提高了产品开发和生产的效率,降低了成本。企业之问 也由传统的价格、质量的竞争越来越多地转向满足客户多样化、个性化需求能力 的竞争,至此一种新型的产品生产模式一大规模定制应运而生,其核心就是通过 灵活性和快速响应来获得低成本、高质量、定制化的产品和服务。 图1 - 1 基于标准零件配置的机械产品大规模定制生产 而根据s t a n d i s hg r o u p 咨询公司对全球7 0 0 0 家软件企业以及上万个软件项目 进行分析的统计结果,企业应用软件虽然在功能上千差万别,但从源程序实现角 度分析,导致功能不同的业务逻辑程序仅占不到3 0 。, 4 ,而大同小异的基础程序则 占7 0 0 4 以上软件生产完全可以像传统制造行业一样,通过细分产业,形成健康 的产业链。 2 浙江大学博i :学位论文第1 章绪论 由此不难得出,通过软件工厂,提高行业的成熟度,实现软件的大规模定制 生产,降低软件业成本,以提高软件质量,加快新产品的开发速度,是软件生产 行业发展的必由之路。 1 1 2 相关解决方案 针对当前软件产业面临的问题,学术界和工业界的研究和技术人员在技术创 新、软件过程和系统复用等方面进行了大量的探索和实践 面向对象的程序设计语言( c + + ,j a v a ,c 柳,数据库管理系统( r d b m s , o o d b m s ) 、快速应用程序开发工具( d e l p h i ,p o w e r b u i l d e r ,e c l i p s e ,v i s u a ls t u d i o ) 、 c a s e 工具等极大提高了软件开发效率。c o r b a 、j 2 e e 等中间件技术平台和s o a 、 w e bs e r v i c e 等框架和技术屏蔽了分稚式环境下操作系统、数据库系统和网络协议 等底层软硬件平台的差异,为上层应用软件提供运行和开发环境,使软件设计和 开发人员可以将更多的精力投入到商层的业务逻辑处理和计算阀题上u m l 和 m d a 等建模语言和框架基于分离业务功能分析和设计与实现技术和平台之间的 耦合关系的思想,进一步降低了技术和平台对系统的影响,以快速响应软件系统 面向的用户定制需求 技术上的进步使得软件系统的复杂度和要求进一步提高,软件工程方法研究 也开始从“生存周期”向“过程”转移【i l ,其中软件能力成熟度模型c m m ( c a p a b i l i t y m a t u r i t ym o d e l ) 【2 】的提出和实践极大提高了软件开发效率和软件的质量。 在系统复用方面,从上个世纪7 0 年代的模块复用,到8 0 年代的对象复用, 再到9 0 年代的构件复用,均对软件生产的发展起到了巨大的推动作用。其中基 于构件复用的软件开发通过标准化运行级构件的规约,依靠构件运行平台提供的 基础设拖,自底而上地使用标准构件构造软件系统,使得软件系统开发的重点从 程序设计变成构件组装,通过选取和复用构件并经过组装和部署形成目标系统。 构件复用可以避免重复劳动,使得应用系统的开发不再采用一切。从零开始”的 模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经 验f 3 1 。 由于缺乏一个系统性的复用方法作为指导,大规模的复用并没有由于上述几 方面的进步而发生系统性复用思想本身并不复杂,m c l l r o y 早在1 9 6 9 年就提出 开发一个规模合理的构件系统以复用这些构件,并将复用的思想推广到需求分 析、设计、实现和测试等过程中【4 】c o x 则在上个世纪9 0 年代初期,类比硬件提 出了“s o f t w a r ei c s ”方法,通过软件总线来实现大规模的复用四但由于软件产 3 浙江大学博士学位论文第1 章绪论 品面向的应用领域多种多样,且各领域软件开发的组织结构、管理方法、技术手 段、软件过程、经营策略等方面存在着差异,故特定应用领域软件产品开发系统 性复用的成功经验并不容易被其他领域和组织所采用。 1 1 3 软件产品线的提出 软件产品线是软件工程领域中软件体系结构和软件复用技术发展的结果研 究表明。特定领域的软件复用活动相对容易取得成功嘲。领域的内聚性和稳定性 要求在复用构件的基础上进一步复用系统框架在此背景下,w i l lt r a c e 率先提 出领域特定软件体系结构方法d s s a ( d 伽a i l 卜s p c c i f i cs o f t w a r ea r c h i t e c t u r e ) 川, 它突出强调体系结构的作用,奠定了产品线方法的基础面向特征的领域分析方 法f o d a ( f e a t u r e - o r i e n t e dd o m a i na n a l y s i s ) 射的提出使得特征分析逐渐成为领域 建模的主流贝尔实验室于1 9 9 4 年提出面向家族的抽象,规约和转化的领域工 程方法f a s t ( f a m i l y - o r i e n t e da b s t r a c t i o n , s p e c i f i c a t i o na n dt r a n s l a t i o n ) 9 1 ,确定了 软件产品家族的开发流程1 9 9 9 年,德国f r a u n h o f e r 实验软件工程学院基于d s s a 提出产品线软件工程方法p u l s e ( p r o d u c tl i n es o f t w a r ee n g i n e e r i n g ) i o l 。在此基础 上,卡内基梅隆大学( c m u ) 的软件工程研究所( s e i ) 借鉴瑞典c e l s i u s t e c h s y s t e m 公司在轮船系统上的成功经验提出了“软件产品线”( s o f t w a r ep r o d u c t l i n e ) 【】概念,其特点在于维护公共软件资产库,并在软件产品开发过程中复用这 些资产。属于同一领域的一系列应用系统构成了软件产品家族( s o m v a r ep r o d u c t f a m i l y ) 1 2 软件产品线的定义 软件产品线被定义为“共享一组公共受控特征,满足特定市场需要,并且按 照预定方式在相关核心资产( 如需求、设计、构件等) 基础上开发而成的一系列软 件系统”i i l l 它是一组具有公共可控特征集的软件系统,其核心在于开发领域特 定的可复用框架以支持软件产品家族的开发【1 2 1 一个产品线是共享一组共同设计 及标准的产品族,从市场角度看是在某市场片断中的一组相似的产品【3 1 ,这些产 品属于同一领域,具有公共需求集,可以根据特定的用户需求对产品线体系结构 进行定制;从技术实现角度而言,软件产品线通常由产品线体系结构,一组构件 和软件产品组成【1 3 】。基于产品线的软件产品开发的特点是维护公共软件资产库, 并在开发过程中复用这些资产,如领域模型、软件体系结构模型、过程模型和构 件等,而在传统的单个产品的开发过程中主要是代码复用。软件产品从产品线体 4 浙江大学博士学位论文第l 章绪论 系结构获取自己的体系结构,实例化并配置产品线构件集的一个子集,并开发产 品特定的代码实例化的软件产品构成了领域软件产品家族由此可见,软件产 品线是一种有效的、系统的软件复用形式 图l - 2 软件产品线工程 软件产品线工程是产品线理论和方法的实践和应用,通常由两个相对独立的 开发周期构成:产品线开发( 领域工程) 和产品实例化( 应用工程) 如图i 2 所示, 领域工程活动包括领域分析和定义、领域参考体系结构开发、领域核心构件开发 等,主要是在领域特征分析的基础上设计、开发和完善可复用资产,如产品线体 系结构和可复用构件等;应用工程阶段的活动则包括应用需求分析、参考体系结 构的实例化、领域构件的实例化和定制以及基于构件的开发等,主要基于需求分 析,进行特征选取,确定产品体系结构,获取公用构件进行复用和调整,生成产 品特定代码【1 4 】整个过程包含了可复用资产的生产和消费两个方面:在开发过程 的两个阶段中,领域工程是产品线核心资产的生产阶段,而应用工程则使用这些 资产进行产品开发 领域工程活动产生的输出包括产品线范围、核心资产和生产计划i l l 】领域分 析通过上下文分析识别领域的边界和上下文关系,领域的范围和边界决定了领域 共性的大小以及资产的适用范围在此基础上可以进行核心资产的设计和实现, 涵盖整个产品系列共同特性的需求,特别是与体系结构设计直接相关的高层需 求,即首要的核心资产基于核心资产即可快速构造出产品线体系结构并评估产 品线的可行性【l l 】领域体系结构中的构件资产将分配给相应的构件开发组进行实 现,至此领域工程阶段结束 产品线的最终价值体现在应用工程具体软件产品的开发过程中单个软件产 5 浙江大学博士学位论文第l 章绪论 品将根据其面向的特定需求对领域需求模型进行定制,从而得到同时满足领域约 束和特定需求的产品需求若领域模型无法支持当前的产品需求,则需要返回领 域工程阶段对领域模型进行更新以容纳新的变化最终,应用工程师将在产品需 求的指导下,通过对领域资产的复用以及对特定应用制品的实现得到目标产品 1 3 软件产品线工程的特点 软件产品线是一个系统性的大规模的复用方法,贯穿软件开发的所有阶段, 其本质特点在于强调领域体系结构的重要性以及面向特定领域的市场导向。这是 与以构件为核心的初始领域工程方法的最大差别。从软件产品线的定义中可以看 出软件产品线的几个主要特点:市场目标驱动、面向特定领域、以体系结构为核 心、复用导向贯穿始终使用面向对象编程、基于构件的软件开发和软件产品线 进行软件产品开发的特点描述如表1 - 1 所示 表1 - 1o o p 、c b s d ,s p l 的软件产品开发特点对比 面向对象编程基于构件的软件 软件产品线( s p l ) ( o o p )开发( c b s d ) 需求、领域体系结构、 复用对象类构件 构件等软件资产 开发周期划分无无领域工程和应用工程 面向具体应用开面向具体应用歼顽向应用领域开发软件 软件产品开发 发独立软件产品发独立软件产品产品家族 复用仅发生在实复用仅发生在实贯穿需求分析、设计、 复用的系统性 现阶段现阶段实现和测试等所有阶段 通过对领域模型进行裁 市场响应速度较幔 一般 剪迅速响应市场变化 通过对领域体系结构进 个性化需求 较弱一般行裁剪快速生产满足应 定制能力 用需求的软件产品 急剧变化的市场、管理和组织环境是软件产品线产生的重要背景,快速满足 市场迅速变化的企业级大规模应用需求是软件产品线方法提出的根本目标。如图 1 - 3 所示f ,市场需求的快速变更和个性化的需求定制决定了软件产品线的可变 6 浙江大学博士学位论文第l 章绻论 性,软件市场面向的应用领域的多样性和差异性决定了软件产品线唯有面向特定 领域才能实现可复用资产的抽取和共享这些资产是软件产品线的基础,包括软 件产品线开发过程中产生和相关的一切软件制品,例如领域模型、领域知识、产 品线体系结构、过程模型和构件等产品线软件开发不仅复用构件,更是一个复 用领域体系结构的过程根据领域应用需求确定特征选取并对产品线领域体系结 构进行裁剪即可实现特定软件产品的生产 图1 - 3 软件产品线工程特点 图l - 4 软件产品线基本活动之间的关系 7 浙江大学博士学位论文 第1 章绪论 软件产品线作为一个系统的复用方法,还涉及到管理这一基本活动,主要包 括技术和组织的管理领域工程、应用工程和管理三个基本活动之问的关系如图 l - 4 所示l ,三个基本活动紧密联系,各自不断更新,同时引发其他活动的更新, 更新可以以任何次序出现且反复循环。正向的开发活动通过核心资产开发用于应 用开发,逆向的开发活动则从现有产品中挖掘公共资产放入产品线资产库l l l l 核 心资产和产品开发之间存在很强的反馈循环,即使采用正向开发,核心资产也可 能随着新的产品开发而更新。由于领域总是处于不断的发展变化之中,而开发者 对领域预见性的把握并不总是准确的,因此需要引入持久的、强有力的、有远见 的管理【m 。 1 4 软件产品线研究项目与实践 软件产品线以及基于特征的方法近十年以来一直是软件工程界的研究热点 2 0 0 0 年,s e i 发起召开了第一届国际软件产品线会议s p l c ( s o f t w a r ep r o d u c tl i n e c o n f e r e n c e ) ,并提出一个完整的、经实践确认的软件产品线开发方法除此之外, i c s e ( i n t e r n a t i o n a lc o n f e r e n c eo nt h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级数学上册 第5章 数据的收集与统计图5.1 数据的收集与抽样第2课时 抽样调查、样本、样本容量、简单随机抽样教学设计 (新版)湘教版
- 评价在线学习成果(教案)2024-2025学年三年级下册信息科技川教版
- 《第二单元 创建高级动画 第8课 影片剪辑动画 制作“星星滑落”动画》教学设计教学反思-2023-2024学年初中信息技术人教版八年级上册001
- 第六单元 步伐之歌-《运动员进行曲》《拉德茨基进行曲》教学设计 2023-2024学年粤教版初中音乐八年级上册
- 七年级地理下册 7.2《东南亚》教学设计 (新版)新人教版
- 人教版八年级《道德与法治》下册2.2 加强宪法监督 教学设计
- 10爱心的传递者 第一课时 教学设计-2023-2024学年道德与法治三年级下册统编版
- 脑出血病人的护理教学查房
- 骨折病人的诊断及护理要点
- 七年级历史下册 第二单元 辽宋夏金元时期:民族关系发展和社会变化 第8课 金与南宋的对峙教学设计 新人教版
- (一模)桂林市、来宾市2025届高考第一次跨市联合模拟考试生物试卷(含答案详解)
- 四川省宜宾市第三中学2024-2025学年高二下学期3月月考语文试题(含答案)
- 北京市消防条例解读
- 农业合作社管理与运营模式试题及答案
- 医院检验科实验室生物安全程序文件SOP
- JTG D70-2-2014 公路隧道设计规范 第二册 交通工程与附属设施
- 全文《中国式现代化》PPT
- 必修二英语单词默写
- 新人教版四年级数学下册总复习专题一《四则运算及运算定律》课件
- 宋词欣赏《虞美人·听雨》课件
- 封条模板A4直接打印版
评论
0/150
提交评论