软件过程改进6(总结)_第1页
软件过程改进6(总结)_第2页
软件过程改进6(总结)_第3页
软件过程改进6(总结)_第4页
软件过程改进6(总结)_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程一级学科硕士研究生学位课程软件过程改进河海大学计算机与信息学院第六讲总结回顾软件过程改进的基本知识集成的软件能力成熟度模型CMMI个人软件过程PSP小组软件过程TSP敏捷开发方法和极限编程XP集成产品开发IPD和华为IPD实践目 录软件过程改进的基本知识软件过程概念软件过程模型软件配置管理软件项目管理软件风险管理目 录什么是软件过程 软件过程是为开发和维护高质量软件所需要完成的任务的框架。在该框架下可以建立一个软件开发的综合计划,从而使软件开发能够以一种合理而有序的方式进行。 软件过程是活动的集合;活动是任务的集合;任务是把输入转换为输出的操作。 软件工程是有创造力、有知识的人在定义好

2、的、成熟的软件过程框架中进行的。什么是软件过程里程碑、交付物SQA点公共过程框架框架活动保护性活动任务集合工作任务软件过程框架示意图什么是软件过程软件过程可分为三大类:基本过程类:是构成软件生存周期主要部分的那些过程,包括获取、供应、开发、操作、维护等过程。支持过程类:可穿插到基本过程中提供支持的一系列过程,包括文档开发、配置管理、质量保证、验证、确认、联合评审、审计、问题解决等过程。组织过程类:一个组织用来建立、实施一种基础结构、并不断改进该基础结构的过程,包括管理、基础、改进、培训等过程。软件过程模型 软件过程模型是软件开发的指导思想和全局性框架,软件过程模型的提出和发展反映了人们对软件过

3、程的某种认识观,体现了人们对软件过程认识的提高和飞跃。描述开发的主要阶段定义每个阶段要完成的主要过程和活动规范每个阶段的输入和输出(产出物)提供一个框架,把必要的活动映射到框架 主要软件过程模型 : (1)瀑布模型;(2)原型模型;(3)增量模型;(4)螺旋模型;(5)V模型软件质量保证 软件质量要素:产品修改产品变迁产品运行易维护性灵活性易测试性易移植性易复用性互用性完整性、正确性、可靠性、高效率、易使用性软件质量保证软件质量保证(SQA)是一种应用于整个软件过程的保护性活动。SQA包括:一种过程质量管理方法有效的软件工程技术(方法和工具)在整个软件过程中采用的正式技术复审一种多层次的测试策

4、略对软件文档及其修改的控制保证遵从软件开发标准的规程度量和报告机制软件配置管理 1、配置管理:协调软件开发以减少由变化带来的不理解性到最小程度的技术称为配置管理。软件配置管理(SCM)是贯穿于整个软件过程中的保护性活动。 2、软件配置项:(1)可运行程序、源泉程序代码(段),分日期、分版本;(2)定期汇聚文档、发布的文档;技术类、管理类;(3)参数、代码、配置信息等数据;(4)系统环境类软件软件配置管理 3、基线:是软件开发中的里程碑,其标志是有一个或多个软件配置项的交付,且这些SCI已经经过正式技术复审而获得认可。 4、配置管理的主要任务:(1)标识;(2)版本控制;(3)变化控制;(4)配

5、置审计;(4)状态报告。软件项目管理 1、软件项目管理 是软件过程的保护性活动,它先于任何技术活动之前开始,并且持续贯穿于整个计算机软件的定义、开发和维护之中。 有效的项目管理范围集中于三个P上:人员(people)问题(problem)过程(process)软件项目管理 2、项目估算:估算工作量、成本、资源配置要求 3、项目进度计划:(1)确定项目组成员;(2)确定任务及其并行性;(3)制定开发进度计划;(4)用图示表达进度安排; 4、项目进度跟踪和偏差控制软件风险管理 软件风险管理指的是“试图以一种可行的原则和实践,规范化地控制影响项目成功的风险”,其目的是“辨识、描述和消除风险因素,以免

