论文部分内容阅读
【摘要】铁路信号系统是安全相关产品,关系到万千乘客的生命和财产安全,因此开发安全级产品需要更为严苛的过程保障。CMMI作为目前国际上最流行、最实用的过程改进方法,为组织提供了有效过程的基本元素和质量活动的指导,并为评估现有过程提供了参考。EN50128对铁路控制和防护设备中使用的可编程电子系统的软件开发和安全保障进行了总体规范。文中结合作者的体会,介绍了在实际工作中应用CMMI管理软件项目的具体实践,并举例介绍了CMMI如何应用在铁路信号产品开发领域。
【关键词】能力成熟度模型集成;EN50128;铁路信号系统;安全;过程;RUP
1.引言
2014年7月25日,中国海外承建的首条高铁在土耳其顺利通车。这是中资企业在境外组织承揽实施的第一个电气化高速铁路项目,对推动中国高铁“走出去”具有重要战略意义。高铁的运行需要先进的技术,更需要来自铁路信号系统的保障。作为控制列车高速安全运行的信号系统的地位越来越重要,信号系统安全性的高低在一定程度上也决定了高铁运行的安全程度。
在世界范围内,频频发生的铁路安全事故关系到成千上万乘客的生命和财产安全,严重影响了人们的日常生活。2011年“7·23”甬温线特大铁路交通事故的惨状仍历历在目,此次事故很大一部分是由信号系统造成的①。为此,如何保证软、硬件系统的功能安全和系统安全,避免类似“7·23”甬温线行车事故的再次发生,就需要从源头抓起,首先保证系统的设计开发能够满足安全要求。
从CTCS-2级到CTCS-3级,信号系统越来越复杂,软件在信号系统中所占比重越来越大,软件的复杂性、重要性也越来越高。随着CMMI在国际软件工程领域的日益普及和推广,CMMI目前也已经成为国际衡量软件组织研发能力成熟度的主要依据,也是我国软件组织实施软件过程改进所采用的主要模型。国内供应商如何将CMMI应用在铁路信号系统的开发中,同时与铁路应用相关的安全标准规范结合起来,从研发过程上,对铁路信号相关产品的安全性起到保障作用,是个值得研究的课题。
2.CMMI模型概述
2.1 CMMI简介
CMM(Capability Maturity Model,能力成熟度模型)的目标是帮助改进现有软件开发过程,增强开发与改进能力。运用CMMI(能力成熟度模型集成)模型管理的项目,规范了产品的开发和管理过程,有效提高了项目的质量与按期完成率,减少了因质量问题带来的返工。
CMMI支持两种使用级别的改进路径,对应于两种不同的表述形式:一种为“连续式表述”,主要是使用能力等级,由组织通过一个单独(或一组相关联)的过程域,选择过程改进努力的专注,为组织及其商业目标带来最大利益;另一种为“阶段式表述”,它主要是提供由成熟度1级到5级、预先定义的改进路线,使组织从整体上通过增量的、预先定义的一系列过程域(集合)来改进相关的过程。
2.2 CMMI连续式表述
CMMI由22个过程域组成,按照连续式表述方式将其分成四个类别:项目管理类、过程管理类、工程类以及支持类。
项目管理类过程域包含与项目的策划、监控有关的项目管理活动与管理供应商协议等。项目计划(PP)包含各种项目规划活动,评审对项目造成影响的其它计划并与相关干系人建立承诺。项目监控(PMC)包括监督活动和采取纠正措施。需求管理(REQM)重点在于维护需求,提供由客户需求到产品需求,以及到产品构件需求的可追溯性。供应商协议管理(SAM)解决取得由供应商执行工作部分的项目需要,选择供应商与建立供应商协议。集成项目管理(IPM)建立与维护由组织标准过程所裁剪的项目已定义过程,使用已定义过程管理项目。风险管理(RSKM)活动包括风险参数的识别界定、风险评价及风险缓解。量化项目管理(QPM)建立质量与过程绩效的目标,组成有助于达成这些目标的已定义过程,并对项目进行量化管理。
过程管理类过程域为组织提供了一种能力,以便记录最佳实践、组织过程资产与经验教训,并在整个组织范围内共享,以达成其质量和过程绩效的量化目标。组织过程关注(OPF)帮助组织基于当前过程和过程资产的优势与劣势的理解,计划、实施并部署组织级过程改进。组织过程定义(OPD)建立与维护组织标准过程、工作环境标准及其它资产。组织培训(OT)识别组织的战略培训需要和战术培训需要,开发或获取培训用于发展执行组织标准过程所需要的技能。组织过程绩效(OPP)从组织的业务目标中衍生出质量与过程绩效的量化目标,并提供公共度量项、过程绩效基线和过程绩效模型。组织绩效管理(OPM)基于对过程绩效基线和过程绩效模型的分析,组织主动选择并部署增量式、创新式的改进,以达到对组织绩效量化改进的目标。
工程类过程域包含所有工程专业领域皆可通用的开发活动和维护活动,将不同工程专业领域的过程,整合成单一的产品开发过程。需求开发(RD)识别客户需求并将其转换为产品需求;分析产品需求生成高层次的、概念性的解决方案;然后将产品需求加以分配,以建立初始的产品构件需求。技术解决方案(TS)开发产品构件的技术数据包,考查权衡各种备选解决方案,并基于已定义的准则选择最优设计。产品集成(PI)包含建立可能的最佳集成策略,进行产品构件的集成以及向客户交付产品等相关实践。验证(VER)过程域确保所选定的工作产品满足其特定的需求,设定验证方法,执行同行评审,对照规定的需求对工作产品进行验证。确认(VAL)过程域增量地确认产品是否符合客户需要。
支持类过程域不仅包含支持产品开发与维护的活动,还包括为项目与组织提供改进的支持。度量与分析(MA)提供了度量方法,并指导项目与组织调整度量需要与目标。配置管理(CM)通过使用配置项识别与控制、配置状态记录及配置审计等手段,建立并维护工作产品的完整性。过程与产品质量保证(PPQA)是向项目成员和管理部门提供过程以及相关工作产品的客观评价。决策分析与解决(DAR)确定哪些问题需要进行正式评估过程,并针对它们实施一个正式评估过程。项目成员使用原因分析与解决(CAR)来识别所选结果的原因并采取措施阻止未来可能产生的负面结果,或者充分利用其积极影响。 2.3 CMMI阶段式表述
基于阶段式的5个级别,CMMI成熟度等级由低至高共分为:初始级、管理级、定义级、量化管理级和优化级。在每一个成熟度级别中,预先定义了达到该级过程管理水平的一组过程域与其相关的特定与通用实践。
成熟度1级为初始级。过程通常是混乱且随机的;组织往往不能提供一个稳定的环境来支持过程。
成熟度2级为管理级。组织在项目实施上能够遵守既定的计划与过程;项目雇用具备技能的人员,并给予足够的资源,产出可控制的产品;使相关干系人参与其中,对整个过程进行监督与控制;并且评估遵循过程的符合程度。
成熟度3级为定义级。组织不仅能够对项目的实施有一整套的管理措施,这些措施得到清晰的说明与理解,并保障项目的完成;而且企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与过程予以制度化。
成熟度4级为量化管理级。组织与项目建立了质量与过程绩效的量化目标并将其用作管理项目的准则,而且要使用适当的统计和其它量化技术进行控制与预测。针对选定的子过程,过程绩效的具体度量项得到了收集与统计分析,实现数字化管理。
成熟度最高级为优化级。组织基于对其业务目标与绩效需要的量化理解,不断改进其过程。根据过程变异共同原因的量化理解,组织通过增量式、创新的过程和技术改进,专注于持续改进过程绩效;并对项目实施过程中可能出现的次品予以预防。
3.EN50128标准概述
3.1 EN50128标准总述
欧洲电工标准委员会(CENELEC)以IEC61508标准为基础,附加列车安全控制系统的技术条件,制定了一系列以计算机控制的信号系统作为对象的铁路信号标准EN5012X。EN50128对铁路控制和防护设备中使用的可编程电子系统的软件开发和安全保障进行了总体规范。本标准关注于需要使用的方法,以使软件能满足经综合考虑后所分配到的安全完整性等级(SIL,Safety Integrity Level)要求。在本标准中,根据铁路信号系统的安全完整性等级划分,针对不同的安全完整性要求制订了相应的标准。按不同等级对整个软件开发、验证、评估与检测过程提出相应的程序与规范的要求。图1描述了软件开发的V型生命周期。
图1 软件开发的V型生命周期
3.2 软件开发生命周期要求
软件生命周期包括从软件构思开始到软件不再使用发生的活动。典型的软件生命周期包括需求阶段、设计开发阶段、测试阶段、集成阶段和维护阶段等。
为了满足所有系统和安全需求,软件需求阶段根据软件安全功能要求和安全完整性等级规定了完整的软件需求。其中包括铁路信号系统的相应需求、开发软件的需求特性、所有相关的操作方式及行为方式,明确并用文件证实软硬件之间的设计约束等。
软件架构设计阶段按照选定软件安全完整性等级的要求实现软件需求规格所规定的需求,评审系统结构对软件的需求,确定和评估硬件/软件交互对其安全性的影响,以及确保所得到的系统和软件从一开始就是可测试的。
软件构件设计阶段应开发出满足特定软件安全完整性等级要求的软件构件设计规格和软件构件测试规格。
软件构件实现和测试阶段选择一套覆盖整个软件生命周期的开发语言和合适的编译器工具,获得可分析、可测试和可维护的软件源代码。软件源代码应具有可读性、可理解和可测试性,并置于配置管理之下。
集成阶段目的在于实现软件构件及软/硬件间的交互,正确地完成它们预期功能,集成软件与硬件并确保它们的兼容性,以满足系统安全性需求规格和预定软件安全完整性等级的要求。
软件确认阶段目的在于分析和测试已集成的系统,以确保其符合软件需求规格依据安全完整性等级对功能和安全性的特定要求,并检查系统是否实现其预期功能。
软件维护阶段应确保软件按要求执行,并在对软件自身作纠正、功能增强和修改时保持软件安全完整性等级和可信性。该阶段可能涉及到建立软件维护程序,完成软件维护计划,并实施维护活动,建立相应的软件修改记录等。
4.某公司应用CMMI管理项目案例
目前,国际上在铁路信号领域的一些大厂商都通过了CMMI Level 3,对于其产品的质量保障起到了积极的作用。某公司于2012年正式通过CMMI L5国际认证。这说明该公司的软件开发过程管理、项目管理和质量控制能力,已达到业界较高水平。该公司从2008年开始与IBM开展合作,引入国际流行的成熟而规范的软件开发过程RUP(Rational Unified Process)。历经数年的持续投入,该公司软件研发体系普遍实施RUP-CMMI管理。
为了满足产品安全性和质量要求,成为符合国际标准的软件,可以综合考虑产品和过程两个方面。产品方面为了验证并确保铁路信号软件本身的可靠性和安全性,V&V和测试将被用来评估开发产品的质量。在过程方面,合格或符合标准的软件需要由组织级的过程来保障。该公司铁路信号系统基于多年成熟应用的RUP及CMMI开发流程,充分消化、吸收铁路安全产品开发标准IEC61508、EN5012X,严格遵从SIL4的认证要求。
该公司铁路信号系统的开发团队,在组织上,设立单独的安全工程师角色,负责铁路信号产品的安全分析、安全评估和安全管理,包括产品危害识别、原因分析、后果分析、风险评估、安全评估和安全审计等环节;在质量意识上,组织全员参加安全认证、CMMI、RUP等Workshop,统一安全、质量语言;在过程上,从概念阶段就引入安全需求及系统安全计划,并进行全程的安全评估和验证,减少与安全相关的人为失误,进而减少系统故障风险。
图2 铁路信号系统软件开发过程
从图2中可以看出,软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。各个阶段可以跨越几次迭代完成。7个核心步骤在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。各个步骤都必须通过开发、V&V和安全分析、管理三部分活动。这样,RUP作为CMMI的扩展,无缝集成到CMMI过程域中,将IEC61508、EN50129、EN50128等相关规范和CMMI有机的结合,提升组织开发安全相关产品的能力,从而满足安全产品开发过程保障的要求。
5.结束语
本文通过对CMMI必需的和期望的模型要素以及EN50128标准过程中共性的提取,对比分析了CMMI阶段式五级成熟度和连续式四类过程域,并结合EN50128标准过程的特色,以某公司基于CMMI的软件研发体系为例,介绍CMMI如何应用在铁路信号产品开发领域。
铁路信号产品是安全相关产品,需要将安全生命周期理论贯穿到研发的各个环节中去。EN50128标准属于欧洲标准体系中的一部分,对于CMMI在铁路信号系统产品开发上的应用,其设计的科学性和完备性上还有待于进一步提高,各个过程域也有待结合实际应用进一步细化和加强。
注释:
①详见国家安全生产监督管理总局发布的《“7·23”甬温线特别重大铁路交通事故调查报告》。
参考文献
[1]安全监管总局网站.“7·23”甬温线特别重大铁路交通事故调查报告[R].2011.http://www.gov.cn/gzdt/2011-12/29/content_2032986.htm.
[2]Carnegie Mellon Software Engineering Institute.CMMI for Development,Version 1.3[S].2010.
[3]CENELEC.EN50128,Railway applications-Communication,signaling and processing systems-Software for railway control and protection systems[S].2011.
[4]CEI/IEC 61508-3,Functional safety of electrical/electronic/programmable electronic safety-related systems-Part 3:Software requirements,Edition 2.0[S].2010.
作者简介:吴伟(1984-),男,山西临汾人,工程师,现供职于霍尼韦尔(北京)技术研发实验有限公司,主要研究方向:软件工程、数据挖掘。
【关键词】能力成熟度模型集成;EN50128;铁路信号系统;安全;过程;RUP
1.引言
2014年7月25日,中国海外承建的首条高铁在土耳其顺利通车。这是中资企业在境外组织承揽实施的第一个电气化高速铁路项目,对推动中国高铁“走出去”具有重要战略意义。高铁的运行需要先进的技术,更需要来自铁路信号系统的保障。作为控制列车高速安全运行的信号系统的地位越来越重要,信号系统安全性的高低在一定程度上也决定了高铁运行的安全程度。
在世界范围内,频频发生的铁路安全事故关系到成千上万乘客的生命和财产安全,严重影响了人们的日常生活。2011年“7·23”甬温线特大铁路交通事故的惨状仍历历在目,此次事故很大一部分是由信号系统造成的①。为此,如何保证软、硬件系统的功能安全和系统安全,避免类似“7·23”甬温线行车事故的再次发生,就需要从源头抓起,首先保证系统的设计开发能够满足安全要求。
从CTCS-2级到CTCS-3级,信号系统越来越复杂,软件在信号系统中所占比重越来越大,软件的复杂性、重要性也越来越高。随着CMMI在国际软件工程领域的日益普及和推广,CMMI目前也已经成为国际衡量软件组织研发能力成熟度的主要依据,也是我国软件组织实施软件过程改进所采用的主要模型。国内供应商如何将CMMI应用在铁路信号系统的开发中,同时与铁路应用相关的安全标准规范结合起来,从研发过程上,对铁路信号相关产品的安全性起到保障作用,是个值得研究的课题。
2.CMMI模型概述
2.1 CMMI简介
CMM(Capability Maturity Model,能力成熟度模型)的目标是帮助改进现有软件开发过程,增强开发与改进能力。运用CMMI(能力成熟度模型集成)模型管理的项目,规范了产品的开发和管理过程,有效提高了项目的质量与按期完成率,减少了因质量问题带来的返工。
CMMI支持两种使用级别的改进路径,对应于两种不同的表述形式:一种为“连续式表述”,主要是使用能力等级,由组织通过一个单独(或一组相关联)的过程域,选择过程改进努力的专注,为组织及其商业目标带来最大利益;另一种为“阶段式表述”,它主要是提供由成熟度1级到5级、预先定义的改进路线,使组织从整体上通过增量的、预先定义的一系列过程域(集合)来改进相关的过程。
2.2 CMMI连续式表述
CMMI由22个过程域组成,按照连续式表述方式将其分成四个类别:项目管理类、过程管理类、工程类以及支持类。
项目管理类过程域包含与项目的策划、监控有关的项目管理活动与管理供应商协议等。项目计划(PP)包含各种项目规划活动,评审对项目造成影响的其它计划并与相关干系人建立承诺。项目监控(PMC)包括监督活动和采取纠正措施。需求管理(REQM)重点在于维护需求,提供由客户需求到产品需求,以及到产品构件需求的可追溯性。供应商协议管理(SAM)解决取得由供应商执行工作部分的项目需要,选择供应商与建立供应商协议。集成项目管理(IPM)建立与维护由组织标准过程所裁剪的项目已定义过程,使用已定义过程管理项目。风险管理(RSKM)活动包括风险参数的识别界定、风险评价及风险缓解。量化项目管理(QPM)建立质量与过程绩效的目标,组成有助于达成这些目标的已定义过程,并对项目进行量化管理。
过程管理类过程域为组织提供了一种能力,以便记录最佳实践、组织过程资产与经验教训,并在整个组织范围内共享,以达成其质量和过程绩效的量化目标。组织过程关注(OPF)帮助组织基于当前过程和过程资产的优势与劣势的理解,计划、实施并部署组织级过程改进。组织过程定义(OPD)建立与维护组织标准过程、工作环境标准及其它资产。组织培训(OT)识别组织的战略培训需要和战术培训需要,开发或获取培训用于发展执行组织标准过程所需要的技能。组织过程绩效(OPP)从组织的业务目标中衍生出质量与过程绩效的量化目标,并提供公共度量项、过程绩效基线和过程绩效模型。组织绩效管理(OPM)基于对过程绩效基线和过程绩效模型的分析,组织主动选择并部署增量式、创新式的改进,以达到对组织绩效量化改进的目标。
工程类过程域包含所有工程专业领域皆可通用的开发活动和维护活动,将不同工程专业领域的过程,整合成单一的产品开发过程。需求开发(RD)识别客户需求并将其转换为产品需求;分析产品需求生成高层次的、概念性的解决方案;然后将产品需求加以分配,以建立初始的产品构件需求。技术解决方案(TS)开发产品构件的技术数据包,考查权衡各种备选解决方案,并基于已定义的准则选择最优设计。产品集成(PI)包含建立可能的最佳集成策略,进行产品构件的集成以及向客户交付产品等相关实践。验证(VER)过程域确保所选定的工作产品满足其特定的需求,设定验证方法,执行同行评审,对照规定的需求对工作产品进行验证。确认(VAL)过程域增量地确认产品是否符合客户需要。
支持类过程域不仅包含支持产品开发与维护的活动,还包括为项目与组织提供改进的支持。度量与分析(MA)提供了度量方法,并指导项目与组织调整度量需要与目标。配置管理(CM)通过使用配置项识别与控制、配置状态记录及配置审计等手段,建立并维护工作产品的完整性。过程与产品质量保证(PPQA)是向项目成员和管理部门提供过程以及相关工作产品的客观评价。决策分析与解决(DAR)确定哪些问题需要进行正式评估过程,并针对它们实施一个正式评估过程。项目成员使用原因分析与解决(CAR)来识别所选结果的原因并采取措施阻止未来可能产生的负面结果,或者充分利用其积极影响。 2.3 CMMI阶段式表述
基于阶段式的5个级别,CMMI成熟度等级由低至高共分为:初始级、管理级、定义级、量化管理级和优化级。在每一个成熟度级别中,预先定义了达到该级过程管理水平的一组过程域与其相关的特定与通用实践。
成熟度1级为初始级。过程通常是混乱且随机的;组织往往不能提供一个稳定的环境来支持过程。
成熟度2级为管理级。组织在项目实施上能够遵守既定的计划与过程;项目雇用具备技能的人员,并给予足够的资源,产出可控制的产品;使相关干系人参与其中,对整个过程进行监督与控制;并且评估遵循过程的符合程度。
成熟度3级为定义级。组织不仅能够对项目的实施有一整套的管理措施,这些措施得到清晰的说明与理解,并保障项目的完成;而且企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与过程予以制度化。
成熟度4级为量化管理级。组织与项目建立了质量与过程绩效的量化目标并将其用作管理项目的准则,而且要使用适当的统计和其它量化技术进行控制与预测。针对选定的子过程,过程绩效的具体度量项得到了收集与统计分析,实现数字化管理。
成熟度最高级为优化级。组织基于对其业务目标与绩效需要的量化理解,不断改进其过程。根据过程变异共同原因的量化理解,组织通过增量式、创新的过程和技术改进,专注于持续改进过程绩效;并对项目实施过程中可能出现的次品予以预防。
3.EN50128标准概述
3.1 EN50128标准总述
欧洲电工标准委员会(CENELEC)以IEC61508标准为基础,附加列车安全控制系统的技术条件,制定了一系列以计算机控制的信号系统作为对象的铁路信号标准EN5012X。EN50128对铁路控制和防护设备中使用的可编程电子系统的软件开发和安全保障进行了总体规范。本标准关注于需要使用的方法,以使软件能满足经综合考虑后所分配到的安全完整性等级(SIL,Safety Integrity Level)要求。在本标准中,根据铁路信号系统的安全完整性等级划分,针对不同的安全完整性要求制订了相应的标准。按不同等级对整个软件开发、验证、评估与检测过程提出相应的程序与规范的要求。图1描述了软件开发的V型生命周期。
图1 软件开发的V型生命周期
3.2 软件开发生命周期要求
软件生命周期包括从软件构思开始到软件不再使用发生的活动。典型的软件生命周期包括需求阶段、设计开发阶段、测试阶段、集成阶段和维护阶段等。
为了满足所有系统和安全需求,软件需求阶段根据软件安全功能要求和安全完整性等级规定了完整的软件需求。其中包括铁路信号系统的相应需求、开发软件的需求特性、所有相关的操作方式及行为方式,明确并用文件证实软硬件之间的设计约束等。
软件架构设计阶段按照选定软件安全完整性等级的要求实现软件需求规格所规定的需求,评审系统结构对软件的需求,确定和评估硬件/软件交互对其安全性的影响,以及确保所得到的系统和软件从一开始就是可测试的。
软件构件设计阶段应开发出满足特定软件安全完整性等级要求的软件构件设计规格和软件构件测试规格。
软件构件实现和测试阶段选择一套覆盖整个软件生命周期的开发语言和合适的编译器工具,获得可分析、可测试和可维护的软件源代码。软件源代码应具有可读性、可理解和可测试性,并置于配置管理之下。
集成阶段目的在于实现软件构件及软/硬件间的交互,正确地完成它们预期功能,集成软件与硬件并确保它们的兼容性,以满足系统安全性需求规格和预定软件安全完整性等级的要求。
软件确认阶段目的在于分析和测试已集成的系统,以确保其符合软件需求规格依据安全完整性等级对功能和安全性的特定要求,并检查系统是否实现其预期功能。
软件维护阶段应确保软件按要求执行,并在对软件自身作纠正、功能增强和修改时保持软件安全完整性等级和可信性。该阶段可能涉及到建立软件维护程序,完成软件维护计划,并实施维护活动,建立相应的软件修改记录等。
4.某公司应用CMMI管理项目案例
目前,国际上在铁路信号领域的一些大厂商都通过了CMMI Level 3,对于其产品的质量保障起到了积极的作用。某公司于2012年正式通过CMMI L5国际认证。这说明该公司的软件开发过程管理、项目管理和质量控制能力,已达到业界较高水平。该公司从2008年开始与IBM开展合作,引入国际流行的成熟而规范的软件开发过程RUP(Rational Unified Process)。历经数年的持续投入,该公司软件研发体系普遍实施RUP-CMMI管理。
为了满足产品安全性和质量要求,成为符合国际标准的软件,可以综合考虑产品和过程两个方面。产品方面为了验证并确保铁路信号软件本身的可靠性和安全性,V&V和测试将被用来评估开发产品的质量。在过程方面,合格或符合标准的软件需要由组织级的过程来保障。该公司铁路信号系统基于多年成熟应用的RUP及CMMI开发流程,充分消化、吸收铁路安全产品开发标准IEC61508、EN5012X,严格遵从SIL4的认证要求。
该公司铁路信号系统的开发团队,在组织上,设立单独的安全工程师角色,负责铁路信号产品的安全分析、安全评估和安全管理,包括产品危害识别、原因分析、后果分析、风险评估、安全评估和安全审计等环节;在质量意识上,组织全员参加安全认证、CMMI、RUP等Workshop,统一安全、质量语言;在过程上,从概念阶段就引入安全需求及系统安全计划,并进行全程的安全评估和验证,减少与安全相关的人为失误,进而减少系统故障风险。
图2 铁路信号系统软件开发过程
从图2中可以看出,软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。各个阶段可以跨越几次迭代完成。7个核心步骤在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。各个步骤都必须通过开发、V&V和安全分析、管理三部分活动。这样,RUP作为CMMI的扩展,无缝集成到CMMI过程域中,将IEC61508、EN50129、EN50128等相关规范和CMMI有机的结合,提升组织开发安全相关产品的能力,从而满足安全产品开发过程保障的要求。
5.结束语
本文通过对CMMI必需的和期望的模型要素以及EN50128标准过程中共性的提取,对比分析了CMMI阶段式五级成熟度和连续式四类过程域,并结合EN50128标准过程的特色,以某公司基于CMMI的软件研发体系为例,介绍CMMI如何应用在铁路信号产品开发领域。
铁路信号产品是安全相关产品,需要将安全生命周期理论贯穿到研发的各个环节中去。EN50128标准属于欧洲标准体系中的一部分,对于CMMI在铁路信号系统产品开发上的应用,其设计的科学性和完备性上还有待于进一步提高,各个过程域也有待结合实际应用进一步细化和加强。
注释:
①详见国家安全生产监督管理总局发布的《“7·23”甬温线特别重大铁路交通事故调查报告》。
参考文献
[1]安全监管总局网站.“7·23”甬温线特别重大铁路交通事故调查报告[R].2011.http://www.gov.cn/gzdt/2011-12/29/content_2032986.htm.
[2]Carnegie Mellon Software Engineering Institute.CMMI for Development,Version 1.3[S].2010.
[3]CENELEC.EN50128,Railway applications-Communication,signaling and processing systems-Software for railway control and protection systems[S].2011.
[4]CEI/IEC 61508-3,Functional safety of electrical/electronic/programmable electronic safety-related systems-Part 3:Software requirements,Edition 2.0[S].2010.
作者简介:吴伟(1984-),男,山西临汾人,工程师,现供职于霍尼韦尔(北京)技术研发实验有限公司,主要研究方向:软件工程、数据挖掘。