软件过程的管理与改进课件

上传人:博****1 文档编号:592312366 上传时间:2024-09-20 格式:PPT 页数:61 大小:633KB
返回 下载 相关 举报
软件过程的管理与改进课件_第1页
第1页 / 共61页
软件过程的管理与改进课件_第2页
第2页 / 共61页
软件过程的管理与改进课件_第3页
第3页 / 共61页
软件过程的管理与改进课件_第4页
第4页 / 共61页
软件过程的管理与改进课件_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《软件过程的管理与改进课件》由会员分享,可在线阅读,更多相关《软件过程的管理与改进课件(61页珍藏版)》请在金锄头文库上搜索。

1、第3章软件过程的管理与改进3.1软件过程管理与改进概述3.2度量软件过程3.3能力成熟度模型CMM3.4个体软件过程PSP3.5团体软件过程TSP3.6内容总结3.1软件过程管理与改进概述软件过程的发展1984年第一届国际软件过程讨论会正式提出,软件工程又一次认识上飞跃。1、软件过程的概念-软件过程是指人们开发和维护软件及其相关产品所采取的软件过程是指人们开发和维护软件及其相关产品所采取的一系列活动。其中软件相关产品包括项目计划、设计文档、源代码、测试用例和一系列活动。其中软件相关产品包括项目计划、设计文档、源代码、测试用例和用户手册等。用户手册等。软件产品的质量主要取决于产品开发和维护的软件

2、过程的质量。一个有效的、软件产品的质量主要取决于产品开发和维护的软件过程的质量。一个有效的、可视的软件过程能够将人力资源、物理设备和实施方法结合成一个有机的整可视的软件过程能够将人力资源、物理设备和实施方法结合成一个有机的整体,并为软件工程师和高级管理者提供实际项目的状态和性能,从而可以监体,并为软件工程师和高级管理者提供实际项目的状态和性能,从而可以监督和控制软件过程的进行。督和控制软件过程的进行。IEEE广义软件过程:包括软件的采购、开发、维护、运作、获取、管理、支广义软件过程:包括软件的采购、开发、维护、运作、获取、管理、支持持ISO 12207分成三个过程:基本过程、支持过程、组织过程

3、分成三个过程:基本过程、支持过程、组织过程研究目的:管理和改进软件过程研究目的:管理和改进软件过程软件过程管理:对软件产品及对强化软件系统的开发、维护和支持所涉软件过程管理:对软件产品及对强化软件系统的开发、维护和支持所涉及的工作过程进行管理及的工作过程进行管理软件过程改进:为了更有效的达到优化软件过程的目的而实施的改善或软件过程改进:为了更有效的达到优化软件过程的目的而实施的改善或改变其软件过程的系列活动。改变其软件过程的系列活动。3.1软件过程管理与改进概述2、软件过程改进的实际意义:软件过程实例:软件组织在进行具体软件项目时采用的软件过程。成功的改进带来的价值:提高效率、减少错误、保证进

4、度、提高质量软件过程管理改进:是软件组织评估和认证的基础,也是竞标软件项目的基础。软件组织角度看软件过程管理和改进:有利于组织获得认证以提高竞争力;从产业角度,可以提高产业整体水平和竞争力(印度)3.1软件过程管理与改进概述3、软件过程建模与软件过程改进的理论与方法:软件过程模型:又称软件工程开发模型或软件生命周期模型,是软件开发全部过程、资源和任务的结构框架。包括组织、功能、行为及其他方面。如件过程建模:通过过程设计和过程定义来建立过程模型的活动。包含两种常用方法:结构化:基于模块化思想,进行结构化分析、设计和编程面向对象:用面向对象的分析、设计、编程及测试方法为软件过程建模。目前的主流方法

5、。用UML工具进行具体建模。过程管理改进的理论:以统计过程控制理论为基础,内容包括:过程的可控性,如何改进使其产生预期结果,如何在度量和统计基础上进行过程改进。3.1软件过程管理与改进概述软件过程管理的职责:定义过程度量过程控制过程改进过程4、过程改进的模式和体系、过程改进的模式和体系目标驱动模式目标驱动模式预先设定目标自顶向下制定过程度量或评价模型,有目的预先设定目标自顶向下制定过程度量或评价模型,有目的的开展改进活动。的开展改进活动。缺陷驱动模式缺陷驱动模式根据过程缺陷反馈的信息,进行有针对性的改进活动根据过程缺陷反馈的信息,进行有针对性的改进活动3.1软件过程管理与改进概述过程改进体系:

