DDD事件風暴研討會備忘單
事件風暴是軟體系統的快速設計技術,涉及技術人員和領域專家/業務分析師。它最適合領域驅動設計環境,並傾向於/準備事件溯源和CQRS。該技術最初由Alberto Brandolini引入,由Vaughn Vernon在Domain Driven Design Distilled中採用。它也是他的iDDD研討會系列的一部分。
該備忘單旨在提供有關準備和促進事件風暴研討會的簡短見解。它並非旨在對該主題進行完整的介紹,需要事先了解DDD和事件風暴才能負責任地使用本文件。
所需材料
- 捲紙,用於建立建模曲面。例如在宜家(Mala,http://www.ikea.com/de/de/catalog/products/80324072/ 或亞馬遜https://www.amazon.de/gp/product/B005OBO1LO)
- 粘性便箋。Vaughn Vernon推薦使用7,6 x 7,6 cm超粘性品種。您需要以下顏色:橙色,淺藍色,淺黃色,綠色,粉紅色,紫色/紅色,淡紫色。我找到了Post It系列Marrakesh(例如https://www.amazon.de/gp/product/B016OON3UO/)和Energy(例如https://www.amazon.de/gp/product/B006JCQJJY)。確保你有足夠的
- 如果您還想繪製UI模擬,人物角色或驗收測試用例,您也可以新增更多種類的膠粘物。
- 細頭記號筆或水筆。每個參與者至少一個,但最好有兩種顏色,例如黑色和藍色。不要使用標準的活動掛圖示記,因為它們對於選定的粘滯便箋來說太大了,而是更精細的。我發現Stabilo'Greenpoint L0.8執行良好(https://www.amazon.de/dp/B004HV1N8Q/)。
- 更大的記號筆。標準活動掛圖示記效果很好。你不能錯過Neuland標記,例如https://de.neuland.com/marker-stifte/neuland-marker/neuland-no.one-keilspitze-2-6-mm-einzelfarben.html
- 膠帶。使用電工膠帶將紙卷和可能的皺紋膠帶放在一起,以便新增額外的紙條。
準備:
事前:
- 邀請域專家和開發人員。就個人而言,我的目標是不超過8.但由於建模空間很大,討論組將會出現,因此更多的人也可以很好地工作。
- 安排會話不超過2或3個小時。計劃後續會議。
在會議室準備
- 從房間裡取走椅子。人們應該到處走走。正如阿爾貝託所說,座位是有毒的。
- 提前準備思路,或者,對於初次參與者,按照執行中的描述迭代地建立圖例。您可以使用預先準備好的卡片,例如本文件附帶的卡片。
- 準備建模空間。使用貼在大牆上的紙卷。1 mx 10 m應視為最小尺寸。越大越好。準備好擴大空間。
- 佈置粘滯便箋和標記。
執行
您可以在下面按照Vaughn Vernon推薦的順序進行。可以在後續步驟中新增其他人工製品,但重要的是大致遵循: 事件→命令→聚合→邊界→檢視順序。
- 建立或排列圖例,以便所有參與者都能很好地理解顏色註釋/註釋的語義。
- 用橙色便籤代表領域事件並將它們放置在業務流程(=時間序列)順序的建模空間中。該名稱是過去時的名詞/動片語合,例如。ItemOrdered
- 如果問題領域與流程或questions出現沒有能夠得到立即解析的概念,使用紫色或紅色的便籤標註。
- 某些領域事件將形成業務流程執行。用淡紫色標記流程的名稱,並從事件流程到業務流程繪製一個箭頭。
- 當您認為已捕獲大多數領域事件時,請關注建立這些事件的命令。把它們靠在引起它們的事件的淡藍色上。過程是在時間軸上從左到右進行。這個名字就像是一個動作OrderItem(Order是一個動詞)。
- 如果特定使用者角色執行命令,請注意在命令下方使用黃色。我喜歡繪製簡筆畫來區分它們。
- 當您認為自己擁有所有命令時,請將聚合放在黃色便籤上,並將它們放在此聚合上執行的命令與其導致的事件之間。這個名字就像一個名詞“Item條目”,如果多次使用聚合,請建立副本並將其重複放在時間軸上。
- 將有界上下文(實線)和子域(虛線)繪製到建模表面上。只有當你覺得你已經足夠了解邊界時,你才應該這樣做。使用粉紅色標記命名上下文。
- 繪製箭頭以顯示事件在您的上下文之間流動的方向。
- 識別使用者在系統中執行任務所需的檢視。將它們放在聚合下方的綠色便籤上。
可選新增:
- UI模擬與介面檢視
- 重要測試的驗收測試草圖
- 使用者角色
- 閱讀模型
上文中提到的各種顏色的語義如下所示,以供參考。
- 領域事件 - 橙色
- 命令 - 淺藍色
- 聚合 - 黃色
- 問題 - 紅色或紫色
- 使用者角色/角色 - 黃色與棒圖
- 意見 - 綠色
- 有界上下文- 實線,粉紅色的筆記
- 子域名 - 虛線
- 事件流程 - 箭頭
相關文章
- 事件風暴研討會準備和三種型別事件型別
- DDD事件風暴的詳細議程事件
- 名義小組、焦點小組、引導式研討會、頭腦風暴
- 事件風暴 vs 事件建模事件
- 可以促進微服務設計的DDD事件風暴建模技巧 - Nick Tune微服務事件
- 大局事件風暴:尋找差距事件
- “我開啟潘多拉的盒子” - 採訪DDD事件風暴發明者Alberto Brandolini事件
- 企業流程數字化轉型研討會暨《流程最佳化風暴》新書釋出會 即將召開新書
- 兩個技術小錯誤會毀掉一場風暴事件事件
- 事件風暴EventStorming與事件建模EventModeling的區別 | rafalmaciag事件ORMMac
- 事件風暴創始人Alberto:團隊拓撲和DDD上下文對映的關係事件
- 事件風暴與領域故事的比較事件
- Docker Compose 備忘清單Docker
- GitHub - mariuszgil/awesome-eventstorming: 事件風暴建模工具集GithubORM事件
- Android備忘錄《單例模式》Android單例模式
- 事件風暴 - 分解問題領域的最佳實踐事件
- 通過事件風暴發現業務流程 - Sarah Denayer事件
- 官宣:Kotlin 1.3 網路研討會Kotlin
- 風暴英雄-神鑄裝備VS英雄聯盟-神話裝備
- Web 開發人員備忘單Web
- 簡單整理js打碼備忘錄JS
- 高階TypeScript型別備忘單(帶示例)TypeScript型別
- 備忘錄
- RunLoop備忘OOP
- Vuepress 備忘Vue
- HTTPS備忘HTTP
- 【備忘錄】
- 可信數字身份研討會——深圳站成功召開!
- 沉浸式打卡“2022中國光網路研討會”
- Python 官方研討會:徹底移除 GIL 真的可行麼?Python
- 使用者故事/事件風暴中的功能與能力如何區分? - Killick事件
- 華為雲會議網路研討會,按次訂購更方便!
- JavaScript正規表示式備忘單附例項JavaScript
- 【活動】人工智慧產學研生態建設研討會報名人工智慧
- tmux使用備忘UX
- Eigen備忘錄
- Runtime備忘-isa
- Python 備忘錄Python