已阅读5页,还剩70页未读, 继续免费阅读
(计算机应用技术专业论文)基于cmm的软件过程管理系统——软件配置管理系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江工业大学硕士学位论文 基于c m m 的软件过程管理系统 软件配置管理系统的研究与实现 摘要 在软件开发质量亟待提高的要求下,开发机构追于市场和用户的 压力必须取得i s 0 9 0 0 0 质量认证并遵循c m m ( c a p a b i l i t ym a t u r i t y m o d e l ,能力成熟度模型) 来改进自己的开发过程。解决此问题的唯一 途径是加强软件过程管理。软件机构若想从初始混乱的开发过程过渡 到可重复、可管理的有序化过程,进而上升到更高的成熟度水平,那 么软件过程管理是最有力的支持。而软件过程管理的核心就是有效的 软件配置管理。 本文以软件能力成熟度模型c :m m 为理念,结合在软件企业的实 践以及调研工作,根据软件企业发展的需要,搭建了一个满足c m m i 框架要求的、具有整体优势的综合平台欹件过程管理系统。本文 重点研究并实现了该系统的重要组成部分软件配置管理系统。配 置管理系统的实现为软件过程管理系统产品化奠定了基础,使提高软 件生产企业质量管理水平具有了可操作性,实现了软件开发过程规范 化,真正提高了软件企业的产品开发效率,提升了软件产品的质量。 本文针对已有软件配置管理工具存在的问题,研究并实现了这样 个软件配置管理系统:它采用大粒度、构造性的基于构件的配置管 理模型;用三类库控制配置项的进化;用产品树结构存储配置项的联 系;采用c s 和b s 两种体系结构相结合的方式,实现了完善、灵活的 浙江工业大学硕士学位论文 结构管理、版本管理的功能;希望用工作流来支撑整个管理活动的有 序进行。本系统的开发,为企业软件产品的规范化管理打下了基础。 关键词软件过程管理,软件配置管理,c m i m ,n e t ,配置项 i i : 塑望三些查兰堡主兰竺堕塞一一 s o f t w a r ep r o c e s sm a n a g e m e n ts y s t e m b a s e do nc m m t h er e s e a r c h a n d i m p l e m e n t a t i o n o f s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n ts y s t e m a b s t r a c t u n d e rt h er e q u e s tu r g e n t l yt o b ei m p r o v e do fs o f t w a r ed e v e l o p m e n t q u a l i t y , d e v e l o p i n go r g a n i z a t i o n sm u s t o b t a i nt h eq u a l i t ya u t h e n t i c a t i o no f i s 0 9 0 0 0a n df o l l o wc m m ( c a p a b i l i t y m a t u r i t ym o d e l ,t h em a t u r i t y m o d e l o fa b i l 时) ,u n d e rt h ep r e s s u r eo fm a r k e ta n dl l s e r s ,t oi m p r o v e i t so w n d e v e l o p m e n tp r o c e s s t h eo n l yw a y t os o l v et h i sp r o b l e mi st os t r e n g t h e n t h es o f t w a r ep r o c e s sm a n a g e m e n t s o f t w a r eo r g a n i z a t i o n sw a n tc 锄叮o u t t r a n s i t i o n 舶m t h ei n i t i a la n dc o n f u s e dd e v e l o p m e n tp r o c e s s t or e p e a t a b l e a n dm a n a g e do r d e r i n gp r o c e s s ,a n d t h e n r i s i n g t oh i g h e rm a t u r i t yl e v e l ,s o , s o r w a r ep r o c e s sm a n a g e m e n ti s t h es t r o n g e s ts u p p o r t a n dt h e c o r eo f s o r w a r e p r o c e s s m a n a g e m e n ti s t h ee f f e c t i v e s o t b l 】g a r e c o n f i g u r a t i o n m a n a g e m e n t r e g a r d i n g s o f t w a r ea b i l i t ym a t u r i t y m o d e lc m ma s t h e i d e a , c o m b i n i n gp r a c t i c ea n d r e s e a r c hw o r ki nt h es o f t w a r ee n t e r p r i s e ,a c c o r d i n g t ot l l en e e d so fs o f t w a r ee n t e r p r i s e sd e v e l o p m e n t t h et h e s i sb u i l ds o f t w a r e p r o c e s sm a n a g e m e n ts y s t e mt h a t m e e tc m m i if r a m er e q u e s ta n dh a v 。 c o m 9 r e h e n s i v ep l a t f o r m w i t hw h o l ea d v a n t a g e e s p e c i a l l y , t h e t h e s i s r e s e a r c h e sa n dr e a l i z e s t h e i m p o r t a n tc o m p o n e n to f t h i s s y s t e m n e 浙江工业大学硕士学位论文 s o f t w a r ec o n f i g u r a t i o ns y s t e m t h ei m p l e m e n to ft h ec o n f i g u r a t i o ns y s t e m w i l le s t a b l i s ht l ef o u n d a t i o nf o rt h ec o m m e r c i a l i z a t i o no ft h es o f t w a r e p r o c e s sm a n a g e m e n t ,e n a b l i n gi m p r o v i n g t h eq u a l i t ym a n a g e m e n tl e v e lo f m a n u f a c t u r i n ge n t e r p r i s eo ft h e s o f t w a r eh a s o p e r a b l e ,a n d r e a l i z e st h e p r o c e s ss t a n d a r d i z a t i o no f s o f t w a r ed e v e l o p m e n t ,r e a l l yr a i s e st h ep r o d u c t d e v e l o p m e n te f f i c i e n c yo f s o f t w a r ee n t e r p r i s e s ,p r o m o t e st h eq u a l i t yo ft h e s o f t w a r e p r o d u c t p o i n t i n g t ot h e q u e s t i o n s t h a te x i s ti nt h es o f t w a r e c o n f i g u r a t i o n m a n a g e m e n tt o o l s ,t h et h e s i sh a sr e s e a r c h e da n dr e a l i z e ds u c has o f t w a r e c o n f i g u r a t i o nm a n a g e m e n t :i ta d o p t st h el a r g eg r a i ns i z e ,c o n s t r u c t i v e l y c o n f i g u r a t i o nm a n a g e m e n tm o d e lb a s e do nc o m p o n e n t i tc o n t r o l st h e e v o l u t i o no fc o n f i g u r a t i o ni t e mw i t ht h r e ek i n d so fl i b r a r y , s t o r i n gt h e c o n n e c t i o no fc o n f i g u r a t i o ni t e mw i t ht h es t r u c t u r eo fp r o d u c tt r e e i t a d o p t st h ew a y i nw h i c ht h es y s t e ms t r u c t u r eo fc u s t o m e r s e r v e rc o m b i n e s w i t ht h eb r o w s e r s e r v e r , r e a l i z i n gt h ef u n c t i o no f p e r f e c t ,f i e x i b l es t r u c t u r e a n de d i t i o nm a n a g e m e n t ,a n dh o p i n gt ou s ew o r kf l o ws u p p o r tt h ew h o l e m a n a g e m e n ta c t i v i t yg oo no r d e r l y t h ed e v e l o p m e n to ft h es y s t e m ,h a s l a i dt h ef o u n d a t i o nf o rt h es t a n d a r d i z e dm a n a g e m e n to ft h e e n t e r p r i s e s o f t w a r e p r o d u c t k e y w o r d s :s o f t w a r e p r o c e s sm a n a g e m e n t ,s o f t w a r ec o n f i g u r a t i o n m a n a g e m e n t ,c m m ,n e t , c o n f i g u r a t i o n i t e m 浙江工业大学 学位论文原创性声明 ¥7 4 9 7 2 0 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行 研究工作所取得的研究成果。除文中已经加以标注引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江 工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究作出 重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的 法律责任。 作者签名,錾 琵芳 日期:驴f 年歹月矿日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意 学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文 被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。 本学位论文属于 l 、保密口,在年解密后适用本授权书。 2 、不保密口。 ( 请在以上相应方框内打“4 ”) 作者签名:鳘乏男 日期:c 7 s 年s 月,护日 翮鹕5 毒面勃醐卵厂肌岫 浙江工业大学硕士学位论文 1 。1 课题背景 1 1 1 引言 第一章绪论 高质量、低成本地开发软件产品是软件企业追求的目标,它也是软件企业能 否在日益激烈的市场竞争中生存的关键。软件界的多年研究表明,要在预算的时间 和成本下生产出高质量的软件,关键在于软件过程的有效管理。 2 0 世纪7 0 年代中期,美国国防部立题专门研究软件项目做不好的原因,发现 7 0 的项目是因为管理不善而引起,而并不是因为技术实力不够,进而得出一个 结论,即软件过程的管理是影响软件研发项目全局的因素,而技术只影响局部。 软件过程是软件开发人员开发和维护软件及其相关产品的一套行为、方法、实 践及交抉过程。有效的软件过程能够将人员、工具和方法进行有机的结合,而有 效的软件过程离不开完善的软件过程管理。 在团队开发的模式中,软件过程管理就显得更加重要,其管理的好坏将直接 影响到软件产品的质量。如果缺乏对软件过程的统一管理,势必造成以下问题的 出现: l 。由于开发经费及开发时间的限制,不可能一次开发就解决所有问题,许多 问题有待维护阶段解决,因此带来的是软件产品的不断升级,而维护和升级所必 需的文档往往非常混乱: 2 软件机构开发过程缺乏规范化的管理,即使有源程序文档也由于说明不详 细而不能对产品进行进一步的功能扩充,用户不得不再投入大量的经费去开发新 产品,浪费大量的人力、物力和时间; 3 在软件的团队式开发中,人员流动在所难免,如管理不善,有些人员的流 动将对开发产生致命的影响。特别是软件开发管理人员或核心成员的流失,有可 能造成无法确定软件产品中各模块所处的状态及阶段,使软件产品的版本出现混 乱,甚至可能泄漏公司的核心机密; 4 管理不菩致使未经测试的软件加入到产品中,不但影响产品的质量,有时 还会导致致命的错误,造成不可挽回的损失; 5 用户与软件机构没有有效的沟通手段,用户投入了开发费用后,得到的是 有关可执行程序以及一堆杂乱无章的文档。即使是较好的文档,对不熟悉开发过 程的专业人员来说也无从下手,更谈不上日后的维护和升级,用户的利益无法保 证: 浙江工业大学硕士学位论文 6 软件生产达不到规模化,无法生产出软件企业内部的软件标准构件仓库, 使应用软件产品总处于一种低水平、重复开发的状态,不但时间得不到保证,而 且成本也无法降低,使产品没有市场竞争力。这些问题在实际开发中表现为,项 目组成员沟通困难,软件重用率低下,开发人员各自为政,代码冗余度高,文档 不健全等。造成的结果是:数据丢失,开发周期漫长,产品可靠性差,质量低劣, 软件维护困难,用户抱怨使用不便,项目风险增加等。 缺乏软件过程管理,会导致种种问题的出现,这些问题使得最终开发出来的 软件产品的质量难以保证,应用难以稳定。那么,怎样进行软件过程管理才能生 产出高质量的软件产品呢? 软件界对软件过程的研究已经进行了多年,到目前为 止,已经取得了许多关键性的研究成果,如由美国卡内基梅隆大学软件工程研 究所提出的软件过程成熟度模型c m m ,国际标准化组织i s o 制定的i s 0 9 0 0 0 系列 和s p i c e ( i s 0 1 5 5 0 4 ) 等。其中以对c m i v l 的研究最为深入,影响也更为广泛。c m m 指定了一系列的规范和标准,并规定了与阶段无关的支持活动,其中软件配置管 理( s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t ,简称s c m ) 被放在首位。 1 1 2 软件能力成熟度模型c m m 能力成熟度模型c m m ( c a p a b i l i t ym a t u r i t ym o d e l ) ,由卡内基梅隆大学软 件工程研究所( c m ms e i ) 刨建,是指一个软件开发组织或某开发项目有效地定 义、执行、管理、测量和控制其各种软件过程的综合能力高低的一种度量尺度。 主要用于软件开发过程和软件开发能力的评估和改进,帮助软件企业对软件过程 进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质 量的软件。 c m m 是一种用于软件过程管理和改进的模型,它提供了使企业从低管理级别 逐步成长到高管理级别的循序渐进的方法。 c m m 把软件开发机构按照不同开发水平划分为5 个级别( i r d m o ) 【l l :初始 级( i n i t i a l ) 、可重复级( r e p e a t a b l e ) 、已定义级( d e f i n e d ) 、已管理级( m a n a g e d ) 和优化级( o p t i m i z i n g ) 。除了初始级,每个成熟度级别都包含若干个关键过程域 ( k p a :k e y p r o c e s s a r e a ) ,关键过程域包括五类共同特征( c o m m o n f e a t u r e s ) ,每 一类共同特征又包括若干个关键实践( k e yp r a c t i c e s ) ,只有当这些关键实践都得 到实现时,才完成了该关键过程域的目标。如图1 1 所示。 下面分别对关键过程域、目标、共同特征和关键实践进行介绍。 1 关键过程域 所谓关键过程域是指一系列相互关联的操作活动,这些活动反映了一个软件组 织改进软件过程时必须集中力量改进的几个方面。换句话说关键过程域标识了达 到某个成熟度级别时所必须满足的条件。 浙江工业大学硕士学位论文 不断改进的过程萨l ! ! 竺! ! b 可预测的过程萨l ! :竺! ! 竺鹄、_ ? 标准一致的过程萨l ! ! ! ! ! ! 竺坞、:标准一致的过程i i 、 的凄宇翌墓、l匡虱f 雀爹蔼l 舀菌织l ;、垂多遴j - 。篓 亟薹蚤多, 浙江工业大学硕士学位论文 条件。一般包括资源、机构结构和培训。机构结构就是建立支持关键过程域的专 门机构,如建立软件质量保证组s q a ( s o f t w a r e q u a l i t y a s s u r a n c e ) 。每个关键过程 域都描述了对资源和资金的要求,其中包括专门技术,充足资金和具体工具。培 训就是使用正规的和非正规的手段进行的具体教学和实践。 执行活动( a c t i v i t i e st op e r f o r m ) :描述实现关键过程域所必须的活动、任务和 规程,一般包括制定计划和规程,工作实施与跟踪,及必要的修订。在关键区域 中描述了两种不同类型的计划:正规规划( 例如,软件开发计划,软件质量保证 计划和软件配置管理计划) 和非正规规划( 例如,同行评审计划,风险管理计划 和技术管理计划) 。 测量和分析( m e a s u r e m e n ta n da n a l y s i s ) :描述与软件过程相关的基本测量实 践,其目的是控制和改进过程。测量和分析一般包括测量示例。 验证实施( v e r i f y i n gi m p l e m e n t a t i o n ) 描述确保执行活动与软件过程之间一致 性的规程,一般包括由管理部门和软件质量保证组实施的评审,也就是与上级管 理部门和项目管理监督有关的关键实践,如软件质量保证组和其他人实施的,用 以验证软件过程的具体验证活动。 1 2 软件过程管理系统简介 1 2 1 软件过程定义 软件过程【2 】是指人们用以开发和维护软件及其相关产品( 项目计划、设计文档、 代码、测试用例和用户手册等软件工作产品) 的一系列活动、方法、实践和革新。 包括软件开发的管理过程和软件开发的工程过程。其中自然涉及到有关的各种方 法和技术等。有效的软件过程可以将人员、工具和方法进行有机结合。 软件过程能力描述了在遵循一个软件过程后,软件开发活动能够达到预期结果 的程度。而软件开发活动实际得到的结果称之为软件过程性能。 软件过程成熟度是指一个软件过程被明确有效定义、管理、评价、控制和产生 实效的程度。当一个组织达到一定的软件过程成熟级别后,它将通过制定策略、 建立标准等使它的软件过程制度化。而制度化又促使组织通过建立基础设施等来 支持相关的方法、实践和过程,从而使之可以持续并维持一个良性循环。 所谓软件过程管理,指的是在软件开发过程中除了先进技术和开发方法,还有 一整套的管理方法。侧重的是软件企业在软件开发的过程中对需求管理、计划安 排、合同规范、项目跟踪、资源分配和质量要求等的管理方式。换句话讲就是对 软件开发全过程规范化及标准化的管理。 4 浙江工业大学硕士学位论文 1 2 2 软件过程管理的必要性 在软件机构中,实施软件过程管理可以带来这样一些好处: ( 1 ) 有效的软件过程管理可以提高软件企业的产品开发效率,提升软件产品 的质量: ( 2 ) 可以有效地对软件开发项目进行管理,以便于按照进程和预算完成软件 项目计划,实现预期的经济效益和社会效益: ( 3 ) 理解软件开发的基本原则,可以帮助软件机构做出明智的决定; ( 4 ) 可以标准化开发人员的工作,提高软件的可重用性和组间的协作; ( 5 ) 有效的软件过程可以改善软件机构对软件的维护; ( 6 ) 软件机构所采用的这种机制本身是不断提高的,他们可以跟上潮流,不 断接收新的、最好的软件开发经验。 1 2 3 c a s e 开发环境 c a s e ( 计算机辅助软件工程,c o m p u t e r a i d e ds o f t w a r ee n g i n e e r i n g ) 是支持 软件开发过程中各阶段的工程化途径的工具和方法1 3 j 。它能够帮助软件开发人员进 行系统的分析、设计以及提供相应的过程管理,从丽使软件开发更科学,更方便。 c a s e 环境包括两大类工具集:开发工具集和管理工具集。其中管理工具集管 理软件生命周期内的各种活动,它必须要以c m m 为指导来管理软件开发,才能 够真正帮助企业使软件开发更为高效、规范。这样,便可以把管理工具集看作是 一个基于c m m 的软件开发环境,在该环境的支持下,软件开发过程才能按照c m m 的要求来进行。整个c a s e 环境如图1 2 所示。 公共用户界面 分析设计编码测试再工程仿真逆向 工具工具工具工具工具工具工具 优化管理工具( 优化级) 、 质量控制工具( 己管理级) 过程管理工其( 己定义级) 配置管理、项目管理工具( 可重复级) 工作流管理系统 对象管理系统( 包括数据对象和代理对象管理) c o r b a d c o m 舰bs e r v i c e s d b m s o s ( 包括n e t ), c m m 开发环境 图1 3 c a s e 开发环境 在该环境中,管理工具集就是c m m 工具集,加上底层的平台集成便菸同组成了 浙江工业大学硕士学位论文 c m m 开发环境,工具集中每个工具所处的层次和实现的功能都是由c m m 各级的 关键实践来决定的。在c m m 开发环境中,配置管理和项目管理工具在工作流管 理系统的支撑下,共同满足了c m m 2 级的要求,过程管理工具和质量管理工具则 分别对应c m m 的3 、4 级的要求,优化管理工具则对应于c m m 5 级要求。 作为c m m 开发环境的一个实践软件过程管理系统,将实现软件开发过 程规范化,真正提高软件企业的产品开发效率,提升软件产品的质量,使软件企 业逐步走向成熟。该系统由项目管理和配置管理两部分组成。 1 2 4 软件过程管理系统组成 由图1 2 知道,配置管理工具和项目管理工具一起共同构成c m m 2 级的支撑 工具,因此,它们的功能必定要能够覆盖c m m 2 级的所有k p a 。c m m 2 级所规定 的k p a 有需求管理、软件项目计划、软件项目跟踪和监督、软件子合同管理、配 置管理和软件质量保证。经分析研究:其中,软件项目计划、软件项目跟踪和监 督属于项目管理的范围,而需求管理、配置管理和软件质量保证则属于配置管理 工具应该完成的功能,对于软件子合同管理,分为两个部分,其中的人、财、物、 时的消耗这部分应该归属于项目管理来负责,而其中软件配置的验收则应该属于 配置管理工具来完成。 因为在企业的现实应用环境中,硬件、操作系统、网络都有可能是异构的, 那么,要在整个企业范围内引入符合c m m 要求的开发环境体系,就必须要屏蔽 掉底层的差异。c o r b a 、d c o m 和w e bs e r v i c e 都是当今占主流地位的分布式计 算标准,可以实现异种平台间的对象的互操作。此外,还需要一个能够实现对底 层的各种数据( 包括结构化数据和非结构化数据) 统一操作的工具。 通过以上分析,以c a s e 开发环境为基础,把软件过程管理系统以如下的层 次结构划分: 数据存储层:是网络环境下的结构化数据和非结构化数据的存储形式。 标准层:是实现工具层和数据存储层透明交互的标准文件格式、协议和技术。 工具层:是作为软件过程管理系统的核心,采用基于工作流的软件项目管理、 软件配置管理等技术,以实现基于复用的软件过程。 用户层:是软件组织成员与管理系统交互的界面,用户通过标准浏览器、智能 个人终端设备或其他的客户端实现对软件过程的管理。 1 ,2 5 软件过程管理与软件配置管理 软件配置管理( s c m ,s o f t w a r ec o n f i g u r a t i o n m a n a g e m e n t ) 是软件过程的关键 要素,是开发和维护各个阶段管理软件演进过程的方法和规程。它通过在特定的 时刻标识软件系统的配置,即一组中间软件产品及描述,系统地控制对配置的更 6 浙江工业大学硕士学位论文 改,并在整个软件生命周期中维护配置的完整性和可跟踪性,使整个软件产品演 进过程处于一种可视状态。 配置管理过程作为c m m 第二级的关键过程域,是成熟度达到第二级和第三 级的关键因素。它主要控制软件的进化过程,其目的是在软件项目的整个生存周 期中,建立和维护软件产品的完整性和一致性。s c m 可以加强组织的政策和过程 的实施,同时可以追踪工作的执行过程,看它进行得如何。更为主要的是s c m 在 支持组织的过程中,可以同时获得、维护软件开发过程中的信息,这是c m m 进 行过程度量和过程优化的基础。 配置管理( c m ,c o n f i g u r a t i o nm a n a g e m e n t ) 是软件过程的一个关键部分,是 支持项目团队开发和维护,使软件产品演化过程趋于稳定的一系列控制规则,是 软件过程管理的核心。 前面本文以c a s e 开发环境为基础,设计了一个软件过程管理系统。但是由 于此系统十分庞大,彻底实现需要一定的时间。再加上所在的软件企业几起重大 的软件事故都与配置项没有得到有效管理和控制有关,因此,决定将其中一个与 开发活动联系最紧密的部分予以提前实施。这个部分就是软件配置管理。软件配 置管理作为软件开发过程的必要环节和软件过程管理的基础,支持和控制着整个 软件生命周期,相信它的实现可以为软件过程管理提供一个基础平台。此后,将 以配置管理为切入点,逐步展开,使整套系统得以实现,最后达到提高软件生产 率的目的。 软件配置管理系统是帮助实掩配置管理的工具,是软件过程管理系统的一个 重要组成部分,它用于管理软件开发过程中的各种产品与信息( 系统需求分析报 告、设计文档、软件源程序、目标代码和可执行程序等) ,帮助发现并管理在软件 开发中出现的各种变化和演进方向,跟踪软件开发的过程,保存软件开发过程中 待开发软件系统的状态供用户随时提取,简化开发过程的管理工作,有助于软件 开发和维护工作的有序化和可管理性。 1 3 国内外研究现状 软件配置管理是软件开发实施规范化、标准化、工程化的重要管理手段。目 前,国外关于软件配置管理的研究相当活跃,也出现了一些产品和原型系统。其 中具有代表性的软件配置管理产品主要有r a t i o n a l 公司的c l e a r c a s e ,p l a t i n u m 公司 的c c c h a r r e s t ,m i c r o s o f t 的v i s u a l s o u r e e s a f e 等。配置管理系统主要有格勒诺布尔 大学的a d e l e ,c o m p a q 系统研究中心的v e s 协等。近年来出现了分布、多层次软件 体系,以及基于大粒度软件构件技术的开发方法。为适应这些新的程序开发需要, 工具开发者也在不断推陈出新,不断的改进软件配鬟管理工具的功能。i b m 开发的 系统s t e l l a t i o n 加强了对团队成员协作的支持并且支持分布式开发,l s r _ m 【a g 提出 浙江工业大学硕士学位论文 f e d e r a t i o n 方法,提高软件配置管理的柔性以满足不同层次用户的需求。 国内目前对软件配置管理的研究还很少,其重要性还未被普遍认识。随着对 外技术合作的增加,越来越多的人认识到了软件配置管理的重要性,许多有识之 士在积极倡导,职能部门、有关工厂、研究所都已开始对各生产单位提出这方面 的要求,并着手开展了一些工作。北大软件工程研究所正在研究基于构件的配置 管理并开发了相应的软件配置管理系统j b c m 。华中理工大学正在进行集成的配置 管理系统的研究并开发软件配置管理系统h s c m s 。但目前国内掌握软件配置管理 要领的人不多,尚无真正建立起有效的管理体系的企业,对一些有配置管理硬性 要求的项目,基本上是应付的多。随着国内机构和厂所对配置管理意义的认识和 考核经验积累,以及中国加入w t o 后,行业按国际惯例行事、与国际接轨,软件 配置管理的好坏将毫无疑问地成为企业能否在市场竞争中获胜的重要因素之一, 谁先掌握并建立起有效的配置管理体系,谁就在市场竞争中拥有更多的筹码。本 文的研究和开发实施成功,是一项极有意义的工作。 下面简单介绍一下主流配置管理工具。 r a t i o n a lr o s e 公司推出的软件配置管理工具c l e a r c a s e ,提供了比较全面的 配置管理支持包括版本控制、工作空间管理、建立管理和过程控制,而且无 需软件开发源改变他们现有的环境、工具和工作方式。在支持模型上,c l e a r c a s e 主要支持检入检出模型。在存储上,数据存储在一个可访问的版本对象库中 ( v e r s i o no b j e c tb a s e s ,v o b ) 。在v o b 数据库中,主要描述该操作的属性,包括谁 做的、做什么、什么时候、在哪个地方及为什么等等。 i n t e r s o l v 公司的p v c s 包括v e r s i o nm a n a g e rt r a c k e rd e v e l o p e r st o o k i t 和 c o n f i g u r a t i o nb u i l d c r 等- - 个主要予产品。在支持模式上,p v c s 主要支持检入检出 模型。在存储上,p v c s 主要有两种形式的库,一是代码对象库,一是业务及经验 库。在支持平台上,w i n d o w s n t ,u n 和v a x 可以作为服务器,也可以作为客户 端。 源代码控制系统( s o u r c ec o d ec o n t r o ls y s t e m ,s e e s ) 是一种基本的源文件 版本控制工具,它适用于任何正文文件的版本维护。它基于单一文件的版本控制。 在支持模型上,s c c s 只支持检入检出模型。在存储上,通常s c c s 的软件配置库和 要维护的文件在同一目录下。在支持平台上,s c c s 支持绝大多数u n i x 操作系统, 是大多数u n i x 操作系统的附带软件包之一。 r c s ( r e v i s i o nc o n t r o ls y s t e m ) ,在支持模型上,r c s 只支持检入检出模型。 r c s 与s c c s 相似,r c s 将锁维护的版本也组织成树形结构。但r c s 允许多重分支。 在支持平台上,r c s 支持绝大多数u n i x 操作系统,也是绝大多数u n i x 操作系统的 附带软件包之一。 北大软件工程研究所推出的青鸟配置管理系统j b c m 是基于构件的新一代软 件配置管理工具。该系统面向软件企业开发、管理相关资源的需求,支持基于构 浙江工业大学硕士学位论文 件的软件开发方法,可以有效地改善软件企业的开发过程。它已应用于国内一些 企业中。但j b c m 支持的是检入检出模型,采用永久存储区和临时工作区存放数 据,缺乏对配置项间关系的管理。 华中理工大学研发的h s c m s 采用面向对象的观点组织软件实体,提供了对多 种类型的软件实体进行统一管理的数据模型。它以三类库为基础,实现了对软件 实体的跟踪、控制,并提供了支持评审、释放管理,版本控制等配置管理功能的 在线工具。h s c m s 也只支持检入检出模型,采取c 1 i e n t s e r v e r 模式。 通过总结分析,当前的配置管理工具普遍存在以下问题: 1 ) 有四个典型的配置管理模型,分别是:检入检出模型、组织模型、事务模 型和变更模型。但许多的配置管理工具只支持一个或两个模型,没有用一个 标准的配置管理模型综合这四种模型。 2 ) 在配置开发、管理过程中,应严格遵循g b t1 2 5 0 5 9 所建议的按三类库( 软 件开发库、软件受控库、软件产品库) 进行开发和管理。但现在的配置管理 工具中有的并没有完全按照国际的建议进行管理。 3 ) 目前的配置管理工具没有很好地定义配置项之间的关系,以至于当某一配置 项变更后,开发人员一般只能根据经验和文档记录找出与该配置项相关的子 程序、存储过程等其它配置项,并进行修改,而不能有效地检索出变更的波 及面。 4 ) 传统意义上的软件配置管理主要着重于软件的版本管理,缺乏软件过程支持 的概念。 1 4 本课题研究内容 配置管理工具的产生和发展,已极大地提高了软件企业的管理水平,但是软 件开发的管理水平落后于软件的开发技术。本课题的主要思想是分析c m m 的配置 管理思想、标准和管理方法,并同时按照软件工程对软件项目开发的配置管理要 求,设计一套既符合现代质量管理理论的原则,又符合软件工程要求的软件配置 管理系统。 为解决已有配置工具中存在的问题,本文研究和实现了这样一个软件配置管 理系统:它以c m m 为理念,采用新一代的软件配置管理模型大粒度、构造性 的基于构件的配置管理模型;配置项在三类库( 开发库、受控库和产品库) 中的 流转将受到配置管理活动的严格控制;一棵代表某项目的产品树定义了配置项之 间的关系;它基于n e t 框架开发,采用客户端服务器和浏览器服务器两种体系结 构相结合的方式,实现了完善、灵活的结构管理、版本管理的功能,希望用工作 流来支撑整个管理活动的有序进行。 浙江工业大学硕士学位论文 第二章软件配置管理的主要内容 配置管理主要是管理在软件开发过程中产生的各种配置项,维护配鼍项版本 的完整性和可追踪性,它不仅包括对各种配置项的管理,同时还包括对生成过程 的管理,因此可以说,配置管理控制的是整个软件系统的演变。 实施软件配置管理应达到以下几个目标: ( 1 ) 软件配置管理活动是有计划的。 ( 2 ) 选定的软件工作产品是已标识的、受控制的和适用的。 ( 3 ) 己标识的软件工作产品的变更是受控的。 ( 4 ) 受影响的组和个人得到软件基线的状态和内容的通知。 软件配置管理的实质【1 1 1 是进行版本控制、变更控制和过程支持的一系列活动。 在此基础上,近年来人们逐渐将注意力集中在配罨管理对过程支持的问题上。在 软件配置管理中,对于影响软件可靠性的技术状态的变更管理是最主要的,也是 其核心和关键,是软件配置管理的重点。这主要是为了加强软件的配置管理,确 保软件技术状态的一致性。 本章首先介绍几个有关软件配置管理的基本概念,如软件配置项、基线、版 本等概念,然后分别讨论版本控制、变更控制和过程支持方冠的详细内容。 2 1 基本概念 1 配置和配置项 软件配置管理的对象是软件配置项( s c i ,s o f t w a r ec o n f i g u r a t i o ni t e m ) 【1 1 , 一组软件配置项通过特定的系统模型组合形成一个特定的软件配景。在中国国家 标准计算机软件配置管理计划规范中指出:“软件配置是指一个产品在产品的 生命周期各阶段所产生的各种形式( 机器可读或人工可读) 和各种版本的文档、 程序及其数据的集合。该集合中的每一个元素称为该产品配置中的一个配置项 ( c o n f i g u r a t i o ni t e m ) ”。版本控制的对象可以是大粒度的软件配置,也可以是小粒 度的软件配景项。 i s o9 0 0 0 3 进一步指出配置项可以是: 与合同、过程、计划和产品有关的文档及数据。 源代码、目标代码和可执行代码。 相关产品,包括软件工具、库内可复用构件、外购软件及顾客提供的软件 等。 软件生命周期中所产生的配置项经常被划分为各个不同的种类,这种种类的 划分是进行软件配置管理的基础和前提。配置项是逻辑上组成软件系统的各组成 浙江工业大学硕士学位论文 部分。 2 版本 版本( 版本号) ,亦称配置标识,是表示一个配置项具有一组确定功能的一种 标识。随着功能的增加、修改或删除,配置项被赋予不同的版本号。一般在配置 标识方案中给出版本标记方法。 3 基线与基线管理 软件配置管理包括了在软件生命周期的时间分散点上对各配置项进行标识, 并对它们的修改进行控制的过程。在一个开发阶段结束或一组功能开发完成后, 要对相应的配置项进行基线化并形成各类基线。在配置管理系统中,基线就是一 个或一组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一 种状态,而这个过程被称为“基线化”。每一个基线都是下一步开发的出发点和考 查点。每个基线都将接受配置管理的严格控制,对其进行修改将严格按照变更控 制要求的过程进行。在一个软件开发阶段结束时,上一个基线加上增加和修改的 基线内容形成下一个基线,这就是“基线管理”的过程,因此基线具有以下属性: ( 1 ) 通过正式的评审过程建立。 ( 2 ) 基线存在于基线库中,对基线的变更接受更高权限的控制。 ( 3 ) 基线是进一步开发和修改的基准和出发点。 图2 1 表示了软件项目过程中特定点的配置基线【1 1 1 0 需求规格说明概要设计说明 项目开发计划用户手册详细设计说明源代码测试报告 图2 1 基线( 里程碑) 了解了配置管理的几个基本概念后,下面讨论配置管理过程应该涉及到哪些 活动。 2 2 配置管理活动 配置管理的主要任务是对配置项的更改进行有效的控制,其主要活动包括: 1 配置标识 配置标识主要是为每个配置项提供唯一的标识符,正确的标识每个配置项以 浙江工业大学硕士学位论文 及它们之间的联系,并以某种形式提供对它们的存取。 2 变更控制 变更控制是指记录配置项变化的相关信息,包括变化原因、变化内容、变化 的实现者等等。它还要控制变化过程,包括建立控制点,建立报告和审查制度。 3 状态统计 状态统计主要是在版本控制与过程管理的基础上,通过量化的数据和报表, 体现软件开发的进度。 4 配置审计 配置审计主要是以用户和开发团队均认可的衡量尺度,通过功能审计和物理 审计两种方式,对软件实施过程和软件功能的完整性、正确性进行检验审计。 5 构建 对产品的生成进行优化管理。它主要解决最新发布的产品应由哪些版本的文 件和工具来生成的问题。 6 过程管理 确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将保证软件过 程的正确执行,从而保证生产出高质量的软件产品。 7 小组协作 控制开发统一产品的多个开发人员之间的协作。例如,它将控制是否所有本 地程序员所做的修改都已被加入到新版本的产品中去。 一个理想的配置管理系统应该提供以上所有功能,但是在实现中,这种情况是 不可能的。实际上,一个系统若能在某种程度上提供上述部分功能,便可以称之 为配置管理系统。因为从本质上来说,配置管理系统是一种功能的综合而不是一 种标准的体系。 同时,在企业实施软件配置管理所涉及到的活动不仅仅是要采用相应配置管 理系统来支持配置管理,还需要制定一个正确的配置管理解决方案。 只有在正确的配置管理方案的指导下,并辅以有效的配置管理工具的支持, 才能够真正的做好配置管理,从而达到对软件过程的管理和改善,保证软件产品 的高质量,二者是缺一不可的。本文只讨论和翥己置管理工具的实现有关的问题。 图2 2 显示了配置管理所包含的多个活动区域,以及这些活动区域之间、它 们和公共数据之间、它们和配置管理过程区域之外的元素之阃的关系【1 2 1 。 需要指出的是,配置管理系统中保存了大量的数据,主要可以分为两类:配 置项实体与元数据。配置项实体指的是项目、构件、配置和构件版本、配置基线 等配置管理实体的内容;描述说明以及为配置管理系统进行管理所需要的信息则 被称为元数据信息。 具体地说,元数据是指管理系统维护自身运行所需的各种控制信息和各种配 置实体的描述信息,前者包含日志、用户管理、并发控制、权限控制、文件操作 浙江工业大学硕士学位论文 模式等信息。后者指配置库中的构件、分支、版本、配置和基线等对象的基本描 述信息,主要包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 月度答案交通案例一级造价工程师考试试卷试题及答案
- 材料员考试题及答案
- 民法典知识竞赛试题库(答案)
- 柴油房应急预案方案范文(3篇)
- 个人安全防护技巧讲解
- 美妆带货主播系统化培训
- 2025年华润集团入职测试题库及答案
- 2025年售票员个人年终工作总结模版(2篇)
- 储能行业的人才需求与人力资源管理研究
- 企业薪酬管理双因素激励理论研究
- 2025智能美妆镜产品开发与市场需求调研报告
- 冬季防冻安全课件
- 2025护理法律法规学习课件
- 物流管理大学职业规划
- 煤矿后勤管理人员的岗位职责
- 医院职业暴露培训课件
- 2025-2026新苏教版小学1一年级数学上册(全册)测试卷(附答案)
- 2025年跨境电商税务合规服务合同协议(2025年)
- 2025年版《义务教育信息科技技术新课程标准》试题与答案
- 人工挖方孔桩模(板)施工方案
- 无人机制造工厂建设施工方案
评论
0/150
提交评论