軟體產品庫管理在軍品開發中的探索和實踐論文

軟體產品庫管理在軍品開發中的探索和實踐論文

  軟體“三庫”管理是軟體配置管理工作的重要內容,產品庫作為“三庫”中的重要部分,是檔案部門在參與軍品開發管理的重要環節。本文以筆者所在的軍工科研所為背景,結合實際工作,闡述了軍用軟體產品庫在軟體生命週期中扮演的角色、做好軟體產品庫管理的意義,以及開展軍用軟體產品庫管理的實踐方法。隨著科學技術的迅猛發展,軟體作為特殊的商品,已成為制約武器裝備發展的核心技術之一。軍用軟體的特殊性決定了它必須具有嚴格的保密性、可靠性、有效性,因此必須從軟體工程化管理的理念出發,規範軍用軟體開發全過程管理。在實施軟體工程化的過程中,配置管理是關鍵過程域之一,也是軟體質量保證的重中之重。配置管理過程中軟體“三庫”的建立是關鍵環節,是軟體版本受控的前提和基礎,也是確保軟體版本可追溯的必不可少的前提條件。

  一、認識軟體產品庫

  (一)“三庫”的概念和聯絡

  在軟體實施開發過程中,把不同時期儲存配置的庫劃分為開發庫、受控庫和產品庫。開發庫:開發庫用於軟體的設計、編碼、除錯和內部測試,由專案組管理,專案CM維護,主要放置專案組正在開發但還沒被批准的工作產品。受控庫:受控庫存放評審透過並完成評審缺陷修改後的工作產品,由專案CM管理和維護。產品庫:產品庫用於存放驗收通過後的產品,用於交付、生產等,由檔案管理員控制。

  軟體開發組日常的工作在開發庫中開展,當工作達到里程碑時,再遷移到受控庫,在受控庫中經過更嚴格的測試後,再上升到產品庫,最後釋出。配置項在三庫之間遷移,一級比一級的控制更加嚴格。透過許可權和流程的控制來實現配置項在不同庫的訪問。

  (二)產品庫管理的必要性和重要性

  軟體的產品庫相當於工廠的成品庫,它存放的是最終提交給使用者的產品。如同其他科技檔案在軍品科研、生產中的扮演的角色一樣,產品庫的軟體產品在武器裝備中具有舉重若輕的地位。從軟體產品庫出去的軟體必須是唯一的、現行有效的,如果用於生產的裝置安裝的是不受控的非法的軟體,那麼帶來的後果不堪設想。

  首先,軟體是一種數字產品,其複製成本極低,幾乎為零,複製過程中不會降低軟體本事的質量,與原始版本基本沒有差別,而軟體版權保護的關鍵技術,如軟體水印技術、加密技術和混淆技術,還不是很完善,並不能給軟體真正意義上的安全,這就給盜版提供了機會,不同於傳統意義的盜版光碟,這裡說的盜版活動是指生產除錯人員為了省事而將私自留存的軟體自行修改、刻錄的行為,如果此類不受控制的軟體用於生產,會造成軟體故障無法追溯和查詢的困境。

  其次,軟體的複用性和移用性程度高,設計師透過區域網進行軟體的共享和傳遞,一方面造成軟體不受控,另一方面,由於安全漏洞的原因,往往造成軟體病毒的傳播,這對公共除錯網和武器裝備造成了巨大的危害和損失。

  最後,軟體與硬體不同,在使用過程中沒有磨損、沒有消耗,但軟體是有生命的,在軟體的整個生命週期中,需求專人跟蹤、管理。

  因此,開展科學合理的軟體產品庫管理必不可少。

  二、軟體產品庫管理實踐

  (一)加強技術支援,實現最佳化配置

  為軟體開發和管理配置管理工具,因為配置管理是以軟體在整個生命週期內建立和維護產品的完整性為目的的,主要用來標識軟體配置項,對配置項的修改加以系統控制,建立和維護產品基線庫、瞭解產品基線庫的狀態,如果缺乏良好的配置管理工具,要順利進行配置管理工作十分困難。我所應用的'是QONE平臺,配置項釋出、變更都會透過平臺通知利益相關方,專案組成員能透過平臺瞭解和掌握軟體產品的狀態。

  在軟體產品庫的管理過程中,除了硬體工具外,還必須有一套適合自身特點的配置管理程式和制度,並配備完整的三庫管理人員。在GJB5000A標準的指導下,結合自身管理特點,編制適合我所的相關規範檔案,如《配置項和基線標識規範》《三庫管理規範》《變更控制規程》《軟體檔案管理制度》等。我所在實施軟體工程化管理的過程中,成立了軟體配置管理組(SCM組),明確檔案人員作為SCM中的軟體產品庫管理員。軟體產品庫管理員是本單位最高級別的管理員,其授權也高於開發庫和受控庫,產品庫管理員根據軟體規章制度和規範檔案,結合檔案管理要求,保證產品庫軟體配置項的歸屬明確、分類合理、標識明確,確保在實現軟體配置項嚴格控制的同時方便科研人員的利用。

  (二)加強產品庫的科學管理,確保軟體產品的有效控制

  為保證產品庫內軟體的穩定可靠。產品庫內的軟體在未經審批,不允許對其進行任何刪除和更改。產品庫中的軟體都是已寫入了不可擦寫的光碟中進行物理歸檔的,產品庫管理員要對其進行一致性、完整性、有效性等一系列檢查,具體操作是,根據《產品庫物理稽核檢查單》,對比光碟中的配置項和QONE平臺上的軟體配置管理計劃,以及歸檔入庫單,檢查配置項的命名、標識、版本是否符合相關要求。完成檢查後還要進行資訊錄入和光碟備份,然後釋出產品庫資訊並通知利益相關方。

  軟體產品庫的重要性在於它是直接用於生產的,因此必須嚴格執行出庫申請,不能擅自使用產品庫以外的軟體用於生產和交付。當由於產品交付、生產的需要時,由專案CM申請產品出庫,填寫《產品庫出庫申請單》提交部門主管和所級CCB審批。檔案管理員根據審批透過的《產品庫出庫申請單》辦理產品出庫。

  軟體產品的更改控制和版本管理是產品庫管理的重要工作之一。產品庫內的軟體一般是不允許更改的,若確須更改,須經使用者同意或在使用者提出更改要求並經軍方領導同意後。由產品庫管理員提取軟體到受控庫,按照受控庫中檔案更改的相關要求。在履行嚴格的審批手續後,方能進行更改。更改後的檔案,經專家評審確認滿足規定的功能和效能要求,並經使用者同意和批准後,再次存入軟體產品庫,從而完成對產品庫中軟體產品的有效更改。具體做法是:當軟體配置項需要更改時,由問題提出者填寫《軟體問題報告單》,《軟體問題報告單》被批准(同意更改)後,由軟體開發人員根據《軟體問題報告單》填寫《軟體產品出庫單》,配置管理員“揀出”須更改的軟體,關閉配置項的發行,並向軟體開發人員釋出出庫通知。當更改和測試完成後,由軟體開發人員填寫《軟體更改報告》,根據評審後透過的《軟體更改報告》,軟體配置管理員將更改後的程式及相關文件重新“揀入”產品庫,配置項版本升級成新的檔案版本。

  三、結語

  在軍工企業中,科學有效的產品庫管理是提高和保證軟體產品質量的有力保障。軟體產品庫管理是一項系統工程,透過將檔案管理和軟體配置管理相結合,在軟體開發全週期過程中對軟體產品狀態全過程進行跟蹤和管理,從而最終保證電子裝備系統的質量。

最近訪問