版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程名稱軟件工程基礎(chǔ)課程編號授課時間專業(yè)及班級修課人數(shù)總學時48+16學分3.5課程類型必修課公共基礎(chǔ)()專業(yè)(學科)基礎(chǔ)課(√)專業(yè)課()選修課專業(yè)限選課()專業(yè)任選課()全校任選課()授課方式理論課(√)實踐課(√)學時分配課堂講授48學時;實踐環(huán)節(jié)16學時考核方式考試(√)考查()是否采用多媒體是是否采用雙語否使用教材:(名稱、作者、出版社及出版時間)呂云翔.軟件工程—理論與實踐(附微課視頻第3版)[M].北京:人民郵電出版社,2024教學參考書:(名稱、作者、出版社及出版時間)呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016教研室審查意見章節(jié)名稱第1章軟件工程概述(1)課次1(總第1次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解此課程的教學安排和考核方式。了解軟件的概念、特點。了解軟件危機的產(chǎn)生原因及其表現(xiàn)。掌握軟件工程的概念,以及軟件工程的基本原則。通過案例“青鳥工程1”,進行思政教育。教學重點課程的教學安排和考核方式軟件工程的概念教學難點無環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘一、課程的教學安排和考核方式講授正式授課80分鐘課程的教學安排和考核方式(續(xù))二、軟件計算機軟件是由專業(yè)人員開發(fā)并長期維護的軟件產(chǎn)品。完整的軟件產(chǎn)品包括了在各種不同容量和體系結(jié)構(gòu)計算機上的可執(zhí)行的程序,運行過程中產(chǎn)生的各種結(jié)果,以及以硬拷貝和電子表格等多種方式存在的軟件文檔。三、軟件危機軟件危機就是指人們在開發(fā)軟件和維護軟件過程中所遇到的一系列的問題。軟件危機出現(xiàn)的原因可以概括為以下幾點。忽視軟件開發(fā)前期的需求分析。開發(fā)過程缺乏統(tǒng)一的、規(guī)范化的方法論的指導。軟件開發(fā)是一項復雜的工程,人們需要用科學的工程化的思想來組織和指導軟件開發(fā)的各個階段。而這種工程學的視角正是很多軟件開發(fā)人員所沒有的,他們往往簡單地認為軟件開發(fā)就是程序設(shè)計。文檔資料不齊全或不準確。軟件文檔的重要性沒有得到軟件開發(fā)人員和用戶的足夠重視。軟件文檔是軟件開發(fā)團隊成員之間交流和溝通的重要平臺,還是軟件開發(fā)項目管理的重要工具。如果人們不能充分重視軟件文檔的價值,這樣勢必會給軟件開發(fā)帶來很多不便。忽視與用戶之間、開發(fā)組成員之間的交流。忽視測試的重要性。不重視維護或由于上述原因造成維護工作的困難。由于軟件的抽象性和復雜性使得軟件在運行之前,對開發(fā)過程的進展情況很難估計。再加上軟件錯誤的隱蔽性和改正的復雜性,這些都使得軟件開發(fā)和維護在客觀上比較困難。從事軟件開發(fā)的專業(yè)人員對這個產(chǎn)業(yè)認識不充分,缺乏經(jīng)驗。軟件產(chǎn)業(yè)相對于其他工業(yè)產(chǎn)業(yè)而言,是一個比較年輕,發(fā)展不成熟的產(chǎn)業(yè),人們在對它的認識上缺乏深刻性。沒有完善的質(zhì)量保證體系。完善的質(zhì)量保證體系的建立需要有嚴格的評審制度,同時還需要有科學的軟件測試技術(shù)及質(zhì)量維護技術(shù)。軟件的質(zhì)量得不到保證,使得開發(fā)出來的軟件產(chǎn)品往往不能滿足人們的需求,同時人們還可能需要花費大量的時間、資金和精力去修復軟件的缺陷,從而導致了軟件質(zhì)量的下降和開發(fā)預(yù)算超支等后果。四、軟件工程1.軟件工程的概念軟件工程是以借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的,指導計算機軟件開發(fā)和維護的工程學科。2.軟件工程研究的內(nèi)容(1)軟件開發(fā)技術(shù)(2)軟件開發(fā)過程管理3.軟件工程目標和原則(1)用分階段的生命周期計劃進行嚴格的管理(2)堅持進行階段評審(3)實行嚴格的版本控制(4)采用現(xiàn)代程序設(shè)計技術(shù)(5)軟件工程結(jié)果應(yīng)能清楚地審查(6)開發(fā)小組的人員應(yīng)該少而精(7)承認不斷改進軟件工程實踐的必要性五、課程思政:簡要介紹案例“青鳥工程1”講授思考題和作業(yè)P21~23習題擴展閱讀無章節(jié)名稱第1章軟件工程概述(2)課次1(總第2次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求掌握軟件過程的定義和基本活動。熟悉常用的幾種軟件過程模型。了解軟件開發(fā)的方法。了解與軟件開發(fā)項目相關(guān)的常用工具。了解軟件工程人員的職業(yè)道德。通過案例“青鳥工程2”,進行思政教育教學重點軟件過程模型軟件工程人員的職業(yè)道德教學難點軟件過程模型環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘一、軟件過程概述軟件的誕生和生命周期是一個過程,即軟件過程。過程定義了運用方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施,以及標志軟件開發(fā)各個階段任務(wù)完成的里程碑。講授正式授課80分鐘二、軟件生命周期(1)軟件生命周期的概念軟件產(chǎn)品的生命周期是指從設(shè)計該產(chǎn)品的構(gòu)想開始,到軟件需求的確定、軟件設(shè)計、軟件實現(xiàn)、產(chǎn)品測試與驗收、產(chǎn)品發(fā)布、投入是用以及產(chǎn)品版本的不斷更新,到最終該產(chǎn)品被淘汰的全過程。(2)傳統(tǒng)軟件生命周期的各個階段①可行性研究②需求分析③軟件設(shè)計④編碼⑤軟件測試⑥軟件維護(3)軟件過程模型①瀑布模型:開發(fā)人員必須等前一階段的任務(wù)完成后,才能開始后一階段的工作,并且前一階段的輸出往往是后一階段的輸入(圖1-2)②快速原型模型:在初步的需求分析之后,馬上向客戶展示一個軟件產(chǎn)品原型,對客戶進行培訓,讓客戶試用,反復循環(huán)幾次,直到客戶確認為止(圖1-3)③增量模型:把待開發(fā)的軟件系統(tǒng)模塊化,將每個模塊作為一個增量組件,從而分批次地分析、設(shè)計、編碼和測試這些增量組件。(圖1-4)④螺旋模型:用于風險較大的大型軟件項目開發(fā),將瀑布模型與快速原型模型結(jié)合起來,并且加入了這兩種模型忽略了的風險分析(圖1-5)⑤噴泉模型:分析模型和設(shè)計模型采用相同的符號標示體系,各階段之間沒有明顯的界限,而且常常重復、迭代地進行(圖1-6)⑥基于組件的開發(fā)模型:使用現(xiàn)有的組件以及系統(tǒng)框架進行產(chǎn)品開發(fā)(圖1-7)⑦統(tǒng)一軟件開發(fā)過程模型:基于UML的一種面向?qū)ο蟮能浖_發(fā)模型,采用迭代和增量遞進的開發(fā)策略,并以用例驅(qū)動為特點,集中了多個軟件開發(fā)模型的優(yōu)點(圖1-8)(4)軟件過程實例略三、軟件開發(fā)方法1.基本的軟件開發(fā)方法(1)結(jié)構(gòu)化方法:采用自頂向下、逐步求精的指導思想,應(yīng)用廣泛,技術(shù)成熟(2)面向數(shù)據(jù)結(jié)構(gòu)方法:從目標系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導出程序框架結(jié)構(gòu),再補充其他細節(jié),就可得到完整的程序結(jié)構(gòu)圖(3)面向?qū)ο蠓椒ǎ鹤缘紫蛏虾妥皂斚蛳孪嘟Y(jié)合,以對象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實際上也包括了所有對象的數(shù)據(jù)結(jié)構(gòu)。(4)形式化方法2.開源軟件開發(fā)方法3.群體化軟件開發(fā)方法四、軟件工程工具結(jié)合表1-3、表1-4進行講解五、軟件工程人員的職業(yè)道德(1)保護客戶數(shù)據(jù)(2)知識產(chǎn)權(quán)(3)版權(quán)擁有權(quán)(4)許可協(xié)議(5)道德問題解決方案(6)道德教育六、“小型網(wǎng)上書店系統(tǒng)”案例介紹七、課程思政:簡要介紹案例“青鳥工程2”講授思考題和作業(yè)P21~23習題擴展閱讀無章節(jié)名稱第2章敏捷軟件開發(fā)(1)課次1(總第3次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解“敏捷軟件開發(fā)宣言”的4個價值觀和12條原則理解重要的敏捷軟件開發(fā)實踐,例如Scrum中的Sprint、用戶故事、Backlog等通過案例“微信1”,進行思政教育教學重點用戶故事Scrum教學難點用戶故事Scrum環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入
10分鐘敏捷軟件開發(fā)方法(1)4個價值觀:個體與交互高于過程和工具、可運行軟件高于詳盡的文檔、與客戶協(xié)作高于合同(契約)談判、對變更及時響應(yīng)高于遵循計劃(2)12條原則講授正式授課80分鐘二、Scrum1.概述Scrum用不斷迭代的框架方法來管理復雜產(chǎn)品的開發(fā),成為當前十分流行的敏捷管理方法。1)3種角色:產(chǎn)品經(jīng)理、敏捷專家、Scrum團隊2)Scrum會議:整理產(chǎn)品需求清單、確定迭代規(guī)劃、梳理產(chǎn)品需求清單、每日站會、迭代演示、迭代回顧3)Scrum項目所需的常用工件:Scrum任務(wù)板、用戶故事、燃盡圖(圖2-2)2.SprintSprint是Scrum團隊一起完成增量工作的實際時間段3.每日站會每天在同一時間和地點舉行的超短會議,以保持會議的簡單性4.用戶故事用戶故事是從用戶的角度來描述用戶渴望得到的功能(1)3要素:角色、活動、商業(yè)價值(2)3C原則:卡片、交談、確認(3)INVEST原則:獨立、可協(xié)商、有價值、可估算、短小、可測試結(jié)合表2-1、表2-2、表2-3進行講述5.BacklogBacklog是Scrum中經(jīng)過優(yōu)先級排序的動態(tài)刷新的產(chǎn)品需求清單,用來制訂發(fā)布計劃和迭代計劃6.結(jié)對編程結(jié)對編程,即兩個程序員肩并肩地坐在同一臺計算機前合作編程,在一個程序員編程的同時,另一個負責檢查代碼的正確性和可讀性三、課程思政:簡要介紹案例“微信1”講授思考題和作業(yè)P41~43習題擴展閱讀無章節(jié)名稱第2章敏捷軟件開發(fā)(2)課次1(總第4次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求理解面向敏捷軟件開發(fā)的Kanban、XP方法理解敏捷軟件開發(fā)和DevOps是一種理念,而CI/CD是實現(xiàn)這兩種理念的一種方法通過案例“微信2”,進行思政教育教學重點CI/CD教學難點CI/CD環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入
10分鐘回顧上一次所講的內(nèi)容講授正式授課80分鐘一、看板1.概述看板作為可視化框架可以用于敏捷方法,能夠清晰地向團隊成員展示整個項目進度原則:可視化工作流程、限制WIP、管理和改進流程、制訂明確的執(zhí)行策略、持續(xù)改進2.看板和Scrum的區(qū)別看板對團隊的個人能力要求較高,更靈活,適合新開發(fā)的產(chǎn)品,而Scrum適合成熟一些的產(chǎn)品和團隊,結(jié)合表2-4進行講授二、極限編程極限編程是一種實踐性較強的規(guī)范化的軟件開發(fā)方法,它強調(diào)用戶需求和團隊工作,結(jié)合圖2-4進行講授。(1)4個價值觀:交流、簡單、反饋、勇氣(2)12個核心實踐三、CI/CD(1)概述①持續(xù)集成(CI)②持續(xù)交付(CD)③持續(xù)測試(2)CI/CD的優(yōu)勢更快、更可靠的版本發(fā)布、更高的可見性、早期錯誤檢測、快速反饋循環(huán)、更快樂的開發(fā)和運維團隊四、DevOps1.DevOps生命周期策劃、開發(fā)、集成、部署、運維、學習2.敏捷軟件開發(fā)、CI/CD和DevOps五、敏捷軟件開發(fā)實例六、課程思政:簡要介紹案例“微信2”講授思考題和作業(yè)P41~43習題擴展閱讀無章節(jié)名稱第3章可行性研究與項目開發(fā)計劃課次1(總第5次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解可行性研究的目的、意義和內(nèi)容掌握可行性研究的主要步驟了解項目開發(fā)計劃的內(nèi)容通過案例“釘釘軟件”,進行思政教育教學重點可行性研究的任務(wù)、過程、成本效益分析教學難點成本效益分析環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘引入項目的立項講授正式授課80分鐘項目立項概述項目立項包括項目發(fā)起、項目論證、項目審核和項目批準四個過程二、可行性研究的任務(wù)可行性研究需要從多個方面進行評估,主要包括戰(zhàn)略可行性、操作可行性、計劃可行性、技術(shù)可行性、社會可行性、市場可行性、經(jīng)濟可行性和風險可行性等計劃可行性主要研究待開發(fā)的系統(tǒng)的功能、性能和限制條件,確定現(xiàn)有技術(shù)能否實現(xiàn)有關(guān)的解決方案,在現(xiàn)有的資源條件下實現(xiàn)新系統(tǒng)的技術(shù)風險有多大操作可行性經(jīng)濟可行性成本估算代碼行技術(shù)任務(wù)分解技術(shù)成本——效益分析開發(fā)成本運行費用經(jīng)濟效益貨幣的時間價值投資回收期純收入三、可行性研究的步驟一個典型的可行性研究的步驟可以歸結(jié)為以下幾步:明確系統(tǒng)的目標、分析研究現(xiàn)行系統(tǒng)、設(shè)計新系統(tǒng)的高層邏輯模型、獲得并比較可行的方案、撰寫可行性研究報告(圖3-1)四、可行性研究實例五、制訂項目開發(fā)計劃項目開發(fā)計劃主要包括:項目概述、實施計劃、人員組織及分工、交付期限六、課程思政:簡要介紹案例“釘釘軟件”講授思考題和作業(yè)P50~52習題擴展閱讀無章節(jié)名稱第4章需求分析與結(jié)構(gòu)化分析(1)課次1(總第6次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解需求分析的任務(wù)和原則熟悉進行需求分析的步驟和方法了解需求管理熟悉需求分析的常用方法了解軟件原型通過案例“漢字激光照排系統(tǒng)1”,進行思政教育教學重點需求分析的常用方法教學難點軟件原型環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘引入需求分析講授正式授課80分鐘一、需求分析1.需求分析的任務(wù)和原則2.需求分析的步驟(1)需求獲取收集并明確用戶需求,獲取需求的方法有多種。問卷調(diào)查訪談實地操作建立原型(2)分析建模模型是為了理解事物而對事物做出的一種抽象,通常由一組符號和組織這些符號的規(guī)則組成。(3)需求描述需求描述就是編制需求分析階段的文檔,一般包括三個文檔:系統(tǒng)定義文檔(用戶需求報告)、系統(tǒng)需求文檔(系統(tǒng)需求規(guī)格說明書)、軟件需求文檔(軟件需求規(guī)格說明書)(圖4-2)。(4)需求驗證與評審3.需求管理有效需求管理的關(guān)鍵在于維護需求的明確闡述、每種需求類型所使用的屬性,以及與其他需求和其他項目之間的可追蹤。需求分析的常用方法功能分解方法結(jié)構(gòu)化分析方法信息建模方法面向?qū)ο蟮姆治龇椒ㄜ浖蛙浖褪侵冈陧椖康那捌陔A段,系統(tǒng)分析人員根據(jù)對客戶需求的理解和客戶希望實現(xiàn)的結(jié)果,快速地給出一個翔實的產(chǎn)品雛形二、課程思政:簡要介紹案例“漢字激光照排系統(tǒng)1”講授思考題和作業(yè)P72~74習題擴展閱讀無章節(jié)名稱第4章需求分析與結(jié)構(gòu)化分析(2)課次1(總第7次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解結(jié)構(gòu)化分析掌握結(jié)構(gòu)化分析的幾種常用建模方法掌握結(jié)構(gòu)化分析的幾種圖形工具通過案例“漢字激光照排系統(tǒng)2”,進行思政教育教學重點結(jié)構(gòu)化分析方法教學難點結(jié)構(gòu)化分析方法環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上一次課需求分析的內(nèi)容講授正式授課80分鐘一、結(jié)構(gòu)化分析概述1.建立當前系統(tǒng)的“具體模型”2.抽象出當前系統(tǒng)的邏輯模型3.建立目標系統(tǒng)的邏輯模型4.考慮人機界面和其他一些問題二、結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析實質(zhì)上是一種創(chuàng)建模型的活動(圖4-5)功能建模功能建模是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞和變換的關(guān)系,自頂向下逐層分解,直到能夠構(gòu)建滿足功能要求的可實現(xiàn)的軟件為止數(shù)據(jù)流圖的表示符號4種表示符號,外部實體、數(shù)據(jù)流、數(shù)據(jù)變換、數(shù)據(jù)存儲(圖4-6)環(huán)境圖環(huán)境圖僅包含一個數(shù)據(jù)處理過程,即要開發(fā)的目標系統(tǒng)。環(huán)境圖的作用是確定系統(tǒng)在其環(huán)境中的位置,通過確定系統(tǒng)的輸入和輸出與外部實體的關(guān)系確定其邊界(圖4-7、圖4-8)數(shù)據(jù)流圖的分解結(jié)合圖4-9、圖4-10、圖4-11講授分解的流程數(shù)據(jù)建模數(shù)據(jù)建模是在較高的抽象層次上對數(shù)據(jù)庫結(jié)構(gòu)進行建模,數(shù)據(jù)模型用E-R圖來描述E-R圖以實體、關(guān)系和屬性3個基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。實體是現(xiàn)實世界的事物,多用矩形框表示。屬性多用橢圓形表示,關(guān)系用菱形表示。實體之間存在一對一、一對多、多對多三種關(guān)系類型,結(jié)合圖4-12、圖4-13、圖4-14中的具體例子進行講授行為建模狀態(tài)轉(zhuǎn)換圖是一種描述系統(tǒng)對內(nèi)部或外部事件響應(yīng)的行為模型,描述系統(tǒng)狀態(tài)、事件和事件引發(fā)系統(tǒng)在狀態(tài)之間的轉(zhuǎn)換狀態(tài)及狀態(tài)轉(zhuǎn)換狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,規(guī)定了系統(tǒng)對事件的響應(yīng)方式,結(jié)合圖5-15進行狀態(tài)轉(zhuǎn)換圖的講授事件事件是在某個特定時刻發(fā)生的事情,狀態(tài)轉(zhuǎn)換通常是由事件觸發(fā)的,在這種情況下應(yīng)在表示狀態(tài)轉(zhuǎn)換的箭頭線上標出觸發(fā)轉(zhuǎn)換的事件表達式例子結(jié)合圖4-16演示圖書館管理系統(tǒng)的例子數(shù)據(jù)字典數(shù)據(jù)字典以一種系統(tǒng)化的方式定義在分析模型中出現(xiàn)的數(shù)據(jù)對象及控制信息的特性,給出它們的準確定義,包括數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)項、數(shù)據(jù)加工,以及數(shù)據(jù)源點、數(shù)據(jù)匯點等(表4-1)。加工規(guī)格說明在對數(shù)據(jù)流圖的分解中,位于最底層數(shù)據(jù)流圖的數(shù)據(jù)處理,稱為基本加工,對于每一個基本加工都需要進一步說明,稱為加工規(guī)格說明,一般用結(jié)構(gòu)化語言、判定表和判定樹來表述(結(jié)合圖表4-2、圖4-17進行講授)三、結(jié)構(gòu)化分析的圖形工具圖形工具包括層次方框圖、Warnier圖和IPO圖,結(jié)合圖4-18、圖4-19、圖4-20、圖4-21進行講授四、結(jié)構(gòu)化分析實例結(jié)合圖4-22、圖4-23、圖4-24、圖4-25對某培訓機構(gòu)入學管理系統(tǒng)進行結(jié)構(gòu)化分析和演示五、課程思政:簡要介紹案例“漢字激光照排系統(tǒng)2”講授+演示思考題和作業(yè)P72~74習題擴展閱讀無章節(jié)名稱第5章軟件設(shè)計與結(jié)構(gòu)化設(shè)計(1)課次1(總第8次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解軟件設(shè)計的意義和目標。掌握軟件設(shè)計的原則。了解軟件設(shè)計的分類。了解軟件體系結(jié)構(gòu)。通過案例“高斯數(shù)據(jù)庫1”,進行思政教育教學重點軟件設(shè)計的原則教學難點軟件體系結(jié)構(gòu)環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘設(shè)計是將用戶需求轉(zhuǎn)變?yōu)檐浖?gòu)建藍圖的過程,在軟件開發(fā)過程中處于核心地位。軟件設(shè)計的原則模塊化抽象逐步求精信息隱藏復用性設(shè)計靈活性設(shè)計軟件設(shè)計追求使用抽象和逐步求精的方式實現(xiàn)高內(nèi)聚,低耦合的模塊劃分,并遵循信息隱藏的原則,使已有設(shè)計能更靈活,更具有可復用性。軟件設(shè)計的分類軟件設(shè)計包括數(shù)據(jù)設(shè)計,體系結(jié)構(gòu)設(shè)計,接口設(shè)計,構(gòu)件設(shè)計,部署設(shè)計五個部分。講授正式授課80分鐘軟件體系結(jié)構(gòu)的概念體系結(jié)構(gòu)相當于一個系統(tǒng)的整體框架的草圖,描述系統(tǒng)組成的估價。軟件體系結(jié)構(gòu)對于一個軟件系統(tǒng)來說具有至關(guān)重要的作用。軟件體系結(jié)構(gòu)包括:軟件的組成元素;這些元素的外部可見特性;這些元素之間的相互關(guān)系。軟件體系結(jié)構(gòu)的作用軟件體系結(jié)構(gòu)在軟件開發(fā)過程中的作用如下。規(guī)范軟件開發(fā)的基本架構(gòu)便于開發(fā)人員與用戶的溝通模塊化、層次化設(shè)計,有利于減少返工,提高效率便于系統(tǒng)開發(fā)前、后期的籌備與服務(wù)五、典型的軟件體系結(jié)構(gòu)風格數(shù)據(jù)流風格數(shù)據(jù)到達時被激活處理工作,無數(shù)據(jù)時不工作。調(diào)用/返回風格各個構(gòu)件通過調(diào)用其他構(gòu)件和獲得返回參數(shù)來進行交流。獨立構(gòu)件風格通過對事件的發(fā)布和注冊實現(xiàn)關(guān)聯(lián)虛擬機風格創(chuàng)建了一種虛擬的環(huán)境,將用戶與底層平臺隔離開來,或?qū)⒏邔映橄蠛偷讓訉崿F(xiàn)隔離開來。倉庫風格由表示當前數(shù)據(jù)狀態(tài)的中心數(shù)據(jù)結(jié)構(gòu)和一組對中心數(shù)據(jù)進行操作的獨立構(gòu)建組成。六、客戶端/服務(wù)器模式的分布式體系結(jié)構(gòu)服務(wù)器負責給其子系統(tǒng)提供服務(wù)客戶端通常是獨立的子系統(tǒng),通過向服務(wù)器請求約定的資源獲取數(shù)據(jù)網(wǎng)絡(luò)連接服務(wù)器和客戶端七、MVC模型MVC強調(diào)將用戶的輸入、數(shù)據(jù)模型和數(shù)據(jù)表示方式分開設(shè)計,一個交互式應(yīng)用系統(tǒng)由模型、視圖、控制器3部分組成,分別對應(yīng)內(nèi)部數(shù)據(jù)、數(shù)據(jù)表示和輸入/輸出控制部分八、課程思政:簡要介紹案例“高斯數(shù)據(jù)庫1”講授思考題和作業(yè)P107~109習題擴展閱讀無章節(jié)名稱第5章軟件設(shè)計與結(jié)構(gòu)化設(shè)計(2)課次1(總第9次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求 了解結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析的關(guān)系。熟悉表示軟件結(jié)構(gòu)的圖形工具。掌握面向數(shù)據(jù)流的軟件設(shè)計方法。熟悉面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。熟悉接口設(shè)計和數(shù)據(jù)設(shè)計。掌握過程設(shè)計的工具和方法。了解軟件設(shè)計評審。通過案例“高斯數(shù)據(jù)庫2”,進行思政教育教學重點面向數(shù)據(jù)流的軟件設(shè)計方法教學難點面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上一節(jié)課所講的內(nèi)容講授正式授課80分鐘結(jié)構(gòu)化設(shè)計概述結(jié)構(gòu)化設(shè)計的任務(wù)是從軟件需求規(guī)格說明書出發(fā),設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu)、確定每個模塊的實現(xiàn)算法以及如何編寫具體的代碼,形成軟件的具體設(shè)計方案,解決”怎么做”的問題。二、結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析的關(guān)系由數(shù)據(jù)模型、功能模型和行為模型表示的軟件需求被傳送給軟件設(shè)計者,軟件設(shè)計者使用適當?shù)脑O(shè)計方法完成數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計、接口設(shè)計和過程設(shè)計。三、結(jié)構(gòu)化設(shè)計1、面向數(shù)據(jù)流的設(shè)計根據(jù)應(yīng)用中數(shù)據(jù)流通的途徑對應(yīng)用的系統(tǒng)結(jié)構(gòu)進行劃分與建模。2、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計根據(jù)數(shù)據(jù)結(jié)構(gòu)設(shè)計程序處理過程的方法,也就是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法按輸入、輸出以及計算機內(nèi)部存儲信息的數(shù)據(jù)結(jié)構(gòu)進行軟件結(jié)構(gòu)設(shè)計。四、接口設(shè)計1.接口設(shè)計一般包括如下的3個方面。(1)用戶接口:用來說明將向用戶提供的命令和它們的語法結(jié)構(gòu)以及軟件回答信息。(2)外部接口:用來說明本系統(tǒng)同外界的所有接口的安排,包括軟件與硬件之間的接口、本系統(tǒng)與各支持軟件之間的接口關(guān)系。(3)內(nèi)部接口:用來說明本系統(tǒng)之內(nèi)的各個系統(tǒng)元素之間的接口的安排。2.界面設(shè)計1)三條“黃金原則”將控制權(quán)交給用戶;減少用戶的記憶負擔;界面保持一致2)界面設(shè)計過程界面設(shè)計是一個迭代的活動,包括以下六點核心活動:創(chuàng)建系統(tǒng)功能的外部模型;確定為完成此系統(tǒng)功能,人和計算機應(yīng)分別完成的任務(wù);考慮界面設(shè)計中的典型問題;借助CASE工具構(gòu)造界面原型;實現(xiàn)設(shè)計模型;評估界面質(zhì)量。界面設(shè)計過程中設(shè)計四個模型:設(shè)計模型;用戶模型;系統(tǒng)假想;系統(tǒng)映像。3)界面設(shè)計問題系統(tǒng)設(shè)計時應(yīng)考慮:系統(tǒng)響應(yīng)時間;用戶求助機制;出錯信息;鍵盤命令等四個問題。五、數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計就是將需求分析階段定義的數(shù)據(jù)對象(E-R圖、數(shù)據(jù)字典)轉(zhuǎn)換為設(shè)計階段的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫,包括兩個方面。(1)程序級的數(shù)據(jù)結(jié)構(gòu)設(shè)計:采用(偽)代碼的方式定義數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)的組成、類型、缺省值等信息)。(2)應(yīng)用級的數(shù)據(jù)庫設(shè)計:采用物理級的E-R圖表示。六、過程設(shè)計這里講述程序流程圖、N-S圖、PAD圖,以及結(jié)構(gòu)化語言七、軟件設(shè)計評審八、結(jié)構(gòu)化設(shè)計實例九、課程思政:簡要介紹案例“高斯數(shù)據(jù)庫2”講授思考題和作業(yè)P107~109習題擴展閱讀無章節(jié)名稱第6章軟件實現(xiàn)課次1(總第10次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解編程語言的發(fā)展與分類了解選擇編程語言時所需考慮的因素掌握良好的編程風格與編碼規(guī)范了解代碼重用了解分析和評價代碼的質(zhì)量通過案例“殺毒軟件之父”—王江民,進行思政教育教學重點良好的編程風格與編碼規(guī)范教學難點良好的編程風格與編碼規(guī)范環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘編程語言的介紹和選擇講授正式授課80分鐘一、編程語言1.編程語言發(fā)展和分類1)機器語言2)匯編語言3)高級語言4)超高級語言了解流行語言C、Python、Java、C++、C#、JavaScript、PHP的特征和應(yīng)用2.選擇編程語言需考慮的因素1)項目的應(yīng)用范圍2)用戶的需求3)使用的軟件開發(fā)工具4)開發(fā)人員的喜好和能力5)軟件的可移植性要求6)算法和數(shù)據(jù)結(jié)構(gòu)的復雜性7)平臺支持二、編碼風格和規(guī)范1.版權(quán)和版本聲明1)版權(quán)信息2)文件名稱、標識符、摘要3)當前版本號、作者/修改者、完成日期4)版本歷史信息2.程序版式如縮進、空格、空行、代碼行最大長度等規(guī)則,增加代碼可讀性。3.注釋注釋一般位于:1)版本、版權(quán)聲明2)函數(shù)接口說明3)重要代碼行或段落揭示注釋規(guī)則:1)盡量精簡2)準確、易懂,不能有二義性3)注釋放在被描述的代碼上方或右方4)代碼較長時在段落結(jié)束處加注釋4.命名規(guī)則1)按照標識符的實際意義命名2)標識符盡可能短3)命名與開發(fā)工具或操作系統(tǒng)的風格保持一致4)變量名不要過于相似5)注釋解釋變量命名6)不要出現(xiàn)僅靠大小寫區(qū)分的標識符7)盡量避免出現(xiàn)數(shù)字編號5.數(shù)據(jù)說明1)按照一定次序,如數(shù)據(jù)類型,說明類內(nèi)數(shù)據(jù)2)說明同一語句中的相同類型變量時,按字母序排列3)添加必要注釋說明復雜數(shù)據(jù)結(jié)構(gòu)6.語句構(gòu)造1)不同語句分行寫2)合理利用縮進體現(xiàn)層次結(jié)構(gòu)3)復雜運算式中使用括號清晰表達運算順序4)經(jīng)常使用的代碼段獨立封裝成函數(shù)或過程5)避免使用goto語句6)避免使用多層嵌套7)避免使用復雜的判定條件7.輸入輸出1)對輸入數(shù)據(jù)施行嚴格的數(shù)據(jù)檢查,及時識別錯誤和異常2)簡化輸入的步驟、操作3)輸入格式限制不要太嚴格4)允許默認輸入5)交互式輸入中要給予用戶正確的提示6)對輸出數(shù)據(jù)添加注釋7)輸出數(shù)據(jù)遵循一定的格式8.效率主要取決于使用的算法和數(shù)據(jù)結(jié)構(gòu),代碼可由編譯器優(yōu)化。1)減少循環(huán)嵌套的層數(shù)2)循環(huán)結(jié)構(gòu)改為嵌套結(jié)構(gòu)3)簡化算術(shù)和邏輯表達式,少用混合數(shù)據(jù)類型的運算4)避免使用多維數(shù)組和復雜的表三、代碼復用復用方式:1)源代碼剪貼2)源代碼包含3)繼承開源代碼復用,優(yōu)點是縮減開發(fā)成本,提高開發(fā)效率;缺點一是開源許可證容易侵權(quán),二是復用的代碼難以及時更新,有安全風險。四、分析和評價代碼質(zhì)量1.可讀性2.可擴展性3.靈活性4.簡潔性5.可復用性6.可測試性7.可維護性五、軟件實現(xiàn)實例六、課程思政:簡要介紹案例“殺毒軟件之父”—王江民講授思考題和作業(yè)P123~124習題擴展閱讀無章節(jié)名稱第7章軟件測試(1)課次1(總第11次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求掌握軟件測試的原則了解軟件測試的常用模型了解軟件測試的分類了解測試用例和測試用例設(shè)計方法掌握等價類劃分法;熟悉黑盒測試的其他方法通過案例“中國的工業(yè)軟件1”,進行思政教育教學重點等價類劃分法教學難點等價類劃分法環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘軟件測試的概念、基本原則和模型(略講)講授正式授課80分鐘一、軟件測試的基本概念軟件測試是軟件開發(fā)過程中的重要階段,用來保證軟件產(chǎn)品的穩(wěn)定性、安全性、一致性、完全性等要求,從而保證軟件質(zhì)量,軟件測試工作應(yīng)該貫穿整個開發(fā)過程。1.基本原則1)完全測試是不可能的2)測試中存在風險和缺陷3)軟件測試只能表明缺陷的存在,不能證明沒有其他方面的缺陷4)潛在的錯誤數(shù)和發(fā)現(xiàn)的錯誤數(shù)成正比5)讓不同測試人員參與測試6)開發(fā)小組和測試小組分立7)盡早不斷測試,讓測試工作貫穿開發(fā)過程8)設(shè)計測試用例時要包括輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩個部分,輸入數(shù)據(jù)還應(yīng)該包括非法情況9)集中測試容易出錯或是出錯較多的模塊10)長期保留所有的測試用例,方便回歸測試2.測試模型1)V模型。在編碼后才進行測試工作,無法及時糾正錯誤2)W模型。測試與各個設(shè)計過程同步進行,局限是測試不能跨階段3)H模型。測試活動獨立,與其他流程并行。二、軟件測試分類1.按測試階段分為單元、集成、系統(tǒng)、驗收測試2.按是否運行程序分為靜態(tài)測試和動態(tài)測試3....三、測試用例為節(jié)省時間、資源,提高測試效率,應(yīng)該挑選有代表性的或特殊性的測試數(shù)據(jù)進行測試。1.測試用例設(shè)計2.測試用例場景描述每個經(jīng)過測試用例可能的路徑四、軟件測試方法靜態(tài)測試主要為人工審查代碼,檢測有效但是對測試人員要求高。動態(tài)測試需要實際運行程序,主要分為白盒和黑盒測試1.黑盒測試1)等價類劃分法。將輸入根據(jù)不同條件劃分為若干子集,只取各個子集中的部分輸入測試。2)邊界值分析法。取輸入范圍的邊界值以及邊界附近的值進行測試。3)錯誤推測法。主要靠直覺和經(jīng)驗,選擇程序中可能的錯誤和容易發(fā)生錯誤的特殊情況。4)因果圖法和決策表法??紤]不同輸入條件的組合,條件之間的制約關(guān)系,條件與結(jié)果之間的邏輯關(guān)系。先根據(jù)程序規(guī)格說明書劃定可能的原因、結(jié)果,畫出相應(yīng)的因果圖,再轉(zhuǎn)化為決策表,根據(jù)決策表的不同條件組合設(shè)計測試用例。5)場景法。對于有各種中間狀態(tài)、事件的軟件,可以根據(jù)程序執(zhí)行的基本流和各個備選流,生成不同的場景,對每個流程場景設(shè)計相應(yīng)的測試用例。五、課程思政:簡要介紹案例“中國的工業(yè)軟件1”講授思考題和作業(yè)P163~165習題擴展閱讀無章節(jié)名稱第7章軟件測試(2)課次1(總第12次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求掌握邏輯覆蓋法;熟悉白盒測試的其他方法掌握軟件測試的一般,以及每個階段測試的關(guān)注點了解回歸測試、自動化測試熟悉軟件調(diào)試通過案例“中國的工業(yè)軟件2”,進行思政教育教學重點邏輯覆蓋法;單元測試教學難點邏輯覆蓋法;單元測試環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上節(jié)課軟件測試的內(nèi)容講授正式授課80分鐘一、軟件測試方法2.白盒測試一般來說,采取先靜態(tài)后動態(tài)的方式,先進行代碼檢查和靜態(tài)結(jié)構(gòu)分析,再進行覆蓋測試。覆蓋測試是重點,應(yīng)盡可能提高覆蓋率。不同測試階段測試重點不同,需要白盒黑盒相結(jié)合進行測試。1)代碼檢查法。根據(jù)設(shè)計文檔和一般編碼原則檢查代碼。2)靜態(tài)結(jié)構(gòu)分析。分析源代碼的內(nèi)部結(jié)構(gòu),各模塊的邏輯關(guān)系,如控制流分析、數(shù)據(jù)流分析、信息流分析、接口分析、表達式分析等,進而找出錯誤。3)程序插樁技術(shù)。往被測試程序中插入輸出等操作來了解變量、語句的執(zhí)行情況,從而查出錯誤。4)邏輯覆蓋法和基本路徑法。根據(jù)程序的流程圖,設(shè)計測試用例,以覆蓋所有的執(zhí)行路徑或語句。二、分階段測試1.單元測試2.集成測試3.系統(tǒng)測試4.驗收測試5.回歸測試6.自動化測試7.軟件調(diào)試三、軟件測試實例三、課程思政:簡要介紹案例“中國的工業(yè)軟件2”講授思考題和作業(yè)P163~165習題擴展閱讀無章節(jié)名稱第8章軟件維護課次1(總第13次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求熟悉軟件部署與軟件交付。了解軟件維護的過程和分類。了解軟件的可維護性。了解軟件維護的副作用。了解軟件運維。了解軟件再工程—逆向工程、重構(gòu)、正向工程。通過案例“12306”,進行思政教育教學重點軟件維護的過程教學難點軟件再工程—逆向工程、重構(gòu)、正向工程環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入
10分鐘軟件維護的意義講授正式授課80分鐘一、軟件維護軟件維護是軟件產(chǎn)品交付并投入使用后,為彌補軟件測試階段未發(fā)現(xiàn)的缺陷,改進軟件產(chǎn)品的性能,補充軟件產(chǎn)品的新功能等所進行的修改軟件的過程。通常軟件維護周期和費用都很大。1.軟件部署與交付。需要完成軟件的安裝部署、驗收測試、交付驗收結(jié)果,然后對用戶進行必要的培訓,交付相關(guān)文檔,再進入維護階段。2.軟件維護的過程。1)建立維護機構(gòu)2)用戶提出維護申請并提交維護申請報告3)維護人員確認維護類型并實話相應(yīng)的維護工作4)整理維護記錄并對維護工作進行評審5)對維護工作進行評審3.軟件維護的分類1)糾錯性維護2)適應(yīng)性維護3)完善性維護4)預(yù)防性維護4.軟件的可維護性影響因素有可理解性、可測試性和可修改性等。提升方法:1)明確軟件質(zhì)量目標和優(yōu)先級,重點保證主要影響的質(zhì)量因素2)建立完整文檔3)采用行進的維護工具和技術(shù)4)注重可維護性的評審環(huán)節(jié)5.軟件維護的副作用1)代碼修改產(chǎn)生新錯誤2)修改數(shù)據(jù)產(chǎn)生不兼容等錯誤3)文檔更新不及時導致用戶和維護人員不便6.軟件運維7.軟件再工程1)重構(gòu)。對源代碼和數(shù)據(jù)修改,使其便于理解或維護。2)正向工程。改造原軟件,加入新功能和改善整體性能。3)逆向工程。對源代碼進行抽象分析,導出更高層次的表達。二、軟件維護實例三、課程思政:簡要介紹案例“12306”講授思考題和作業(yè)P174~176習題擴展閱讀無章節(jié)名稱第9章面向?qū)ο蠓椒ㄅcUML(1)課次1(總第14次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求掌握面向?qū)ο蟮幕靖拍罾斫饷嫦驅(qū)ο筌浖こ痰奶卣髋c優(yōu)勢掌握面向?qū)ο蟮膶嵤┎襟E了解統(tǒng)一建模語言UML熟悉UML的用例圖、類圖、對象圖、包圖通過案例“抖音1”,進行思政教育教學重點用例圖、類圖教學難點用例圖、類圖環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘面向?qū)ο蟮幕靖拍?、面向?qū)ο笫侵福喊凑杖藗冋J識客觀世界的系統(tǒng)思維方式,采用基于對象的概念建立模型,模擬客觀世界分析、設(shè)計、實現(xiàn)軟件的辦法。面向?qū)ο笊婕暗母拍畎ǎ簩ο螅含F(xiàn)實世界中各種各樣的實體具有自己的屬性和行為類:具有相似內(nèi)部狀態(tài)和運動規(guī)律的實體的集合與抽象。消息:對象之間相互聯(lián)系和相互作用的方式類具有以下七點特性:抽象、繼承、封裝、多態(tài)、重寫、包、包的接口類。講授正式授課80分鐘二、面向?qū)ο蟮能浖こ谭椒ǖ奶卣髋c優(yōu)勢三、面向?qū)ο蟮膶嵤┎襟E1.面向?qū)ο蠓治觥?.面向?qū)ο笤O(shè)計。3.面向?qū)ο髮崿F(xiàn)。4.面向?qū)ο鬁y試。四、UMLUML簡述UML是一種通用的可視化建模語言,用來描述、可視化、構(gòu)造、和文檔化軟件密集型系統(tǒng)的各種工作。UML的應(yīng)用范圍UML的圖用例圖對系統(tǒng)提供的功能的描述靜態(tài)圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類圖、對象圖、包講授圖。行為圖描述系統(tǒng)的動態(tài)模型和組成對象之間的交互關(guān)系。其中的狀態(tài)圖描述類的對象的有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件。交互圖交互圖描述對象之間的交互關(guān)系。其中順序圖描述對象之間的動態(tài)合作關(guān)系,協(xié)作圖描述對象之間的協(xié)作關(guān)系。實現(xiàn)圖實現(xiàn)圖提供關(guān)于系統(tǒng)實現(xiàn)方面的信息。其中組件圖描述代碼構(gòu)建的物理結(jié)構(gòu)以及組件之間的依賴關(guān)系。部署圖用于定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。五、靜態(tài)建模機制UML的靜態(tài)建模機制包括用例圖、類圖、對象圖、包圖等。用例圖用例圖從用戶的角度描述系統(tǒng)的功能,由用例,參與者,以及他們的關(guān)系連線組成。此圖從用戶角度描述系統(tǒng)的行為,使用人型符號表示參與者并唯一命名,使用橢圓形表示用例,參與者和用例之間使用帶箭頭的實線連接。用例之間有三種關(guān)系:包含關(guān)系提取出多個用例的共同特征,用例包含其公有特征拓展關(guān)系用例的異常行為和分支可作為拓展用例泛化關(guān)系類圖和對象圖類圖使用類描述系統(tǒng)的結(jié)構(gòu),展示了系統(tǒng)中類的靜態(tài)結(jié)構(gòu),即類與類之間的相互關(guān)系。對象圖是類圖的實例,它展示了系統(tǒng)在某一時刻的快照。類與類之間的關(guān)系有關(guān)聯(lián)、依賴、泛化、實現(xiàn)等。包圖包圖是用于描述模型中的包和其所包含元素的組織方式的圖。包圖通過對途中的各個包元素以及包之間關(guān)系的描述,展示出系統(tǒng)的模塊,以及模塊之間的依賴關(guān)系。六、課程思政:簡要介紹案例“抖音1”講授思考題和作業(yè)P200~202習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016章節(jié)名稱第9章面向?qū)ο蠓椒ㄅcUML(2)課次1(總第15次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求熟悉UML的順序圖、協(xié)作圖、狀態(tài)圖、活動圖、組件圖、部署圖通過案例“抖音2”,進行思政教育教學重點順序圖、活動圖教學難點順序圖、活動圖環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上一節(jié)課所講的內(nèi)容講授正式授課80分鐘一、動態(tài)建模機制系統(tǒng)中的對象在執(zhí)行期間的不同時間點如何通信以及通信結(jié)果如何,這就是系統(tǒng)的動態(tài)行為1、順序圖表示完成某項行為的對象和這些對象之間傳遞消息的時間順序。順序圖由對象、生命線、控制焦點、消息等組成。2、協(xié)作圖用于顯示系統(tǒng)的動作協(xié)作,類似于順序圖中的交互片段,但協(xié)作圖也顯示對象之間的關(guān)系。3、狀態(tài)圖描述對象對外部對象響應(yīng)的歷史狀態(tài)序列,即描述對象所有可能的狀態(tài),以及那些事件將導致狀態(tài)的變化。活動圖活動圖中的活動是展示整個計算步驟的控制流(及其操作)的節(jié)點和流的圖。描述物理架構(gòu)組件圖組件圖根據(jù)系統(tǒng)的代碼組件顯示系統(tǒng)代碼的物理結(jié)構(gòu)。其中的組件可以是源代碼組件、二進制組件或可執(zhí)行組件。部署圖部署圖用于顯示系統(tǒng)中硬件和軟件的物理結(jié)構(gòu),可以顯示實際中的計算機和設(shè)備,以及它們之間的互聯(lián)關(guān)系。三、面向?qū)ο蠓椒ㄅcUML實例四、課程思政:簡要介紹案例“抖音2”講授思考題和作業(yè)P200~202習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016章節(jié)名稱第10章面向?qū)ο蠓治觯?)課次1(總第16次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求理解面向?qū)ο蠓治龅倪^程和原則掌握面向?qū)ο蠼5膶ο竽P屯ㄟ^案例“北斗衛(wèi)星導航系統(tǒng)1”,進行思政教育教學重點對象模型的建立教學難點對象模型的建立環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘面向?qū)ο蠓治龇椒嫦驅(qū)ο蠓治鲞^程面向?qū)ο蠓治鲋饕杂美P蜑榛A(chǔ)。開發(fā)人員在原始需求的基礎(chǔ)上,通過構(gòu)建用例模型從而得到系統(tǒng)的需求,在通過對用例模型的完善來改善需求。確定系統(tǒng)的外部參與人員確定系統(tǒng)的用例劃分目標系統(tǒng)中的類與對象識別對象之間的動態(tài)交互行為將需求分析的結(jié)構(gòu)用多種模型圖表示出來面向?qū)ο蠓治鲈瓌t定義有實際意義的對象模型的描述要規(guī)范、準確共享性封裝性講授正式授課80分鐘二、建立對象模型對象模型描述了現(xiàn)實世界中的“類與對象”以及他們之間的關(guān)系,表示了目標系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。在面向?qū)ο蟮姆治鲋?,一般都是先建立對象模型,然后再建立動態(tài)模型和功能模型。對象模型為建立動態(tài)模型和功能模型提供了實質(zhì)性的框架對象模型的組成層次主題層用于劃分主題,主題是將一組具有較強聯(lián)系的類組織在一起形成的類的聚合,具有以下三個特點:主題是類的聚合,但主題自身不是一個類;主題內(nèi)部的類之間往往有內(nèi)部聯(lián)系;主題的劃分沒有固定的規(guī)則主題的劃分有以下兩種方式:自底向上的劃分方式和自頂向下的劃分方式。主題圖:主題的劃分結(jié)果可以形成一個完整的類圖和一個主題圖。類與對象層建立對象模型首先需要確定所選的對象與類候選的類與對象包括:可感知的物理實體;人或組織的角色;應(yīng)該記憶的事件;兩個或多個事件的相互作用;需要說明的概念;篩選候選對象與類的標準有:冗余,無關(guān),籠統(tǒng),屬性,操作,實現(xiàn)六點。結(jié)構(gòu)層確定類與類之間的結(jié)構(gòu)關(guān)系(如繼承)屬性層確定應(yīng)用的屬性,屬性的確定既與問題域有關(guān),也和目標系統(tǒng)的人物有關(guān)。應(yīng)該只考慮有具體應(yīng)用直接相關(guān)的屬性。表示屬性的啟發(fā)性準則如下:每個類至少需要一個屬性;屬性取值必須適合類的所有實例;出現(xiàn)在泛化關(guān)系中的類所繼承的屬性必須與泛化關(guān)系一致;類的導出屬性應(yīng)當略去;應(yīng)將描述類的外部不可見狀態(tài)的屬性刪去。服務(wù)層確定類中需要定義的服務(wù)。三、課程思政:簡要介紹案例“北斗衛(wèi)星導航系統(tǒng)1”講授思考題和作業(yè)P218~220習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016章節(jié)名稱第10章面向?qū)ο蠓治觯?)課次1(總第17次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求掌握面向?qū)ο蠼5膭討B(tài)模型、功能模型通過案例“北斗衛(wèi)星導航系統(tǒng)2”,進行思政教育教學重點動態(tài)模型的建立功能模型的建立教學難點動態(tài)模型的建立功能模型的建立環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上一節(jié)課所講的內(nèi)容講授正式授課80分鐘建立動態(tài)模型對象模型建立后,就需考察對象和關(guān)系的動態(tài)變化情況,即建立動態(tài)模型。編寫腳本腳本描述用戶與目標系統(tǒng)之間的一個或多個典型的交互過程,以便對目標系統(tǒng)的行為有更具體的認識。設(shè)計用戶界面確定用戶界面的信息交換方式,快速建立用戶界面原型,供用戶評價和修改。畫UML順序圖或活動圖。畫狀態(tài)圖。建立功能模型功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的數(shù)據(jù)處理功能,它由一系列流程圖組成。建立功能模型的步驟如下:確定輸入和輸出值畫數(shù)據(jù)流圖3.定義服務(wù)三、面向?qū)ο蠓治鰧嵗?、課程思政:簡要介紹案例“北斗衛(wèi)星導航系統(tǒng)2”講授思考題和作業(yè)P218~220習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016章節(jié)名稱第11章面向?qū)ο笤O(shè)計(1)課次1(總第18次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解面向?qū)ο笤O(shè)計與結(jié)構(gòu)化設(shè)計的不同理解面向?qū)ο笤O(shè)計與面向?qū)ο蠓治龅年P(guān)系理解面向?qū)ο笤O(shè)計的過程、原則和啟發(fā)規(guī)則熟悉面向?qū)ο笙到y(tǒng)分解方法熟悉面向?qū)ο髥栴}域、人機交互的設(shè)計方法通過案例“銀河麒麟1”,進行思政教育教學重點面向?qū)ο髥栴}域子系統(tǒng)的設(shè)計方法人機交互子系統(tǒng)的設(shè)計方法教學難點面向?qū)ο髥栴}域子系統(tǒng)的設(shè)計方法人機交互子系統(tǒng)的設(shè)計方法環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘面向?qū)ο笤O(shè)計的概念、意義講授正式授課80分鐘面向?qū)ο笤O(shè)計與結(jié)構(gòu)化設(shè)計二、面向?qū)ο笤O(shè)計與面向?qū)ο蠓治龅年P(guān)系三、面向?qū)ο笤O(shè)計的過程與原則1.設(shè)計過程1)建立軟件體系結(jié)構(gòu)環(huán)境圖。描述各系統(tǒng)的關(guān)系、接口等2)軟件體系結(jié)構(gòu)設(shè)計。自頂向下等方式設(shè)計3)設(shè)計各個子系統(tǒng)。問題域子系統(tǒng)、人機交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)4)對象設(shè)計及優(yōu)化。細化對象類、接口與繼承關(guān)系2.設(shè)計原則1)模塊化2)抽象化3)信息隱藏4)低耦合5)高內(nèi)聚6)復用性還要遵循這幾條原則:開閉原則里氏替換原則依賴倒置原則接口分離原則單一職責原則3.啟發(fā)規(guī)則1)設(shè)計結(jié)果清晰易懂2)類深度適當3)盡量設(shè)計簡單類4)使用簡單的協(xié)議5)使用簡單的操作6)降低設(shè)計變動概率四、系統(tǒng)設(shè)計1.問題域子系統(tǒng)設(shè)計1)調(diào)整需求2)復用已有的類3)將問題域類組合在一起4)增添一般化類以建立公共協(xié)議接口5)調(diào)整繼承層次2.人機交互子系統(tǒng)設(shè)計1)安全/登錄窗口。2)設(shè)置窗口。3)業(yè)務(wù)功能窗口4)對各類信息的報告五、課程思政:簡要介紹案例“銀河麒麟1”講授思考題和作業(yè)P249~251習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016
章節(jié)名稱第11章面向?qū)ο笤O(shè)計(2)課次1(總第19次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求熟悉任務(wù)管理和數(shù)據(jù)管理子系統(tǒng)的設(shè)計方法掌握對象設(shè)計的方法熟悉軟件設(shè)計模式通過案例“銀河麒麟2”,進行思政教育教學重點任務(wù)管理子系統(tǒng)的設(shè)計方法數(shù)據(jù)管理子系統(tǒng)的設(shè)計方法教學難點任務(wù)管理子系統(tǒng)的設(shè)計方法數(shù)據(jù)管理子系統(tǒng)的設(shè)計方法環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘回顧上一節(jié)課所講的內(nèi)容講授正式授課80分鐘一、系統(tǒng)設(shè)計3.任務(wù)管理子系統(tǒng)設(shè)計1)確定事件驅(qū)動型任務(wù)2)確定時鐘驅(qū)動型任務(wù)3)確定優(yōu)先任務(wù)和關(guān)鍵任務(wù)4)確定協(xié)調(diào)任務(wù)5)審查每個任務(wù)6)確定資源需求7)定義任務(wù)4.數(shù)據(jù)管理子系統(tǒng)設(shè)計1)設(shè)計數(shù)據(jù)格式。先設(shè)計第一范式,建立相應(yīng)文件;再轉(zhuǎn)化成第三范式,建立關(guān)系數(shù)據(jù)庫;最后擴展關(guān)系數(shù)據(jù)庫途徑,建立面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)。2)設(shè)計服務(wù)。設(shè)計對象的存儲、檢索等服務(wù)。3)使用面向?qū)ο髷?shù)據(jù)庫進行數(shù)據(jù)管理設(shè)計。如存儲、管理持久對象等。二、對象設(shè)計1.設(shè)計類中的服務(wù)1)從各類模型中確定服務(wù)2)設(shè)計相應(yīng)的算法和數(shù)據(jù)結(jié)構(gòu),定義內(nèi)部類和方法2.設(shè)計類的關(guān)聯(lián)1)單向關(guān)聯(lián)實現(xiàn)。單指針引用2)雙向關(guān)聯(lián)實現(xiàn)。雙指針引用或正向查找或新建獨立關(guān)聯(lián)對象3)鏈屬性實現(xiàn)。3.對象設(shè)計優(yōu)化1)確定優(yōu)先級2)數(shù)據(jù)訪問效率優(yōu)化(1)冗余關(guān)聯(lián)提高訪問效率(2)查詢次序調(diào)整(3)保留派生屬性3)調(diào)整繼承關(guān)系(1)具體到抽象再到具體(2)修改類定義以提高繼承程度(3)利用組合關(guān)系實現(xiàn)行為共享三、軟件設(shè)計模式模式,就是指解決一類相似問題的方法論。1、工廠模式通過創(chuàng)建對象而不直接實例化對象的過程,使得程序在判定給定條件的情況下更加靈活的創(chuàng)建對象。2、橋接模式將不同的內(nèi)容框架用抽象類定義,將變化的內(nèi)容用具體的子類分別實現(xiàn)。并且,將類的抽象與實現(xiàn)分離,從而使兩端都可以獨立變化。3、策略模式把一系列的算法封裝為具有共同接口的類,將算法的使用和算法本身分離四、面向?qū)ο笤O(shè)計實例五、課程思政:簡要介紹案例“銀河麒麟2”講授思考題和作業(yè)P249~251習題擴展閱讀呂云翔,趙天宇,叢碩.UML與Rose建模實用教程[M].北京:人民郵電出版社,2016章節(jié)名稱第12章面向?qū)ο髮崿F(xiàn)課次1(總第20次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解面向?qū)ο笳Z言的選擇。熟悉面向?qū)ο蟪绦蛟O(shè)計風格。通過案例“PaddlePaddle”,進行思政教育教學重點面向?qū)ο蟪绦蛟O(shè)計風格教學難點面向?qū)ο蟪绦蛟O(shè)計風格環(huán)節(jié)/時間授課內(nèi)容教學方法課程導入10分鐘面向?qū)ο笳Z言的選擇面向?qū)ο笳Z言的優(yōu)點面向?qū)ο笳Z言的技術(shù)特點講授正式授課80分鐘二、面向?qū)ο蟪绦蛟O(shè)計風格1.提高可重用性2.提高可擴充性3.提高穩(wěn)健性三、面向?qū)ο髮崿F(xiàn)實例四、課程思政:簡要介紹案例“PaddlePaddle”講授思考題和作業(yè)P257~258習題擴展閱讀無章節(jié)名稱第13章面向?qū)ο鬁y試課次1(總第21次)課時2授課形式理論課■案例討論課□實驗課□習題課□其他□教學目的及要求了解面向?qū)ο鬁y試與傳統(tǒng)測試
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年白色布膠鞋底項目可行性研究報告
- 2024年木鈣項目可行性研究報告
- 現(xiàn)代通信網(wǎng)的課程設(shè)計
- 童程童美的課程設(shè)計
- 迷宮程序課程設(shè)計
- 音樂課程設(shè)計優(yōu)點分析
- 泰安課程設(shè)計
- 保險合同解析考核試卷
- 出租車行業(yè)城市交通影響評估考核試卷
- 音樂機構(gòu)課程設(shè)計
- 《新課改下的農(nóng)村小學班主任工作策略的研究》課題研究方案
- 蘇教版三年級上冊除法豎式計算題練習300道及答案
- JGT 486-2015 混凝土用復合摻合料
- 2024年上海市楊浦區(qū)高三語文一模作文范文(39篇)
- 10kV架空線路專項施工方案
- 兒童文學解讀導論智慧樹知到期末考試答案章節(jié)答案2024年嘉興大學
- 遼寧省大連市中山區(qū)2023-2024學年七年級下學期期末數(shù)學試題
- Unit14 同步教學設(shè)計2023-2024學年人教版九年級英語全冊
- AQ6111-2023個體防護裝備安全管理規(guī)范
- 鈷酸鋰-安全技術(shù)說明書MSDS
- 2024年湖北水利發(fā)展集團有限公司招聘筆試沖刺題(帶答案解析)
評論
0/150
提交評論