官术网_书友最值得收藏!

1.5 軍用軟件工程的標準化

隨著軟件工程學科的發展,人們對軟件的認識逐漸深入。軟件工作的范圍從編寫程序,擴展到整個軟件生存周期。同時還有許多技術管理工作(如過程管理、產品管理、資源管理)及確認與驗證工作(如評審與審計、產品分析、測試等)常常是跨越軟件生存周期各個階段的專門工作,所有這些都應建立標準或規范。

1.5.1 軟件工程標準化的作用

軟件工程標準化的進程是同軟件工程化的發展水平相適應的。在 20 世紀60 年代,隨著計算機的進步,涌現了大量的程序設計語言,即使是同一種語言,由于在不同型號上實現時做了不同程度的修改,也會為軟件的移植造成很大的障礙。為了解決程序設計語言的不統一問題,人們制定了標準的程序設計語言,這便是軟件工程標準化的開始。在軟件工程化推動下,軟件工程標準化的范圍也從程序設計語言擴展到軟件的開發、軟件的維護直至軟件整個生存周期的技術和管理,軟件開發標準、軟件文檔標準、軟件質量保證標準、軟件驗證和確認標準、軟件生存周期過程標準等應運而生。

軟件工程標準化就是通過制定、貫徹并監督實施標準,規范軟件開發、運行、維護和引退全過程工作和產品,以提高軟件產品質量。其作用具體體現在以下幾點:

(1)通過開展軟件工程標準化,可以為軟件工程活動規定通用的框架和基本要求,有助于保證軟件工程活動的完整性、有效性,提高管理的透明度、可控性和有序性。

(2)通過開展軟件工程標準化,可以為軟件開發的各單位或人員規定共同的行為準則,有助于協調和統一軟硬件研制活動。

(3)通過開展軟件工程標準化,把選定的軟件工程方法變為具體規定,有助于克服由多種方法學并用所帶來的困難,保證軟件開發方法與硬件研制的方法相協調。

(4)通過開展軟件工程標準化,可以統一軟件產品可能具有的相同或相近的屬性并用以指導設計和開發,有利于提高軟件的重用率、互操作性、保障性和綜合集成能力。

(5)通過開展軟件工程標準化,可以規定檢驗軟件開發工作成果的共同依據,有助于軟件的評審、測試和驗收等。

總之,通過軟件工程標準化工作,可以大大提高軟件的可靠性、安全性、可維護性、生產率、可移植性,促進軟件的重用,從而有效保證產品質量、降低全生存周期費用、縮短開發周期及部署時間、提高綜合保障能力。

1.5.2 軟件工程標準

軟件工程標準的類型可以從多個角度來劃分。它可以包括過程標準(如方法、技術、度量等)、產品標準(如需求、設計、部件、描述、計劃、報告等)、專業標準(如職別、道德準則、認證、特許、課程等)及記法標準(如術語、表示法、語言等)。

根據軟件工程標準制定的機構和標準適用的范圍有所不同,軟件工程標準可分為5個級別,即國際標準、國家標準、行業標準、企業(機構)標準及項目(課題)標準。以下分別對5級標準的標識符及標準制定(或批準)的機構做簡要說明。

1.國際標準

國際標準是指由國際聯合機構制定和公布,提供各國參考的標準。國際標準化組織(International Standards Organization,ISO)有著廣泛的代表性和權威性,它所公布的標準也有較大影響。

20世紀60年代初,該機構建立了計算機與信息處理技術委員會(簡稱ISO/TC 97),專門負責與計算機有關的標準化工作。截至目前,國際標準化組織共制定38項國際標準。軟件工程標準框架,如圖1.7所示。

圖1.7 軟件工程標準框架

2.國家標準

國家標準是指由政府或國家級的機構制定或批準,適用于全國范圍的標準。我國標準化管理委員會是國家最高標準化機構,它所公布實施的標準簡稱為國標(GB)。比較常見的其他國家標準有:

(1)ANSI(American National Standards Institute)——美國國家標準。

(2)BS(British Standard)——英國國家標準。

(3)JIS(Japanese Industrial Standard)——日本工業標準。

3.行業標準

行業標準是指由行業機構、學術團體或國防機構制定,并適用于某個業務領域的標準。例如,美國電氣和電子工程師協會(Institute of Electrical and Electronics Engineers,IEEE)。近年該協會專門成立了軟件標準分技術委員會(SESS),積極開展了軟件標準化活動,取得了顯著成果,受到了軟件界的關注。IEEE通過的標準常常要報請ANSI審批,使其具有國家標準的性質。因此,IEEE公布的標準常冠有ANSI字頭,如ANSI/IEEE Str 828—1983《軟件配置管理計劃標準》。

