什麼是 Domain model?怎麼用?


謝邀。

百度和wiki上關於Domain model的資料挺多,也都很全面,我簡單說一下我的理解和表現。

1.表現對象與對象之間的關係

產品經理接到確定要做一個產品,首先當然是去了解為什麼要做這個,其次就是考慮這個有哪些角色在用,然後在考慮在這個產品中有什麼(這些角色、什麼都是對象,產品經理需要對這些非常敏感),這些對象多了,要考慮它的定義是什麼、是怎麼來的,它跟另一個對象的關係是什麼。

舉個例子,一個最簡單的電子商務網站,有買家、賣家、商品、訂單、支付、物流發貨號六個對象,那這些對象之間有什麼關係,你可以在紙上,把這六個對象畫出來,再用線把它們之間的關係(觸發產生、觸發改變狀態等),畫完後,你會發現,這次要做的電子商務網站,要做的東西都在紙上,而且它們關係清晰、不會產品悖理;

2.表達角色用例

在Domain model中當把一個角色定義為一個對象時,你需要把它跟其他對象、重要動作關聯起來,畫完後,單純看這個角色和它周邊的線,可以簡單清晰看出在這個產品中,這個角色有哪些用例。

比如電子商務網站的後台管理員,簡單的會有下面幾條線:創建商品、處理訂單、會員管理。

3.用於產品策劃內容傳達

我通常在面試產品經理或開發SA的時候,都會問他們,怎麼樣把上電子商務網站的對象關係傳遞給開發人員(連產品對象邏輯關係都不考慮的就不用問,他可以回去等消息)。這幾年面試了應該有400人,幾乎所有人都說用流程圖、風暴圖等來表達,但當然我問「流程圖能不能表達出該對象在產品中會涉及哪些用例?」時,一般都說會再重新畫一個用例圖、或者在表功表裡面列出來。

而一個domain model,已經可以很清晰表達出這些信息。

通常,在一個新的產品需求定型後,這個Domain model也就定了,這個時候,需要跟開發、測試、甚至包括業務及市場人員一起介紹這個產品,可是,這個時候還沒有界面可以看。

我都會請大家到一個有畫板的會議室,然後,開始講故事,從故事最初來講,

例如,有一個人,他想買幾對羽毛球襪子,懶得去逛商場,就在網站買,這個時候,就在畫板上畫一個人形,在旁邊寫上「買家」;

那得有一個網站在賣襪子,賣襪子的人叫賣家,又畫一個人形;

...

直到買家收到貨了,在網站確認收貨,這時候故事就講完了,Domain model也差不多畫完了。

當然,最後,還得把一些主流程外的主要分支流程關係畫出來,這樣才會完整。

畫完後,業務和市場人員會明白並理解這個模型是對的(錯的,在講故事的時候就提出來),SA、開發、測試人員也已經理解這個網站為什麼要這樣做、有幾個用戶、有哪些關鍵用例、他們要做一個什麼樣的系統模型。

這就是簡單的Domain model的理解。

畫Domain model的工具挺多的,當時還有一個自動的wiki系統,不過簡單的、用word、PPT都能畫。我通常先在白紙上畫一次(甚至兩次、三次,因為有時候畫到後面,太亂了,畫不下去,就把對象重新擺),再再電腦上畫出來,便於放在需求說明中。


推薦閱讀:

你有哪些好的電腦使用習慣和技巧願意分享?
怎樣在壓力下開始工作?
WorkFlowy 中文版及國內使用要注意哪些問題?
怎樣變成一個專註度高且持久的人,能迅速進入任何狀態的人?
為什麼蕃茄工作法是25分鐘?

TAG:高效工作 | 產品經理 | 編程 |