基于CMMI的软件项目过程管理方法改进论文.doc
《基于CMMI的软件项目过程管理方法改进论文.doc》由会员分享,可在线阅读,更多相关《基于CMMI的软件项目过程管理方法改进论文.doc(75页珍藏版)》请在三一办公上搜索。
1、摘 要软件界多年的实践研究工作表明,一个软件组织或企业,只有在软件过程被有效管理与控制的情况下,才有可能在既定的预算费用及进度约束下,向客户交付高质量的软件产品。软件过程的相关理论方法与模型有很多,其中较为著名的模型是美国卡内基-梅隆大学软件工程研究所 (CMU/SEI)研制并发布的一个标准模型:CMMI模型。本文是作者基于在一个实际的软件企业内,亲身参与到软件项目的过程改进实践工作中,来阐述实际企业内部是如何根据企业现存的一些问题,来进行软件过程的改进。本文所阐述的改进模型是CMMI-Dev(V1.2)模型,同时结合公司内现存的急需解决的重点问题,对目前公司内的项目过程管理流程进行优化与改进
2、,以适应项目的实际需要、提高项目管理水平。主要研究与实现三方面的工作:建立适合于小型项目使用的一套过程管理体系;支持项目管理流程的子系统研究与实现;收集并分析汇总项目执行过程中产生的数据。通过以上过程改进工作的研究与实践,证明了在结合实践公司业务特点的同时,此过程改进的实践方法在实际的工程项目管理中具有一定的工程指导价值与参考作用。关键词:软件过程改进,CMMI,项目管理体系,软件过程管理ABSTRACTMany years software industry practical research shows that an software organization or enterpris
3、e can deliver high-quality software products to its customers with estimated cost and schedule constraints only when software process is well managed and controlled. There are many theories and models for the software process. One of the more well-known models is the CMMI model which is developed an
4、d published by Carnegie - Mellon University Software Engineering Institute (CMU / SEI).This paper is based on an actual enterprise software project to improve the software process. By the project it will be discussed how to improve the software process according to the existing problems in the compa
5、ny. The improved model described in this paper is a model of the CMMI-Dev (V1.2). In the mean time it will be discussed how to optimize and improve the process management flow in the company according to the key issues which are urgent to be solved. Thus the improved process can be used to the actua
6、l needs of the project and raise the level of project management. Main research work in three areas:Establish a suitable set of process management system used for small projects,Research and realize subsystem to support the project management process,Collect, analyze and summarize the data generated
7、 in the project process.By the above improved process research and practice, it can prove the process improvement practice has engineering guidance value and reference in real engineering project management combined with the company business character.Key words: Software Process Improvement/CMMI/Pro
8、ject Management System/Software Process Management 目 录第1章 绪论11.1 项目背景和研究意义11.1.1 项目背景11.1.2 研究意义11.2国内外研究现状和发展趋势21.2.1 软件的出现与软件工程的发展21.2.2 软件过程管理理论的提出41.2.3 国外软件过程改进工作的研究与发展现状61.2.4 国内软件过程改进工作的研究与发展现状101.3 本文的主要工作121.4 论文的组织结构121.5 本章小结13第2章 CMMI模型介绍142.1 CMMI模型概述142.1.1 CMMI模型组件152.1.2 CMMI实施方法162.
9、1.3 CMMI评估方法172.2 CMMI 模型表示方式182.2.1 连续式表示方式182.2.2 阶段式表示方式202.2.3 两种表示法的区别222.3 本章小结22第3章 过程管理现状和实施问题分析243.1 公司情况介绍243.2 过程管理现状及实施问题243.2.1 质量管理体系执行问题243.2.2 人员管理意识薄弱问题263.2.3 项目费用管制问题263.3 本章小结27第4章 小型项目管理体系建立294.1 过程定义294.2 体系整体框架294.2.1框架介绍304.3 体系与CMMI的映射关系324.4 体系的实施324.5 本章小结36第5章 项目管理子系统设计38
10、5.1 系统设计的主要动因与目的385.2系统需求分析385.3系统总体结构分析465.4 系统实现的难点分析465.5界面设计475.6本章小结48第6章 改进效果与工作总结496.1改进效果分析496.2工作总结566.2.1全文工作总结566.2.2未来工作展望63参考文献65附 录68致 谢71第1章 绪论1.1 项目背景和研究意义1.1.1 项目背景现今的社会是知识经济高度发达的信息化时代,软件产业已成为信息化时代的核心基础,是一个国家综合国力的战略性产业。在软件生产行业中,要想取得强有力的竞争优势,除了有够硬的技术外,关注的主要焦点已集中在了管理上。软件过程管理、软件过程改进等概念
11、,已不再是些新的名词。软件业中较为著名的用于过程改进的模型是CMM和CMMI模型。此模型是由美国卡内基-梅隆大学软件工程研究所 (CMU/SEI)研制并发布的一个标准模型,其思想来源于已经存在多年历史的产品质量管理和全面质量管理。企业使用此模型,可以实现软件过程能力评估及软件过程改进工作。通过对企业内部软件过程进行改进,来提高企业内部整体管理化水平,使企业能够更好地实现其预期的商业目标。由于此模型主要起源于国外,国外的一些公司及企事业单位实施情况已较为普遍,国内相比而言,还处于起步与发展使用阶段。中国政府将发展软件产业摆在了较为重要的位置,将软件产业作为国民经济发展的先导与核心产业来加以扶持。
12、2000年6月,国务院下发了18号文件鼓励软件产业和集成电路产业发展的若干政策,其中第十七条明确规定:鼓励软件出口型企业通过GB/T19000-ISO9000系列质量认证体系认证和CMM认证。其认证费用由中央外贸发展基金适当予以支持。最近几年又陆续出台了一些有益于软件业发展的好政策。商务部:2006年10月颁布的商务部关于实施服务外包“千百十工程”的通知、商务部关于做好服务外包“千百十工程”企业认证和市场开拓有关工作的通知;财政部:2009年发出的关于鼓励政府和企业发包促进我国服务外包产业发展的指导意见;国务院办公厅:2011年2月发出的国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政
13、策的通知。有了国家的大力扶持后,国内的一些大中型企业也纷纷对软件过程管理及改进这块的工作渐渐重视起来,希望通过对软件过程进行有效改进与规范化,来提高企业内部软件开发过程能力和管理水平,降低企业成本。1.1.2 研究意义从1968年,软件工程概念提出到现在,软件开发过程管理与工程化,一直是软件业界讨论最多的话题,人们也逐渐意识到,要想提高软件开发水平,提高企业的核心竞争力,改进软件过程是每个企业都要走的路。对于软件企业来说,软件产品如同是企业的生命,需要有好的管理过程来保障。我国软件产业之所以落后,不是因为技术原因,在很大程度上是对软件生产过程的管理比较落后。CMMI是结合了质量管理和软件工程的
14、双重经验,而制定的一套针对软件生产过程的规范模型。本论文所讨论的问题,是结合一个实际公司内部现实存在并且是急需解决的问题,来研究与实践软件过程改进工作,具体很大的实践性,对其他企业或进行软件过程改进的从业人员,具有一定的参考作用。1.2国内外研究现状和发展趋势1.2.1 软件的出现与软件工程的发展20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职业的人也开始出现,他们多是经过训练的数学家和电子工程师。基于当时硬件非常昂贵,对于从事编程工作的人员来说,他们所追求的是如何在有限的处理器能力和存储器空间约束条件下,编写出执行速度快、体积小的程序来。鉴于当时的社会条件限制与科技发展
15、的状况,从事写程序这份差事,完全依赖于一些高端人员的聪明才智,程序中充满了各种各样让人迷惑的技巧,这种工作被比喻成一种艺术创作。此时期的软件开发方法基本上属于个体化软件开发方式,完全依靠个人的聪明才智和工作习惯。推荐使用淘宝自动发货 。软件是对客观世界中问题空间与结果空间的具体描述,是客观事物的一种反映1。由于客户世界是处在不断的变化之中,这就要求软件也要能跟得上相应的步伐,适应不断变化的客观事物。20世纪60年代中期到70年代中期,随着硬件的不断更新与发展,大容量、高速度计算机的出现,使计算机应用领域迅速扩大,软件开发急剧增长。高级语言也开始出现;操作系统的发展引起了计算机应用方式的变化。软
16、件系统的规模越来越大,复杂程度也越来越高。此后软件界出现了一系列问题:软件项目工期经常延期、开发出的软件预算严重超支、质量得不到保证、大型项目的软件维护工作也越来越困难、可移植性和可复用性差、失败的软件开发项目也屡见不鲜。依靠原有的以个体开发方式为中心的传统软件开发模式,已经无法满足客户对质量、效率、工期等方面的要求。迫切需要改变软件生产方式,提高软件生产率,软件危机(Software Crisis)由此产生了。软件危机,究其根本原因是软件生产属于知识密集型和人力密集型的一种生产性活动。为了克服软件危机,1968年,北大西洋公约组织(NATO)召集了来自11个不同国家的50多名一流的编程人员、
17、计算机科学家和工业界巨头,在德国Garmisch地区讨论和制定摆脱“软件危机”的对策。在那次国际性会议2上第一次提出了软件工程(Software Engineering)这个概念。着重要解决两个主要问题:一个是软件开发技术相关问题,包括软件开发方法学、软件工具和软件工程环境等;另一个是软件项目管理相关问题,包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。通过利用科学的工程化方法和管理手段,来进行软件开发活动,以便开发出成本低、功能强、可靠性高的软件来。对于软件工程的定义,不同的组织机构和学者,都有自己的一套定义:ISO/IEC/IEEE3对软件工程的定义为:将科学性的和技术性
18、的知识、方法以及经验,系统的应用到软件的设计、实现、测试和文档编写中。即将系统化、规范化、可度量的方法应用到软件的开发、运行和维护中,即将工程化应用到软件中。Fritz Bauer在NATO会议上给出的定义为:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 在后续不断研究与实践过程中,软件工程先后经历了几个具有里程碑意义的发展阶段,第一阶段:传统软件工程。由于软件工程所关注的使用方法和技术主要分成技术和管理两类4。首先从管理角度来看,这个时期出现的一些主要成果有:“瀑布式”生命周期模型,这个模型是当时最为经典的一种生命周期模型,随着软件开发工作的不
19、断变化、演进。传统的瀑布式开发模型(需求分析 系统设计程序设计编码单元测试和集成测试系统测试验收测试运行和维护)5,已频繁出现了一系列问题,不同类型的软件开发,其软件开发方式也应该是不一样的。后来,有人针对该模型本身存在的问题和不足,提出了其它一些用于软件开发周期的模型,这些模型有:V模型、快速原型法、螺旋模型、RAD(快速应用开发)、增量和迭代模型等,这些模型是对“瀑布式”生命周期模型不足的补充。一直到现目前,这些模型在软件开发的实践中一直被广泛采用。传统软件工程的另一发展领域是软件技术与方法的研究。70年代风靡一时的结构化开发方法,即OPD(面向过程的开发方法)以及OPA(面向过程的分析方
20、法)。由于客观世界的不断发展与变化,软件界在新需求、新技术不断涌现的同时,迫切需要对现行的软件系统进行不断升级与演化。到了20世纪80年代中期,随着计算机辅助软件工程(CASE)和软件工程环境的研制成为热点,面向对象技术OOA(面向对象的分析方法)、OOD(面向对象的设计方法)也开始出现并逐步流行开来。使得软件工程研究界发生了翻天覆地的变化。随之而来的是面向对象建模语言(以UML为代表)、软件复用、基于组件的软件开发等新的方法和领域。此发展阶段是软件工程的第二个发展阶段,即现代软件工程。随着软件工程新技术、新方法的不断出现,使得软件危机在一定程度上,得到了缓解,不过没有彻底根除掉软件危机的存在
21、。这也是软件界客观发展规律所决定的,没有一种所谓的“银弹”,能够从根本上解决掉软件开发所存在的问题。因为软件开发过程太过于复杂、开发过程中存在了太多的变数与不定;软件开发工作所依赖的业务领域和开发技术也是千变万化的。可以从以下一组数据看下,软件工程出现后,软件开发工作仍然存在一些比较严重的问题7:l 根据统计,每年投入750亿美元用于信息行业的20万个软件开发项目,其中只有16%的软件项目能够在原估计的预算范围内按期完成l 20世纪70年代中期,根据美国国防部汇总的统计数据显示,在失败的项目中,大概有70%是由于对软件开发过程管理不到位而引起的l 20世纪90年代,美国曾投入2500亿美元用于
22、信息化行业的170000个软件项目。其中有30%的项目在完成之前就被取消,这些半途而废的软件开发项目花费了将近800多亿元的实际成本费用;其中有53%的项目费用超出原预算的90%,几乎超出预算的一倍;只有10%的软件项目能够在项目预算范围内按期交付这就促使人们去寻找另外解决问题的方法和途径,经过不断的实践与总结,使得人们逐渐认识到影响软件问题的根由,究其原因不是由于技术、方法或者工具引起的,而是由于对软件开发过程缺少有效的管理与支持所致。也正是由于这个原因,导致了难以提高软件生产率和软件质量水平。基于这个现实背景情况,软件过程、软件过程管理与改进等理论方法相继出现,并得到了快速的发展与应用。1
23、.2.2 软件过程管理理论的提出自从20世纪80年代末期,过程思维提倡者Watts Humphrey(1989) 将过程管理的原则引进到软件开发过程中10,在软件业界掀起了一股以过程改进为中心的热潮。这是软件业发展的第二阶段。Watts Humphrey 将软件过程定义为软件开发和进化过程中使用的一系列活动、方法和实践8。通俗的说,软件过程就是指软件开发所涉及的一系列相关活动与实践、技术、方法和工具,以及活动与实践过程中产生的成果物的集合,其中的产出物大体可包括三大类:工程类文档(需求规格说明书、设计规格说明书、测试用例等)、项目管理类文档(项目管理计划、风险管理计划、沟通管理计划等)、支持类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CMMI 软件 项目 过程 管理 方法 改进 论文
链接地址:https://www.31ppt.com/p-3818312.html