GJB——中華人民共和國國家軍用標準。這是由中國人民解放軍原總裝備部或我國國防科學技術工業委員會批準,適合于國防部門和軍隊使用的標準。例如,2004年總裝備部發布實施的GJB 5235《軍用軟件配置管理》。

DOD-STD(Department of Defense-STanDards)——美國國防部標準。適用于美國國防部門。

近年來,我國許多行業和組織(如航天航空部、石油化學工業總公司等)開展了軟件標準化工作,制定和公布了一些適應于本行業工作需要的規范。這些規范大都參考了國際標準或國家標準,對各自行業所屬企業的軟件工程工作起到了有力的推動作用。

4.企業(機構)標準

由于軟件工程工作的需要,一些大型企業或公司,制定適用于本部門的規范。例如,美國IBM公司通用產品部1984年制定的《程序設計開發指南》,供該公司內部使用。

5.項目(課題)標準

由某一科研生產項目組織制定,且為該項任務專用的軟件工程規范,如計算機集成制造系統的軟件工程規范。

1.5.3 國外軟件工程標準化現狀

在軟件工程界,比較有影響的非政府標準有國際標準化組織(ISO)標準、IEEE(美國電氣和電子工程師協會);政府標準有美國軍用標準。另外,NASA(美國國家航空航天局)、ESA(歐洲航空局)等也建立了完善的軟件工程標準體系,在世界航空航天行業比較有影響。

ISO組織是一個非政府組織,其目的是促進標準化發展以推動國際貿易和技術轉變;其活動的最終目的是出版國際標準。ISO 遍及各個領域,ISO/IEC聯合技術委員會(JTC1)負責所有領域的信息技術標準,其中SC7“軟件工程和系統工程”負責軟件工程方面國際標準的制定。目前ISO標準代表當今軟件工程水平和發展方向,是各國標準制定所參照的主要對象。ISO軟件工程標準近幾年來發展十分迅速,每年都有多項標準推出,其中軟件過程方面的標準尤為突出。

IEEE 是一個經授權的標準團體,其成員包括用戶、銷售商和工程專業人員等。IEEE 標準由各技術委員會和標準協調委員會負責制定,每 5 年每項 IEEE 標準至少評審一次。目前 IEEE 計算機學會軟件工程標準委員會(SESG)制定并維護大約66項標準,IEEE標準代表著當前軟件工程的發展方向和水平,不少ISO標準是由IEEE標準提升的,而且IEEE標準是許多國家、行業標準制定時的主要參考對象。

美國國防部是世界上最大的軟件及享受軟件服務的消費者,歷來都十分重視軟件工程標準化工作,其軟件工程標準化起步最早,并代表著世界軟件工程化水平,對其他各國都有很大影響。從20世紀70年代起,美國國防部先后制定并確認了一系列軟件標準,通過標準實施等手段來保證武器裝備軟件的質量。美國陸軍早在1974年制定了MIL-STD-52779《軟件質量保證規范》,1977 年制定了 DOD-STD-7935《自動數據系統文檔編制標準》;空軍1979 年制定了 MIL-STD-483《系統、設備、軍需品和計算機程序的配置管理條例》;海軍1978年制定MIL-STD-1679《武器系統軟件開發》標準,其目的是規定軟件開發等方面的基本要求。

到了20世紀80年代,美國國防部為了減少武器系統軟件保障費用,改進各系統之間的通用性,不僅發布了一系列國防部指令和政策,而且還大力加強了軟件開發過程標準化等方面的工作,并對已有標準進行了修訂或整合,成為美國國防部標準。另外還組織制定了多個重大標準,如DOD-STD-2167;1985年《國防系統軟件開發》、DOD-STD-2168;1988年《軍用軟件質量保證規范》、DOD-STD-1703;到 20 世紀 80 年代末期,形成了以一個DOD-STD-2167A為代表的完備配套的軟件工程標準體系。

到了20世紀90年代,美國國家防務政策發生了重大調整,軍費大規模削減,投入軍用標準化的經費亦隨之大幅減少。1994 年 6 月美國當時的國防部長佩里發表政策備忘錄,決定對美國軍用標準進行改革,這場軍用標準改革是美國軍用標準發展史上最重要的一次全面改革,全面清理整頓原有軍用標準,消除“軍標不軍”現象,在這次清理整頓中,大部分軟件工程標準宣布作廢,同時提倡大力采用非政府標準來滿足武器裝備軟件采辦需要。

