版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程二講義軟件工程第二章軟件過程軟件生命周期的基本任務(重點)瀑布模型(重點)快速原型模型增量模型螺旋模型(重點)噴泉模型軟件過程定義:軟件工程過程是為了獲得高質量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。主要包括:軟件規(guī)格說明:規(guī)定軟件的功能及其運行的限制;軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件;軟件確認:確認軟件能夠完成客戶提出的要求;軟件演進:為滿足客戶的變更要求,軟件必須在使用的過程中演進。軟件過程定義了:方法使用的順序要求交付的文檔資料為保證質量和適應變化所需要的管理軟件開發(fā)各個階段完成的里程碑軟件過程特性:易理解性可見性可支持性可接受性可靠性健壯性可維護性速度§2.1軟件生命周期的基本任務1.軟件生存期Softwarelifecycle軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機軟件的生存周期。軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退役的全過程稱為軟件生存周期。軟件生存周期主要包括以下3個部分:
1.軟件定義(系統(tǒng)分析):問題定義、可行性研究(軟件計劃)、需求分析;2.軟件開發(fā)(系統(tǒng)設計):概要設計、詳細設計、軟件實現(xiàn)(編碼、單元測試)、綜合測試(組裝測試、確認測試);3.軟件運行、維護。
可行性研究、制定初步軟件項目計劃需求分析、制定需求規(guī)格說明概要設計詳細設計實現(xiàn)組裝測試確認測試使用維護退役問題定義可行性研究需求分析概要設計詳細設計編碼和單元測試綜合測試軟件維護一、問題定義
問題定義階段必須回答的關鍵問題:“要解決的問題是什么”。通過調研,系統(tǒng)分析員應該提出關于問題性質、工程目標和工程規(guī)模的書面報告,并且得到客戶對這份報告的確認。這一階段應該完成的書面報告《立項建議書》、《立項調查報告》。二、可行性研究
這個階段要回答的關鍵問題是:“上一階段所確定的問題是否有行得通的解決辦法”。確定要開發(fā)軟件系統(tǒng)的總目標;給出功能、性能、可靠性以及接口等方面的要求;完成該軟件任務的可行性研究;估計可利用的資源(硬件,軟件,人力等)、成本、效益、開發(fā)進度;制定出完成開發(fā)任務的實施計劃,連同可行性研究報告,提交管理部門審查;編寫《軟件可行性分析報告》。三、需求分析
這個階段要準確的回答:“目標系統(tǒng)必須做什么”。需求分析的任務還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,對系統(tǒng)目標提出完成、準確、清晰、具體的要求。對用戶提出的要求進行分析并給出詳細的定義;編寫軟件需求說明書或系統(tǒng)功能說明書及初步的系統(tǒng)用戶手冊;最后完成產(chǎn)品需求定義,編寫產(chǎn)品需求規(guī)格說明書;提交管理機構評審。四、概要設計
這個階段要概括地回答:“怎樣實現(xiàn)目標系統(tǒng)”。
概要設計也可以說是體系結構的設計,根據(jù)軟件需求規(guī)格說明建立軟件系統(tǒng)的總體結構和模塊間的關系,定義個功能模塊的接口,規(guī)定設計約束,確定設計策略、制定組裝測試計劃。把各項需求轉換成軟件的體系結構。結構中每一組成部分都是意義明確的模塊,每個模塊都和某些需求相對應,編寫設計說明書,評審。五、詳細設計
這個階段要概括地回答:“怎樣具體地實現(xiàn)這個系統(tǒng)”。
詳細設計階段的任務就是對概要設計產(chǎn)生的功能模塊逐步細化,形成若干個可編程的程序模塊,用某種過程設計語言設計程序模塊的內部細節(jié),包括算法、數(shù)據(jù)結構和各程序模塊之間的詳細接口信息,為編寫源代碼提供必要的說明,并擬定模塊測試方案。整個階段包括用戶界面設計、數(shù)據(jù)庫設計、模塊設計,編寫設計說明書,提交評審。
需求開發(fā)實現(xiàn)與測試體系結構設計用戶界面設計數(shù)據(jù)庫設計模塊設計系統(tǒng)設計概要設計詳細設計六、編碼和單元測試
這個階段的關鍵任務是寫出正確的容易理解、容易維護的程序模塊,并對這些程序進行調試和程序單元測試。準備編程代碼審查單元測試組裝測試缺陷管理與改錯模塊七、綜合測試
這個階段的關鍵任務是通過各種類型的測試使軟件達到預定的要求。最基本的測試時集成測試和驗收測試。集成測試:根據(jù)設計的軟件結構,把經(jīng)過單元測試檢驗的模塊按某種選定的策略裝配起來,在裝配過成程中隊程序進行必要的測試。驗收測試:按照規(guī)格說明書的規(guī)定,由用戶(或在用戶積極參與下)對目標系統(tǒng)進行驗收。八、軟件維護
這個階段的關鍵任務是通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。改正性維護:診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應性維護:修改軟件以適應環(huán)境的變化;完善性維護:根據(jù)用戶的要求改進或擴充軟件,使它更完善;預防性維護:修改軟件為將來的維護活動預先準備。階段關鍵問題結束標準(任務)問題定義問題是什么?關于規(guī)模和目標的報告書可行性研究是否可行?系統(tǒng)的高層邏輯模型;數(shù)據(jù)流圖;成本/效益分析需求分析系統(tǒng)必須做什么?系統(tǒng)的邏輯模型;數(shù)據(jù)流圖;數(shù)據(jù)字典,算法描述概要設計任何解決問題?系統(tǒng)流程圖;成本/效益分析層次圖和結構圖詳細設計怎樣具體的實現(xiàn)細化功能模塊、設計所需的算法和數(shù)據(jù)結構編碼和單元測試正確的程序模塊源程序清單;單元測試方案和結果組裝測試符合要求的軟件綜合測試方案和結果;完整一致的軟件配置運行、維護持久地滿足用戶需要完整準確的維護記錄軟件生命周期基本原則:(1)用戶參與的原則;(2)“先邏輯,后物理”的原則;(3)“自頂向下”的原則;(4)工作成果描述標準化的原則。軟件生命周期核心思想:(1)嚴格區(qū)分工作階段。(2)自頂層向下層逐層開發(fā),結構化,模塊化。(3)建立面向用戶的觀點,充分預料可能發(fā)生的外部環(huán)境、內部處理、用戶需求的變化。(4)加強調查研究和系統(tǒng)分析,推遲編程和保證開發(fā)質量。軟件開發(fā)模型軟件開發(fā)模型是跨越整個生存期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務的結構框架。
瀑布模型快速原型模型增量模型螺旋模型噴泉模型§2.2瀑布模型瀑布模型(生存周期模型)就是傳統(tǒng)的生命周期方法學(既自頂向下結構化開發(fā)模型方法)。特點:1.階段間具有順序性和依賴性;2.推遲實現(xiàn)的觀點;3.質量保證觀點。優(yōu)點:奠定了軟件工程方法的基礎;流水依賴;便于分工協(xié)作;推遲現(xiàn)實;文檔易修改;有復審質量保證。缺點:用戶需求明確困難;用戶見面晚;糾錯慢;難于克服系統(tǒng)分析員不懂專業(yè)領域的知識,用戶不懂計算機的困難,成功率低。適合于系統(tǒng)要求明確的小系統(tǒng)。問題定義可行性研究需求分析概要設計詳細設計編碼測試運行維護評價返回計劃維護階段開發(fā)階段定義階段定義做什么的問題結構設計如何做的體系結構修改設計需求說明書設計說明書源程序清單測試報告維護報告§2.3快速原型模型原型模型(prototypemodel)是為了確定需求而提出的實際模型。打破傳統(tǒng)的自頂向下結構化開發(fā)模型方法,在計劃和需求分析后,把系統(tǒng)主要功能接口做為設計依據(jù),快速開發(fā)出軟件樣機,及時征求用戶意見,正確確定系統(tǒng)需求,然后再進一步準確地進行系統(tǒng)設計與實現(xiàn)。優(yōu)點:與用戶見面快;開發(fā)成功率高,適合于需求不確定的大系統(tǒng)。缺點:周期長,開發(fā)成本高。計劃需求分析原型開發(fā)原型評價最終系統(tǒng)設計最終系統(tǒng)實現(xiàn)用戶反饋意見建立/修改原型聽取用戶意見用戶測試運行原型開發(fā)思路
對需求簡單快速分析后,利用先進的開發(fā)工具,盡快構造出一個原型,直至系統(tǒng)提供給用戶評價、試用,在試用中不斷修改完善原型,直至用戶滿意為止,否則重新構造一個原型?!?.4增量模型增量模型
也稱漸增模型,使用增量模型開發(fā)軟件時,把軟件產(chǎn)品作為一系列的增量構件來設計、編碼、集成和測試。增量模型由若干個開發(fā)序列構成,每個序列均采用瀑布模型來開發(fā)可以發(fā)行的“增量”,每個“增量”都是在原有軟件基礎上開發(fā)出來的,每產(chǎn)生一個“增量”相當于推出一個軟件新版本。
增量模型是一種分段的線性模型。它與瀑布模型沒有實質性的區(qū)別。優(yōu)點:1.抗變化能力比瀑布模型強;
2.每一個“增量”實現(xiàn)后就可以交給用戶使用,開發(fā)新的“增量”不會花費太長的時間。難點:1.在把每個增量構件集成到現(xiàn)有軟件體系結構中時,必須不破壞原來已經(jīng)發(fā)布出的產(chǎn)品。2.必須把軟件的體系機構設計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構件的過程簡單、方便。
分析調試編碼設計增量4系統(tǒng)/信息工程分析調試編碼設計增量1第1個增量的發(fā)布分析調試編碼設計增量2第2個增量的發(fā)布分析調試編碼設計增量3第3個增量的發(fā)布第4個增量的發(fā)布§2.5螺旋模型螺旋模型(spiralmodel)
它是瀑布模型與原型模型的結合,不僅體現(xiàn)了兩個模型的優(yōu)點,而且還增加了新的成分——風險分析。
螺旋模型沿著螺線旋轉(一個螺旋式周期),在四個象限上分別表達四個方面的活動,即:制定計劃──確定軟件目標,選定實施方案,弄清項目開發(fā)的限制,選定完成目標的策略;風險分析──分析所選方案,考慮如何識別和消除風險,風險角度分析該策略;實施工程──實施軟件開發(fā),啟動一個開發(fā)階段;客戶評估──評價前一步開發(fā)工作,提出修正建議,計劃下一輪的工作。特點瀑布模型+快速原型+風險分析迭代過程邊開發(fā)、邊評審缺點執(zhí)行風險分析的費用較高,會大大降低項目的利潤;使用該模型要求開發(fā)人員具備相當豐富的風險分析經(jīng)驗;螺旋模型過于復雜,不及瀑布模型那么容易理解?!?.6噴泉模型噴泉模型(spiralmodel)
噴泉模型是一種“逐步求精”的面向對象生命周期模型。噴泉模型其實是瀑布模型的另一種表述,其中的各個活動仍然按照分析、設計、實現(xiàn)這樣的順序來執(zhí)行。迭代、無縫
組合模型
軟件開發(fā)模型是針對軟件開發(fā)的某些問題和要求設計的,他們都有各自的優(yōu)點和不足,在實踐中,經(jīng)常把幾種模型組合在一起配套使用,形成組合模型。以一種模型為主,潛入另外一種或幾種模型;建立軟件開發(fā)的組合模型。小結
軟件生命周期:問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼和單元測試、綜合測試以及維護八個階段。瀑布模型:規(guī)范、文檔驅動的方法,適合于項目管理。原型模型(快速原型):適于需求不穩(wěn)定情形。增量模型:在早期階段使投
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版旅游服務貨款擔保合同范本3篇
- 2025年食堂食品安全監(jiān)督服務合同3篇
- 2025版二零二五苗木種植與城市綠化工程合作合同3篇
- 2025年高科技產(chǎn)品外貿(mào)經(jīng)銷代理合同范本3篇
- 2025年食堂蔬菜定制化種植合作合同3篇
- 云母制品在醫(yī)療器械中的應用探索考核試卷
- 二零二五年度木門安裝與室內智能家居系統(tǒng)集成合同4篇
- 2025版學校宿管員招聘、培訓與薪酬合同3篇
- 2025版國務院辦公廳事業(yè)單位教師聘用合同細則3篇
- 2025年倉庫貨物存儲及保管合同
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗
- 春節(jié)文化常識單選題100道及答案
- 12123交管學法減分考試題及答案
- 2025年寒假實踐特色作業(yè)設計模板
- 24年追覓在線測評28題及答案
- 初中物理八年級下冊《動能和勢能》教學課件
- 高考滿分作文常見結構
- 心肌梗死診療指南
- 食堂項目組織架構圖
- 原油脫硫技術
- GB/T 2518-2019連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
評論
0/150
提交評論