APP下载

基于CMM的软件工程管理工具的研究与实现

2014-08-15

电子测试 2014年5期
关键词:管理工具成熟度软件

韩 璐

(陕西职业技术学院,710100)

0 引言

在软件企业进行软件开发的过程之中,需要运用科学的管理方法对软件工程进行管理,以充分把握所开发软件的成本、质量以及进度等,从而确保软件能及时进行交付。软件能力成熟度模型(CMM)是软件工程管理理论之中一种重要的理论方法,运用基于CMM的软件工程管理工具能够有效的帮助企业进行改进并实现管理的优化,进而使企业的开发水平以及产品的质量均得到相应的提高。因此,有必要对基于CMM的软件工程管理工具进行研究并进行具体的实现。

1 软件工程管理

1.1 软件工程管理定义

软件工程管理是软件工程与项目管理的综合学科。软件工程是针对软件的特殊性质、围绕产品生命周期的工程化方法,项目管理是针对某个项目、关注于项目的生命周期的管理方法。在软件工程之中,通常会与管理方面的一些问题有所涉及,从而与项目管理中的某部分相重合。把项目管理的知识与软件工程相互结合,从而找出符合软件产品特点的管理方法,才能对软件项目与软件产品进行有效的管理。

1.2 软件工程管理中存在的问题

软件工程管理作为一门新型的、创造性的综合学科,其管理模式并非十分的成熟,管理的过程之中存在着一些问题。首先,当下的软件企业之中的管理人员往往由技术能力较强的人员担任,而这些技术人员通常都是技能方面的能力过硬,而管理方面的能力却有所欠缺,缺乏系统性的培训。其次,由于非专业性的管理人员相对缺乏计划意识,所以对于项目的实施经常会缺乏具有整体性的规划,由此便导致在实施的过程之中常常由于意外事情的出现而搁置了工程,结果往往是进度跟不上而无法及时进行交付。再次,同样由于缺乏专业性管理人员,在进行软件工程实施的过程之中,管理人员往往由于管理意识的淡薄而没有对相关人员进行合理的安排,这往往导致实施的过程之中人员无法很好的相互配合,造成资源的不必要浪费。

2 CMM简介

2.1 CMM的定义

软件能力成熟度模型(CMM)最初是由美国联邦政府委托卡内基梅隆大学软件工程研究所开发研究,以对软件承包商能力进行评估的一种方法。通过对软件开发过程进行管理、测量、控制等,CMM能有效的帮助企业的开发过程进行改进并促进软件质量的提高。

2.2 CMM的主要用途

对软件过程进行评估。对软件的专业人员进行培训之后,由专业人员企业软件的过程现状进行相应的确定,并把与软件过程有关的且急需进行解决的问题找出,让企业的领导同意对软件过程进行改进。

对软件过程进行改进。对软件的工作过程以及工作产品进行相应的管理,发现软件过程之中的缺陷并不断对其进行改进,从而帮助企业软件能够更好的转变。

对软件能力进行评价。对软件的专业人员进行一定的培训之后,由专业人员对软件企业的资格与能力进行判定,并对用于软件开发的软件过程的具体状况进行相应的检查与监测。

2.3 CMM的等级

根据过程成熟度的不同,CMM的能力成熟级别分为五个等级,分别为:纪律化过程的初始级、标准一致过程的可重复级、可预测过程的已定义级、不断改进过程的已管理级、不断改进过程的优化级。通过这五个等级对软件过程成熟度进行度量、对软件过程能力进行评价,并确定其相应的等级。CMM的五个成熟等级为商业招标提供了具有可行性的评判依旧,同时为软件过程的不断改进提供了确切的目标方向。

2.4 实施CMM对企业的好处

首先,能保证软件开发的质量与进度,能对“杂乱无章、无序管理”的项目开发过程进行规范。

其次,有利于成本控制。因为质量有所保证,浪费在修改、解决客户的抱怨方面的成本会降低很多。现在绝大多数情况是缺少规范制度,只是求快。项目完成后,要花很多时间修修补补,费用很容易失控。

再次,有助于提高软件开发者的职业素养。每一个具体参与其中的员工,无论是项目经理,还是工程师,甚至一些高层管理人的做事方法逐渐变得标准化、规范化。