6、过程改进体系:ISO 9001:服务行业的通用标准,后追加了:服务行业的通用标准,后追加了ISO 9000-3,包含了软件,包含了软件组织满足组织满足ISO认证的认证的20个条款个条款CMM:是指关注软件开发的过程体系,明确强调持续的软件过程改进。:是指关注软件开发的过程体系,明确强调持续的软件过程改进。专用于软件的。专用于软件的。TrilliumSPICEBOOTSTRAP5、过程改进的原则和步骤、过程改进的原则和步骤最普遍的原则:最普遍的原则:改进建立在评价和度量基础之上改进建立在评价和度量基础之上是一个持续过程是一个持续过程活动本身应作为一个过程改进项目完成活动本身应作为一个过程改进项目

7、完成将过程度量用于对改进过程进行监控,及时对改进活动作必要的调整将过程度量用于对改进过程进行监控,及时对改进活动作必要的调整适当重复软件过程的评价活动适当重复软件过程的评价活动3.1软件过程管理与改进概述5、过程改进活动的组织和实施、过程改进活动的组织和实施改进活动涉及的问题:改进活动涉及的问题:SPI立项立项成立成立SPI小组小组SPI计划计划 制定制定SPI意义:意义:明确特定项目活动的目标、目标期限和预计输出明确特定项目活动的目标、目标期限和预计输出项目分解成有特定操作目标的有限任务,使项目更易完成项目分解成有特定操作目标的有限任务,使项目更易完成保证任务的优先次序和协调,阐明各任务间关

8、系保证任务的优先次序和协调,阐明各任务间关系帮助高层管理者、帮助高层管理者、SPI项目成员和相关从业者建立完成特定承诺项目成员和相关从业者建立完成特定承诺作为交流工具,确保作为交流工具,确保SPI过程被正确的看到和理解过程被正确的看到和理解度量和反馈度量和反馈渐进和革命渐进和革命建立基准建立基准约定约定普遍建立过程改进意识普遍建立过程改进意识3.2度量软件过程度量:是对对象进行量化处理。就是采集数据和分析数度量:是对对象进行量化处理。就是采集数据和分析数据。据。软件有关的度量有:软件有关的度量有:软件产品度量软件产品度量软件项目度量软件项目度量软件质量度量软件质量度量软件错误和缺陷度量软件错误

9、和缺陷度量软件过程度量:是软件过程改进的基础软件过程度量:是软件过程改进的基础软件过程改进度量:软件过程改进本身作为一个过程软件过程改进度量:软件过程改进本身作为一个过程也需要度量也需要度量3.2度量软件过程1、度量软件过程的步骤:、度量软件过程的步骤:制定度量计划制定度量计划确定过程问题确定过程问题选择与定义度量选择与定义度量规划如何将度量与软件过程集成规划如何将度量与软件过程集成与软件过程集成与软件过程集成采集数据采集数据数据的保存数据的保存分析过程行为分析过程行为2、过程行为分析技术、过程行为分析技术分析过程行为的目的是对过程稳定行进行测试和评价,找出异分析过程行为的目的是对过程稳定行进

10、行测试和评价,找出异常过程行为模式,发现和纠正可归属的原因,进行过程能力分常过程行为模式,发现和纠正可归属的原因,进行过程能力分析析3.2度量软件过程过程的稳定性分析:一个稳定的过程的可度量特征或过程性能过程的稳定性分析:一个稳定的过程的可度量特征或过程性能的基础分布是始终唯一的,对稳定性进行测试,需要专门的统的基础分布是始终唯一的,对稳定性进行测试,需要专门的统计处理计处理异常过程行为模式分析:找出过程中异常行为的规律和特点,异常过程行为模式分析:找出过程中异常行为的规律和特点,以便发现问题的症结。以便发现问题的症结。过程能力分析:过程能力指的是通过这个过程能达到的结果。过程能力分析:过程能

11、力指的是通过这个过程能达到的结果。过程能力分析除了明确过程能力,还要将过程能力与客户或企过程能力分析除了明确过程能力,还要将过程能力与客户或企业需要进行比较,如果不能满足客户需要,必然要对过程改进业需要进行比较,如果不能满足客户需要,必然要对过程改进3.3 软件能力成熟度模型(CMM)软软软软件件件件能能能能力力力力成成成成熟熟熟熟度度度度模模模模型型型型CMMCMM(Capability Capability Capability Capability Maturity Maturity Maturity Maturity ModelModelModelModel)是是由由美美国国卡卡内内基

