《軟件工程與C++編程》課件_第1頁(yè)
《軟件工程與C++編程》課件_第2頁(yè)
《軟件工程與C++編程》課件_第3頁(yè)
《軟件工程與C++編程》課件_第4頁(yè)
《軟件工程與C++編程》課件_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程與C++編程融合軟件工程方法論與C++編程技術(shù)系統(tǒng)學(xué)習(xí)軟件開發(fā)全流程課程概述1課程目標(biāo)掌握軟件工程基本理論與C++編程技術(shù)2學(xué)習(xí)內(nèi)容軟件工程流程、C++基礎(chǔ)與高級(jí)特性、實(shí)戰(zhàn)項(xiàng)目考核方式第一部分:軟件工程基礎(chǔ)1基礎(chǔ)理論軟件生命周期與開發(fā)模型2工程方法需求分析、設(shè)計(jì)與測(cè)試3項(xiàng)目管理進(jìn)度控制、風(fēng)險(xiǎn)管理什么是軟件工程?定義應(yīng)用系統(tǒng)化方法開發(fā)和維護(hù)軟件的工程學(xué)科目標(biāo)高質(zhì)量、可靠、高效、可維護(hù)的軟件產(chǎn)品重要性降低成本、提高質(zhì)量、控制風(fēng)險(xiǎn)軟件生命周期需求分析明確用戶需求1設(shè)計(jì)系統(tǒng)架構(gòu)與詳細(xì)設(shè)計(jì)2實(shí)現(xiàn)編碼與單元測(cè)試3測(cè)試集成與系統(tǒng)測(cè)試4維護(hù)修復(fù)與功能增強(qiáng)5軟件開發(fā)模型1瀑布模型線性順序開發(fā),階段完成后才進(jìn)入下一階段2迭代模型循環(huán)漸進(jìn)開發(fā),不斷完善軟件功能3敏捷開發(fā)快速迭代,重視變化,注重客戶協(xié)作需求分析功能需求系統(tǒng)應(yīng)提供的功能與服務(wù)非功能需求性能、安全性、可用性等質(zhì)量屬性需求獲取技術(shù)訪談、問卷、觀察、原型法軟件設(shè)計(jì)架構(gòu)設(shè)計(jì)系統(tǒng)整體結(jié)構(gòu),模塊劃分詳細(xì)設(shè)計(jì)各模塊內(nèi)部實(shí)現(xiàn)細(xì)節(jié)UML圖用例圖、類圖、時(shí)序圖等可視化工具代碼實(shí)現(xiàn)編碼規(guī)范命名規(guī)則、格式約定、注釋要求版本控制代碼歷史管理,協(xié)作開發(fā)代碼審查發(fā)現(xiàn)問題,確保質(zhì)量軟件測(cè)試1驗(yàn)收測(cè)試用戶確認(rèn)2系統(tǒng)測(cè)試完整功能驗(yàn)證3集成測(cè)試模塊間接口測(cè)試4單元測(cè)試最小功能單元測(cè)試軟件維護(hù)1錯(cuò)誤修復(fù)修復(fù)程序缺陷和系統(tǒng)錯(cuò)誤2功能增強(qiáng)增加新功能,改進(jìn)用戶體驗(yàn)3性能優(yōu)化提高系統(tǒng)響應(yīng)速度和資源利用率項(xiàng)目管理123進(jìn)度管理任務(wù)分解,時(shí)間控制風(fēng)險(xiǎn)管理識(shí)別風(fēng)險(xiǎn),制定應(yīng)對(duì)策略質(zhì)量管理質(zhì)量保證,持續(xù)改進(jìn)第二部分:C++編程基礎(chǔ)語(yǔ)言基礎(chǔ)語(yǔ)法、數(shù)據(jù)類型、控制結(jié)構(gòu)面向?qū)ο箢惻c對(duì)象、繼承、多態(tài)標(biāo)準(zhǔn)庫(kù)STL容器、算法、工具C++語(yǔ)言簡(jiǎn)介1歷史1979年BjarneStroustrup創(chuàng)建,C語(yǔ)言擴(kuò)展2特點(diǎn)高效、面向?qū)ο?、通用性?qiáng)3應(yīng)用領(lǐng)域系統(tǒng)軟件、游戲開發(fā)、高性能計(jì)算C++開發(fā)環(huán)境搭建編譯器選擇GCC、MSVC、ClangIDE安裝VisualStudio、CLion、Code::Blocks第一個(gè)C++程序創(chuàng)建、編譯、運(yùn)行HelloWorldC++基本語(yǔ)法數(shù)據(jù)類型整型、浮點(diǎn)型、字符型、布爾型變量與常量聲明、初始化、作用域、生命周期運(yùn)算符算術(shù)、關(guān)系、邏輯、位運(yùn)算控制結(jié)構(gòu)if-else語(yǔ)句條件判斷,選擇執(zhí)行switch語(yǔ)句多分支選擇結(jié)構(gòu)循環(huán)語(yǔ)句for、while、do-while函數(shù)函數(shù)定義返回類型、函數(shù)名、參數(shù)列表、函數(shù)體函數(shù)調(diào)用傳遞實(shí)參,接收返回值參數(shù)傳遞值傳遞、引用傳遞、指針傳遞數(shù)組與指針一維數(shù)組:固定大小的同類元素集合多維數(shù)組:數(shù)組的數(shù)組,處理矩陣數(shù)據(jù)指針基礎(chǔ):存儲(chǔ)內(nèi)存地址的變量字符串處理C風(fēng)格字符串字符數(shù)組,以'\0'結(jié)尾string類C++標(biāo)準(zhǔn)庫(kù)字符串,更安全便捷結(jié)構(gòu)體與類結(jié)構(gòu)體定義struct關(guān)鍵字,成員默認(rèn)公有類的基本概念class關(guān)鍵字,成員默認(rèn)私有對(duì)象創(chuàng)建實(shí)例化類,構(gòu)造函數(shù),析構(gòu)函數(shù)面向?qū)ο缶幊蹋ㄒ唬┓庋b數(shù)據(jù)與方法組合,信息隱藏1繼承派生類復(fù)用基類功能2多態(tài)統(tǒng)一接口,不同實(shí)現(xiàn)3面向?qū)ο缶幊蹋ǘ?虛函數(shù)允許派生類重寫基類方法2抽象類含純虛函數(shù)的類,不能實(shí)例化3接口純虛函數(shù)集合,定義行為規(guī)范模板編程1函數(shù)模板創(chuàng)建類型無(wú)關(guān)的函數(shù)2類模板創(chuàng)建類型無(wú)關(guān)的類3模板特化為特定類型提供特殊實(shí)現(xiàn)異常處理try-catch語(yǔ)句嘗試執(zhí)行代碼,捕獲異常異常類標(biāo)準(zhǔn)異常層次結(jié)構(gòu)自定義異常創(chuàng)建特定于應(yīng)用的異常類STL容器vector動(dòng)態(tài)數(shù)組,隨機(jī)訪問list雙向鏈表,快速插入刪除map鍵值對(duì)映射,自動(dòng)排序STL算法排序算法sort、partial_sort、stable_sort查找算法find、binary_search、lower_bound其他常用算法for_each、transform、accumulate文件操作文本文件讀寫ifstream、ofstream流操作二進(jìn)制文件讀寫read、write函數(shù),隨機(jī)訪問第三部分:C++在軟件工程中的應(yīng)用1實(shí)踐應(yīng)用實(shí)際項(xiàng)目開發(fā)2工程技術(shù)測(cè)試、調(diào)試、優(yōu)化3設(shè)計(jì)模式常用模式與實(shí)現(xiàn)4代碼規(guī)范編碼標(biāo)準(zhǔn)與最佳實(shí)踐C++項(xiàng)目結(jié)構(gòu)頭文件聲明接口,類定義1源文件實(shí)現(xiàn)功能,定義方法2項(xiàng)目組織模塊劃分,目錄結(jié)構(gòu)3代碼規(guī)范1命名規(guī)范類、變量、函數(shù)命名約定2注釋規(guī)范文檔注釋,行內(nèi)注釋3格式規(guī)范縮進(jìn),括號(hào),空格使用設(shè)計(jì)模式(一)單例模式確保類只有一個(gè)實(shí)例工廠模式創(chuàng)建對(duì)象而不暴露創(chuàng)建邏輯觀察者模式對(duì)象間一對(duì)多的依賴關(guān)系設(shè)計(jì)模式(二)策略模式:算法族,相互替換裝飾器模式:動(dòng)態(tài)添加功能適配器模式:接口轉(zhuǎn)換,兼容性單元測(cè)試1GoogleTest框架測(cè)試套件,測(cè)試夾具,斷言2測(cè)試用例編寫邊界條件,異常情況,典型場(chǎng)景3測(cè)試覆蓋率語(yǔ)句覆蓋,分支覆蓋,路徑覆蓋性能優(yōu)化代碼優(yōu)化技巧減少?gòu)?fù)制,內(nèi)聯(lián)函數(shù),算法改進(jìn)內(nèi)存管理避免泄漏,減少碎片多線程編程并行計(jì)算,任務(wù)分解調(diào)試技巧斷點(diǎn)調(diào)試設(shè)置斷點(diǎn),單步執(zhí)行,觀察變量?jī)?nèi)存泄漏檢測(cè)Valgrind,AddressSanitizer日志記錄跟蹤程序執(zhí)行,記錄關(guān)鍵信息版本控制Git基礎(chǔ)倉(cāng)庫(kù)創(chuàng)建,提交,推送分支管理創(chuàng)建分支,切換,合并代碼合并解決沖突,PullRequest持續(xù)集成JenkinsCI/CD平臺(tái),構(gòu)建流水線自動(dòng)化構(gòu)建編譯,鏈接,打包自動(dòng)化測(cè)試單元測(cè)試,集成測(cè)試自動(dòng)執(zhí)行代碼審查代碼審查流程提交,分配,反饋,修改1常見問題錯(cuò)誤處理,命名,復(fù)雜度2最佳實(shí)踐小批量提交,及時(shí)反饋3第四部分:C++高級(jí)特性1C++20新特性現(xiàn)代C++新標(biāo)準(zhǔn)2現(xiàn)代C++特性C++11/14/17新功能3高級(jí)編程技術(shù)多線程,智能指針智能指針unique_ptr獨(dú)占所有權(quán),不可復(fù)制shared_ptr共享所有權(quán),引用計(jì)數(shù)weak_ptr弱引用,避免循環(huán)引用多線程編程thread類創(chuàng)建線程,傳遞參數(shù),等待完成互斥鎖保護(hù)共享資源,避免競(jìng)態(tài)條件條件變量線程同步,等待通知Lambda表達(dá)式基本語(yǔ)法:[](){}結(jié)構(gòu),簡(jiǎn)潔函數(shù)定義捕獲列表:按值捕獲,按引用捕獲應(yīng)用場(chǎng)景:STL算法,回調(diào)函數(shù)右值引用與移動(dòng)語(yǔ)義左值與右值:持久對(duì)象與臨時(shí)對(duì)象移動(dòng)構(gòu)造函數(shù):資源轉(zhuǎn)移而非復(fù)制完美轉(zhuǎn)發(fā):保持參數(shù)類型與值類別C++11新特性1auto關(guān)鍵字自動(dòng)類型推導(dǎo),簡(jiǎn)化代碼2范圍for循環(huán)簡(jiǎn)化容器遍歷寫法3nullptr替代NULL的類型安全的空指針C++14新特性1+支持auto參數(shù)類型2+參數(shù)化的變量3+更靈活的編譯期計(jì)算C++17新特性結(jié)構(gòu)化綁定解構(gòu)元組和結(jié)構(gòu)體到多個(gè)變量ifconstexpr編譯期條件判斷std::optional可能存在或不存在的值C++20新特性概念(Concepts)定義模板約束條件協(xié)程(Coroutines)可暫停和恢復(fù)的函數(shù)模塊(Modules)替代頭文件的新組織方式第五部分:C++實(shí)戰(zhàn)項(xiàng)目需求分析明確項(xiàng)目目標(biāo)與功能系統(tǒng)設(shè)計(jì)架構(gòu)設(shè)計(jì)與模塊劃分實(shí)現(xiàn)與測(cè)試編碼實(shí)現(xiàn)各功能模塊部署與維護(hù)項(xiàng)目發(fā)布與后續(xù)維護(hù)項(xiàng)目介紹項(xiàng)目背景解決的問題,市場(chǎng)需求1功能需求核心功能,用戶交互2技術(shù)選型C++17,SQLite,Qt框架3系統(tǒng)設(shè)計(jì)1架構(gòu)設(shè)計(jì)分層架構(gòu),模塊間通信2模塊劃分UI層,業(yè)務(wù)層,數(shù)據(jù)層3類圖設(shè)計(jì)核心類及其關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)ER圖實(shí)體關(guān)系模型設(shè)計(jì)表結(jié)構(gòu)設(shè)計(jì)字段定義,索引設(shè)計(jì)SQL語(yǔ)句數(shù)據(jù)查詢,更新操作用戶界面設(shè)計(jì)Qt框架簡(jiǎn)介跨平臺(tái)UI庫(kù),信號(hào)槽機(jī)制界面布局窗口組織,控件擺放事件處理用戶交互響應(yīng)核心功能實(shí)現(xiàn)(一)用戶管理模塊登錄,注冊(cè),權(quán)限控制數(shù)據(jù)存儲(chǔ)模塊數(shù)據(jù)持久化,緩存機(jī)制業(yè)務(wù)邏輯模塊核心算法,業(yè)務(wù)規(guī)則核心功能實(shí)現(xiàn)(二)算法實(shí)現(xiàn)核心算法設(shè)計(jì)與優(yōu)化多線程優(yōu)化并行處理提高響應(yīng)速度異常處理錯(cuò)誤捕獲與恢復(fù)機(jī)制單元測(cè)試與集成測(cè)試測(cè)試計(jì)劃測(cè)試范圍,進(jìn)度安排1測(cè)試用例設(shè)計(jì)輸入,預(yù)期輸出,執(zhí)行條件2測(cè)試執(zhí)行與報(bào)告執(zhí)行測(cè)試,記錄結(jié)果3性能優(yōu)化與調(diào)優(yōu)1性能瓶頸分析分析工具,熱點(diǎn)識(shí)別2內(nèi)存優(yōu)化減少內(nèi)存占用,避免泄漏3算法優(yōu)化改進(jìn)時(shí)間復(fù)雜度,空間復(fù)雜度項(xiàng)目部署與維護(hù)打包與發(fā)布創(chuàng)建安裝包,版本管理安裝與

溫馨提示

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

評(píng)論

0/150

提交評(píng)論