產(chǎn)品架構(gòu)設(shè)計(jì)之產(chǎn)品實(shí)體設(shè)計(jì)一,二

0 評(píng)論 2493 瀏覽 11 收藏 12 分鐘

本文深入探討了實(shí)體設(shè)計(jì)的每個(gè)關(guān)鍵步驟,從識(shí)別核心實(shí)體到定義其屬性、構(gòu)建實(shí)體間關(guān)系,以及如何驗(yàn)證設(shè)計(jì)以適應(yīng)實(shí)際業(yè)務(wù)需求。通過(guò)具體的電商平臺(tái)案例,我們展示了如何將抽象的業(yè)務(wù)概念轉(zhuǎn)化為具體的產(chǎn)品架構(gòu),確保設(shè)計(jì)既符合當(dāng)前需求又具備未來(lái)擴(kuò)展的可能。

今天我們來(lái)談一下產(chǎn)品架構(gòu)設(shè)計(jì)中,一個(gè)必不可少的環(huán)節(jié)——實(shí)體設(shè)計(jì)。

01什么是實(shí)體?

在產(chǎn)品架構(gòu)中,實(shí)體可以理解為“名詞”——即產(chǎn)品中的關(guān)鍵要素或?qū)ο?。這些實(shí)體是產(chǎn)品功能的基本構(gòu)件,代表了實(shí)際業(yè)務(wù)中的具體事物或概念。

比如,在一個(gè)電商平臺(tái)中,用戶、商品、訂單都是典型的實(shí)體。它們是產(chǎn)品中不可或缺的部分,是我們要處理和操作的對(duì)象。

那我們?yōu)槭裁匆橄笤O(shè)計(jì)實(shí)體?

抽象設(shè)計(jì)實(shí)體的目的是為了把復(fù)雜的業(yè)務(wù)場(chǎng)景和需求轉(zhuǎn)化為易于理解和實(shí)現(xiàn)的模型。實(shí)體是產(chǎn)品中最基本的組成單元,通過(guò)抽象設(shè)計(jì)實(shí)體,我們能夠:

  • 明確產(chǎn)品的核心功能:將實(shí)際業(yè)務(wù)中的復(fù)雜對(duì)象抽象為實(shí)體,可以清晰地看到產(chǎn)品的核心功能和組成部分。
  • 簡(jiǎn)化系統(tǒng)設(shè)計(jì):實(shí)體的抽象設(shè)計(jì)能夠幫助我們將復(fù)雜的邏輯拆解成可管理的部分,使系統(tǒng)設(shè)計(jì)更加簡(jiǎn)潔、易于維護(hù)。
  • 提高可擴(kuò)展性:通過(guò)合理的實(shí)體設(shè)計(jì),可以使產(chǎn)品架構(gòu)具有良好的擴(kuò)展性,方便未來(lái)的功能擴(kuò)展和更新。

而如果用大白話來(lái)解釋就是:我們將一個(gè)模糊的業(yè)務(wù),提煉出真正要“落庫(kù)”的數(shù)據(jù)表,畢竟計(jì)算機(jī)只能處理結(jié)構(gòu)化的數(shù)據(jù)!

那可能有朋友要問(wèn)了在產(chǎn)品架構(gòu)中為什么要先設(shè)計(jì)實(shí)體?

實(shí)體設(shè)計(jì)是產(chǎn)品架構(gòu)設(shè)計(jì)的基礎(chǔ)。實(shí)體設(shè)計(jì)決定了產(chǎn)品的基本結(jié)構(gòu)和邏輯,是后續(xù)流程設(shè)計(jì)、數(shù)據(jù)模型設(shè)計(jì)、界面設(shè)計(jì)等工作的基礎(chǔ)。

如果沒(méi)有一個(gè)清晰的實(shí)體設(shè)計(jì),整個(gè)產(chǎn)品架構(gòu)將會(huì)缺乏堅(jiān)實(shí)的基礎(chǔ),導(dǎo)致功能實(shí)現(xiàn)的復(fù)雜度增加,系統(tǒng)難以擴(kuò)展和維護(hù)。

試想下如果大家連頁(yè)面上放什么字段都沒(méi)有想清楚,一上來(lái)就畫(huà)頁(yè)面,這樣的產(chǎn)品在大型的企業(yè)級(jí)B端產(chǎn)品中是不敢想象的災(zāi)難設(shè)計(jì)。

所以說(shuō)在產(chǎn)品架構(gòu)設(shè)計(jì)中,實(shí)體設(shè)計(jì)是將業(yè)務(wù)需求轉(zhuǎn)化為技術(shù)實(shí)現(xiàn)的橋梁。一個(gè)優(yōu)秀的實(shí)體設(shè)計(jì)不僅能夠支撐產(chǎn)品的現(xiàn)有功能,還能為未來(lái)的擴(kuò)展奠定堅(jiān)實(shí)的基礎(chǔ)。

02 實(shí)體設(shè)計(jì)的方法

具體來(lái)說(shuō),我們?cè)O(shè)計(jì)實(shí)體的方法可以分為下面的4步:

1. 識(shí)別關(guān)鍵實(shí)體

