Slide 1

Slide 1 text

Enter Domain Storytelling The Pictographic Language 1 Domain-Driven Design Taiwan Community

Slide 2

Slide 2 text

About Me – James Wang • 軟體工程師。 • DDD Taiwan 志工之一。 2

Slide 3

Slide 3 text

Agenda • 圖示語言四大元素 • 圖示語言基礎五大語法 • 繪製 Domain Storytelling 流程 • Workshop 3

Slide 4

Slide 4 text

回顧 4 Domain Storytelling 元素只有「圖示」、「箭頭」、以及一些「文字/數字」所組成。

Slide 5

Slide 5 text

回顧 5 Domain Storytelling 元素只有「圖示」、「箭頭」、以及一些「文字/數字」所組成。 圖示語言(Pictographic Language)

Slide 6

Slide 6 text

圖示語言 今日主題 6

Slide 7

Slide 7 text

Domain Storytelling 的四類圖示語言 7 Actors (參與者) Work Objects (領域活動物件) Activities (活動行為) Annotations (註釋) 圖示與文字 箭頭與文字與數字 文字

Slide 8

Slide 8 text

Actors 參與者 • 我們從參與者的角度來瞭解領域故事,舉例來說:電影觀眾與售票員。 • 參與者可能是一個人、一個群組、或軟體系統。我們使用不同的 icons 來代表不同類 型參與者。 • 通常用角色或職能(譬如:售票員)而非具體人名。 8 Person People, Meeting, Board, Committee Software, App, Machine, IT

Slide 9

Slide 9 text

Work Objects 領域活動物件 • 當參與者準備好了,參與者間的交流,或參與者負責了某些工作或任務,我們稱之為 領域活動物件。 9 領域活動物件 領域活動物件

Slide 10

Slide 10 text

Work Objects 領域活動物件 • 當參與者準備好了,參與者間的交流,或參與者負責了某些工作或任務,我們稱之為 領域活動物件。 • 常見的領域活動物件。 10

Slide 11

Slide 11 text

Work Objects 領域活動物件 11 領域活動物件 領域活動物件 領域活動物件資訊 Information About Work Objects Work Objects Work Objects Ex. 文件、實體物件… Ex. 對話、數位資訊…

Slide 12

Slide 12 text

目前為止,我們講了參與者與領域活動物件兩種元素。 12 再往下講另外兩個元素前,我們先來談談統一語言。

Slide 13

Slide 13 text

Icons from the cinema domain. 13 圖示的統一語言(Ubiquitous Language) * 不同圖示其命名會不一樣。

Slide 14

Slide 14 text

圖示統一語言詞彙表 14

Slide 15

Slide 15 text

講完了圖示統一語言。 15 再往下講另外兩個元素活動行為與註釋。

Slide 16

Slide 16 text

Activities 活動行為 • 參與者的活動與行為,通常使用箭頭與動詞來表示。 16 活動行為 活動行為 * 參與者的活動行為有先後順序的,我們用數字表示。 * 參與者與領域活動物件是用名詞表示,活動行為使用動詞。

Slide 17

Slide 17 text

Annotations 註釋 • 參與者、領域活動物件、和活動行為都能輔以文字註釋可用於記錄假設、變化、目的、 條件判斷、前置條件、後置條件、或例外…… 值得注意的內容。 17

Slide 18

Slide 18 text

Example 18

Slide 19

Slide 19 text

常見問題… 繪製 Domain Storytelling 圖時,大家常詢問或困擾的問題。 19

Slide 20

Slide 20 text

No Conditionals • 在 Domain Storytelling 圖中,沒有條件或選擇。這些是刻意排除在外。 • 繪製 Domain Storytelling 圖時,先選擇最重要的一條流程(往往就是 Happy Path)。 • 若還有其他重要的替代方案,每個替代方案都是一個領域故事,應對每個領域故事繪 製一張 Domain Storytelling 圖。 20

Slide 21

Slide 21 text

No Conditionals 案例說明 21 售票成功 票已售完 透過註釋說明 Conditionals。

Slide 22

Slide 22 text

22 A Grammar for Domain Stories Actor A works on a work object w (creates it, buys it, processes it, looks something up in it, ...). Ex. Actor A works on work object w to edit work object v. Ex. 文法一 文法二

Slide 23

Slide 23 text

23 A Grammar for Domain Stories Actor A hands work object w over to actor B or A exchanges information about w with B. Ex. Same as 3 but with several recipients. 文法三 文法四 The two actors A and B collaborate on w (sign it, agree on it, ...). 文法五

Slide 24

Slide 24 text

Domain Storytelling 繪製流程 24

Slide 25

Slide 25 text

Domain Storytelling Workshop 透過簡單的案例『外送平台流程』體驗一下 Domain Storytelling 【25 分鐘】 25

Slide 26

Slide 26 text

外送平台故事情境 26 1. 顧客使用外送平台的行動 APP 選擇目前有供餐的餐廳 2. 顧客可瀏覽該餐廳的菜單 3. 顧客加入餐點至購物車 4. 顧客確認購物車的餐點 5. 顧客建立訂單 6. 顧客依付款資訊進行付款 7. 外送平台通知餐廳有新訂單 8. 餐廳依訂單資料進行餐點的準備 9. 外送平台通知外送師訂單資料與到餐廳的取餐路線 10.外送師依路線前往餐廳取餐 11.外送師從餐廳取得餐點 12.外送師回報外送平台已取得餐點 13.外送平台通知外送師送餐路線 14.外送師依送餐路線前往指定地點 15.外送師將餐點交付給顧客 大家可以先自己嘗試畫看看,沒有標準答案。 我們提供我們的想法在下一頁!

Slide 27

Slide 27 text

27 成果展示