欢迎来到天天文库
浏览记录
ID:21919925
大小:54.00 KB
页数:6页
时间:2018-10-25
《基于cmmi的软件开发模型应用研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于CMMI的软件开发模型应用研究CMMI是帮助软件企业提高开发效率、降低开发成本,通过过程控制以不断改进提高软件开发质量的国际通行标准。通过对CMMI开发模型的研究,阐述了基于AUTOSAR软件架构的软件开发模型,详细论述了基于CMMI的软件质量保证过程。0引言在中国软件行业发展的近30年中,集成能力成熟度模型CMMI(CapabilityMaturityModelIntegration)已经在国内的软件企业广泛实施并探索出有效的实施方法,越来越多软件企业通过实施CMMI来规范企业管理体系,提升软件产品质量。随着
2、中国汽车电子的飞速发展,汽车与软件的联系越来越紧密,已成为汽车创新发展不可缺少的因素之一。为了在有限资源范围内最大限度地提高主机厂自主开发的软件质量,必须引入CMMI管理体系指导软件开发。1CMMI概述及应用现状CMMI起源于美国政府和军工软件企业的一些成功经验及实践。2002年1月,由美国国防部、卡内基-梅隆大学与美国国防工业协会共同开发研制并发布的CMMI1.1版本,标志着CMMI模型的正式启用。其研究目的主要是提高软件行业开发能力,帮助企业建立适合企业自身发展的软件开发质量保证体系,从而保证软件产品能及时、高
3、效地输出到客户。另外,通过不断积累和发展使软件开发向着流水线方向发展、帮助企业节省开发成本也是CMMI的重要目的。CMMI按企业软件的成熟度共分为5级22个过程域,分别为初始级、可重复级、已定义级、量化管理级、优化管理级。自1999年起,中国软件企业开始接受并逐步推广CMMI体系,通过学习和不断探索,已经在软件开发标准化方面取得了一定进展。据SEI统计,通过评估的软件公司对项目的估计与控制能力提升了40%~50%,生产率提高了10%~20%,软件产品出错率下降超过1/3[1]。截至2011年底,包括IBM中国、宝信
4、软件、东软集团等在内的28家企业通过了CMMI5级认证。如今,已有越来越多软件企业通过了CMMI认证,主要涉及计算机、软件等相关行业。随着汽车电子的快速发展,其规模和复杂度也日益提高,汽车嵌入式软件与其它行业软件相比有着更高的质量要求,其对响应速度及安全性的要求更高。2CMMI软件开发模型CMMI开发模型(CMMIForDevelopment)是在产品与服务开发活动中处理问题的最佳实验[2],此模型涵盖了工程学科共有的开发与维护活动,涉及产品开发的过程均可利用此模型来进行过程改进,包括银行、计算机软硬件、航空航天、
5、国防等在内的各个领域。CMMI开发模型包含16个核心过程域及5个开发活动特有的过程域,这5个关于开发活动特有的实践包括:需求开发、技术解决方案、产品集成、验证和确认。CMMI指出,CMMI的本质是软件管理工程的一部分[3]。就目前CMMI发展总体情况而言,SPI(Softprovement)是软件管理工程的核心问题。对软件过程进行改进,可高效、高质量和低成本地开发软件,能够通过过程监控管理达到提高开发质量、减少产品缺陷、减少退货、提高用户满意度等目的,对于提高软件产品质量与生产率、缩短上市时间也能够起到重要的指导作
6、用。3CMMI软件过程改进实施汽车软件因其特殊的应用领域,不同于一般软件产品,其对产品的安全性和可靠性有着严格要求。因此汽车软件不仅需要一般的软件工程方法、软件质量管理手段来提高软件可靠性,为了满足针对性,首先要结合自身特点,如组织结构、工作范围、公司状况来明确当前需要改进的地方。选择合适的方法,从人力、物力上保证,对CMMI模型进行合理裁剪,避免周期过长、程度不够深入以及无法实施等问题。3.1支撑V模型开发的完善工具链通常的产品开发模式是,开发工作从客户的需求定义开始,经过系统设计、软硬件架构设计到单元开发完成为
7、止,将工程参数层层分解,需求逐步细化,最终形成软件代码。在该过程中首要的因素是各级理解必须正确,然后是追溯开发过程没有产生遗漏。当前业内流行的开发方式是V模型,不但满足了一般的开发需求,还将测试和验证过程加入开发迭代。V模型的价值在于其非常明确地描述了测试阶段与开发过程期间的对应关系,工程开发人员往往期望有一款工具既能够支持V模型的工程开发需求,也能够实现测试和验证自动化。然而在业界,这样的工具往往属于大型企业的秘密,不会出售,一般软件也往往只解决流程问题,而无法解决技术整合问题。因此,泛亚汽车技术中心摸索开发了一
8、系列自主工具,既能在流程上符合V模型开发方式,又能整合各层次的技术资源和分类工具,彻底实现了一个完整的工具开发链路,具有很高的产业价值。3.2基于AUTOSAR架构的分工和交付物管理协作模式随着团队的扩大以及更细的人员分工,制定一套标准的开发流程能够显著降低开发成本,缩短开发周期。从制定各个里程碑开发节点出发,到软件需求理解、软件架构设计、软件编码及建模,再
此文档下载收益归作者所有