6、它们威胁软件的成功运作” 风险管理包括:风险设别、风险评估、风险规划和风险监控 风险管理策略: (1)被动策略;(2) 主动策略:预防为主集成的软件能力成熟度模型CMMI软件过程改进CMMI过程改进原理CMMI模型综述CMMI模型规范公共目标和实践目 录软件过程改进软件过程成熟度: 指一个特定的软件过程被定义、管理、度量、控制和执行的程度。成熟度可以标志企业加强其软件过程能力的潜力。 当一个企业达到了一定的软件过程成熟级别后,它将通过制定策略、建立标准和确立机构使它的软件过程制度化。而制度化又促使企业通过建立基础设施和企业文化来支持相关的方法、实践和过程。从而使之可以持续并维持一个良性循环。软

7、件过程改进软件能力成熟度模型CMM: Capability Maturity Model,CMM软件能力成熟度模型是美国大学Carnegie Mellon University软件工程研究所提出的一套系统、规范的对软件生产过程进行管理的模型,其有效性已为大量实践所证实,并已成为对一个软件企业的生产能力和产品质量进行衡量的事实标准(用于评估、改进实践)。CMMI过程改进原理过程改进应有助于业务而不是为了自身的原因 改进意味着不同组织的不同目标: 什么是组织的商业目标? 如何度量进展?改进是长期的、战略性的努力工作: 根据基本出发点,预期什么效果呢? 度量的效果如何?CMMI过程改进原理初始化(I

8、nitiating) 诊断(Diagnosing)建立(Establishing)行动(Acting) 推进(Leveraging) 过程改进方法IDEAL模型CMMI模型综述CMMI模型综述过程域是一系列实践和目标的集合,通过执行这些实践就能实现一组相应的目标。CMMI模型综述Continuous Representation: PAs by Categories连续式表示法:过程域按类划分CMMI模型综述Staged Representation: PAs by Maturity Level阶段式表示法:过程域按成熟度等级划分CMMI模型综述CMMI模型综述成熟度等级1:初始级过程通常是混

9、乱的无稳定的环境支撑过程的执行成功依靠个人能力和英雄,而不是已证明可用的过程也能够提供可使用的产品和服务,但常常超支或超期特点:超出承诺,时间危机时放弃过程,无能力复制成功CMMI模型综述成熟度等级2:已管理级组织能保证过程能按照方针的要求进行计划和执行项目使用有技能的员工提交可控的提交物有相关干系人的参与受到监控、控制、评审按照过程的描述进行评估过程的纪律性确保在时间的压力下也能执行规 定的实践CMMI模型综述成熟度等级2:已管理级工作产品的状态和提交的服务在已定义的点上提供管理层的可视性建立了相关干系人的承诺,并在需要时进行修订工作产品得到合适的控制工作产品和服务满足指定过程的描述、标准和

10、流程CMMI模型综述成熟度等级3:已定义级过程得到较好的分类和理解,并描述在标准、流程、工具和方法中以上是最基本的要求,必须得到建立,并适时的改进标准的过程必须在组织层面上建立一致性根据组织的过程裁剪指引和组织的标准过程,裁剪出适应项目的已定义的过程CMMI模型综述成熟度等级4:定量管理级过程效能由统计和其它量化的技术所控制用于组织和项目级别,可以用量化的方式理解过去的过程效能预测将来的过程效能预测将来产品质量和服务质量成熟度等级5:持续优化级渐进和创新的改进,以增强过程的能力个人软件过程PSPPSP过程概念PSP框架PSP核心技能目 录 PSP是一种可用于控制、管理和改进个人工作方式的自我持

11、续改进过程,是一个包括软件开发表格、指南和规程的结构化框架),它: 示范了软件过程原则 帮助工程师做正确的计划 告诉工程师怎样提高软件质量 建立个人软件过程提升的度量标准 确定过程改进在工程师表现中的影响PSP过程PSP框架PSP的核心技能时间管理制定计划缺陷管理软件规模度量设计评审目录小组软件过程TSPTSP的目标TSP管理的原则TSP小组角色TSP小组过程TSP的目标创建具有自我管理能力的群组;管理人员要善于引导和激励群组的全体成员使他们能发挥自己的最高水平;采用CMM来进行软件过程的改革,为处于高成熟度的软件组织的过程改进提供指导、积极培训人才。TSP管理的六项原则 在实施小组软件过程T

