已阅读5页,还剩49页未读, 继续免费阅读
(管理科学与工程专业论文)基于swcmm的软件项目管理模型研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 软件项目管理是软件工程和项目管理的交叉学科,是项目管理的原理和方法 在软件工程领域的应用。与一般工程项目相比,软件项目有其特殊性和复杂性。 有效的加强软件项目管理是提高软件组织的软件过程能力需要,是提高软件产品 质量和生产效率关键所在。近年来提出的软件能力成熟度模型( s o f t w a r ec a p a b i l i t y m a t u r i t ym o d e l ,s w - - c m m ) 是改善软件企业项目管理和质量管理的重要方法之 一。 本文首先从软件项目管理角度分析了中小软件企业普遍存在的软件管理过程 模糊、软件质量管理效率低等问题,研究了软件能力成熟度理论,分析了软件能 力成熟度模型改善软件项目管理问题的可行性,提出一套适合我国中小型软件企 业特点的基于s w - - c m m 软件项目管理模型。模型以软件项目生命周期为线索, 将项目管理过程划分为项目启动、项目计划、项目实施与监督以及项目维护四个 过程,并结合了s w - - c m m 中的项目策划,需求管理,项目跟踪和监督,软件质 量保证和配置管理五个关键过程域,就其各个过程给予具体的说明以及分析。 随后本文详细叙述并设计了模型中的项目实施与监督模块,给出了利用g q m 目标,问题度量方法,对软件项目跟踪与监督过程进行度量的模型,并结合具体项 目丌发实践,利用e v a 方法对软件开发项目的过程数据进行跟踪与控制。 软件项目管理是软件开发行之有效的管理方法,也是软件企业的基本管理功 能。基于软件成熟度模型的项目管理模型不仅为软件项目的丌发提供良好框架, 还可为软件企业通过项目管理手段提升s w - - c m m 等级有一定的帮助,对中小型 软件企业的软件过程改善、软件项目管理有一定的借鉴意义。 关键词:酬m ;软件项目管理;e v 英文摘要 r e s e a r c ho fs o f t w a r ep r o j e c tm a n a g e m e n tm o d e lb a s e do n s w c m m a b s t r a c t s o f t w a r ep r o j e c tm a n a g e m e n ti sa ni n t e r d i s c i p l i n a r yo fs o f t w a r ee n g i n e e ra n d p r o j e c tm a n a g e m e n t i t i st h e a p p l i c a t i o n o fp r i n c i p l ea n dm e t h o d so fp r o j e c t m a n a g e m e n ti nf i e l do fs o f t w a r ee n g i n e e r 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 ( s w c m m ) ,w h i c hi sd e v e l o p e di nt h e s ey e a r s ,i sd e f i n i t e l ya ni m p o r t a n tm e t h o dt o a d v a n c ep r o j e c tm a n a g e m e n ta n dq u a l i t ym a n a g e m e n tf o r t h es o f t w a r ee n t e r p r i s e s t h i st h e s i sf i r s t l ya n a l y z e st h eq u e s t i o n se x i s t i n gi nt h es o f t w a r ee n t e r p r i s e so f m e d i u mo rs m a l ls c a l e b yr e s e a r c h i n gt h es 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 lt h e o r y , i tp r o m p t sas o f t w a r ep r o j e c tm a n a g e m e mm o d e lb a s e do ns w - c m m ,w h i c hi ss u i t a b l e f o rt h es o f t w a r ee n t e r p r i s e si nc h i n a t h i sm o d e ld i v i d e st h ep r o j e c tm a n a g e m e n t p r o c e d u r ei n t of o u rs t a g e s ,p r o j e c ti n i t i a t i o n ,p r o j e c tp l a n ,p r o j e c ti m p l e m e ma n d s u p e r v i s i o n ,a n dp r o j e c tm a i n t e n a n c e ,a n dt a k e si n t oa c c o u n ta n dp r e s e n t i n ga n a l y s i so f s o f t w a r ep r o j e c tp l a n n i n g ,r e q u i r e m e n t sm a n a g e m e m ,s o f t w a r ep r o j e c tt r a c k i n ga n d o v e r s i g h t ,s o f t w a r eq u a l i t ya s s u r a n c c ,a n ds 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 ,f i v e s e c t i o n so fs w c m m t h i st h e s i sa l s od e s i g n sa n dg o e si n t od e t a i l e ds t a g eo ft h e s o f t w a r ep r o j e c tt r a c k i n ga n do v e r s i g h tm o d u l e ,p r o v i d e st h em e a s u r em o d e lo ft h e s o f t w a r ep r o j e c tt r a c k i n ga n do v e r s i g h ti ns o f t w a r ee n t e r p r i s e sp r o j e c tm a n a g e m e n t , w h i c hf a c i l i t a t e st h eg q m g o a l q u e s t i o n m e a s u r em e t h o d ,t r a c k s ,f o r e c a s t sa n d c o n t r o l s t h ep r o c e d u r ed a t ai ns o f t w a r ed e v e l o p m e n tp r o j e c tw i t ht h eh e l po fe v ai np r a c t i c eo f p r o j e c td e v e l o p m e n t s o f t w a r ep r o j e c tm a n a g e m e n tm o d e l ,b a s e do ns w - c m m ,n o to n l yp r o v i d e sa f h - mf r a m et os o f t w a r ep r o j e c td e v e l o p m e n t ,b u ta l s oh e l p ss o f t w a r ee n t e r p r i s e sp r o m o t e s w - c m ml e v e lv i ap r o j e c tm a n a g e m e n ta n dm e a n w h i l ee s t a b l i s h e sa ne x a m p l ef o r s o f t w a r e p r o c e d u r ei m p r o v e m e n ta n ds o f t w a r ep r o j e c tm a n a g e m e n t i ns o f t w a r e e n t e r p r i s e so fm e d i u mo rs m a l ls c a l e k e yw o r d s :c 删:s o f t w a r ep r o j e c tm a n a g e m e n t ;e v a 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博士,硕士学位论文:基王墨塑= m 丛的熟往亟目笪理撞型班荭:。除论 文中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在 文中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体己经 公开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:菽i 辫西刁年弓月巧日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密口 不保密d ( 请在以上方框内打“”) 论文作者签名:铷辫导师签名:庐z 么 日期:即年多月彳i :t 基于s w - - c m m 的软件项目管理模型研究 第1 章绪论 1 1 引言 随着计算机的广泛应用,计算机软件的数量以惊人的速度剧增。软件项目规 模同趋扩大,技术复杂程度日益提高,与此同时,投资者对项目在质量、工作、 投资效益等方面的要求也越来越高。但由于管理不足和缺乏有效质量保证体系, 软件产品开发和生产的效果始终不能满足要求。 2 0 世纪6 0 年代中期,人们在软件工程方法学中引入了项目的概念、原理、技 术和方法,该理论在一定程度上解决了软件生产过程中遇到的问题。但是软件管 理不善的问题依旧普遍存在。2 0 世纪7 0 年代中期,美国国防部曾专门就软件项目 做不好的原因进行调查。研究发现7 0 的项目是因为软件项目管理不善引起的, 而非技术能力不够。软件项目管理是影响软件研发项目全局的因素,而技术只影 响到局部。概括起来,软件项目失败的主要原因有:需求定义不明确;缺乏一个 好的软件研发过程;合同管理不严格;没有经常注意改善软件过程;对软件构架 很不重视;缺乏合适的监督与控制等等。在关系到软件项目成功与否的众多因素 中,软件度量、工作量估计、项目规划、进展控制、需求变化和风险管理等都是 与项目管理直接相关的因素。人们越来越意识到软件项目管理的重要性,因此项 目管理的思想逐渐融入软件开发过程中【1 】。 1 2 研究背景及意义 虽然软件项目管理是项目管理在软件行业中的应用,但是软件开发不同于其 它产品的制造:软件的整个过程都是设计过程;另外,软件开发不需要使用大量 的物质资源,而主要是人力资源;并且,软件开发的产品只是程序代码和技术文 件,并没有其它的物质结果。基于上述特点,软件项目管理与其它项目管理相比 有很大的不同。因此,就软件组织来说,反复分析自身的特点,科学、客观的选 择适合自身的项目管理方法来保证软件产品的质量,提高自身在软件行业的竞争 力,是比较合理的一种方法。同时,针对软件组织的组成结构和参与开发项目的 第1 章绪论 主要过程,需求管理、质量保证、项目跟踪与监控管理等管理的具体实施办法就 更加决定着一个软件组织尤其是中小软件组织的命脉。 成功的软件项目管理一直是软件开发的难题。将项目管理引入软件项目中, 按照项目管理自身的规律来进行软件项目的管理,将会使得软件项目的管理更加 的有效和规范,从而可以大大提高软件开发的成功率。研究新的软件项目管理方 法以提高软件的生产率和质量是软件工程的焦点。 2 0 世纪8 0 年代美国c a r n e g i em e l l o n 大学软件工程研究所( c a r n e g i em e l l o n u n i v e r s i t y s e r i e si ns o f t w a r ee n g i n e e r i n g ,c m u s e i ) 主持研究与开发的软件能力成 熟度模型( 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 ,s w - - c m m ,可简称为c m m ) , 为软件项目管理开辟了一条新的途经。软件能力成熟度模型中融合了全面质量管 理的思想,以五个不断进化的层次反映了软件过程定量控制中项目管理和项目工 程的基本原则【2 l 。c m m 的目的是不断地对软件企业的软件工程过程的基础结构和 实践进行管理和持续改进,克服软件生产中的困难,增强开发能力,能按时地、 不超出预算地制造出高质量的软件。从本质上讲,c m m 与其说是一种标准,不如 说是一种管理方法和管理思想,是于百个软件公司数十年软件开发和管理经验的 总结和升华。 现阶段国外对c m m 的研究已取得成就,但对于我国,这方面切实可行的理 论却是稀薄的。通过以上所叙述的c m m 的内容,我们可以看出,c m m 的内容十 分复杂、标准十分完备,对每一个方面的管理都有很多的具体要求标准。现在国 内软件产业的发展虽说己经具有一定规模了,但除了少数大的软件组织外,更多 的是一些规模在数十人左右的中小组织。但对于我国大多数中小型软件企业的项 目具有项目规模小、参与人员少、整个项目的费用低等一系列特点,完全按照c m m 这些标准对项目进行管理控制是很不适合的f3 1 。相对来讲,这些标准过于复杂,不 能适应项目开发工作,必须对c m m 管理的内容和标准进行一定的优化和精简, 使其适应软件项目管理的要求。立足于中小型软件组织进行研究,总结出有实际 意义的理论,力求理论上有所创新,并普及到其他类型的软件组织当中,得出更 基于s w - - c m m 的软件项目管理模型研究 具一般性的实践理论。 1 3 研究内容 本文首先对软件项目管理理论以及c m m 理论模型进行了研究,并针对c m m 五个等级的内容和结构等方面进行了详细的阐述和比较。结合我国软件组织的实 际情况,分析了软件项目管理存在的问题以及c m m 对软件组织的影响。在此基 础之上,提出了基于s w - - c m m 的软件项目管理模型,并对该模型各个部分进行 了设计及说明。最后对模型中项目跟踪和监督模块的度量及跟踪方法进行了详细 的设计,并将其应用于具体软件开发项目中,对项目进行了跟踪与监督,实现了 软件项目的科学管理。 1 4 主要章节构成 本文分为五个部分,结构安排如下: 第一章绪论 阐述了本文的研究背景和研究意义,并介绍了本文的研究内容和结构安排。 第二章软件项目管理和c m m 主要介绍了课题研究过程中涉及到软件项目管理的概念以及c m m 相关标准, 详细介绍了c m m 体系结构,并对软件项目管理与c m m 之间的关系进行了分析。 论述了当前项目管理以及c m m 发展中遇到的问题。 第三章软件项目管理模型 介绍了基于c m m 的软件项目管理模型,并对该模型的各个部分进行了详细 的分析与说明。 第四章软件项目跟踪和监督( s p t 0 ) 设计与应用 对模型中的“项目跟踪和监督”模块进行具体设计,利用g q m 度量模型和偏 差分析方法对具体项目进行了跟踪与控制。 总结 对全文工作进行了总结,并说明了本文的难点和创新点。 第2 章软件项目管理和c m m 第2 章软件项目管理和o m m 2 1 软件项目管理 2 1 1 项目与项目管理 项目是指按限定时间、限定费用和限定质量标准完成的一次性任务和管理对 象。具体的说,项目是人们通过努力,运用新的方法,将人力的、材料的和财务 的资源组织起来,在给定的费用和时间约束范围内,完成一项独立的、一次性的 工作任务,以期达到数量和质量指标所限定的目标。 项目管理就是以项目为对象的系统管理方法。根据美国项目管理学会p m i ( p r o j e c t m a n a g e m e n t i n s t i t u t e ) 对项目管理的定义,项目管理就是“在项目活动中 运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求” t 4 。这一概念指出了项目管理设计的范畴和需要达到的目标。 与项目概念相对应,项目管理又可定义为:在一个确定的时间范围内,为了 完成一个既定的目标,通过特殊形式的临时性组织运行机制,经有效的计划、组 织、领导和控制,充分利用既定有限资源的一种系统管理方法。 项目管理的因素很多,但主要由四个因素制约,分别为范围、时间、成本和 质量。 范围( s c o p e ) :也称为工作范围,指为了实现项目目标必须完成的所有工作。 工作范围根据项目目标分解得到,它指出了“完成哪些工作就可以达到项目的日 标”,或者说“完成哪些工作项目就可以结束了”。 时间( t i m e ) :项目时间相关的因素用进度计划描述,进度计划不仅说明了 完成项目工作范围内所有工作需要的时间,也规定了每个活动的具体开始和完成 日期。项目中的活动根据工作范围确定,在确定活动的开始和结束时还要考虑他 们之j 日j 的依赖关系。 成本( c o s t ) :指完成项目需要的所有款项,包括人力成本、原材料、设备租 金、分包费用和咨询费用等。项目的总成本以预算为基础,项目结束时的最终成 基于s w - - c m m 的软件项目管理模型研究 本应控制在预算内。特别在r r 项目中人力成本比例很大,而工作量又难以估计, 因而制定预算难度很大。 质量( q u a l i t y ) :是指项目满足明确或隐含需求的程度。一般通过定义工作 范围中的交付物标准来明确定义,这些标准包括各种特性及这些特性需要满足的 要求,因此交付物在项目管理中有重要的地位。另外,有时还可能对项目的过程 有明确要求,比如规定过程应该遵循的规范和标准,并要求提供这些过程得以有 效执行的证据。 时间、质量、成本这三个要素简称t q c 。在实际工作中,工作范围一般在合 同中定义;时间通过进度计划规定,成本通过预算规定,而如何确保质量在质量 保证计划规定,这是一个项目立项的基本条件。一个项目的工作范围和t q c 确定 了,项目的目标也就确定了。如果项目在t q c 的约束内完成了工作范围内的工作, 就可以说项目成功了。四者之间关系如图2 1 所示。 q 一质量 t 一时间 s 一范围 图2 1 项目管理的要素之间关系 f i g 2 1 t h er e l a t i o n s h i p o f t h e f a c t o r s o f p r o j e c t m a n a g e m e n ts y s t e m 由上图可以看出,项目管理的四个要素之间相互制约,相互关联。提高一个 指标的同时会降低另一个指标,在项目中很难保证每个目标同时达到最佳。在实 际工作中往往只能均衡多种因素做出取舍,使最终的方案对项目的目标的影响最 第2 章软件项目管理和c m m 小。例如,当进度延误时,可以采用的办法就是增加资源( 人力、财务) ,或降 低质量要求,或者是缩小开发范围。而如果添加了工作范围,可以采用的办法也 只能是增加资源,或降低质量要求或增加开发时间。 自2 0 世纪6 0 年代以来,学术界与各有关专业人士对项目管理的研究集中在 两个大的方面:一方面是各领域的专家们在探讨如何将本学科领域的专业理论及 方法应用于项目管理,如计算机、控制论、模糊数学等;另一方面则是各行各业 的专家们在研究如何把项目管理的理论及方法应用到本行业中去,如建筑业、农 业、军事工业、软件行业等。而软件项目管理则是项目管理在软件行业中的应用【5 】。 2 1 2 软件项目管理 软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成, 而对成本、人员、进度、质量、风险等进行分析和管理的活动【6 】。实际上,软件项 目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力 转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越 趋向于成熟,企业越能够稳定发展( 即减小开发风险) 。 软件产品的特质决定了软件项目管理和其他领域的项目管理有不同之处: 抽象性:软件是脑力劳动的结果,是一种逻辑实体,具有抽象性。在软件 项目的开发过程中没有具体的物理制造过程,因而不受物理制造过程的限制,其 结束以软件产品交付用户为标志。软件一旦研制成功,就可以大量复制,因此软 件产品需要进行知识产权的保护。 高度的复杂性:软件的复杂性可以很高。有人甚至认为,软件是目前为止 人类所遇到的最为复杂的事物。软件的复杂性可能来自实际问题的复杂性,也可 能来自软件自身逻辑的复杂性。实际问题的复杂性大多体现在需求、设计与开发 之间的脱节;自身逻辑的复杂性则体现在程序、模块以及之间调用关系的复杂性。 缺乏统一规则:作为一个学科,软件开发是年轻的,还缺乏有效的技术, 目前已经有的技术还没有经过很好的验证。不可否认,软件工程的发展带来了许 多新的软件技术,例如软件复用、软件的自动生成技术,也研制出了一些有效的 基于s w - - c m m 的软什项目管理模型研究 开发工具和开发环境,但这些技术在软件项目中采用的比率仍然很低。直到现在, 软件开发还没有完全摆脱手工艺的方式,也没有统一的方法,否则它早己通过装 配生产线实现了。具有不同经验和学科教育背景的人们为软件开发的方法论、过 程、技术、实现和工具的发展做出了贡献,这些多样性也带来了软件开发的多样 性1 7 。 最终状态的不确定性:与其它项目相比,软件项目的最终状态通常更具有 不确定性。用户或者并不明确自己的需求,或者不能清楚的表达需求。软件行业 的快速发展、新技术的不断出现,使得软件项目生产过程不断发生变化,而在软 件项目开发过程当中,我们总会遇到一些从未遇到过的问题,这些都使得我们难 以在初始阶段较精确的估计项目的最终状态,项目的最终状态总是要在项目生产 过程中逐步明确【s 一。所以,软件项目管理更强调项目跟踪控制管理。 软件项目管理的特殊性还体现在其管理过程以及内容的特殊性。为保证软件 项目获得成功,必须清楚其工作范围、要完成的任务、需要的资源、需要的工作 量、进度的安排、可能遇到的风险等【l0 1 。软件项目的管理工作在技术工作开始之 前就应开始,而在软件从概念到实现的过程中继续进行,且只有当软件开发工作 最后结束时才终止。其管理过程分为如下几个阶段: 启动阶段和计划阶段:在软件项目的启动计划阶段,需要组建一个领导小 组,其成员包括用户的各级和各部门的高中级领导、有经验的管理专家和系统分 析员。其任务是分析用户的实际业务和发展战略,确定系统的目标,估算资源、 成本和进度,论证、审批系统的实旌计划。 实施控制阶段:软件项目的实施控制阶段主要指软件开发阶段。此时需要 对项目的各种资源( 包括人力、资金、时间等) 、项目质量和项日风险进行全方位 的管理,控制项目范围的变动,协调各方面的工作,在进行软件系统的开发的同 时,还要进行项目的再设计和调整工作。 收尾阶段:软件项目的收尾阶段就是正式验收整个系统并移交给用户的工 作,主要包括完成项目移交的准备工作、对所建立系统进行评价、收集项目中的 各种数据、总结经验和教训,为以后系统的维护、更新和升级提供依据等。 第2 章软件项目管理和c m m 2 2 软件项目管理面临的问题 成功的项目给人们带来巨大收益,但与此同时,近些年来在软件项目和软件 产品中也暴露出一些问题: 软件项目的规模越来越大:以往的软件项目完成后编写的源程序有1 万行 已被认为是十分庞大的项目,然而如今十几万行程序的项目并不稀奇。 软件项目更加复杂:项目开发的复杂度与项目的规模不无关系。项目规模 小,参与开发的人员少,问题处理起来也简单;由于项目规模增大,参与人数大 量增加,需要解决的问题也随之复杂起来 1 1 】。 软件产品质量问题:用户调查的数据表明,对软件产品质量完全满意的只 是少数。近年来,软件产品质量不良的系统事故已造成了巨大损失。 软件开发和维护的成本:许多软件项目在开发结束前支出已超出了预算。 为提高产品质量采取的措施,使得成本进步提高。 产品延期交付:项目开始时的计划进度经常不能如期完成,必定会影响到 用户的使用或是投放市场的时机。 上述问题并非偶然,并且大多都和管理相关,解决起来有一定难度。这些问 题都促使了c m m 的研究以及应用的产生。 2 3c m m 理论 2 3 1c m m 概述 s w - - c m m ( 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 ) b 软件能力成熟度模型,是目 前软件界有很大影响的关于软件过程改进和软件过程评估的工程标准。c m m 由美 国卡内基梅隆大学软件工程研究所( c a r n e g i e m e l l o n u n i v e r s i t y s e r i e s i n s o f t w a r e e n g i n e e r i n g ,c m u s e i ) 在美国国防部资助下于2 0 世纪8 0 年代末建立的,用于 评价软件机构的软件过程能力成熟度的模型。 s e i 将c m m 定义为:对于软件组织在定义、实现、度量、控制和改善其软件 过程中各个发展阶段的描述。这个模型便于确定软件组织的现有过程的能力和查 找软件质量及过程改进方面关键的问题,从而为选择过程改进战略提供指南 1 2 1 。 基丁二s w - - c m m 的软件项目管理模型研究 此模型在建立和发展之初,主要目的在于为大型软件项目的招投标活动提供 一种全面而客观的评审依据,发展到后来被应用于软件机构内部的过程改进活动 中。c m m 的发展历史如图2 2 所示。 s e i 与m i h e 公司的过程 模型框架 s e i 提出了过 程成熟度框 架以及成熟 度闯卷 w a t t s h u m p h r e y 的软件过程 管理 s e i 能力成 熟读框架 v 1 0 图2 2c m m 发展历史里程碑 f i g 2 2t h em i l e s t o n eo fd e v e l o p m e n to fc m m s e i c m m v 1 1 2 3 2g m m 体系结构 c m m 的成熟度演进框架包含5 个由低到高的等级。它是衡量软件组织过程成 熟度的尺度,同时也是引导软件组织从自己的实际状况出发进行过程持续改进的 目标,为企业改进过程提供导向的路线图。其结构体系如图2 3 所示。 五个级别分别是:初始级、可重复级、已定义级、已管理级和优化级。这五 个成熟度级别确定了用以度量一个软件机构的软件过程成熟度和评价其软件过程 能力的一种顺序等级。c m m 的五个成熟度级别不仅为商业领域中的软件项目的招 投标活动提供了评判依据,更重要的是,它为软件机构不断进行的过程改进提供 了由低到高、由浅入深的明确方向和目榭”i 。 c m m 的5 个等级特征分别如下: 初始级:项目的执行随意甚至混乱,软件开发过程未经定义,即使有某些 规范也并未严格执行,软件质量并无客观的预测与监控体系保证实现。能力只是 个人行为不是组织行为,一旦人员流动或变动,整个企业的开发能力也随之而去。 整个企业的软件生产是不可重复,不可预见,不成体系,不可积累及不稳定的。 第2 章软件项目管理和c m m 图2 3c m m 能力成熟度等级 f i g 2 3t h ec a p a b i l i t ym a t u r i t yl e v e lo fc m m 可重复级:管理制度化,建立了基本的管理制度和规章,管理工作有章可 循。已建立基本的项目管理过程,能有计划地跟踪项目成本、进度和规模。同时 建立了必要的过程纪律,形成整个项目过程的制度化。对于类似的项目,能重复 以前的项目和成功之道。初步实现标准化,变更均依法进行,做到基线化,稳定 可跟踪。 已定义级:开发过程,包括技术工作和管理工作,均实现标准化和文档化。 建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均稳定实施, 项目的质量、进度和费用均可控制,对项目进行中的过程、岗位和职责均有共同 的理解。因为整个软件过程已得到完整定制,所以管理者可以洞察到所有项目的 进展,不仅仅是成本和进度,还有对获取客户满意度至关重要的软件质量,真正 做到软件过程的可控、可预测。 已管理级:产品和过程已建立了定量的质量e t 标。利用一个全组织的软件 过程数据库,收集和分析从不同项目进行过程中得到的数据,对生产过程中的生 基丁s w - - c m m 的软什项目管理模型研究 产率和质量进行度量。这些度量为定量的分析、评估项目的软件过程和产品质量 打下坚实的基础。项目通过将其过程性能的变化限制在定量的可接受的范围内, 实现对其产品和过程的控制。通过预测过程和产品质量趋势,如预测偏差,实现 及时纠正。 优化级:该等级软件过程能力的特征为不断改进。组织为扩大其过程能力 的范围进行着不懈的努力,因而不断改善其项目过程性能。既可以采用在现有过 程基础上增量前进的方式,也可以通过采用新技术、新方法方式。为了预防缺陷 出现,组织想办法识别过程中的弱点并预先有针对性地加强过程。利用软件过程 的有效数据对新技术和组织软件过程的更改进行分析,识别出最好软件工程的技 术创新,并推广到整个组织 1 4 , 1 5 。 5 个成熟度等级定义了一个有序的尺度,用来测量一个组织的软件过程成熟度 和评价其软件过程能力。从效果而言,在上述不同阶段,软件开发生产的成熟程 度给软件企业带来了完全不同的效果。第一阶段到第五阶段,软件开发生产的计 划精度越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低 1 1 6 1 。 c m m 为软件的过程能力提供了一个阶梯式的改进框架,它基于以往软件工程 的经验教训,提供了一个基于过程改进的框架图,它指出一个软件组织在软件开 发方面需要哪些主要工作,这些工作之间的关系,以及开展工作的先后顺序,一 步一步的做好这些工作而使软件组织走向成熟。c m m 的思想来源于已有多年历史 的项目管理和质量管理,自产生以来几经修订,成为软件业具有广泛影响的模型。 2 3 3c m m 内部结构 c m m 由5 个成熟度等级组成,每个等级有着各自的功能。除初始级外,c m m 的每一等级都是按完全相同的内部结构构成。首先是在每个等级中含有关键过程 域,其次每个关键过程域具有自己的目标,目标可以作为一个项目是否有效地实 施了该关键过程域的判断标准;以及为达到这些目标必须要做的若干关键实践, 关键实践描述了对关键过程域有效实现和制度化起重要作用的基础设施和活动。 c m m 的内部结构可以用图2 4 表示“7 1 。 第2 章软件项目管理和c m m 图2 4c m m 内部结构 f i g 2 4t h es t r u c t u r eo fc m m 关键过程域( k e yp r o c e s sa r e a ,以下简称k p a ) :是c m m 第2 至第5 级的最重要的特征。由于初始级被认为是混乱的、个别的过程,没有规律可供遵 循,过程往往是因项目而易,因项目负责人而易,因此并没有k p a 。 图2 5 给出了2 级至5 级的k p a ,其中2 级有6 个,3 级有7 个,4 级有2 个, 5 级有3 个,共计1 8 个。 基于s w - - c m m 的软件项目管理模型研究 优 化 级 已 管 理 级 已 定 义 级 可 重 复 级 持续改进过程 过程变更管理p c m 技术变更管理t c m 缺陷预防d p 5 级 规范化过程软件配置管理s c m 软件质晕保证s q a 软件子合同管理s s m 软件项目追踪s p t 软件项目策划s p p 需求管理r m 个别过程 图2 5 关键过程域 f i g 2 5k e yp r o c e s sa r e a 初始级 这些关键过程域是从管理、组织和工程3 个侧面考虑的,因此,如果把这1 8 个关键过程域加以分类,那么可以通过表2 1 加以理解。 - 1 3 第2 章软什项目管理和c m m 表2 1 关键过程域分类 t a b 2 1t h es o r t so f a 过程分类 管理过程组织的过程工程过程 ( 软件项目策划、软件( 跨项目过程、培训、 ( 需求分析、设计、编 等级项目管理等)基础设施等)码、测试等) 技术变更管理 5优化级 过程变更管理 缺陷预防 4 已管理级定量过程管理 软件质量管理 组织过程关注 集成软件管理 软件产品工程 3 己定义级 组织过程定义 组间协调 同行评审 培训大纲 需求管理 软件项目策划 软件项目跟踪与监控 2 可重复级 软件子合同管理 软什质量保证 软件配置管理 1 初始级 特定过程 可以从表中看到,2 级的关键过程域均集中于管理过程,3 级则突出了组织的 过程,兼有管理过程和工程过程,而4 级和5 级的关键过程域均有跨越两个过程 域的情况。 关键过程域是达到相应成熟度等级必须具备的条件和衡量标准,表达了过程 成熟度的要求,它是多年来软件工程和软件管理的实践以及过程评估,软件能力 评价的经验体现。由于过程能力是按等级顺序排列的,因此各个k p a 相互之间存 在着一定的配合关系,在一些k p a 未得到稳定实旌的情况下,很难再与其相关的 另外一些k p a 上单独地取得成效。事实上,每一等级的k p a 都为高一等级的过 程改进提供了必要的基础。每一k p a 包含了一组相关的活动,这些活动的实施对 基于s w - - c m m 的软件项目管理模犁研究 达到规定的目标是十分必要的 1 8 19 l 。 目标:c m m 为每个k p a 规定了一组目标,用于确定一个项目是否已有效 地实施k p a 。目标表示k p a 的范围、边界和意图。在调整一个k i : a 的关键实践, 使其适应于一个具体项目时,目标可用于确定该项调整是否对原实践做出合理的 描述。类似的,当评估或评价实施k p a 的替代方法时,目标可用于确定替代方法 是否满足k p a 的意图。 共同特点:k p a 按公共特性加以组织。共同特点是表明一个k p a 的实施 和规范化是否有效、可重复且持久的一些属性。五个共同特点如下:执行约定、 执行能力、执行的活动、度量和分析、验证实施。 关键实践:每个k p a 用一些对实现其目标做出贡献的关键实践加以描述。 关键实践描述了对关键过程域的有效实施和制度化起着重要作用的基础设施和活 动。关键实践描述要“做什么”,但这些关键实践并未强行规定过程应当“如何 做”。替代的实践也可能实现该k p a 的目标地2 ”。 2 4 软件项目管理与0 m m 目前我国的中小软件组织的所占比例很大,无论它们是产品型还是项目型的 组织,都还没有形成适合自己特点的软件开发管理模式。因此要想解决软件产品 开发过程中存在的一系列管理不规范的问题,就必须引进一个适合我国中小软件 企业的软件项目管理模型,从而保证软件项目开发工作的顺利进行【2 2 1 。 项目管理是c m m 的基础之一,实施c m m 最原始的目的是为了提高对软件开 发项目的管理,在c m m 中,设置了多个与项目管理相关的k p a ,如:需求管理、 软件项目计划、软件项目的跟踪和监督、软件质量保证和软件配置管理,这充分 体现了项目管理在c m m 模型中的重要性。 针对中小型软件项目在开发管理中存在的问题时,引入c m m 项目管理标准 到软件项目中,将更有助于软件项目的实施与管理。通过以上所叙述的c m m 的 内容,我们可以看出,c m m 的内容十分复杂、标准十分完备。但由于中小型软件 项目具有项目规模小、参与人员少、整个项目的费用低等一系列特点,因此完全 第2 章软件项目管理和c m m 按照c m m 这些标准对中小型软件项目进行管理控制是很不适合的,必须对c m m 管理的内容和标准进行一定的优化和精简,使其适应中小型软件项目管理的要求。 基于s w - - c m m 的软件项目管理模犁研究 第3 章软件项目管理模型 c m m 侧重于对企业的软件过程和软件能力的评估进行评价,它提供的是一个 软件过程改进的框架,这个框架与项目管理的生命周期无关,因此它并不是企业 可以直接采纳的软件开发方法和项目管理方法。但是作为一个指南,c m m 能够帮 助软件企业选择、采纳和合理使用一些先进的软件项目管理方法和软件开发方法, 并在实践活动中不断提高和完善,从而极大程度地提高企业按计划的时间和成本 提交有质量保证的软件产品的能力。 3 1 软件项目管理模型 这里提出一个基于s w - - c m m 的软件项目管理模型,其总体结构如图3 1 所 示。 项目启动 项目计划项目实施与控制 项日维护 。zl 项 项需 目 目 求 跟 策 管 踪 和 划 理 监 督 软件质量保证 配置管理 图3 1 基于s w - - c m m 的软件项目管理模型 f i g 3 1t h es o f t w a r ep r o j e c tm a n a g e m e n tm o d e lb a s e do ns w - c m m 模型生命周期的划分结合了项目管理生命周期,主要分为: 项目启动 项目计划 第3 章软件项目管理模型 项目实施与控制 项目维护 结合c m m 中项目管理部分k p a 分别为:项目策划、需求管理、项目跟踪和 监督,同时支持过程包括2 个k p a ,为软件质量保证和配置管理。 下面将就各个模块进行具体说明。 3 2 项目启动 为保证项目正常启动,项目资源配置合理,项目能有效展开,需要进行项醒 启动工作。包括可行性分析、项目立案、制订项目配置管理计划等工作内容,达 到建立项目,确定项目管理负责人,为项目实施准备财务预算以及相关资源的目 的吲。 在进行任何一项项目时,首先要进行项目的可行性分析和研究。其目的是用 最小的代价在尽可能短的时间内确定该软件项目是否能够开发、是否值得开发。 总体来说,可从以下三个方面分析项目可行性: 技术可行性:因为项目的目标、功能和性能比较模糊,技术可彳亍性研究一 般要考虑开发的风险、资源的有效性以及相关技术的发展是否支持这个系统。 经济可行性:确定开发的项目是否值得投资开发,衡量经济上是否合算。 社会可行性:研究要开发的项目是否存在任何侵犯、妨碍等责任问题,以 及现有的管理制度、操作方式是否可行。 本模型可行性分析步骤如下: 确定项目规模和目标。 研究正在运行的系统:分析现有系统是否满足需求,费用是多少。 推荐可行性方案:根据分析决定该项目是否值得开发,同时提出解决方案, 并说明该方案可行的原因和理由。 编写可行性研究报告。 在可行性分析基础之上,可以进行项目立案。立案的时机一般是在合同签署 后,在职能管理负责人要求下进行项目立案。在项目立案时,要进行立案管理。 基y - s w - - c m m 的软件项目管理模犁研究 项目立案的主要工作包括: 确定项目名称、目标、来源、基本要求等内容。 确定项目管理负责人。 审核并通过 一个软件项目启动以后,要认真分析项目的要求和特点,制定相应的配雹管 理计划。配置管理计划通常要涉及到该项目对软件配置管理的要求、实施软件配 置管理的责任人、责任组织及其职责、开展的软件配置管理活动、方法和工具等 1 2 4 , 2 5 。 3 3 项目计划 软件项目计划的目的是为项目的开发和管理工作制定合理的行动纲领,使所 有人员按照该计划有条不紊的开展工作。对任何软件工程项目来说,其任务均是 按期、按预算开发出满足用户需求的,高可靠,高性能的软件产品。要做到这点, 项目计划是基础。项目计划是为实现预定目标而作的科学预测,以它为基准跟踪 和控制项目。 该过程主要包括:项目估算,风险估计,项目约定,工作分解,职责分配四 个方面。 3 3 1 工作分解 对软件项目进行计划,第一个问题是对软件规模进行度量。软件规模是软件 工作量的主要影响因素,对软件规模的估计要从软件的分解开始。软件项目的设 计有一个分层结构,这一分层结构就对应着工作分解结构( w o r kb r e a k d o w n s t r u c t u r e ,w b s ) ,它将软件过程和软件产品结构联系起来 2 6 , 2 7 。图3 2 是一个典 型的w b s 结构。 第3 章软件项目管理模璎 图3 2 典型的w b s 结构 f i g 3 2t h es t r u c t u r eo ft y p i c a lw b s 有了工作分解之后,就可以对软件规模进行估计,常用的软件规模度量标准 有两种:功能点f p ( f u n c t i o n p o i n t s ) 和代码行l o c ( l i n e s o f c o d e ) 。一般来说, w b s 越细,对软件规模的估计越准确。 功能点度量是基于系统功能的一种规模估计方法,是面向功能度量。主要考 虑程序的“功能性”和“实用性”,而不是对l o c 计数。该方法是利用软件信息 域中的一些计数和软件复杂性估计的经验关系式而导出每个功能点工作量。 在本模型中我们采用l o c 的方式对软件项目的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑电气照明系统控制线路敷设要求制定方法选择
- 数控车床加工仿真系统维护保养课程设计
- 手卫生要求及管理
- 麻醉科全麻醉风险评估规范
- 全科医学科基层医疗诊治指南
- 全科医学科家庭护理要点
- 淋巴瘤康复训练计划
- 泌尿外科腹腔镜胆囊切除术围手术期护理指南培训
- 海洋设计创新与实施框架
- 旅居设计案例分享
- DB33∕T 1398-2024 惠民型商业补充医疗保险服务规范
- 地贫防控知识培训课件
- 2024年浙江省慈溪市中考数学考前冲刺试卷及参考答案详解【培优】
- GB/T 26941-2025隔离栅
- 一张纸水库防汛应急预案
- 健康教育学题库及答案
- 四川省成都市天府七中2024-2025学年八年级下学期第二次段考数学试卷(含答案)
- 新疆公务员面试题目及答案
- 重庆市2025-2026学年度第二学期八年级下历史期末模拟试卷及答案
- 学堂在线 运动与健康 章节测试答案
- 2024-2025学年北京市海淀区七年级下英语期末考试题(含答案和音频)
评论
0/150
提交评论