事件風暴

事件風暴(Event storming)是利用研討方式,快速發現軟體特定領域中所發生事物的作法。和其他方式比較,此方式相當的簡單,而且過程不需要電腦協助,活動只需要便利貼以及寬闊的牆面。在此活動中,商業流程會變成一連串的領域事件,在活動中會用橘色的便利貼表示

事件風暴是由Alberto Brandolini在領域驅動設計(DDD)的情境下發明。事件風暴可以用作以及需求工程的工具。其概念是讓軟體開發者和領域專家(domain expert)聚在一起,互相討論學習。其命名是要讓重心專注在領域事件中,而其進行方式類似腦力激盪法或時的建模腦力激盪(model storming)。

需求
事件風暴的過程中,會包括有問題要提出的人(一般會是軟體開發人員),以及知道相關問題答案的人(領域專家,product owners)。

建模會在寬闊的牆面以及牆面上的大張白紙上進行,便利貼會貼在白紙上。至少會需要五種不同顏色的便利貼。
步驟
第一個步驟是找到所有的領域事件,寫在橘色便利貼上。

所有領域事件都找到之後,下一個步驟是找到讓領域事件發生的命令,寫在藍色便利貼上,放在對應領域事件的前面。

第三個步驟是識別命令執行以及事件發生的聚合(aggregate),聚合會寫在黃色便利貼上。

事件風暴後形成的概念會分為幾類,每一類都會用對應顏色的便利貼表示:
以下是五個顏色的便利貼、顏色以及內容
; :在商業流程中出現的事件,若用英文書寫的話,以過去式表示。
; :人員會透過view提出命令。
; :命令是使用者透過view提出的,會產生領域事件
; :一組可以視為單一單元處理的領域物件。
; :用戶在系統上互動,執行任務的環境。

有時也會加上以下的內容
; :依商業規則及邏輯處理命令,會產生一個或是多個領域事件。
; :第三方的服務提供者,例如像網上收款平台或是貨運公司。

例子
以下是一個事件風暴的範例。

領域事件

人員

命令

聚合

外部系統

Views

錯誤

Users

CreateAccount

AccountCreated

Signup

結果
事件風暴後,可以在建模空間中展示商業流程。不過更重要的是在參與者心裡建立的知識。

參考資料
外部連結

评论 (0)

  • 还没有评论,来抢沙发吧。