12、基- -梅梅隆隆大大学学软软件件工工程程研研究究所所(CMU/SEI)推推出出的的评评估估软软件件能能力力与与成成熟熟度度的的一一套套标标准准。并并提提供供了了软软软软件件件件过过过过程程程程评评评评估估估估和和软软软软件件件件能能能能力力力力评评评评价价价价两两种种评评估估方方法法和和软软件件成成熟熟度度提提问问单单。4年年之之后后,SEI将将软软件件过过程程成成熟熟度度框框架架进进化化为为软软软软件件件件能能能能力力力力成成成成熟熟熟熟度模型(度模型(度模型(度模型(Capability Maturity Model For SoftwareCapability Maturity Mode

13、l For Software,简称简称简称简称SW-CMMSW-CMM)。)。)。)。该该标标准准基基于于众众多多软软件件专专家家的的实实践践经经验验,侧侧重重于于软软件件开开发发过过程程的的管管理理及及工工程程能能力力的的提提高高与与评评估估,是是国国际际上上流流行行的的软软件件生生产产过过程程标标准准和和软软件件企企业业成成熟度等级认证标准,它更代表了一种管理哲学在软件工业中的应用。熟度等级认证标准,它更代表了一种管理哲学在软件工业中的应用。 目目前前,CMMCMM认认认认证证证证已已已已经经经经成成成成为为为为世世世世界界界界公公公公认认认认的的的的软软软软件件件件产产产产品品品品进进进

14、进入入入入国国国国际际际际市市市市场场场场的的的的通通通通行行行行证证证证。为为推推动动我我国国软软件件产产业业的的发发展展,促促进进软软件件企企业业向向正正规规化化和和国国际际化化迈迈进进,应进一步引入和推广应进一步引入和推广CMM认证。认证。3.3 软件能力成熟度模型(CMM)1. 1. 1. 1. CMMCMM的体系发展的体系发展的体系发展的体系发展19991999年年提提出出CMMICMMI集集成成能能力力成成熟熟度度模模型型,也也叫叫综综合合能能力力成成熟熟度度模模型型。包包括括:CMM CMM SWSW(软软件件工工程程CMMCMM)、CMM CMM SESE(系系统统工工程程CM

15、MCMM)、CMM/SE/SW CMM/SE/SW with with IPPDIPPD(集集成成的的产产品品和和过过程程开开发发)、CMM CMM SASA(系系统统采采办办)。来来源源于于CMM2.0CMM2.0草草案,案,1.11.1版本版本20032003年年1 1月正式发布。月正式发布。PSPPSP个个体体软软件件过过程程,如如果果没没有有个个体体过过程程意意识识和和过过程程能能力力的的支支持持,不不可可能能提提高高能力成熟度。能力成熟度。19951995提出提出PSPPSPTSPTSP团团体体软软件件开开发发过过程程:提提供供如如何何提提高高软软件件开开发发小小组组本本身身的的知知

16、识识和和技技能能的的方方法。法。19961996提出提出TSPTSP。TSPiTSPi专门用于开发小组。专门用于开发小组。3. 3. 3. 3. 软件过程成熟度软件过程成熟度软件过程成熟度软件过程成熟度 软软件件过过程程成成熟熟度度是是指指一一个个软软件件过过程程被被明明确确定定义义、管管理理、度度量量和和控控制制的的有有效效程程度度。成成熟熟意意味味着着软软件件过过程程能能力力持持续续改改善善的的过过程程,成成熟熟度度代代表表软软件过程能力改善的潜力。件过程能力改善的潜力。成成熟熟度度等等级级用用来来描描述述某某一一成成熟熟度度等等级级上上的的组组织织特特征征,每每一一等等级级都都为为下下一

17、一等等级级奠奠定定基基础础,过过程程的的潜潜力力只只有有在在一一定定的的基基础础之之上上才才能能够够被被充充分分发发挥。挥。成成熟熟级级别别的的改改善善包包括括管管理理者者和和软软件件从从业业者者基基本本工工作作方方式式的的改改变变,组组织织成成员员依依据据建建立立的的软软件件过过程程标标准准执执行行并并监监控控软软件件过过程程,一一旦旦来来自自组组织织和和管理上的障碍被清除后,有关技术和过程的改善进程能迅速推进。管理上的障碍被清除后,有关技术和过程的改善进程能迅速推进。软件过程的成熟度等级软件过程的成熟度等级软件过程的成熟度等级软件过程的成熟度等级 CMM将将软软件件过过程程的的成成熟熟度度

