學(xué)習(xí)與嘗試 --> 事件風(fēng)暴
事件風(fēng)暴
1. 基礎(chǔ)概念

術(shù)語(yǔ)
- 執(zhí)行者 -----> 是指執(zhí)行的角色,系統(tǒng)的主體,是導(dǎo)致系統(tǒng)狀態(tài)變化的觸發(fā)源
- 人員,系統(tǒng)的用戶,操作人員等
- 系統(tǒng),系統(tǒng)本身執(zhí)行的,或者調(diào)度的,自動(dòng)觸發(fā)的 ,第三方系統(tǒng)
- 定時(shí)任務(wù),定時(shí)的觸發(fā)任務(wù)
- 命令 -----> 是執(zhí)行者發(fā)起的操作,構(gòu)成要件是執(zhí)行者的行為
- 是某個(gè)場(chǎng)景中領(lǐng)域事件的觸發(fā)動(dòng)作,對(duì)應(yīng)一個(gè)用例
- 領(lǐng)域?qū)ο?/strong> -----> 是對(duì)對(duì)象,人或者系統(tǒng)的信息表示,它通過較為簡(jiǎn)單的信息結(jié)構(gòu)來代表我們需要理解的復(fù)雜事務(wù)或系統(tǒng)
- 創(chuàng)建訂單,修改訂單 ,刪除訂單等 ,領(lǐng)域?qū)ο螅河唵?/li>
- 領(lǐng)域事件 -----> 是和領(lǐng)域相關(guān)的事情,實(shí)在業(yè)務(wù)上真實(shí)發(fā)生的事實(shí),這些事件對(duì)系統(tǒng)會(huì)產(chǎn)生關(guān)鍵影響,是觀察業(yè)務(wù)系統(tǒng)變化的關(guān)鍵點(diǎn),領(lǐng)域事件一般是領(lǐng)域?qū)<谊P(guān)心的,一般已動(dòng)詞的過去式表示,表示已發(fā)生什么事件,是過去已經(jīng)發(fā)生過的事實(shí)
- 識(shí)別領(lǐng)域事件的線索
- 是否產(chǎn)生了某種數(shù)據(jù)
- 系統(tǒng)狀態(tài)是否發(fā)生變化,無論這種狀態(tài)存放到數(shù)據(jù)庫(kù)還是內(nèi)存
- 是否對(duì)外發(fā)送了某些消息
- 識(shí)別領(lǐng)域事件的線索
- 讀模型 -----> 為了達(dá)到一個(gè)目的,需要在系統(tǒng)中讀出一些數(shù)據(jù)
- 讀模型來源于領(lǐng)域?qū)ο螅宫F(xiàn)的形式不一樣,一個(gè)讀模型中可能包含多個(gè)領(lǐng)域?qū)ο?/li>
2. 事件風(fēng)暴工作坊實(shí)踐流程
- 產(chǎn)品愿景,識(shí)別軟件價(jià)值和定位,進(jìn)行業(yè)務(wù)的導(dǎo)入,團(tuán)隊(duì)共識(shí)業(yè)務(wù)需求信息
- 初步進(jìn)行領(lǐng)域劃分,識(shí)別出核心域,分而治之 ,對(duì)問題域的初步劃分,分解問題
- 事件風(fēng)暴,觀察業(yè)務(wù)系統(tǒng)變化的關(guān)鍵點(diǎn),找出系統(tǒng)狀態(tài)的變化規(guī)律
- 命令風(fēng)暴,找出系統(tǒng)狀態(tài)的觸發(fā)者和行為
- 尋找模型,根據(jù)領(lǐng)域名詞,設(shè)別領(lǐng)域?qū)ο?,識(shí)別對(duì)象之間的關(guān)系,設(shè)計(jì)模型
- 限界上下文劃分,分解問題 ,戰(zhàn)略規(guī)劃
- 規(guī)范化的輸出,已團(tuán)隊(duì)共識(shí)的模型或者UML輸出等
3. 步驟
-
共識(shí)白板中的圖例,各自表示的是什么

