前言
產(chǎn)品經(jīng)理在梳理產(chǎn)業(yè)業(yè)務(wù)邏輯的過程中,非常重要的一項工作就是梳理各個業(yè)務(wù)對象之間的關(guān)系。如果涉及對象很對的時候,沒有工具支持的話很難處理清楚。今天我們就來介紹一個梳理業(yè)務(wù)對象關(guān)系的工具 —— ER 圖。
什么是 ER圖
來自百度百科的解釋:
ER圖也稱實體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。
ER 圖由下面三個要素組成:
實體:通常是現(xiàn)實世界的業(yè)務(wù)對象,當然使用一些邏輯對象也可以。比如對于一個校園管理系統(tǒng),會涉及學(xué)生、教師、課程、班級等等實體。在 ER 圖中,實體使用矩形框表示。
屬性:即某個實體擁有的屬性,屬性用來描述組成實體的要素,對于產(chǎn)品設(shè)計來說可以理解為字段。在 ER 圖中,屬性使用橢圓形表示。
聯(lián)系:即實體與實體之間的關(guān)系,這個關(guān)系不僅有業(yè)務(wù)關(guān)聯(lián)關(guān)系,還能通過數(shù)字表示實體之間的數(shù)量對照關(guān)系。例如,一個班級會有多個學(xué)生就是一種實體間的聯(lián)系。

ER 圖實例
實際梳理業(yè)務(wù)對象關(guān)系的時候,我們可以先列舉出某個模塊涉及到的業(yè)務(wù)對象,然后再注明業(yè)務(wù)對象之間的聯(lián)系。至于屬性,可以根據(jù)實際情況決定要不要標明。因為,屬性標記太多的話會占據(jù) ER 圖的大部分區(qū)域,反而導(dǎo)致實體關(guān)系不容易察覺。
以校園管理系統(tǒng)為例,我們梳理出來的業(yè)務(wù)對象會有學(xué)校、班級、教師、學(xué)生、課程等對象。它們之間的關(guān)系如下:
一個學(xué)校有多個班級,多名教師;
一個班級有多名學(xué)生,一個班級會有一名班主任(也是教師),一個班級開設(shè)多門課程;
一名教師教授1門或多門課程(視情況而定,對小學(xué)來說通常會出現(xiàn)一名教師同時教一些非主課課程),一名教師會教多個班級的課程;
一名學(xué)生屬于一個班級,一名學(xué)生同時學(xué)習多門課程。
可以看到,隨著業(yè)務(wù)對象的增加,上面的關(guān)系文字說明會越來越多,讓人很難理清楚關(guān)系,這個時候我們用 ER 圖來表示就會清晰很多,如下圖所示。

通過這個圖,我們還可以進一步優(yōu)化,比如通過學(xué)生所在的班級可以知道學(xué)生學(xué)習的課程(假設(shè)班級課程統(tǒng)一)。同時,我們發(fā)現(xiàn)班主任其實是班級的一個屬性,就可以去掉教師和班級之間的關(guān)系。這種優(yōu)化非常關(guān)鍵,因為關(guān)系越多意味著業(yè)務(wù)系統(tǒng)的實現(xiàn)越復(fù)雜,也很難進行擴展。優(yōu)化后的 ER 圖如下。

簡化的 ER 圖
當大家對領(lǐng)域知識熟悉后,其實聯(lián)系就可以去掉,比如我們都知道學(xué)生是屬于某個班級的,教師是教授課程的,因此只需要保持數(shù)量關(guān)系就可以,而且數(shù)量對應(yīng)關(guān)系在 ER 圖中也有約定的表現(xiàn)形式,常見的對應(yīng)關(guān)系如下圖所示。

下面是簡化后的 ER 圖,這里我們將班主任放到了教師上面,表示一個班級會由一名教師擔任班主任。

不拘泥于形式
雖然 ER 圖是一種規(guī)范,但是有時候為了更清晰地表明業(yè)務(wù)對象屬性或關(guān)系,可以做一些變通,比如我們上面的班主任其實并不屬于 ER 圖的規(guī)范。下面的ER圖同時將業(yè)務(wù)對象的屬性和關(guān)系描述了出來,并且將實體的字段與其他實體的字段對應(yīng)了起來(如訂單的所屬客戶對應(yīng)了客戶 id)。這種圖形更偏向技術(shù)上的數(shù)據(jù)表設(shè)計,對于產(chǎn)品經(jīng)理來說,我們只需要列出關(guān)鍵的屬性即可。在實際繪制 ER 圖的時候,不要拘泥于固定的形式,更重要的是能夠?qū)崿F(xiàn)清晰地表達業(yè)務(wù)對象關(guān)系的目的。

總結(jié)
ER 圖用于描述業(yè)務(wù)對象關(guān)系來說非常實用,尤其是對于復(fù)雜業(yè)務(wù)來說,通過ER 圖能夠讓我們理清業(yè)務(wù)對象關(guān)系之外,還能夠通過一定手段簡化業(yè)務(wù)對象關(guān)系,這樣設(shè)計出來的產(chǎn)品邏輯會更清晰。同時,由于技術(shù)開發(fā)通常會參考 ER 圖設(shè)計數(shù)據(jù)表,因此通過 ER圖可以與技術(shù)統(tǒng)一領(lǐng)域語言,使得我們產(chǎn)品經(jīng)理和技術(shù)開發(fā)的溝通會更順暢。