使用draw.io捕獲領域故事 - Darko Kantic

banq發表於2019-12-26

領域驅動設計(DDD)是一種軟體開發方法:一組用於幫助開發複雜系統的技術,原理和模式。該術語是由Eric Evans在其2004年的著作《域驅動設計:解決軟體中心的複雜性》中提出的。

通過無所不在的統一通用語言進行協作

DDD強調域專家和軟體開發人員之間的協作。在研討會期間,雙方將反覆工作以定義域的概念模型。“領域”是指我們要為其構建軟體系統的主題領域。在研討會期間,這是初始系統分析階段的一部分,其任務之一是定義一種通用的通用語言,或者在DDD世界中稱為通用語言/無所不在語言/統一語言。通用語言是領域專家和技術專家都理解的一組術語及其關係。有很多技術可以幫助完成此過程,其中之一就是Stefan Hofer和Henning Schwentner開發的領域講故事/領域敘事(Domain Storytelling,簡稱DS)。

領域敘事(DS)是一種技術,如領域專家所講,它是使用象形語言來記錄領域故事的。領域故事是系統中發生的情況的特定示例。每個故事都描述了一個過程的特定示例。領域敘事與傳統流程建模方法(例如BPMN)的不同之處在於,領域敘事僅對流程的子集進行建模,藉助領域敘事,我們可以對實際發生的一些事情進行建模,而不是對系統中可能發生的所有事情進行建模。DS遵循以下原則:一些良好的示例比高階抽象更有用。

在定義了幾個領域故事之後,參與者可以談論該領域中的人員,活動,工具,工作物件和事件。

領域敘事工具

需要以一種圖表形式記錄領域故事, 可以使用帶有一些粘滯便箋的白板。或者,您可以切出一些紙質圖示,然後將其貼上到白板上並使用箭頭進行連線。為了在此過程中提供幫助,您可以從“ 域講故事白板套件”頁面下載域講故事方法建立的資產。

將故事繪製在白板上後,以電子形式重新建立它很有用-因此您可以將其儲存以供以後參考。

 Draw.io

在我們的工作場所中,我們將Confluence與draw.io圖表工具整合在一起。我們使用draw.io記錄我們所有的圖表,包括領域故事。draw.io的整合非常有用,因為它將圖直接嵌入到頁面中。Confluence具有一項不錯的功能,可讓您直接從原始頁面開啟draw.io圖,如果您需要更新現有圖,這將特別方便。

隨著時間的流逝,我們已經開發出了自己的語法和圖示,它們在draw.io中可以很好地工作。

 

相關文章