基于CMM、CMMI模型的软件工程课程培训课件

上传人:我*** 文档编号:145754967 上传时间:2020-09-23 格式:PPT 页数:113 大小:1.36MB
返回 下载 相关 举报
基于CMM、CMMI模型的软件工程课程培训课件_第1页
第1页 / 共113页
基于CMM、CMMI模型的软件工程课程培训课件_第2页
第2页 / 共113页
基于CMM、CMMI模型的软件工程课程培训课件_第3页
第3页 / 共113页
基于CMM、CMMI模型的软件工程课程培训课件_第4页
第4页 / 共113页
基于CMM、CMMI模型的软件工程课程培训课件_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《基于CMM、CMMI模型的软件工程课程培训课件》由会员分享,可在线阅读,更多相关《基于CMM、CMMI模型的软件工程课程培训课件(113页珍藏版)》请在金锄头文库上搜索。

1、基于CMM/CMMI模型的软件工程课程培训,内容介绍,计算机软件,软件工程,软件过程,软件过程模型,敏捷软件开发,CASE工具与环境,IPD流程,培训目的,了解IPD流程的思想; 掌握计算机软件及软件的特点、软件危机; 掌握软件工程的基本概念、原则与框架; 掌握软件生存周期及各阶段的任务; 掌握软件过程的含义; 理解CMM/CMMI模型; 掌握常见的软件过程模型的特点; 了解敏捷软件开发的基本思想; 了解CASE工具与环境的作用。,集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的

2、产品及生命周期优化法(简称PACEProduct And Cycle-time Excellence)一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。 最先将IPD付诸实践的是IBM公司,1992年IBM在激烈的市场竞争下,遭遇到了严重的财政困难,公司销售收入停止增长,利润急剧下降。经过分析,IBM发现他们在研发费用、研发损失费用和产品上市时间等几个方面远远落后于业界最佳。为了重新获得市场竞争优势,IBM提出了将产品上市时间压缩一半,在不影响产品开发结果的情况下,将研发费用减少一半的目标。为了达到这个目标,IBM公司率先应用了集成产品开发(IPD)的方法,在综合了许多业界最佳实践要

3、素的框架指导下,从流程重整和产品重整两个方面来达到缩短产品上市时间、提高产品利润、有效地进行产品开发、为顾客和股东提供更大价值的目标。,IPD背景,IPD的核心内容是以市场为导向的产品开发,关注客户需求,另外IPD把产品开发在公司内部也作为一项投资来看待,建立了虚拟的投资决策委员会(IPMT),对产品开发团队(PDT)的活动在一些关键点上进行决策,此外IPD所建立的产品开发团是跨部门的,可以打破部门之间的沟通壁垒,并给出了跨部门业务流程指导跨部门团队运作。 IPD集成产品开发流程概括起来就是“一个结构化流程、二类跨部门团队、三个系统框架集、四个主要决策评审点、五项核心理念、六个重要阶段、七个关

4、联要素和八项定位工具”,其核心思想是流程重整和产品重整 。,IPD 的核心思想,IPD的框架图,新产品开发流程门径管理流程,IPD流程整体原理与架构,IPD核心模块内容,组合管理:要对产品开发进行有效的投资组合分析,选择那些即有市场前景(市场的吸引力大)、公司又具有竞争实力的细分市场作为公司的投资重点(目标细分市场),并在开发过程设置检查点,通过阶段性决策评审来决定项目是继续、暂停还是改变方向。 $APPEALS:产品创新一定是基于市场需求和竞争分析的创新。为此,IPD把正确定义产品概念、市场需求作为流程的第一步,开始就把事情做正确,用市场管理流程牵引产品开发,为此IPD提供了$APPEALS

5、工具指导客户需求收集,通过这个工具,由客户定义出产品概念及其各要素的优化级,而不是由研发人员在实验室里定义产品概念。 异步开发:就是通过严密的计划、准确的接口设计,把原来的许多后续活动提前进行,这样可以缩短产品上市时间,如把技术开发和产品开发异步进行,在产品规划指引下,技术平台开发先行;采用公用构建模块(CBB:Common Building Block)提高产品开发的效率。这样可以避免技术开发和产品开发同步进行,产品开发进度延迟的风险大大减少。,跨部门团队:采用跨部门的产品开发团队(PDT:Product Development Team),设置LPDT角色负责跨部门沟通,明确产品开发团队和

