浅谈软件过程的改进

时间:2023-06-08 09:00:12 公文范文 来源:网友投稿

摘要:软件工程的改进是全世界软件工程研究人员都在不断探索的一个问题域。本文描述了一个不成熟组织和一个成熟组织之间的差异,重点定义和描述了SEI能力成熟模型的5个成熟级,并提出了一个通用系统开发过程的改进模型。

关键词:软件工程;SEI能力成熟模型

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21705-01

Discuss the Improvement of the Software Course Simply

WANG Wen-li

(Guangdong Lingnan Institute of Technology,Guangzhou 510663,China)

Abstract:Improvement of soft project in a problem land that is explored constantly soft project researcher in whole world. First of description of this text are organized uipely and a ripe difference while organizing, key definition and describe SEI ability ripe 5 ripe grade of model, propose one common system improvement model to develop course.

Key words:Soft project;Ripe model of SEI ability

1 引言

信息系统生命期(SDLC)由活动、产品和资源组成。活动是在一个SDLC中进行的动作,并且可以是高层分析至程序的编译或者测试之类的任何工作。产品是在SDLC期间产生的文档和程序。资源由人员、时间、金钱和设备等组成。在一个SDLC期间要使用它们,SDLC在某些文献以及讨论开发的研究中也看成是一个软件的过程。

全世界的软件工程研究人员都致力于改进软件过程。SEI(Software Engineering Institute)的能力成熟模型是一种软件过程改进的途径。本文基于这一框架来讨论软件过程的改进。在世界范围内有许多其他实践着的软件过程改进。本文选择这一途径进行讨论,是因为大量的出版物上有有关的文章、讨论及批评,并且在美国和许多其他地区普遍接受了它。在1986年,CMU软件工程研究所(SEI)在Mitre公司的帮助下,开始发展一种有助于开发人员改进他们的开发过程的系统开发过程成熟度框架。最初称为软件过程成熟度模型。

2 不成熟和成熟的系统开发组织

一个组织希望建立起改进信息系统开发过程的实用的目标时,首先必须理解不成熟系统开发组织和成熟的系统开发组织之间的差异。在一个不成熟的系统开发组织中,通常开发人员即兴提出系统开发过程。即使详细说明了一个特定的开发过程,也很少会坚持或强化这一开发过程。

描述不成熟系统开发组织的最好词语是“反应”。通常管理人员关注解决危机和“救火”上。经常性地超支,因为从来没有真正地估计过进度和预算。当人为的期限迫近时,软件产品功能、性能和质量往往受损。

最后,一个不成熟系统开发组织缺乏有目的的办法来评估软件产品质量、或解决发生的产品问题或过程问题。为保持或接近进度,经常减少取消试图提高软件产品质量的活动,例如用户介入,设计评审和测试。

成熟的系统开发组织可能在全机构范围内管理系统的开发和维护。管理人员可以准确地把系统开发过程传达给开发人员,开发人员根据计划的过程实施相应的活动。规定的开发过程是可用的,并和进行工作的实际途径相一致。通过受控的试验性测试和效益分析,确定必须改进过程时,就更新规定的开发过程。在项目范围内和贯通组织范围中都理解开发人员的作用和责任。

成熟系统开发组织的管理人员不断地监视系统产品的质量个制造产品的过程。坚持一个目标明确的、定量的方法来评估系统产品质量和分析产品的问题和过程的问题。基于历史上的行为制定进度和预算,因此是现实的,通常可以达到。

最后,一个成熟的系统开发组织使用一个纪律严明的系统开发过程,因为全体参与人员理解如此做的价值,企业的基础结构设施支持他们达到这一点。

过程改进(例如SEI的CMM)的目的是支持软件开发管理人员,开发人员和业务工作。而不是去责备和羞辱他们。软件过程改进的组织软件开发组织的管理人员之所以失败,常常就是因为害怕承认了软件开发过程真实情况所带来的后果。

3 SEI能力成熟模型的5个成熟阶段

一个系统开发过程是开发人员用来开发和维持信息系统的活动、方法、实践和变换的集合。如果一个软件的开发组织是成熟的,在其组织内具有较好的定义,并一贯地使用于开发过程。通过政策、标准和组织结构体现的系统开发过程是这种成熟性的自然产物。不要将成熟度和多年处于的状态等同。对于现在的讨论中,把成熟度等同于智慧的成熟和在应用知识上的智慧。所以一个软件开发组织成熟就相当于该组织能把通常认可的有关软件开发过程的知识应用于自己的软件开发工作中。

坚持连续地改进过程的思想,CMM为软件为软件组织的演进步伐提供有五个成熟度的框架,如图1所示。当软件组织达到一个成熟度级的框架时,每一个成熟度级为连续的过程改进中转向下一个成熟级打下基础。每一级都假定软件组织已经达到了在CMM指南规定的所有较低级别的要求。图2总结由CMM描述的关键过程区域。

