scm

scm

軟件配置管理
軟件配置管理(SCM)是指通過執行版本控制、變更控制的規程,以及使用合适的配置管理軟件,來保證所有配置項的完整性和可跟蹤性。配置管理是對工作成果的一種有效保護。 (Software configuration management (SCM, or just plain CM) is an organizational framework — that is, a discipline — for managing the evolution of computer systems throughout all stages of systems development.)
  • 中文名:軟件配置管理
  • 外文名:scm
  • 适用領域:
  • 所屬學科:
  • 類    屬:管理方法

定義

SCM(Software Configuration Management,軟件配置管理)是一種标識、組織和控制修改的技術。它應用于整個軟件生存期。在軟件建立時會經常産生變更,而變更加劇了項目中軟件人員之間的混亂。之所以産生混亂,是因為在進行變更前沒有仔細分析,或沒有進行變更控制。因為變更在任何時刻都可能發生,因此軟件配置管理活動的目标就是為了标識變更,控制變更,确保變更正确地實現,向其他有關的人報告變更。軟件配置管理是一組追蹤和控制活動,它們開始于軟件開發項目開始之時,結束于軟件被淘汰之時。從某種角度講,SCM是一種标識、組織和控制修改的技術,目的是使錯誤降為最小并最有效地提高生産效率。

軟件配置管理(Software Configuration Management,SCM)作為CMM2級的一個關鍵域(Key Practice Area,KPA),在整個軟件的開發活動中占有很重要的位置。正如Pressman所說的:“軟件配置管理是貫穿于整個軟件過程中的保護性活動,它被設計來(1)标識變化,(2)控制變化,(3)保證變化被适當的發現,以及(4)向其他可能有興趣的人員報告變化。” 所以,我們必須為軟件配置管理活動設計一個能夠融合于現有的軟件開發流程的管理過程,甚至直接以這個軟件配置管理過程為框架,來再造組織的軟件開發流程。

原因

如果沒有軟件配置管理,最大的麻煩是工作成果無法回溯。為了避免成果被覆蓋,包括我自己在内的很多人早期采用手工管理版本的方式,例如當一個新版本産生時用當時的日期來命名文件夾,然後再複制一下以後的修改在複制的文件夾内進行,這樣上一個版本就被保存下來了,周而複始不同的版本不會被覆蓋。雖然這種方式可以從某種程度上解決版本的回溯問題,但他存在的缺點是顯而易見的:第一點如果保留結果過于頻繁,将會導緻産生大量的有着重複内容的文件夾,龐大的物理空間,管理起來很麻煩;如果保留舊版本的時間間隔太長,可能産生某些有用的老程序無法回溯。第二容易産生版本的混亂,如果是團隊開發軟件,這種簡單的方法更難解決問題的本質了。

關鍵

配置管理的方法是成熟的,而且相應的軟件工具也是成熟的,基本上不存在看不懂、不會用的問題。配置管理的執行效果如何,完全是事在人為。妨礙配置管理的主要問題是人們嫌麻煩和僥幸心理作怪。

在沒出亂子的情況下,執行版本控制看起來有些麻煩。每次修改工作的時候總是要Get Latest Version,接着Check Out,修改完後又要Check In,多做了三步。其實這三步加起來也就十幾秒鐘,而且不費腦子,根本沒有添加多少麻煩,僅僅是個人感覺不爽而以。然而不執行版本控制的話,萬一發生工作成果被覆蓋或丢失等問題,麻煩就大了。

規範

軟件研發和管理過程中會産生許許多多的工作成果,例如文檔、程序和數據等,他們都應當妥善地保管起來,以便查閱和修改。如果把所有文件一股腦的塞進計算機裡,那麼使用起來很麻煩。

凡是納入配置管理範疇的工作成果統稱為配置項,配置項主要有兩大類:一類是屬于産品的組成部分,例如需求文檔、設計文檔、源代碼、測試用例等等;另一類是在管理過程中産生的文檔,例如各種計劃、報告等。

每個配置項的主要屬性有名稱、标識符、文件狀态、版本、作者、日期等。配置項及曆史紀錄反映了軟件的演化過程。

基線由一組配置項組成,這些配置項構成了一個相對穩定的邏輯實體。基線中的配置項被凍結後,不能再被任何人随意更改。基線通常對應于開發過程中的裡程碑。通常将交付該客戶的基線稱為一個Release,為内部開發用的基線稱為一個Build。