1.5.4 國內軟件工程標準化現狀

我國的軟件工程標準化起步于1984年。全國信息技術標準化技術委員會(其前身為全國計算機與信息處理標準化技術委員會)成立了軟件工程分技術委員會。目前已經制定了國家標準22項,主要是根據國際標準和IEEE標準而制定的。這些標準的制定對規范我國軟件產業、開發維護高質量的軟件產品、培養和提高軟件開發人員的開發水平發揮了重要作用。常用的國家標準化管理委員會批準的軟件工程國家標準如下。

GB/T 25000.10—2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE) 第10部分:系統與軟件質量模型》

GB/T 25000.1—2010《軟件工程 軟件產品質量要求與評價(SQuaRE) SQuaRE指南》

GB/T 8567—2006《計算機軟件文檔編制規范》

GB/T 9385—2008《計算機軟件需求規格說明規范》

GB/T 9386—2008《計算機軟件測試文檔編制規范》

GB/T 11457—2006《信息技術 軟件工程術語》

GB 13502—1992《信息處理 程序構造及其表示的約定》

GB/T 14085—1993《信息處理系統 計算機系統配置圖符號及約定》

GB/T 14394—2008《計算機軟件可靠性和可維護性管理》

GB/T 15532—2008《計算機軟件測試規范》

GB/T 15535—1995《信息處理 單命中判定表規范》

GB 1526—1989《信息處理 數據流程圖、程序流程圖、系統流程圖、程序網絡圖和系統資源圖的文件編制符號及約定》

GB/T 16680—2015《系統與軟件工程 用戶文檔的管理者要求》

GB/T 8566—2007《信息技術 軟件生存周期過程》

我國軍用軟件工程標準化工作始于 20 世紀80 年代后期,到目前僅30余年。經過不斷努力,軍用軟件工程標準體系已初具規模,軍用軟件工程標準重要性得到了重視,軟件的研制和測評工作逐步規范化和標準化,為軍用軟件質量的提高起了重大作用。

目前,我國已初步建立了軍用軟件工程標準體系。軟件工程標準主要是軟件開發、運行、維護和引退的方法及過程等方面的標準。軍用軟件工程標準體系主要由基礎標準、軟件工程環境標準、軟件過程標準、軟件產品標準組成,標準體系框架如表1.3所示。目前現行有效的軟件工程方面的主要國家軍用標準見附錄A。

表1.3 軍用軟件工程標準體系框架

續表

本章主要介紹了軟件工程的一些基本概念,包括軟件、軟件危機、軟件工程、軟件過程、軟件開發工具、軟件工程管理等,這些概念是軟件工程學的基礎。軟件工程是一門關于軟件開發與維護的工程學科,它涉及軟件生產的各個方面,能夠為經濟、高效地開發高質量的軟件產品提供最有效的支持。

在近年的研究中,軟件工程進一步發展出軟件過程的概念,軟件工程需要研究“如何做”的軟件方法,也要研究支撐的軟件開發工具和軟件環境,軟件過程則是研究如何綜合軟件方法和軟件開發工具。軟件過程是為了獲得高質量的軟件產品所需要完成的一系列工程活動,它規定了完成各項任務的工作步驟。為了保證在軟件項目中能夠有效地貫徹與正確地使用軟件工程規程,我們應該遵循軟件工程的基本原則。

通過本章的學習,了解軟件的發展歷程,掌握軍用軟件概念、特點及分類方法;了解軟件危機的表現形式、產生根源;了解軟件工程的概念、要素和基本原理;熟悉軟件工程生存周期及生存周期模型的概念;掌握軟件工程標準化的作用意義和主要標準。

主站蜘蛛池模板: 江西省| 上林县| 五河县| 金寨县| 宣威市| 嘉义县| 通海县| 荃湾区| 丘北县| 吴忠市| 巴里| 江门市| 嵩明县| 潢川县| 南丰县| 嘉兴市| 调兵山市| 霍山县| 崇信县| 茂名市| 南皮县| 渭源县| 长泰县| 新乐市| 商河县| 泊头市| 成都市| 偃师市| 富源县| 抚顺市| 绥江县| 霍州市| 五华县| 宕昌县| 磴口县| 隆昌县| 甘泉县| 昌平区| 大同市| 合作市| 宜兰市|