除此之外,还能够解决人员流动所带来的问题。公司通过过程改进,建立了财富库以共享经验, 而不是单纯依靠某些人员。

最后,有利于提升公司和员工绩效管理水平,以持续改进效益。通过度量和分析开发过程和产品,建立公司的效率指标。

3 基于CMM的软件工程管理工具

3.1 基于CMM的软件工程管理工具的研究

CMM现已成为对承包商的开发能力进行判定以及帮助企业对软件质量进行改进的最有效、运用最广泛的软件生产过程标准,为更好的运用CMM帮助企业进行生产,现对基于CMM的软件工程管理工具进行相应的研究。

工具是基于CMM模型与浏览器/服务器模式,并在MS Project 2003的基础之上进行的二次开发而成。将微软的ASP技术运用于其前台,将Jscript语言运用于脚本,而后台对关系数据库和文档型数据的处理则以SQL Sverver2000的数据库作为其支撑。该系统工具能够进行项目计划的制定、任务的分派、项目的监控、LC模型信息与项目特征信息以及各模型特征值的配置,除此之外还能够进行交流协作、规范开发过程以及提供相应的支撑平台。要实现相应的功能需运用HTTP作传输协议,并在TCP/IP协议的支持下通过浏览器对Web服务器进行访问,Web服务器进一步对数据库服务器发出请求,获得结果之后将结果通过HTML形式返回相应的浏览器。

3.2 基于CMM的软件工程管理工具的实现

本系统工具是在Web软件项目管理系统的基础之上设计的,在设计的过程之中采用了客户端浏览器、运用Microsoft Internet Information Server 5.0的Web应用服务器、以SQL Sverver2000作为其支撑的后台数据库。

在运用这个工具之前,进行管理的过程之中所需要的需求报告与状态报告等都需要人为进行编写,而人为使用word进行编写却极为耗时耗力,同时还很可能因为一不小心造成失误,从而使数据不够准确。但运用基于CMM的软件工程管理的新工具之后,管理过程之中所需要的所有的报告都是按照一定的规则进行填写,过程之中的数据信息也统一收入至后台数据库,从而充分保证了对数据进行分析的精确性以及相应报告的填写效率。进行软件工程管理的整个过程都清晰明了,实现了高效的量化管理。

4 结束语

CMM能有效的对承包商的开发能力进行判定以及帮助企业对软件质量进行改进,是当今世界运用最广的生产过程标准以及软件企业成熟度等级认证标准,运用基于CMM的自动化软件工程管理工具能够有效的帮助企业进行改进并实现管理的优化,通过对CMM能力成熟度模型进行深入的研究与探讨,从而建立软件工程管理的功能模型,进一步运用Web技术以实现相应的软件工程管理工具。软件工程管理工具通过对项目管理软件、网络技术进行下相应的整合,以帮助相关的管理人员打破地域上的限制,从而有效的对项目进行管理。在运用CMM过程之中,工具的投入使用成功的增强了收集数据、整理报告等工作的效率,使得工作的时间大大减少的同时还充分的提高了数据的准确性,避免了错误的出现。

[1]杨一平等.软件能力成熟度模型CMM方法及其应用[M],人民邮电出版社,2008

[2]雷剑文,陈振冲,李明树.CMM软件过程的管理与改进[J],清华大学出版社.2009

[3]郑人杰,王纬,王万德,蔡愉祖.基于软件能力成熟度模型(CMM)的软件过程改进方法与实施[M],清华大学出版社,2010

[4]陈海燕,梁成才,肖丽雯.CMM二级KPA软件项目跟踪和监督的一个设计实施方案[M],计算机工程,2010

猜你喜欢

管理工具成熟度软件
精益管理工具在手术室耗材管理中的应用
禅宗软件
质量管理工具在减少CT停机天数中的应用
产品制造成熟度在型号批生产风险管理中的应用
整机产品成熟度模型研究与建立
软件对对碰
不同成熟度野生水茄果实的种子萌发差异研究
刚好够吃6天的香蕉
hosts文件管理工具
即时通讯软件WhatsApp