版本控制的目的是按照一定的規則保存配置項的所有版本,避免發生版本丢失或混亂等現象。配置項的狀态有三種:“草稿”、“正式發布”和“正在修改” 。

配置項的版本号與配置項的狀态緊密相關:

(1) 處于“草稿”狀态的配置項的版本号格式為:0.YZ

(2) 處于“正式發布”狀态的配置項的版本号格式為:X.Y。

一般隻是Y值遞增,當Y值到達一定的範圍時X值才發生變化。

(3) 處于“正在修改”狀态的配置項的版本号格式為:X.YZ。

一般隻增大Z值,當配置項修改完畢,狀态重新變成“正式發布”時,将Z值變為0,增加X.Y值。

發展史

配置管理的概念源于美國空軍,為了規範設備的設計與制造,美國空軍1962年制定并發布了第一個配置管理的标準“AFSCM375-1,CM During the Development & Acquisition Phases”。

而軟件配置管理概念的提出則在20世紀60年代末70年代初。當時加利福利亞大學聖巴巴拉分校的Leon Presser教授在承擔美國海軍的航空發動機研制合同期間,撰寫了一篇名為“Change and Configuration Control”的論文,提出控制變更和配置的概念,這篇論文同時也是他在管理該項目(這個過程進行過近一千四百萬次修改)的一個經驗總結。

Leon Presser在1975年成立了一家名為SoftTool的公司,開發了配置管理工具:Change and Configuration Control(CCC),這是最早的配置管理工具之一。

随着軟件工程的發展,軟件配置管理越來越成熟,從最初的僅僅實現版本控制,發展到提供工作空間管理、并行開發支持、過程管理、權限控制、變更管理等一系列全面的管理能力,已經形成了一個完整的理論體系。同時在軟件配置管理的工具方面,也出現了大批的産品,如:最著名的ClearCase;開源産品CVS;入門級工具Microsoft VSS;新秀Hansky Firefly。

在國外已經有30多年曆史的軟件配置管理,但在國内的發展卻是在21世紀這幾年的事。但是通過專家們的介紹,我們感受到,國内的軟件配置管理已經取得了迅速發展,并得到了軟件公司的普遍認可。

基本目标

軟件配置管理是在貫穿整個軟件生命周期中建立和維護項目産品的完整性。它的基本目标包括:

目标 1: 軟件配置管理的各項工作是有計劃進行的。

目标 2: 被選擇的項目産品得到識别,控制并且可以被相關人員獲取。

目标 3: 已識别出的項目産品的更改得到控制。

目标 4: 使相關組别和個人及時了解軟件基準的狀态和内容。

方針

為了達到上述目标, 如下的方針應該得到貫徹執行:

技術部門經理和具體項目主管應該使用和遵循XSSC的OSSP中所描述的軟件配置管理的工作過程。

施行軟件配置管理的職責應被明确分配。相關人員得到軟件配置管理方面的培訓。

技術部門經理和具體項目主管應該明确他們在相關項目中所擔負的軟件配置管理方面的責任。

軟件配置管理工作應該享有足夠的資金支持,這需要在客戶,技術部門經理和具體項目主管之間協商。

軟件配置管理應該實施于如下産品:對外交付的軟件産品,以及那些被選定的在項目中使用的支持類工具等。

軟件配置的整體性在整個項目生命周期中得到控制。

軟件質量保證人員應該定期審核各類軟件基準以及軟件配置管理工作。

使軟件基準的狀态和内容能夠及時通知給相關組别和個人。

工具

常用的軟件配置管理工具主要分為三個級别:

Rational ClearCase,CA CCC/Havest

Merant PVCS

Microsoft VSS,CVS

角色職責

對于任何一個管理流程來說,保證該流程正常運轉的前提條件就是要有明确的角色、職責和權限的定義。特别是在引入了軟件配置管理的工具之後,比較理想的狀态就是:組織内的所有人員按照不同的角色的要求、根據系統賦予的權限來執行相應的動作。因此,在本文所介紹的這個軟件配置管理過程中主要涉及下列的角色和分工:

項目經理(Project Manager,PM):

項目經理是整個軟件研發活動的負責人,他根據軟件配置控制委員會的建議批準配置管理的各項活動并控制它們的進程。其具體職責為以下幾項:

制定和修改項目的組織結構和配置管理策略;批準、發布配置管理計劃;決定項目起始基線和開發裡程碑;接受并審閱配置控制委員會的報告。

配置控制委員會(Configuration Control Board,CCB):

