軟件與軟件生存周期綜述-_第1頁
軟件與軟件生存周期綜述-_第2頁
軟件與軟件生存周期綜述-_第3頁
軟件與軟件生存周期綜述-_第4頁
軟件與軟件生存周期綜述-_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件與軟件生存周期綜述1090379244 謝銳軟件與軟件生存周期內(nèi)容:一、什么是軟件二、軟件的分類三、軟件生存周期四、軟件開發(fā)中普遍存在的問題五、什么是軟件工程六、軟件工程的基本內(nèi)容一、什么是軟件軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,軟件=程序+數(shù)據(jù)+相關(guān)文檔+規(guī)范(規(guī)程,其中,程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列,數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu),文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料。軟件產(chǎn)品必須要有一個完整的配臵,程序只是軟件產(chǎn)品的一個組成部分,軟件自身的特點決定了軟件開發(fā)過程更具復(fù)雜性,更需要規(guī)范開發(fā)者的開發(fā)行為,并加強全過程的管理與控制軟件有以下幾個特點:1

2、、軟件是一種邏輯實體,而不是具體的物理實體。因而它具有抽象性。2、軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程。3、在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題。4、軟件開發(fā)是一個高智力創(chuàng)造性及高強度的腦力勞動,需各種人才協(xié)同工作,管理復(fù)雜度高。5、軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性6、軟件的錯誤具有積累和放大效應(yīng)(1:1007、軟件的開發(fā)至今尚未完全擺脫手工藝的作坊式開發(fā)方式8、軟件本身是復(fù)雜的9、軟件成本相當(dāng)昂貴10、相當(dāng)多的軟件工作涉及到社會因素二、軟件的分類有:1、按自子類來分有:系統(tǒng)軟件操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),設(shè)備驅(qū)動程

