软件工程及项目管理第11章_第1页
软件工程及项目管理第11章_第2页
软件工程及项目管理第11章_第3页
软件工程及项目管理第11章_第4页
软件工程及项目管理第11章_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、第11章 软件过程改进 掌握:掌握:软件过程及其改进的概念、CMM、RUP、PSP、TSP。11.1 软件过程改进概论11.1.1 软件过程及其改进的概念 软件过程是指软件生存周期所涉及的一系列相关过程,例如制订开发计划、实施软件测试等 软件过程改进的目的就是尽量使软件开发的过程标准化、可重复化,实现软件生产过程的自动有序前进,从而提高软件开发组织的生产能力。11.1.2 软件过程管理的发展1结构化生产时代2以过程改进为中心的时代3软件工业化生产时代11.2 软件过程能力成熟度模型CMM11.2.1 CMM的产生 软件过程能力成熟度模型CMM的产生可以追溯到20世纪80年代,当时,美国软件工程

2、研究所SEI根据美国国防部的要求,研究如何通过一系列技术管理方法来提高软件工程水平,以保证美国防部能够通过对成本、进度和质量的预估和改进,获得精准的软件系统。 研究的结果于1991年发表,并被命名为CMM模型。1993年,SEI又公布了软件能力成熟度模型的1.1版,它被广泛用于衡量软件企业的开发管理水平。软件过程能力成熟度模型既可作为软件发包方评估承包方执行能力的参考标准,也可以被软件企业用作软件过程改进工作的参考模型。11.2.2 CMM的内容简介1初始级初始级 在初始级,企业一般不具备稳定的软件开发与维护环境,常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。处于这一等级的企业,

3、成功与否在很大程度上决定于是否有杰出的项目经理与经验丰富的开发团队。因此,能否雇请到有能力的员工成了关键问题,项目成功与否非常不确定。虽然产品一般来说是可用的,但是往往有超出经费与不能按期完成的问题。 2可重复级可重复级 在这一级,企业建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施,基于过往的项目的经验来计划与管理新的项目。企业实行了基本的控制管理,并根据以往项目及新项目的具体情况来制定计划。项目经理负责监视成本、进度和产品功能,及时发现并解决问题,以便实现所做的各项承诺。 3定义级定义级 在这一级,有关软件工程与管理工程的一个特定的、面向整个企业的软件开发与维护过程的文件将被制订出

4、来,同时,这些过程集成为一个协调的整体,这就称为企业的标准化软件过程。 这些标准的过程有利于帮助管理人员与一般成员工作得更有效率。在实践中,也可根据需要对这些标准进行进一步的优化。在这个把过程标准化的努力当中,企业开发出有效的软件工程的各种实践活动。 4管理级管理级 在这一级,企业为产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。企业的度量方案,要对所有项目的重要的过程活动进行质量控制,一个企业范围的数据库被用于收集与分析来自各项目的过程的数据。这些度量建立起了一个评价项目过程与产品的定量的依据。项目小组可以通过缩小他们的效能表现的偏差,使之处于可接受的定量界限之内,

5、从而达到对过程与产品进行控制的目的。 因为过程是稳定的和经过度量的,所以在有意外情况发生时,企业能够很快辨明意外情况发生的原因,并加以处理。5优化级优化级 在这个等级,企业将重点放在对过程进行不断地优化上。企业采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。同时,分析有关过程的有效资料,对新技术的成本与收益做出分析,以及提出修改过程的建议。整个企业都致力于探索最佳软件工程实践的创新。 表11-1 CMM的5个级别软件过程能力成熟度级别相应的软件过程特征优化级持续改进过程过程能得以不断优化管理级可预测过程过程能定量化管理和控制已定义级标准化过程过程具有稳定性并被充分理解可重复级别制度化过程

6、过程可控,能重复以往的成功项目初始级无序过程过程不可预测,难以控制11.2.3 CMM应用 目前,CMM不管是在学术界还是在软件企业都受到了越来越多的关注。学术界方面,中国生产力促进协会、北航SEI、中科院研究SEI等科研机构先后举办过多次报告会和研讨会,开展了软件过程方面的研究与开发工作,并发表了多篇研究成果和学术论文。 软件企业界方面,包括东软、用友、惠普中国软件研发中心、华为技术有限公司上海研究所在内的多家企业都应用CMM。目前国内通过CMM5级评估的企业已有数家。11.3 统一软件过程RUP11.3.1 RUP概要 RUP(Rational Unified Process,统一软件开发

7、过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论,最初由Rational公司提出。根据Rational的说法,RUP好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针、模版以及事例支持。 RUP和类似的产品(如面向对象的软件过程(OOSP)及OPEN Process)都是理解性的软件工程工具,即把开发中面向过程的方面(如定义的阶段、技术和实践)和其他开发的组件(如文档、模型、手册以及代码等)整合在一个统一的框架内。11.3.2 RUP的软件生存期 1初始阶段 初始阶段有时也称先启阶段。初始阶段的目标是为系统建立商业案例,并确定项目的边界。 2细化阶段 细化阶段的目标

8、是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中风险最高的元素。 3构造阶段 在构建阶段,所有剩余的构件和应用程序功能都被开发并集成为产品,所有的功能都被详细测试。 4交付阶段 交付阶段的重点是确保软件对最终用户是可用的。11.3.3 RUP的核心工作流1商业建模(Business Modeling) 2需求(Requirements)3分析和设计(Analysis & Design) 4实现(Implementation)5测试(Test) 6部署(Deployment) 7配置和变更管理(Configuration and Change Management) 8项

9、目管理(Project Management) 9环境(Environment) 11.3.4 RUP的应用(1)确定本项目需要哪些工作流。(2)确定每个工作流需要哪些制品。(3)确定4个阶段之间如何演进。(4)确定每个阶段内的迭代计划,规划RUP的4个阶段中每次迭代开发的内容。(5)规划工作流内部结构。11.4 个体软件过程PSP及团体软件过程TSP11.4.1 个体软件过程PSP个体软件过程PSP是由美国卡内基梅隆大学软件工程研究所(CMU/SEl)的Watts S. Humphrey领导开发并于1995年推出的在软件设计阶段,PSP的着眼于软件缺陷的预防,其具体办法是强化设计约束规则,而

10、不是设计方法的选择。PSP的作用如下: (1)使用自底向上的方法来改进过程,向每个软件工程师表明过程改进的原则,使他们能够明白如何有效地生产出高质量的软件。 (2)为基于个体和小型群组软件过程的优化提供了具体而有效的途径,其研究与实践填补了CMM的空白。 (3)帮助软件工程师在个人的基础上运用过程的原则,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己对日常工作的评估、计划和预测更加准确、有效,进而改进个人的工作表现,提高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的软件工程过程改进。11.4.2 团体软件过程TSP 团队软件过程TSP是为开发软件产品的开发团队提供指导。TSP的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好地满足成本及进度的目标。TSP被设计为满足220人规模的开发团队,大型的多团队过程的TSP被设计为大约最多为150人左右的规模。 11.4.3 CMM、PSP、TSP之间的关系 CMM 是过程改善的第一步,它提供了评价组织能力、识别优先改善需求和追踪改善进展的管理方式。 PSP 能够指导软件工程师如何保证自己

温馨提示

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

评论

0/150

提交评论