基于GJB5000A之软件过程改进概述.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
基于GJB5000A之软件过程改进概述.doc

  基于GJB5000A之软件过程改进概述 第一章 绪论 1.1研究的背景和意义 软件工程的兴起起源于 60 年代到 80 年代的软件危机。由于人们对软件的需求越来越来多,期望的功能也越来越复杂,导致软件项目变得十分巨大。如果一直使用以前的开发方法和过程,必然会产生许多问题:比如对软件项目的成本和开发进度常常估计不准确;用户对已完成的软件系统表现不满意;软件通常没有适当的文档资料说明软件的各项主要参数;软件的个体化特征也造成软件常常是不可维护的。目前,在我国的军事武器装备中,软件所占据的份额逐年攀升,规模和复杂度也日渐提高。各种武器系统的功能和性能越来越依赖系统软件。软件的质量与可靠性关系着武器装备性能的好坏。软件是系统中需要重点考虑的对象。在武器装备研制过程中,软件部件的失败会给整个项目组织带来一系列问题:比如经费超支、进度延误和资源浪费,甚至装备效能达不到要求,无法提交给用户。综合以上问题,在武器装备中必须加强软件开发的管理,提高软件的质量和可靠性。某个研究小组在分析软件危机[1]时曾写道:很少有这样的领域在最佳实践与一般实践之间有如此巨大的鸿沟,并进一步得出结论:软件开发中当前最主要的问题不是技术问题,而是管理问题。软件工程这个术语在 1968 年联邦德国召开的国际会议上被正式提出。软件工程的管理关系到可用资源是否合理利用,软件产品的生产能否符合既定的目标,提高软件组织的生产能力等问题。而长期的实践告诉人们,软件质量和可靠性是在软件过程中逐渐建立起来的,软件过程的好坏也影响着最后的软件质量,某个环节出现问题都有可能导致严重的后果。因此应该关注软件开发过程的控制和完善[2]。 . 1.2国内外研究现状 软件过程是指软件从设计到开发,使用到维护的一系列活动。而每个活动又包括相关的组织结构、资源和约束[9]。通过现代软件的实际开发,人们意识到软件质量的提升很大程度上还依赖于软件的开发过程[10][11],即高质量的软件过程可以产生高质量的软件产品。由于软件过程中涉及的一些重要因素,比如开发的环境、所使用的技术和专业的开发人员不断在变化,所以改进软件过程也是需要关注变化,是一个持续改进的过程,不是一蹴而就的[12]。研究者们提出了软件过程改进的不同模型。其中,最早由美国质量统计控制之父休哈特提出了 PDS(Plan Do See)。在此基础上,美国质量管理专家戴明将其改进成为 PDCA(Plan/Do/Check/Act)模型,又称为戴明环。Dion[13]提出了一个典型的过程改进模型,需要经历过程制定、过程控制和过程改进三个阶段。在过程制定阶段,根据实际情况制定出所要执行的过程并在组织内得到贯彻;在过程控制阶段,通过相关数据的收集和整理分析,对过程进行实时的控制;在最后的过程变更阶段,根据分析结果在需要变更的地方进行变更控制。与此相类似,Humphrey[12]也指出软件过程改进活动有以下三方面内容:一是过程定义,定义过程内的相关要素,包括过程内的活动,活动的顺序和出口标准等;二是过程使用,通过对定义的过程进行执行,发现一些改进的机会;三是数据收集和分析,根据收集和分析的数据,对软件过程进行针对性的改进。从以上的模型可以看出,软件过程改进涵盖了一系列过程管理活动:从过程定义到执行,从过程分析到变更。因此,Kinnula[14]认为软件过程改进活动是一项软件过程工程,对于软件过程改进的研究,主要分为两类[15]。第 1 类是研究界所关注的软件过程建模,第 2 类是软件工业界所关注的软件过程评估和改进模型,这类模型以软件能力成熟度集成模型为代表。这些模型主要用来对开发组织进行成熟度等级评估,并提出一条可行的改进方案。美国卡耐基梅隆大学软件工程研究所(SEI)在软件过程的实施中提出了 IDEAL 模型,包括五个步骤:初始化、诊断、建立、行动和推进[16]。 第二章 相关理论和标准 2.1 软件过程改进 软件过程是指从软件开发阶段到维护阶段中采用的方法、使用的技术等相关要素,以及在这一系列的过程中产生的计划、文档、模型、代码等的集合[24],是人们从事软件开发过程中的一系列活动和软件产品的集合[25],是人们从开发阶段到维护阶段产生的相关产品(如项目计划、设计文档、代码等软件工作产品)。软件过程包括软件开发中管理过程和工程过程,其中会涉及到有关的各种方法和技术等[26]。或者简单地说,软件过程是指从建立到维护软件产品的整个过程中所使用的技术活动和管理活动的集合[27]。软件过程又指从需求获取和分析、概要和详细设计、编码、测试、发布到维护的一个过程模型。这个模型是建立在生命周期模型基础之上的。一个软件过程定义了软件开发中采用的技术方法和工具。软件项目管理控制的基础是软件过程,它创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档