負責指導和控制配置管理的各項具體活動的進行,為項目經理的決策提供建議。其具體職責為以下幾項:

定制開發子系統;定制訪問控制;制定常用策略;建立、更改基線的設置,審核變更申請;根據配置管理員的報告決定相應的對策。

配置管理員(Configuration Management Officer,CMO):

根據配置管理計劃執行各項管理任務,定期向CCB提交報告,并列席CCB的例會。其具體職責為以下幾項:

軟件配置管理工具的日常管理與維護;提交配置管理計劃;各配置項的管理與維護;執行版本控制和變更控制方案;完成配置審計并提交報告;對開發人員進行相關的培訓;識别軟件開發過程中存在的問題并拟就解決方案。

系統集成員(System Integration Officer,SIO):

系統集成員負責生成和管理項目的内部和外部發布版本,其具體職責為以下幾項:

集成修改;構建系統;完成對版本的日常維護;建立外部發布版本。

開發人員(Developer,DEV):

開發人員的職責就是根據組織内确定的軟件配置管理計劃和相關規定,按照軟件配置管理工具的使用模型來完成開發任務。

過程描述

一個軟件研發項目一般可以劃分為三個階段:計劃階段、開發階段和維護階段。然而從軟件配置管理的角度來看,後兩個階段所涉及的活動是一緻,所以就把它們合二為一,成為“項目開發和維護”階段。

項目計劃階段

一個項目設立之初PM首先需要制定整個項目的計劃,它是項目研發工作的基礎。在有了總體研發計劃之後,軟件配置管理的活動就可以展開了,因為如果不在項目開始之初制定軟件配置管理計劃,那麼軟件配置管理的許多關鍵活動就無法及時有效的進行,而它的直接後果就是造成了項目開發狀況的混亂并注定軟件配置管理活動成為一種“救火”的行為。所以及時制定一份軟件配置管理計劃在一定程度上是項目成功的重要保證。

在軟件配置管理計劃的制定過程中,它的主要流程應該是這樣的:

CCB根據項目的開發計劃确定各個裡程碑和開發策略;

CMO根據CCB的規劃,制定詳細的配置管理計劃,交CCB審核;

CCB通過配置管理計劃後交項目經理批準,發布實施。

項目開發維護階段

這一階段時項目研發的主要階段。在這一階段中,軟件配置管理活動主要分為三個層面:(1)主要由CMO完成的管理和維護工作;(2)由SIO和DEV具體執行軟件配置管理策略;(3)變更流程。這三個層面是彼此之間既獨立又互相聯系的有機的整體。

在這個軟件配置管理過程中,它的核心流程應該是這樣的:(1)CCB設定研發活動的初始基線;(2)CMO根據軟件配置管理規劃設立配置庫和工作空間,為執行軟件配置管理就阿做好準備;(3)開發人員按照統一的軟件配置管理策略,根據獲得的授權的資源進行項目的研發工作;(4)SIO按照項目的進度集成組内開發人員的工作成果,并構建系統,推進版本的演進;(5)CCB根據項目的進展情況,審核各種變更請求,并适時的劃定新的基線,保證開發和維護工作有序的進行。

這個流程就是如此循環往複,直到項目的結束。

當然,在上述的核心過程之外,還涉及其他一些相關的活動和操作流程,下面按不同的角色分工予以列出:

各開發人員按照項目經理發布的開發策略或模型進行工作;

SIO負責将各分項目的工作成果歸并至集成分支,供測試或發布;

SIO可向CCB提出設立基線的要求,經批準後由CMO執行;

CMO定期向項目經理和CCB提交審計報告,并在CCB例會中報告項目在軟件過程中可能存在的問題和改進方案;

在基線生效後,一切對基線和基線之前的開發成果的變更必須經CCB的批準;

CCB定期舉行例會,根據成員所掌握的情況、CMO的報告和開發人員的請求,對配置管理計劃作出修改,并向項目經理負責。

關鍵活動

配置項識别

Pressman對于配置項(Software Configuration Item,SCI)識别給出了一個比較簡單的定義:“軟件過程的輸出信息可以分為三個主要類别:(1)計算機程序(源代碼和可執行程序),(2)描述計算機程序的文檔(針對技術開發者和用戶),以及(3)數據(包含在程序内部或外部)。這些項包含了所有在軟件過程中産生的信息,總稱為軟件配置項。”

由此可見,配置項的識别是配置管理活動的基礎,也是制定配置管理計劃的重要内容。