18、分分为为5 5个个级级别别(Maturity Maturity LevelsLevels) ,如如图图所所示,示,5 5个等级分别是:个等级分别是:初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级1 1、初始级(、初始级(InitialInitial)2 2、可重复(可重复(RepeatableRepeatable)3 3、已定义级(已定义级(DefinedDefined)4 4、已管理级(已管理级(ManagedManaged)5 5、优化级(优化级(OptimizingOptimizing)SW-CMM为为每每个个软软件件组组织织建建立立和和改改善善软软件件过过程程

19、提提供供了了一一个个阶阶梯梯式式的的过过程程成成熟熟度度框框架架,这这一一框框架架由由5 5个个成成熟熟度度等等级级构构成成。除除初初始始级级以以外外,其其余余的的成成熟熟度度等等级级都都包包含含了了若若干干个个关关键键过过程程区区域域,每每个个关关键键过过程程区区域域又又包包含含了了若若干干个关键实践,这些关键实践按照个关键实践,这些关键实践按照5 5个共同特点加以组织。个共同特点加以组织。 成熟度等级单击鼠标左键单击鼠标左键单击鼠标左键单击鼠标左键查看相应内容查看相应内容查看相应内容查看相应内容初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级初始级(初始级(Init

20、ialInitial)在在初初始始级级,企企业业一一般般不不具具备备稳稳定定的的软软件件开开发发与与维维护护环环境境。项项目目成成功功与与否否在在很很大大程程度度上上取取决决于于是是否否有有杰杰出出的的项项目目经经理理和和经经验验丰丰富富的的开开发发团团队队。此此时时,项项目目经经常常超超出出预预算算和和不不能能按按期期完完成成,组织的软件过程能力不可预测。组织的软件过程能力不可预测。初始级初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级可重复级可重复级(Repeatable): (Repeatable): 在在可可重重复复级级,组组织织建建立立了了管管理理软软件件项项

21、目目的的方方针针以以及及为为贯贯彻彻执执行行这这些些方方针针的的措措施施。组组织织基基于于在在类类似似项项目目上上的的经经验验对对新新项项目目进进行行策策划划和和管管理理。组组织织的的软软件件过过程程能能力力可可描描述述为为有有纪纪律律的的,并并且且项项目目过过程程处处于于项项目目管管理理系系统统的的有有效效控控制之下。制之下。可重复级可重复级初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级已定义级(已定义级(DefinedDefined):):在在已已定定义义级级,组组织织形形成成了了管管理理软软件件开开发发和和维维护护活活动动的的组组织织标标准准软软件件过过程程,包

22、包括括软软件件工工程程过过程程和和软软件件管管理理过过程程。项项目目依依据据标标准准定定义义自自己己的的软软件件过过程程进进行行管管理理和和控控制制。组组织织的的软软件件过过程程能能力力可可描描述述为为标标准准的的和和一一致致的的,过过程程是是稳稳定的和可重复的并且高度可视定的和可重复的并且高度可视已定义级初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级已管理级(已管理级(ManagedManaged):):在在已已管管理理级级,组组织织对对软软件件产产品品和和过过程程都都设设置置定定量量的的质质量量目目标标。项项目目通通过过把把过过程程性性能能的的变变化化限限制制在在

23、可可接接受受的的范范围围内内,实实现现对对产产品品和和过过程程的的控控制制。组组织织的的软软件件过过程程能能力力可可描描述述为为可可预预测测的的,软件产品具有可预测的高质量软件产品具有可预测的高质量已管理级已管理级初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级优化级(优化级(OptimizingOptimizing):):在在优优化化级级,组组织织通通过过预预防防缺缺陷陷、技技术术创创新新和和更更改改过过程程等等多多种种方方式式,不不断断提提高高项项目目的的过过程程性性能能以以持持续续改改善善组组织织软软件件过过程程能能力力。组组织织的的软软件件过过程程能能力力可可描

24、述为持续改善的。描述为持续改善的。优化级优化级优化级表表1 1描述了描述了SW-CMM不同成熟度等级过程的可视性和过程能力。不同成熟度等级过程的可视性和过程能力。等级等级成熟度成熟度可视性可视性过程能力过程能力1初始级初始级有限的可视性有限的可视性一般达不到进度和成本的目标一般达不到进度和成本的目标2可可重复级重复级里程碑上具有管理可视性里程碑上具有管理可视性由于基于过去的性能,项目开由于基于过去的性能,项目开发计划比较现实可行发计划比较现实可行3已已定义级定义级项目定义软件过程的活动具项目定义软件过程的活动具有可视性有可视性基于已定义的软件过程,组织基于已定义的软件过程,组织持续地改善过程能

25、力持续地改善过程能力4已已管理级管理级定量地控制软件过程定量地控制软件过程基于对过程和产品的度量,组基于对过程和产品的度量,组织持续地改善过程能力织持续地改善过程能力5优化级优化级不断地改善软件过程不断地改善软件过程组织持续地改善过程能力组织持续地改善过程能力可视性与过程能力的比较SW-CMM的关键过程区域过程分类过程分类成熟度等级成熟度等级管理过程管理过程组织过程组织过程工程过程工程过程 5、优化级、优化级 技术改革管理技术改革管理过程更改管理过程更改管理缺陷预防缺陷预防4、已管理级、已管理级 定量过程管理定量过程管理软件质量管理软件质量管理3、已定义级、已定义级集成软件管理集成软件管理组间

26、协调组间协调组织过程焦点组织过程焦点组织过程定义组织过程定义培训大纲培训大纲软件产品工程软件产品工程同行评审同行评审2、可重复级、可重复级需求管理需求管理软件项目策划软件项目策划软件项目跟踪与监督软件项目跟踪与监督软件子合同管理软件子合同管理软件质量保证软件质量保证软件配置管理软件配置管理 1、初始级、初始级无序无序过程过程关键过程区域关键过程区域除除了了初初始始级级外外,每每一一成成熟熟度度等等级级又又由由若若干干个个关关键键过过程程区区域域(Key (Key Process Process Areas)Areas)构构成成。关关键键过过程程区区域域指指出出为为了了达达到到某某个个成成熟熟度

27、度等等级级所所要要着着手手解解决决的的问问题题。达达到到一一个个成成熟熟度度等等级级,必必须须实实现现该该等等级级上上的的全全部部关关键键过过程程区区域域。要要实实现现一个关键过程区域,就必须达到该关键过程区域的所有目标。一个关键过程区域,就必须达到该关键过程区域的所有目标。每个等级内容按三个层面组织:关键过程域(KPA)共同特点关键实践关键过程区域关键过程区域KPA(Key(Key Process Process Areas)Areas)是一组相关的活动,可按照上表是一组相关的活动,可按照上表描述,也可按照图描述。描述,也可按照图描述。 初始级初始级需求管理需求管理软件项目计划软件项目计划软

28、件项目跟踪与监督软件项目跟踪与监督软件子合同管理软件子合同管理软件质量保证软件质量保证软件配置管理软件配置管理可可重复级重复级软件机构过程关注点软件机构过程关注点软件机构过程定义软件机构过程定义培训计划培训计划整体化软件管理整体化软件管理软件产品工程软件产品工程组间合作组间合作同行评审同行评审已定义级已定义级定量过程管理定量过程管理软件质量管理软件质量管理已管理级已管理级过程变更管理过程变更管理预防故障预防故障技术变更管理技术变更管理优化级优化级关键过程域关键实践:关键实践:对软件组织的能力成熟度有关键意义的实践共同特点五个:共同特点五个:承诺能力活动监控验证CMM常见关键过程域(1)需求管理

29、(requirementsmanagement)建立客户的软件项目需求,並使项目开发人员与客户对软件需求产生一致的理解。这是软件项目规划(SPP)和管理(SPTO)的基础,需求变更依赖于配置管理(SCM)的变更控制流程。在项目实施过程中,最突出的现象就是项目组成员没有完全理解需求,软件需求不稳定,客户经常变更需求,无法有效控制需求变更,需求变更往往造成项目延期和费用超支。CMM要求的需求管理的基本流程可如所示。该流程描述了软件工程组开始获取原始需求,汇总为系统需求,分配系统需求,复审软件需求,软件需求必须文档化形成需求文档,此文档必须经过相关组和个人的评审,通过评审之后才纳入配置管理,为需求文

30、档建立基线。软件项目计划、活动及软件工作产品,应和软件需求的变化保持一致。a.获取需求和确认需求以Usecase(用例)为单位,以RationalRequisitePro作为需求管理工具,使用RationalRose进行维护Usecase和UsecaseModel。b.通过访谈,从客户处获取原始需求,形成需求文档。c.分析软件需求形成Usecase描述文档,与客户共同确认需求,向客户展示Usecase文档,获得客户认可。d.建立基线的需求必须通过相关组的审查,包括:系统分析组、设计组、编码组、测试组、质量保证组、配置管理组、文档管理中心及个人。通过审查,项目组成员发现需求是否可行、是否完善、是

31、否清晰、是否可进行测试。e.通过审查后,将需求文档纳入配置管理,为需求创建基线。需求管理步骤:需求管理步骤: f.通过工具管理,对需求进行跟踪,尽快找出需求变更受影响的需求及工件,并了解需求的实现情况。g.客户确认后如需变更,项目小组成员向其说明变更的影响,并有可能增加费用及时间,尽量控制客户的需求。需求变更的流程按配置管理的变更流程执行。h.一旦需求发生变更,项目计划、活动、工序随之变更,并重新提交相关组和个人复审。i.实际项目需求管理中应用的文档有:项目需求管理流程定义、项目需求复审流程定义、项目需求及状态跟踪流程定义、需求获取表格、需求状态报告、需求复审报告、需求变更报告、需求跟踪报告(

32、2)软件项目计划(software project planning)制定实施软件工程与管理软件项目的工作计划。CMM软件项目计划根据纳入配置管理后的软件需求进行项目估算,并依据文档化的流程,形成项目计划文档。项目计划文档经复审后纳入配置管理,由项目开发人员遵循,并据此跟踪检查计划的执行。项目计划文档在复审过程中,如果项目计划对风险估算不足或存在其它问题,就需要对项目计划文档重新修正,以获得项目组和高层管理者的支持。a)项目采用MicrosoftWord拟定计划文档,以MicrosoftProject拟定计划的进度表。b)项目经理根据项目软件需求进行估算,确定进行项目选择的生命周期、项目规模、

33、所需的人员、时间、进度、资源、风险等内容。将估算的结果形成估算过程文档,并拟定软件开发计划。c)软件开发计划内容包含:软件项目计划、迭代计划、进度时间表、配置管理计划、质量保证计划、需求管理计划、项目评测计划、风险管理计划、产品验收计划、问题解决计划、测试计划。软件项目计划的实际应用模式如下:软件项目计划的实际应用模式如下:d)估算过程文档和软件项目计划文档必须通过相关组的审查,以获得相关组及个人的支持,包括:系统分析组、设计组、编码组、测试组、质量保证组、配置管理组、文档管理中心及个人。通过审查,发现并修正项目估算和项目计划的偏差。只有获得了支持,软件项目组在开发过程中才能尽量避免或消除风险

34、。e)在高层管理者复审通过后,项目经理指定人员或参与拟定软件开发计划其它部分,并由相关组和个人复审。f)配置管理人员将软件开发计划文档纳入配置管理。g)实际项目中应用的文档有:制定项目计划流程定义、项目估算流程定义、项目评估表、资源评估表、软件开发计划模板(包括:软件项目计划、迭代计划、配置管理计划、质量保证计划、需求管理计划、项目评测计划、风险管理计划、产品验收计划、问题解决计划、测试计划)、进度时间表、制订软件开发计划的指南。(3) 软件项目跟踪和监督(software projecttrackingandoversight)根据软件开发计划管理软件项目,随时掌握软件项目的实际开发过程。按