在產(chǎn)品架構(gòu)設(shè)計(jì)初期,首先要識(shí)別出產(chǎn)品中的關(guān)鍵實(shí)體。在絕大多數(shù)的時(shí)候,這些實(shí)體通常對(duì)應(yīng)于產(chǎn)品中的核心功能或流程,代表了業(yè)務(wù)中的主要對(duì)象(比如會(huì)員,訂單,商品等)。

步驟:

  1. 分析線下用戶的工作場(chǎng)景,提取出與用戶交互最頻繁的關(guān)鍵詞對(duì)象。
  2. 從業(yè)務(wù)流程中找出對(duì)產(chǎn)品功能至關(guān)重要的元素。

例如:梳理用戶報(bào)銷場(chǎng)景:用戶提供票據(jù),填寫(xiě)金額,提交紙質(zhì)表單,領(lǐng)導(dǎo)簽字該表單,財(cái)務(wù)查閱該表單……..(這張表單就是我們要提煉的實(shí)體-報(bào)銷單)

2. 定義實(shí)體屬性

因?yàn)槊總€(gè)實(shí)體都有其獨(dú)特的屬性,而在找到實(shí)體后就需要提煉實(shí)體的屬性,這些屬性描述了實(shí)體的特征和狀態(tài)。

步驟:

  1. 列出每個(gè)實(shí)體能唯一區(qū)分的屬性,如ID、名稱、描述等。
  2. 根據(jù)業(yè)務(wù)需求,增加與業(yè)務(wù)邏輯相關(guān)的屬性。

例如:報(bào)銷單中唯一能區(qū)分的屬性是單據(jù)號(hào),單據(jù)類型,而根據(jù)A公司要求,單據(jù)中必須要有申請(qǐng)人ID,申請(qǐng)人職位,申請(qǐng)人職級(jí)……(這些唯一項(xiàng)與A公司的要求共同構(gòu)成了實(shí)體屬性字段)

3. 設(shè)計(jì)實(shí)體之間的關(guān)系

實(shí)體之間的關(guān)系是產(chǎn)品邏輯的核心。通過(guò)設(shè)計(jì)實(shí)體間的關(guān)系,可以確定系統(tǒng)的邏輯結(jié)構(gòu)和數(shù)據(jù)流動(dòng)。

步驟:

  1. 確定實(shí)體之間的關(guān)聯(lián)類型,如一對(duì)一、一對(duì)多、多對(duì)多等。
  2. 使用實(shí)體關(guān)系圖(ER圖)來(lái)展示實(shí)體之間的關(guān)系。

4. 驗(yàn)證實(shí)體設(shè)計(jì)

設(shè)計(jì)完成后,需要對(duì)實(shí)體設(shè)計(jì)進(jìn)行驗(yàn)證,以確保其能夠滿足業(yè)務(wù)需求,并具備良好的擴(kuò)展性和可維護(hù)性。

步驟:

  1. 使用實(shí)際業(yè)務(wù)場(chǎng)景進(jìn)行測(cè)試,驗(yàn)證設(shè)計(jì)的合理性。
  2. 通過(guò)模擬操作流程,檢查設(shè)計(jì)的健壯性和容錯(cuò)性。

例如我們將抽象出的報(bào)銷單據(jù)實(shí)體,在整個(gè)線下流程中進(jìn)行實(shí)測(cè),檢測(cè)有無(wú)缺少的字段,有無(wú)流程跑不通的情況,就像財(cái)務(wù)是不是拿到這張單據(jù)就可以不要領(lǐng)導(dǎo)簽字,在實(shí)際與財(cái)務(wù)溝通后由于公司性質(zhì)要求,所以必須要簽字,因此報(bào)銷單的實(shí)體中還需要增加標(biāo)識(shí)屬性,是否已打印出待簽字單,用于區(qū)分是否完成了打印動(dòng)作。

03 模擬案例演示:電商平臺(tái)的實(shí)體設(shè)計(jì)

假設(shè)我們正在設(shè)計(jì)一個(gè)電商平臺(tái),該平臺(tái)的核心功能是讓用戶能夠?yàn)g覽商品、加入購(gòu)物車、下單購(gòu)買商品,以及查看訂單狀態(tài)。為了實(shí)現(xiàn)這些功能,我們需要先設(shè)計(jì)好平臺(tái)中的核心實(shí)體。以下是具體步驟及結(jié)果輸出,展示如何一步步提煉出實(shí)體。

步驟一:識(shí)別關(guān)鍵實(shí)體

在設(shè)計(jì)實(shí)體之前,我們需要了解平臺(tái)的主要功能和業(yè)務(wù)流程:

  1. 用戶瀏覽商品: 用戶可以瀏覽和搜索平臺(tái)上的商品。
  2. 加入購(gòu)物車: 用戶可以將商品加入購(gòu)物車,準(zhǔn)備購(gòu)買。
  3. 生成訂單并支付: 用戶在購(gòu)物車中選擇商品后,可以生成訂單并完成支付。
  4. 查看訂單狀態(tài): 用戶可以在訂單歷史中查看已購(gòu)買商品的狀態(tài)和詳情。

