課程簡介
該工作坊首先通過案例的講解,讓學員正確地掌握領(lǐng)域驅(qū)動設(shè)計的相關(guān)概念與設(shè)計流程,掌握DDD的領(lǐng)域建模與設(shè)計開發(fā)。在這樣的基礎(chǔ)上,通過全流程工作坊的形式演練,如何以知識庫的形式為DeepSeek制定模板與規(guī)范,然后在此基礎(chǔ)上,以人機結(jié)合的方式編寫用例模型、領(lǐng)域模型,生成領(lǐng)域?qū)ο?、服?wù)接口、DSL配置,最后讓DeepSeek編寫規(guī)范的程序代碼、測試用例,完成整個開發(fā)的全過程。
目標收益
1. 掌握DDD+AI的軟件研發(fā)新模式,提升研發(fā)效率
2. 深刻理解,通過領(lǐng)域驅(qū)動指導(dǎo)AI生成高質(zhì)量代碼
3. 通過知識庫為AI進行DDD編碼制定模板與規(guī)范
4. 掌握AI生成代碼進行軟件研發(fā)的工具與研發(fā)環(huán)境
培訓(xùn)對象
1. 關(guān)注領(lǐng)域驅(qū)動、微服務(wù)開發(fā)的軟件研發(fā)工程師
2. 產(chǎn)品經(jīng)理、研發(fā)管理、質(zhì)量保障等相關(guān)人員
3. 關(guān)注AI編程的架構(gòu)師、CTO及其相關(guān)人員
4. 關(guān)注AI編程發(fā)展方向的相關(guān)技術(shù)人員
課程大綱
第一部分 DDD的思想與AI編程 DDD是解決業(yè)務(wù)復(fù)雜性的問題 |
1.最初的產(chǎn)品需求并不復(fù)雜,但隨著業(yè)務(wù)的拓展越來越復(fù)雜 2.隨著業(yè)務(wù)的拓展,系統(tǒng)規(guī)模越來越大,交付速度越來越慢 3.越來越激烈的市場競爭,需要越來越快的交付速度 4.越來越快的技術(shù)更迭,需要軟件系統(tǒng)越來越快速的技術(shù)更迭 解決方案: 1.認知負載理論揭示系統(tǒng)越復(fù)雜,業(yè)務(wù)變更成本越高 2.領(lǐng)域驅(qū)動設(shè)計的解決方案: 1)問題空間與解空間的設(shè)計思路 2)劃分子域、限界上下文與領(lǐng)域建模 3)將限界上下文的劃分落實到微服務(wù)的開發(fā) |
DDD是應(yīng)對軟件復(fù)雜性之道 |
1.剖析領(lǐng)域驅(qū)動的設(shè)計思想 2.服務(wù)、實體與值對象的概念 3.充血模型與貧血模型的設(shè)計思路 4.問題域、子域與限界上下文劃分 |
DeepSeek編程的DDD落地實踐 |
1.國產(chǎn)智能大模型DeepSeek的13個應(yīng)用場景: 代碼改寫、代碼解釋、代碼生成、中英文翻譯,等等 2.智能大模型核心應(yīng)用的精華: 提示詞工程、文檔上傳、搭建本地知識庫 3.DeepSeek自動化編程帶來的挑戰(zhàn): 1)不能交給DeepSeek過于復(fù)雜的任務(wù) 2)DeepSeek編寫的代碼如何規(guī)范編程,基于某個平臺進行編程 3)DeepSeek編寫的代碼,日后如何變更維護 解決方案:以DDD作為規(guī)范指導(dǎo)DeepSeek編程 1.通過知識庫制定DeepSeek軟件開發(fā)的模板與規(guī)范: 1)文檔模板:架構(gòu)設(shè)計的模板、用例模型的模板、領(lǐng)域模型的模板 2)開發(fā)規(guī)范:領(lǐng)域?qū)ο蟆⒎?wù)接口、DSL配置、測試用例的開發(fā)規(guī)范 2.基于知識庫進行的DeepSeek軟件開發(fā): 1)DeepSeek輔助的軟件需求探索與編寫需求文檔 2)DeepSeek輔助編寫用例模型 3)DeepSeek輔助編寫領(lǐng)域模型 4)DeepSeek輔助形成數(shù)據(jù)庫設(shè)計,編寫SQL腳本 5)DeepSeek輔助編寫領(lǐng)域?qū)ο笈c服務(wù)接口代碼,進行DSL配置 6)DeepSeek輔助,基于某個平臺進行業(yè)務(wù)代碼的編寫 7)DeepSeek輔助創(chuàng)建測試用例代碼 |
第二部分 DDD的DeepSeek編程全程演練 業(yè)務(wù)架構(gòu)的規(guī)劃與設(shè)計過程 |
一、業(yè)務(wù)需求探索與業(yè)務(wù)架構(gòu)規(guī)劃 二、由粗到細的業(yè)務(wù)梳理過程 三、動態(tài)模型與靜態(tài)模型相結(jié)合的分析過程 1. 動態(tài)模型:用例模型 每個用例及其業(yè)務(wù)流程的梳理過程 2. 靜態(tài)模型:領(lǐng)域模型 領(lǐng)域?qū)ο蠹捌湎嗷リP(guān)系的梳理過程 |
用例模型與需求規(guī)格說明書 |
實戰(zhàn)演練:遠程智慧醫(yī)療大數(shù)據(jù)平臺的業(yè)務(wù)梳理過程 1. 用例模型的分析設(shè)計過程 1)站在全局的業(yè)務(wù)規(guī)劃與戰(zhàn)略設(shè)計 2)由粗到細的用例建模過程:用例、參與者與系統(tǒng)邊界 3)三種類型的用例描述:業(yè)務(wù)流程、查詢報表、圖表展示 4)按照用例描述的方式編寫需求規(guī)格說明書 2. 界面原型設(shè)計 3. 基于DeepSeek的用例模型創(chuàng)建 1)基于DeepSeek的業(yè)務(wù)需求探索 2)DeepSeek+知識庫自動生成用例模型與用例描述 3)對DeepSeek生成的用例模型與用例描述進行審查與調(diào)教 |
原文分析法設(shè)計實戰(zhàn) |
原文分析法與傳統(tǒng)需求分析方法的比較 1. 需求分析:需求討論過程中進行領(lǐng)域建模 2. 需求文檔:以用例模型的方式編寫需求文檔 3. 業(yè)務(wù)建模:基于用例模型的原文分析法 4. 需求變更:基于領(lǐng)域模型的設(shè)計變更 |
基于DeepSeek的領(lǐng)域建模過程 |
1.從領(lǐng)域中吸取業(yè)務(wù)領(lǐng)域知識 2.統(tǒng)一語言建模:與用戶溝通需求的高級技巧 3.將真實世界與軟件世界對應(yīng)起來 1)將真實世界的事物與軟件世界的對象對應(yīng)起來 2)將真實世界中事物的行為,與軟件世界中對象的方法對應(yīng)起來 3)將真實世界中事物間的關(guān)系,與軟件世界中對象間的關(guān)聯(lián)對應(yīng)起來 4.基于用例模型形成領(lǐng)域模型 1)識別領(lǐng)域?qū)ο?、屬性、方法與相互的關(guān)系 2)識別聚合關(guān)系與聚合根 3)劃分限界上下文與劃分原則 5.基于DDD進行業(yè)務(wù)架構(gòu)規(guī)劃 1)為每個限界上下文構(gòu)建業(yè)務(wù)領(lǐng)域模型 2)劃分并識別主題域、支撐域、通用域 3)落實各子域之間的聯(lián)系、接口及事件通知機制 6.對DeepSeek生成的領(lǐng)域模型進行審查與調(diào)教 |
DDD的微服務(wù)落地實踐 |
基于領(lǐng)域模型的戰(zhàn)略設(shè)計 1.小而專的微服務(wù)設(shè)計 2.限界上下文與微服務(wù)拆分 3.上下文地圖與微服務(wù)接口 |
基于微服務(wù)的戰(zhàn)術(shù)設(shè)計 |
1.各微服務(wù)中實體、值對象與服務(wù)的設(shè)計 2.各微服務(wù)中聚合、工廠與倉庫的設(shè)計 3.領(lǐng)域模型4種關(guān)系3種繼承的數(shù)據(jù)庫設(shè)計 4.聚合層的設(shè)計、工廠和倉庫的實現(xiàn) 5.基于DDD的微服務(wù)架構(gòu)分層 |
基于DeepSeek編程的設(shè)計開發(fā) |
1.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成數(shù)據(jù)庫設(shè)計腳本 2.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成領(lǐng)域?qū)ο蟮木幋a 3.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成服務(wù)接口的設(shè)計 4.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成DSL的配置 5.基于DDD的平臺規(guī)范,由DeepSeek生成程序代碼 6.基于用例模型的需求,由DeepSeek生成測試用例代碼 |
DDD+微服務(wù)的設(shè)計難題 |
1.限界上下文及微服務(wù)劃分的原則與方法 1)業(yè)務(wù)的相關(guān)性 2)業(yè)務(wù)的復(fù)雜度 3)主題域/支撐域 2.跨庫查詢的設(shè)計難題與設(shè)計實現(xiàn) 1)數(shù)據(jù)補填的解決方案 2)建立寬表的解決方案 3.領(lǐng)域事件的通知機制與設(shè)計實現(xiàn) 基于消息隊列的事件通知機制 4.微服務(wù)接口的防腐層設(shè)計 5.狀態(tài)查詢跟蹤的設(shè)計思路與代碼實現(xiàn) |
支持DDD的平臺架構(gòu)設(shè)計 |
1. 解決軟件層次的復(fù)雜性:將業(yè)務(wù)與技術(shù)解耦 2. 整潔架構(gòu)與六邊形架構(gòu)的設(shè)計思想 3. CQRS命令與查詢職責分離的設(shè)計思想 4. 基于整潔架構(gòu)的DDD架構(gòu)設(shè)計思路 1)制作通用倉庫與工廠的設(shè)計思路 2)引入DSL的思路與設(shè)計實現(xiàn) 3)支持DDD的增刪改功能架構(gòu)設(shè)計 4)支持DDD的查詢功能的架構(gòu)設(shè)計 |
第一部分 DDD的思想與AI編程 DDD是解決業(yè)務(wù)復(fù)雜性的問題 1.最初的產(chǎn)品需求并不復(fù)雜,但隨著業(yè)務(wù)的拓展越來越復(fù)雜 2.隨著業(yè)務(wù)的拓展,系統(tǒng)規(guī)模越來越大,交付速度越來越慢 3.越來越激烈的市場競爭,需要越來越快的交付速度 4.越來越快的技術(shù)更迭,需要軟件系統(tǒng)越來越快速的技術(shù)更迭 解決方案: 1.認知負載理論揭示系統(tǒng)越復(fù)雜,業(yè)務(wù)變更成本越高 2.領(lǐng)域驅(qū)動設(shè)計的解決方案: 1)問題空間與解空間的設(shè)計思路 2)劃分子域、限界上下文與領(lǐng)域建模 3)將限界上下文的劃分落實到微服務(wù)的開發(fā) |
DDD是應(yīng)對軟件復(fù)雜性之道 1.剖析領(lǐng)域驅(qū)動的設(shè)計思想 2.服務(wù)、實體與值對象的概念 3.充血模型與貧血模型的設(shè)計思路 4.問題域、子域與限界上下文劃分 |
DeepSeek編程的DDD落地實踐 1.國產(chǎn)智能大模型DeepSeek的13個應(yīng)用場景: 代碼改寫、代碼解釋、代碼生成、中英文翻譯,等等 2.智能大模型核心應(yīng)用的精華: 提示詞工程、文檔上傳、搭建本地知識庫 3.DeepSeek自動化編程帶來的挑戰(zhàn): 1)不能交給DeepSeek過于復(fù)雜的任務(wù) 2)DeepSeek編寫的代碼如何規(guī)范編程,基于某個平臺進行編程 3)DeepSeek編寫的代碼,日后如何變更維護 解決方案:以DDD作為規(guī)范指導(dǎo)DeepSeek編程 1.通過知識庫制定DeepSeek軟件開發(fā)的模板與規(guī)范: 1)文檔模板:架構(gòu)設(shè)計的模板、用例模型的模板、領(lǐng)域模型的模板 2)開發(fā)規(guī)范:領(lǐng)域?qū)ο?、服?wù)接口、DSL配置、測試用例的開發(fā)規(guī)范 2.基于知識庫進行的DeepSeek軟件開發(fā): 1)DeepSeek輔助的軟件需求探索與編寫需求文檔 2)DeepSeek輔助編寫用例模型 3)DeepSeek輔助編寫領(lǐng)域模型 4)DeepSeek輔助形成數(shù)據(jù)庫設(shè)計,編寫SQL腳本 5)DeepSeek輔助編寫領(lǐng)域?qū)ο笈c服務(wù)接口代碼,進行DSL配置 6)DeepSeek輔助,基于某個平臺進行業(yè)務(wù)代碼的編寫 7)DeepSeek輔助創(chuàng)建測試用例代碼 |
第二部分 DDD的DeepSeek編程全程演練 業(yè)務(wù)架構(gòu)的規(guī)劃與設(shè)計過程 一、業(yè)務(wù)需求探索與業(yè)務(wù)架構(gòu)規(guī)劃 二、由粗到細的業(yè)務(wù)梳理過程 三、動態(tài)模型與靜態(tài)模型相結(jié)合的分析過程 1. 動態(tài)模型:用例模型 每個用例及其業(yè)務(wù)流程的梳理過程 2. 靜態(tài)模型:領(lǐng)域模型 領(lǐng)域?qū)ο蠹捌湎嗷リP(guān)系的梳理過程 |
用例模型與需求規(guī)格說明書 實戰(zhàn)演練:遠程智慧醫(yī)療大數(shù)據(jù)平臺的業(yè)務(wù)梳理過程 1. 用例模型的分析設(shè)計過程 1)站在全局的業(yè)務(wù)規(guī)劃與戰(zhàn)略設(shè)計 2)由粗到細的用例建模過程:用例、參與者與系統(tǒng)邊界 3)三種類型的用例描述:業(yè)務(wù)流程、查詢報表、圖表展示 4)按照用例描述的方式編寫需求規(guī)格說明書 2. 界面原型設(shè)計 3. 基于DeepSeek的用例模型創(chuàng)建 1)基于DeepSeek的業(yè)務(wù)需求探索 2)DeepSeek+知識庫自動生成用例模型與用例描述 3)對DeepSeek生成的用例模型與用例描述進行審查與調(diào)教 |
原文分析法設(shè)計實戰(zhàn) 原文分析法與傳統(tǒng)需求分析方法的比較 1. 需求分析:需求討論過程中進行領(lǐng)域建模 2. 需求文檔:以用例模型的方式編寫需求文檔 3. 業(yè)務(wù)建模:基于用例模型的原文分析法 4. 需求變更:基于領(lǐng)域模型的設(shè)計變更 |
基于DeepSeek的領(lǐng)域建模過程 1.從領(lǐng)域中吸取業(yè)務(wù)領(lǐng)域知識 2.統(tǒng)一語言建模:與用戶溝通需求的高級技巧 3.將真實世界與軟件世界對應(yīng)起來 1)將真實世界的事物與軟件世界的對象對應(yīng)起來 2)將真實世界中事物的行為,與軟件世界中對象的方法對應(yīng)起來 3)將真實世界中事物間的關(guān)系,與軟件世界中對象間的關(guān)聯(lián)對應(yīng)起來 4.基于用例模型形成領(lǐng)域模型 1)識別領(lǐng)域?qū)ο?、屬性、方法與相互的關(guān)系 2)識別聚合關(guān)系與聚合根 3)劃分限界上下文與劃分原則 5.基于DDD進行業(yè)務(wù)架構(gòu)規(guī)劃 1)為每個限界上下文構(gòu)建業(yè)務(wù)領(lǐng)域模型 2)劃分并識別主題域、支撐域、通用域 3)落實各子域之間的聯(lián)系、接口及事件通知機制 6.對DeepSeek生成的領(lǐng)域模型進行審查與調(diào)教 |
DDD的微服務(wù)落地實踐 基于領(lǐng)域模型的戰(zhàn)略設(shè)計 1.小而專的微服務(wù)設(shè)計 2.限界上下文與微服務(wù)拆分 3.上下文地圖與微服務(wù)接口 |
基于微服務(wù)的戰(zhàn)術(shù)設(shè)計 1.各微服務(wù)中實體、值對象與服務(wù)的設(shè)計 2.各微服務(wù)中聚合、工廠與倉庫的設(shè)計 3.領(lǐng)域模型4種關(guān)系3種繼承的數(shù)據(jù)庫設(shè)計 4.聚合層的設(shè)計、工廠和倉庫的實現(xiàn) 5.基于DDD的微服務(wù)架構(gòu)分層 |
基于DeepSeek編程的設(shè)計開發(fā) 1.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成數(shù)據(jù)庫設(shè)計腳本 2.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成領(lǐng)域?qū)ο蟮木幋a 3.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成服務(wù)接口的設(shè)計 4.利用DeepSeek將領(lǐng)域模型的設(shè)計轉(zhuǎn)變成DSL的配置 5.基于DDD的平臺規(guī)范,由DeepSeek生成程序代碼 6.基于用例模型的需求,由DeepSeek生成測試用例代碼 |
DDD+微服務(wù)的設(shè)計難題 1.限界上下文及微服務(wù)劃分的原則與方法 1)業(yè)務(wù)的相關(guān)性 2)業(yè)務(wù)的復(fù)雜度 3)主題域/支撐域 2.跨庫查詢的設(shè)計難題與設(shè)計實現(xiàn) 1)數(shù)據(jù)補填的解決方案 2)建立寬表的解決方案 3.領(lǐng)域事件的通知機制與設(shè)計實現(xiàn) 基于消息隊列的事件通知機制 4.微服務(wù)接口的防腐層設(shè)計 5.狀態(tài)查詢跟蹤的設(shè)計思路與代碼實現(xiàn) |
支持DDD的平臺架構(gòu)設(shè)計 1. 解決軟件層次的復(fù)雜性:將業(yè)務(wù)與技術(shù)解耦 2. 整潔架構(gòu)與六邊形架構(gòu)的設(shè)計思想 3. CQRS命令與查詢職責分離的設(shè)計思想 4. 基于整潔架構(gòu)的DDD架構(gòu)設(shè)計思路 1)制作通用倉庫與工廠的設(shè)計思路 2)引入DSL的思路與設(shè)計實現(xiàn) 3)支持DDD的增刪改功能架構(gòu)設(shè)計 4)支持DDD的查詢功能的架構(gòu)設(shè)計 |