12、SP的过程中,应该自始至终贯彻集体管理与自我管理相结合的原则: (1)计划工作的原则 (2)实事求是的原则 (3)动态监控的原则 (4)自我管理的原则 (5)集体管理的原则 (6)独立负责的原则TSP小组角色 小组领导、开发经理、计划经理、质量/生产经理、技术支持经理 每一个角色都描述四种特征小组角色的目标(每个目标都可度量);对小组角色有帮助的技能和能力;小组角色的主要活动;小组角色在工程中的活动;TSP简化软件过程目录敏捷开发方法和极限编程XP敏捷开发的核心思想敏捷开发的原则极限编程的核心思想极限编程的核心实践敏捷开发的核心思想 敏捷软件开发方法的核心是以人为本,迭代、循序渐进的开发方法。

13、敏捷软件开发方法认为,对项目最重要的影响因素是人,而不是过程和技术。不能把人员当做由过程驱动的“可插拔替换的编程单元”,而要发挥人的能动性,建立紧密协作的、自组织的团队。敏捷开发的核心思想 敏捷开发方法认为:人和交互 重于 过程和工具可以工作的软件 重于 面面俱到的文档客户合作 重于 合同谈判随时应对变化 重于 遵循计划极限编程XP的核心思想沟通:问题往往是开发人员与设计人员,设计人员和客户之间沟通不畅导致的。团队成员之间通过日常沟通,简单设计,测试,系统隐喻以及代码本身来沟通产品需求和系统设计。团队成员不是通过文档来交流,文档不是必须的。反馈:尽快获得用户的反馈,并且越详细越好,使得开发人员

14、能够保证自己的成果符合用户的需要。极限编程XP的核心思想简单:XP提倡简单的设计,简单的解决方案。应该尽量保持代码的简单,与其实现一个复杂的的系统,不如设计一个能够满足目前需要的、简单的系统,因为你所考虑的情况可能永远都不会发生。勇气:XP鼓励一些有较高风险的良好的做法。例如,它要求程序员尽可能频繁地重构代码,必须删除过时的代码,不解决技术难题就不罢休,等等。团队:XP 提倡团队合作,相互尊重。极限编程XP的核心实践1.现场客户(On-site Customer)2.计划游戏(Planning Game)3.系统隐喻(System Metaphor)4.简单设计(Simple Design)5

15、.代码集体所有(Collective Code Ownership)6.结对编程(Pair Programming)7.测试驱动(Test-driven)8.小型发布(Small Releases)9.重构(Refactoring)10.持续集成(Continuous integration)11.每周40小时工作制(40-hour Weeks)12.代码规范(Coding Standards)目录集成产品开发IPD和华为的实践IPD的核心思想IPD的整体框架华为IPD实践IPD的核心思想IPD核心思想Westment并行产品开发是投资行为结构化MBI基于市场的创新重用策略模块化协同跨部门协同

16、结构化流程并行过程IPD的整体框架IPD集成了多个最好的产品开发实践方法,它集成了代表业界最佳实践的诸多要素。具体包括:异步开发与共用基础模块、跨部门团队、项目和管道管理、结构化流程、客户需求分析、优化投资组合和衡量标准共七个方面。IPD框架如下图所示: 华为IPD理念需求管理结构化流程跨部门团队项目管理技术开发系统工程管道管理市场管理和业务策略支撑基础做正确的事情正确地做事情IT基础工具技能衡量工具IPD强调以市场需求作为产品开发的驱动力,将产品开发作为一种投资来管理。IPD由市场管理(MM),需求管理(OR),集成产品开发(IPD)三大流程,IPD管理体系及其他一些关键要素有机组成作业1、软件过程改进与CMMI 论述如何根据CMMI来指导软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论