【培训课件】软件过程的管理与改进

上传人:aa****6 文档编号:57592418 上传时间:2018-10-23 格式:PPT 页数:63 大小:357.50KB
返回 下载 相关 举报
【培训课件】软件过程的管理与改进_第1页
第1页 / 共63页
【培训课件】软件过程的管理与改进_第2页
第2页 / 共63页
【培训课件】软件过程的管理与改进_第3页
第3页 / 共63页
【培训课件】软件过程的管理与改进_第4页
第4页 / 共63页
【培训课件】软件过程的管理与改进_第5页
第5页 / 共63页
点击查看更多>>
资源描述

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

1、软件过程的管理与改进,1 软件过程管理与改进概述 2 度量软件过程 3 能力成熟度模型CMM 4 个体软件过程PSP 5 团体软件过程TSP 6 内容总结,1 软件过程管理与改进概述,软件过程的发展1984年第一届国际软件过程讨论会正式提出,软件工程又一次认识上飞跃。 1、软件过程的概念-软件过程是指人们开发和维护软件及其相关产品所采取的一系列活动。其中软件相关产品包括项目计划、设计文档、源代码、测试用例和用户手册等。 软件产品的质量主要取决于产品开发和维护的软件过程的质量。一个有效的、可视的软件过程能够将人力资源、物理设备和实施方法结合成一个有机的整体,并为软件工程师和高级管理者提供实际项目

2、的状态和性能,从而可以监督和控制软件过程的进行。 IEEE广义软件过程:包括软件的采购、开发、维护、运作、获取、管理、支持 ISO 12207分成三个过程:基本过程、支持过程、组织过程 研究目的:管理和改进软件过程 软件过程管理:对软件产品及对强化软件系统的开发、维护和支持所涉及的工作过程进行管理 软件过程改进:为了更有效的达到优化软件过程的目的而实施的改善或改变其软件过程的系列活动。,2、软件过程改进的实际意义: 软件过程实例:软件组织在进行具体软件项目时采用的软件过程。 成功的改进带来的价值:提高效率、减少错误、保证进度、提高质量 软件过程管理改进:是软件组织评估和认证的基础,也是竞标软件

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

4、程控制理论为基础,内容包括:过程的可控性,如何改进使其产生预期结果,如何在度量和统计基础上进行过程改进。,1 软件过程管理与改进概述,软件过程管理的职责: 定义过程 度量过程 控制过程 改进过程 4、过程改进的模式和体系 目标驱动模式 预先设定目标自顶向下制定过程度量或评价模型,有目的的开展改进活动。 缺陷驱动模式 根据过程缺陷反馈的信息,进行有针对性的改进活动,1 软件过程管理与改进概述,过程改进体系: ISO 9001:服务行业的通用标准,后追加了ISO 9000-3,包含了软件组织满足ISO认证的20个条款 CMM:是指关注软件开发的过程体系,明确强调持续的软件过程改进。专用于软件的。

5、Trillium SPICE BOOTSTRAP 5、过程改进的原则和步骤 最普遍的原则: 改进建立在评价和度量基础之上 是一个持续过程 活动本身应作为一个过程改进项目完成 将过程度量用于对改进过程进行监控,及时对改进活动作必要的调整 适当重复软件过程的评价活动,1 软件过程管理与改进概述,5、过程改进活动的组织和实施 改进活动涉及的问题: SPI立项 成立SPI小组 SPI计划 制定SPI意义: 明确特定项目活动的目标、目标期限和预计输出 项目分解成有特定操作目标的有限任务,使项目更易完成 保证任务的优先次序和协调,阐明各任务间关系 帮助高层管理者、SPI项目成员和相关从业者建立完成特定承诺

6、 作为交流工具,确保SPI过程被正确的看到和理解 度量和反馈 渐进和革命 建立基准 约定 普遍建立过程改进意识,2度量软件过程,度量:是对对象进行量化处理。就是采集数据和分析数据。 软件有关的度量有: 软件产品度量 软件项目度量 软件质量度量 软件错误和缺陷度量 软件过程度量:是软件过程改进的基础 软件过程改进度量:软件过程改进本身作为一个过程也需要度量,2度量软件过程,1、度量软件过程的步骤: 制定度量计划 确定过程问题 选择与定义度量 规划如何将度量与软件过程集成 与软件过程集成 采集数据 数据的保存 分析过程行为 2、过程行为分析技术 分析过程行为的目的是对过程稳定行进行测试和评价,找出

7、异常过程行为模式,发现和纠正可归属的原因,进行过程能力分析,2度量软件过程,过程的稳定性分析:一个稳定的过程的可度量特征或过程性能的基础分布是始终唯一的,对稳定性进行测试,需要专门的统计处理 异常过程行为模式分析:找出过程中异常行为的规律和特点,以便发现问题的症结。 过程能力分析:过程能力指的是通过这个过程能达到的结果。过程能力分析除了明确过程能力,还要将过程能力与客户或企业需要进行比较,如果不能满足客户需要,必然要对过程改进,3 软件能力成熟度模型(CMM),软件能力成熟度模型CMM(Capability Maturity Model)是由美国卡内基-梅隆大学软件工程研究所(CMU/SEI)

