软件开发过程管理课件

上传人:29 文档编号:240932658 上传时间:2024-05-18 格式:PPT 页数:31 大小:373.82KB
返回 下载 相关 举报
软件开发过程管理课件_第1页
第1页 / 共31页
软件开发过程管理课件_第2页
第2页 / 共31页
软件开发过程管理课件_第3页
第3页 / 共31页
点击查看更多>>
资源描述
第 3 章 软件开发过程管理 第 3 章 软件开发过程管理 n 软件过程软件过程是指人们用于开发和维护软件及其相关产品的一系列活动、方是指人们用于开发和维护软件及其相关产品的一系列活动、方法、实践和革新。法、实践和革新。n 软件开发过程管理软件开发过程管理是指在软件开发过程中,除了先进技术和开发方法外,还有一是指在软件开发过程中,除了先进技术和开发方法外,还有一整套的管理技术。整套的管理技术。n 软件过程改进软件过程改进是针对软件生产过程中会对产品质量产生影响的问题而进行的,是针对软件生产过程中会对产品质量产生影响的问题而进行的,它的直接结果是软件过程能力的提高。它的直接结果是软件过程能力的提高。现在常见的软件过程改进方法:现在常见的软件过程改进方法:ISO 9000,SW-CMM和由多种和由多种能力模型演变而来的能力模型演变而来的CMMI。3.1 CMM和ISO9000 软件过程3.1 CMM和ISO9000 3.1.1 SW-CMM和CMMI nSW-CMMSW-CMM简介简介 为了保证软件产品的质量,为了保证软件产品的质量,19911991年美国卡内基年美国卡内基梅隆大学软梅隆大学软件工程研究所(件工程研究所(CMU/SEICMU/SEI)将软件过程成熟度框架进化为软件能)将软件过程成熟度框架进化为软件能力成熟度模型(力成熟度模型(Capability Maturity Model For SoftwareCapability Maturity Model For Software,简,简称称SW-CMMSW-CMM),并发布了最早的),并发布了最早的SW-CMM 1.0SW-CMM 1.0版。版。SW-CMMSW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架,为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。阶梯共有五级。3.1.1 SW-CMM和CMMI SW-CMM简介3.1.1 SW-CMM和CMMI 1 初始级2 可重复级3 已定义级4 已管理级5 优化级无序、混乱的软件过程。依赖个别人的努力和机遇。建立基本的项目管理过程。相似项目,重复以往成果。文档化、标准化和标准的软件软件过程。软件过程和产品质量有详细的度量标准。持续的对过程进行改进。图 CMM分级标准3.1.1 SW-CMM和CMMI 1 初始级2 可重复级3.1.1 SW-CMM和CMMI n KPA KPA及及KPKP除第一级外,除第一级外,SW-CMM的每一级都是按完全相同的结构组成的。的每一级都是按完全相同的结构组成的。每一级包含了实现这一级目标的若干关键过程域(每一级包含了实现这一级目标的若干关键过程域(KPA),每个),每个KPA进一步包含若干关键实施活动(进一步包含若干关键实施活动(KP),无论哪个),无论哪个KPA,它们的实施,它们的实施活动都统一按六个公共属性进行组织,即每一个活动都统一按六个公共属性进行组织,即每一个KPA都包含六类都包含六类KP:1.目标目标2.实施保证实施保证3.实施能力实施能力 4.执行活动执行活动 5.度量分析度量分析6.实施验证实施验证3.1.1 SW-CMM和CMMI KPA及KP3.1.1 SW-CMM和CMMI n CMMI CMMI简介简介由于不同领域能力成熟度模型存在不同的过程改进,重复的由于不同领域能力成熟度模型存在不同的过程改进,重复的培训、评估和改进活动以及活动不协调等一些问题。于是由美国培训、评估和改进活动以及活动不协调等一些问题。于是由美国国防部出面,美国卡内基国防部出面,美国卡内基梅隆大学软件工程研究所(梅隆大学软件工程研究所(CMU/SEI)于于2001年年12月发布的月发布的CMMI 1.1版本包括四个领域:软件工程版本包括四个领域:软件工程(SW)、系统工程()、系统工程(SE)、集成的产品和过程开发()、集成的产品和过程开发(IPPD)、采)、采购(购(SS)。)。3.1.1 SW-CMM和CMMI CMMI简介3.1.1 SW-CMM和CMMI n CMMICMMI有两种不同的实施方法有两种不同的实施方法n连续式主要是衡量一个企业的项目能力连续式主要是衡量一个企业的项目能力n阶段式主要是衡量一个企业的成熟度阶段式主要是衡量一个企业的成熟度n CMMICMMI的五个台阶的五个台阶n 完成级完成级n 管理级管理级 n 定义级定义级 n 量化管理级量化管理级 n 优化级优化级 n 每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶较低一层台阶。3.1.1 SW-CMM和CMMI CMMI有两种3.1.2 ISO9000质量标准 n ISO9000ISO9000 所谓所谓“ISO9000”不是指一般意义上的一个质量保证标准,而是不是指一般意义上的一个质量保证标准,而是一族系列标准的统称。一族系列标准的统称。n作用作用强化品质管理,提高企业效益;增强客户信心,扩大市场份强化品质管理,提高企业效益;增强客户信心,扩大市场份额;额;获得了国际贸易获得了国际贸易“通行证通行证”,消除了国际贸易壁垒;,消除了国际贸易壁垒;节省了第二方审核的精力和费用;节省了第二方审核的精力和费用;在产品品质竞争中永远立于不败之地;在产品品质竞争中永远立于不败之地;有效地避免产品责任;有效地避免产品责任;有利于国际间的经济合作和技术交流。有利于国际间的经济合作和技术交流。3.1.2 ISO9000质量标准 ISO9000作用3.1.3 三者之间的比较 n 选择选择SW-CMMSW-CMM还是还是CMMICMMI的考虑的考虑实施企业的业务特点。实施企业的业务特点。实施企业对过程改进的熟悉程度。实施企业对过程改进的熟悉程度。实施企业对过程改进项目的预算。实施企业对过程改进项目的预算。实施企业是否可以使用阶段式的演进路线。实施企业是否可以使用阶段式的演进路线。实施实施CMM与与CMMI可以平滑的转换。可以平滑的转换。n ISO9001ISO9001与与CMMCMM的关系的关系ISO9001和和CMM既有区别又相互联系,两者不可简单地互相替既有区别又相互联系,两者不可简单地互相替 代。代。取得取得ISO9001认证并不意味着完全满足认证并不意味着完全满足CMM某个等级的要求。某个等级的要求。取得取得CMM第第2级级(或第或第3级级)不能笼统地认为可以满足不能笼统地认为可以满足ISO9001的要的要求。求。3.1.3 三者之间的比较 选择SW-CMM还是CMMn软件生命周期软件生命周期软件从需求确定、设计、开发、测试直至投入使用,并在使用中不软件从需求确定、设计、开发、测试直至投入使用,并在使用中不断地修改、增补和完善,直至被新的系统所替代而停止该软件的使用的断地修改、增补和完善,直至被新的系统所替代而停止该软件的使用的全过程。全过程。n可划分为以下子阶段可划分为以下子阶段 1.可行性研究可行性研究2.需求分析和定义需求分析和定义3.总体设计总体设计4.详细设计详细设计5.编码(实现)编码(实现)6.软件测试、运行软件测试、运行/维护维护据此相继产生了瀑布模型、螺旋模型、进化模型、原型模型、增量据此相继产生了瀑布模型、螺旋模型、进化模型、原型模型、增量模型等。本节分别对这几种传统的软件开发生命周期模型予以介绍。模型等。本节分别对这几种传统的软件开发生命周期模型予以介绍。3.2 传统软件开发生命周期模型 软件生命周期3.2 传统软件开发生命周期模型 3.2.1 瀑布模型系统需求系统需求软件需求软件需求分析分析设计设计编码编码测试测试运行运行n瀑布模型总结瀑布模型总结n文档驱动的模型文档驱动的模型n阶段间具有顺序性和依阶段间具有顺序性和依赖性赖性n项目开发周期较长项目开发周期较长n实际项目很少按照该模实际项目很少按照该模型给出的顺序进行型给出的顺序进行3.2.1 瀑布模型系统需求软件需求分析设计编码测试运行瀑3.2.2 原型模型 3.2.2 原型模型 3.2.2 原型模型 nPrototyping modelPrototyping model特点特点n在需求定义之前,需要快速构建一个系统在需求定义之前,需要快速构建一个系统n根据构建系统的优缺点,用户给开发人员提出反馈意根据构建系统的优缺点,用户给开发人员提出反馈意见见n根据反馈意见修改软件需求规格,以便系统可以更正根据反馈意见修改软件需求规格,以便系统可以更正确地反映用户的需求确地反映用户的需求n减少各种假设以及风险减少各种假设以及风险3.2.2 原型模型 Prototyping model特3.2.3 增量模型 增量增量1增量增量2增量增量3增量增量4第一个增量发布第一个增量发布第二个增量发布第二个增量发布第三个增量发布第三个增量发布第四个增量发布第四个增量发布开发进度开发进度3.2.3 增量模型 增量1增量2增量3增量4第一个增量发3.2.3 增量模型 n n增量模型总结增量模型总结n融合了瀑布模型和原型的迭代特征。融合了瀑布模型和原型的迭代特征。n每一个增量均发布一个可操作产品。每一个增量均发布一个可操作产品。3.2.3 增量模型 增量模型总结3.2.4 进化模型 建造建造/修改修改原型原型听取用户听取用户意见意见用户测试用户测试运行原型运行原型这个模型可这个模型可看作是重复执行看作是重复执行的多个瀑布模型。的多个瀑布模型。3.2.4 进化模型 建造/修改听取用户用户测试这个模3.2.5 螺旋模型原型原型1原型原型2原型原型3可运行可运行原型原型需求计划需求计划 生存期生存期 计划计划开开发发计计划划集集成成与与测测试试软件软件需求需求需求需求确认确认设计确认设计确认与验证与验证 软件软件 产品产品设计设计详细设计详细设计风风险险分分析析风风险险分分析析风风险险分分析析验收验收测试测试实现实现集成集成与与测试测试单元单元测试测试编码编码开发、验证开发、验证下一产品下一产品实施工程实施工程提交线提交线评审评审累计累计成本成本风险分析风险分析评价方案,识别评价方案,识别风险、消除风险风险、消除风险制订计划制订计划决定目标决定目标方案和限制方案和限制客户评估客户评估3.2.5 螺旋模型原型1原型2原型3可运行需求计划开发计3.2.5 螺旋模型 n螺旋模型总结螺旋模型总结n基于风险驱动的开发模型基于风险驱动的开发模型,使用原型法或其它方法来使用原型法或其它方法来尽量降低风险。尽量降低风险。n适用于需求不明确的大规模软件项目适用于需求不明确的大规模软件项目3.2.5 螺旋模型 螺旋模型总结3.3 扩展模型3.3 扩展模型3.3.1 极限模型 n极限模型简介极限模型简介20012001年,为了避免许多公司的软件团队陷入不断增长的过程年,为了避免许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些敏捷开发过程的方法:泥潭,一批业界专家一起概括出了一些敏捷开发过程的方法:SCRUMSCRUM,CrystalCrystal,特征驱动软件开发(,特征驱动软件开发(Feature Driven Feature Driven DevelopmentDevelopment,简称,简称FDDFDD),自适应软件开发(),自适应软件开发(Adaptive Software Adaptive Software DevelopmentDevelopment,简称,简称ASDASD),以及最重要的极限编程(),以及最重要的极限编程(eXtreme eXtreme Programming,Programming,简称简称XPXP)。)。3.3.1 极限模型 极限模型简介3.3.1 极限模型 极限编程将极限编程将开发阶段的开发阶段的4 4个活动(分个活动(分析、设计、析、设计、编码和测试)编码和测试)混合在一起,混合在一起,在全过程中在全过程中采用迭代增采用迭代增量开发、反量开发、反馈修正和反馈修正和反复测试。复测试。3.3.1 极限模型 极限编程将开发阶段的4个活动(分析、3.3.1 极限模型 nXPXP开发模型核心思想:开发模型核心思想:n交流(交流(Communication)n简单(简单(Simplicity)n反馈(反馈(Feedback)n进取(进取(Aggressiveness)3.3.1 极限模型 XP开发模型核心思想:3.3.1 极限模型 n优点优点1)采用简单计划策略,不需采用简单计划策略,不需要长期计划和复杂模型,要长期计划和复杂模型,开发周期短;开发周期短;2)在全过程采用迭代增量开在全过程采用迭代增量开发、反馈修正和反复测试发、反馈修正和反复测试的方法,能够适应用户经的方法,能够适应用户经常变化的需求。常变化的需求。n缺点缺点1)1)目前主要在小规模项目上目前主要在小规模项目上应用并取得成功,但是否应用并取得成功,但是否适用于中等规模或大规模适用于中等规模或大规模软件产品,需慎重考虑;软件产品,需慎重考虑;2)2)由于这个模型较新产品交由于这个模型较新产品交付后维护成本是否降低,付后维护成本是否降低,不能确定;不能确定;3)3)对编码人员的经验要求高对编码人员的经验要求高 3.3.1 极限模型 优点缺点参考资料从瀑布模型、极限编程到敏捷开发敏捷开发过程中如何开发高质量的软件敏捷开发过程中如何开发高质量的软件参考资料从瀑布模型、极限编程到敏捷开发3.3.2 Rational统一过程(RUP)3.3.2 Rational统一过程(RUP)3.3.2 Rational统一过程(RUP)n n 用例驱动用例驱动 Concise,simple,and understandable n n 以体系结构为中心以体系结构为中心 Effective basis for large-scale reusen n 增量和迭代开发增量和迭代开发 基于风险前驱的原则,渐进地展开分析、设计及其相关基于风险前驱的原则,渐进地展开分析、设计及其相关活动,每个迭代都会提供一次验证和调整模型机会,推动活动,每个迭代都会提供一次验证和调整模型机会,推动软件质量的提升。软件质量的提升。3.3.2 Rational统一过程(RUP)用RUP1 参考资料2 RUP方法详解RUP1 参考资料3.3.3 微软产品开发周期模型 微软产品周期模型微软产品周期模型产品规划阶段产品规划阶段测试阶段测试阶段产品开发阶段产品开发阶段发布阶段发布阶段M1MnCCZBBRTM/WRC1RCnAlphaGolden MastersBetaProduct VisionFunction SpecQFEs3.3.3 微软产品开发周期模型 微软产品周期模型产品规划参考资料微软公司软件开发模式简介微软软件开发过程模型参考资料微软公司软件开发模式简介3.5 案例分析n HRMSHRMS系统系统即人力资源管理系统,是为某跨国企业的即人力资源管理系统,是为某跨国企业的ISS部门而开发的。部门而开发的。n HRMSHRMS系统生存期模型选择过程系统生存期模型选择过程针对本项目的开发特点,参考企业的生存期模型说明和软针对本项目的开发特点,参考企业的生存期模型说明和软件过程体系,决定采用迭代增量式模型。件过程体系,决定采用迭代增量式模型。3.5 案例分析 HRMS系统3.5 案例分析H HR RM MS S项项目目生生存存期期模模型型 3.5 案例分析H
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!