35、照项目计划对软件开发的进度和阶段产品进行跟踪和评审,当软件项目的执行状况与软件项目计划发生较大偏差时,管理机构必须采取有效控制措施,必要时根据项目的实际完成情况和结果,修订项目计划。CMM软件项目跟踪与监控的基本流程可如所示。该流程描述了软件项目组根据文档化的估计、承诺、计划跟踪和审查软件成果,并基于实际调整计划。文档化的软件项目计划被用作跟踪软件活动、了解状态和修正计划的基础。项目经理根据项目开发计划跟踪项目的执行情况,定期形成项目进度报告,并与项目开发计划进行对比,发现问题,根据实际情况对软件开发计划进行修正。掌握了这个核心,实施软件项目跟踪与监控活动就很容易了。a)项目组使用Ration

36、al的工具进行管理,将MicrosoftProject拟定的项目计划进度表导入ClearQuest,主要以ClearCase和ClearQuest作为跟踪监控工具。b)项目经理每周根据项目的实际执行情况,拟定项目的进度报告。然后召集项目小组成员,对进度报告进行确认和修正。c)项目经理对照计划与实际执行情况,发现差距并将其纪录成问题报告,其中包括:费用、进度、风险、人员、资源状况等。d)由高层管理者复审进度报告及问题报告,并敦促项目经理修正其计划及解决项目存在的问题和风险。e)实际项目中应用的文档有:项目跟踪与监控流程定义、项目进度报告、项目进度指标收集指南。项目计划跟踪与监控采取如下方式:项目

