




已阅读5页,还剩88页未读, 继续免费阅读
(计算机应用技术专业论文)软件配置管理系统研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 7 一。一一、, l 软件能力成熟度模型( c m m 矽健目前国际上流行的指导企业进行软件过程改 进,从而提高软件产品质量的框架指南。因此企业要加强软件开发的管理,提高软 l 件产品的质量,引入一个基于c m m 的辅助开发环境便成为一个必不可少的环节。吖 配置管理系统是= l :b 4 瞳开发环境中一个重要的基础性工具,它在工作流管理系 统的支持下,与项目管理系统相互配合,完成c m m 中可重复级的管理活动。 r 系统的实现,需要数学模型的支持。而数学模型的选择要以工作流的需要为基 础并兼顾其它工具,才能使各部分之间有光滑、统的接口,利于集成。配置管理 涉及到配置项的动态变迁( 如配置项在开发库、受控库和产品库中的流动) 和静态 联系两个方面,选用对象p e t d 网作为数学模型能兼顾这两个方面,配置管理原型系 统的成功,充分证实了这一点。 配置管理系统由结构管理和版本管理两部分组成。重点研究了前者,它实现了 对配置项及其之间关系的高效维护和管理。通过分析配置项的动态变迁及它们间的 静态联系,提出一个适合结构管理的语义模型。通过给对象p e 缸网中的t o k e n “染 色”,给出该语义模型基于对象p e t r i 网的描述。同时,将它和具体评审流程的对象 p e a i 网描述结合起来,统一用对象p e t r i 网描述了整个配置管理系统。为了方便和 用户交流,还相应给出了该语义模型面向用户的描述规范。 在此基础上,构造了一个基于c o r b a 构架的配置管理系统原型,该系统集成 了工作流系统,为配置管理提供了灵活的流程支持,并且能够支持分布式异构的应 用环境,具有良好的扩展性和开放性。 关键词:软件配置管理;结构管理;工作流管理:对象p e t r i 网:c o r b a 华中科技大学硕士学位论文 a b s t r a c t s o f t w a r ec a p a b i l i t ym a t u r i t ym o d e l ( c m m ) i s v e r yp o p u l a rn o w a saf r a m e w o r kt o g u i d et h ee n t e r p r i s e st oi m p r o v et h es o f t w a r ep r o c e s sa n dp r o d u c tq u a l i t i e s s oi ti sv e r y i m p o r t a n tt oi n t r o d u c et h ec m m b a s e dd e v e l o p m e n te n v i r o n m e n t t ot h ee n t e r p r i s e sf o r e n h a n c i n g t h e m a n a g e m e n t a n di m p r o v i n gt h e p r o d u c tq u a l i f i e s 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 ) s y s t e mi so n eo ft h ei m p o r t a n t , b a s i c t o o l si nt h i se n v i r o n m e n t ,w h i c hc o o p e r a t e sw i t hp r o j e c tm a n a g e m e n ts y s t e ma n di so n t h eb a s i so ft h ew o r k f l o ws y s t e m t h e s et w os y s t e m sa c h i e v et h em a n a g e m e n tf u n c t i o n t h a ti sr e q u i r e d b y t h e r e p e a t a b l el e v e lo f t h ec m mt o g e t h e r t h ei m p l e m e n t a t i o no f t h es y s t e md e p e n d so nt h em a t hm o d e l t h es e l e c t i o no f t h e m a t hm o d e lm u s tf u l f i l lt h ed e m a n do fw o r k f l o wf i r s t ,a n ds a t i s f yt h eo t h e rs y s t e ms oa s t oe n s u r et h ei n t e r f a c e sb e t w e e nt h e s et o o l si s l u b r i c o u s ,u n i f o r r f ta n db eb e n e f i tf o r i n t e g r a t i n gw i t ho t h e rt o o l s t h em a n a g e m e n to f t h ec o n f i g u r a t i o ni n v o l v e st h ed y n a m i c t r a n s i t i o n ( s u c ha s t h ec o n f i g u r a t i o ni t e m sf l o wb e t w e e nt h e d e v e l o p m e n td a t a b a s e , c o n t r o l l e dd a t a b a s ea n dp r o d u c td a t a b a s e ) a n dt h es t a t i c r e l a t i o n s h i pb e t w e e nt h e m s e l e c t i n gt h e0 b j c o t p e t r in e t s ( o p n ) a st h em a t hm o d e lc a ng i v ea t t e n t i o nt ot h et w o s i d e s t h es u c c e s so ft h e o r i g i n a l f r a m e w o r ko fc 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 p p r o v e s t h a tw e l l c 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 c o n s i s t so ft h es t r u c t u r a l m a n a g e m e n t s u b s y s t e ma n dt h ev e r s i o nm a n a g e m e n ts u b s y s t e m t h ee m p h a s i so fr e s e a r c hi st h e f o r m e ri tm a n a g e st h ec o n f i g u r a t i o ni t e m sa n dt h er e l a t i o n s h i pb e t w e e nt h e m e f f i c i e n t l y a n d f l e x i b l y a c c o r d i n g t ot h ea n a l y s i so f t h ec o n f i g u r a t i o ni t e m sd y n a m i ct r a n s i t i o na n d s t a t i c r e l a t i o n s h i p b e t w e e nt h e m , as e m a n t i cm o d e lw h i c hi sf i tf o rt h es t r u c t u r a l m a n a g e m e n ti sp r e s e n t e d b ym e a n so fc o l o r i n gt h et o k e ni nt h ep l a c e ,a no p n b a s e d d e s c r i p t i o no f t h i sm o d e l i sp r e s e n t e dt o o a tt h es a n l et i m e ,w h i c hi sc o m b i n e dw i t ht h e o p nb a s e d d e s c r i p t i o no f t h er e v i e w p r o c e s s ,s ot h 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 i sd e s c r i b e du n i f o r m l y f o rc o m m u n i c a t i n gw i t hu s e r se a s i l y , a nu s e ro r i e n t e dg r a p h i c i i 华中科技大学硕士学位论文 d e s c r i p t i o ni ss u g g e s t e d b a s e do nt h ea b o v e ,a no r i g i n a lf r a m e w o r ko fs 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 y s t e m ,w h i c hb a s e s o nc o r b ai s g i v e n i ti n t e g r a t e s t h ew o r k f l o ws y s t e ma n d p r o v i d e st h ef l e x i b l ep r o c e s ss u p p o r tf o rt h 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 i tc a n s u p p o r th e t e r o g e n e o u sa n dd i s t r i b u t e de n v i r o n m e n ta n de n a b l et h es y s t e mt oh a v et h e c h a r a c t e r i s t i c so f s c a l a b i l i t ya n do p e n i n g k e yw o r d s :s o r 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 t r u c t u r a lm a n a g e m e n t ;w o r k 丑o w m a n a g e m e n t ;o b j e c tp e t r in e t ;c o r b a i i i 华中科技大学硕士学位论文 1 1 配置管理系统简介 1 绪论 随着软件开发人员的增加、软件产品的日益丰富和软件开发的规模不断扩大, 开发过程中产生的配置项越来越多,它们之间的关系也越来越复杂,对它们的管理 也就越来越复杂。这样,在软件开发中就会遇到一些难以解决的问题,如:在同时 进行多种产品的开发和维护时,如何保证产品版本的正确性;怎样重建先前发布的 产品:如何解决开发策略的统一与特殊版本需求之间的矛盾等。解决这些问题的有 效手段是进行配置管理【i 】口软件配置管理是一种按规则实施的管理软件开发和维护 过程及其软件产品的方法,它可以在特定的时刻标识一个软件系统的配置,系统化 的控制对配置项的变更,并在整个软件生命周期内维护配置的完整性和可追踪性。 1 1 1 配置管理系统的产生和发展 配置的概念最早应用于硬件,例如,计算机系统的c p u 、磁盘以及外设配置等 等。随着计算机软件的发展,它已由最初的“程序设计阶段”经历了“程序系统阶 段”进而演变为当前的“软件工程阶段”,软件的复杂性日益增大。此时,如果仍 然把软件看成一个单一的整体,就无法解决所面临的问题,于是配置的概念逐渐引 入软件领域,人们越来越重视软件配置的管理工作。 实施软件配置管理可以采用手工或采用自动化的软件工具,但手工实施软件配 置管理面临如下问题:首先,管理人员和开发人员存在冲突,管理人员要求完善的 过程和完备的技术资料,而开发人员往往只关注开发过程;其次,软件机构的配置 管理人员的数量一般都非常有限,难以对资源进行完善的管理;再次,手工管理过 于复杂并且不能及时跟踪软件开发过程,导致管理人员无法对软件项目开发进行有 效的管理而基于自动化的软件工具来实旅配置管理能方便、有效的扩大管理范围, 提高管理效率,减少管理的复杂度,可以有效的解决手工管理所面临的问题。因此, 软件工程化开发需要使用相应的自动化配置管理工具来实旄配置管理。 软件配置管理工具从产生到现在,大致经历了三个发展阶段。第一代的配置管 理工具可以说仅仅是处理文件版本的工具,它们是基于单一文件的工具,将各单独 华中科技大学硕士学位论文 文件改变存储在特殊的文档当中,它们一般支持恢复一提交模式,并提供分支。最 早的这类工具是s c c s 和r c s 3 1 。许多配置管理都使用它们作为文档归档工具。 这一代中其他商用产品有s u n 公司的t e a m w a r e 4 1 ( 基于s c c s ,并加上一个图 形界面) 和i n t e r s o l v 公司的p v c s 5 1 。第二代的配置管理工具是基于项目数据库的, - 其特点是所有软件开发项目的元信息和它们的文档文件分离,而存储在一个数据库 中,该数据库称为项目数据库。它将重点从文件一级移到了项目一级,对整个项目 有一个统一的视图。这一代工具有基于变动请求的i b m 的c m v c 6 ,以及s q l 公 司的p c m s 【7 】。第二代配置管理工具中那些被控制的文件不能用其它工具直接访问, 除非把它们从存档库中复制到工作目录,那么,这样就会导致本地拷贝的大量繁殖, 并且很容易用本地工作区修改后的内容重写存档库。为了解决这一问题,第三代配 置管理工具在保留项目存档库的优势的基础上增加了“文件透明”的特性。这一代 工具中最有名的是r a t i o n a l 的c l e a r c a s e t 引。它使用其专利的文件系统( m v f s ) 完 成“文件透明”。此外还有c o n l i n u u s 的c o n t i n u u s c m t 9 1 等。 1 1 2 配置管理的基本概念 配置管理主要是管理软件开发过程中产生的各种配置项,维护配置项版本的完 整性和可追踪性,它不仅包括对各种配置项的管理,同时还包括对生产过程的管理, 因此可以说配置管理控制的是整个软件系统的演变【1 0 l 。下面简要介绍一下和配置管 理相关的几个概念: 1 配置与配置项 配置是指一个产品在产品的生命周期各阶段所产生的各种形式( 机器可读或人 工可读) 和各种版本的文档、程序及其数据的集合。该集合中的每一个元素称为该 产品配置中的一个配置项( c o n f i g u r a t i o ni t e m ) 1 1 1 | 。软件生命周期中所产生的配置 项经常被划分为各个不同的种类,这种种类的划分是进行软件配置管理的基础和前 提。配置项是逻辑上组成软件系统的各组成部分。 2 版本 版本( 版本号) 是表示一个配置项具有一组确定功能的一种标识。随着功能的 增加、修改或删除。配置项被赋予不同的版本号。一般在配置标识方案中给出版本 标记方法。 2 华中科技大学硕士学位论文 3 基线与基线管理 软件配置管理包括了在软件生命周期的时间分散点上对各配置项进行标识并 对它们的修改进行控制的过程。在一个开发阶段结束或一组功能开发完成后,要对 相应的配置项进行基线化并形成各类基线。在配置管理系统中,基线就是一个或一 组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态, 而这个过程被称为“基线化”【1 2 】。每一个基线都是其下一步开发的出发点和参考点。 每个基线都将接受配置管理的严格控制,对其的修改将严格按照变更控制要求的过 程进行,在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成 下一个基线,这就是“基线管理”的过程,因此基线具有以下属性: ( i )通过正式的评审过程建立。 ( 2 )基线存在于基线库中,对基线的变更接受更高权限的控制。 ( 3 )基线是进一步开发和修改的基准和出发点。 了解了配置管理的几个有关概念,下面我们讨论一下配置管理过程究竟应该涉 及到哪些活动。 1 1 3 配置管理的主要活动 配置管理是产品开发过程中,保证开发过程有序进行,从而生产出高质量产品 的重要环节,它的主要任务就是对配置项的更改进行有效的控制【1 3 1 ,因此,其主要 活动应该包括: l - 配置项的标识 配置项的标识主要是为每个配置项提供唯一的标识符,正确的标识每个配置项 以及它们之间的联系,并以某种形式提供对它们的存取。 2 变化控制 变化控制是指记录配置项变化的相关信息,包括变化原因、变化内容、变化的 实现者等等它还要控制变化过程,包括建立控制点和建立报告和审查制度。 3 版本控制 版本控制管理软件工程过程中建立起来的配置项的不同版本。它应该可以在任 何时刻恢复任何一个配置项的任何一个版本,保证版本变化历史的可追踪性。它为 查找错误提供了方便,同时减少了配置项产生混乱的可能性,有利于维护整个软件 华中科技大学硕士学位论文 产品的完整性,它也是支持并行开发的基础。 4 状态的记录和报告 状态的记录和报告是指记录各配置项的变化状态,以反映开发活动的历史情 况。 5 构建 对产品的生成进行优化管理。它主要解决最新发布的产品应由哪些版本的文件 和工具来生成的问题。 6 过程管理 确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将保证软件过程 的正确执行,从而保证生产出高质量的软件产品。 7 小组协作 控制开发统一产品的多个开发人员之间的协作。例如,它将控制是否所有本地 程序员所做的修改都已被加入到新版本的产品中去。 一个理想的配置管理系统应该提供以上所有功能,但在现实中,这种情况是不 可能的,实际上,一个系统若能在某种程度上提供上述部分功能,我们便可以称之 为配置管理系统。因为从本质上来说,配置管理系统是一种功能的综合而不是一种 标准的体系1 4 1 。 同时,在企业实施软件配置管理所涉及到的活动不仅仅是要采用相应配置管理 系统来支持配置管理,还需要制定一个正确的配置管理解决方案。 只有在正确的配置管理方案的指导下,并辅以有效的配置管理工具的支持,才 能够真正的做好配置管理,从而达到对软件过程的管理和改善,保证软件产品的高 质量,二者是缺一不可的。本文只讨论和配置管理工具的实现有关的问题。 1 2 国内外研究状况 目前,国内外关于软件配置管理的研究相当活跃,也出现了一些产品和原型系 统。其中具有代表性的软件配置管理产品主要有r a t i o n a l 公司的c l e a r c a s e 15 1 , p l a t i n u m 公司的c c c h a r v e s t e 旧,m i c r o s o f t 的v i s u a l s o u r c c s a f c 1 刀等。配置管理系 统主要有格勒诺布尔大学的a d e l e 1 引,c o m l m q 系统研究中心的v e s m 1 9 】等。 4 华中科技大学硕士学位论文 r a t i o n a l 公司推出的c l e a r c a s e 是目前最为流行的软件配置管理工具,它主要 用于w i n d o w s 和u n i x 开发环境。c l e a r c a s e 提供了全面的配置管理功能包括版 本控制、工作空间管理、构建管理和过程控制,而且无需软件开发者改变他们现有 的环境、工具和工作方式。c l e a r c a s c 的核心功能是版本控制,它是对软件开发进程 中一个文件或一个目录发展过程进行追踪的手段。c l c a r c a s c 可对所有文件系统对象 ( 包括文件、目录和链接) 进行版本控制,同时还提供了先进的版本分支和归并功 能用于支持并行开发。因而,c l c a r c a s e 提供的能力已远远超出资源控制的范围,它 还可以帮助开发团队在开发软件时为其所处理的每一种信息类型建立一个安全可 靠的版本历史记录。c l e a r c a s c 的文件版本的组织体现在版本树结构中。每一个文件 都可以通过c h e c k o u t - - e d i t - - c h e c k i n 的命令形成多个版本,还可以包含多层分支和 子分支使项目有关人员随时了解配置项的发展过程。c l e a _ , c a s c 还提供工作空间管 理,保证开发人员拥有自己独立的工作环境,拥有自己的私人存储区,同时可以访 问成员间的共享信息。此外,c l e m c a s c 还通过v o b ( 版本对象库) 机制提供版本 间的透明访问功能。 p l a t i n u m 公司的c c c h a r v e s t ( c h a n g ec o n f i g u r a t i o nc o n 仃o i h a r r e s t ) 是一个基 于团队开发的提供以过程驱动为基础的包含版本管理、过程控制等功能的配置管理 工具。它可以在异构的平台,远程分布的开发团队以及并行开发活动的情况下保持 工作的协调和同步。不仅如此,它还可以有效跟踪复杂的企业级开发的各种变化( 变 更) 的差异,从而使企业可以在预定的交付期限内提交高质量的软件产品。 c c c i - i a r v c s t 提供集中化的管理,以实现分布式环境下软件变化的合理控制和协调。 它还可以通过简单的点击方式帮助企业创建和改变开发过程的模型,并利用这个模 型来保证软件变更得到控制,进度得到跟踪,每个成员都处于最新状态。通过工作 流的自动化,许多日常的应用开发任务可以自动化完成,包括通知、审批以及不同 阶段的变更提交。同时,c c c h a r v c s t 还预装了一系列预先定义好阶段和过程、适 用于常规应用开发环境的生命周期模型。用户可选择其中一个模型,然后进行简单 的定制,以体现自己的环境:这样就减少了实旄软件变化控制方案通常所需要的时 间和投入通过将不同的变化隔离成各自的版本系列,并辅以自动通知功能, c c c m a r v e s t 可以避免某个开发人员的变化覆盖掉其他开发人员的工作,从而很好 华中科技大学硕士学位论文 的支持团队的并发开发。它还提供与流行的集成化开发环境( i d e ) 的接口,v i s u a l b a s i c 和v i s u a lc + + ,使开发人员可以在不退出i d e 的情况下透明地完成日常的配 置管理功能。 m i c r o s o f t 公司的配置管理系统v i s u a ls o u r c e s a f e 是一个在线的配置管理工具。 它同该公司的v i s u a lc + + 、v i s u a lb a s i c 编程环境共同工作,不但能进行软件配置 的结构化存储和版本控制,而且能根据事先定义的用户权限,通过对软件配置项的 检入检出( c h e c ki n c h e c ko u t ) 控制和文件系统的权限控制,对更改进行在线生成、 审批和批准,它还可以对更改和版本做传播控制,并生成报告。 a d e l e 是格勒诺布尔大学研究的一个配置管理系统,它的基本特征是有一个较 好的数据模型,提供界面检查、产品组成的显示、配置项的构建以及工作区的控制 等。a d e l e 的设计目标是要成为软件工程环境的核心系统。a d e l e 采用中心数据库的 方式对配置项进行管理。它使用户可以定义对象的界面以及对象的实现,定义配置 项以及配置项的类别,通过属性来描述配置项的特征以及它们之间的关系。同时用 户可以通过属性来指定任一配置项进行管理,这些属性可以是系统定义的,也可以 由用户来定义。同时,用户还可以指定基于属性值的选取规则,根据此规则来查询 配置项的信息。a d e l e 还能很好的维护配置项信息的完整性和一致性。 v e s t a 是c o m p a q 系统研究中心开发的软件配置管理系统。v e s t a 能够实现对源 程序的控制以及版本的追踪,同时,它能够使软件的构建过程得以自动的执行。v e s t a 的特点在于它对于软件的构建过程实现提供了三个其它系统所不具备的方法,首 先,它的构建过程是可重复的,因为它对于配置项的描述可以唯一指定用什么样的 工具去构建哪些源程序;其次,它能存储先前构建的结果,使之可以重用,这样就 能很好的支持增量构建;第三,它能够自动的捕获和记录构建依赖,这样就保证了 构建过程的一致性。另外,它还提供了灵活的系统建模语言,以供用户准确的描述 配置项,并支持团队的并行开发。 此外,还有科罗拉多大学的n u c m l 2 0 1 ,a a r h u s 大学的r a g n a r o k 【2 ”、e p o s 小 组的e p o s l 2 2 1 和c a l g a r y 大学的d i s c t 2 3 1 等也都是较有特色的配置管理原型系统或环 境。 在国内,就c a s e 的研究和开发而言,至今已经形成了一定的研究和开发力量。 6 华中科技大学硕士学位论文 以杨芙清教授为代表的北京大学软件工程研究所对于c a s e 理论、产品和技术进行 了集中的研究,并推出了基于构件的新一代软件配置管理工具一青鸟配置管理系统 ( y b c m ) 2 4 1 。青鸟配置管理系统面向软件企业开发、管理相关资源的需求,支持 基于构件的软件开发方法,可以有效地改善软件企业的开发过程。 1 3 配置管理工具的现状分析及本课题的目的和意义 配置管理工具的产生和发展,已极大的提高了软件企业的管理水平,但软件开 发的管理水平落后于软件的开发技术,在已有的软件配置管理工具中还存在以下问 题: 1 在配置项开发、管理过程中,应严格遵循g b f r1 2 5 0 5 9 所建议的按三类库 ( 软件开发库、软件受控库、软件产品库) 进行开发和管理。但现在的配置管理工 具中有的并没有完全按照国标的建议进行管理。 2 配置管理工具不仅仅是要对配置项进行有效的管理,它还是建设整个c m m 辅助开发环境的基础工具之一。这就要求配置管理工具有很好的开放性,要为其它 工具提供必要的程序接口,以便于与其它工具的集成。对于这一点,现在许多的配 置管理工具考虑的很少,它们大多只是作为一个单独的配置管理工具来使用,很少 提供接口以便和其它工具相结合,显得开放性不足,很难使该工具作为一个子系统 集成到整个c m m 开发环境中去。 3 c m m 开发环境包括底层的工作流系统、配置管理系统和项目管理系统以及 上层的质量管理、过程管理系统等,它应该是这些系统的有机统一体,这就要求保 证各组成部分接口的光滑,因此需要用一个统一的数学模型来描述各个组成部分, 这样才能够很好的集成各个工具,使这些工具浑然一体。但目前许多系统对于系统 的数学模型研究还很不够。 , 因此本课题将着重研究配置管理系统中的结构管理子系统,采用对象p e t r i 网 ( o b j e c t e dp e t r i - n e t ) 脚】对结构管理子系统进行建模,给出配置项闻关系逻辑模型 的对象p e t r i 网描述。同时还要将工作流系统和配置管理系统进行集成,从而将过 程支持引入配置管理系统中,使该系统可以灵活地定制生命周期模型,为配置管理 和项目管理以及其它应用系统的集成提供了开放的接口,并为将来用对象p e t r i 网 7 华中科技大学硕士学位论文 描述整个c m m 开发环境奠定了基础。 华中科技大学硕士学位论文 2c m m 开发环境及配置管理系统 2 1 软件能力成熟度模型( c m m ) 软件能力成熟度模型( c a p a b i l i t ym a t u r i t ym o d e l f o rs o f t w a r e ,简称s w - c m a v 0 , 是由美国卡内基梅隆大学软件工程研究所( c m us e i ) 研究出的一种用于评价软件 承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进 行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的 软件【2 6 i 。其所依据的思想是:只要集中精力持续努力去建立有效的软件工程过程的 基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。 c m m 是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了国际软 件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。 软件产品的高质量是由高质量、可控制的软件过程来保证的t 2 ”,而c m m 的目 的就是为了改进软件过程,从而提高企业软件产品的质量。那么,什么叫软件过程 呢? 软件过程就是指软件开发人员开发和维护软件及相关产品( 如项目计划、设计文 档、代码、测试用例和用户手册) 的一套行为、方法、实践和转化过程田】。软件过 程能力是指遵循某一软件过程可能达到的预期结果的限度,机构的软件过程能力为 该机构承担下一个软件项目时可能达到的最大期望结果提供了预测手段。而软件过 程成熟度则是指针对具体的软件过程进行明确定义、管理、测量、控制和有效性的 程度。成熟度蕴涵着软件工程能力增长的潜力,表明机构软件过程的丰富性及其应 用于项目的一致性。而软件过程成熟度则意味着企业必须要不断改进软件过程能 力。同时,改进软件过程也要求企业加强管理机制,并能长期、始终地关注软件过 程。 c m m 正是制定了这样一套标准,来指导企业改进软件过程,从而提高软件能 力的成熟度的。它将企业的软件能力按其软件开发过程的完善程度分为五个等级, 分别用五个成熟度级别来表示,从一级到五级水平逐渐提高。它描述了每个等级软 件开发过程的基本特点,并明确说明了二级以上各个级别不同的关键实践领域 ( a ) ,仅当一个级别的所有关键实践都得到适当的实施,才算达到了该级别水 9 华中科技大学硕士学位论文 平。 c m m 所描述的五个成熟度级别的特征和其关键实践领域分别为: 1 初始级( i n i t i a l ) 软件过程是一次性的,有时甚至是混乱的,对过程几乎没有定义,项目的成功 往往依靠的是个人的智慧和努力。该级别没有定义k p a 。 2 可重复级( r e p e a t a b l e ) 建立了基本的项目管理过程来跟踪费用、进度和功能特性。能根据项目进度表 进行开发,对于相似的项目,可以重用以前已经开发成功的部分。该级别的k p a 主 要有需求管理、软件项目计划、软件项目跟踪和监督、软件子合同管理、配置管理 和软件质量保证。 3 已定义级( d e f i n e d ) 该级别已将管理和工程活动两方面的软件过程文档化、标准化、并综合成该机 构的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软 件。该级别的k p a 有机构过程焦点、机构过程定义、培训大纲、综合的软件管理、 软件产品工程、组间协调和同行评审。 4 已管理级( m a n a g e d ) 该级别收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的 理解和控制。该级别的k p a 有定量过程管理、软件质量管理。 5 优化级( o p t i m i z t n g ) 在该级别整个企业将会把重点放在对过程进行不断的优化。企业会采取主动去 找出过程的弱点与长处,以达到预防缺陷的目标。同时,分析有关过程的有效性的 资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。达到 该级的公司,可自发地不断改进软件过程,防止同类缺陷二次出现。该级别的k p a 有缺陷预防、技术改变管理和过程改变管理。 然而c m m 只是为企业改进软件过程、提高软件能力成熟度提供了一个框架指 南,企业要实施c m m ,还需要根据自己企业自身的具体情况制定相应的策略,并 采用一定的辅助工具才能够进行。同样,一个好的计算机辅助管理工具,它本身要 符合c m m 的要求,这样才可以真正有效地改善软件企业的开发过程。目前,大多 l o 华中科技大学硕士学位论文 数企业都采用c a s e ( 计算机辅助软件工程) 工具来进行和管理软件的开发,而事实 也证明企业引入c a s e 工具确实能够明显有效的改善软件过程,提高生产效率和产 品质量。 2 2c a s e 环境的体系结构 软件工程人员使用c a s e 工具来辅助他们工作已经有几十年了,c a s e 工具在 这几十年闻不断的发展和完善,由过去单一的功能逐步发展到现在的集成c a s e 工 作平台。c a s e 是支持软件开发过程中各阶段的工程化途径的工具和方法【捌。它能 够帮助软件开发人员进行系统的分析、设计以及提供相应的过程管理,从而使软件 开发更科学,更方便。 c a s e 环境的发展经历了三个时代,第一代c a s e 环境始于2 0 世纪7 0 年代中 期,当时是为了使结构化方法的分析、设计自动化而设计的一些工具的松散集合, 其典型的例子就是u n i x 工具箱【3 0 1 。第二代c a s e 环境是随着8 0 年代具有图形接 口的微机和工作站的问世而产生的,同第一代c a s e 环境相比,它增加了一些图表 处理功能,并通过一个公共的用户界面接口和一个公共对象管理系统将一些工具集 成起来,形成一个集成的开发环境,其典型的例子是c a s e e ( 计算机辅助软件工 程环境) 和口s e ( 集成的项目支持环境) 【3 1 1 。现在c a s e 环境已经发展到了第三 代,它是由两大类工具:开发工具和管理工具所组成的,其中前者用于直接的开发 活动,后者用于支持开发活动。它采用了“面包烤箱式”的体系结构,有利于不同 模块的集成,其体系结构如图2 1 所示。 其中,s p m ( s 0 1 a r cp r o c e s sm o d e l ) 表示软件过程模型,它决定软件工程环 境的实际运行行为,中间t 1 ,t 2 等表示工具,下层为对象管理工具。 对于前两代c a s e 环境来说,每一个环境的实现都是针对某一种软件过程模型 的,如瀑布模型、快速原型、螺旋模型等。而第三代c a s e 环境的特点则在于它的 软件过程模型可以是不固定的,用户可以根据实际情况来选择和定义s p m ,而t 1 、 砣等工具就在s p m 的控制下运行,这样第三代c a s e 环境便成为一个可配置的开 放式系统,同时也是一个软件过程驱动的通用c a s e 环境1 3 2 1 。 华中科技大学硕士学位论文 l u i s i过程建模和驱动设施 幸申申 i过程集成设施 中幸幸 i o m s j c o r b a 图2 1 第三代计算机 辅助软件工程环境体系结构 c a s e 环境包括两大类工具集:开发工具集和管理工具集。其中管理工具集管 理软件生命周期内的各种活动,它必须要以c m m 为指导,来管理软件开发,才能 够真正帮助企业使软件开发更为高效、规范,这样,便可以把管理工具集看作是一 个基于c m m 的软件开发环境,在该环境的支持下,软件开发过程才能按照c m m 的要求来进行。整个c a s e 环境如图2 2 所示。 在该环境中,管理工具集就是c v i m 工具集,加上下层的平台集成便共同组成 了c m m 开发环境,工具集中每个工具所处的层次和实现的功能都是由c m m 各级 的关键实践来决定的,也只有使各级工具的功能满足相应级别关键实践所规定的活 动以及以上级别所要求的功能扩展( 例如较低级别不要求分析而较高级别要求分 析) ,该开发环境才能从整体上满足c m m 框架的要求。 1 2 华中科技大学硕士学位论文 表示冀 开发 工具 管理 工具 平台 集成 公共用户界面 分析l 设计i 编码l 测试i 再工程i 仿真l 逆向 工具li u $ l 工具i 工具i 工具l 工具i 工具 优化管理工具( 优化级) 质量控制工具( 已管理级) 过程管理工具( 已定义级) 配置管理、项目管理工具( 可重复级) 工作流管理系统 对象管理系统( 包括数据对象和代理对象 c o r b a d b m s o s ( 包括n e t ) 图2 2c a s e 开发环境 在c l v u m 开发环境中,配置管理和项目管理工具在工作流管理系统的支撑下, 共同满足了c i v 伍4 2 级的要求,过程管理工具和质量管理工具则分别对应c m m 的3 、 4 级的要求,优化管理工具则对应于c m m 5 级要求。底层是平台的集成,因为在企 业的现实应用环境中,硬件、操作系统、网络都有可能是不同的,那么,要在整个 企业范围内引入符合c m m 要求的开发环境体系,就必须要屏蔽掉底层的差异。 c o r b a 是当今占主流地位的分布式计算标准1 3 3 1 ,它可以实现异种平台间的对象的 互操作,而对象管理系统能够实现对底层的各种数据( 包括结构化数据和非结构化 数据) 的统一操作。 由图2 2 我们知道,配置管理工具和项目管理工具一起共同构成c m m 2 级的 支撑工具,因此,它们的功能必定要能够覆盖c i v o w 2 级的所有k p a ,c m m 2 级所 规定的k p a 有需求管理、软件项目计划、软件项目跟踪和监督、软件子合同管理、 配置管理和软件质量保证。其中,软件项目计划、软件项目跟踪和监督属于项目管 理的范围,而需求管理、配置管理和软件质量保证则属于配置管理工具应该完成的 功能,对于软件子合同管理,分为两个部分,其中的人、财物、时的消耗这部分 应该归属与项目管理来负责,而其中软件配置的验收则应该属于配置管理工具来完 成a 那么由此可见,在c m m 开发环境中,配置管理工具所要完成的已经不仅仅是 传统意义上的配置管理,它还要完成需求管理、质量保证以及子合同管理的部分功 能。 rjlrlj、rj,il 华中科技大学硕士学位论文 2 3 配置管理系统的组成及其与工作流系统的关系 由上节分析可知,配置管理工具要覆盖需求管理、质量管理和配置管理以及子 合同管理的部分功能,因此结构管理【3 4 1 、版本管理便成为配置管理工具必不可少 的两个组成部分,此外它们两个还必须在工作流管理系统f 3 6 】的支持下才能够完成应 有的功能。下面简要介绍一下这几个部分。 2 3 1 结构管理子系统 随着软件生存周期的不断推进,不仅会导致新配置项的不断生成,也会产生新 版本的配置项,同时,配置项也不是孤立的,它们之间存在着复杂的逻辑关系。因 此需要采取一定的控制手段对配置项及其之间的关系进行维护和管理,为用户存取 配置项提供一种安全、高效、灵活的控制机制,并允许用户透明的访问整个软件产 品的所有配置项,而不用考虑用户和配置项的物理位置。 结构管理也称文档管理即j ,其目的是按照一定的方式组织受控库中的配置项, 以方便有关人员对配置项进行查询。因为配置管理工具的使用者主要是开发和管理 人员,他们很难记的清配置项的标识,但是却很熟悉产品的组成结构。因此结构管 理就要按照配置项间的语义关系将配置项以树的形式组织起来,我们将这种树称为 产品树口引。该产品树以关系型数据库为中心,通过将一个软件项目从功能的角度分 为若干个组成部分,将一个项目所包括的程序、数据和文档等联系起来,并对这些 配置项及其之间的关系进行了高效的维护和管理,从而可以使相关人员可以高效、 灵活的检索到正确的配置项,并实现了配置项的安全性和完整性控制。 2 3 2 版本管理子系统 在软件生命周期内,由于各种各样的原因,如需求的改变、产品的升级或者开 发人员本身的错误,经常需要对配置项进行更改,这样,就会形成配置项的多个不 同版本。不同版本的存在给数据的一致性和有效性维护带来了麻烦,这就需要进行 有效的版本管理,以确保相关人员能够获得正确、一致的信息。这不仅可以缩短开 发周期,而且能保证配置项的一致性和重用性,这对降低设计、开发费用,提高设 计、开发质量和效率均有重要的意义。 版本管理的主要目的是对配置项更改过程的管理,其主要任务是控制配置项的 1 4 华中科技大学硕士学位论文 更改过程以前,许多更改过程完全靠人工来进行管理,这样,就不可避免的会产 生各种各样的差错。所以,版本管理应该引入严格的更改管理流程,使更改流程能 够自动、严格的执行,以避免产生差错,还要能够自动搜索配置项更改所涉及的范 围,以便及时给有关人员发送更改通知,请他们关注该配置项的更改可能会引起的 影响。要能够做到数据的自动更改,即一旦更改申请得到批准,有关信息将无一遗 漏的全部得到更改,确保数据库中数据改变之后,其相关引用的数据也自动更改。 此外,还要建立更改统计功能,以便相关人员了解是谁,在什么时间,因为什么原 因更改了哪些东西。 2 3 3 工作流管理系统 工作流管理是一个被业界广泛应用并迅速发展的技术,它的主要特点是使处理 过程自动化,使人以及各种应用工具相互之间协调工作,以完成某项工作【3 9 1 。 在c m m 开发环境的体系中,工作流管理是作为配置管理和项目管理的一个支 撑系统而存在,同时也为更高层的工具提供了必要的功能支持。在配置管理中,它 主要实现了软件产品的设计与配置项的生成、修改过程的跟踪与控制。包括配置项 的提交与修改控制或监视、控制评审流程的执行以及自动通知控制等等。同时在工 作流系统的支持下,配置管理可以把软件过程的状态信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车挂靠运营合作协议模板
- 2025年通信基站电气设备安装与优化升级协议
- 2025二手车二手车经销商培训服务合同范本
- 2025年度地磅称重系统销售与售后技术支持协议
- 2025处理离婚财产争议协议范本:夫妻共同财产处理流程详解
- 2025版砂石行业供销合同模板与解析
- 2025年二手家居用品转让定金合同模板参考
- 2025装配式建筑部品部件标准化设计在装配式建筑装配式阳台预制构件施工中的应用报告
- 2025年新型智能电脑及配件研发购销合同
- 2025第一节智能制造产业链协同创新合作协议书编号:XX027
- 人教版数学四年级上册全册课本练习题精心整理可编辑可打印
- 退费账户确认书
- 郑州市第四中学新初一分班(摸底)语文模拟试题(5套带答案)
- 2-第二章-各向异性材料的应力-应变关系
- 医院防爆反恐应急预案
- 云南省安全员C证考试题库及答案
- 死亡待遇申请表
- 集中供热管网系统一次网的调节方法
- 无线充电技术在汽车上的应用
- 马工程《刑法学(下册)》教学课件 第17章 危害国家安全罪
- 11科室临床路径、单病种管理目录
评论
0/150
提交评论