6、职能部门的职责,产品开发团队的职责是实现产品,而职能部门从传统的业务与职能管理转化为业务服务部门,产品开发团队通过跨部门的有效的沟通、协调以及决策,达到尽快将产品推向市场的目的。 结构化流程:建立端到端的产品开发流程,所谓端到端是区别于职能式的产品开发模式,建立的产品开发流程是跨部门的、关注业务实现的、客户到客户的业务流程,其最高端为产品开发的袖珍卡,袖珍卡标明了产品开发实现较高端的活动,下一级为阶段流程,如概念阶段、计划阶段、开发阶段、验证阶段等流程,以指导开发团队工作。 管道和项目管理:在企业中,同时存在多个产品开发项目,因此就需要对项目群之间的资源进行协调。通过管道管理方法论,解决整个体

7、系中资源平衡的问题,解决资源忙闲不均的问题。,衡量标准:和CMMI中的度量过程域相同,IPD也提供了衡量标准模块来指导度量分析工作,并把度量结果用于过程改进,IPD衡量标准由客户指标(如客户满意度)、财务指标(如销售额)、创新和学习指标(IPD符合度)、内部业务(如器件重用)指标组成。,IPD/ISO/MIL/CMM/CMMI区别,IPD着眼于产品开发获得市场成功,是在PACE(产品及周期优化法)等产品开发模式的基础上,经过一些领先企业(如IBM)的实践发展起来的; ISO系列标准和MIL标准一样,均属于过程质量模型。CMMI是在CMM的基础上发展起来的,与CMM一样,本质上关注的是过程质量;

8、,软/硬件曲线,软件的其它特点: 软件的开发和运行常受到计算机硬件的限制,对计算机硬件有着不同程度的依赖性 软件的开发至今尚未完全实现自动化 软件成本相当昂贵 相当多的软件工作涉及到社会因素,软件危机,软件危机:是指软件在开发、运行与维护过程中出现的一系列问题。 如:许多软件项目不能满足客户的要求 许多软件项目超出预算和时间安排,软件危机的表现,对软件开发成本和进度的估计常常很不正确 用户对“已完成的”软件系统不满意的现象经常发生 软件产品的质量往往靠不住 软件常常是不可维护的 软件通常没有适当的文档资料 软件成本在计算机系统总成本中所占的比例逐年上升 软件开发生产率提高的速度远远跟不上计算机

9、应用迅速普及深入的趋势,软件危机的原因,软件是逻辑产品,开发进度、成本难以估计 缺乏或不完整、不一致的文档给维护带来困难 用户对软件需求的描述往往不够精确,有遗漏,有二义 开发人员对需求的理解与用户的本来愿望有差异 大型软件项目需多人协同完成,缺乏管理经验 开发人员不能有效地、独立自主地处理大型软件的全部关系 缺乏有力的方法学和工具的支持 软件项目的特殊性和人类智力的局限性,克服软件危机的途径,消除错误的概念和做法 推广使用成功的开发技术和方法 使用软件工具和软件工程支持环境 加强软件管理,软件工程,1968年NATO(北大西洋公约组织)会议上首次提出。 Fritz Bauer:软件工程是为了

10、经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则 IEEE:软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中; 计算机科学技术百科全书:软件工程是应用计算机科学、数学及管理科学等原理,以工程化的原则和方法制作软件的工程,软件工程的三要素,方法: 为软件开发过程提供“如何做”的技术 工具: 为软件开发方法提供自动的或半自动的软件支撑环境,软件工程以关注软件质量为目标,包括过程、方法和工具三个要素。 过程: 支持软件生命周期的所有活动,软件工程的框架,软件工程的框架由目标、过程和原则构成。 目标: 生产具有正确性、可用性以

11、及价格合宜的产品。 正确性反映软件产品实现相应功能规约的程度; 可用性反映软件的基本结构、实现及其文档为用户可用的程度; 价格合宜反映软件开发与运行的总代价满足用户要求的程度。,过程(Process): 生产一个最终满足需求且达到工程目标的软件产品所需要的步骤。 软件工程过程包括:开发过程、运作过程、维护过程、管理过程、支持过程、获取过程、供应过程、剪裁过程等。 原则: 选取适宜的开发模型 采用合适的设计方法 提供高质量的工程支持 重视软件工程的管理,软件生存周期 ( software life cycle),软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期。

