Slide 1

Slide 1 text

EVENT STORMING WORKSHOP China Version - James Wang

Slide 2

Slide 2 text

Who Am I – James Wang • I am a programmer. • Domain-Driven Design Taiwan 志工之一。 • 正在學習 Domain-Driven Design 的道路上。

Slide 3

Slide 3 text

軟體開發過程中,最為關鍵複雜根本的原因 是目標領域本身就錯綜複雜。

Slide 4

Slide 4 text

如何面對複雜領域 • 讓系統開發專家與領域專家協同合作。 • EVENTSTORMING • Domain Storytelling

Slide 5

Slide 5 text

EVENTSTORMING WORKSHOP 中國版本

Slide 6

Slide 6 text

簡介 EVENTSTORMING • 從「領域專家們」溝通,大家一同了解與學習領域知識。 • 透過工作坊形式,確保大家對與領域知識理解一致。 • 過程中逐步建立起統一語言(Ubiquitous Language)。 • 產出 Bounded Context 與 Bounded Context Map。

Slide 7

Slide 7 text

EVENTSTORMING 主要元素 小明看見綠燈,決定過馬路。 → 已經過馬路 ACTOR READ MODEL COMMAND EVENT HOT SPOTS 1. EVENT(橘):BUSINESS FLOW 中所有已經發生的事實。使用過 去式描述,譬如商品已購買。 2. ACTOR(黃):觸發事件的角色,可以是人,也可以是外部系統。 3. READ MODEL(Optional)(綠):角色看到或聽到什麼資訊後 做的決定,不一定每次都有此項。 4. Command(藍):角色的行為,做了什麼事情觸發了事件。 5. HOT SPOTS(紅):大家討論過程所有摩擦不一致或誤解或問題。 BY EXAMPLE:

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

示範案例情境 • 場景源於一個搶劫案件,當搶匪拿出他的槍,來自未來的超能攝 影鏡頭發現危險馬上自動報警。同時,各位正義英雄暗地裡開始 出動! • 哪知道這搶匪也不是蓋的,某正義英雄(請自動腦補蝙蝠俠)雖 然第一個到場,和搶匪激戰一輪居然也還沒拿下,無奈中只能觸 發裝備的升級改造裝置通知總部增援。 • 總部系統收到通知馬上召集了其他英雄在線會議商討對策,作戰 計劃一出,第二批英雄馬上到達現場,幾經周折終於抓到搶匪。

Slide 10

Slide 10 text

捕捉第一個事件 • 場景源於一個搶劫案件,當搶 匪拿出他的槍,來自未來的超 能攝影鏡頭發現危險馬上自動 報警。同時,各位正義英雄暗 地裡開始出動!

Slide 11

Slide 11 text

思考場景?詢問專家尋求解答 • 場景源於一個搶劫案件,當搶 匪拿出他的槍,來自未來的超 能攝影鏡頭發現危險馬上自動 報警。同時,各位正義英雄暗 地裡開始出動! 訊息直接給 正義英雄?

Slide 12

Slide 12 text

思考場景?詢問專家尋求解答 • 場景源於一個搶劫案件,當搶 匪拿出他的槍,來自未來的超 能攝影鏡頭發現危險馬上自動 報警。同時,各位正義英雄暗 地裡開始出動! 訊息直接給 正義英雄? 領域專家: 預警訊息會先傳給總部的自動預警系統, 再分給正義英雄。

Slide 13

Slide 13 text

捕捉下個事件 • 場景源於一個搶劫案件,當搶 匪拿出他的槍,來自未來的超 能攝影鏡頭發現危險馬上自動 報警。同時,各位正義英雄暗 地裡開始出動! 領域專家: 預警訊息會先傳給總部的自動預警系統, 再分給正義英雄。

Slide 14

Slide 14 text

然後就完成整個流程補抓

Slide 15

Slide 15 text

換大家練習了 – 電影院實體售票場景 1. 客戶告訴售票櫃臺人員要看那個場次的哪一部電影 2. 售票櫃臺人員查詢該場次電影資訊,若找不到資訊或滿場則回覆客戶是否選擇其他場 次資訊 3. 售票櫃臺人員查詢該場次座位資訊 4. 售票櫃臺人員告知客戶目前有哪些位置可以選擇(若客戶無法決定售票櫃臺人員可提 供建議) 5. 客戶將選擇位置告知售票櫃臺人員 6. 售票櫃臺人員幫忙確認位置 7. 客戶可以選擇現金支付或第三方支付(譬如 LINE PAY 或信用卡付款) 8. 售票櫃臺人員幫忙印製電影票券 9. 售票櫃臺人員將電影票券遞交給客戶

Slide 16

Slide 16 text

回到英雄主題,中國版事 件風暴其接下來步驟是… • 尋找業務物件(Business Object) • 識別 Bounded Context

Slide 17

Slide 17 text

補抓業務物件生命週期

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

補抓 BC

Slide 20

Slide 20 text

電影院售票場景結果 • 事件風暴 • 尋找業務物件(Business Object) • 識別 Bounded Context

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

電影院售票場景結果 • Domain Storytelling

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

延伸閱讀

Slide 26

Slide 26 text

THANK YOU