第-章-軟件危機與軟件工程優(yōu)秀文檔_第1頁
第-章-軟件危機與軟件工程優(yōu)秀文檔_第2頁
第-章-軟件危機與軟件工程優(yōu)秀文檔_第3頁
第-章-軟件危機與軟件工程優(yōu)秀文檔_第4頁
第-章-軟件危機與軟件工程優(yōu)秀文檔_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章軟件危機與軟件工程

1.1軟件危機

1.2軟件工程

1.3軟件質(zhì)量

1.4軟件可靠性

1.5軟件工程方法論--CMM模型1.1軟件危機

是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。這些問題絕不僅僅是“不能正常運行的”軟件才具有的,實際上幾乎所有軟件都不同程度地存在這些問題。概括地說,軟件危機包含下述兩方面的問題:如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求,如何維護數(shù)量不斷膨脹的已有軟件。具體地說,軟件危機主要有下述一些表現(xiàn)。

項目延期,經(jīng)費超出開發(fā)過程管理不規(guī)范檢測不嚴格,難以維護

用戶對“已完成的”軟件系統(tǒng)不滿意

軟件通常沒有適當?shù)奈臋n資料軟件產(chǎn)品的質(zhì)量往往靠不住

軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升

軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢軟件危機的表現(xiàn)軟件不同于硬件,進展情況較難衡量軟件不同于一般程序,龐大復雜軟件缺陷的積累與放大軟件危機的原因1.2軟件工程嚴格地說,軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。軟件測試是軟件工程的一個重要環(huán)節(jié),相當于工程領域中的質(zhì)量檢驗部分,是確保軟件工程質(zhì)量的重要手段。軟件的生命周期 一個軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退出使用的全過程稱為軟件生存周期。軟件生存周期根據(jù)軟件所處的狀態(tài),以及軟件開發(fā)活動的目的和任務,可劃分為若干個階段。一般軟件生存周期包括軟件定義、軟件開發(fā)以及軟件使用與維護3個部分。軟件生命周期的5個階段需求分析設計編程測試運行和維護見教材表1-1,測試占有重要的地位1.3軟件質(zhì)量軟件質(zhì)量是軟件的生命,它直接影響軟件的使用與維護。軟件質(zhì)量(softwarequality)應該這樣定義:

(1)與明確確定的功能和性能需求的一致性。

(2)與明確成文的開發(fā)標準的一致性。

(3)與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。軟件質(zhì)量由以下幾方面進行評價①軟件需求是衡量軟件質(zhì)量的基礎,不符合需求的軟件就不具備質(zhì)量。設計的軟件應在功能、性能等方面都符合要求,并能可靠地運行。②軟件結(jié)構(gòu)良好,易讀、易于理解,并易于修改、維護。③軟件系統(tǒng)具有友好的用戶界面,便于用戶使用。④軟件生存周期中各階段文檔齊全、規(guī)范,便于配置、管理。可靠性(reliablility)是其整個質(zhì)量的一個極其重要的元素。軟件可靠性是指:在特定環(huán)境下和一定時間內(nèi),一個計算機程序無故障運行的概率。

注意4個方面的問題研究對象規(guī)定的功能和失敗的含義規(guī)定的使用環(huán)境規(guī)定的時間1.4軟件可靠性可靠性

度量平均失敗間隔時間(MTBF)平均失敗間隔時間(MTBF)=平均失敗時間(MTTF)+平均修復時間(MTTR)可用行度量可用行=MTTF/(MTTF+MTTR)*100%軟件可靠性模型軟件可靠性模型通常有 程序的故障率與遺留錯誤的數(shù)量成正比,所以根據(jù)程序中的遺留錯誤的多少,就可以預測程序的可靠性。 用平均故障的時間來衡量軟件的可靠性。 測試之前在程序中植入一批人為的錯誤,在測試中分別統(tǒng)計出通過測試發(fā)現(xiàn)的原有錯誤和植入的錯誤,然后計算原有的錯誤,進而衡量軟件可靠性通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。概括地說,軟件危機包含下述兩方面的問題:如何開發(fā)軟件,怎樣滿足對軟件的日益增長的需求,如何維護數(shù)量不斷膨脹的已有軟件。平均失敗間隔時間(MTBF)軟件產(chǎn)品的質(zhì)量往往靠不住軟件過程(SoftwareProcess):指人們用于開發(fā)和維護軟件及其相關產(chǎn)品的一系列活動、方法、時間和革新。一個軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退出使用的全過程稱為軟件生存周期。軟件不同于一般程序,龐大復雜軟件質(zhì)量是軟件的生命,它直接影響軟件的使用與維護。(3)與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。規(guī)定的功能和失敗的含義用戶對“已完成的”軟件系統(tǒng)不滿意一般軟件生存周期包括軟件定義、軟件開發(fā)以及軟件使用與維護3個部分。設計的軟件應在功能、性能等方面都符合要求,并能可靠地運行。一個軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退出使用的全過程稱為軟件生存周期。設計的軟件應在功能、性能等方面都符合要求,并能可靠地運行。(2)與明確成文的開發(fā)標準的一致性。1.5軟件工程方法論--CMM模型CMM(CapabilityMaturityModel,能力成熟度模型)是由美國卡內(nèi)基-梅隆大學軟件工程研究所推出的評估軟件能力與成熟度的一套標準,是美國軟件工程研究所(SEI)的著名產(chǎn)品之一。該標準基于眾多軟件專家的實踐經(jīng)驗,側(cè)重于軟件開發(fā)過程的管理及工程能力的提高與評估,是國際上流行的軟件生產(chǎn)過程標準和軟件企業(yè)成熟度等級認證標準。被國際軟件界公認為軟件工程學的一項重大成果。該模型可用來評估軟件開發(fā)單位的軟件成熟度級別目前,CMM認證已經(jīng)成為世界公認的軟件產(chǎn)品進入國際市場的通行證。軟件過程過程(Process):為實現(xiàn)既定目標的一系列操作步驟。