軟件配置項分類軟件的開發過程是一個不斷變化着的過程,為了在不嚴重阻礙合理變化的情況下來控制變化,軟件配置管理引入了“基線(Base Line)”這一概念。IEEE對基線的定義是這樣的:“已經正式通過複審核批準的某規約或産品,它因此可作為進一步開發的基礎,并且隻能通過正式的變化控制過程改變。”

所以,根據這個定義,我們在軟件的開發流程中把所有需加以控制的配置項分為基線配置項和非基線配置項兩類。

配置項的标識和控制

所有配置項都都應按照相關規定統一編号,按照相應的模闆生成,并在文檔中的規定章節(部分)記錄對象的标識信息。在引入軟件配置管理工具進行管理後,這些配置項都應以一定的目錄結構保存在配置庫中。

所有配置項的操作權限應由CMO嚴格管理,基本原則是:基線配置項向軟件開發人員開放讀取得權限;非基線配置項向PM、CCB及相關人員開放。

工作空間管理

在引入了軟件配置管理工具之後,所有開發人員都會被要求把工作成果存放到由軟件配置管理工具所管理的配置庫中去,或是直接工作在軟件配置管理工具提供的環境之下。所以為了讓每個開發人員和各個開發團隊能更好的分工合作,同時又互不幹擾,對工作空間的管理和維護也成為了軟件配置管理的一個重要的活動。

一般來說,比較理想的情況是把整個配置庫視為一個統一的工作空間,然後再根據需要把它劃分為個人(私有)、團隊(集成)和全組(公共)這三類工作空間(分支),從而更好的支持将來可能出現的并行開發的需求。

每個開發人員按照任務的要求,在不同的開發階段,工作在不同的工作空間上。當然,由于選用的軟件配置管理工具的不同,在對于工作空間的配置和維護的實現上有比較大的差異,但對于CMO來說,這些工作是他的重要職責,他必須根據各開發階段的實際情況來配置工作空間并定制相應的版本選取規則,來保證開發活動的正常運作。在變更發生時,應及時做好基線的推進。

版本控制

版本控制是軟件配置管理的核心功能。所有置于配置庫中的元素都應自動予以版本的标識,并保證版本命名的唯一性。版本在生成過程中,自動依照設定的使用模型自動分支、演進。除了系統自動記錄的版本信息以外,為了配合軟件開發流程的各個階段,我們還需要定義、收集一些元數據(Metadata)來記錄版本的輔助信息和規範開發流程,并為今後對軟件過程的度量做好準備。當然如果選用的工具支持的話,這些輔助數據将能直接統計出過程數據,從而方便我們軟件過程改進(Software Process Improvement,SPI)活動的進行。

對于配置庫中的各個基線控制項,應該根據其基線的位置和狀态來設置相應的訪問權限。一般來說,對于基線版本之前的各個版本都應處于被鎖定的狀态,如需要對它們進行變更,則應按照變更控制的流程來進行操作。

變更控制

在對SCI的描述中,我們引入了基線的概念。從IEEE對于基線的定義中我們可以發現,基線是和變更控制緊密相連的。也就是說在對各個SCI做出了識别,并且利用工具對它們進行了版本管理之後,如何保證它們在複雜多變得開發過程中真正的處于受控的狀态,并在任何情況下都能迅速的恢複到任一曆史狀态就成為了軟件配置管理的另一重要任務。因此,變更控制就是通過結合人的規程和自動化工具,以提供一個變化控制的機制。

變更管理的一般流程是:

A) (獲得)提出變更請求;

B) 由CCB審核并決定是否批準;

C) (被接受)修改請求分配人員為,提取SCI,進行修改;

D) 複審變化;

E) 提交修改後的SCI;

F) 建立測試基線并測試;

G) 重建軟件的适當版本;

H) 複審(審計)所有SCI的變化;

I) 發布新版本。

在這樣的流程中,CMO通過軟件配置管理工具來進行訪問控制和同步控制,而這兩種控制則是建立在前文所描述的版本控制和分支策略的基礎上的。

狀态報告

配置狀态報告就是根據配置項操作數據庫中的記錄來向管理者報告軟件開發活動的進展情況。這樣的報告應該是定期進行,并盡量通過CASE工具自動生成,用數據庫中的客觀數據來真實的反映各配置項的情況。

配置狀态報告應根據報告應着重反映當前基線配置項的狀态,以作為對開發進度報告的參照。同時也能從中根據開發人員對配置項的操作記錄來對開發團隊的工作關系作一定的分析。