37、计划跟踪与监控采取如下方式:(4)软 件 分 包 合 同 管 理 (subcontractmanagement)根据商业联盟、过程能力和技术等因素选择高质量的软件承制方,承制软件项目的部分子项目。制订子项目承制方的工作任务和项目计划文档,它是主承制方跟踪检查和监督子项目过程和产品的依据。(5)软件质量保证(qualityassurance)评审软件产品和活动,检验它们是否与应用的标准和规程保持一致,对发现的问题应采取必要措施予以解决。软件质量保证的基本流程可如所示。该流程描述了软件质量保证计划的形成与复审,SQA人员根据质量保证计划开展质量保证活动,发现问题,跟踪解决问题,并最终向高层管理者汇

38、报项目的执行情况。质量保证计划一般包含项目过程采用的标准(如:项目计划估算过程、计划过程、测试过程、复审过程、开发过程、风险管理等)以及软件工作产品的标准(如:编码标准、接口定义标准等)。软件质量保证过程a)项目质量保证人员以MicrosoftWord拟定项目质量保证计划文档,以MicrosoftProject拟定项目质量保证活动的进度表。b)由质量保证经理或高层管理者指定项目的质量保证人员。项目的质量保证人员在项目开发计划复审通过之后,拟定项目的质量保证计划,并提交给项目经理和质量保证经理或高层管理者复审。c)质量保证人员根据计划对项目执行的活动进行定期审计,记录与项目流程定义不一致的问题,

