運(yùn)用四色建模法進(jìn)行領(lǐng)域分析

?領(lǐng)域建模有很多種方法憾儒,對于同樣的問題域使用不同的建模手段得到的模型可能也不盡相同询兴。于是我們經(jīng)常聽到這樣一個問題:

怎么才能保證建模的正確性乃沙?

?這聽起來是個合理的質(zhì)疑,但實(shí)際上卻不是那么有道理诗舰。首先我們需要明白建模的目的是什么警儒?如果僅僅是為了描畫問題,那么并沒有什么對錯之分——僅僅是立場和角度的差別眶根;而如果是為了企業(yè)業(yè)務(wù)系統(tǒng)而進(jìn)行建模蜀铲,那么這個問題應(yīng)該變?yōu)椋?/p>

如何保證模型能夠支撐企業(yè)的運(yùn)營?

我想用下面這個例子來簡要的回答一下這個問題属百。
?在開始分析和建模之前记劝,我們需要知道企業(yè)業(yè)務(wù)系統(tǒng)的目的是什么;而企業(yè)業(yè)務(wù)系統(tǒng)的目的往往跟決策者或者管理的訴求相關(guān)族扰。我們現(xiàn)在需要移情到一位管理者身上厌丑,看看他的訴求到底是什么。
?現(xiàn)在假想你是一家在線電子書店的COO渔呵。某天怒竿,有一位顧客向你投訴,說他訂購的書少了一本扩氢,并且價錢算錯了耕驰,他多給了錢。在你承諾理賠之前录豺,你需要核對一下這位顧客說的是否屬實(shí)朦肘。那么這個時候你需要知道什么樣的信息才能做出準(zhǔn)確的判斷呢?
?簡單來說双饥,你需要知道這位顧客訂購了哪些書籍厚骗,付了多少錢以及書店到底為這個顧客送了哪些書籍。不幸的是兢哭,由于科技不夠發(fā)達(dá)领舰,你無法直接駕駛時光機(jī)器回到從前去親眼看看發(fā)生了哪些事。但幸運(yùn)的是迟螺,你并不需要會這么做冲秽,你只需要看看這位顧客的訂單,和網(wǎng)銀的支付記錄以及你們書店交給EMS的快遞單存根矩父,就應(yīng)該知道這些信息了锉桑。
?你找到了訂單和EMS快遞存根。發(fā)現(xiàn)這位顧客是在三天前訂購的書窍株,而你們在前天就已經(jīng)將書郵寄出去了民轴。并在訂單上看到這位顧客一共訂購了7本書攻柠,但是在EMS的快遞存根上,并沒有任何書籍的信息后裸,只有地址瑰钮、包裹號、郵費(fèi)和重量什么的信息微驶。這時候你覺得應(yīng)該去詢問一下配送部門浪谴,看看他們做了什么。
?在配送部門你根據(jù)包裹號查到了那個包裹的信息因苹,果然里面只有6本書苟耻。同時你在包裹部門發(fā)現(xiàn)了一張延期交貨單。上面說明由于缺貨扶檐,這位顧客另外一本書正在等待發(fā)貨凶杖。
?那么剩下的問題就是支付問題了,從網(wǎng)銀的記錄上看款筑,客戶不含郵費(fèi)一共支付了132.5元智蝠。訂單上顯示的金額也是132.5,顯然這位顧客并沒有多付錢醋虏。
?為了保證準(zhǔn)確寻咒,你重新從網(wǎng)站上選了這7本書,想看看是否也會是這個價錢颈嚼。但你卻意外的發(fā)現(xiàn)毛秘,以供只需要128.3。仔細(xì)辨認(rèn)后阻课,你發(fā)現(xiàn)有一本圖書現(xiàn)在是促銷叫挟。那么現(xiàn)在的問題是,促銷到底是什么時候開始的限煞?
?你到了市場部抹恳,市場部給了你一份近期促銷計(jì)劃。你發(fā)現(xiàn)那部書是昨天才開始促銷的署驻,也就是說在那位顧客在下單的時候奋献,促銷還沒有開始。
?這個時候旺上,你覺得應(yīng)該給你的顧客打一個電話致歉瓶蚂,商討如何后續(xù)郵寄的問題,并向他說明促銷的事情宣吱。
?你是否覺得這個COO當(dāng)?shù)糜悬c(diǎn)累呢窃这?這當(dāng)然是虛構(gòu)的。但是從這故事里面我們看到什么呢征候?

