軟件配置管理基本術語 軟件測試
軟件配置管理(Configuration Management)是指用于控制系統一系列變化的學科,通過一系列技術、方法和手段來維護產品的歷史、鑒別和定位產品獨有的版本,并在產品的開發和發布階段控制變化,通過有序管理和減少重復性工作,保證生產的質量和效率。不同于配置管理,軟件配置管理以計算機為載體(不論工具和產品),不光維護產品的狀態,歷史紀錄,同樣還支持存儲、恢復和產品制造。軟件配置管理是軟件工程中涉及概念較多的一項內容,為了便于說明,下面給出一些軟件配置管理相關術語(主要是軟件配置管理計劃規范GB/T 12505-90)的定義和說明。
。1) 項目委托單位(Project Entrust Organization)
項目委托單位指為產品開發提供資金,通常也是(但有時也未必確定產品需求的單位或個人。
。2)項目承辦單位(Project Undertaking Organization)
項目承辦單位指為項目委托單位開發、購置或選用軟件產品的單位或個人。
。3) 軟件開發單位(Software Development Organization)
軟件開發單位是指直接或間接受項目委托而直接負責開發軟件的單位或個人。
。4)用戶(User)
用戶指實際使用軟件來完成某項計算、控制或數據處理等任務的單位或個人。
。5)軟件(Software)
軟件指計算機程序及其有關的數據和文檔,也包括固化了的程序。
IEEE 給出的定義為:計算機程序、方法、規則、相關的文檔資料以及在計算機上運行時所必須的數據。
由此可見,軟件已不再只是一個程序和一本使用手冊,而是包括大量的程序、文檔和數據。
。6)軟件對象(Software Object)
軟件對象是在項目進展過程中產生的、可由軟件配置管理加以控制的任何實體。每個軟件對象都具有一個唯一的標識符、一個包含實際信息的對象實體、一組用于描述其自身特性的屬性與關系,以及用于與其他對象進行關系操作與消息傳遞的機制。軟件對象按其生成方式可分為源對象(Source Object)與派生對象(Derived Object),按其內容結構形式可分為原子對象(Atomic Object)與復合對象(Derived Object),按其內部結構形式可分為原子對象(Atomic Object)與復合對象(composite Object),按照軟件開發的不同時刻(狀態)可分為可變對象(Mutable Object)與不可變對象(Immutable Object).
。7)配置(Configuration)
配置指在配置管理中,軟件或硬件所具有的(即在技術文檔中所陳述的或產品所實現的)那些功能特性和物理特性。
。8)重要軟件(Critical Software)
重要軟件指其故障會影響到人身安全,會導致重大經濟損失或社會損失的軟件。
。9)軟件生存周期(Software Life Cycle)
軟件生存周期指從對軟件系統提出應用需求開始,經過開發,產生出一個滿足需求的計算機軟件系統,多面手投入運行,直至該軟件系統“退役”為止。其間經歷系統分析與軟件定義、軟件開發以及系統的運行與維護等3 個階段。其中軟件開發階段一般又分成需求分析、概要設計、詳細設計、編碼與單元測試、組裝與集成測試、系統測試以及安裝與驗收等6個階段。
。10)軟件開發庫(Software Development Library)
軟件開發庫指在軟件生存周期的某一個階段期間,存放與該階段軟件開發工作有關的計算機可讀信息和人工可讀信息的庫。
。11)配置項(Configuration Item)
配置項指一個配置中的實體,它滿足一項最終使用功能,并能在給定的參考點上意象標識。在GB/T 11457-1995《軟件工程術語》中給出配置項另外一個定義:為了配置管理目的而作為一個單位來看待的硬件和/或軟件成分,滿足最終應用功能并被指明用于配置管理的硬件/軟件,或它們的集合體。軟件配置管理的對象是軟件配置項,它們是在軟件工程過程中產生的信息項。按照ISO9000-3 的規定,軟件配置可以是:
與合同、過程、計劃和產品有關的文檔和數據; 源代碼、目標代碼、和可執行代碼; 相關產品,包括軟件工具、庫內的可利用軟件、外購軟件及用戶提供的軟件! 〗M成上述信息的所有項目構成了一個軟件配置,而其中的每一項便于工作稱為一個軟件配置項,這是配置管理的基本單位。在軟件開發過程中,最早的軟件配置項是系統軟件規格說明書,隨著軟件開發過程的不斷深入,軟件配置項也迅速增加。
軟件配置項基本可劃分為兩種類別:
軟件基準——經過正式評審和認可的一組軟件配置項(文檔和其他軟件產品),它們作為下一步的軟件開發工作的基礎,并且只有通過正式的變更控制堆積才能被更改。例如:設計報告是編碼工作的基礎,設計報告可作為軟件基準。 非基準配置項——沒有正式評審認可的一組軟件配置項! ∵@可以從下面角度劃分軟件配置項。
一個軟件系統劃分為幾個配置項要由項目經理所確定的開發策略決定。讀者可以參考NASA 給出的軟件配置項劃分原則( 《NASA Software Configuration ManagementGuidebooks》,1995),每個軟件或某集合符合如下條件之一,可視為一個軟件配置項:
該軟件集合是獨立設計、實現和測試的; 該軟件集合對總體性能是關鍵的,或存在高風險的,或關系到系統安全性; 該軟件集合極為復雜,涉及高新技術,或有嚴格的性能要求; 該軟件集合與其他現有軟件項目或由其他機構提供的軟件之間有直接接口; 預計該軟件集合在成為可運行軟件之后會有比常規更多的修改; 該軟件集合包括了某個特定范圍的所有功能,如應用軟件、操作系統等; 該軟件集合安裝在與系統其他部分不同的計算機平臺上; 該軟件集合被設計成可重復使用的! ∠旅娼榻B軟件配置項的命名/編號
軟件的每個組件/部件的標識必須唯一,以便于用該標識符來跟蹤和報告軟件配置項的狀態。通常,對每一個軟件配置項要賦予一個標識名稱或符號,軟件配置項的各部分又在該標識符下附上描述符。NASA-CM-GDBK 給出的一個標識例子是:組成航天飛機飛行軟件的軟件配置項可標識為FS(Flight Software for a Spacecraft);而該飛行軟件的組成部分,例如飛行執行程序可標識為FS_EX,表示它是FS 軟件配置項的第二層次組件;該執行程序的各元件(子程序)可編號為FS_EX_001、FS_EX_002 等。
因此,可以根據“型號代號_分系統/設備配置代號_所處研制階段代號_軟件產品分類編號_配置項編號”原則來對各軟件配置項及其組件、子程序及相關描述文檔進行命名、編號。在軟件的事個生存周期中,一般包括制定計劃,分析評估、設計,測試,運行/維護等狀態。相應地可以把軟件配置管理分為設計態,測試態,受控態和運行態4 種狀態,其中受控態即指軟件配置管理項處于配置管理狀態。
。12) 軟件受控庫(Software controlled Library)
軟件受控庫指在軟件生存周期的某一個階段結束時,存放作為階段產品而釋放的,與軟件開發工作有關的計算機可讀信息和人工可讀信息的庫。軟件配置管理就是對軟件受控庫中的各軟件項進行管理,因此軟件受控庫也叫做軟件配置管理庫。
。13)軟件產品庫存(Software Product Library)
軟件產品庫指在軟件生存周期的系統測試階段結束后,存放最終產品、交付給用戶運行或在現場安裝的軟件的庫。軟件產品庫可在分系統、系統層上分別設立并維護。如果軟件產品庫中的產品需要更改則應將些產品在產品庫中加鎖,撮軟件受控庫中相應的軟件配置項,履行受控庫中的更改控制手續,直至更改完成并確認其能完成指定功能和性能后,方可再次存入軟件產品庫。
。14)配置管理(Configuration Management)
配置管理是對以下各項在運用技術上和行政上的管理和監視的一門學科。對一個配置項的功能特性和物理特性進行標識并寫成文檔;對這些特性的更改進行控制;對更改處理過程和實施狀態進行記錄和報告;以及對是否符合規定需求進行驗證。
。15)接口控制(Interface Control)
接口控制指描述由一個或多個部門提供的,兩個或兩個以上的配置項接口的所有功能特性和物理特性的過程。在這些功能特性和物理特性實現之前,要確保對它們所做的修改已經評審和批準。
。16)版本(Version)
版本是某一配置項的已標識了的實例(Instance)。也可以說,不可變的源對象經質量檢查合格后所形成的新的相對穩定的格局(配置)稱為軟件版本。每個軟件對象可具有一人版本組,它們彼此間具有特定的關系,這種關系用以描述其演變情況,通常軟件對象的版本組呈樹形結構。
文章來源于領測軟件測試網 http://www.kjueaiud.com/