图1 SEI能力成熟模型 图2 在能力成熟模型中的关键过程区域

第1级,初始级软件组织的一般特征是没有开发和维持系统的稳定的环境。这种组织极少能做到使软件开发按一个有序的开发过程进行。结果是发生一系列开发危机,一遇到问题,开发组成员放弃计划好的过程,并回到反复编码和测试。

第2级,可重复级软件组织的一般特征是有食用的政策和过程,并在系统开发中坚持使用。新项目的计划和承诺是基于相似的项目的经验。基本的管理控制是属于每个开发项目的一部分,管理人员跟踪费用、进度和识别问题。

用户需求和开发出来满足要求的工作产品是按基线进行,并控制其完整性,项目遵循标准;然而在第2级的组织中项目之间的过程可能不同。因为可以重复过去的成功经验,所以其项目计划和控制是稳定的。这些组织的过程能力是有规律的。

第3级,定义级按软件组织在相继项目上的稳定性和可重复性,所代表的全组织的标准和一致的系统开发过程来标志。这个过程的编写成文档,包括一个开发人员的过程部件和一个管理过程的部件。由于标准化,组织作为一个整体应当能够进行有效的系统开发时间。

因为在这一级的开发组织有一个很好的定义过程,管理人员对每个项目的技术过程有良好的洞察力。除此以外,在组织的标准化系统开发过程中包括了以下各方面的指南:(1)标准;(2)建立可读性准则;(3)开发输入;(4)完成工作的步骤;(5)工作验证步骤,例如同事评估;(6)开发输出;(7)决定完成准则。

第4级,管理级是建立了系统开发产品和系统开发过程的定量质量目标的几个为特征的组织,对于遍及所有项目的重要的系统开发过程都度量生产率和质量作为自制的度量程序的一部分。

整个组织维护一个过程数据库以收集和分析来自各项目确定过程的数据,这些组织的范围的度量建立了一个定量的基础,用于评估任一项目的过程和产品。每个项目通过在他们行为中减少与组织的可接受数量界限的差别来控制他们的过程和产品。在一个项目过程实施中有实质性的变动和随机变动加以区别,当已知的过程界限超出后,管理可以采取行动来纠正这种情况。第4级允许一个组织在确定的定量范围内对系统开发过程和产品质量具有预测趋势的能力。

第5级,优化级通过整个系统开发组织致力于连续的过程改进为标志。组织有适当的途径识别开发过程弱点和产品弱点,并用零缺陷目标化它们。过程数据库(来自第4级)用来对新技术和系统开发过程的变动进行费用—利益分析。探索最佳系统开发实践的革新在整个组织内部识别并传播。

项目小组分析缺陷以决定原因,对过程进行评估以避免已知类型的错误重现,并传播其他项目的经验。因为系统开发中低效益的主要原因是重复工作,所以减少重复工作可以说是每一级的目标。但是在第5级,它成为一个主要的关注点。

4 一个基本的系统开发过程改进模型

通过遵循这个简单的系统开发过程改进模型——ICASE,一个系统开发组织可以来达到其希望提高CMM的级别的目的。

I=调查,调查组织的系统开发过程的现有状态。在我们可以确定移向下一个级别之前,我们需要知道我们处于哪里。

C=建立,在组织内部建立一种意想。使开发人员和管理人员进入改进系统开发过程的概念中去。

A=行动,在组织中对必须要求的过程改进行动建立一张清单。

S=选择,选择一个计划以达到要求的行动。

E=执行,提交执行计划必须的资源。

最后,当开始并不断在CMM级进行改进时,反复这一过程。

5 小结

本文给出了对软件过程改进的概述。由于许多因素使软件创建的过程需要不断的改进。软件过程改进就是试图这样做的活动。按SEI能力成熟模型——给出软件开发成熟度的五个级别,给出了不成熟和成熟软件开发环境。在这之后,一个一般的系统开发过程改进模型,用ICASE缩写表示。本文简短地讨论ISO 9000过程改进标准作为结束。

如前所述,SEI的CMM不是仅有的系统开发度量模型。还有ISO 9000系列标准,以及可以通过全世界的咨询组织获得几个专利的方案。然而,CMM可能是所有系统开发度量模型当中编写最流行的文档方法。

参考文献:

[1]国刚.UML与Rational Rose 2003软件工程统一建模原理与实践教程[M].电子工业出版社,2006.

[2]符长青.信息系统工程监理[M].机械工业出版社,2006.

[3]周爱民.大道至简——软件工程实践者的思想[M].电子工业出版社,2007.

[4]赵池龙.软件工程实践教程[M].电子工业出版社,2005.

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

推荐访问:浅谈 改进 过程 软件