39、并形成报告。d)质量保证人员组织人员对产出的工作产品进行复审,以验证其是否与项目采用的标准一致,并形成报告。e)将审计和复审发现的问题记录到项目的问题跟踪进度表中,跟踪并协调问题的解决情况,并定期向高层管理者汇报。如果不能解决的由高层管理者协助解决。f)项目经理或高层管理者定期检查质量保证人员的活动。g)实际项目中应用的文档有:项目质量保证流程定义、质量保证计划、流程审计报告、软件工作产品复审报告、质量保证计划进度表、SQA问题跟踪解决进度表。(6)软件配置管理(configurationmanagement)保证软件项目生成的产品在软件生命周期中的完整性。在给定时间点上确定软件配置,如工作产

40、品及其说明。系统的控制软件配置的变化并在整个软件生命周期中维护配置的完整性和可跟踪性。软件配置管理可以分为两方面的内容,一是配置项的识别和管理,另一方面是变更管理。a.配置项管理的基本流程可如所示,该流程描述了软件工程组在进行开发过程中,生成软件工作产品,识别配置项,为配置项创建基线。配置管理项最显著的特征就是包含版本号或发布日期。实际项目管理经常不知道该如何识别区分配置项和基线。b.变更管理描述了纳入配置管理的配置项进行变更的完整流程。根据新需求、项目进度报告、客户意见反馈、软件工作产品复审记录等不同的原因提出变更申请,由项目小组或变更控制委员会(SCCB)分析其影响,确定变更请求的拒绝、接

41、受或搁置,并根据不同的决定进行不同的处理,一直到变更请求被处理。一旦采用了严格的变更控制管理流程,才能了解变更造成的影响,所有项目组成员才了解变更,形成共识,接受变更。缺少对变更有效的控制,往往会造成配置管理的无序,导致项目返工、延期,甚至失败。a)项目设定配置管理人员,以RationalClearCase为配置管理工具,根据项目计划拟定项目的配置管理计划文档,以MicrosoftProject拟定项目配置活动的进度表。b)项目的配置管理计划包含以下内容:配置管理工具、目录结构、识别配置项的方法、配置项命名、创建配置管理库、基线管理、配置审计、配置状态报告、变更管理等。c)在ClearCase

42、创建项目的VOB(版本对象库),创建项目小组成员的工作区和集成区,项目组成员只在各自的工作区Checkin或Checkout操作,由配置管理人员进行合并,标识出软件配置项。d)由配置管理人员负责在适当的时机(如:里程碑处或迭代结束)创建基线,晋升基线,下降基线,并由其负责备份和恢复基线。软件配置管理的方法软件配置管理的方法e)根据配置管理计划对项目的配置项和基线定期(或里程碑处)进行审计,以验证其是否与项目配置计划或项目开发计划一致。f)所有的变更请求首先向配置管理人员提出,由配置管理人员对变更请求进行分析确定其影响,组织变更评审小组。g)一旦同意变更,由配置管理人员Checkout需变更的配

43、置项,然后对配置项进行变更,变更完成后再由配置管理人员Checkin到配置管理库中。h)由SQA人员定期审计配置管理的活动。i)实际项目中应用的文档有:项目配置管理计划制定流程定义、项目配置管理活动流程定义、项目配置管理计划、配置状态报告、基线审计报告(见附表)、配置项变更申请表、项目配置管理活动进度表、配置管理工具操作指南能力成熟度模型集成CMMI1能力成熟度模型集成CMMI的产生软件能力成熟度模型CMM取得了成功,产生了很大影响。系统工程、系统安全工程、集成化产品开发等许多工程学科和领域也都参照CMM建立自己的能力成熟度模型,如SE-CMM、PeopleCMM、IPD-CMM、FAA-iC

44、MM等。模型的繁衍导致模型框架、术语等方面的矛盾和不一致。当某一工程项目涉及若干个学科和领域后,这种矛盾就十分突出了。能力成熟度模型集成CMMI的产生CMM公布后的若干年内工程环境更加复杂,工程规模更大、参与工程项目的组织和人员更多、范围更广泛,工程的施工涉及多学科、交叉学科、并行工程、及更多的国际标准。这些新的变化促使美国国防部、美国国防工业协会和SEI/CMU共同开发一种新的模型CMMI(CapabilityMaturityModelIntegration)。能力成熟度模型集成CMMICMMI项目在1998年正式启动来自业界、政府部门和SEI/CMU三个方面的170多人,经过两年的工作于2

