計算基礎工程 5_第1頁
計算基礎工程 5_第2頁
計算基礎工程 5_第3頁
計算基礎工程 5_第4頁
計算基礎工程 5_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

21世紀高等學校計算機類課程創新系列教材第6章軟件質量、安全與風險控制0102030421世紀高等學校計算機類課程創新系列教材05目錄CONTENT軟件質量概述軟件質量管理信息安全概述信息安全管理風險控制軟件質量問題引發的事故1985年到1987年間,Therac25放射性治療儀因輸入數據順序問題的缺陷,導致10余人死亡。這一事故凸顯了軟件質量問題可能帶來的嚴重后果,即使是微小的缺陷也可能危及生命。1991年,第一次海灣戰爭中,愛國者導彈系統因時間計算不精確和算數計算錯誤,未能攔截飛毛腿導彈,造成28名士兵死亡。這表明軟件在軍事領域的可靠性至關重要,任何失誤都可能導致災難性后果。1996年,歐洲阿麗亞娜(ARIANE5)火箭由于軟件運算位數錯誤,火箭的水平速度計算時產生了溢出造成火箭在高速下進行大角度水平滾轉,導致該型號火箭首次測試發射后37秒被迫自行引爆。1999年,NASA火星氣候探測器由于在控制軟件中忘記將一處英制單位轉換為公制單位,導致飛船在接近火星表面時偏離了正確的軌道,因為軌道過低而墜入火星大氣層意外解體。此次事故使得花費數億美元的飛船化為灰燼,同時對后續火星氣象探測以及火星極地著陸器通訊中繼任務造成了嚴重的不利影響。2003年,俄羅斯聯盟TMA1號載人飛船由于軟件故障使返回艙的導航系統失效,造成飛船返回時與飛控中心失聯十余分鐘。該故障還導致飛船的降落地點嚴重偏離預定降落點,距離偏差達近五百公里。2019年,美國星際客機(Starline)航天飛船由于“數據檢索”軟件出錯,收集了錯誤的任務時間,使得飛船誤判任務階段而提前消耗掉大部分燃料,無法按預期與國際空間站實現對接,被迫提前返回地球,首次測試飛行任務宣告失敗。軟件質量問題引發的事故

如何控制和保證軟件的質量已成為系統質量管理的關鍵問題。

