軍用軟件工程標準研究及意義分析
一、軟件工程標準產(chǎn)生的背景
眾所周知,計算機(硬件)一問世,軟件即如影隨形而來,井進而發(fā)展成一門產(chǎn)業(yè)--軟件開發(fā)。早在60年代,軟件開發(fā)通常還只是編程者個人行為,軟件開發(fā)者和使用者往往是同一個(或同一小組的)人。這種個體化的特性使軟件設計成為人頭腦中的一個隱含過程,除了程序清單之外,沒有其他文檔保存下來。
從60年代中期到70年代中期,隨著計算機應用的日益普及及軟件需求量的急劇增加,出現(xiàn)了以小組或小集體為單位的"軟件作坊",他們開發(fā)的軟件主要供本單位使用。這種"軟件作坊"基本上仍然沿用早期形成的"個體式"的軟件開發(fā)方法。但是,由于用戶不斷提出新需求,所以程序也必須不斷做出相應修改;隨著硬件或操作系統(tǒng)的頻繁更新,又要修改程序以適應新的環(huán)境;程序運行時發(fā)現(xiàn)錯誤也需設法改正,所以,不僅"作坊"式的開發(fā)方法不能滿足客觀需求,而且人們發(fā)現(xiàn)軟件維護工作以令人吃驚的比例在耗費著資源。更嚴重的是,程序設計的個體化特性使軟件最終難于甚至不能維護,于是出現(xiàn)了"軟件危機"。軟件危機主要體現(xiàn)在:
a. 不能正確估計軟件開發(fā)的成本和進度;
b. 對"已完成的"軟件系統(tǒng),用戶經(jīng)常不滿意;
c. 軟件質量靠不??;
d. 軟件常常不能維護;
e. 沒有建立適當?shù)奈臋n資料記錄軟件開發(fā)過程中的信息及其變化;
f. 軟件費用占計算機系統(tǒng)總費用的比例逐年上升等等。
軟件危機的產(chǎn)生與軟件開發(fā)和維護時所使用的方法有關,但根本的還是軟件本身的特點使然。軟件是計算機系統(tǒng)中的邏輯部件而不是物理部件,在計算機上運行之前,軟件質量較難評價,因此,管理和控制軟件開發(fā)過程相當困難。軟件的另一個顯著特點是規(guī)模龐大,復雜程度高,如美國穿梭號飛船的軟件含4000萬行代碼,相當于4000人年的編程工作量,如何保證每個人完成的工作合在一起構成一個高質量的大型軟件顯然是一個極端復雜的問題。再者,軟件維護常常意味著要修改原來的設計,這樣大型復雜的軟件的修改,其難度之大是不難想像的。
總之,解決軟件危機,僅靠技術措施是辦不到的,它更需要有先進的管理措施。60年代后期計算機科學家們就開始研究解決軟件危機的方法,并逐漸形成了計算機科學技術領域中的一門新興學科一一軟件工程學。軟件工程學是研究采用工程的概念、原理和方法進行軟件開發(fā)和維護的一門學科。它是軟件發(fā)展到一定階段的產(chǎn)物。軟件工程學的出現(xiàn)既有工程技術發(fā)展提供的客觀背景,也是軟件發(fā)展的必然。
軟件發(fā)展到軟件工程學時代,根本上擺脫了軟件"個體式"或"作坊式"的生產(chǎn)方法,人們更注重項目管理和采納形式化的標準和規(guī)范,并以各種生命周期模型來指導項目的開發(fā)進程。在此期間出現(xiàn)了CASE(計機算機輔助軟件工程)工具,并被廣泛用于輔助人們的分析和設計活動,并試圖通過創(chuàng)建軟件開發(fā)環(huán)境和軟件工廠等途徑來提高軟件生產(chǎn)率和軟件產(chǎn)品質量。
隨著軟件工程學的蓬勃發(fā)展,政府部門、軟件開發(fā)機構以及使用部門等都深切感到了在軟件工程領域內制定各種標準的迫切性,于是軟件工程標準應運而生。
二、軟件工程標準體系
軟件工程標準是對軟件開發(fā)、運行、維護和引退的方法和過程所作的統(tǒng)一規(guī)定。根據(jù)GB/T15538,軟件工程標準體系可分為4個部分:過程標準、產(chǎn)品標準、行業(yè)標準和記法標準。其中過程標準和產(chǎn)品標準是軟件工程標準的最基本也是最主要的組成部分,ISO/JTC1/SC7《軟件工程》及我國軍用軟件工程標準通常也只包括這兩部分內容。過程標準是用來規(guī)定軟件工程過程中(如開發(fā)、維護等)所進行的一系列活動或操作以及所使用的方法、工具和技術的標準,如GJB2786《武器系統(tǒng)軟件開發(fā)》、GB/T 14079《軟件維護指南》和GB/T 15532《計算機軟件單元測試》等都為軟件工程過程標準。
產(chǎn)品標準是用于規(guī)定軟件工程過程中,正式或非正式使用或產(chǎn)生的那些產(chǎn)品的特性(如完整性、可接受性)。軟件開發(fā)和維護活動的文檔化結果就是軟件產(chǎn)品。這類標準有GJB2255《軍用軟件產(chǎn)品》、GJB 438A《武器系統(tǒng)軟件開發(fā)文檔》、GJB 9385《計算機軟件需求說明編制指南》等。以下提供的表1"軟件工程標準分類表"既可幫助標準化人員管理和規(guī)劃軟件工程標準也可幫助廣大科研人員選用軟件工程標準。
標準類型 | ||||
相關推薦技術專區(qū) |
評論