-
從一個(gè)初步劃分的領(lǐng)域開始 ,按照時(shí)間軸,從左到右的,寫出事件(對(duì)時(shí)間的順序要求不是很高,盡量按照時(shí)間的先后順序識(shí)別)
-
識(shí)別命令 ,和 執(zhí)行者 ,并明確執(zhí)行者的角色,比如,第三方系統(tǒng),系統(tǒng)操作人員,定時(shí)任務(wù)
-
識(shí)別讀模型
-
根據(jù)業(yè)務(wù)識(shí)別出來的命令,事件,找出具有代表性的名詞,建立初步的模型,并整理分類
-
識(shí)別模型之間的關(guān)系,畫出領(lǐng)域分析模型
-
根據(jù)分析模型,細(xì)化模型,設(shè)計(jì)出領(lǐng)域設(shè)計(jì)模型,并用uml展示
-
根據(jù)設(shè)計(jì)模型 設(shè)計(jì) 聚合,實(shí)體,值對(duì)象,細(xì)化模型
-
劃分限界上下文 ,規(guī)范文檔輸出
業(yè)務(wù)需求
愿景和目標(biāo),統(tǒng)一認(rèn)識(shí),對(duì)于目標(biāo)的共識(shí)
對(duì)于 :精裝管理業(yè)務(wù)流程的業(yè)務(wù)人員(銷售,訂單,財(cái)務(wù))
他們想 :更好的管理客戶,項(xiàng)目,訂單,以及更快的協(xié)作,完成訂單,跟蹤訂單
這個(gè) :精裝訂單系統(tǒng)
是一個(gè) :內(nèi)部管理系統(tǒng)
它可以 :通過對(duì)客戶,項(xiàng)目,訂單的在線化管理,提升業(yè)務(wù)方的協(xié)作效率,更好的跟蹤 客戶 和訂單的情況
不同于 : OA管理系統(tǒng)
它的優(yōu)勢(shì)是 :結(jié)合業(yè)務(wù)的實(shí)際運(yùn)行情況,基于定制化的管理系統(tǒng),提升效率
1. 需求描述
? 銷售人員 登錄APP,如果沒有賬號(hào)則注冊(cè)賬號(hào),登錄成功后,可以在系統(tǒng)上錄入客戶的基本信息,根據(jù)客戶的房屋信息創(chuàng)建項(xiàng)目,一個(gè)客戶可以創(chuàng)建一個(gè)或者多個(gè)項(xiàng)目,銷售人員根據(jù)客戶的意向情況,創(chuàng)建訂單,收取意向金,收取的意向金需要財(cái)務(wù)進(jìn)行確認(rèn),并記錄審核的情況, 財(cái)務(wù)確認(rèn)后,訂單專員可以看到訂單列表,審核訂單信息,審核未通過,則通知銷售人員原因
? 訂單專員可以給訂單綁定合同,如果該客戶下沒有合同,可以為客戶創(chuàng)建合同,并綁定,有合同,就直接綁定合同號(hào),綁定的合同號(hào)會(huì)流轉(zhuǎn)到下游的系統(tǒng)中,訂單專員可以填寫排期單信息,確定訂單沒有問題后,可以做訂單下達(dá) ,當(dāng)訂單的生命周期完結(jié)后,訂單專員可以完成訂單 ,訂單中途出現(xiàn)意外情況 ,可以作廢訂單
訂單狀態(tài)機(jī):
- 訂單已創(chuàng)建 ------> 訂單創(chuàng)建的初始狀態(tài)
- 訂單已生成合同號(hào) ------> 訂單綁定合同號(hào)成功
- 訂單已下達(dá) ------> 訂單下達(dá)成功
- 訂單已完成 ------> 訂單完成了
- 訂單已廢棄 ------> 比如客戶不想在公司做了 等情況 或者 沒有用的訂單不用跟蹤了,廢棄訂單
2. 規(guī)則
- 意向金:向客戶收取的定金 ,可以任意的填寫 ,至少收取1千以上
- 財(cái)務(wù)審核確認(rèn),線上支付的不需要財(cái)務(wù)確認(rèn),現(xiàn)金需要財(cái)務(wù)進(jìn)行確認(rèn)
- 合同號(hào)生成規(guī)則:Gr + 年月日時(shí)分秒
- 合同號(hào)必須綁定 ,不綁定不能做訂單下達(dá)
- 排期單必須填寫,不填寫不能做點(diǎn)單下達(dá)
- 用戶名必須唯一,必須填寫電話號(hào)碼 和郵箱,并驗(yàn)證 ,密碼長(zhǎng)度不能低于6位
3. 術(shù)語(yǔ)
- 項(xiàng)目:在家裝行業(yè),項(xiàng)目的基本信息,一般就是客戶的房屋信息,把房屋信息當(dāng)作項(xiàng)目信息來管理
- 合同號(hào):合同的標(biāo)識(shí)
- 下游系統(tǒng),另外一個(gè)服務(wù)或者第三方的系統(tǒng)
4. 干系人
-
銷售 ,客戶 ,訂單專員 ,財(cái)務(wù)人員

-
分析
- 銷售是支持者,錄入和收集客戶的基本信息應(yīng)該要盡量完善,這樣有利于設(shè)計(jì)師的設(shè)計(jì)和報(bào)價(jià),面向的是客戶,挖掘更多的客戶信息,有利于簽單
- 需要對(duì)客戶進(jìn)行分層,不同的客戶,盡量匹配比較適合的設(shè)計(jì)師和銷售
- 財(cái)務(wù)人員審核的周期控制等
- 訂單專員審核的步驟可能很繁瑣,需要考慮他的痛點(diǎn)以及效率
5. 流程圖

6. 領(lǐng)域分析模型


參考資料
感謝各位老師的輸出整理
- 公眾號(hào):作者:少個(gè)分號(hào),公眾號(hào)名稱:DDD和微服務(wù), https://mp.weixin.qq.com/s/3Ef7jzetIb7r_abH-i4Z8g
- 51CTO 課程 ,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)課程 ---> 事件風(fēng)暴
- 解構(gòu)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì) ---> 事件風(fēng)暴

浙公網(wǎng)安備 33010602011771號(hào)