1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 淺探軟件可靠性工程的應用

        時間:2024-06-16 11:18:08 計算機軟件畢業論文 我要投稿
        • 相關推薦

        淺探軟件可靠性工程的應用

        畢業論文

        摘要:本文就武器裝備軟件開發的現狀和中存在的問題,介紹了軟件可靠性工程的發展及其研究的內容,對軟件可靠性工程如何在軟件開發中應用進行了重點說明,并提供了成功應用軟件可靠性工程的典型案例,指出軟件可靠性工程研究的必要性。

        關鍵詞: 軟件 可靠性工程

        隨著科學技術的不斷進步,計算機技術被越來越多地應用到武器系統中。計算機軟件的復雜程度隨著功能的增強,因而系統的可靠性也越來越與軟件直接相關。例如AFTI/F-16飛機首航因軟件問題推遲1年,事先設計的先進程序wu法使用;海灣戰爭中F/A–18飛機飛行控制系統計算機500次故障中,軟件故障次數超過硬件。軟件可靠性成為我們關注的1個問題,本文僅就軟件可靠性工程在軟件開發過程中的應用談談自己的認識。
        1、軟件可靠性工程的基本概念及發展
        1.1什么是軟件可靠性工程
        軟件可靠性工程簡單地說就是對基于軟件產品的可靠性進行預測、建模、估計、度量及管理,軟件可靠性工程貫穿于軟件開發的整個過程。
        1.2軟件可靠性工程的發展歷程
        軟件可靠性問題獲得重視是2十世紀60年代末期,那時軟件危機被廣泛討論,軟件不可靠是造成軟件危機的重要原因之1。1972年正式提出Jelinski—Moranda模型,標志著軟件可靠性系統研究的開始。在70年代.軟件可靠性的理論研究獲得很大發展,1方面提出了數十種軟件可靠性模型,另1方面是軟件容錯的研究。在80年代,軟件可靠性從研究階段逐漸邁向工程化。進入90年代后,軟件可靠性逐漸成為軟件開發考慮的主要因素之1,軟件可靠性工程在軟件工程領域逐漸取得相對獨立的地位,成為1個生機勃勃的分支。
        1.3軟件可靠性工程研究的基本問題
        軟件可靠性工程的主要目標是保證和提高軟件可靠性。為達到這1目標,首先要弄清軟件為什么會出現故障或失效。只有這樣,才有可能在軟件開發過程中減少導致軟件故障或失效的隱患,且1旦出現軟件故障或失效,有可能采取有效措施加以清除。但是軟件是開發出來的,滿足可靠性要求的軟件也是開發出來的,因此,軟件可靠性工程的核心問題是如何開發可靠的軟件。而有了軟件,又該如何檢驗其是否滿足可靠性要求?這是軟件可靠性工程的又1個問題。
        2、軟件可靠性工程在軟件開發中的應用
        2.1項目開發計劃及需求分析階段
        在項目開發計劃階段需根據產品具體要求作出軟件項目開發計劃,明確項目的目的、條件、運行環境、軟件產品要求、人員分工和職責及進度,并估計產品的可靠性。需求分析階段要根據項目開發計劃階段確定軟件開發的主要任務、次要任務和其它任務,并設計軟件程序的基本流程、軟件結構、模塊的定義和輸入輸出數據、接口和數據結構等同時應對項目開發計劃階段作出的可靠性預計進1步細化形成可靠性需求,建立具體的可靠性指標。這個階段的可靠性工作1般應如下安排:
        ⑴確定功能概圖
        所謂功能概圖就是產品的各種功能及其在不同環境條件下使用的概率。為確立功能概圖必須定義產品的功能,功能定義不但包括要完成的任務,還包括影響處理的環境因素。
        ⑵對失效進行定義和分類
        這里應從用戶的角度來定義產品失效,將軟件和硬件失效及操作程序上的失效區分開,并將其按嚴重程度進行分類。
        ⑶確定用戶的可靠性要求
        在這個階段應由系統設計師、軟件設計師、可靠性師、測試人員及用戶方代表可靠性評估小組共同根據用戶提出的系統可靠性來確定軟件的可靠性。
        ⑷進行平衡關系研究
        通常應考慮可靠性和功能之間的關系以及可靠性、開發費用和開發周期之間的關系。1般來說,增加功能會導致可靠性降低,可靠性提高的程度1般與測試加強程度相對應,這意味著時間和費用的增加。
        ⑸建立可靠性指標
        在這個階段應對每種失效分別建立可靠性指標。通常,首先建立系統可靠性指標,然后在硬件和軟件間分配。影響建立可靠性指標的因素主要有:合同或有關標準中明確規定的可靠性指標,相似產品的可靠性指標,產品的質量保證,使用已有模塊的可靠性,技術能力和局限(如容錯技術的使用)等。
        2.2軟件設計和功能實現階段
        軟件設計是對上1階段定義的每1個功能模塊逐步細化,確立系統體系結構,形成若干可編程的模塊。說明硬件和軟件模塊之間的接口及它們與外部環境的接口,詳細描述各模塊的輸入、處理過程及輸出。功能實現是根據設計方案進行軟件編程。該階段主要應做:
        ⑴在模塊間分配可靠性指標
        定義系統體系結構時,應將系統分解成模塊同時保證總體可靠性指標。進行系統分解是應考慮以下因素:系統的物理特性、以前收集的數據的特性及收集數據需要的工作量等。確定每個模塊的可靠性要求時,首先進行可靠性分配,然后根據試分配值計算系統的可靠性。這樣及時調整,使各模塊開發周期、難度和風險大致相當,系統的開發費用也才能降至最低。
        ⑵按可靠性指標進行設計
        目前,可靠性設計有以下幾種方法:設計恢復策略、使用冗余軟件單元、鑒別高風險區域。設計恢復策略是指軟件只須重新啟動即可消除失效的設計,設計恢復應能保存修復可能破壞的數據,應具備確定失效發生時間和阻止繼續運行的機制,以減少程序數據的破壞。使用冗余軟件單元時是采用與原軟件單元不同的冗余軟件單元來提高可靠性。鑒別高風險區域采用FMEA(失效類型與后果分析)和FTA(錯誤樹分析)的方法來進行可靠性分析。
        ⑶根據功能概圖集中資源配置
        根據功能概圖把人力、物力等資源用到用戶認為最重要的地方。
        ⑷控制錯誤的引入和傳播
        錯誤是引起軟件失效的根本原因,所以控制每個開發步驟中引入的錯誤數目及未被察覺的而傳入下1步的錯誤數目,對于控制產品的可靠性是非常重要的。錯誤控制受多種因素影響,其中主要有:
        a.構造模塊化系統;
        b.進行軟件重用; 
        c.進行單元和集成測試,阻止錯誤向下1開發步驟傳播;
        d.進行檢查和復核;
        e.控制改動。
        ⑸度量現成軟件的可靠性
        如果在產品中使用現成的未在本產品中開發或測試過的軟件,必須對其進行可靠性證明,證明其可靠性指標在可以接受的范圍內方可采用。2.3系統測試和現場試運行階段
        系統測試和現場運行以確認產品的軟件要求是否得到滿足,用戶是否可以實際應用。系統測試階段是開發過程階段的最后階段,如果措施得當,可以在產品首次使用前進1步提高可靠性,F場試運行階段在用戶環境中驗證產品的各種說明及系統測試所得的可靠性指標。這個階段的工作有以下工作:
        ⑴確定操作概圖
        操作概圖是指實現系統功能的操作及其概率的集合,1個操作可以是特定環境下執行的1條命令,或同時附有限定范圍內的參數或輸入變量集。確定操作概圖是測試計劃的1個重要部分,1般在系統測試階段之前由測試計劃人員,在系統設計師和軟件設計人員的協助下完成。
        ⑵進行可靠性增強測試
        在系統測試階段需進行可靠性增強測試。在可靠性增強測試中,系統測試員根據操作概圖描述各種操作的現場發生概率,按比例的執行測試用例,通過模仿用戶的應用方式可靠性增強測試,易于發現令用戶最不滿意的失效,能夠反映出用戶使用時的可靠性感受。
        ⑶根據測試進展并證明可靠性指標是否達到要求
        在可靠性增強測試中,要收集失效數據,利用已有或自行設計并經驗證的可靠性工具跟蹤測試進展及規劃必須的額外測試,根據進展情況在系統測試進行中可以對資源和進度安排隨時做必要的調整。
        ⑷現場可靠性評估
        系統測試階段完成后,轉入現場試運行階段。在試運行中,從現場收集失效數據,利用此數據和軟件工具評估現場可靠性,然后與系統測試結束后測得的可靠性相比較,同時對可靠性差異的產生原因進行分析。
        2.4維護階段
        維護階段是在產品用戶使用過程中改正軟件暴露出來的與失效有關的錯誤。在這個階段監視產品現場運行的可靠性,并和預定指標及用戶的滿意程度進行對照比較,以便提高后繼版本的可靠性,改進軟件開發過程中的質量。此階段主要做的工作是:
        ⑴用可靠性模型規劃產品交付使用之后的人員需求,如:用戶恢復失效操作的人員,承制方處理用戶報告的失效的人員,承制方處理與用戶報告的失效有關的錯誤的軟件開發人員。
        ⑵監視現場可靠性是否達到預期指標,根據其間的差距采取相應的措施。同時還應跟蹤用戶是否滿意,根據不滿意的情況,進行必要的現場支持服務及產品改動。
        ⑶當加入新的功能時,通過監視可靠性,消除由此帶來的失效強度增加。
        ⑷分析軟件交付使用后的失效產生原因,指導工程的改進,降低引入類似錯誤的可能性。
        3、軟件可靠性工程成功應用的實例
        美國AT&T公司的國際DEFINITYR程控交換機部在系統軟件開發過程中應用了軟件可靠性工程,相對于以前發行的主要軟件版本,產品的質量提高是驚人的:
        ⑴用戶反映的問題下降了10倍;
        ⑵項目維護費用下降了10倍;
        ⑶系統測試件的間隔縮短了2倍;
        ⑷引入新產品的間隔縮短了30%。
        而且,在投入運行的前兩年,從未發生嚴重影響業務的機器中斷,客戶滿意程度大為提高。具體分析原因,有以下兩點:
        ⑴把可靠性作為確定是否發行的標準,可避免用戶在使用中反映過多問題和進行相應的維護工作。
        ⑵采用“操作概圖驅動”的測試方法,提高了測試效率;20%的操作覆蓋了95%的應用,20%的錯誤導致了95%的實效;先測試20%的使用最頻繁的操作可以加速可靠性的提高。
        4、結束語
        軟件的可靠性中正越來越引起軟件研發部門的重視,但因為這是1門新興的學科,對于提高軟件質量,國內外還未能從軟件可靠性工程的角度總結出1套行之有效的管理方法。
        軟件可靠性工程是1項涉及面很廣的系統工程,應加強這項技術的研究力度。尤其要結合具體項目進行課題研究,使軟件的開發過程同時也是軟件可靠性工程的實施過程。使自發的可靠性工作成為有計劃、有組織和有目標的研究工作。相信經過不斷的探索和實踐,軟件可靠性工程會象硬件可靠性工程那樣走向成熟,它的應用將對提高我國軟件開發的可靠性起到積極的推動作用。
        畢業論文論文

        【淺探軟件可靠性工程的應用】相關文章:

        公允價值計量及應用淺探10-03

        談軟件可靠性工程的應用08-04

        淺探主題知識網站的建設和應用08-11

        淺探“精確林業”的發展及其應用前景07-29

        淺談軟件可靠性工程的應用論文(精選6篇)10-14

        淺探黃芪二仙湯在男科病中的應用09-30

        淺探GPON技術在接入網中的應用05-21

        淺探粉煤灰的應用研究現狀09-30

        淺探室內陳設08-04

        對現代美術的淺探10-26

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>