软件过程管理考试复习资料.docx
《软件过程管理考试复习资料.docx》由会员分享,可在线阅读,更多相关《软件过程管理考试复习资料.docx(14页珍藏版)》请在冰豆网上搜索。
![软件过程管理考试复习资料.docx](https://file1.bdocx.com/fileroot1/2022-11/16/bfd57ccf-340d-43f1-b280-3b0de03d5a7c/bfd57ccf-340d-43f1-b280-3b0de03d5a7c1.gif)
软件过程管理考试复习资料
一、绪论
(1)
1.软件与软件产业的发展过程
Ø软件管理工程的发展,经历了从20世纪70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代,到90年代中期,以CMM模型的成熟和日益为市场接受为标志,已经进入以过程成熟度模型CMM、个体软件过程PSP和团队软件过程TSP为标志的以过程为中心的时代,而软件发展第三个时代,即软件工业化生产时代,以90年代中期软件过程技术的成熟和面向对象技术、构件技术的发展为基础,已经渐露端倪。
一、绪论
(2)
2.软件危机及其原因
Ø软件特殊性:
软件成本高;软件开发的进度难于控制;估计软件工作量很困难;软件质量难于保证;修正维护软件困难。
Ø软件企业的4个困难:
需求的完全识别;软件产品需求的完全传递;软件产品相关的变更控制;软件产品相关技术的快速变化。
Ø软件构建的核心就是管理复杂度。
软件是由人开发的,人的智力与软件的复杂度之间存在矛盾。
软件复杂度与软件的规模有很大关系,另外也与模块间的耦合度、模块内的内聚性等因素有关。
一、绪论(3)
3.过程及其要素
Ø软件开发项目是在规定的成本和时间内,开发和提交满足客户某些需求的软件产品。
Ø项目的三个基本特征是:
成本、进度和质量(代表软件在多大程度上满足客户的要求)。
Ø对于机构而言,包含多个项目,而实现机构的高质量和生产率,依赖于三个因素:
过程、人和技术。
Ø其中过程不仅仅是一系列步骤,还包含了机构所积累的经验,包含了机构可以从已成功的项目中所学到的一切。
一、绪论(4)
4.CMM与软件产业
Ø管理是影响软件研发项目全局的因素,而技术只影响局部。
Ø1987年9月,美国卡内基-梅隆大学软件工程研究所发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。
Ø4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(CapabilityMaturityModelForSoftware,简称SW-CMM)。
1991年8月,SEI发布了最早的SW-CMMv1.0。
经过两年的试用,1993年SEI正式发布了SW-CMMv1.1,这是目前使用最为广泛的版本。
一、绪论(5)
5.ISO9001与CMM的异同
ISO9000系列包括3个第三方认证标准(ISO9001、ISO9002和ISO9003)和一个质量管理标准ISO9004
ØCMM和ISO9001标准系列都着眼于质量和过程管理,二者都为了解决同样的问题。
ØCMM是动态的、开放的和持续改进的,强调没有最好只有更好,强调不断改进,强调人在软件开发方面的思想认识和主动性,适用于软件过程的改进;CMM模型只关注软件,它能解决“软件危机”这个世界性的问题;ISO9001是静态的质量控制,只要达到几个关键指标就能完成质量控制,更适用于硬件制造生产线的质量控制。
ISO9001的适应范围更广,包括硬件、软件和服务。
二、软件过程成熟度框架
(1)
1.CMM基本知识
ØCMM为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。
Ø初始级:
无序、混乱的软件过程。
依赖个别人的努力和机遇。
Ø可重复级:
建立基本的项目管理过程。
相似项目,重复以往成果。
Ø已定义级:
文档化、标准化和标准的软件过程。
Ø已管理级:
软件过程和产品质量有详细的度量标准。
Ø优化级:
持续的对过程进行改进。
二、软件过程成熟度框架
(2)
2.成熟度级别的行为特征
Ø从效果而言,在上述不同阶段,软件开发生产的成熟程度给软件企业带来了完全不同的效果。
第一阶段到第五个阶段,软件开发生产的计划精度越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低。
Ø各关键过程域中规定了执行约定、执行能力、执行活动、质量和验证的标准等。
管理者:
经理、各级经理、领导、职员和个人。
Ø软件小组:
软件工程组、软件工程过程组、软件相关组等。
二、软件过程成熟度框架(3)
3.成熟度级别的跳跃
CMM每个成熟度级别都是下一级别的必要基础。
Ø机构可以选择合适的时机,着手进行特定的过程改进。
Ø过程改进工作应该在其业务环境内侧重机构的需求。
Ø实施软件过程改进的差异是由定义关键过程域引起的。
二、软件过程成熟度框架(4)
4.软件过程可视性
Ø等级1―――一个黑盒
Ø等级2―――项目里程碑处具有管理可视性
Ø等级3―――盒子的内部结构可视
Ø等级4―――软件过程被配备上度量,并得到定量地控制
Ø等级5―――对过程不断改进
三、能力成熟度模型的结构
(1)
1.CMM的内部结构
CMM由5个成熟度级别组成。
Ø每个成熟度级别(除级别1)包含了实现该级别的若干个关键过程域(KPA)。
Ø每一个KPA进一步被分为称为公共特征的5个部分。
Ø这些公共特征包括了关键实践(KP),即每一个KPA包括5类KP。
Ø实现了这些KP后,就实现了关键过程域的目标。
三、能力成熟度模型的结构
(2)
2.关键过程域
一系列相互关联的操作活动
Ø某一级别的一组目标,用以衡量是否具有此级别的能力。
Ø每个KPA的目标总结了它的关键实践(KP),目标说明了每一个KPA的界限、范围、内容和关键实践。
Ø不同级别的KPA(项目、数目、内容)是不同的,但其中很多项都有深层次的联系(上级是下级的深化和延伸)。
Ø18个关键过程域,分布在2~5级。
三、能力成熟度模型的结构(3)
3.关键实践
Ø每一个关键过程域都是用关键实践的概念进行描述。
Ø描述了对关键过程域的有效实施和制度化起最重要作用的基础设施和活动。
Ø达到一个KPA而要做的事。
Ø描述了“做什么”,但没有规定“如何做”。
三、能力成熟度模型的结构(4)
4.共同特性
Ø无论哪个KPA,它们的关键实践都统一按五个公共属性进行组织,即每一个KPA都包含五类KP。
Ø执行约定:
组织为保证过程得以建立和持续发挥作用所必须采取的行动,主要包括制定企业范围的政策和高层管理的责任。
Ø执行能力:
达到的前提条件,一般包括资源保证、人员培训等内容。
Ø执行活动:
必须执行的任务和步骤,一般包括计划、执行的任务、任务执行的跟踪等。
Ø度量和分析:
度量的基本原则,用以确定、改进和控制过程的状态。
Ø验证实施:
验证所开展的关键实践与确立的过程是否遵循已制定的步骤。
三、能力成熟度模型的结构(5)
5.CMM的应用
ØCMM的两种主要用途归结为两种评定方法。
Ø软件过程评估:
用于确定组织目前的软件过程状态,确定组织面临的突出软件过程问题,从而求得组织的软件过程改进的支持。
Ø软件能力评价:
用于识别合格的软件工作承包商,或用于监控现行软件工作项目上用的软件过程的状态。
ØCMM是软件过程评估和软件能力评价的公共基础。
不过,两种用法的目的不同,而且具体用法也有很大差异。
软件过程评估侧重于确定本组织软件过程改进的轻重缓急;软件能力评价侧重于确定在选择软件项目承包商时可能碰到的风险,或者说是确定软件组织在软件能力方面的置信程度。
后面这一点正是许多软件组织看好按CMM评定等级的原因。
四、可重复级
(1)
1.可重复级的基本特征
关注项目一级的软件过程。
Ø已建立了项目管理的方针和规定。
Ø对项目已设置基本的软件管理控制。
Ø组织的过程能力体现在有纪律。
Ø当有转包商时,通过转包合同建立有效的供求关系。
Ø缺陷:
依赖经验管理项目。
四、可重复级
(2)
2.需求管理(RM,RequirementsManagement
Ø分配需求是指分配给软件的系统需求,包括:
软件项目活动中的非技术性需求、软件技术性需求、接收标准。
它是制定软件开发计划的根据,是整个软件生命周期中估算、计划、执行和跟踪软件项目活动的基础。
Ø目标:
建立基线;软件开发计划、产品和活动与分配给软件的系统需求保持一致。
即,需求确定的管理、需求实现的管理、需求变更的管理。
Ø执行活动:
评审分配需求;将分配需求作为软件开发的基础;评审需求变更并纳入到项目中。
Ø由上级主管部门和软件质量保证组实施验证。
四、可重复级(3)
3.软件项目计划(SPP,SoftwareProjectPlanning
Ø目标:
对软件估计建立文档;项目活动和约定是有计划的,并已形成文档;相关小组和个人对约定达成共识。
Ø执行活动:
软件项目的策划、建议与评审;确定易于管理的软件生命周期;制定项目的软件开发计划(SDP);识别软件工作产品;作出软件估计并形成文档;记录软件计划数据。
Ø由高级管理者和软件质量保证组实施验证。
四、可重复级(4)
4.软件项目跟踪和监控(SPTO,SoftwareProjectTrackingandOversight)
Ø目标:
对照SDP,跟踪实际结果和性能;发生明显偏离时采取纠正措施;对软件约定的更改应得到相关小组和个人的认可。
Ø执行活动:
利用SDP跟踪活动并修订项目的开发计划;跟踪实际的开发过程,必要时采取纠正措施;记录软件项目的实际度量数据,并重新计划数据;定期进行内部审查和在项目里程碑处进行审查。
Ø由上级主管部门和软件质量保证组实施验证。
四、可重复级(5)
5.软件转包合同管理(SSM,SoftwareSubcontractManagement
Ø目标:
主承制方选择合格的软件分承制方;主承制方与软件分承制方确认他们相互间的约定;主承制方和软件分承制方保持工作联系;主承制方根据约定跟踪软件分承制方的实际结果和性能。
Ø执行活动:
选择合格的转包商,并与之签订合同;主承包商审查转包商的软件开发计划,并用于跟踪其软件活动;评审、评价转包商;监督、验收转包商的软件活动。
Ø由上级主管部门和软件质量保证组实施验证。
四、可重复级(6)
6.软件质量保证(SQA,SoftwareQualityAssurance)
Ø目标:
SQA活动是有计划的;客观地验证软件产品和活动是否遵守所用的标准、规程和需求;SQA组所进行的活动和结果及时通知到相关的组和个人;高层管理者及时处理在软件项目内部不能解决的不一致性问题。
Ø创建一个SQA小组是开展软件质量保证的必要条件。
Ø执行活动:
制定软件项目的SQA计划;按照SQA计划来开展活动;评审软件工程活动,以检验一致性;审核制定的软件工作产品,以检验一致性。
Ø由上级主管部门和独立于SQA组的专家进行审查。
四、可重复级(7)
7.软件配置管理(SCM,SoftwareConfigurationManagement)
Ø目标:
软件配置管理活动是有计划的;所选用的软件工作产品是经过标识、受控和可用的;对已标识的软件产品的变更是受控的;相关组和个人能及时得到软件基线的状态和内容。
Ø创建一个有权力管理项目软件基线的委员会(SCCB)和一个SCM小组是开展SCM的必要条件。
ØSCM活动主要解决四个方面的问题:
配置识别;变更控制、配置状态统计、配置审核(正式审核和非正式审核)。
Ø由上级主管部门和SQA组进行审查。
五、已定义级
(1)
1.概述
Ø关注组织一级的软件过程。
Ø用于开发、维护软件的过程已经得到了系统的阐述并能付诸于实施。
Ø有两种“已定义”的软件过程:
组织标准软件过程(OSSP)、项目定义软件过程。
Ø软件过程能力可概括为标准的和一致的。
Ø七个关键过程域。
五、已定义级
(2)
2.组织过程焦点(OPF,organizationprocessfocus)
Ø目标:
在整个组织内,有关软件过程的活动是协调的;识别出