45、000年发布CMMI-SE/SW/IPPDV1.0CMMI-SE/SW/IPPDv1.0的主要参考模型 软件学科的SW-CMM 系统工程学科的EIA/IS731 集成化产品和过程开发领域的IPDCMMv0.98能力成熟度模型集成CMMICMMI继承了SW-CMM的阶段式表示法和EIA/IS731的连续式表示法。软件学科的两种表示法均采用统一的24个过程域,它们在逻辑上是等价的。对同一组织采用两种模型分别进行CMMI评估应该得到相同的结论。2阶段式模型和连续式模型1)阶段式模型阶段式模型基本沿袭SW-CMM模型框架,仍保持五个“成熟度等级”,但过程域做了一些调整和扩充,如表2.23所示过程域的阶

46、段式分组成熟度等级 过程域L2可重复级 需求管理项目计划配置管理项目监督和控制 供应商合同管理度量和分析过程和产品质量保证L3己定义级 需求开发技术解决方案产品集成验证确认 组织级过程焦点组织级过程定义 组织级培训 集成化项目管理风险管理集成化的团队 决策分析和解决方组织级集成环境L4己管理级 组织级过程性能项目定量管理L5优化级 组织级改革和实施因果分析和解决方案2)连续式模型连续式模型没有与组织成熟度相关的几个阶段。连续式模型将24个过程域按照功能划分为过程管理、项目管理、工程、支持 四个过程组。表2.24连续式模型的过程域分组连续式分组 过程域过程管理 组织级过程焦点组织级过程定义组织级

47、培训 组织级过程性能组织级改革和实施项目管理 项目计划项目监督和控制供应商合同管理 集成化项目管理风险管理集成化的团队 项目定量管理工程 需求管理需求开发 技术解决方案产品集成 验证 确认支持 配置管理度量和分析过程和产品质量保证 决策分析和解决方案 组织级集成环境 因果分析和解决方案CMM和CMMI的选择和应用CMM优点CMM模型概念清晰、层次分明、易于操作。为组织负责人和管理者提供指导组织逐步成熟的、明确的、有效的、单一路途。CMM缺点在阶段式模型中,属于较高级别成熟度的过程域不支持较低级别的过程域,如在L2级就无法安排属于L3级的“同行评审”过程域的实践活动。CMM过程域的度量只有通过或

48、不通过,度量比较粗糙没有反映优势和一般。CMMI优点CMMI-SE/SW和CMMI-SE/SW/IPPD模型综合了系统工程、软件工程、集成化产品和过程开发三个过程改进模型。综合了阶段式和连续式两种结构组织的成熟度评价和项目的软件过程能力评估系统性更强、适应范围更大CMMI提供了24个过程域,组织可根据自身情况或项目的特点进行剪裁过程域采用0至5的记分法则,过程域成熟度的评估比较准确,能反映过程域的实际情况,特别是优势和不足。24个相关过程域互相支持,不受成熟度等级的限制。按照某种需要抽取过程域、确定成熟度等级,建立能力特征图,并按此组织实践活动、进行评审和上报。能力特征图比任何单项数据更有说服

49、力。CMMI缺点CMMI是两种结构、三种模型的综合,在这些结构和模型尚需发展,还不十分成熟的情况下,CMMI模型由于照顾各方面的意见显得复杂、臃肿,给使用和评估带来困难。小结本章讨论了软件产品和软件开发过程的度量、测量和估算以及评估软件组织的CMM能力成熟度模型和CMMI能力成熟度模型集成。软件规模度量、成本估算、质量度量、可靠性度量、复杂性度量是软件度量的重要组成部分,已引起人们和软件组织的普遍重视。软件开发过程管理是软件工程的重要组成部分,它涉及软件组织、软件工程的标准、管理的方法、工具等。CMM和CMMI模型的开发和广泛应用对加强软件过程管理、软件项目管理、加强软件组织自身建设起到了重要

50、推动作用,同时也为客户选择软件开发组织提供了依据。总之:CMM和CMMI是提高组织的成熟度和软件过程能力的有效模型和工具,一个软件组织无论是采用CMM模型还是使用CMMI模型,无论是使用阶段式模型还是使用连续式模型都能提高组织的成熟度,都能提高项目的软件过程能力,用两种模型或两种方法评价的结论应该是基本一致的。3.4个体软件过程PSPPSP是一个包括软件开发表格、指南和规程的结构化框架,是一种可用于控制、管理和改进个人工作方式的自我改善过程。PSP框架:就象CMM为软件企业的能力提供一个阶梯式的进化框架一样,PSP为个体的能力也提供了一个阶梯式的进化框架,以循序渐进的方法介绍过程的概念,每一级别都包含了更低一级别中的所有元素,并增加了新的元素。这个进化框架是学习PSP过程基本概念的好方法,它赋予软件人员度量和分析工具,使其清楚地认识到自己的表现和潜力,从而可以提高自己的技能和水平。PSP进化框架共有四级,各级及其增强版的主要元素如图所示。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号