软件能力成熟度模型(C印abilityMatuirtyModel,CMM)4~为衡量一个软件企业的软件开发能力己经被大多数软件企业所接受。在论述CMM与CMMI的基础上,介绍了国防专用软件CMM的概念、框架以及CMM二级的目标和要求。及其在软件开发中的应用。
论文关键词:软件能力成熟度模型;软件项目管理
1软件项目管理概述
1.1软件项目管理的概念
从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力.企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟。企业越能够稳定发展(即减小开发风险)。
软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期、按质地完成软件交付用户使用。
软件项目管理的内容主要包括如下几个方面:人员的组织与管理,软件度量,软件项目计划,风险管理,软件质量保证,软件过程能力评估,软件配置管理等。
1.2 CMM与CMMI
1.2.1 CMM的由来
CMM是软件过程能力成熟度模型(capacityMatuirtyMod—e1)的简称,是卡内基一梅隆大学软件工程研究院为了满足美国联邦评估软件供应商能力的要求,于1986年开始研究的模型.并于1991年正式推出了CMM1.0版。CMM自问世以来备受关注,在一些发达国家和地区得到了广泛应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准。
CMM的评估结果是目前世界上公认的软件产品进入国际市场的通行证。中国软件要国际化,软件企业必先规范化和规模化.提高软件过程能力,CMM为企业达到目的指出了一条有效途径。CMM也为应用单位和管理部门提供了选择,同时给予了管理软件承包商一种良好的手段。
1.2.2 CMM与IS09000
国际标准化组织的质量管理标准IS09000与CMM均可作为软件企业的过程改善框架。CMM仅仅适用于软件行业。而IS09000的适应面更广,实际上IS09000:2000版标准和CMM遵循共同的管理思想,IS09000:2000版(ISO9001)标准已经彻底解决了94版的制造业痕迹较重、标准按要素描述难于在软件行业实施的问题。
就内容来讲,IS09001不覆盖CMM,也不完全覆盖IS09000。一般而言.通过IS09001认证的企业可达到CMM2级或略高的程度,通过CMM3级的企业只要稍做补充,就可较容易地通过IS09001认证。粗略地说,IS09001近似于CMM2.5级。
1.2.3 CMMI
CMMI是卡内基梅隆大学2001年9月推出的比较成熟的系统工程和软件工程的集成成熟度模型(CapabilityMatuirtyMod.elIntegrated)。与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的“最佳”实践:专业领域覆盖、软件工程、系统工程、集成产品开发和系统采购,集成的产品和过程开发以及采购,主要是配合软件工程和系统工程的内容采用。
CMMI的阶段表达方式继承了CMM的思想方法。将所有的过程域依照5个成熟度等级来组织,从低到高分别为:初始级(Initial,第1级)、管理级(Managed,第2级)、定义级(Deifned,第3级)、定量管理级(QuantitativelyManaged,第4级)和优化级(Optimizing,第5级)。如图l所示:
1.3国防专用软件CMM二级介绍
国防专用软件要求其具有极高的保密性,可靠性和有效性。国防专用软件CMM二级实施规范,定义了软件工程化管理涉及到的过程、活动与任务,是实施贯彻国防专用软件能力成熟度二级的方法、规范与组织管理的总纲.也是基于CMM项目管理系统的基础和依据。
国防专用软件能力成熟度模型将组织的软件能力成熟度分为5个等级,分别是:1级称为初始级,2级称为可重复级,3级称为已定义级,4级称为定量管理级,5级称为优化级。如图2所示:
具体介绍如下:
初始级(1级):从事软件项目工作人是的能力决定软件项目性能;解决问题的模式是“救火”式的;软件项目性能不可预测;软件组织面临的主要问题是管理问题,而非技术问题;软件管理完全不透明,仅通过某些杂乱无章的过程生产软件。初始级无关键过程域。
可重复级(2级):建立了有效的软件项目管理;软件项目管理过程被文档化并得到遵循:有一个组织方针来指导项目建立管理过程;能重复以前项目的成功实践;项目管理到位。可重复级的关键过程域为需求管理、软件项目策划、软件项目跟踪与监督、软件质量保证、软件配置管理、软件子合同管理。
已定义级(3级):它建立在软件项目管理的基础之上;为了控制一个过程,过程就必须是已定义的、已文档化的和已被有关人员理解的;组织已建立了一整套标准的软件过程,并且组织中的每个人和项目均能照此执行,已按妥善定义的过程管理,过程中的角色和职责已被理解;整个软件过程中软件产品的生产是可视的;除了里程碑处外,在各开发阶段中设置了更多的检查点。已定义级的关键过程域为同行评审、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程焦点。
已管理级(4级):运用统计过程控制的原理,阐述过程变化的具体原因。产品和过程被定量地管理,管理决策有客观测量为基础;管理者能在定量边界内预测性能:而且可以进行交互控制。已管理级的关键过程域为软件质量管理与定量过程管理。
优化级(5级):识别并消除软件过程性能差的长期原因;持续不断地改进软件过程,关注连续过程改进,有纪律的过程改进已成为日常工作方式。优化级的关键过程域为过程更改管理、技术改革管理、缺陷预防。
2基于CMMI的软件项目管理
2.1需求管理
软件项目管理的结构体系如图3所示:
软件项目的开发必须以客户的需求为指向.需求管理目的在于使开发的方向和客户一致。对客户本身的真实需求有统一的认识和评价。开发方和客户方共同对《产品需求规格说明书》进行评审,双方对需求达成共识后作出承诺,同时开发方和需求者共同对《需求文档》进行评审,设法理解需求的含义。从各个项目参加者处求得对需求的承诺.共同评估各项需求对承诺的影响,并记录对需求的承诺。这一过程完成的文档包括《需求文档》和《需求管理计划》。
主要步骤有如下几步:
(1)项目经理先在项目内部组织人员进行非正式的需求评审,以解决明显的错误和分歧。
(2)邀请同行专家和用户一起评审需求文档,尽可能地使需求反映客户的真正意愿。
(3)开发方和客户对需求文档审核后签字,以产生法律效力。
2.2软件项目计划
为进行软件工程活动和软件项目管理所制定的合理的计划,包括预测、项目投入和工期,确定必要的承诺和执行等,经过软件项目计划过程后,我们将得到《项目估计表》、《项目生命周期文档》、《总体项目计划书》、《项目子计划》等文档。软件计划内容包括以下计划,但每项计划可分立也可合为一体:软件开发计划、SQA计划、风险管理计划、软件测试计划、项目培训计划。
2.3软件项目跟踪与监督
为了保证软件系统在预期的工作量内按时保质地完成.需要定期对其主要项目进行跟踪、监测和调整。跟踪的对象通常有规模、工作量和成本、计算机资源、进度、风险和软件工程技术活动等。它的目标是为对照软件计划跟踪实际结果和性能.当实际结果和性能明显偏离软件计划时,采取纠正措施并加以管理直至结束,对软件约定的更改应得到受到影响的组和个人的认可。
2.4子合同管理
选择合格的软件承包商并有效地对他们进行管理,包括如何选择软件分包商,如何建立与分包商的约定,如何追踪和评审分包商的功效。这期间包括对软件子合同的管理,以及包括对合同的构成成分的管理,如子合同中含有的软件硬件及其他系统成分的管理。
2.5软件质量保证
过程和产品质量保证过程域引入的动机是为了有一个相对独立于项目的成员,能够以第三方角色保证项目组成员遵守事先的约定。遵守作业流程以及对产品制定的标准和规则。使工作人员和管理者能客观了解过程和相关的工作产品,确保所策划的过程得以实施,从而支持交付高质量的产品和服务。
2.6配置管理
配置管理的目的是运用配置标识、配置控制、配置状态统计和配置审计,建立和维护工作产品的完整性。最后得到的文档包括《识别的配置项》、《配置管理系统》、《基线》、《变更请求》、《配置项的最新履历》、《配置项的状态》以及《配置审核结果报告》等文档。
3达到CMMI的基础和策略
要使管理过程高效.首先就要抓好项目管理,关键也就是抓好几个关键过程域。国防工业企业的软件开发要达到可重复级必须从思想、组织和技术三方面做好准备。
思想上的准备。首先是企业领导的高度重视,并及时且有效地控制。企业领导必须彻底认识到国防专用CMMI的重要性,以及其给企业软件开发能力带来的深远影响,从内心上、根本上保证基于CMMI的软件项目管理工作的进行。不但要求领导,也要求企业内所有人员提高认识,在企业内进行动员、学习和培训是必要的,这对全员统一思想,完成思想转换是有极大促进作用的。
企业项目人员构成合理.有具有相当权威的高层领导参与,有专职的部门设立,有专职的项目经理负责,这些是在组织机构和人力资源上为项目实施提供了保证。实施CMMI,要建立软件工程过程组、系统测试组、软件质量保证组、软件配置管理组与软件配置控制委员会。同时还需要优秀的实施顾问参与项目.提供优秀的实施计划方案。
技术上的准备,首先是对CMMI的研究,所有的开发人员尤其是高层的领导和开发人员必须对CMMI非常熟悉.不是只知道个大概或者基本概念,而要求领悟其内涵和精髓,以便在实际工作中能自发地尊重规范来进行软件项目的管理工作。
4结束语
软件开发过程是一个复杂多变的过程,多年来出现了大量的软件工程技术,然而软件工程从来没有像其他传统工程那样易于控制。实践告诉我们软件过程改进是一个长期的、没有尽头的过程。CMMI为我们带来了提高过程能力的途径,不过不同的组织机构的情况各不相同.其实施CMMI的方法也会不一样。
分析了目前威胁医院网络信息安全的各种因素结合网络安全与管理工作的实践,探讨了构建医院信息安全防御体系的措施。中国医院信息化建设经过20多年的发展历程目前已经进入了一个高速发展时期。据2007年卫生部统计信息中心对全国3765所医院(其中:三级以上663家:三级以下31O2家)进行信息化现状调查显示,超过80%的医院建立了信息系统…。随着信息网络规模的不断扩大,医疗和管理工作对信息系统...
计算机基础课的教学不同于现代化教育体系中的那些传统的课教学,它的教学是一种极其复杂的过程。建构主义教学理论恰好提供了一种与传统的教学理论不同的学习理论;利用建构主义学习理论指导计算机基础课的实践教学我认为是现代化计算机教学的一个改革的方向。 论文关键词:计算机基础教学;传统教学;建构主义;意义建构;协作学习 0、引言 随着计算机科技遵循”摩尔定律”飞速发展的事实,以及...
利用网络信息技术进行科研管理,加强了信息共享与协同工作,提高了科研工作的效率,但与此同时也存在一些安全隐患。介绍了科研网络信息安全的概念和意义,分析了其存在的安全隐患的具体类型及原因,为保证科研网络信息的安全,提出了加强网络风险防范、防止科研信息被泄露、修改或非法窃取的相应控制措施。 论文关键词:科研网络信息;安全隐患;控制策略 1引言 随着计算机网络技术的普及,利用网络信息技术来改造传统科研管...
推进教育创新是我国教育改革进程中面临的一项重要而紧迫的任务。本文探讨了如何在计算机基础课程教学中实施创新教育,并重点对构建计算机基础课程创新教学模式的教学策略和教学步骤进行了分析和研究。 1引言 计算机基础课程的创新教学模式是以学生为中心以创新教育理念为理论基础,根据计算机基础课程的教学情况及学生的心理发展规律,综合运用现代教育教学手段、技术,优化计算机基础课程的教学,构建以培养学生自主精神、...
企业局域网是一个采用lnternet技术建立的机构内联网络。它以TCP/IP协议作为基础。以Web为核心应用.构成统一和便利的信息交换平台。针对企业局域网络中存在的各种不安全因素.管理的不完善、人为的蓄意破坏以及技术上的漏洞等问题,设计一套符合企业局域网实际的安全方案.并阐述了方案的具体内容和作用 论文关键词:网络:安全技术;管理措施 1前言 随着企业科学管理水平的提高.企业管理信息化越来越...
本文主要介绍了软件项目管理的概念,讨论了软件项目管理中人员的组织方式,考核测评方法,并提出了技术人员职业幸福感的管理新思路,激励技术人员的开发热情和智慧,从而提高软件工程的质量。 论文关键词:软件工程;管理;协调;沟通 软件项目管理是在20世纪70年代中期美国首先提出的,当时美国国防部专门针对软件开发不能按时完成交付、预算超支和质量达不到要求的原因进行了研究。结果发现70%的项目是因为管理不善...
本文认真分析了目前国内软件项目管理中出现的问题,以提高软件质量、降低成本、加强软件项目的可控性为目标,在深入研究和探讨CMM的基础上结合软件过程.给出了一种加强软件项目管理的实践模式。该实践模式定义了CMM中的6个关键过程域和3个工作组.并从项目的开发时间和质量方面做效率分析,强调了软件过程对软件项目管理的重要性。 论文关键词:软件项目;软件过程;CMM;KPA 1.引言 项目管理(PM,p...
网络信息安全中防火墙扮演着重要角色,而硬件防火墙对大型网络安全更是至关重要,研究硬件防火墙将为大型网络的安全增加砝码。通过对硬件防火墙工作原理的研究,明白为何大中型网络要使用硬件防火墙,理解硬件防火墙在网络中的工作原理和过程,知道硬件防火墙的基本配置考虑要素。了解硬件防火墙的选购标准,增强对硬件防火墙在网络信息安全中重要性的认识。 论文关键词:网络信息安全;大型网络;硬件防火墙;三次握手;过滤;...
我国的科研工作者在数字电视广播标准的研究方面作了大蚤的工作,提出了多套方案,笔者其中以上海交通大学提出的高级数字电视广播ADTB系统传愉方案和清华大学电子工程系提出的地面数字多嫌体/电视广播传愉系统((DMB-T)较为成熟,在实际的地面数字电视广播系统中都有所试用,本文时此进行了研究。 关键词:数学电视 地面移动技术优化 1上海交通大学的AD丁B一数字电视地面传输方案ADTB一T是一种...
科学有效的软件项目管理有助于项目开发的成功.本文介绍了软件项目管理的内容并结合软件项目开发经验,探讨了影响软件项目管理的几个关键因素. 0引言 随着信息技术的飞速发展,软件产品的规模和复杂度随之增加,传统作坊式的开发方式逐步被以项目组为单位的协作式开发方式所取代,这就必然涉及到对软件项目的管理.实践表明,一个软件项目的成败,不在于其项目组的技术人员的技术水平,而在于是否采用的合适的管理:.好的...
影响因子:1.436
影响因子:0.900
影响因子:1.610
影响因子:0.310
影响因子:0.000
影响因子:0.000
影响因子:4.462
影响因子:1.258