Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Domain Storytelling 領域敘事 - 簡介圖示語言

Domain Storytelling 領域敘事 - 簡介圖示語言

簡介:
簡單介紹 Domain Driven Design(DDD)中有名的建模方法 Domain Storytelling(領域敘事)中圖示語言。

大綱:
1. 四大圖示語言:Actors、Work Objects、Activities、以及 Annotations。
2. 五大基礎語法。
3. Domain Storytelling(領域敘事)繪製流程

本篇是 DDD Taiwan 202105 Meetup 演講中的第二場(共三場)。這三場是有順序與故事性的,閱讀本篇前可以先閱讀第一場演講簡報。看完本簡報後可以繼續看第三場簡報。
1. 第一場:認識 Domain Storytelling 及第一個領域故事 (https://www.slideshare.net/hoblues/domain-storytelling-248741739
2. 第三場:與 DDD 的搭配及劃分邊界技巧 (https://www.slideshare.net/sandy30716/finding-boundaries-with-domain-storytelling

參考書籍:
https://leanpub.com/domainstorytelling

3c38e1be8943ed7dba44f9206dd7048a?s=128

James Wang

May 29, 2021
Tweet

Transcript

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

    Community
  2. About Me – James Wang • 軟體工程師。 • DDD Taiwan

    志工之一。 2
  3. Agenda • 圖示語言四大元素 • 圖示語言基礎五大語法 • 繪製 Domain Storytelling 流程

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

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

  6. 圖示語言 今日主題 6

  7. Domain Storytelling 的四類圖示語言 7 Actors (參與者) Work Objects (領域活動物件) Activities

    (活動行為) Annotations (註釋) 圖示與文字 箭頭與文字與數字 文字
  8. Actors 參與者 • 我們從參與者的角度來瞭解領域故事,舉例來說:電影觀眾與售票員。 • 參與者可能是一個人、一個群組、或軟體系統。我們使用不同的 icons 來代表不同類 型參與者。 •

    通常用角色或職能(譬如:售票員)而非具體人名。 8 Person People, Meeting, Board, Committee Software, App, Machine, IT
  9. Work Objects 領域活動物件 • 當參與者準備好了,參與者間的交流,或參與者負責了某些工作或任務,我們稱之為 領域活動物件。 9 領域活動物件 領域活動物件

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

  11. Work Objects 領域活動物件 11 領域活動物件 領域活動物件 領域活動物件資訊 Information About Work

    Objects Work Objects Work Objects Ex. 文件、實體物件… Ex. 對話、數位資訊…
  12. 目前為止,我們講了參與者與領域活動物件兩種元素。 12 再往下講另外兩個元素前,我們先來談談統一語言。

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

  14. 圖示統一語言詞彙表 14

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

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

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

  18. Example 18

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

  20. No Conditionals • 在 Domain Storytelling 圖中,沒有條件或選擇。這些是刻意排除在外。 • 繪製 Domain

    Storytelling 圖時,先選擇最重要的一條流程(往往就是 Happy Path)。 • 若還有其他重要的替代方案,每個替代方案都是一個領域故事,應對每個領域故事繪 製一張 Domain Storytelling 圖。 20
  21. No Conditionals 案例說明 21 售票成功 票已售完 透過註釋說明 Conditionals。

  22. 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. 文法一 文法二
  23. 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, ...). 文法五
  24. Domain Storytelling 繪製流程 24

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

  26. 外送平台故事情境 26 1. 顧客使用外送平台的行動 APP 選擇目前有供餐的餐廳 2. 顧客可瀏覽該餐廳的菜單 3. 顧客加入餐點至購物車

    4. 顧客確認購物車的餐點 5. 顧客建立訂單 6. 顧客依付款資訊進行付款 7. 外送平台通知餐廳有新訂單 8. 餐廳依訂單資料進行餐點的準備 9. 外送平台通知外送師訂單資料與到餐廳的取餐路線 10.外送師依路線前往餐廳取餐 11.外送師從餐廳取得餐點 12.外送師回報外送平台已取得餐點 13.外送平台通知外送師送餐路線 14.外送師依送餐路線前往指定地點 15.外送師將餐點交付給顧客 大家可以先自己嘗試畫看看,沒有標準答案。 我們提供我們的想法在下一頁!
  27. 27 成果展示