基于CMM的软件维护模型研究

时间:2022-03-11 05:47:23

【摘要】二、软件维护成熟度模型概述 软件维护成熟度的简称为SMmm,它是对软件项目的定义、执行、管理、测量与控制各个过程进行评定的一种尺度。建立软件维护成熟度模型的主要目的就是对软...

基于CMM的软件维护模型研究

摘 要:软件维护模型是在软件开发与管理过程中使用的一种系统方法,是进行软件维护与扩展的指导思想,也是进行软件维护能力评估的重要指标。本文以CMM为基础,对SMmm的体系中的等级以及级间关系进行研究与分析,明确了该模型中的存在的问题,制定了概要剪裁与详细剪裁的基本规则。

关键词:软件维护模型;软件开发与管理;CMM;SMmm

中图分类号:TP311.5 文献标识码:A 文章编号:1674-7712 (2013) 24-0000-02

一、引言

对软件进行维护是软件工程中一个重要的课题,它对软件企业的管理与投资、人力安排以及技术方面有着重要的意义。目前,我国软件维护存在工作量大、技术水平较低、维护过程不规范等众多问题。为了解决上述问题,众多专家学者以CMM为基础,对软件维护进行建模,并提出了成熟度模型,它不仅提高了软件维护供应商的维护能力,也对组织进行了扩展,具有重要的现实意义。

二、软件维护成熟度模型概述

软件维护成熟度的简称为SMmm,它是对软件项目的定义、执行、管理、测量与控制各个过程进行评定的一种尺度。建立软件维护成熟度模型的主要目的就是对软件维护的过程进行优化,并且将此路径的成熟度逐步提高。

(一)SMmm的结构体系

SMmm是一种阶梯式的进步框架,以分层的方式对各个组成部分进行安排,主要是为了满足不同机构的使用需要。在该体系中,软件成熟度分成了五个不同的等级,由执行级(第一级)到优化级(第五级)逐步升高。采用五级分层的原因是,软件维护是一个过程,它由过程管理、请求管理、演化工程和演化工程支持四个过程域构成。此外,该体系中还设置了线路图,它特定域对过程域的一种附加,具体结构如图1所示。

(二)成熟度等级

对于不同的软件维护组织来说,具有的行为特征也是不同的。那么,可以从三个方面进行描述,即为改进软件过程而发生的行为、项目进行的活动以及由此产生的过程能力。成熟度等级主要分为五类,具体如下。

(1)已执行级(等级1)

在该等级中,所有的维护过程都是无序的,并且用户与组织的交互是非正式的。由于事件的报告标准和请求的不同,那么服务的稳定性以及能力也会有不同。

(2)已管理级(等级2)

在该级别中,软件维护机构已经建立了项目的管理方法与规范,并且以此为基础进行新项目的管理。该等级的主要目的是实现维护过程的有效化、制度化。

(3)已建立级(等级3)

在该级别中,软件组织的所有过程都已经文档化,所有的文档集成在了一个有机整体中,也就是标准软件过程。该标准过程可以提高软件维护人员的工作效率。

(4)可预测级(等级4)

在可预测级中,组织会对软件项目的质量以及过程都进行了目标制定,所有的过程与行为都必须以该目标为方向。此外,在可预测级中的软件维护过程包括了定义合理与一致性的测量活动,它是定量评价项目的基础。

(5)优化级(等级5)

在优化级中,所有的精力都用在对于过程的不断改进与优化中,并且要对过程中的弱点进行发现与改进。并且能够用软件维护过程有效性数据,识别出软件工程实践技术的创新,并推广到组织中去。

(三)SMmm与CMM模型的比较

SMmm的结构和CMM结构非常相似,所以经常使用CMM模型的开发人员很容易理解SMmm模型。不过,对于SMmm与CMM模型来说,还是存在本质上的区别。因为,CMM是以开发人员的角度为核心的,主要关注的是项目的管理,但是它无法解决软件维护问题。此外,CMM在软件维护过程中显得过于繁琐与冗长。因此,SMmm增加了服务请求管理和事件、SLA、操作支持以及软件移交等内容,具体如表1所示。

三、软件维护成熟度模型未能解决的问题

SMmm对软件维护有着指导作用,但是还存在以下无法解决的问题:

(1)SMmm对维护过程的各种关键过程进行实践,但是并没有包括具体技术、个人技能以及人才等因素。

(2)SMmm所描述的标准与实践适用于大型项目的维护,但是对于小型项目必须进行裁剪。

(3)对于等级4与等级5的阐述,SMmm的实践经验不足,对该类的组织特征了解较少。

四、过程剪裁

过程剪裁主要是利用增加、删除或修改某个过程来帮助本项目实现目标。所有过程都可以被定义与使用,但是,没有有效控制剪裁偏差就不存在标准过程,所以必须对剪裁的偏差进行严格控制。首先,确定项目的类型,然后根据特征标准进行调整。

(1)概要剪裁向导。首先,必须定义项目的某些特性,对于适应性维护项目来说,主要包括应用程序的危险度、最多使用人数以及技术熟练度等。如果在项目小组成员中,大部分技术人员的工作经验为两年以上,那么技术熟练度较高,否则较低;如果应用程序对客户业务影响比较重要,那么程序的危险度较高。

(2)详细剪裁向导。在进行概要剪裁后,那么详细剪裁的内容就确定了。如果维护项目的过程完成后,其顺序也就固定了,那么计划于调度维护就是后期维护的基础。在此情形下,剪裁向导是不充分的,那么就需要进一步修改标准过程,并且重新调整偏差。

五、结束语

软件维护成熟度模型是在CMM模型的基础上发展而来的,但是它的结构与CMM结构非常相似。由于SMmm模型可以提高软件维护供应商的能力,并且优化内部组织结构,所以是对CMM模型的有效补充。本文对比分析了CMM与SMmm,并且提出了概要剪裁与详细剪裁的基本规则。规范密集型软件设备的维护制度,并且提高软件为维护工作的效率,是未来工作的目标。

参考文献:

[1]周燕玲.浅谈软件开发中信息传播系统的建设与维护[J].硅谷,2011(10):98-102.

[2]何进,苏秦,高杰.软件维护的系统模型[J].计算机应用研究,2009(05):12-15.

[3]陈伟.系统开发与维护[J].中国计算机用户,2013(17):19-22.

[4]龚勋.软件项目管理与测试在软件开发中的应用[D].四川大学,2004.

[5]周幸.基于Agent的柔性ERP系统及其在流程企业中的应用[D].浙江大学,2005.

[作者简介]马义诺(1983.05-),男,上海人,硕士在读,初级职称,研究方向:软件工程。

上一篇:浅谈flash网站的开发 下一篇:基于LABVIEW的电能质量分析