国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軍用軟件可靠性研究

2015-01-29 06:02:55張永軍雍明遠
中國軍轉(zhuǎn)民 2015年2期
關(guān)鍵詞:軟件可靠性開發(fā)者文檔

■ 白 光 張永軍 雍明遠

軍用軟件可靠性研究

■ 白 光張永軍雍明遠

我國在軍用軟件領(lǐng)域的起步較晚,在軍用軟件的可靠性研究和應(yīng)用方面起步更晚且投入的精力明顯不夠。在武器科技化、集成化日益明顯的今天,軟件可靠性方面的不足很容易成為制約我們裝備發(fā)展的瓶頸。對此,筆者在應(yīng)用開發(fā)方面進行了討論。

引言

長期以來,在實際使用過程中暴露的軟件以及和軟件有關(guān)的問題逐漸增多,直接影響了整個武器系統(tǒng)的質(zhì)量。為了避免和消除錯誤,確保開發(fā)出的軟件系統(tǒng)工作正確,運行可靠,如何提高軟件裝備的可靠性,是軟件質(zhì)量管理的重點工作。

一、軟件可靠性的定義

1983年美國IEEE計算機學(xué)會對“軟件可靠性”作出了明確定義,此后該定義被美國標(biāo)準(zhǔn)化研究所接受為國家標(biāo)準(zhǔn),1989年我國也接受該定義為國家標(biāo)準(zhǔn)。新版GJB/Z 102-97的定義包括兩方面的含義:

(1)在規(guī)定的條件下,在規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失效的概率;

(2)在規(guī)定的時間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力;

其中的概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的故障的函數(shù),系統(tǒng)輸入將確定是否會遇到已存在的故障(如果故障存在的話)。

同時我們也都知道,第一,無論多么成熟的軟件都不會十全十美,幾乎所有投入使用的軟件仍含有嵌入的錯誤,由于軟件測試時間和費用上的限制,想用連續(xù)不斷的檢查來獲得100%正確的軟件是幾乎不可能的。第二,軟件一時的正確運行,不等于程序中已不存在任何差錯。因為和有相當(dāng)規(guī)模的軟件一般總有多條分支和多種功能。在不同的使用目的和輸入條件下,其故障的發(fā)生是隨機的。

二、影響軟件可靠性的因素

軟件可靠性是關(guān)于軟件能夠滿足需求功能的性質(zhì),軟件不能滿足需求是因為軟件中的差錯引起了軟件故障。軟件中有哪些可能的差錯呢?

軟件差錯是軟件開發(fā)各階段潛入的人為錯誤:

1.需求分析定義錯誤。如用戶提出的需求不完整,用戶需求的變更未及時消化,軟件開發(fā)者和用戶對需求的理解不同等等。

2.設(shè)計錯誤。如處理的結(jié)構(gòu)和算法錯誤,缺乏對特殊情況和錯誤處理的考慮等。

3.編碼錯誤。如語法錯誤,變量初始化錯誤等。

4.測試錯誤。如數(shù)據(jù)準(zhǔn)備錯誤,測試用例錯誤等。

5.文檔錯誤。如文檔不齊全,文檔相關(guān)內(nèi)容不一致,文檔版本不一致,缺乏完整性等。

從上游到下游,錯誤的影響是發(fā)散的,所以要盡量把錯誤消除在開發(fā)前期階段。

根據(jù)上面對影響軟件可靠性的分析,造成軟件錯誤的因素貫穿于整個軟件開發(fā)的全過程,任何的事后彌補措施都是建立在已經(jīng)造成了錯誤后果的基礎(chǔ)上的。因此,將軟件錯誤盡可能地消滅在萌芽狀態(tài)是投入成本最小的,而通過采用科學(xué)的軟件工程化要求進行軟件系統(tǒng)的設(shè)計可以將軟件的潛在危險控制到盡可能小的范圍。

三、軟件工程化對可靠性的保障

開發(fā)高可靠軟件必須采用軟件工程方法,搞好軟件開發(fā)工程化。當(dāng)前研制的軍用軟件裝備絕大部分擁有龐大的軟件體系結(jié)構(gòu):可重用或公用的功能模塊,多個分承包方的參與,決定了項目的開發(fā)必然是一個團隊協(xié)作開發(fā)過程。根據(jù)GJB 2786-96,需要從以下幾個方面督促研制方抓好軟件工程的實施:

(1)軟件開發(fā)方法

軟件開發(fā)方法對軟件的可靠性有重要影響。面向?qū)ο蟮姆椒ū阌谲浖?fù)雜性控制,有利于生產(chǎn)率的提高,符合人類的思維習(xí)慣,能自然地表達現(xiàn)實世界的實體和問題,具有一種自然的模型化能力,達到從問題空間到解空間的較為直接自然的映射。

在面向?qū)ο蟮姆椒ㄖ校捎诖罅渴褂镁哂懈呖煽啃缘膸?,其可靠性也就有了保證,用面向?qū)ο蟮姆椒ㄒ怖趯崿F(xiàn)軟件重用,所以一般應(yīng)采用面向?qū)ο蟮姆椒ā?/p>