3、序,通信,處理程序等支撐軟件編譯軟件,文本編輯器,軟件包或類庫軟件工程CASE工具支持需求分析、設(shè)計、實現(xiàn)、測試和支持管理的軟件應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件,工程與科學(xué)計算軟件計算機輔助設(shè)計/制造軟件,系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件,醫(yī)療、制藥軟件事務(wù)管理、辦公自動化軟件,計算機輔助教學(xué)軟件2、按規(guī)模劃分有:微型,小型,中型,大型,甚大型和極大型3、按工作方式劃分有:實時處理軟件,分時軟件,交互式軟件,批處理軟件4、按軟件服務(wù)對象的范圍劃分有:項目軟件,產(chǎn)品軟件5、按軟件失效的影響進(jìn)行劃分有:高可靠性軟件,一般可靠性軟件6、按使用的頻度進(jìn)行劃分有一次使用,頻繁使用三、軟件生存期(Life Cycle

4、:1、軟件計劃軟件生存期從時間的角度將軟件開發(fā)任務(wù)進(jìn)行分解,它將開發(fā)過程劃分為任務(wù)相對獨立的各個階段,各階段采用不同的方法或模型去認(rèn)識和描述問題,而工程實踐中階段的劃分以及相互間的組織次序是由項目類型決定的。從上我們可以知道選擇合適的工程過程十分重要!以下是我們經(jīng)常用到的幾個過程模型:瀑布模型、演化模型、螺旋模型、噴泉模型。1.1軟件計劃的目的:制定一個執(zhí)行此軟件工程和管理軟件項目的合理計劃,內(nèi)容包括:對將做的工作進(jìn)行估計建立必要的委托制定執(zhí)行該工作的計劃1.2軟件計劃的任務(wù):確定軟件系統(tǒng)的總目標(biāo)軟件開發(fā)范圍完成該軟件任務(wù)的可行性研究開發(fā)過程的階段劃分與過程模型的選擇分解任務(wù),明確人員的角色與

5、任務(wù)分工確定階段里程碑及其評審標(biāo)準(zhǔn)估計可利用的資源(硬件,軟件,人力等、成本、效益、開發(fā)進(jìn)度與風(fēng)險制定并裁剪項目管理所需的規(guī)范,制定項目開發(fā)的實施計劃,連同可行性研究報告,提交管理部門審查軟件計劃這一階段是形成管理標(biāo)準(zhǔn)與任務(wù)的主要階段,所制定的文檔是下一步項目開發(fā)實施管理的依據(jù)和指南1.3軟件計劃的文檔內(nèi)容一個軟件開發(fā)計劃要包括以下大部分或全部條目:項目選定的軟件生命周期及過程標(biāo)準(zhǔn)將要開發(fā)的各種軟件產(chǎn)品項目進(jìn)度估算軟件工作產(chǎn)品的規(guī)模、費用及所需的資源(人數(shù)設(shè)施、支持工具以及硬件標(biāo)識和評估軟件風(fēng)險商議委托計劃樣例1.4軟件計劃的計劃組件軟件計劃可以從多個方面來制定,階段產(chǎn)品包括:Project

6、Plan (Master PlanSoftware Development PlanSQAPlanSCMPlanRisk Mgt. PlanSoftware Testing PlanTraining Plan最后,這些文檔可以合成為一個文檔2、需求分析和定義2.1需求分析與定義的目的與任務(wù)需求分析階段是軟件開發(fā)成功的最關(guān)鍵階段目的:正確理解和精確定義用戶的需求任務(wù):借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的“做什么”的問題。分析任務(wù)=分析+理解+描述(精確最后,需求的結(jié)果提交評審2.2需求分析和定義產(chǎn)品及形式需求階段產(chǎn)品有:軟件需求規(guī)格說明書數(shù)據(jù)要求說明書初步用戶手冊初步測

7、試計劃初步驗收標(biāo)準(zhǔn)修改、完善與確定軟件開發(fā)實施計劃定義需求的形式圖形模型+文檔規(guī)格說明2.3系統(tǒng)分析技術(shù)與建模有以下幾種方法:四步法基于業(yè)務(wù)目標(biāo)法面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD實體關(guān)系分析法(ER面向?qū)ο蟮姆治龇椒?OOA快速原形法動態(tài)分析法時序圖2.4需求管理的關(guān)鍵(CMM Level2CMM Level2需求文檔化并納入基線需求變更的管理與控制3、軟件設(shè)計3.1軟件設(shè)計的目的與任務(wù)目的:精確定義系統(tǒng)“如何做”任務(wù):根據(jù)需求規(guī)格進(jìn)行以下工作:數(shù)據(jù)設(shè)計軟件系統(tǒng)結(jié)構(gòu)設(shè)計內(nèi)部算法的具體實現(xiàn)流程設(shè)計系統(tǒng)物理實現(xiàn)方案及配臵其它設(shè)計:可靠性設(shè)計,一致性設(shè)計,冗余

8、性設(shè)計,界面設(shè)計,輸入/輸出設(shè)計等3.2軟件設(shè)計階段產(chǎn)品有以下幾個:概要設(shè)計說明書,數(shù)據(jù)庫設(shè)計說明書,詳細(xì)設(shè)計說明書,測試計劃3.3軟件設(shè)計的設(shè)計步驟與過程3.4軟件設(shè)計的結(jié)果及其表達(dá)形式概要設(shè)計階段產(chǎn)品:概要設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書、用戶手冊、測試計劃詳細(xì)設(shè)計階段產(chǎn)品:詳細(xì)設(shè)計規(guī)格說明書、測試計劃與用例說明:方法的不同設(shè)計規(guī)格的表現(xiàn)形式也不同,這是設(shè)計階段之初需要明確規(guī)格的表現(xiàn)形式,形式不同,質(zhì)檢評審的標(biāo)準(zhǔn)也不同,組織過程知識庫需要積累這樣可復(fù)用的過程標(biāo)準(zhǔn)3.3軟件設(shè)計的常用方法與模型工具軟件設(shè)計的常用方法有以下幾種:功能分解法(Parnas、結(jié)構(gòu)化設(shè)計方法(SD、面向數(shù)據(jù)的設(shè)計方法基于

9、信息實體關(guān)系的設(shè)計方法、Jackson方法、Warnier方法、面向?qū)ο蟮脑O(shè)計方法(OOD軟件設(shè)計的常用模型工具有以下幾種:HIPO,層次圖,IPO圖,N-S圖,PAD圖,流程圖,結(jié)構(gòu)圖,判定樹,判定表,類圖,PDL語言等軟件設(shè)計的設(shè)計基礎(chǔ)與優(yōu)化準(zhǔn)則有:自頂向下,逐步細(xì)化軟件結(jié)構(gòu)程序結(jié)構(gòu)結(jié)構(gòu)圖模塊化抽象化信息隱蔽4、程序編碼4.1程序編碼任務(wù):編碼+單元測試。4.2程序編碼要點:編程的質(zhì)量標(biāo)準(zhǔn)不應(yīng)該是技巧的高低,而是代碼的易于理解和可維護性。在程序編碼中,建立開發(fā)組織語言的編程規(guī)范,程序員良好的編程習(xí)慣與程序設(shè)計風(fēng)格對軟件質(zhì)量有著重要影響。4.3程序編碼主要幾種編程方法:非結(jié)構(gòu)化方法,結(jié)構(gòu)化方

10、法,面向?qū)ο蠓椒ā?、測試5.1首先要對測試樹立以下幾個正確的概念:測試是軟件質(zhì)量保證的最后一道關(guān)口,但絕不是質(zhì)量保證的全部。成功的測試是發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)的錯誤,而不是證明程序正確。軟件的錯誤不單單是編碼錯誤,還包括數(shù)據(jù)和文檔不一致引起的錯誤(錯誤分類方法。程序測試不等于軟件測試,生存周期中的一切產(chǎn)品都是測試的對象。不能窮盡測試,但測試結(jié)果數(shù)據(jù)是可靠性度量的基礎(chǔ)。發(fā)現(xiàn)的錯誤個數(shù)與系統(tǒng)殘存的錯誤個數(shù)成正比。測試計劃與用例設(shè)計是軟件配制的重要組成部分。5.2測試的幾個原則應(yīng)當(dāng)把“盡早地和不斷地進(jìn)行軟件測試”作為軟件開發(fā)者的座右銘。測試用例應(yīng)由測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。程序員應(yīng)避

11、免檢查自己的程序。在設(shè)計測試用例時,應(yīng)包括合理的輸入條件和不合理的輸入條件。嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。測試用例是軟件配臵的組成部分,用完后應(yīng)妥善保管軟件的任何修改都要進(jìn)行回歸測試測試要有重點,而且要適度5.3測試信息流5.4測試與生存周期各階段的關(guān)系5.5測試過程5.6測試用例設(shè)計方法黑盒:等價類劃分錯誤推測法、邊界值分析因果圖白盒邏輯覆蓋、語句覆蓋判定-條件覆蓋、判定覆蓋條件組合覆蓋、條件覆蓋路徑覆蓋。5.7測試分類按過程劃分有:A、單元測試:模塊接口測試,局部數(shù)據(jù)結(jié)構(gòu)測試,路徑測試,錯誤處理測試,邊界測試B、集成測試:自頂向下增殖,自底向上增殖,混合增殖測試回歸測試C、確認(rèn)測試:

12、有效性測試,軟件配臵復(fù)查,驗收測試(用戶為主D、系統(tǒng)測試:測試和測試按測試目的劃分有:功能測試可靠性測試強度測試性能測試.恢復(fù)測試啟動/停止測試配臵測試安全性測試可用性測試可支持性測試安裝測試互連性測試兼容性測試容量測試(負(fù)載能力文檔測試5.8常規(guī)系統(tǒng)的幾種測試策略:用黑盒法設(shè)計基本測試方案,再用白盒法做必要補充。A、在任何情況下均采用邊界值進(jìn)行測試B、必要時用等價類劃分法補充C、用錯誤推測法進(jìn)行補充D、根據(jù)軟件可靠性要求,采用不同邏輯覆蓋標(biāo)準(zhǔn)設(shè)計測試用例E、對于程序的任何修改要進(jìn)行回歸測試面向?qū)ο笙到y(tǒng)的測試A、類測試(類內(nèi)測試:基于類的規(guī)格說明測試(又稱靜態(tài)測試、基于類的狀態(tài)行為測試B、類集

13、成測試(類間測試C、回歸測試6、運行/維護6.1幾個概念:運行/維護的目的:保證軟件持久地滿足用戶的需要。維護實際上是二次開發(fā)的過程。維護是軟件整個生存期中最漫長花費最大的階段。6.2維護的種類:各種維護占總維護工作量比例圖完善性維護-50%改正性維護-20%改正性維護-25%適應(yīng)性維護-5%其它7、生存期各階段工作量與費用比例:軟件生存期各個階段費用占總開發(fā)費用的比例:軟件計劃 -1%需求分析與定義-6%設(shè)計 -6%實現(xiàn) -12%測試 -12%維護 -65%8、軟件開發(fā)各階段工作量比例:軟件計劃-2%需求分析與定義-18%設(shè)計-20%實現(xiàn)-20%測試與調(diào)試-40%9、生存周期小結(jié)軟件生存期模

14、型是跨越整個生存期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架生存周期有多種過程模型,體現(xiàn)了對復(fù)雜任務(wù)的分解和過程組織形式。軟件計劃中重要任務(wù)之一就是選擇適合于項目的生命周期模型過程中階段的劃分可根據(jù)項目特點靈活定義四、軟件開發(fā)中普遍存在的問題1、軟件開發(fā)無計劃性2、軟件需求分析困難3、軟件開發(fā)過程無規(guī)范或缺乏規(guī)范4、缺乏量化管理,沒有進(jìn)行開發(fā)全過程的管理和控制5、缺乏合理的人員投入,人員流動大,造成開發(fā)困難6、缺乏階段成果的評審和必要的配臵管理7、開發(fā)組織中普遍存在的錯誤認(rèn)識五、什么是軟件工程 1、軟件工程基本內(nèi)容: 軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù) 軟件工具為軟件工程方法提供了自動的或半自動 的軟件支撐環(huán)境 軟件工程過程定義了開發(fā)步驟方法使用的順序應(yīng)交付的文檔為 保證質(zhì)量和協(xié)調(diào)變化需要的管理以及各個階段需完成的里程碑,它將方法 與工具綜合運用 2、軟件工程的基本目標(biāo) 2.1 工程項目的三個基本要素:進(jìn)度費用和質(zhì)量 2.2 成功

溫馨提示

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

最新文檔

評論

0/150

提交評論