软件开发过程管理.ppt
《软件开发过程管理.ppt》由会员分享,可在线阅读,更多相关《软件开发过程管理.ppt(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华中科技大学软件学院华中科技大学软件学院 THE SCHOOL OF SOFTWARE ENGINEERING OF HUST第第 3 章章 软件开发过程管理软件开发过程管理 2THE SCHOOL OF SOFTWARE ENGINEERING OF HUST本章内容提要本章内容提要CMMCMM和和ISO9000ISO9000 传统软件开发生命周期模型传统软件开发生命周期模型 扩展软件开发生命周期模型扩展软件开发生命周期模型 3.1质量计划质量计划 3.4案例分析案例分析 3.5本章小结本章小结 3.6复习思考题复习思考题 3.73.23.33THE SCHOOL OF SOFTWARE E
2、NGINEERING OF HUSTn 软件过程软件过程是指人们用于开发和维护软件及其相关产品的一系列活动、方是指人们用于开发和维护软件及其相关产品的一系列活动、方法、实践和革新。法、实践和革新。n 软件开发过程管理软件开发过程管理是指在软件开发过程中,除了先进技术和开发方法外,还有一是指在软件开发过程中,除了先进技术和开发方法外,还有一整套的管理技术。整套的管理技术。n 软件过程改进软件过程改进是针对软件生产过程中会对产品质量产生影响的问题而进行的,是针对软件生产过程中会对产品质量产生影响的问题而进行的,它的直接结果是软件过程能力的提高。它的直接结果是软件过程能力的提高。现在常见的软件过程改
3、进方法:现在常见的软件过程改进方法:ISO 9000,SW-CMM和由多和由多种能力模型演变而来的种能力模型演变而来的CMMI。3.1 CMM和和ISO9000 4THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.1 SW-CMM和和CMMI nSW-CMMSW-CMM简介简介 为了保证软件产品的质量,为了保证软件产品的质量,19911991年美国卡内基年美国卡内基梅隆大学软梅隆大学软件工程研究所(件工程研究所(CMU/SEICMU/SEI)将软件过程成熟度框架进化为软件能)将软件过程成熟度框架进化为软件能力成熟度模型(力成熟度模型(Capabilit
4、y Maturity Model For SoftwareCapability Maturity Model For Software,简,简称称SW-CMMSW-CMM),并发布了最早的),并发布了最早的SW-CMM 1.0SW-CMM 1.0版。版。SW-CMMSW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。,阶梯共有五级。5THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.1 SW-CMM和和CMMI 1 初始级2 可重复级3 已定义级4 已管理级5 优化级无序、混乱的软件过
5、程。依赖个别人的努力和机遇。建立基本的项目管理过程。相似项目,重复以往成果。文档化、标准化和标准的软件软件过程。软件过程和产品质量有详细的度量标准。持续的对过程进行改进。图 CMM分级标准6THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.1 SW-CMM和和CMMI n KPA KPA及及KPKP除第一级外,除第一级外,SW-CMM的每一级都是按完全相同的结构组成的每一级都是按完全相同的结构组成的。每一级包含了实现这一级目标的若干关键过程域(的。每一级包含了实现这一级目标的若干关键过程域(KPA),每),每个个KPA进一步包含若干关键实施活动(进一步
6、包含若干关键实施活动(KP),无论哪个),无论哪个KPA,它,它们的实施活动都统一按六个公共属性进行组织,即每一个们的实施活动都统一按六个公共属性进行组织,即每一个KPA都包都包含六类含六类KP:1. 目标目标2. 实施保证实施保证3. 实施能力实施能力 4. 执行活动执行活动 5. 度量分析度量分析6. 实施验证实施验证7THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.1 SW-CMM和和CMMI n CMMI CMMI简介简介由于不同领域能力成熟度模型存在不同的过程改进,重复的由于不同领域能力成熟度模型存在不同的过程改进,重复的培训、评估和改进活
7、动以及活动不协调等一些问题。于是由美国培训、评估和改进活动以及活动不协调等一些问题。于是由美国国防部出面,美国卡内基国防部出面,美国卡内基梅隆大学软件工程研究所(梅隆大学软件工程研究所(CMU/SEI)于)于2001年年12月发布的月发布的CMMI 1.1版本包括四个领域:软件工程版本包括四个领域:软件工程(SW)、系统工程()、系统工程(SE)、集成的产品和过程开发()、集成的产品和过程开发(IPPD)、)、采购(采购(SS)。)。8THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.1 SW-CMM和和CMMI n CMMICMMI有两种不同的实施方
8、法有两种不同的实施方法n连续式主要是衡量一个企业的项目能力连续式主要是衡量一个企业的项目能力n阶段式主要是衡量一个企业的成熟度阶段式主要是衡量一个企业的成熟度连续式与阶段式所包含的过程域是完全一致的。两者的区别主要在于过程域的组织方式不同,阶段式是用来描述组织整体上的成熟度,而连续式关注的是组织单个过程域的能力。如果组织注意力主要集中在某几个过程域上时,则采用连续式比较合适9THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTn CMMICMMI的五个台阶的五个台阶n 完成级完成级n 管理级管理级 n 定义级定义级 n 量化管理级量化管理级 n 优化级优化级 n
9、 每一个台阶都是上面一阶台阶的基石。要上高层每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶台阶必须首先踏上较低一层台阶。 10THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 与与SW-CMM 的结构相比,的结构相比, CMMI 的模型结构显得更的模型结构显得更加复杂与精细。加复杂与精细。 CMMI 从过程域所有的实践提炼出从过程域所有的实践提炼出了多个过程域所共有的实践,称为一般实践,将其目了多个过程域所共有的实践,称为一般实践,将其目标称为一般目标,其余特定于某个过程域的实践与目标称为一般目标,其余特定于某个过程域的实践与目标称为
10、特定实践与特定目标。这样模型取得了相对标称为特定实践与特定目标。这样模型取得了相对 SW-CMM 更高的抽象度与适应范围。更高的抽象度与适应范围。 目标(一般目标与特定目标)首次作为模型构成成分目标(一般目标与特定目标)首次作为模型构成成分出现,这表明出现,这表明CMMI 对过程活动的结果投入了更多的对过程活动的结果投入了更多的关注。关注。 11THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.2 ISO9000质量标准质量标准 n ISO9000ISO9000 所谓所谓“ISO9000”不是指一般意义上的一个质量保证标准,而是一不是指一般意义上的一个
11、质量保证标准,而是一族系列标准的统称。族系列标准的统称。 n作用作用强化品质管理,提高企业效益;增强客户信心,扩大市场份强化品质管理,提高企业效益;增强客户信心,扩大市场份额;额;获得了国际贸易获得了国际贸易“通行证通行证”,消除了国际贸易壁垒;,消除了国际贸易壁垒;节省了第二方审核的精力和费用;节省了第二方审核的精力和费用;在产品品质竞争中永远立于不败之地;在产品品质竞争中永远立于不败之地;有效地避免产品责任;有效地避免产品责任;有利于国际间的经济合作和技术交流。有利于国际间的经济合作和技术交流。12THE SCHOOL OF SOFTWARE ENGINEERING OF HUST3.1.
12、3 三者之间的比较三者之间的比较 n 选择选择SW-CMMSW-CMM还是还是CMMICMMI的考虑的考虑实施企业的业务特点。实施企业的业务特点。实施企业的业务特点:实施企业的业务特点: 如果企业的规模不是很大,业务又集中在如果企业的规模不是很大,业务又集中在软件开发为主,那么还是软件软件开发为主,那么还是软件CMM比较适用。如果企业的规模比较适用。如果企业的规模比较大(开发人员比较大(开发人员100人以上),并且业务不仅仅集中在软件开人以上),并且业务不仅仅集中在软件开发,还包括硬件开发哪怕是硬件代理(采购)都可以考虑实施发,还包括硬件开发哪怕是硬件代理(采购)都可以考虑实施CMMI。13T
13、HE SCHOOL OF SOFTWARE ENGINEERING OF HUST 实施企业对过程改进的熟悉程度:实施企业对过程改进的熟悉程度: 如果企业已经实如果企业已经实施过施过ISO 9000,并且取得了较好的效果,那么可以,并且取得了较好的效果,那么可以考虑实施考虑实施CMMI。如果企业虽然没有实施过。如果企业虽然没有实施过CMM,但,但是对于过程改进一直比较关注,接受过不少相关培训是对于过程改进一直比较关注,接受过不少相关培训,甚至能够自发的进行一些过程改进,那么也可以考,甚至能够自发的进行一些过程改进,那么也可以考虑实施虑实施CMMI。如果过去没有接触过类似的工作,那。如果过去没有
14、接触过类似的工作,那么最好先从软件么最好先从软件CMM 2级开始,首先建立持续过程级开始,首先建立持续过程改进的思路。另外,软件改进的思路。另外,软件CMM的要求也比的要求也比CMMI要稍要稍低一些。可以适当降低实施的难度低一些。可以适当降低实施的难度14THE SCHOOL OF SOFTWARE ENGINEERING OF HUST实施企业对过程改进的熟悉程度。实施企业对过程改进的熟悉程度。实施企业对过程改进的熟悉程度:实施企业对过程改进的熟悉程度: 如果企业已经实施过如果企业已经实施过ISO 9000,并且,并且取得了较好的效果,那么可以考虑实施取得了较好的效果,那么可以考虑实施CMM
15、I。如果企业虽然没有实施。如果企业虽然没有实施过过CMM,但是对于过程改进一直比较关注,接受过不少相关培训,甚,但是对于过程改进一直比较关注,接受过不少相关培训,甚至能够自发的进行一些过程改进,那么也可以考虑实施至能够自发的进行一些过程改进,那么也可以考虑实施CMMI。如果过。如果过去没有接触过类似的工作,那么最好先从软件去没有接触过类似的工作,那么最好先从软件CMM 2级开始,首先建级开始,首先建立持续过程改进的思路。另外,软件立持续过程改进的思路。另外,软件CMM的要求也比的要求也比CMMI要稍低一要稍低一些。可以适当降低实施的难度些。可以适当降低实施的难度15THE SCHOOL OF
16、SOFTWARE ENGINEERING OF HUST实施企业对过程改进项目的预算。实施企业对过程改进项目的预算。实施企业对过程改进项目的预算:实施企业对过程改进项目的预算: 不论怎样,几乎可以肯定地说,实施不论怎样,几乎可以肯定地说,实施CMMI的费用肯定要比实施的费用肯定要比实施CMM高出一些。而就模型本身来看,高出一些。而就模型本身来看,CMMI的的2级级7个过程区域在内容上并不比软件个过程区域在内容上并不比软件CMM的的2级级6个关键过程区域多个关键过程区域多多少。这样的话,我们完全可以多少。这样的话,我们完全可以“少花钱、多办事少花钱、多办事”,也就是说可以,也就是说可以采用采用C
17、MM的实施和评估方法,但可以在过程改进的时候参考的实施和评估方法,但可以在过程改进的时候参考CMMI的的要求,这样就经济很多。要求,这样就经济很多。16THE SCHOOL OF SOFTWARE ENGINEERING OF HUST -实施企业是否可以使用阶段式的演进路线实施企业是否可以使用阶段式的演进路线 : 如果企业只希望单方面的提高自己在项目管理、如果企业只希望单方面的提高自己在项目管理、工程活动、支持活动或者过程管理四个方面中的某些工程活动、支持活动或者过程管理四个方面中的某些方面的能力,那么就只能应用方面的能力,那么就只能应用CMMI的连续表示方法的连续表示方法。如果实施企业可以
18、接受成熟度级别的思路(目前看。如果实施企业可以接受成熟度级别的思路(目前看国内大多数企业还是比较习惯于成熟度级别的),那国内大多数企业还是比较习惯于成熟度级别的),那么就不一定必须选择么就不一定必须选择CMMI了。了。17THE SCHOOL OF SOFTWARE ENGINEERING OF HUST-实施实施CMM与与CMMI可以平滑的转换。可以平滑的转换。 CMMI并不要求一家企业必须先做并不要求一家企业必须先做CMMI的的2级然后再级然后再向更高的成熟级别演进,评估的时候也没有这样的要向更高的成熟级别演进,评估的时候也没有这样的要求。求。 另外,另外, CMMI的评估都会根据被评估的
19、成熟度级别,的评估都会根据被评估的成熟度级别,检查所有不高于该级别的过程区域。换句话说,一个检查所有不高于该级别的过程区域。换句话说,一个企业在企业在CMM正式评估中达到了正式评估中达到了2级的成熟度,将来改级的成熟度,将来改为基于为基于CMMI进行过程改进。在进行过程改进。在CMMI 3级的正式评级的正式评估时,估时,CMMI 2级的内容同样要进行检查。如果我们级的内容同样要进行检查。如果我们能够在做能够在做CMM 2级的时候就按照级的时候就按照CMMI的要求实施,的要求实施,效果没有任何的折扣,但对于实施企业来说,会节省效果没有任何的折扣,但对于实施企业来说,会节省很多在培训和评估方面的很
20、多在培训和评估方面的“额外额外”费用。(此处的费用。(此处的“额外额外”费用是指费用是指CMMI收费比收费比CMM高出的部分)高出的部分)18THE SCHOOL OF SOFTWARE ENGINEERING OF HUSTn ISO9001ISO9001与与CMMCMM的关系的关系ISO9001和和CMM既有区别又相互联系,两者不可简单地互相替既有区别又相互联系,两者不可简单地互相替 代。代。取得取得ISO9001认证并不意味着完全满足认证并不意味着完全满足CMM某个等级的要求。某个等级的要求。取得取得CMM第第2级级(或第或第3级级)不能笼统地认为可以满足不能笼统地认为可以满足ISO90
21、01的要求。的要求。19THE SCHOOL OF SOFTWARE ENGINEERING OF HUST案例案例1 W公司为了推行公司为了推行CMM,组建了独立的,组建了独立的QA部门。尽管部门。尽管在在W公司的内部宣传材料上对公司的内部宣传材料上对QA的作用进行了大肆的作用进行了大肆的宣传,认为其对于的宣传,认为其对于CMM的推行和项目管理都具有的推行和项目管理都具有重要作用,但是实际上重要作用,但是实际上QA人员的资历都相对较浅,人员的资历都相对较浅,对开发过程,技术和工具都缺乏必要的了解。只能够对开发过程,技术和工具都缺乏必要的了解。只能够照搬一些条文来要求开发人员,开发人员对此并不
22、认照搬一些条文来要求开发人员,开发人员对此并不认账,认为账,认为QA人员是没事找事。另外,人员是没事找事。另外,QA这个岗位在这个岗位在薪酬和升迁方面毫不吸引人薪酬和升迁方面毫不吸引人20THE SCHOOL OF SOFTWARE ENGINEERING OF HUST 为了避免为了避免QA部门成为新手和项目组淘汰人员的集中部门成为新手和项目组淘汰人员的集中地,地,QA部门经理设法推行项目经理锻炼制度,让项部门经理设法推行项目经理锻炼制度,让项目经理到目经理到QA部门锻炼一段时间,然后继续担任项目部门锻炼一段时间,然后继续担任项目经理或者升迁。但是因为此项制度没有得到有效的支经理或者升迁。但
23、是因为此项制度没有得到有效的支持,项目经理在持,项目经理在QA部门工作一段时间以后竟然没有部门工作一段时间以后竟然没有开发部门愿意接收,就更谈不上升迁了。开发部门愿意接收,就更谈不上升迁了。QA部门在部门在W公司的威望江河日下。公司的威望江河日下。21THE SCHOOL OF SOFTWARE ENGINEERING OF HUST QA人员对于质量保证和人员对于质量保证和CMM的实施至关重要,如果的实施至关重要,如果我们认可我们认可QA人员对于公司的价值,那就必须在人才人员对于公司的价值,那就必须在人才和待遇上向和待遇上向QA部门倾斜部门倾斜22THE SCHOOL OF SOFTWARE
24、 ENGINEERING OF HUST H公司和公司和Z公司都在研发相同类型的公司都在研发相同类型的C产品。产品。H公司在公司在推广推广CMM,采用了相对严格的过程规范,并且把相,采用了相对严格的过程规范,并且把相对重要的部分外包给了印度的对重要的部分外包给了印度的CMM5级公司。这些手级公司。这些手段段Z公司都没有采用,但是公司都没有采用,但是Z公司却抢在了前面。公司却抢在了前面。Z公司的公司的“秘密武器秘密武器”是一种形式化语言是一种形式化语言SDL,Z公司采用公司采用SDL作为设计工具,这样作为设计工具,这样C产品的相当一部产品的相当一部分代码可以由分代码可以由SDL工具自动生成,而且
25、在设计阶段就工具自动生成,而且在设计阶段就可以进行仿真运行,这样就大大地提高了效率并减少可以进行仿真运行,这样就大大地提高了效率并减少了缺陷。了缺陷。H公司虽然采用了相对严格的过程规范,但公司虽然采用了相对严格的过程规范,但是因为全部代码为手工编制,所以,无论是效率还是是因为全部代码为手工编制,所以,无论是效率还是质量,质量,H公司都落后了公司都落后了23THE SCHOOL OF SOFTWARE ENGINEERING OF HUST H公司显然忽视了先进技术可能为生产率带来的进步公司显然忽视了先进技术可能为生产率带来的进步,通过了,通过了CMM高级别的评估,只能说明被评估的组高级别的评估
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 管理
限制150内