(2)軟件工程環(huán)境

軟件工程環(huán)境應(yīng)該能夠集中支撐開發(fā)階段的操作。

(3)安全性分析

一定要重視軟件的容錯性設(shè)計,把執(zhí)行任務(wù)的潛在危險降到盡可能小。

(4)非開發(fā)軟件

非開發(fā)軟件應(yīng)當(dāng)結(jié)合到交付軟件中,非開發(fā)軟件的結(jié)合應(yīng)用應(yīng)經(jīng)過簽約機構(gòu)的批準(zhǔn)和遵守合同中的數(shù)據(jù)權(quán)限要求。

(5)計算機軟件組成

應(yīng)根據(jù)軟件開發(fā)計劃規(guī)定的開發(fā)方法,將軟件配置項進行分解并劃分成軟件部件和軟件單元。應(yīng)確保軟件配置項的需求已完全分配,并能進一步細化,以便更好地實施每個軟件部件和軟件單元的設(shè)計與測試。

(6)從需求到設(shè)計的可追蹤性

明確劃分各開發(fā)過程(需求分析過程、設(shè)計過程、測試過程、系統(tǒng)集成階段等),在各開發(fā)過程中實施進度管理,產(chǎn)生階段質(zhì)量評價報告,對不合要求的部件和單元及早采取對策。

(7)高級語言

選擇編程語言對開發(fā)和維護階段都是重要的。當(dāng)選擇編程語言時必須注意特殊的應(yīng)用要求及它對于軟件工程現(xiàn)代化的質(zhì)量保證原則是否支持,在滿足用戶需求的前提下,還要綜合考慮編譯和編程環(huán)境的有效性、語言的可移植性、編程人員的技術(shù)水平等。

(8)設(shè)計和編碼標(biāo)準(zhǔn)

必須大力推行標(biāo)準(zhǔn)化的實施。標(biāo)準(zhǔn)對于項目的互聯(lián)、互通、互操作,對于開放性、可維護性,是一個先決條件。標(biāo)準(zhǔn)的簡單或復(fù)雜,決定著系統(tǒng)的簡單與復(fù)雜。標(biāo)準(zhǔn)的可操作性,影響著系統(tǒng)的一致性和可維護性;標(biāo)準(zhǔn)的好壞,決定了系統(tǒng)性能。

為標(biāo)準(zhǔn)的實施相應(yīng)制定許多實施的細則與模板,使得標(biāo)準(zhǔn)的實施不但有章可循,而且可以操作,可以重復(fù)(重用),便于檢查。這些細則與模板包括需求分析、概要設(shè)計與詳細設(shè)計的細則;包括需求分析、概要設(shè)計與詳細設(shè)計的模板。

(9)軟件開發(fā)文件

軟件開發(fā)文件包括系統(tǒng)文檔、維護文檔和項目管理文檔等。開發(fā)文檔可以使人們對已經(jīng)執(zhí)行的開發(fā)過程有深入的了解,并對重要的階段成果進行初步和清晰的說明。

(10)處理資源和預(yù)留量

應(yīng)在合同期內(nèi)對處理資源的利用情況進行監(jiān)測,資源利用情況應(yīng)記載在各軟件配置的產(chǎn)品規(guī)格說明。

四、目前企業(yè)軟件開發(fā)中存在的問題及對策

目前我國的軍品承制企業(yè)由于受到多種因素的影響和制約,軟件可靠性的要求都重視的不夠,在軟件的開發(fā)、設(shè)計階段分析不足,缺乏嚴格的評審;在軟件的調(diào)試、驗收階段也缺乏科學(xué)的測試手段,無法對代碼進行充分的測試;在使用、維護階段不能嚴格按照軟件配置進行管理,造成軟件在生存周期中存在更改隨意性大,質(zhì)量難控制的問題。

(1)軟件開發(fā)過程透明度差:現(xiàn)有的軟件承制單位依然存在軟件的開發(fā)過程由開發(fā)者“自編”“自導(dǎo)”“自演”的現(xiàn)象,一旦軟件出現(xiàn)問題只能由開發(fā)者本人去進行維護,其他人很難介入,而現(xiàn)在的企業(yè)人員流動比較大,一但發(fā)生人員變更,后繼者往往要將前任的工作推倒從頭再來,嚴重影響科研工作的進行。

(2)沒有嚴格執(zhí)行配置管理:未對軟件的更改標(biāo)識、更改控制、更改檢查等進行嚴格控制, 造成軟件的管理混亂, 產(chǎn)品的軟件錯誤較多,軟件質(zhì)量控制差。

(3)軟件測試不夠:軟件的測試軟件、測試工具缺乏, 測試標(biāo)準(zhǔn)、規(guī)范和管理制度不健全。目前絕大多數(shù)的軟件檢驗都與硬件一起進行。軟件驗收時所謂的測試也是對預(yù)先指定的幾個用例進行測試, 起不到軟件測試的應(yīng)有作用, 因而造成軟件的缺陷多、故障多。