配置狀态報告應該包括下列主要内容:

A) 配置庫結構和相關說明;

B) 開發起始基線的構成;

C) 當前基線位置及狀态;

D) 各基線配置項集成分支的情況;

E) 各私有開發分支類型的分布情況;

F) 關鍵元素的版本演進記錄;

G) 其它應予報告的事項。

配置審計

配置審計的主要作用是作為變更控制的補充手段,來确保某一變更需求已被切實實現。在某些情況下,它被作為正式的技術複審的一部分,但當軟件配置管理是一個正式的活動時,該活動由SQA人員單獨執行。

總之,軟件配置管理的對象是軟件研發活動中的全部開發資産。所有這一切都應作為配置項納入管理計劃統一進行管理,從而能夠保證及時的對所有軟件開發資源進行維護和集成。因此,軟件配置管理的主要任務也就歸結為以下幾條:(1)制定項目的配置計劃;(2)對配置項進行标識;(3)對配置項進行版本控制;(4)對配置項進行變更控制;(5)定期進行配置審計;(6)向相關人員報告配置的狀态。

配置管理收益

國内很多軟件企業已經逐漸認識到配置管理的重要性,都希望通過實施配置管理來提高軟件開發管理的水平,增強企業自身的競争力,應對市場的壓力。

具體而言,用戶可以在資金、管理水平和保護知識财富等方面得到切實收益。

節約用戶資金

Hansky配置管理系統的總體實施成本低;對硬件系統性能的要求低,可以跨平台使用,節約了用戶的投資;安裝簡單,易于維護,無需專職的系統管理員;功能簡潔、實用,易于學習和掌握,可以有效縮短配置管理系統投入實際使用的周期;良好的擴展性和靈活的License管理方式,以及組件式的解決方案,使得我們的配置管理系統既支持小組模式的用戶,也能夠支持大規模團隊的協同開發工作,并且能夠方便地進行擴展,用戶可以根據實際需要,靈活的配置,大大降低了降低初期投入的資金;具有前瞻性,保護用戶的投資。Hansky公司的軟件配置管理産品采用最新的技術(如純TCP/IP技術、J2EE技術、MS .NET的開發環境等)和全新的應用模式(如三層結構、B/S應用結構等),确保系統在較長的時間内不會落後于同類産品或不需要技術上的更新;自帶存儲庫增量備份/恢複功能,節約用戶在備份方面的支出。

縮短用戶的産品開發周期

利用Hansky的Firefly系統對開發資源進行版本管理和跟蹤,可以建立公司級的代碼知識庫,保存開發過程中的所有曆史版本,這樣大大提高了代碼的複用率,還便于同時維護多個版本和進行新版本的開發,最大限度地共享代碼。利用Butterfly組建開發團體之間的問題跟蹤及消息通訊機制,通過與電子郵件系統的結合大大增強了開發團體之間的溝通能力,通過豐富的報表功能可對發現的問題進行整理、以報表方式分類報出,作為開發的指導。通過使用Hansky的配置管理套件可以提高開發效率和産品質量,避免了代碼覆蓋、溝通不夠、開發無序的混亂局面,大大縮短了産品的開發周期。

降低産品的部署費用

使用Hansky的軟件配置管理解決方案後,用戶可以在Hansky技術專家的幫助下建立規範的配置管理流程,所有的軟件産品将得到統一有效的管理。借助Firefly和Butterfly,工程人員可以通過訪問服務器直接獲取所需的最新版本,查找公司的知識庫,提交變更請求,收集用戶的反饋意見。開發人員無需到現場即可再現用戶環境,集中解決問題,發布補丁。這樣可以同時響應多個地點的項目,防止開發人員分配到各個項目點、力量分散、人員不夠的弊端,同時節約大量的旅差費用。

提高軟件開發管理的水平

(1) 改進用戶的開發工作模式

使用Hansky的配置管理解決方案,可以有效地改進用戶的軟件開發模式和過程,提高企業軟件能力成熟度的級别。

借助Firefly和Butterfly,用戶可以:

有效的管理工作空間,各個成員的具有獨立的工作空間,并能記錄其變更集和整個生命周期中的完整變更曆史;

簡便建立分支,支持分支之間的比較與合并,歸并,管理基線;

支持并行開發模式,提高開發效率;

支持異地開發,Firefly通過自動或手動同步不同開發地點的的存儲庫,為地理分布的開發團隊提供很好的支持;

