CMMI在汽车电子软件开发过程中的应用_第1页
CMMI在汽车电子软件开发过程中的应用_第2页
CMMI在汽车电子软件开发过程中的应用_第3页
CMMI在汽车电子软件开发过程中的应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CMMI在汽车电子软件开发过程中的应用沈利芳,张月蓉联合汽车电子有限公司,上海201206摘要汽车电子控制软件和控制器相关外围硬件系统及中央处理芯片具有密切的联系;需要满足客户舒适性,安全性法规要求,国内国际的环境法规要求;整车上汽车电子产品之间也有相互配合的要求。要满足这些特殊要求的开发,企业应重视汽车电子控制软件的开发过程,对其提出更高的要求。解析了汽车电子软件技术开发过程和CMMI要求的关系,为汽车电子软件企业达到CMMI软件能力成熟度提供借鉴。关键词汽车电子;软件;CMMICMMIIMPLEMENTATIONINAUTOMOTIVEELECTRONICCONTROLSOFTWAREDEVELOPMENTPROCESSSHENLIFANG,ZHANGYUERONGUNITEDAUTOMOTIVEELECTRONICSYSTEMCO,LTD,SHANGHAI201206,CHINAABSTRACTTHEREISCLOSERELATIONSHIPBETWEENTHEAUTOMOTIVEELECTRONICCONTROLSYSTEMSOFTWAREANDTHEPERIPHERALCHIPSETINCLUDINGMICROCONTROLLERONBOARDITISALSOREQUIREDTOFULFILLTHECOMFORTABLEFEELINGOFFINALCUSTOMER,TOGETHERWITHSAFETYANDEMISSIONREQUIREMENTFROMINTERNATIONA1THEREAREINTERFACEDATAEXCHANGEREQUIREMENTTOBEFULFILLEDAMONGTHEELECTRONICCONTROLUNITSUNDERTHEWHOLEVEHICLECONFIGURATIONTOFULFILLALLTHEABOVEREQUIREMENTS,THEAUTOMOTIVECOMPANYSHOULDTAKEMOREATTENTIONTODEVELOPMENTPROCESSANDIMPROVEITTOAHIGHERQUALITYLEVE1THERELATIONSHIPBETWEENTHEAUTOMOTIVEELECTRONICSYSTEMSOFTWAREDEVELOPMENTPROCESSANDCMMIREQUIREMENTWEREANALYZEDINTHISPAPERITCANBETHEREFERENCEFORTHECOMPANYWHOISINTENDINGTOACHIEVETHECMMISOFTWARECAPABILITYMATURITYKEYWORDSAUTOMOTIVEELECTRONIC;CONTROLSOFTWARE;CMMI1概述CMMITHECAPABILITYMATURITYMODELFORINTEGRATEDPRODUCT是2002年由卡耐基梅隆大学软件工程研究所SEI正式发布的针对企业集成产品开发过程成熟度等级评定的模型概念,也是目前较为普遍使用的汽车电子软件企业过程改进遵循的模型。根据CMMI的要求,一个具有成熟汽车电子软件开发过程的企业,其开发过程和管理过程应有如下特征1按照已计划的过程开展工作活动。2过程本身是文档描述的,可重复使用,和实际工作方式一致,并有一定的制度进行过程的更新。3工作承担者的角色和职责是清晰的。4根据历史纪录,组织或项目可以调整现行项目的进度和预算模型。5工作产品以及过程的质量得到非相关其他部门以及上级的监督和控制。6企业运行中的项目会大规模参与到改进过程的实施。从软件工程的角度看,所有软件开发都会经历如图1所示的V型开发过程。对于汽车电子软件开发,也没有例外。从客户需求的收集解析,到设计符合需求的规范,到编码测试和客户验证,每一步都必须要有汽车电子软件所特有的特性,虽然企业之间有不同的格式规范等要求,但是要遵循的基本的原则都应该是一致的。CMMI综合了集成式工作产品特性,形成模型,可以指导汽车电子软件企业提高自身成熟度,持续改进质量和提高效率。201108AUTOMOBI1EPARTS081研究与开发菸捺藤镫图1软件的V型开发过程图2CMMI过程域图2是CMMI的过程域以及和组织能力成熟度相关领域的关系。其中,和工程开发相关的,有需求管理,需求开发,技术方案,产品集成,验证和确认这六个过程域。2需求分析21概述需求分析过程可以分为需求管理和需求分析两个层次。在CMMI中,需求管理和需求开发分别是二级和三级两个不同级别的过程域。之所以认为需求开发比需求管理更高一级是因为需求开发对企业要求更高的技术分析能力,和客户的关系比需求管理更进一步,对需求这个设计关键领域采取了更主动的行动措施和实施了更高的要求。22需求管理汽车电子软件需求,可能来自车辆最终使用客户,可能来自整车厂下线诊断过程要求,可能来自其他整车相配合相通讯部分电子器件的接口需求,以及国内国际的法规要求。在如此复杂的需求来源环境下,需求的管理显得非常重要。好的客户需求管理,决定了质量,决定了是否会产生重复工作量甚至对项目的成本控制有所贡献。需求管理应重点做到以下几点1需求分类。因为汽车电子软件需求的来源较多,在管理时应考虑对需求来源的分类和等级判断,以便于项目在开发中遇到资源和时间冲突时及时调整开发策略。如区分客户需求和非客户需求,紧急需求和非紧急需求,必要需求和非必要需求等。对需求尽量细化,实施标号管理的方法目前也应用到大部分的企业需求管理过程中,这也有助于实现CMMI的配置管理目标之一实现工作产品一致性。2需求变更管理。需求变更是企业应重点纳入到需求管理体系的考虑点。某些汽车电子软件,如车身电子软件产品的需求,因整车设计特点,在各工程样车阶段和耐久实验等阶段,会根据实验结果反馈以及当前市场对于整车舒适度安全度要求的不断变化而随时更改电器要求,这导致车身电子软件功能需求的变更频繁而且频率高,如不进行很好的需求变更管理,很有可能导致最终设计和原始需求脱节而引起设计失效。需求变更管理的方法很单一,常规来说,包含记录,评审,实施跟踪这三步。记录可以针对日期,提出者,内容,变更分配到的分零件设计,涉及到需要更新的规范等进行。评审人员应包含需求变更涉及的关键项目人员和这些人员的上级主管,并进行书面确认。跟踪应体现变更对应的验证确认措施的实施和认可。好的变更管理,更应体现到企业的配置管理系统中。3需求实现检查。使用检查表的方式,对细化的需求进行逐项检查,确认每项需求在产品中的真正实现。测试案例和已完成的测试报告,实现和已标号需求的一一对应关系,是最能体现需求实现的检查方式。23需求分析如果说需求管理着重于需求产生后的管理过程,那么需求分析更关注于对客户需求的再开发协助和需求产生时正确地将其分解到设计中的过程。含1关键人员需求到客户需求中。在CMMI中,需求分析的特殊目标包期望,限制条件和接口被收集和转化2客户需求得到提炼和详细阐述以制定产品和产品组件需求。3需求得到分析和确认,并且功能性定义得到开发。和传统计算机软件开发需求分析不同,汽车电子软件的开发需求来自的方面更多样化,一般来说,需求分析的步骤从最外层的客户需求,到整车厂需求,到汽车电子控制系统需求,最后才到软件需求。对于一般汽车电子的需求类型,可以参见图3图3需求来源以开发一个汽车发动机控制器为例,了解客户的产品市场定位,成为需求收集的第一步,市场定位将引申出国内国际法规要求,如该汽车将在2012年以后销往欧洲国家,则该车的排放要求必须遵循EU5,法规工程师将会研究对应的EU5法规内容,整理分析对于汽车发动机控制器的影响,哪些零部件控制是必须的,二氧化碳和碳氢排放需要达到的标准如何。最后,这些分析结果必须体现到一个工作产品中,也即系统规范。系统规范是将客户,市场,法规等原始要求翻译为企业工程语言的文档,而软件的需求即来自系统规范的指导和定义。软件需求的管理和分析,贯穿于客户原始需求的分解过程,既有对逻辑功能性需求的管理分析,也包含了非功能性的底层软件的需求管理和分析,后者更多体现到了CMMI对需求分析特殊目标中的第一条定义的内容,与软件相关的硬件特性,如MCU的端口定义,端口的上下拉特性,AD转换分压公式定义等。3概念设计在需求明确后,即进入V字开发过程的第二步概念设计。在概念设计阶段,一般有概念设计和概念评审两个组织行为。概念设计阶段并没有完全对应的CMMI过程域。概念设计和CMMI有所关联的过程域是技术方案。技术方案的目的是设计、开发和实施针对需求的方案。在概念设计阶段,只要求有研究与开发AUTOMOBILEPARTS2O11082至少一个的设计方案,并依据一定的评审原则,讨论选择满足需求的最佳方案。而CMMI中对技术方案要求的特定目标是满足可选择性,即需要至少两种的设计方案。不过这并不妨碍组织开发出满足需求的工作产品。在概念评审中,使用检查表的方式或者专家会诊方式。检查表一般是组织积累了足够的项目样本数量和失效总结后制定的。从效果来看,专家会诊的方式比单纯死板的检查表方式更有效,但企业应充分理解CMMI对于知识和经验重用性的要求,把专家的经验形成成熟的文档和详细的检查表,并监督培养组织内遵循检查表的习惯,以脱离对技术英雄和过程英雄的依赖性。这一点对于后面提到的评审过程要求是一样的。4规范设计在概念设计阶段结束后,即进入规范设计,一般会包含设计规范开发和案例设计两个部分工作。设计规范开发和案例设计过程,是软件设计的核心过程,对于汽车电子软件来说,和其他类型软件的设计是一样的,同时也是满足CMMI要求必须的过程。在CMMI中,软件的功能设计规范过程和案例设计的过程没有一个具体的过程域相对应,但可以对应到技术方案的两个特定目标要求产品和产品组件设计得到开发;产品组件以及关联的支持文档根据设计得到实施。在对应的几个特定实践中,强调了产品组件接口的设计,产品组件的重用性评价选择。汽车电子软件控制对象多样,且关联关系较强,产品组件接口设计尤为重要。对于成熟的和有足够样本数据的企业,接口的标准应得到建立。在需求识别阶段,根据已建立的标准,组件之间的接口就被识别出来,在实际的设计阶段,应作为软件设计规范中的一部分内容,以防止遗漏。在设计规范开发阶段,笔者建议可以同期进行测试案例的开发,在设计规范评审同时进行设计案例的评审。软件设计者在设计规范开发阶段有较为清晰的功能点概念,可以在设计开发规范的同时高效率地设计测试案例,这样在设计规范评审阶段,也可以同时进行测试案例的评审,以防止测试案例的遗漏设计。5编码和评审编码过程和设计规范开发过程一样,对应到CMMI的技术方案过程域的要求中。代码重用性和代码模块之间的接口同样是企业在达到一定的设计和项目服务规模后,应重点考虑的。高度重用性设计和清晰的接口管理,体现出了企业在软件设计能力上的成熟度。在CMM中,同级评审被作为二级的一个关键过程域独立了出来。对于能力成熟企业,会更依赖于标准,设计的水平和质量对于实施设计的人员依赖较少。所以,虽然在CMMI中,同级评审被取缔了作为过程域的资格,而是放入了验证这个过程域作为其中的一个特定目标,但笔者认为同级评审作为一种依赖标准来规范设计的重要手段仍然可以成为评判企业成熟度的关键过程。因为同级评审所设定的标准,往往是企业总结了20T108AUTOMOBI1EP。ARTSO83研究与开发多年的设计开发失效的个经验产物,能够根据评审标准严格进行评审过程,并及时根据企业技术能力的进步更新评审检查项,体现了企业的能力成熟度,并能使技术人员体会到评审过程的真正效果和效率而重视该过程。6测试在汽车电子软件企业,测试这个过程可以认为是不论其企业成熟度如何,软件开发所必然经历的过程。在CMMI中,测试对应了验证和确认的两个过程域。验证这个过程域要求完成三个特定目标1验证的准备活动得到执行。即验证环境准备,资源准备,验证内容准备。其中,验证内容的测试案例,最好在规范设计阶段就已完成。2对所选择工作产品进行同级互查。同级互查包含了前面提到的代码互查,也包含测试案例互查,后者尤其容易被忽视。3对照制定需求,所选择的工作产品得到验证。即使用已经过同级互查的检查项对产品进行验证活动。确认过程要求完成两个特定目标1确认的准备工作得到执行。2产品或产品组件得到确认以确保它们适合在预期的操作环境中使用。对于测试过程,不同企业成熟度的区别在于1成熟企业更重视验证和确认的准备活动。2具备完善的验证和确认的工具环境。3J测试的手段多样,如静态测试,动态测试,白盒测试,黑盒测试,边界测试等。4测试的结果得到有效的分析和经验总结,并分享到后续项目中。汽车电子软件的测试过程较为复杂,一般分模块测试,集成测试,系统测试三个步骤。分别针对了不同的测试环境要求,测试目的也不尽相同。模块测试注重单个模块内的逻辑关系正确性,是否满足功能设计规范要求,对测试环境无特殊要求;集成测试注重各个模块之间的接口是否正确衔接,集成后模块的功能是否仍然满足功能设计规范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论