(4)沒有明確的軟件可靠性指標(biāo)要求:在戰(zhàn)技指標(biāo)和研制任務(wù)書中沒有明確提出軟件的可靠性指標(biāo)要求??煽啃灾笜?biāo)通常被認為是硬件的可靠性指標(biāo), 在考核中沒有對軟件的可靠性進行單獨驗證, 對軟件的可靠性心中無數(shù)。

(5)尚未建立完善的檢驗體系:軟件沒有像硬件那樣建立嚴格的“三檢”制度, 軟件檢驗基本上是由軟件開發(fā)者完成的。而實踐證明僅僅依靠自檢不能保證軟件質(zhì)量, 因此交付部隊使用的產(chǎn)品軟件質(zhì)量問題較多。

針對以上問題,需要加強軟件質(zhì)量控制,嚴格按照軟件工程化的要求執(zhí)行,幫助企業(yè)建立高效可靠的軟件開發(fā)流程,提高軟件系統(tǒng)的可靠性水平。具體做法如下:

(1)實施軟件工程化管理:杜絕開發(fā)者集多重角色于一身,嚴格做到設(shè)計、生產(chǎn)、檢驗分開,形成三者相互制約的關(guān)系,由軟件設(shè)計工程師編制軟件的設(shè)計圖紙(即詳細設(shè)計報告) , 由合格的軟件編程人員按設(shè)計報告編程, 最后由軟件檢測人員檢查軟件的設(shè)計、編程是否符合要求。這樣才能有效提高軟件質(zhì)量和可靠性。

(2)按照GJB438B和GBJ2786的要求,對各階段形成的文檔進行審查,實行配置管理,確保軟件設(shè)計、生產(chǎn)、維護過程是受控的,可重復(fù)的。

(3)嚴格實行軟件配置管理,各階段工作完成后把階段成果送入軟件受控庫中,開發(fā)者只能使用,不得隨意修改,若要修改,需按照相應(yīng)的審批手續(xù)報備。當(dāng)軟件的集成和綜合測試階段結(jié)束時, 應(yīng)該匯總并修訂全部軟件文檔, 連同源程序清單和目標(biāo)代碼清單一起送入軟件產(chǎn)品庫。進入系統(tǒng)的運行和維護階段后, 若要對配置項進行修改, 必須依照有關(guān)程序修改, 產(chǎn)生新的軟件版本。

(4)必須對軟件進行充分的測試:對于軟件開發(fā)者來說, 開發(fā)出的軟件必須具備可測試性。軟件的缺陷是不可避免的, 不可測試的軟件,其缺陷將不易被發(fā)現(xiàn)和糾正。所謂軟件測試, 是通過對源程序及其實際執(zhí)行所產(chǎn)生的結(jié)果進行檢查分析, 以找出程序中可能隱藏的錯誤的過程, 即為了發(fā)現(xiàn)程序錯誤而執(zhí)行程序的過程。程序測試過程通常要反復(fù)進行多次, 直到滿足某種測試策略為止。

1.王江為,郭新河.武器裝備軟件可靠性研究,《電腦知識與技術(shù)》2011年32期;

2.楊英清.軟件工程技術(shù)發(fā)展思索,軟件學(xué)報,2005(1);

3.吳福全,蘇小桅.軟件質(zhì)量評估方法與探討,成都大學(xué)學(xué)報:自然科學(xué)版,2008(1);

(作者單位:空軍駐西北地區(qū)軍事代表室)

猜你喜歡
軟件可靠性開發(fā)者文檔
有人一聲不吭向你扔了個文檔
軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
基于RI碼計算的Word復(fù)制文檔鑒別
數(shù)控系統(tǒng)軟件可靠性設(shè)計與故障分析技術(shù)
16%游戲開發(fā)者看好VR
CHIP新電腦(2016年3期)2016-03-10 13:06:42
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
iOS開發(fā)者調(diào)查
電腦迷(2015年8期)2015-05-30 12:27:10
iOS開發(fā)者調(diào)查
電腦迷(2015年4期)2015-05-30 05:24:09
簡談使用BoundsChecker進行計算機聯(lián)鎖系統(tǒng)人機界面軟件可靠性測試
不讓他人隨意下載Google文檔
電腦迷(2012年4期)2012-04-29 06:12:13
镇平县| 五原县| 凤山县| 商洛市| 墨江| 尉犁县| 石城县| 开封县| 兰坪| 阳泉市| 麻栗坡县| 鄂尔多斯市| 屏东县| 仪征市| 沾益县| 依安县| 新郑市| 江川县| 日喀则市| 平陆县| 扶绥县| 鹰潭市| 沧州市| 柏乡县| 修水县| 阳春市| 茌平县| 瑞安市| 时尚| 绥阳县| 三亚市| 大宁县| 雷波县| 锡林浩特市| 定州市| 左云县| 万安县| 五家渠市| 泽州县| 星子县| 光泽县|