集成變更請求管理與項目生存周期中的變更記錄與追蹤,優化測試流程;

完善的發布管理,可以方便的回溯任意版本,為不同的用戶定制應用程序的版本,促進系統的快速部署,提供發布版本内容的審計能力;

支持變更集和原子事務,确保變更的一緻性;

支持離線的版本管理,幫助用戶記錄項目證明周期内的完整曆史;

内置Defect、RFE、Task(問題、建議、任務)工作流,符合正規軟件公司的軟件開發流程。科學的工作流系統可以使公司人員工作起來得心應手,有條不紊,從而大大提高工作效率。

(2) 加強項目管理能力

通過浏覽器,項目負責人可以方便地查看項目進展情況以及員工工作情況;

利用Web界面即可實現代碼複查和項目狀态複查;

豐富的圖表、報告功能,可以自動生成變更統計報告、配置審計報告,支持過程管理與進度分析,能夠幫助管理者進行決策。

(3) 量化工作量考核

傳統的開發管理中,工作量一直是難以估量的指标。靠開發人員自己把握,随意性過大;靠管理人員把握,主觀性又太強。采用Firefly和Butterfly管理後,系統能夠客觀的記錄員工的工作内容和質量,可以作為工作量的衡量指标。

(4) 規範測試流程

Butterfly和Firefly集成後,可以有效地跟蹤和處理軟件的變更,完整地記錄測試人員的工作内容,測試有了實實在在的工作,測試人員根據修改描述細節對每一天的工作做具體的測試。對測試人員也具有相應的可考核性,這樣環環相扣,有效地增強了對測試的管理。

(5) 加強協調與溝通,增加團隊競争力

使用Firefly保存公司的所有知識财富、利用Butterfly的FAQ、檢索以及Email自動通知功能,有效地加強了項目成員之間的溝通,做到有問題及時發現、及時修改、及時通知,卻又不會額外增加很多的工作量,大大提高了開發團隊的協同工作效率。

保護企業的知識财富

從整個企業的發展戰略來說,如何在技術日新月異、人員流動頻繁的情況下,本公司的知識庫及經驗庫,把個人的知識及經驗轉變為公司的知識和經驗,這對于提高工作效率、縮短産品周期以及提高公司的競争力都具有至關重要的作用。采用科學的配置管理思想,輔之以先進的配置管理工具,可以幫助用戶在内部建立完善的知識管理體系。

(1) 代碼對象庫

軟件代碼是軟件開發人員腦力勞動的結晶,也是軟件公司的寶貴财富,長期開發過程中形成的各種代碼對象就像一個個零件一樣,是快速生成系統的組成部分。然而長期以來的一個事實是:一旦某個開發人員離開工作崗位,其原來所編寫的代碼便基本成為垃圾,無人過問;或者由于文檔不全,無從考究。究其原因,就是沒有專門對每個開發人員的代碼、組件和文檔進行科學的管理,将其應用範圍擴大到公司一級,進行規範化,加以說明和普及。Firefly為代碼管理提供了一個平台和倉庫,有利于建立公司級的代碼對象庫,增進代碼複用,提高開發重用率和軟件質量。

(2) 業務及經驗庫

通過Firefly和Butterfly,可自動生成完整的開發日志及問題集合,用文字記錄開發的整個過程,不會因某人的流動而消失,有利于公司積累業務經驗,無論對軟件維護或版本升級,都具有重要的指導作用。此外,利用Butterfly内建的FAQ模塊,可以建立檢索方便的經驗庫,傳播和共享集體的智慧。

(3) 安全性和可靠性

由于配置管理系統集中存儲了企業的重要知識财富,因此對其安全性和可靠性有極高的要求。Firefly可以對所有存儲的文件進行冗餘校驗,使用MD5作為文件的校驗和,并提供備份和恢複工具,确保了數據的可靠性。同時Firefly支持用戶身份驗證和訪問控制,支持用戶組,便于權限設置。訪問控制可以針對分支、目錄,甚至單個文件設置,采用類似Windows NTFS的權限管理方式,既靈活又安全。這些措施使得企業的知識财富得到了安全可靠的存儲和保護。

另外,由于Hansky的産品采用了三層結構設計,其存儲庫完全不依賴于網絡文件體統,無需共享存儲目錄,能夠有效防止病毒攻擊所導緻的存儲庫癱瘓或損壞,同時杜絕網絡非法訪問。

相關詞條

相關搜索

其它詞條