軟件過程(SoftwareProcess):指人們用于開發(fā)和維護軟件及其相關產(chǎn)品的一系列活動、方法、時間和革新。其中相關產(chǎn)品是指項目計劃、設計文檔、編碼、測試和用戶手冊。當一個企業(yè)逐步走向成熟,軟件過程的定義也會日趨完善,其企業(yè)內(nèi)部的過程實施將更具有一致性。程序的故障率與遺留錯誤的數(shù)量成正比,所以根據(jù)程序中的遺留錯誤的多少,就可以預測程序的可靠性。CMM(CapabilityMaturityModel,能力成熟度模型)是由美國卡內(nèi)基-梅隆大學軟件工程研究所推出的評估軟件能力與成熟度的一套標準,是美國軟件工程研究所(SEI)的著名產(chǎn)品之一。其中相關產(chǎn)品是指項目計劃、設計文檔、編碼、測試和用戶手冊。軟件質(zhì)量(softwarequality)應該這樣定義:

(1)與明確確定的功能和性能需求的一致性。這種成熟度分級的優(yōu)點在于級別明確而清楚地反映了過程改進活動的輕重緩急和先后順序。當一個企業(yè)逐步走向成熟,軟件過程的定義也會日趨完善,其企業(yè)內(nèi)部的過程實施將更具有一致性??捎眯校組TTF/(MTTF+MTTR)*100%如果恰當?shù)靥幚砹四硞€關鍵過程涉及的全部關鍵慣例,這個關鍵過程的各項目標就能達到,這就表明該關鍵過程實現(xiàn)了。軟件過程成熟度(SoftwareProcessMaturity):是指一個具體的軟件過程被明確地定義、管理、評價、控制和產(chǎn)生實效的程度。①軟件需求是衡量軟件質(zhì)量的基礎,不符合需求的軟件就不具備質(zhì)量。平均失敗間隔時間(MTBF)一個軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退出使用的全過程稱為軟件生存周期。軟件不同于一般程序,龐大復雜軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢CMM(CapabilityMaturityModel,能力成熟度模型)是由美國卡內(nèi)基-梅隆大學軟件工程研究所推出的評估軟件能力與成熟度的一套標準,是美國軟件工程研究所(SEI)的著名產(chǎn)品之一。(2)與明確成文的開發(fā)標準的一致性。(3)與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。軟件過程成熟度軟件過程成熟度(SoftwareProcessMaturity):是指一個具體的軟件過程被明確地定義、管理、評價、控制和產(chǎn)生實效的程度。所謂成熟度包含著能力的一種增長潛力,同時也表明了組織(企業(yè))實施軟件過程的實際水平。隨著組織軟件過程成熟度能力的不斷提高,組織內(nèi)部通過對過程的規(guī)范化和對成員的技術培訓,軟件過程也將會被他的使用者關注和不斷修改完善。從而使軟件的質(zhì)量、生產(chǎn)率和生產(chǎn)周期的到改善。CMM就是是軟件過程能力成熟度模型的簡稱

CMM的5級模型 CMM把軟件開發(fā)組織的能力成熟度分為5個可能的等級。除了第1級外,其他每一級由幾個關鍵過程方面組成。每一個關鍵過程方面都由公共特性予以表征。CMM給每個關鍵過程規(guī)定了一些具體目標。按每個公共特性歸類的關鍵慣例是按該關鍵過程的具體目標選擇和確定的。如果恰當?shù)靥幚砹四硞€關鍵過程涉及的全部關鍵慣例,這個關鍵過程的各項目標就能達到,這就表明該關鍵過程實現(xiàn)了。 這種分級的思路在于把一個組織執(zhí)行軟件過程的成熟程度分成循序漸進的幾個階段,這與軟件組織提高自身能力的實際推進過程相吻合。這種成熟度分級的優(yōu)點在于級別明確而清楚地反映了過程改進活動的輕重緩急和先后順序。這一點很重要,因為大多數(shù)軟件組織只能在某一段時間里集中開展少數(shù)幾項過程改進活動。一個軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退出使用的全過程稱為軟件生存周期。如果恰當?shù)靥幚砹四硞€關鍵過程涉及的全部關鍵慣例,這個關鍵過程的各項目標就能達到,這就表明該關鍵過程實現(xiàn)了。這些問題絕不僅僅是“不能正常運行的”軟件才具有的,實際上幾乎所有軟件都不同程度地存在這些問題。①軟件需求是衡量軟件質(zhì)量的基礎,不符合需求的軟件就不具備質(zhì)量。按每個公共特性歸類的關鍵慣例是按該關鍵過程的具體目標選擇和確定的。這種成熟度分級的優(yōu)點在于級別明確而清楚地反映了過程改進活動的輕重緩急和先后順序。按每個公共特性歸類的關鍵慣例是按該關鍵過程的具體目標選擇和確定的。CMM給每個

溫馨提示

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

最新文檔

評論

0/150

提交評論