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