栗蘭林



摘 要: 地鐵是城市公共交通的重要組成部分,其設備的安全、穩定、可靠直接影響地鐵運營的安全、穩定,因此保障設備的可靠運行是整個安全生產工作的首要環節,為保障AFC系統的正常運營,保證產品版本的正確性,保證變更后的正確性,在AFC系統的使用維護中引入配置管理機制,實施配置管理活動是對工作成果的一種有效保護形勢,是形成組織資料和數據的重要來源。
關鍵詞: 地鐵;AFC系統;配置管理;變更控制過程;發布控制過程
引言
地鐵是城市公共交通的重要組成部分,其車站AFC設備的運行情況將直接影響地鐵服務水平,隨著地鐵運營線路和運營里程的增加,客流逐漸增長,保障AFC系統的正常運營,保證產品版本的正確性,保證軟件變更后的正確性,實踐證明解決這些問題的有效手段就是AFC系統中引入軟件配置管理活動。
配置管理活動的目的是通過執行版本控制、變更控制、軟件測試等規程,借助配置管理工具的使用,來保證軟件產品的完整性、一致性、可用性。配置管理是對工作成果的一種有效保護形勢,是形成組織資料和數據的重要來源。本文根據配置管理活動在AFC系統中的實踐中經驗,給出一種軟件配置管理模型的具體實施方案。
一、概述
1配置管理簡介
配置管理(Configuration Management,簡稱CM)是通過技術或行政手段對產品及其研發過程和生命周期進行控制、規范的一系列措施。配置管理的目標是記錄產品的演化過程,確保產品設計者在產品生命周期中各個階段都能得到精確的產品配置。
2配置管理在AFC系統中的地位和作用
地鐵公司承擔著保障AFC系統的正常運營的職責。隨著新線路的不斷開通,新設備的添入,不斷提供多樣性的業務模式和提升乘客體驗的滿意度,AFC系統在提供全業務需求基礎上不斷提升和修正自身存在的缺陷,怎樣才能管理好AFC系統每一個變更后的子系統能夠正確無誤在正線上運行?怎樣保證所有站點的不同終端設備都在運行變更后同一版本的軟件?怎么保證修改的軟件部分不影響其他功能的正常運行?
通常,保持軟件產品的完整性、一致性、可用性,是交給軟件開發商在開發過程中來保障的。然而,軟件開發商和我們做運營管理的根本上,目標不同,所以對待的做法和態度也就會有差異。軟件開發商的維護人員的目標是,執行合同中質保期內的對軟件的改進和完善,以盡快完成修改任務為目的;而作為AFC系統的使用方和管理方,目標是保障正常運營的前提下,做有效變更。在雙方的目標和責任不一樣的情況下,會存在終端設備運行的軟件版本不一致,導致提供的功能不一致;為修改一個小問題,因為軟件開發人員沒有運營環境做回歸測試,即修改舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。裝入正線系統后,導致問題層出不窮。
實踐證明解決這些問題的有效手段就是軟件的使用人員在AFC系統中開展配置管理活動。通過執行版本控制、變更控制、軟件測試等規程,借助配置管理工具的使用,用于實現貫穿產品生命周期的產品配置過程管理。
二、配置管理在AFC系統中的應用實踐
1AFC系統簡介
AFC(Automatic Fare Collection .AFC)系統是城市軌道交通自動售檢票系統的簡稱,是融合計算機軟件技術、大型數據庫技術、機電一體化技術、模式識別技術、傳感技術、緊密機械技術、網絡技術等多項高新技術于一體的自動化大型系統。AFC系統是軌道交通最基本、最重要的系統之一,實現軌道交通售票、檢票、計費、收費、統計、清分、管理等票務運營全過程。隨著城市軌道交通網絡化發展,客流量的日趨增加,AFC系統安全運營的壓力與日劇增,對系統運營的穩定性、可靠性以及故障響應及處理時間的要求也越來越高。
昆明軌道交通AFC系統主要由以下軟件產品構成:車站終端設備(Station Level Equipment.SLE)軟件包含有半自動售票機(Booking Office Machine.BOM)、自動售票機(Ticket Vending Machine.TVM)、自動檢票機(Automatic Gate Machine.AGM)和車站計算機系統(Station Computer.SC)、線路中央計算機系統(Line Central Computer.LCC)、清分系統(AFC Clearing Center.ACC)、儲值票管理系統、票卡發行管理系統、老年卡發行管理系統、員工卡發行管理系統等軟件產品。尤其車站運營一線的SLE設備,將直接關系到廣大乘客進出站、購票和更新車票的功能實現。特別是新功能相繼出現以后,SLE設備的應用軟件程序也隨之頻繁變更、升級,由于工期緊、涉及范圍廣、聯調要求高等實際因素的限制,導致軟件質量難以得到保障。因此,加強對AFC系統軟件管理尤為重要,將原本的事后分析評價轉向為事前的管理控制,無論對整個項目工程還是對軟件質量本身而言都是十分重要和必要的。
2基于AFC系統的配置管理平臺系統開發及應用
2.1AFC系統配置管理模型
配置管理平臺由配置庫和配置管理系統功能組成,配置管理平臺配置庫由“環境庫”、“源代碼庫”、“產品庫”構成。用于存放系統開發、測試、維護的數據環境,如操作系統、編譯環境、編譯器、數據庫管理系統、開發工具、測試工具等。AFC系統維護環境用于運行各AFC系統軟件。集成商開發完成后,軟件源代碼需在該維護環境中通過編譯生成最終目標程序,生成最終目標程序的源代碼進入配置庫的“源代碼庫”用于將來源代碼查詢和使用。最終目標程序進入配置庫的“產品庫”,作為正式發布的軟件,正線的所有應用軟件部署需從“產品庫”中簽出,保障在正線部署的軟件出自配置管理的“產品庫”,而不是軟件集成商未經控制管理自行編譯部署的軟件。
環境庫內容
環境庫存放AFC系統測試維護平臺中環境類配置項,標識軟件開發環境及軟件維護環境、編譯環境、操作系統、編譯器、數據庫管理系統、開發工具、測試工具等。用途:搭建AFC系統中任何一個測試環境時,均可通過環境庫撿出一套準確、完整的配置項完成測試環境的建立。
源代碼庫內容
源代碼庫存放編碼類配置項,編碼及單元測試后得到的工作產品,源代碼、單元測試數據、系統測試數據、系統測試結果、操作手冊等。
源代碼的演變過程形成版本樹,采用層次命名規則反映樹狀結構。
產品庫內容
產品庫保存所有可向正線發行的產品版本以及已經發布的產品版本、目標代碼、文檔。
2.2配置管理平臺系統主要包括如下功能模塊
2.2.1配置標識
配置標識就是識別產品的結構、產品的構件及其類型,為其分配唯一的標示符,也就是說,每一個配置項要有一個唯一標識。一般說來,標識包括兩個方面:一是文件名,二是版本。
2.2.2版本控制
版本控制就是對在軟件變更過程中所變動的配置對象的不同版本進行管理,保證任何時候都能取到正確的版本以及版本的組合。當前,這方面典型的工具有VSS和CVS。
由版本依次連接形成版本樹,每個結點代表一個版本,根節點是初始版本,葉結點代表最新的版本。版本控制對軟件開發過程中配置項的發展過程提供有效的追蹤手段,保證在需要時可以找到舊版本,避免文件的丟失、修改的丟失和互相覆蓋。對版本的控制,實際上就是對配置項各種操作的控制,檢入檢出、版本的分支和合并、版本的歷史紀錄版本控制就是對在軟件變更過程中所變動的配置對象的不同版本進行管理,保證任何時候都能取到正確的版本以及版本的組合。
2.2.3配置狀態統計
當有變更請求時,觸發配置狀態統計活動,提交配置狀態報告。狀態報告要能夠報告所有變更的配置項以及變更請求的狀態,通過量化的數據和報表反映軟件系統的狀態。狀態報告要回答所謂4W的問題:What:發生了什么事?Who:誰做的此事?When:此事是什么時候發生的?Why:為什么做此事?
2.2.4配置審核
配置審核要審查整個配置管理過程是否符合規范,配置項是否與需求一致,記錄正確,配置的組成是否具有一致性等等。
2.3配置管理平臺系統的流程管理
配置管理平臺系統包含3個主要流程,基礎配置管理過程、變更控制過程和發布控制過程。
2.3.1變更控制過程
變更控制就是對變更請求進行分類、追蹤和管理的過程來實現的。處理變更的原則,必須采用規范的管理過程。對于所有的變更,由變更的提出到開發、測試、實施、跟蹤、發布的全過程都需遵循變更控制機制,保證所有變更都是可控的、可跟蹤的、可重現的。
運營過程中新的需求、軟件的增強、存在的缺陷均會引起變更發生,變更發生時,相關責任人提出“變更申請”,配置管理委員會對“變更申請”進行研究和批復,批準后的變更由配置管理員登記記錄后,通知相關責任人。相關責任人組織委外軟件廠家按需求進行軟件開發,開發完成后,需將源代碼部署到我們的測試維護平臺進行軟件編譯和目標代碼部署,通過測試后,出具“測試報告”,配置管理員登記記錄測試報告,并進行源代碼入庫和目標代碼入庫操作。
“變更申請”需解決以下6個問題:
1)誰提出變更?
變更的起源有3種:新需求、功能變更和缺陷修補。功能變更是為了增加或者刪除某些功能。缺陷修補則是對已存在的缺陷進行修補。變更提出人員會是系統的使用人員、維修人員、運營管理人員、軟件系統開發商本身。
2)什么時候提出變更?
即變更提出的時間,新的需求被提出或時缺陷被發現后,技術人員對需求進行可行性研究、相關需求分析后,提出變更的時間。
3)變更的內容是什么?
變更內容包括為什么變更、變更發生的位置以及變更的具體描述;變更內容復雜時,開發者和用戶在需求問題上常常產生分歧,變更的實施是用戶和開發者相互協作的過程,必要時需編制需求變更方案,雙方對變更需求了解越深入,所提的需求變更就越合理,越有針對性。
4)變更的影響是哪些?
變更會是用戶界面變更、現有功能變更(增加、增強、刪除、修改)、業務邏輯變更等。做變更影響分析,即從對進度的影響、對項目成本的影響、本變更對其他功能需求的影響、變更涉及到集成、測試、安裝等方面進行分析;變更對范圍、性能、架構、內外接口、信息安全等方面的影響分析。
(5)變更的處理意見?
變更處理方案,說明具體處理辦法及相關理由。對變更請求的有效管理可以提高軟件產品管理的透明度,可以清楚的知道進展情況,比如有多少個新產生的變更,已經解決了多少變更等,有利于做出正確的決策。
(6)變更執行結果?
為修改一個小問題,導致問題層出不窮,這是軟件修改中常遇到的,變更處理效果,描述變更執行前后系統發生的變化。
2.3.2發布控制過程
軟件產品的每個版本都是一組配置項(源代碼、文檔、數據)的集合。變更完成后,要按照計劃統一發布軟件的新版本,覆蓋變更方案中涉及的所有范圍,把源代碼、可執行文件、文檔、數據中所有應該包含到這個版本中的正確配置項檢出,進行正線系統的安裝部署。將操作手冊等文檔發布給各相關人員知曉和使用,特別是使用人員和維護人員。
發布控制過程有2個關鍵點需把控,一個關鍵點是“發布申請”的批準,批準的前提條件是結論為測試通過的測試報告、配置管理員出具的此次變更后的配置狀態報告,即源代碼和目標代碼,相關文檔已正確入庫;另一個關鍵點是部署于正線的執行程序必須由配置管理員從“產品庫”中檢出的正確版本。
三、結論與建議
地鐵基于AFC系統的配置管理平臺系統,作為提升地鐵AFC產品研發的管理水平的過程,對產品研發管理有至關重要的作用。配置管理平臺系統能夠解決產品項目研發團隊中所面臨的問題,不僅對版本進行了有效控制,能夠查詢任一時間段內對產品的變更情況,使每個涉及到的部門都能參與到產品的變更管理中,規范了產品研發過程中的成果把控。
參考文獻
[1] 董越.未雨綢繆—理解軟件配置管理.電子工業出版社,2008年5月.
[2] 徐曉春 李高建.軟件配置管理. 清華大學出版. 2002-07-01.