8、推出的评估软件能力与成熟度的一套标准。并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。该标准基于众多软件专家的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准,它更代表了一种管理哲学在软件工业中的应用。 目前,CMM认证已经成为世界公认的软件产品进入国际市场的通行证。为推动我国软件产业的发展,促进软件企业向正规化和国际化迈进,应进一步引入和推广CMM认

9、证。,3 软件能力成熟度模型(CMM),1. CMM的体系发展,1999年提出CMMI集成能力成熟度模型,也叫综合能力成熟度模型。包括:CMM SW(软件工程CMM)、CMM SE(系统工程CMM)、CMM/SE/SW with IPPD(集成的产品和过程开发)、CMM SA(系统采办)。来源于CMM2.0草案,1.1版本2003年1月正式发布。 PSP个体软件过程,如果没有个体过程意识和过程能力的支持,不可能提高能力成熟度。1995提出PSP TSP团体软件开发过程:提供如何提高软件开发小组本身的知识和技能的方法。1996提出TSP。TSPi专门用于开发小组。,软件过程成熟度 软件过程成熟度

10、是指一个软件过程被明确定义、管理、度量和控制的有效程度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜力。成熟度等级用来描述某一成熟度等级上的组织特征,每一等级都为下一等级奠定基础,过程的潜力只有在一定的基础之上才能够被充分发挥。成熟级别的改善包括管理者和软件从业者基本工作方式的改变,组织成员依据建立的软件过程标准执行并监控软件过程,一旦来自组织和管理上的障碍被清除后,有关技术和过程的改善进程能迅速推进。,软件过程的成熟度等级,CMM将软件过程的成熟度分为5个级别(Maturity Levels) ,如图所示,5个等级分别是:,1、初始级(Initial) 2、可重复(R

11、epeatable) 3、已定义级(Defined) 4、已管理级(Managed) 5、优化级(Optimizing),SW-CMM为每个软件组织建立和改善软件过程提供了一个阶梯式的过程成熟度框架,这一框架由5个成熟度等级构成。除初始级以外,其余的成熟度等级都包含了若干个关键过程区域,每个关键过程区域又包含了若干个关键实践,这些关键实践按照5个共同特点加以组织。,成熟度等级,单击鼠标左键 查看相应内容,初始级(Initial) 在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出预算和不能按期完成,组织的

12、软件过程能力不可预测。,初始级,可重复级(Repeatable): 在可重复级,组织建立了管理软件项目的方针以及为贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。,可重复级,可重复级,已定义级(Defined): 在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的并且高度可视,已定义级,已管理级(Managed): 在已管理级,组织对软

13、件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量,已管理级,已管理级,优化级(Optimizing): 在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。,优化级,优化级,表1描述了SW-CMM不同成熟度等级过程的可视性和过程能力。,可视性与过程能力的比较,SW-CMM的关键过程区域,关键过程区域除了初始级外,每一成熟度等级又由若干个关键过程区域(Key Process Areas)

14、构成。关键过程区域指出为了达到某个成熟度等级所要着手解决的问题。达到一个成熟度等级,必须实现该等级上的全部关键过程区域。要实现一个关键过程区域,就必须达到该关键过程区域的所有目标。,每个等级内容按三个层面组织: 关键过程域(KPA) 共同特点 关键实践 关键过程区域KPA(Key Process Areas)是一组相关的活动,可按照上表描述,也可按照图描述。,关键实践:对软件组织的能力成熟度有关键意义的实践 共同特点五个: 承诺 能力 活动 监控 验证,CMM常见关键过程域,(1) 需求管理(requirements management) 建立客户的软件项目需求,並使项目开发人员与客户对软件

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

16、求以Use case(用例)为单位,以Rational Requisite Pro作为需求管理工具,使用Rational Rose进行维护Use case和Use case Model。 b. 通过访谈,从客户处获取原始需求,形成需求文档。 c. 分析软件需求形成Use case描述文档,与客户共同确认需求,向客户展示Use case文档,获得客户认可。 d. 建立基线的需求必须通过相关组的审查,包括:系统分析组、设计组、编码组、测试组、质量保证组、配置管理组、文档管理中心及个人。通过审查,项目组成员发现需求是否可行、是否完善、是否清晰、是否可进行测试。 e. 通过审查后,将需求文档纳入配置管理,为需求创建基线。,需求管理步骤:,f. 通过工具管理,对需求进行跟踪,尽快找出需求变更受影响的需求及工件,并了解需求的实现情况。 g. 客户确认后如需变更,项目小组成员向其说明变更的影响,并有可能增加费用及时间,尽量控制客户的需求。需求变更的流程按配置管理的变更流程执行。 h. 一旦需求发生变更,项目计划、活动、工序随之变更,并重新提交相关组和个人复审。 i. 实际项目需求管理中应用的文档有: 项目需求管理流程定义、项目需求复审流程定义、项目需求及状态跟踪流程定义、需求获取表格、需求状态报告、需求复审报告、需求变更报告、需求跟踪报告,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

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