任何業(yè)務(wù)事件都會以某種數(shù)據(jù)的形式留下足跡

我們對于事件的追溯可以通過對數(shù)據(jù)的追溯來完成杭攻。正如上面這個故事里祟敛,你無法回到從前去看看到底發(fā)生了什么,但是卻可以在單據(jù)的基礎(chǔ)上兆解,一定程度的還原當(dāng)時事情發(fā)生的場景馆铁。當(dāng)我們把這些數(shù)據(jù)的足跡按照時間順序排列起來,我們幾乎可以清晰的推測出這個在過往的一段時間內(nèi)到底發(fā)生了哪些事情痪宰。


image.png

?那么為什么這些數(shù)據(jù)形成的鏈條能夠成為幫助我們追溯業(yè)務(wù)的營運(yùn)呢叼架?
?因?yàn)檫@些數(shù)據(jù)并不是隨便挑選的畔裕。如果我們回顧一下你作為COO檢查這個疏漏的過程衣撬,你首先選擇了訂單和EMS快遞存根,換句話說伐庭,如果訂單出現(xiàn)差錯烤镐,或者EMS快遞存根上說明你的確郵寄了7本書帘饶,那么這個疏漏的責(zé)任并不在你。所以這兩個訂單實(shí)際上是你這個企業(yè)法律責(zé)任的起點(diǎn)和終點(diǎn)扛点。
?當(dāng)你確定這個疏漏的責(zé)任在你之后,你選擇審查一些流程執(zhí)行的結(jié)果岂丘,比如包裹存根陵究。從而驗(yàn)證一些主要的業(yè)務(wù)流程執(zhí)行的結(jié)果是否正確。換句話講奥帘,這些數(shù)據(jù)是支撐你運(yùn)營體系的關(guān)鍵流程的執(zhí)行結(jié)果铜邮。


image.png

?正是由于這些數(shù)據(jù)是流程執(zhí)行的結(jié)果,它們才使我們可以在不了解流程細(xì)節(jié)的前提下寨蹋,對某些突發(fā)事件進(jìn)行追述和分析松蒜。
?除了上面那個極端的例子(投訴),對于任何一筆正常的經(jīng)濟(jì)往來已旧,我們都需要知道:

??1.如果我付出一筆資金秸苗,那么我的權(quán)益是什么?
??2.如果我收到一筆資金运褪,那我的義務(wù)是什么惊楼?
?而這些問題都需要業(yè)務(wù)系統(tǒng)捕捉到相應(yīng)的足跡才能夠回答。所以企業(yè)的業(yè)務(wù)系統(tǒng)主要的目的之一秸讹,就是記錄這些足跡檀咙,并將這些足跡形成一條有效的追溯鏈。
?而作為業(yè)務(wù)分析師的你嗦枢,則應(yīng)該知道哪些事件在運(yùn)營上是需要追溯的攀芯,這些事件都留下了什么足跡。
?這些足跡通常都具有一個有意思的特性文虏,即它們都是時標(biāo)性對象(moment-interval)侣诺。發(fā)現(xiàn)這些時標(biāo)性對象就是建模的起點(diǎn)殖演。對于這些時標(biāo)性對象稍加整理,我們就得到了整個領(lǐng)域模型的骨干年鸳。


image.png

?在得到骨干之后趴久,我們需要豐富這個模型,使它可以更好的描述業(yè)務(wù)概念搔确。這時候彼棍,我們需要補(bǔ)充一些實(shí)體對象。通常實(shí)體對象有三類:人膳算、地點(diǎn)座硕、物(party/place/thing)。
image.png

