《軟件工程》課件_第1頁
《軟件工程》課件_第2頁
《軟件工程》課件_第3頁
《軟件工程》課件_第4頁
《軟件工程》課件_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程概論課程概述與學(xué)習(xí)目標(biāo)1理解軟件工程基本概念2掌握需求分析方法學(xué)習(xí)軟件設(shè)計技術(shù)什么是軟件工程?系統(tǒng)方法應(yīng)用工程化方法開發(fā)軟件學(xué)科體系包含方法、工具和過程實踐活動軟件產(chǎn)品的開發(fā)與維護軟件工程的歷史與發(fā)展11968年"軟件工程"術(shù)語首次提出21970-80年代結(jié)構(gòu)化方法興起31990年代面向?qū)ο蠓椒餍?21世紀敏捷開發(fā)方法普及軟件危機成本超支項目預(yù)算嚴重不足進度延遲無法按時交付成果質(zhì)量不佳bug多,可靠性低維護困難系統(tǒng)結(jié)構(gòu)混亂軟件工程的基本原則過程清晰化定義明確的開發(fā)流程質(zhì)量為先全過程質(zhì)量控制文檔充分性完整記錄開發(fā)活動團隊協(xié)作有效的溝通與合作軟件生命周期模型12345需求分析確定系統(tǒng)功能設(shè)計架構(gòu)與詳細設(shè)計實現(xiàn)編碼與單元測試測試驗證軟件質(zhì)量維護修復(fù)與功能增強瀑布模型需求分析明確用戶需求系統(tǒng)設(shè)計總體架構(gòu)設(shè)計程序設(shè)計詳細設(shè)計與接口編碼轉(zhuǎn)換為計算機代碼測試發(fā)現(xiàn)并修復(fù)缺陷運行維護投入使用并維護增量模型1初始版本核心功能實現(xiàn)2第二增量次要功能添加3第三增量更多功能完善4最終產(chǎn)品全部功能完成增量模型將系統(tǒng)分解為多個增量構(gòu)建,每個增量提供部分功能。螺旋模型確定目標(biāo)制定計劃1風(fēng)險分析識別解決方案2開發(fā)驗證實現(xiàn)與測試3規(guī)劃下一階段評審與決策4統(tǒng)一過程模型(UP)1初始階段范圍界定2細化階段架構(gòu)建立3構(gòu)建階段功能實現(xiàn)4交付階段部署交付敏捷開發(fā)方法概述個體與交互重于過程和工具可工作軟件重于詳盡文檔客戶合作重于合同談判響應(yīng)變化重于遵循計劃Scrum框架Sprint計劃會確定沖刺目標(biāo)與工作每日站會同步進度與障礙Sprint評審演示成果收集反饋Sprint回顧總結(jié)經(jīng)驗持續(xù)改進需求工程需求獲取收集用戶需求需求分析理解與建模需求規(guī)格說明形成需求文檔需求驗證確認需求正確性需求管理跟蹤需求變更需求獲取技術(shù)訪談與用戶直接交流問卷調(diào)查收集大量用戶意見現(xiàn)場觀察了解實際工作流程頭腦風(fēng)暴集體創(chuàng)意產(chǎn)生需求分析與建模用例模型功能需求分析數(shù)據(jù)流模型數(shù)據(jù)處理分析數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)分析用例建模元素含義參與者與系統(tǒng)交互的角色用例系統(tǒng)提供的功能關(guān)系參與者與用例的聯(lián)系邊界系統(tǒng)范圍界定需求規(guī)格說明書1引言目的、范圍和定義2總體描述產(chǎn)品前景與功能3具體需求詳細功能與非功能需求4附錄補充說明與圖表軟件設(shè)計概述1具體設(shè)計算法與數(shù)據(jù)結(jié)構(gòu)2詳細設(shè)計模塊與接口規(guī)范3架構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)與組件軟件架構(gòu)設(shè)計模塊劃分系統(tǒng)功能分解接口定義模塊間通信規(guī)范結(jié)構(gòu)組織模塊間關(guān)系確定質(zhì)量屬性性能、安全等考量常見軟件架構(gòu)風(fēng)格不同架構(gòu)風(fēng)格適用于不同類型的系統(tǒng),選擇合適的架構(gòu)風(fēng)格至關(guān)重要。面向?qū)ο笤O(shè)計原則單一職責(zé)一個類只負責(zé)一項職責(zé)開放封閉對擴展開放,修改封閉里氏替換子類能替換父類位置依賴倒置依賴抽象而非具體UML圖表概述類圖序列圖活動圖用例圖狀態(tài)圖其他圖UML提供了多種圖表類型,用于從不同角度描述系統(tǒng)。類圖與對象圖類圖描述靜態(tài)類結(jié)構(gòu)及關(guān)系對象圖展示特定時刻對象實例序列圖與協(xié)作圖序列圖強調(diào)時間順序的對象交互協(xié)作圖強調(diào)對象結(jié)構(gòu)關(guān)系的交互狀態(tài)圖與活動圖狀態(tài)圖對象狀態(tài)變化與轉(zhuǎn)換活動圖業(yè)務(wù)流程與算法步驟組件圖與部署圖組件圖系統(tǒng)物理組件與依賴部署圖系統(tǒng)部署到硬件環(huán)境設(shè)計模式概述問題情境反復(fù)出現(xiàn)的設(shè)計挑戰(zhàn)1解決方案經(jīng)過驗證的設(shè)計經(jīng)驗2效果評估權(quán)衡利弊得失3適用場景何時使用該模式4創(chuàng)建型設(shè)計模式1單例模式確保類只有一個實例2工廠方法子類決定實例化哪個類3抽象工廠創(chuàng)建相關(guān)對象家族4建造者模式分步驟構(gòu)建復(fù)雜對象5原型模式通過復(fù)制創(chuàng)建對象結(jié)構(gòu)型設(shè)計模式適配器模式接口轉(zhuǎn)換滿足需求裝飾器模式動態(tài)添加職責(zé)功能代理模式控制對對象的訪問組合模式樹形結(jié)構(gòu)統(tǒng)一處理行為型設(shè)計模式觀察者模式對象狀態(tài)變化通知策略模式算法族可互換使用命令模式請求封裝為對象狀態(tài)模式狀態(tài)改變行為變化軟件實現(xiàn)1編碼規(guī)范代碼風(fēng)格與命名約定2代碼審查同行評審保證質(zhì)量3集成策略將代碼合并入系統(tǒng)4構(gòu)建工具自動化編譯與打包編碼規(guī)范與代碼審查編碼規(guī)范一致的命名與格式注釋與文檔規(guī)則模塊化與復(fù)雜度控制代碼審查發(fā)現(xiàn)潛在缺陷確保遵循規(guī)范知識共享與學(xué)習(xí)版本控制創(chuàng)建分支獨立開發(fā)新功能提交更改保存代碼修改記錄代碼評審審查合并前的代碼合并分支集成到主干分支發(fā)布版本標(biāo)記正式發(fā)布點持續(xù)集成與持續(xù)交付代碼提交開發(fā)人員提交代碼1自動構(gòu)建編譯、測試自動化2部署測試部署到測試環(huán)境3持續(xù)反饋及時發(fā)現(xiàn)問題4軟件測試概述1驗收測試滿足用戶需求2系統(tǒng)測試整體功能驗證3集成測試模塊間接口測試4單元測試獨立模塊測試測試類型與測試級別不同類型的測試關(guān)注軟件不同的質(zhì)量屬性。黑盒測試技術(shù)等價類劃分將輸入分為有效無效類邊界值分析測試邊界條件值決策表法條件組合測試法狀態(tài)轉(zhuǎn)換測試基于狀態(tài)變化測試白盒測試技術(shù)語句覆蓋執(zhí)行所有語句分支覆蓋測試所有分支路徑覆蓋執(zhí)行所有可能路徑條件覆蓋測試所有條件取值單元測試測試框架JUnit、NUnit、PyTest等測試驅(qū)動開發(fā)先寫測試后實現(xiàn)模擬對象依賴隔離測試集成測試自頂向下從主模塊向子模塊測試自底向上從底層模塊向上測試三明治策略結(jié)合兩種方法大爆炸策略所有模塊一次集成系統(tǒng)測試1功能測試驗證功能實現(xiàn)2性能測試測試響應(yīng)時間與資源占用3安全測試驗證安全機制有效性4可靠性測試測試系統(tǒng)穩(wěn)定性驗收測試1α測試開發(fā)環(huán)境用戶測試2β測試真實環(huán)境用戶測試3業(yè)務(wù)場景測試基于用例的端到端測試4合同驗收符合合同規(guī)定功能測試用例設(shè)計要素描述標(biāo)識符唯一的測試用例ID前置條件測試執(zhí)行的初始狀態(tài)輸入步驟測試具體操作步驟期望結(jié)果正確執(zhí)行后的結(jié)果實際結(jié)果測試執(zhí)行后的結(jié)果通過/失敗測試結(jié)果的判定測試計劃與測試報告測試計劃測試范圍與策略資源分配與進度風(fēng)險與應(yīng)對措施測試報告測試執(zhí)行結(jié)果缺陷統(tǒng)計分析質(zhì)量評估結(jié)論軟件維護原因修復(fù)錯誤,適應(yīng)變化活動分析問題,修改代碼挑戰(zhàn)理解遺留代碼,控制風(fēng)險意義延長軟件生命,保持價值軟件維護類型糾錯性維護適應(yīng)性維護完善性維護預(yù)防性維護完善性維護(增加新功能)占據(jù)了軟件維護工作的大部分。軟件重構(gòu)識別問題發(fā)現(xiàn)代碼異味1選擇技術(shù)確定重構(gòu)方法2實施重構(gòu)小步驟逐步改進3測試驗證確保行為一致4軟件項目管理范圍管理界定項目邊界1進度管理計劃控制時間2成本管理預(yù)算與成本控制3質(zhì)量管理確保符合要求4風(fēng)險管理識別應(yīng)對風(fēng)險5項目范圍管理需求收集了解客戶期望范圍定義明確包含排除內(nèi)容工作分解將項目分解為工作包范圍確認客戶驗收可交付成果范圍控制管理范圍變更請求項目進度管理項目進度管理工具幫助團隊規(guī)劃與跟蹤項目時間線。項目成本管理成本估算預(yù)測項目所需資金成本預(yù)算分配資金到工作包成本控制監(jiān)控成本變化掙值分析評估項目進度與成本項目質(zhì)量管理質(zhì)量規(guī)劃制定質(zhì)量標(biāo)準(zhǔn)與方法1質(zhì)量保證審計與改進過程2質(zhì)量控制檢查與測試產(chǎn)品3質(zhì)量改進持續(xù)改進質(zhì)量4項目風(fēng)險管理1風(fēng)險識別找出潛在風(fēng)險2風(fēng)險分析評估影響與概率3風(fēng)險應(yīng)對制定應(yīng)對策略4風(fēng)險監(jiān)控跟蹤風(fēng)險狀態(tài)軟件配置管理版本控制管理代碼與文檔版本變更控制審批與實施變更構(gòu)建管理自動化構(gòu)建與部署發(fā)布管理控制軟件發(fā)布過程軟件度量與估算LOC代碼行數(shù)FP功能點CC圈復(fù)雜度DRE缺陷移除效率軟件質(zhì)量保證同行評審發(fā)現(xiàn)早期缺陷測試活動驗證軟件質(zhì)量質(zhì)量標(biāo)準(zhǔn)遵循最佳實踐質(zhì)量度量量化質(zhì)量屬性軟件過程改進1CMMI5級優(yōu)化級2CMMI4級量化管理級3C

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論