□ 文/詹立勇
在智能交通行業(yè)中交通監(jiān)控系統(tǒng)承擔著重要的角色,在實際的運營維護過程中如果沒有相適應的配置管理,那么對外場設(shè)備的新增、修改、刪除、關(guān)聯(lián)、對外共享等只能通過對生產(chǎn)數(shù)據(jù)庫相關(guān)表、視圖等的直接操作來實施,對維護人員要求較高且存在較大的出錯風險。
由于通過數(shù)據(jù)庫操作涉及表較多且需要遵循特定的規(guī)則,只能由特定的、經(jīng)過專業(yè)培訓的內(nèi)場人員實施操作。當相關(guān)人員工作任務較多時無法及時響應業(yè)主需求,故需要有專業(yè)的配置工具使運維人員經(jīng)過簡單培訓后也能夠勝任相關(guān)配置工作,從而提高運維人員的工作效率和運維業(yè)務的業(yè)主響應度,從而提升指揮中心業(yè)主的滿意度。
在沒有配置版本管理的情況下,當配置出現(xiàn)偏差或丟失去,無法第一時間定位和恢復,可能會導致相關(guān)外場設(shè)備無法正常工作。針對這一情況,提出對軟件配置進行版本管理,對軟件配置的變更進行變更控制管理,對擬通過審計控制功能實現(xiàn)對軟件配置的全程監(jiān)管。
基于CMMI的相關(guān)配置管理規(guī)定,軟件配置就是進行軟硬件聚合體的制作工作,而軟件配置管理就是控制和管理軟件開發(fā)過程中的一種規(guī)范性管理工作。軟件配置管理能夠通過CMMI實現(xiàn)對軟件的識別、操控和更新,從而為軟件開發(fā)平臺提供保障。
對于軟件配置管理來說,其管理流程具有一定的獨特性。首先是開啟配置項,識別基線時機以及配置項;其次是對配置庫進行監(jiān)理,并對相關(guān)實施計劃進行配置,變更和統(tǒng)計基礎(chǔ)軟件,然后對配置報告的形成過程進行跟蹤和記錄,同時還要將配置管理數(shù)據(jù)記錄和保存下來。特別注意的是,要備份配置庫中的資料。
▲圖1 配置管理更改流程
軟件配置管理是為了系統(tǒng)地控制配置的變更和維護配置在整個系統(tǒng)的生命周期中的完整性和可追蹤性,而標識軟件在時間上不同點的配置的學科。軟件配置管理可以幫助開發(fā)團隊對軟件開發(fā)過程進行有效的變更控制,高效地開發(fā)高質(zhì)量的軟件。在質(zhì)量體系的諸多支持活動中,配置管理處在支持活動的中心位置,它有機地把其它支持活動結(jié)合起來,形成一個整體,相互促進,相互影響,有力地保證了質(zhì)量體系的實施。軟件配置管理人員可以通過以下方式來進行軟件配置管理:
軟件配置項即軟件配置管理的對象,它是軟件開發(fā)過程中產(chǎn)生的所有工作產(chǎn)品,包括:源代碼、目標代碼、內(nèi)部數(shù)據(jù)結(jié)構(gòu)、外部數(shù)據(jù)結(jié)構(gòu)、技術(shù)文檔、管理文檔、用戶文檔以及報告文件乖,其中每一項稱為一個軟件配置項。軟件配置管理中最基本的元素是配置項,它是被唯一標識的實體。凡是納入配置管理范疇的工作產(chǎn)出都是配置項。配置項主要有兩大類:屬于產(chǎn)品組成部分的工作產(chǎn)出;項目管理和機構(gòu)支撐過程產(chǎn)生的文檔。配置,指一個產(chǎn)品在生命周期各個階段所產(chǎn)生的各種形式和各種版本的文檔、程序及其數(shù)據(jù)的集合。該集合中的每一個元素稱為該產(chǎn)品配置中的一個配置項。配置項在大小,復雜程度和類型上劃分非常廣泛,可以從整個的系統(tǒng)(包括硬件,軟件和文件)到一個單一的模塊。
配置標識是配置管理基礎(chǔ)。配置標識包括了配置項的選擇、劃分和功能物理屬性進行描述的過程。軟件配置標識,它識別要控制的項目,為各個項目及其版本建立標識方案,確定在獲取和管理被控制項目中要使用的工具和技術(shù)。總體原則是,按約定的標識要求對相關(guān)的配置項、產(chǎn)品進行標識,確保配置項得到正確的識別,使其便于管理、檢索和使用。每個配置項都必須被唯一地標識,這個唯一的標識被用于與其它配置項進行區(qū)分,跟蹤和報告該配置項的狀態(tài),一般地,每個配置項被賦予一個標識符。只有明確了各階段有哪些軟件配置項,才能順利地實施軟件配置管理。
角色:根據(jù)CMMI配置管理規(guī)范,角色分為以下6大類別:
組織級配置管理員:維護組織級配置庫,撰寫、維護和分發(fā)配置管理相關(guān)標準和相關(guān)規(guī)程,培訓項目級配置管理員,管理項目級配置;項目級配置管理員:制定項目配置管理計劃,依照計劃進行配置管理庫的日常維護;變更控制委員會(CCB):基線建立的審批,變更申請審批,通常CCB 委員會可由項目經(jīng)理、質(zhì)量保證員、客戶和外部專家組成;項目經(jīng)理:負責制定項目計劃,監(jiān)控計劃的執(zhí)行,協(xié)調(diào)資源保證項目順利完成;項目開發(fā)人員:負責項目開發(fā),遵照配置管理規(guī)范使用配置庫;項目維護人員:負責項目運行維護,遵照配置管理規(guī)范使用配置庫;
版本是表示一個配置項具有一組定義的功能的一種標識,隨著功能的增加、修改或刪除,配置項的版本隨之演變。版本以版本號進行標識,每個軟件產(chǎn)品對應的根目錄下的一個二級子目錄,每一個軟件產(chǎn)品目錄又主要包括如下三個部分:Tag、Trunk、Branches。版本管理主要是針對上述目錄。版本管理一般是使用工具來完成的。使用工具時,容易被忽視的一點是制定所使用工具的版本規(guī)則,如果直接采用工具的內(nèi)部版本號,會給產(chǎn)品發(fā)布帶來一些困難。通常采用“X.Y.Z”方式進行版本標識,明確 X、Y和 Z 各位數(shù)字遞增的規(guī)則,然后結(jié)合工具標簽(Label)功能,便可實現(xiàn)高效的版本管理。
基線:基線標志著軟件開發(fā)過程一個階段工作的結(jié)束,是后續(xù)工作的基礎(chǔ)。一旦文檔通過評審形成基線就要對其進行嚴格的修改控制。配置管理主要活動與要求有:
配置標識:編制軟件配置管理計劃;軟件配置項標識;基線標識;受控庫標識;配置項和基線的狀態(tài)標識;更改申請狀態(tài)標識;配置項和基線納入配置控制的進展情況標識。
配置控制:標識和記錄更改申請;分析并評價更改;批準或否決更改申請;實現(xiàn)、驗證和發(fā)行已修改的軟件項。
配置狀態(tài)記實:記錄標識,跟蹤更改,報告狀態(tài)記實。
配置評價:確定配置項是否與SCM 記錄相符;軟件產(chǎn)品相對構(gòu)造軟件配置項的累積狀態(tài)和批準的更改而言,是否完備和可用;基線是否由相關(guān)的軟件配置項和各自批準的更改組成。配置管理作為在軟件全生命周期對軟件質(zhì)量的一項重要的控制手段,同時也是推行其它軟件工程方法和活動的基礎(chǔ),在進行配置管理活動的時候,我們應編寫軟件配置管理計劃,明確配置管理組織及其成員的責任和權(quán)限,明確配置管理的范圍,對每條基線及每個基線下的配置項有清楚認識與規(guī)劃,同時做好配置管理評價工作。
▲圖2 系統(tǒng)基線定義與對應的配置項
▲圖3配置管理模塊架構(gòu)設(shè)計
基線是一組配置項集合的穩(wěn)定版本,是進一步開發(fā)的基礎(chǔ),基線保證了后續(xù)開發(fā)活動所需工作產(chǎn)品及支持文檔數(shù)據(jù)的穩(wěn)定性和一致性?;€的變更要遵循變更管理的要求。在配置管理系統(tǒng)中,基線是一組特定版本的配置項副本拷貝,凡納入此基線范圍的配置項,稱為此配置項已基線化。建立/修改基線注意事項包括通過正式的評審過程建立;基線變更要執(zhí)行變更流程;基線的變更由變更控制委員會裁決;基線是進一步開發(fā)和修改的基準。
實現(xiàn)交通監(jiān)控系統(tǒng)外場設(shè)施設(shè)備基礎(chǔ)配置的自動化,通過工具實現(xiàn)外場設(shè)備配置的變更;
實現(xiàn)交通監(jiān)控系統(tǒng)配置版本管理,使配置過程結(jié)果可追溯性,出現(xiàn)異常時可及時恢復配置;
實現(xiàn)交通監(jiān)控系統(tǒng)運維過程中的軟件配置變更控制。
配置管理模塊主要實現(xiàn)功能如下:
配置支持功能:配置支持包括系統(tǒng)軟件自身的環(huán)境配置,還包括外部接入設(shè)備的基本配置支持。
版本控制功能:版本控制是軟件配置管理的基本要求,它可以保證在任何時刻恢復任何一個版本、版本控制還記錄每個配置項的發(fā)展歷史,這樣就保證了版本之間的可追蹤性,也為查找錯誤提供了幫助,版本控制也是支持并行開發(fā)的基礎(chǔ)。
變更控制功能:變更控制是指在整個軟件生存周期中對軟件變更的控制。變更控制系統(tǒng)記錄每次變更的相關(guān)信息(變更的原因、變更的實施者以及變更的內(nèi)容等)。這些信息有助于追蹤出現(xiàn)的各種問題。
報告/查詢功能:軟件配置管理可以向用戶提供配置庫的各種查詢信息,主要包括依賴關(guān)系報告、變化影響報告、Build報告、版本差異報告、歷史報告、訪問控制報告、沖突檢測報告。實際上許多軟件配置管理工具的此項功能是分散在各種相應的功能中的。
審計控制功能:軟件配置管理通過審計控制來驗證軟件配置管理過程,以保證配置庫中所有配置項的完整性。簡單的審計控制是記錄軟件配置管理工具執(zhí)行的所有命令,復雜的審計控制還包括記錄每個配置項的狀態(tài)變化。
系統(tǒng)支撐功能:除了以上的主要功能外,軟件配置管理還可以提供權(quán)限控制、人員管理和配置庫管理等管理,這些功能主要是為軟件配置管理實現(xiàn)以上功能提供保障。
通過對交通監(jiān)控系統(tǒng)軟件過程的配置管理實踐,充分驗證了配置管理對交通監(jiān)控系統(tǒng)軟件的需求追溯、變更控制及文檔管理都具有極大的幫助,可有效規(guī)范交通監(jiān)控系統(tǒng)軟件的管理過程。交通監(jiān)控信息化軟件比普通軟件擁有更多、更繁瑣的變更,特別是交通監(jiān)控系統(tǒng)軟件具有較多的外場設(shè)施設(shè)備。在嚴格遵守配置管理基本規(guī)程的基礎(chǔ)上,如何定義和管理信息化軟件的變更版本,既保證變更管理的正確、完整性,又提高配置管理的工作效率還需要進一步研究和探索。