您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 【培训课件】软件过程的管理与改进
软件过程的管理与改进1软件过程管理与改进概述2度量软件过程3能力成熟度模型CMM4个体软件过程PSP5团体软件过程TSP6内容总结1软件过程管理与改进概述软件过程的发展—1984年第一届国际软件过程讨论会正式提出,软件工程又一次认识上飞跃。1、软件过程的概念---软件过程是指人们开发和维护软件及其相关产品所采取的一系列活动。其中软件相关产品包括项目计划、设计文档、源代码、测试用例和用户手册等。•软件产品的质量主要取决于产品开发和维护的软件过程的质量。一个有效的、可视的软件过程能够将人力资源、物理设备和实施方法结合成一个有机的整体,并为软件工程师和高级管理者提供实际项目的状态和性能,从而可以监督和控制软件过程的进行。•IEEE广义软件过程:包括软件的采购、开发、维护、运作、获取、管理、支持•ISO12207分成三个过程:基本过程、支持过程、组织过程•研究目的:管理和改进软件过程软件过程管理:对软件产品及对强化软件系统的开发、维护和支持所涉及的工作过程进行管理软件过程改进:为了更有效的达到优化软件过程的目的而实施的改善或改变其软件过程的系列活动。1软件过程管理与改进概述2、软件过程改进的实际意义:软件过程实例:软件组织在进行具体软件项目时采用的软件过程。成功的改进带来的价值:提高效率、减少错误、保证进度、提高质量软件过程管理改进:是软件组织评估和认证的基础,也是竞标软件项目的基础。软件组织角度看软件过程管理和改进:有利于组织获得认证以提高竞争力;从产业角度,可以提高产业整体水平和竞争力(印度)1软件过程管理与改进概述3、软件过程建模与软件过程改进的理论与方法:软件过程模型:又称软件工程开发模型或软件生命周期模型,是软件开发全部过程、资源和任务的结构框架。包括组织、功能、行为及其他方面。如件过程建模:通过过程设计和过程定义来建立过程模型的活动。包含两种常用方法:•结构化:基于模块化思想,进行结构化分析、设计和编程•面向对象:用面向对象的分析、设计、编程及测试方法为软件过程建模。目前的主流方法。用UML工具进行具体建模。过程管理改进的理论:以统计过程控制理论为基础,内容包括:过程的可控性,如何改进使其产生预期结果,如何在度量和统计基础上进行过程改进。1软件过程管理与改进概述软件过程管理的职责:•定义过程•度量过程•控制过程•改进过程4、过程改进的模式和体系目标驱动模式•预先设定目标自顶向下制定过程度量或评价模型,有目的的开展改进活动。缺陷驱动模式•根据过程缺陷反馈的信息,进行有针对性的改进活动1软件过程管理与改进概述过程改进体系:•ISO9001:服务行业的通用标准,后追加了ISO9000-3,包含了软件组织满足ISO认证的20个条款•CMM:是指关注软件开发的过程体系,明确强调持续的软件过程改进。专用于软件的。•Trillium•SPICE•BOOTSTRAP5、过程改进的原则和步骤最普遍的原则:•改进建立在评价和度量基础之上•是一个持续过程•活动本身应作为一个过程改进项目完成•将过程度量用于对改进过程进行监控,及时对改进活动作必要的调整•适当重复软件过程的评价活动1软件过程管理与改进概述5、过程改进活动的组织和实施改进活动涉及的问题:•SPI立项•成立SPI小组•SPI计划制定SPI意义:明确特定项目活动的目标、目标期限和预计输出项目分解成有特定操作目标的有限任务,使项目更易完成保证任务的优先次序和协调,阐明各任务间关系帮助高层管理者、SPI项目成员和相关从业者建立完成特定承诺作为交流工具,确保SPI过程被正确的看到和理解•度量和反馈•渐进和革命•建立基准•约定•普遍建立过程改进意识2度量软件过程度量:是对对象进行量化处理。就是采集数据和分析数据。软件有关的度量有:软件产品度量软件项目度量软件质量度量软件错误和缺陷度量软件过程度量:是软件过程改进的基础软件过程改进度量:软件过程改进本身作为一个过程也需要度量2度量软件过程1、度量软件过程的步骤:制定度量计划•确定过程问题•选择与定义度量•规划如何将度量与软件过程集成与软件过程集成采集数据数据的保存分析过程行为2、过程行为分析技术分析过程行为的目的是对过程稳定行进行测试和评价,找出异常过程行为模式,发现和纠正可归属的原因,进行过程能力分析2度量软件过程过程的稳定性分析:一个稳定的过程的可度量特征或过程性能的基础分布是始终唯一的,对稳定性进行测试,需要专门的统计处理异常过程行为模式分析:找出过程中异常行为的规律和特点,以便发现问题的症结。过程能力分析:过程能力指的是通过这个过程能达到的结果。过程能力分析除了明确过程能力,还要将过程能力与客户或企业需要进行比较,如果不能满足客户需要,必然要对过程改进3软件能力成熟度模型(CMM)软件能力成熟度模型CMM(CapabilityMaturityModel)是由美国卡内基-梅隆大学软件工程研究所(CMU/SEI)推出的评估软件能力与成熟度的一套标准。并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(CapabilityMaturityModelForSoftware,简称SW-CMM)。该标准基于众多软件专家的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准,它更代表了一种管理哲学在软件工业中的应用。目前,CMM认证已经成为世界公认的软件产品进入国际市场的通行证。为推动我国软件产业的发展,促进软件企业向正规化和国际化迈进,应进一步引入和推广CMM认证。3软件能力成熟度模型(CMM)1.CMM的体系发展1999年提出CMMI集成能力成熟度模型,也叫综合能力成熟度模型。包括:CMMSW(软件工程CMM)、CMMSE(系统工程CMM)、CMM/SE/SWwithIPPD(集成的产品和过程开发)、CMMSA(系统采办)。来源于CMM2.0草案,1.1版本2003年1月正式发布。PSP个体软件过程,如果没有个体过程意识和过程能力的支持,不可能提高能力成熟度。1995提出PSPTSP团体软件开发过程:提供如何提高软件开发小组本身的知识和技能的方法。1996提出TSP。TSPi专门用于开发小组。软件过程成熟度软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜力。成熟度等级用来描述某一成熟度等级上的组织特征,每一等级都为下一等级奠定基础,过程的潜力只有在一定的基础之上才能够被充分发挥。成熟级别的改善包括管理者和软件从业者基本工作方式的改变,组织成员依据建立的软件过程标准执行并监控软件过程,一旦来自组织和管理上的障碍被清除后,有关技术和过程的改善进程能迅速推进。软件过程的成熟度等级CMM将软件过程的成熟度分为5个级别(MaturityLevels),如图所示,5个等级分别是:初始级可重复级已定义级已管理级优化级1、初始级(Initial)2、可重复(Repeatable)3、已定义级(Defined)4、已管理级(Managed)5、优化级(Optimizing)SW-CMM为每个软件组织建立和改善软件过程提供了一个阶梯式的过程成熟度框架,这一框架由5个成熟度等级构成。除初始级以外,其余的成熟度等级都包含了若干个关键过程区域,每个关键过程区域又包含了若干个关键实践,这些关键实践按照5个共同特点加以组织。成熟度等级单击鼠标左键查看相应内容初始级可重复级已定义级已管理级优化级初始级(Initial)在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出预算和不能按期完成,组织的软件过程能力不可预测。初始级初始级可重复级已定义级已管理级优化级可重复级(Repeatable):在可重复级,组织建立了管理软件项目的方针以及为贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。可重复级可重复级初始级可重复级已定义级已管理级优化级已定义级(Defined):在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的并且高度可视已定义级初始级可重复级已定义级已管理级优化级已管理级(Managed):在已管理级,组织对软件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量已管理级已管理级初始级可重复级已定义级已管理级优化级优化级(Optimizing):在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。优化级优化级表1描述了SW-CMM不同成熟度等级过程的可视性和过程能力。等级成熟度可视性过程能力1初始级有限的可视性一般达不到进度和成本的目标2可重复级里程碑上具有管理可视性由于基于过去的性能,项目开发计划比较现实可行3已定义级项目定义软件过程的活动具有可视性基于已定义的软件过程,组织持续地改善过程能力4已管理级定量地控制软件过程基于对过程和产品的度量,组织持续地改善过程能力5优化级不断地改善软件过程组织持续地改善过程能力可视性与过程能力的比较SW-CMM的关键过程区域过程分类成熟度等级管理过程组织过程工程过程5、优化级技术改革管理过程更改管理缺陷预防4、已管理级定量过程管理软件质量管理3、已定义级集成软件管理组间协调组织过程焦点组织过程定义培训大纲软件产品工程同行评审2、可重复级需求管理软件项目策划软件项目跟踪与监督软件子合同管理软件质量保证软件配置管理1、初始级无序过程关键过程区域除了初始级外,每一成熟度等级又由若干个关键过程区域(KeyProcessAreas)构成。关键过程区域指出为了达到某个成熟度等级所要着手解决的问题。达到一个成熟度等级,必须实现该等级上的全部关键过程区域。要实现一个关键过程区域,就必须达到该关键过程区域的所有目标。每个等级内容按三个层面组织:•关键过程域(KPA)•共同特点•关键实践关键过程区域KPA(KeyProcessAreas)是一组相关的活动,可按照上表描述,也可按照图描述。初始级需求管理软件项目计划软件项目跟踪与监督软件子合同管理软件质量保证软件配置管理可重复级软件机构过程关注点软件机构过程定义培训计划整体化软件管理软件产品工程组间合作同行评审已定义级定量过程管理软件质量管理已管理级过程变更管理预防故障技术变更管理优化级关键过程域关键实践:对软件组织的能力成熟度有关键意义的实践共同特点五个:•承诺•能力•活动•监控•验证CMM常见关键过程域(1)需求管理(requirementsmanagement)建立客户的软件项目需求,並使项目开发人员与客户对软件需求产生一致的理解。这是软件项目规划(SPP)和管理(SPTO)的基础,需求变更依赖于配置管理(SCM)的变更控制流程。在项目实施过程中,最突出的现象就是项目组成员没有完全理解需求,软件需求不稳定,客户经常变更需求,无法有效控制需求变更,需求变更往往造成项目延期和费用超支。CMM要求的需求管理的基本流程可如图一所示。该流程描述了软件工程组开始获取原始需求,汇总为系统需求,分配系统需求,复审软件需求,软件需求必须文档化形成需求文档,此文档必须经过相关组和个人的评审,通过评审之后才纳入配置管理,为需求文档建立基线。软件项目计划、活动及软件工作产品,应和软件需求的变化保持一致。a.获取需求和确认需求以Usecase(用例)为单位
本文标题:【培训课件】软件过程的管理与改进
链接地址:https://www.777doc.com/doc-962996 .html