【摘要】鐵路信號系統(tǒng)是安全相關產品,關系到萬千乘客的生命和財產安全,因此開發(fā)安全級產品需要更為嚴苛的過程保障。CMMI作為目前國際上最流行、最實用的過程改進方法,為組織提供了有效過程的基本元素和質量活動的指導,并為評估現(xiàn)有過程提供了參考。EN50128對鐵路控制和防護設備中使用的可編程電子系統(tǒng)的軟件開發(fā)和安全保障進行了總體規(guī)范。文中結合作者的體會,介紹了在實際工作中應用CMMI管理軟件項目的具體實踐,并舉例介紹了CMMI如何應用在鐵路信號產品開發(fā)領域。
【關鍵詞】能力成熟度模型集成;EN50128;鐵路信號系統(tǒng);安全;過程;RUP
1.引言
2014年7月25日,中國海外承建的首條高鐵在土耳其順利通車。這是中資企業(yè)在境外組織承攬實施的第一個電氣化高速鐵路項目,對推動中國高鐵“走出去”具有重要戰(zhàn)略意義。高鐵的運行需要先進的技術,更需要來自鐵路信號系統(tǒng)的保障。作為控制列車高速安全運行的信號系統(tǒng)的地位越來越重要,信號系統(tǒng)安全性的高低在一定程度上也決定了高鐵運行的安全程度。
在世界范圍內,頻頻發(fā)生的鐵路安全事故關系到成千上萬乘客的生命和財產安全,嚴重影響了人們的日常生活。2011年“7·23”甬溫線特大鐵路交通事故的慘狀仍歷歷在目,此次事故很大一部分是由信號系統(tǒng)造成的①。為此,如何保證軟、硬件系統(tǒng)的功能安全和系統(tǒng)安全,避免類似“7·23”甬溫線行車事故的再次發(fā)生,就需要從源頭抓起,首先保證系統(tǒng)的設計開發(fā)能夠滿足安全要求。
從CTCS-2級到CTCS-3級,信號系統(tǒng)越來越復雜,軟件在信號系統(tǒng)中所占比重越來越大,軟件的復雜性、重要性也越來越高。隨著CMMI在國際軟件工程領域的日益普及和推廣,CMMI目前也已經成為國際衡量軟件組織研發(fā)能力成熟度的主要依據(jù),也是我國軟件組織實施軟件過程改進所采用的主要模型。國內供應商如何將CMMI應用在鐵路信號系統(tǒng)的開發(fā)中,同時與鐵路應用相關的安全標準規(guī)范結合起來,從研發(fā)過程上,對鐵路信號相關產品的安全性起到保障作用,是個值得研究的課題。
2.CMMI模型概述
2.1 CMMI簡介
CMM(Capability Maturity Model,能力成熟度模型)的目標是幫助改進現(xiàn)有軟件開發(fā)過程,增強開發(fā)與改進能力。運用CMMI(能力成熟度模型集成)模型管理的項目,規(guī)范了產品的開發(fā)和管理過程,有效提高了項目的質量與按期完成率,減少了因質量問題帶來的返工。
CMMI支持兩種使用級別的改進路徑,對應于兩種不同的表述形式:一種為“連續(xù)式表述”,主要是使用能力等級,由組織通過一個單獨(或一組相關聯(lián))的過程域,選擇過程改進努力的專注,為組織及其商業(yè)目標帶來最大利益;另一種為“階段式表述”,它主要是提供由成熟度1級到5級、預先定義的改進路線,使組織從整體上通過增量的、預先定義的一系列過程域(集合)來改進相關的過程。
2.2 CMMI連續(xù)式表述
CMMI由22個過程域組成,按照連續(xù)式表述方式將其分成四個類別:項目管理類、過程管理類、工程類以及支持類。
項目管理類過程域包含與項目的策劃、監(jiān)控有關的項目管理活動與管理供應商協(xié)議等。項目計劃(PP)包含各種項目規(guī)劃活動,評審對項目造成影響的其它計劃并與相關干系人建立承諾。項目監(jiān)控(PMC)包括監(jiān)督活動和采取糾正措施。需求管理(REQM)重點在于維護需求,提供由客戶需求到產品需求,以及到產品構件需求的可追溯性。供應商協(xié)議管理(SAM)解決取得由供應商執(zhí)行工作部分的項目需要,選擇供應商與建立供應商協(xié)議。集成項目管理(IPM)建立與維護由組織標準過程所裁剪的項目已定義過程,使用已定義過程管理項目。風險管理(RSKM)活動包括風險參數(shù)的識別界定、風險評價及風險緩解。量化項目管理(QPM)建立質量與過程績效的目標,組成有助于達成這些目標的已定義過程,并對項目進行量化管理。
過程管理類過程域為組織提供了一種能力,以便記錄最佳實踐、組織過程資產與經驗教訓,并在整個組織范圍內共享,以達成其質量和過程績效的量化目標。組織過程關注(OPF)幫助組織基于當前過程和過程資產的優(yōu)勢與劣勢的理解,計劃、實施并部署組織級過程改進。組織過程定義(OPD)建立與維護組織標準過程、工作環(huán)境標準及其它資產。組織培訓(OT)識別組織的戰(zhàn)略培訓需要和戰(zhàn)術培訓需要,開發(fā)或獲取培訓用于發(fā)展執(zhí)行組織標準過程所需要的技能。組織過程績效(OPP)從組織的業(yè)務目標中衍生出質量與過程績效的量化目標,并提供公共度量項、過程績效基線和過程績效模型。組織績效管理(OPM)基于對過程績效基線和過程績效模型的分析,組織主動選擇并部署增量式、創(chuàng)新式的改進,以達到對組織績效量化改進的目標。
工程類過程域包含所有工程專業(yè)領域皆可通用的開發(fā)活動和維護活動,將不同工程專業(yè)領域的過程,整合成單一的產品開發(fā)過程。需求開發(fā)(RD)識別客戶需求并將其轉換為產品需求;分析產品需求生成高層次的、概念性的解決方案;然后將產品需求加以分配,以建立初始的產品構件需求。技術解決方案(TS)開發(fā)產品構件的技術數(shù)據(jù)包,考查權衡各種備選解決方案,并基于已定義的準則選擇最優(yōu)設計。產品集成(PI)包含建立可能的最佳集成策略,進行產品構件的集成以及向客戶交付產品等相關實踐。驗證(VER)過程域確保所選定的工作產品滿足其特定的需求,設定驗證方法,執(zhí)行同行評審,對照規(guī)定的需求對工作產品進行驗證。確認(VAL)過程域增量地確認產品是否符合客戶需要。
支持類過程域不僅包含支持產品開發(fā)與維護的活動,還包括為項目與組織提供改進的支持。度量與分析(MA)提供了度量方法,并指導項目與組織調整度量需要與目標。配置管理(CM)通過使用配置項識別與控制、配置狀態(tài)記錄及配置審計等手段,建立并維護工作產品的完整性。過程與產品質量保證(PPQA)是向項目成員和管理部門提供過程以及相關工作產品的客觀評價。決策分析與解決(DAR)確定哪些問題需要進行正式評估過程,并針對它們實施一個正式評估過程。項目成員使用原因分析與解決(CAR)來識別所選結果的原因并采取措施阻止未來可能產生的負面結果,或者充分利用其積極影響。
2.3 CMMI階段式表述
基于階段式的5個級別,CMMI成熟度等級由低至高共分為:初始級、管理級、定義級、量化管理級和優(yōu)化級。在每一個成熟度級別中,預先定義了達到該級過程管理水平的一組過程域與其相關的特定與通用實踐。
成熟度1級為初始級。過程通常是混亂且隨機的;組織往往不能提供一個穩(wěn)定的環(huán)境來支持過程。
成熟度2級為管理級。組織在項目實施上能夠遵守既定的計劃與過程;項目雇用具備技能的人員,并給予足夠的資源,產出可控制的產品;使相關干系人參與其中,對整個過程進行監(jiān)督與控制;并且評估遵循過程的符合程度。
成熟度3級為定義級。組織不僅能夠對項目的實施有一整套的管理措施,這些措施得到清晰的說明與理解,并保障項目的完成;而且企業(yè)能夠根據(jù)自身的特殊情況以及自己的標準流程,將這套管理體系與過程予以制度化。
成熟度4級為量化管理級。組織與項目建立了質量與過程績效的量化目標并將其用作管理項目的準則,而且要使用適當?shù)慕y(tǒng)計和其它量化技術進行控制與預測。針對選定的子過程,過程績效的具體度量項得到了收集與統(tǒng)計分析,實現(xiàn)數(shù)字化管理。
成熟度最高級為優(yōu)化級。組織基于對其業(yè)務目標與績效需要的量化理解,不斷改進其過程。根據(jù)過程變異共同原因的量化理解,組織通過增量式、創(chuàng)新的過程和技術改進,專注于持續(xù)改進過程績效;并對項目實施過程中可能出現(xiàn)的次品予以預防。
3.EN50128標準概述
3.1 EN50128標準總述
歐洲電工標準委員會(CENELEC)以IEC61508標準為基礎,附加列車安全控制系統(tǒng)的技術條件,制定了一系列以計算機控制的信號系統(tǒng)作為對象的鐵路信號標準EN5012X。EN50128對鐵路控制和防護設備中使用的可編程電子系統(tǒng)的軟件開發(fā)和安全保障進行了總體規(guī)范。本標準關注于需要使用的方法,以使軟件能滿足經綜合考慮后所分配到的安全完整性等級(SIL,Safety Integrity Level)要求。在本標準中,根據(jù)鐵路信號系統(tǒng)的安全完整性等級劃分,針對不同的安全完整性要求制訂了相應的標準。按不同等級對整個軟件開發(fā)、驗證、評估與檢測過程提出相應的程序與規(guī)范的要求。圖1描述了軟件開發(fā)的V型生命周期。
圖1 軟件開發(fā)的V型生命周期
3.2 軟件開發(fā)生命周期要求
軟件生命周期包括從軟件構思開始到軟件不再使用發(fā)生的活動。典型的軟件生命周期包括需求階段、設計開發(fā)階段、測試階段、集成階段和維護階段等。
為了滿足所有系統(tǒng)和安全需求,軟件需求階段根據(jù)軟件安全功能要求和安全完整性等級規(guī)定了完整的軟件需求。其中包括鐵路信號系統(tǒng)的相應需求、開發(fā)軟件的需求特性、所有相關的操作方式及行為方式,明確并用文件證實軟硬件之間的設計約束等。
軟件架構設計階段按照選定軟件安全完整性等級的要求實現(xiàn)軟件需求規(guī)格所規(guī)定的需求,評審系統(tǒng)結構對軟件的需求,確定和評估硬件/軟件交互對其安全性的影響,以及確保所得到的系統(tǒng)和軟件從一開始就是可測試的。
軟件構件設計階段應開發(fā)出滿足特定軟件安全完整性等級要求的軟件構件設計規(guī)格和軟件構件測試規(guī)格。
軟件構件實現(xiàn)和測試階段選擇一套覆蓋整個軟件生命周期的開發(fā)語言和合適的編譯器工具,獲得可分析、可測試和可維護的軟件源代碼。軟件源代碼應具有可讀性、可理解和可測試性,并置于配置管理之下。
集成階段目的在于實現(xiàn)軟件構件及軟/硬件間的交互,正確地完成它們預期功能,集成軟件與硬件并確保它們的兼容性,以滿足系統(tǒng)安全性需求規(guī)格和預定軟件安全完整性等級的要求。
軟件確認階段目的在于分析和測試已集成的系統(tǒng),以確保其符合軟件需求規(guī)格依據(jù)安全完整性等級對功能和安全性的特定要求,并檢查系統(tǒng)是否實現(xiàn)其預期功能。
軟件維護階段應確保軟件按要求執(zhí)行,并在對軟件自身作糾正、功能增強和修改時保持軟件安全完整性等級和可信性。該階段可能涉及到建立軟件維護程序,完成軟件維護計劃,并實施維護活動,建立相應的軟件修改記錄等。
4.某公司應用CMMI管理項目案例
目前,國際上在鐵路信號領域的一些大廠商都通過了CMMI Level 3,對于其產品的質量保障起到了積極的作用。某公司于2012年正式通過CMMI L5國際認證。這說明該公司的軟件開發(fā)過程管理、項目管理和質量控制能力,已達到業(yè)界較高水平。該公司從2008年開始與IBM開展合作,引入國際流行的成熟而規(guī)范的軟件開發(fā)過程RUP(Rational Unified Process)。歷經數(shù)年的持續(xù)投入,該公司軟件研發(fā)體系普遍實施RUP-CMMI管理。
為了滿足產品安全性和質量要求,成為符合國際標準的軟件,可以綜合考慮產品和過程兩個方面。產品方面為了驗證并確保鐵路信號軟件本身的可靠性和安全性,Vamp;V和測試將被用來評估開發(fā)產品的質量。在過程方面,合格或符合標準的軟件需要由組織級的過程來保障。該公司鐵路信號系統(tǒng)基于多年成熟應用的RUP及CMMI開發(fā)流程,充分消化、吸收鐵路安全產品開發(fā)標準IEC61508、EN5012X,嚴格遵從SIL4的認證要求。
該公司鐵路信號系統(tǒng)的開發(fā)團隊,在組織上,設立單獨的安全工程師角色,負責鐵路信號產品的安全分析、安全評估和安全管理,包括產品危害識別、原因分析、后果分析、風險評估、安全評估和安全審計等環(huán)節(jié);在質量意識上,組織全員參加安全認證、CMMI、RUP等Workshop,統(tǒng)一安全、質量語言;在過程上,從概念階段就引入安全需求及系統(tǒng)安全計劃,并進行全程的安全評估和驗證,減少與安全相關的人為失誤,進而減少系統(tǒng)故障風險。
圖2 鐵路信號系統(tǒng)軟件開發(fā)過程
從圖2中可以看出,軟件生命周期在時間上被分解為四個順序的階段,分別是:初始階段(Inception)、細化階段(Elaboration)、構造階段(Construction)和交付階段(Transition)。各個階段可以跨越幾次迭代完成。7個核心步驟在項目中輪流被使用,在每一次迭代中以不同的重點和強度重復。各個步驟都必須通過開發(fā)、Vamp;V和安全分析、管理三部分活動。這樣,RUP作為CMMI的擴展,無縫集成到CMMI過程域中,將IEC61508、EN50129、EN50128等相關規(guī)范和CMMI有機的結合,提升組織開發(fā)安全相關產品的能力,從而滿足安全產品開發(fā)過程保障的要求。
5.結束語
本文通過對CMMI必需的和期望的模型要素以及EN50128標準過程中共性的提取,對比分析了CMMI階段式五級成熟度和連續(xù)式四類過程域,并結合EN50128標準過程的特色,以某公司基于CMMI的軟件研發(fā)體系為例,介紹CMMI如何應用在鐵路信號產品開發(fā)領域。
鐵路信號產品是安全相關產品,需要將安全生命周期理論貫穿到研發(fā)的各個環(huán)節(jié)中去。EN50128標準屬于歐洲標準體系中的一部分,對于CMMI在鐵路信號系統(tǒng)產品開發(fā)上的應用,其設計的科學性和完備性上還有待于進一步提高,各個過程域也有待結合實際應用進一步細化和加強。
注釋:
①詳見國家安全生產監(jiān)督管理總局發(fā)布的《“7·23”甬溫線特別重大鐵路交通事故調查報告》。
參考文獻
[1]安全監(jiān)管總局網站.“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,F(xiàn)unctional safety of electrical/electronic/programmable electronic safety-related systems-Part 3:Software requirements,Edition 2.0[S].2010.
作者簡介:吳偉(1984-),男,山西臨汾人,工程師,現(xiàn)供職于霍尼韋爾(北京)技術研發(fā)實驗有限公司,主要研究方向:軟件工程、數(shù)據(jù)挖掘。