提高軟件質量、設計開發出更高質量的軟件產品成為了項目總體以及軟件開發人員的一致目標。21世紀高等學校計算機類課程創新系列教材軟件質量6.1軟件的定義軟件質量是指軟件產品滿足基本需求及隱式需求的程度。它包括軟件的功能性、可靠性、可用性、效率、可維護性和可移植性等多個方面。高質量的軟件不僅滿足顯式需求,還能滿足用戶的潛在需求,如提供額外的功能或優化用戶體驗。從軟件質量的定義,可將軟件質量分為3個層次,具體如下。(1)滿足需求規定:軟件產品符合開發者明確定義的目標,并且能可靠運行。(2)滿足用戶需求:軟件產品的需求是由用戶產生的,軟件最終的目的就是滿足用戶需求,解決用戶的實際問題。(3)滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產品如果滿足用戶的隱式需求,即潛在的可能需要在將來開發的功能,將會極大地提升用戶滿意度,這就意味著軟件質量更高。所謂高質量的軟件,除了滿足上述需求之外,對于內部人員來說,它應該也是易于維護與升級的。軟件開發時,統一的符合標準的編碼規范、清晰合理的代碼注釋、形成文檔的需求分析、軟件設計等資料對于軟件后期的維護與升級都有很大的幫助,同時,這些資料也是軟件質量的一個重要體現。6.1.1軟件及其復雜性軟件的定義軟件質量是指軟件產品滿足基本需求及隱式需求的程度。它包括軟件的功能性、可靠性、可用性、效率、可維護性和可移植性等多個方面。高質量的軟件不僅滿足顯式需求,還能滿足用戶的潛在需求,如提供額外的功能或優化用戶體驗。從軟件質量的定義,可將軟件質量分為3個層次,具體如下。(1)滿足需求規定:軟件產品符合開發者明確定義的目標,并且能可靠運行。(2)滿足用戶需求:軟件產品的需求是由用戶產生的,軟件最終的目的就是滿足用戶需求,解決用戶的實際問題。(3)滿足用戶隱式需求:除了滿足用戶的顯式需求,軟件產品如果滿足用戶的隱式需求,即潛在的可能需要在將來開發的功能,將會極大地提升用戶滿意度,這就意味著軟件質量更高。所謂高質量的軟件,除了滿足上述需求之外,對于內部人員來說,它應該也是易于維護與升級的。軟件開發時,統一的符合標準的編碼規范、清晰合理的代碼注釋、形成文檔的需求分析、軟件設計等資料對于軟件后期的維護與升級都有很大的幫助,同時,這些資料也是軟件質量的一個重要體現。6.1.1軟件及其復雜性軟件質量評價標準ISO/IEC9126:1901標準所包含的6大特性的具體含義如下。(1)功能性:在指定條件下,軟件滿足用戶顯式需求和隱式需求的能力。(2)可靠性:在指定條件下使用時,軟件產品維持規定的性能級別的能力。(3)可使用性:在指定條件下,軟件產品被使用、理解、學習的能力。(4)效率:在指定條件下,相對于所有資源的數量,軟件產品可提供適當性能的能力。(5)可維護性:指軟件產品被修改的能力。修改包括修正、優化和功能規格變更的說明。(6)可移植性:指軟件產品從一個環境遷移到另一個環境的能力。這6大特性及其子特性是軟件質量標準的核心,軟件測試工作就從這6個特性和27個子特性去測試、評價一個軟件的。ISO/IEC9126:1991是最通用的軟件質量評價國際標準,將軟件質量分為功能性、可靠性、可用性、效率、可維護性和可移植性六大特性。該標準不僅對軟件質量進行了定義,還制訂了軟件測試的規范流程,包括測試計劃的撰寫、測試用例的設計等,為軟件質量評價提供了全面的指導。全面客觀地評價軟件質量有助于提高軟件的市場競爭力。高質量的軟件更容易獲得用戶的認可和市場的青睞。軟件質量評價為軟件改進提供了依據,幫助開發者發現軟件中的問題并進行優化。ISO/IEC9126:1991標準軟件質量評價的重要性軟件質量評價標準””21世紀高等學校計算機類課程創新系列教材軟件工程0201軟件危機的產生早期軟件開發缺乏系統化方法,多為個體化開發,導致軟件質量差、開發效率低下。隨著計算機技術的發展,軟件規模逐漸增大,軟件危機逐漸顯現。軟件危機的主要表現包括項目超期、超預算,甚至失敗,給企業和用戶帶來了巨大的損失。02軟件危機的影響軟件危機導致項目超期、超預算,甚至失敗。例如,許多大型軟件項目因無法按時交付而被迫取消,給企業帶來了巨大的經濟損失。軟件危機促使人們尋求更有效的軟件開發方法,推動了軟件工程的發展。軟件危機軟件工程有助于提高軟件質量,降低開發成本。通過系統化的開發方法,可以減少軟件中的缺陷,提高軟件的可靠性。軟件工程為軟件開發提供了科學的管理方法,幫助開發者更好地控制項目進度和成本。軟件工程的概念軟件工程的重要性軟件工程的定義軟件工程是研究和應用系統化、規范性、可定量的過程化方法開發和維護軟件。它結合了經過時間檢驗的管理方法和當前最好的技術方法。軟件工程的目標是在一定成本和進度下,開發出高質量的軟件產品,滿足用戶需求。軟件可靠性的定義軟件可靠性是指在規定條件下和規定時間內,軟件不引起系統失效的概率。它是軟件質量的重要指標之一。軟件可靠性的高低直接影響系統的穩定性和用戶的信任度。軟件可靠性的重要性在安全攸關的復雜軟件系統中,如航空、醫療等領域,軟件可靠性至關重要。例如,飛機的飛行控制系統必須具備極高的可靠性,以確保飛行安全。提高軟件可靠性有助于減少系統故障,保障用戶安全,提升用戶體驗。軟件可靠性軟件容錯的概念軟件容錯是指當出現設計錯誤時,軟件仍能繼續提供服務,從而將系統性能和安全性控制在可接受的范圍內。容錯策略的選擇依賴于系統層面和軟件設計的考慮,是軟件開發中不可或缺的一部分。容錯實際是建立在悲觀假設上的技術,那就是沒有消除所有的故障。容錯設計的策略主要是保證系統正常并且按時正確的完成任務。支撐所有容錯的一個基本思想就是冗余。使用冗余來從不可靠的組件中構造可靠的軟件最早是由VonNeumann在1956年提出的。冗余(多個復本)用來檢測故障和掩蔽失效。容錯機制的類型功能冗余:通過復制軟件單元來檢測故障。例如,航天軟件中常用功能冗余設計,通過多個獨立的軟件模塊實現同一功能,確保即使部分模塊出現故障,系統仍能正常運行。數據冗余:用額外信息檢測數據一致性。例如,數據庫系統中常用數據冗余技術,通過備份和校驗機制確保數據的完整性和一致性。時間冗余:使用額外時間完成容錯。例如,對于可能出現瞬時故障的系統,通過重新執行操作來恢復系統狀態,確保系統的可靠運行。軟件容錯機制軟件測試是保證軟件安全的關鍵技術,也是保證軟件質量和可靠性的重要方法。在大型軟件開發項目中,測試工作量一般占據開發總工作量的40%以上。測試可以發現、定位并排除軟件中的安全隱患,監測軟件的行為和數據變化,為軟件質量評價提供直接證據。測試無法窮舉所有路徑,無法發現程序中的最后一個bug。例如,一個僅有20行代碼的程序,其可能的路徑數量巨大,窮舉測試幾乎是不可能的。測試的目的是讓程序執行失敗,發現錯誤,而不是驗證程序的正確性。測試只能表明錯誤的存在,而不能表明錯誤的不存在。軟件測試的重要性軟件測試的局限性軟件測試及其局限性21世紀高等學校計算機類課程創新系列教材軟件安全03【案例6-1】2018年10月29日,印尼獅航JT610航班從雅加達起飛僅13分鐘后墜入爪哇海,機上189人全部遇難。2019年3月10日,埃塞俄比亞航空ET302航班從亞的斯亞貝巴飛往肯尼亞內羅畢,飛機起飛僅6分鐘后墜毀,機上157人全部遇難。上述兩起空難都使用了波音737Max-8型飛機。事故調查結果發現:客機中的自動防失速系統(MCAS)導致了兩起致命空難。兩起事故中,飛機的自動防失速系統為了回應錯誤的迎角信息而自動啟動,飛機的自動防失速系統設計和認證沒有充分考慮飛機失控的可能性。相關案例【案例6-2】2016年2月7日,日本成功發射了一顆造價2.86億美元,名為“瞳”的衛星,衛星上攜帶的X射線檢測儀器被寄予厚望,有望揭開黑洞等宇宙未解之謎,但時隔一個月后,“瞳”卻因自旋而解體。它的設計壽命為10年,卻未能正式工作10天。事后分析發現,衛星的解體是由一個底層軟件錯誤導致的,發生錯誤的軟件被安裝在了“星體定位跟蹤器”上。衛星在經過“南大西洋地磁異常區”的南非東海岸上空時,暴露在相對更高的輻射環境中,導致了“星體定位跟蹤器”故障。衛星的電子設備當然都是經過防輻射處理的,但或許是工程師過于樂觀,或許是“瞳”的運氣太差,當年的地球磁場變化不太合理,數據變化太大,超出了衛星設計上限,從而造成了衛星的解體。信息安全保護信息的機密性、完整性和可用性。它是信息安全的一個關鍵問題,關系到國家、企業和個人的安全。信息安全威脅可能導致數據泄露、系統癱瘓等問題,給用戶帶來巨大的損失。信息安全的重要性1惡意軟件、社會工程、網絡攻擊等威脅信息安全。例如,勒索軟件通過加密用戶的重要文件,要求用戶支付贖金來解鎖文件。信息安全威脅不僅影響個人用戶,還可能對企業和國家的安全造成嚴重影響。信息安全的威脅2信息安全的定義隨著互聯網的普及,軟件安全問題日益突出。例如,2018年印尼獅航JT610航班和2019年埃塞俄比亞航空ET302航班的空難,均因飛機的自動防失速系統(MCAS)設計缺陷導致,凸顯了軟件安全的重要性。軟件安全是信息安全的重要組成部分,關系到軟件系統的穩定性和用戶的信任度。軟件安全的重要性軟件安全是指軟件在受到惡意攻擊時仍能正確運行。它涉及理解軟件引起的安全風險并管理這些風險。軟件安全是信息安全的重要組成部分,關系到軟件系統的穩定性和用戶的信任度。軟件安全的定義軟件安全的概念可信計算是在計算機中建立硬件信任根,建立信任鏈,從硬件到操作系統再到應用,確保整個系統的可信。可信計算平臺通過硬件和軟件技術的結合,防范不同類型的安全威脅,確保系統的安全運行。”可信計算有助于提高軟件系統的安全性。例如,可信計算平臺可以防止惡意軟件的入侵,保護用戶數據的安全。可信計算平臺通過硬件和軟件技術的結合,防范不同類型的安全威脅,確保系統的安全運行。”可信計算的概念可信計算的重要性可信計算與軟件安全21世紀高等學校計算機類課程創新系列教材IT風險分析及防御策略0401IT風險包括完整性風險、存取風險、獲取性風險、體系結構風險和其他相關風險。不同類型的IT風險對項目有不同的影響,例如,存取風險可能導致數據泄露,獲取性風險可能導致數據不可用。IT風險的類型02IT風險管理包括風險識別、評估、處理和監控。風險識別是采用系統化方法識別項目已知和可預測的風險。風險評估是對已識別風險進行估計和評價,確定風險發生的概率與后果。風險處理是制定風險解決方案,最大限度降低風險。風險監控是對風險發生的監督和對風險管理的監督。IT風險管理IT風險及管理過程合同風險、需求變更風險、溝通不良風險等是常見的IT風險。這些風險可能導致項目超期、超預算或失敗。例如,合同不科學、不嚴謹可能導致項目邊界和責任界定不清,需求變更無限制可能導致項目進度延誤。常見的IT風險通過科學的合同管理、需求變更控制、溝通機制建立等措施預防風險。例如,項目建設之初應與各方簽訂補充協議,明確需求變更控制流程,定期與項目干系方溝通,確保信息暢通。風險預防措施IT風險分析及預防措施IT使用者風險意識的概念IT使用者風險意識是指使用者認識到計算機系統的風險性,并自覺規避風險。培養IT使用者風險意識有助于減少信息安全事件,提高系統的安全性。培養IT使用者風險意識加強賬戶安全管理、軟硬件維護、網絡防火墻技術應用等措施有助于培養風險意識。例如,定期修改密碼、安裝正版軟件、使用防火墻和殺毒軟件等,可以有效降低信息安全風險。IT使用者的風險意識IT設計者風險意識是指設計者對軟件開發過程中潛在風險的認識。提高I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論