基于這些功能需求,我們識(shí)別出以下關(guān)鍵實(shí)體:

  • 用戶(User): 平臺(tái)的使用者。
  • 商品(Product): 在平臺(tái)上出售的商品。
  • 購(gòu)物車(Cart): 用戶選擇并準(zhǔn)備購(gòu)買的商品集合。
  • 訂單(Order): 用戶生成的購(gòu)買記錄。

步驟二:定義實(shí)體屬性

確定了關(guān)鍵實(shí)體后,我們需要為每個(gè)實(shí)體定義屬性,這些屬性將幫助我們?cè)敿?xì)描述實(shí)體的特征和狀態(tài)。

1)用戶(User):

  • 用戶ID(userID): 唯一標(biāo)識(shí)一個(gè)用戶的ID。
  • 用戶名(username): 用戶的名稱。
  • 郵箱(email): 用戶的郵箱地址,用于登錄和聯(lián)系。
  • 密碼(password): 用戶的賬戶密碼。
  • 注冊(cè)日期(registrationDate): 用戶注冊(cè)平臺(tái)的日期。

2)商品(Product):

  • 商品ID(productID): 唯一標(biāo)識(shí)一個(gè)商品的ID。
  • 商品名稱(productName): 商品的名稱。
  • 描述(description): 商品的詳細(xì)信息。
  • 價(jià)格(price): 商品的售價(jià)。
  • 庫(kù)存數(shù)量(stockQuantity): 當(dāng)前商品的庫(kù)存數(shù)量。
  • 創(chuàng)建日期(createdDate): 商品上架的日期。

3)購(gòu)物車(Cart):

  • 購(gòu)物車ID(cartID): 唯一標(biāo)識(shí)一個(gè)購(gòu)物車的ID。
  • 用戶ID(userID): 關(guān)聯(lián)到用戶的購(gòu)物車。
  • 商品列表(products): 當(dāng)前購(gòu)物車中所有商品的集合。

4)訂單(Order):

  • 訂單ID(orderID): 唯一標(biāo)識(shí)一個(gè)訂單的ID。
  • 用戶ID(userID): 生成訂單的用戶ID。
  • 訂單日期(orderDate): 訂單生成的日期。
  • 訂單狀態(tài)(orderStatus): 訂單的當(dāng)前狀態(tài)(如待付款、已付款、已發(fā)貨、已完成)。
  • 商品列表(products): 訂單中包含的商品列表。
  • 總金額(totalAmount): 訂單中所有商品的總金額。

步驟三:設(shè)計(jì)實(shí)體之間的關(guān)系

在定義了實(shí)體和它們的屬性之后,接下來(lái)是設(shè)計(jì)實(shí)體之間的關(guān)系。這些關(guān)系將決定平臺(tái)的邏輯結(jié)構(gòu)。

  • 用戶與購(gòu)物車(User-Cart):一個(gè)用戶只有一個(gè)購(gòu)物車(1:1 關(guān)系)。
  • 用戶與訂單(User-Order):一個(gè)用戶可以有多個(gè)訂單(1:多 關(guān)系)。
  • 購(gòu)物車與商品(Cart-Product):一個(gè)購(gòu)物車可以包含多個(gè)商品,一個(gè)商品可以出現(xiàn)在多個(gè)購(gòu)物車中(多:多 關(guān)系)。
  • 訂單與商品(Order-Product):一個(gè)訂單可以包含多個(gè)商品,一個(gè)商品可以出現(xiàn)在多個(gè)訂單中(多:多 關(guān)系)。

步驟四:驗(yàn)證實(shí)體設(shè)計(jì)

最后,我們通過(guò)模擬一些實(shí)際場(chǎng)景來(lái)驗(yàn)證實(shí)體設(shè)計(jì)的合理性和完整性。

1)用戶瀏覽并加入商品到購(gòu)物車:

  • 用戶登錄(User),瀏覽商品(Product),將商品加入購(gòu)物車(Cart)。
  • 檢查購(gòu)物車中是否正確記錄了所選商品。

2)用戶生成訂單并支付:

  • 用戶從購(gòu)物車中選擇商品生成訂單(Order),并進(jìn)行支付。
  • 驗(yàn)證訂單中包含的商品列表和總金額是否正確計(jì)算。
  • 檢查訂單狀態(tài)是否從“待付款”變?yōu)椤耙迅犊睢薄?/li>

3)用戶查看訂單狀態(tài):

用戶可以在訂單歷史中查看已生成的訂單及其狀態(tài)(OrderStatus)。

以上為大家演示的就是一個(gè)完整的實(shí)體找尋與定義的流程。

04 總結(jié)

可以看到這樣的設(shè)計(jì)背后,我們一步步的把抽象的業(yè)務(wù)具體化得到了標(biāo)準(zhǔn)的可產(chǎn)品化的設(shè)計(jì),而這也是高階產(chǎn)品所必備的技能。

本文由人人都是產(chǎn)品經(jīng)理作者【三爺茶館】,微信公眾號(hào):【三爺茶館】,原創(chuàng)/授權(quán) 發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于 CC0 協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!