企業(yè)架構(gòu)12——數(shù)據(jù)架構(gòu)之數(shù)據(jù)建模
數(shù)據(jù)架構(gòu)是業(yè)務(wù)和應(yīng)用系統(tǒng)建設(shè)的橋梁,貫穿了業(yè)務(wù)、應(yīng)用及技術(shù)架構(gòu),成為鏈接彼此的橋梁。本文就數(shù)據(jù)架構(gòu)之數(shù)據(jù)建模展開分析,一起來看看吧。
數(shù)據(jù)架構(gòu)是業(yè)務(wù)與應(yīng)用系統(tǒng)建設(shè)的橋梁,數(shù)據(jù)架構(gòu)基于業(yè)務(wù)架構(gòu)(業(yè)務(wù)模式、流程、規(guī)則等)識別出業(yè)務(wù)數(shù)據(jù)需求,統(tǒng)一數(shù)據(jù)語言及操作手段,作為應(yīng)用架構(gòu)(系統(tǒng)功能、組建、接口等)和技術(shù)架構(gòu)(技術(shù)指標、技術(shù)選型等)設(shè)計和開發(fā)的依據(jù)。
簡單說就是——數(shù)據(jù)架構(gòu)貫穿了業(yè)務(wù)、應(yīng)用及技術(shù)架構(gòu),成為鏈接彼此的橋梁。
因為筆者不是技術(shù)人員,在技術(shù)這塊知識不是很足,所以不會往技術(shù)的部分深入,而是通過梳理數(shù)據(jù)架構(gòu)的內(nèi)容,去反哺因為及應(yīng)用部分。
完整的設(shè)計數(shù)據(jù)架構(gòu)的步驟如下所述:
A、數(shù)據(jù)模型——通過各層級的建模得出整個系統(tǒng)的數(shù)據(jù)模型
B、數(shù)據(jù)來源——數(shù)據(jù)的類型、采集方式及來源
C、數(shù)據(jù)的處理——數(shù)據(jù)清洗及轉(zhuǎn)化、集成、存儲
D、數(shù)據(jù)分析——如何分析數(shù)據(jù)
E、數(shù)據(jù)展示——以什么樣的方式來展示數(shù)據(jù)
F、數(shù)據(jù)應(yīng)用——將數(shù)據(jù)應(yīng)用在哪些方面
一、數(shù)據(jù)建模
整個企業(yè)架構(gòu)的建模過程如下,從業(yè)務(wù)到應(yīng)用、再到數(shù)據(jù)架構(gòu)。每一個架構(gòu)又從上而下、從粗顆粒到細顆粒度逐步拆解。數(shù)據(jù)架構(gòu)也不例外,我們就來看看,如何搭建一個業(yè)務(wù)的數(shù)據(jù)架構(gòu)。
數(shù)據(jù)建模,采用分層建模的方式,可以有如下幾個層級:
- 數(shù)據(jù)主題域——將頂級業(yè)務(wù)映射為數(shù)據(jù),比如財務(wù)、倉儲等;
- 概念數(shù)據(jù)模型——梳理數(shù)據(jù)實體之間的關(guān)聯(lián)關(guān)系,比如采購合同、采購計劃等;
- 邏輯數(shù)據(jù)模型——梳理邏輯實體之間的關(guān)系,比如訂單表與其支付子表、優(yōu)惠券子表的關(guān)系;
- 物理數(shù)據(jù)模型——數(shù)據(jù)表單對應(yīng)的字段的類型、長度等。
二、數(shù)據(jù)主題域
1. 模型
我們從業(yè)務(wù)的整個價值鏈來看,一個價值鏈條就是一個業(yè)務(wù),一個業(yè)務(wù)與對應(yīng)一個數(shù)據(jù)主題域,比如以上可以得到這個制造系統(tǒng)的核心數(shù)據(jù)主題域:研發(fā)、采購、制造、倉儲、營銷、運輸。
我們選擇采購來進行分析:
2. 關(guān)系圖
單個業(yè)務(wù)域的數(shù)據(jù)主題域關(guān)系圖,與應(yīng)用系統(tǒng)的比較類似,如應(yīng)用系統(tǒng)中的采購管理系統(tǒng)下包含:
a、供應(yīng)商管理;
b、采購計劃管理;
c、采購合同管理;
d、貨品庫存管理;
e、配送調(diào)度管理。
如果是多個系統(tǒng)的數(shù)據(jù)主題域關(guān)系圖則概略如下所示示意圖。
三、概念數(shù)據(jù)模型
概念數(shù)據(jù)模型就是梳理主題域中各數(shù)據(jù)主題中的業(yè)務(wù)對象,并將業(yè)務(wù)對象之間的關(guān)系梳理出來,這樣概念數(shù)據(jù)模型就搭建好了。
如下圖,用戶采購,1個采購會對應(yīng)多個訂單,1個訂單又會對應(yīng)多個商品。則其概念數(shù)據(jù)模型簡單說明如下:
我們進一步詳細的說一下,首先是要挑選出數(shù)據(jù)主題域中的業(yè)務(wù)對象,那什么是業(yè)務(wù)對象呢,有什么選擇標準,怎么樣來篩選呢?
A、業(yè)務(wù)對象包含:是業(yè)務(wù)領(lǐng)域中的人、事、物、地等,承載了業(yè)務(wù)運作及管理的重要信息,比如說書店管理系統(tǒng)中的:圖書、職工、會員、售貨員等。
I、人員角色——比如用戶、配送員、供應(yīng)商、商家等
Ii、客觀存在的事物——比如商品、配件
Iii、一種行為、規(guī)則、過程概念——比如調(diào)度規(guī)則、賬戶
Iv、事件——比如訂單
以上簡單總結(jié)就是,找關(guān)鍵路徑上的人事物規(guī)則等。
B、業(yè)務(wù)對象具有唯一的標識信息,比如供應(yīng)商有供應(yīng)商編號
C、相對獨立,比如訂單和商品,本身互相是彼此獨立的
D、一般為主數(shù)據(jù)(各系統(tǒng)中共享的數(shù)據(jù),比如商品、訂單等)及事務(wù)數(shù)據(jù)
建模方法1:DDD的四色建模法
1)首先以滿足管理和運營的需要為前提,尋找需要追溯的事件,或者叫關(guān)鍵業(yè)務(wù)時刻。
2)根據(jù)這些需要追溯,尋找足跡以及相應(yīng)的Moment-interval(關(guān)鍵業(yè)務(wù)時刻)對象。
3)尋找“關(guān)鍵業(yè)務(wù)時刻”對象周圍的Party,Place or thing(人-事-物)對象。
4)從“人-事-物”中抽象出Role(角色)。5)把一些描述信息(Description)用對象補足。
舉例:
我們以一個線上書店的業(yè)務(wù)來說明,核心鏈條是:用戶瀏覽之后下訂單,支付成功之后,根據(jù)用戶的下單地址,給快遞公司下單,快遞公司根據(jù)快遞單進行運輸,最終送到用戶的手上。我們就得到一個主干的E-R圖,如下:
得到骨干之后,我們需要豐富這個模型,使它可以更好的描述業(yè)務(wù)概念。這時候,我們需要補充一些實體對象。通常實體對象有三類:人-事-物(Party,Place, or Thing)。如圖所示:
在這個基礎(chǔ)上,我們可以進一步抽象這些實體事如果參與到各種不同的流程中去的,這時候,我們就需要用到角色(role),如圖所示:
最后再把一些需要描述的信息放入描述對象(description)。如圖所示:
建模方法2
A、首先是根據(jù)業(yè)務(wù)梳理數(shù)據(jù)域得到了數(shù)據(jù)主題域
B、按照業(yè)務(wù)流程順序,梳理數(shù)據(jù)主題中的關(guān)鍵時刻
C、梳理關(guān)鍵時刻對應(yīng)的主要人事物角色,
D、進一步細化、補充分支對象
E、并建立關(guān)聯(lián)關(guān)系
舉例:
我們將數(shù)據(jù)主題域中的業(yè)務(wù)對象找出來,并按照業(yè)務(wù)流程發(fā)生的先后順序,得到如下的圖:
我們再按照之前說明的如何找業(yè)務(wù)對象,將其中的主要人事物梳理出來,并進一步的細化,簡單示意圖如下:
以上是采購管理的部分,如果我們把其它的部分加上,比如財務(wù)結(jié)算,運輸環(huán)節(jié),則會有各部分的示意圖如下。此圖形則一方面能夠展示各業(yè)務(wù)對象之間的關(guān)系,另外也能展示數(shù)據(jù)的流向,比如采購中是先有采購計劃,然后是有采購合同,所以也是一個數(shù)據(jù)流圖,同時也能展示數(shù)據(jù)的分布,可以算是一個數(shù)據(jù)分布圖。
最終的整體效果如下圖。能夠顯示整個應(yīng)用系統(tǒng)中數(shù)據(jù)主題、業(yè)務(wù)對象之間的關(guān)系及數(shù)據(jù)在其中的流向,有一個宏觀而清晰的認知。
四、邏輯數(shù)據(jù)模型
1. 建模
邏輯數(shù)據(jù)模型是干什么呢?
是將業(yè)務(wù)對象及屬性結(jié)合,也就是將一個業(yè)務(wù)對象描述清楚。
比如訂單下會有:訂單支付、訂單配送、訂單購買用戶、訂單商品等多個子項,則我們進一步梳理清楚。
看起來感覺和概念數(shù)據(jù)模型差不多,有什么不同呢?
概念數(shù)據(jù)模型是梳理業(yè)務(wù)對象之間的關(guān)系,業(yè)務(wù)對象是彼此獨立的,而邏輯數(shù)據(jù)模型是作用于實體,彼此之間有層級關(guān)系,從屬關(guān)系,也就是說明一個業(yè)務(wù)對象及其下屬的關(guān)系。這個層級就需要細化到一個表單及子表的層級。
比如一個訂單的邏輯數(shù)據(jù)模型如下圖所示:
2. CRUD分析
當我們梳理了邏輯數(shù)據(jù)模型,也就是細化到數(shù)據(jù)表單的層級的時候,我們就能夠?qū)⒅黝}域中的所有數(shù)據(jù)表單整理出來,我們將表單的控制權(quán)做關(guān)聯(lián),比如哪些系統(tǒng)中需要操作對應(yīng)的表單做清晰的展示,則得到如下的更細化的數(shù)據(jù)表單分布控制圖。
這個能夠清晰的看到各系統(tǒng)對相應(yīng)數(shù)據(jù)是否有控制權(quán),控制權(quán)是否超出本身權(quán)限范圍外,哪些系統(tǒng)沒有拿到應(yīng)得的數(shù)據(jù)控制權(quán)限,都可以通過表單級別的數(shù)據(jù)分布圖做自我檢查和校驗。
五、物理數(shù)據(jù)模型
物理數(shù)據(jù)模型就細化到表單中的具體字段、字段的具體屬性值類型、范圍、大小等。如下圖為發(fā)票的物理數(shù)據(jù)模型示例。
六、數(shù)據(jù)標準
在建模過程中,我們會用到很多術(shù)語(業(yè)務(wù)術(shù)語是公司內(nèi)部業(yè)務(wù)對象統(tǒng)一的定義)。
流程、IT系統(tǒng)界面會統(tǒng)一引用業(yè)務(wù)術(shù)語,以方便業(yè)務(wù)人員之間交流、IT系統(tǒng)之間信息的集成。一般來說,容易出現(xiàn)歧義的業(yè)務(wù)對象需發(fā)布業(yè)務(wù)術(shù)語以消除歧義提高溝通效率。
數(shù)據(jù)標準用于描述公司層面需共同遵守的屬性層數(shù)據(jù)含義和業(yè)務(wù)規(guī)則。其描述了公司層面對某個數(shù)據(jù)的共同理解,這些理解一旦確定下來,就應(yīng)做為企業(yè)層面的標準在企業(yè)內(nèi)被共同遵守。
- 在業(yè)務(wù)方面,業(yè)務(wù)相關(guān)對象、規(guī)則、定義等都需要明確。
- 在IT方面,也需要簡歷數(shù)據(jù)字典、對數(shù)據(jù)的類型、長短、類型、格式都要做限制。
最終達到:統(tǒng)一語言、消除歧義、調(diào)高溝通效率、減少錯誤、降低成本、調(diào)高客戶滿意度的目的。
簡單說明如下:
A、統(tǒng)一業(yè)務(wù)規(guī)則——業(yè)務(wù)上需要首先明晰
B、統(tǒng)一定義——達成一致,消除歧義
C、明確責任人——可以找到責任主體
D、嚴格執(zhí)行——對標準的使用,引用已經(jīng)定義好的內(nèi)容,對于新的內(nèi)容需要先明確定義,達成共識再使用。
總結(jié)
通過以上內(nèi)容,我們了解到數(shù)據(jù)建模的整個過程。通過商業(yè)模式中的價值鏈,我們能夠映射出數(shù)據(jù)主題域。
按照業(yè)務(wù)流程的順序,去梳理出業(yè)務(wù)對象,并將業(yè)務(wù)對象之間的數(shù)據(jù)關(guān)系處理之后,就能夠得到概念數(shù)據(jù)模型。
我們在講業(yè)務(wù)對象進一步拆分,能夠得到業(yè)務(wù)對象及附屬項目的關(guān)系,這就是邏輯數(shù)據(jù)模型,相當于主表和子表的整體關(guān)系。
描述業(yè)務(wù)對象的子項目就是一張張的數(shù)據(jù)表,也就是產(chǎn)品中的表單,那么我們進一步梳理表單中的字段及字段的屬性值、大小、類型等,就能夠得到一張表的模型,這個模型就是物理數(shù)據(jù)模型。
通過鏈接各業(yè)務(wù)對象,并表明數(shù)據(jù)的流向,我們能夠知道業(yè)務(wù)中數(shù)據(jù)是如何流轉(zhuǎn)的
通過梳理數(shù)據(jù)表單在各系統(tǒng)之間的控制權(quán)限,我們能夠得到數(shù)據(jù)的分布圖,這能夠看到數(shù)據(jù)是否被合理的使用控制。
另外在建模中,我們要注意數(shù)據(jù)的標準,是的數(shù)據(jù)的定義等需要標準、明確、清晰。
到此,我們對整個業(yè)務(wù)的數(shù)據(jù)建模就完成了。
專欄作家
Markzou,8年產(chǎn)品經(jīng)驗,人人都是產(chǎn)品經(jīng)理專欄作家。主要專注于本地生活、O2O、到家服務(wù)、新零售領(lǐng)域;曾任職于多家本地生活垂直領(lǐng)域頭部公司,具有豐富的本地生活行業(yè)經(jīng)驗。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
文章同款課程https://ke.qidianla.com/courses/qyjg
歡迎關(guān)注訂閱號:markzou的筆記