?在這個基礎(chǔ)上涕蜂,我們可以進(jìn)一步抽象這些實(shí)體是如何參與到各種不同的流程中去的华匾,這時候,我們就需要用到角色(role)机隙。
image.png

最后再把一些需要描述的信息放入描述對象(description)蜘拉。
image.png

?我們就得到了應(yīng)用四色建模方法(color modeling)建立的一套領(lǐng)域模型。
?簡要回顧一下上面的過程有鹿,不難發(fā)現(xiàn)我們建模的次序和重點(diǎn):

1.首先以滿足管理和運(yùn)營的需要為前提旭旭,尋找需要追溯的事件。
2.根據(jù)這些需要追溯葱跋,尋找足跡以及相應(yīng)的時標(biāo)性對象持寄。
3.尋找時標(biāo)性對象周圍的人、事年局、物际看。
4.從中抽象角色。
5.把一些信息用描述對象補(bǔ)足矢否。

?由于在第一步中仲闽,我們就將管理和運(yùn)營目標(biāo)作為建模的出發(fā)點(diǎn)。因此僵朗,整套模型實(shí)際上是圍繞這些“如何有效的追蹤這些目標(biāo)”而建立的赖欣,這樣的模型可以保證模型支撐企業(yè)的運(yùn)營。

題外話

?有人提了一個很有意思的問題:為什么你會以一個看上去像極端情況的例子來說明這個建模方法验庙?以我的經(jīng)驗(yàn)來看顶吮,對于業(yè)務(wù)系統(tǒng)有兩個東西是很重要的:1.可追溯性(traceability)和執(zhí)行效率(efficiency)。這里的可追溯性是指責(zé)任的可追溯性(traceability of liability)粪薛,而通常都是在一些不太好的事情發(fā)生之后悴了,才需要對責(zé)任進(jìn)行追溯。所以想一個相對負(fù)面的例子更容易幫助我們找到建模索需要解決的問題。

本篇所說的四色法與Peter Coad的四色法并不完全相同湃交,不敢說是發(fā)展熟空,僅僅是對Peter Ccoad四色的一種變化吧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搞莺,一起剝皮案震驚了整個濱河市息罗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌才沧,老刑警劉巖迈喉,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異温圆,居然都是意外死亡挨摸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門捌木,熙熙樓的掌柜王于貴愁眉苦臉地迎上來油坝,“玉大人嫉戚,你說我怎么就攤上這事刨裆。” “怎么了彬檀?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵帆啃,是天一觀的道長。 經(jīng)常有香客問我窍帝,道長努潘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任坤学,我火速辦了婚禮疯坤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘深浮。我一直安慰自己压怠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布飞苇。 她就那樣靜靜地躺著菌瘫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪布卡。 梳的紋絲不亂的頭發(fā)上雨让,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機(jī)與錄音忿等,去河邊找鬼栖忠。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的庵寞。 我是一名探鬼主播虚汛,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼皇帮!你這毒婦竟也來了卷哩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤属拾,失蹤者是張志新(化名)和其女友劉穎将谊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渐白,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尊浓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纯衍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栋齿。...
    茶點(diǎn)故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖襟诸,靈堂內(nèi)的尸體忽然破棺而出瓦堵,到底是詐尸還是另有隱情,我是刑警寧澤歌亲,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布菇用,位于F島的核電站,受9級特大地震影響陷揪,放射性物質(zhì)發(fā)生泄漏惋鸥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一悍缠、第九天 我趴在偏房一處隱蔽的房頂上張望卦绣。 院中可真熱鬧,春花似錦飞蚓、人聲如沸滤港。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗搔。三九已至,卻和暖如春八堡,著一層夾襖步出監(jiān)牢的瞬間樟凄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工兄渺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缝龄,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像叔壤,于是被迫代替她去往敵國和親瞎饲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容