12、 软件生存周期大体可分为如下几个活动:计算机系统工程、需求分析、设计、编码、测试、运行和维护。,软件过程,软件过程是软件生存周期中的一系列相关的过程。过程是活动的集合,活动是任务的集合。 活动包括“技术活动”和“管理活动”两方面 技术活动:需求分析、软件设计、编码等 管理活动:制定计划、项目跟踪和监督、质量保证等 软件过程将人员、工具、方法和规程有机结合在一起 规程:有哪些活动,这些活动间的关系 方法:如何来实施这些活动 人员:谁来实施这些活动 工具:人员利用什么工具来实施活动,软件过程的运行机制,能力成熟度模型CMM,CMM(Capability Maturity Model)即能力成熟度模

13、型,是美国卡耐基梅隆大学软件工程研究所(SEI)建立的,用于评价软件机构的软件过程能力成熟度的模型。 此模型建立之初的主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据。而发展到后来,又同时被软件组织用于改进其软件过程。,CMM于1993年首次发布,并在2002年1月推出了改进后的模型CMMI(Capability Maturity Model Integration,能力成熟度模型集成)。CMMI/CMM作为一种用于评价软件企业生产能力并帮助其改善软件质量的方法,自问世以来备受关注,在一些发达国家和地区得到了广泛应用,成为衡量软件公司软件开发

14、管理水平的重要参考因素。目前该模型已成为软件过程改进的事实标准,代表着当前世界软件工程控制技术的最高水平。,软件组织的成熟与不成熟,1.不成熟的软件组织 软件过程一般并不预先计划,而是在项目进行中由实际工作人员及管理员临时计划 有时,即使软件过程已计划好,仍不按计划执行 没有一个客观的基准来判断产品质量,或解决产品和过程中的问题 对软件过程步骤如何影响软件质量,一无所知,产品质量得不到保证。而且,一些提高质量的环节,如检查、测试等经常由于要赶进度而减少或取消,产品在交付前,对客户来说,一切都是不可见的 没有长远目标,管理员通常只关注解决任何当前的危机 由于没有实事求是地估计进度、预算,因此他们

15、经常超支、超时。当最后期限临近,他们往往在功能性和质量上妥协,或以加班加点方式赶进度,2.成熟的软件组织 具有全面而充分的组织和管理软件开发和维护过程的能力 管理员监视软件产品的质量以及生产这些产品的过程 制定了一系列客观基准来判别产品质量,并分析产品和过程中的问题 进度和预算可以按照以前积累的经验来制定,结果可行。预期的成本、进度、功能与性能和质量都能实现,并达到目的,能准确及时地向工作人员通报实际软件过程,并按照计划有规则地(前后一致,不互相矛盾)工作 凡规定的过程都编成文档 软件过程和实际工作方法相吻合。必要时,过程定义会及时更新,通过测试,或者通过成本-效益分析来改进过程。 全体人员普

16、遍地、积极地参与改进软件过程的活动。在组织内部的各项目中,每人在软件过程中的职责都十分清晰而明确,各守其责,协同工作,有条不紊,甚至能预见和防范问题的发生。,CMM的组成,软件过程成熟度等级,CMM提供了一个成熟度等级框架:1级-初始级、2级-可重复级、3级-已定义级、4级-已管理级和5级-优化级。 1.初始(initial)级: 软件过程的特点是无秩序的,甚至是混乱的。几乎没有什么过程是经过妥善定义的,成功往往依赖于个人或小组的努力。 2.可重复(repeatable)级: 建立了基本的项目管理过程来跟踪成本、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。,3.已定义(defined)级: 己将管理和工程活动两方面的软件过程文档化、标准化,并综合成该机构的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。 4.已管理(managed)级: 收集对软件过程和产品质量的详细度量值,对软件过程和产品都有定量的理解和控制。 5.优化(optimizing)级: 整个组织关注软件过程改进的持续性、预见及增强自身,防止缺陷及问题的发生。过程

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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