3個(gè)步驟,快速分析toB產(chǎn)品需求

1 評論 10258 瀏覽 103 收藏 12 分鐘

拿到tob產(chǎn)品需求時(shí),你一般會如何進(jìn)行分析呢?你的常用分析方法是什么呢?如果你不知從何下手,那通過本文,你可以快速掌握三個(gè)分析方法,解決這一難題。

一拿到toB的產(chǎn)品需求總是抓耳撓腮,不知道從哪里開始,甚至開始了也混亂不堪。但經(jīng)歷幾個(gè)產(chǎn)品后發(fā)現(xiàn)再復(fù)雜的系統(tǒng)也有章可循——通過自下而上的找點(diǎn)、連線、畫面。那如何找點(diǎn),怎樣連線,用什么畫面?

一、用“實(shí)體關(guān)系圖(ERD)”尋找【點(diǎn)】

實(shí)體關(guān)系圖的概念來源于關(guān)系型數(shù)據(jù)庫,也就是ER模型,主要用在信息系統(tǒng)的設(shè)計(jì)。但我發(fā)現(xiàn)簡化了其中的理論后用來做需求梳理也很好。

具體做法就是:

  • a. 拿到系統(tǒng)需求先抽象其中涉及的實(shí)體;
  • b. 找出實(shí)體和實(shí)體間的對應(yīng)關(guān)系,并繪圖。

那么接下來您可能要問:

什么是實(shí)體?

實(shí)體的官方解釋:實(shí)體是客觀存在并可相互區(qū)別的事物。就數(shù)據(jù)庫而言,實(shí)體往往指某類事物的集合。

我認(rèn)為需求中反復(fù)出現(xiàn)的名詞、可用屬性描述的事物都可以抽離出來作為真正實(shí)體的備選,然后反復(fù)對比、去重(名字不同實(shí)際相同)得到所有實(shí)體。

舉個(gè)例子:

需求:客戶希望做一個(gè)應(yīng)用,這個(gè)應(yīng)用能使巡檢員看到企業(yè)的所有幫助文檔、可以查看企業(yè)的最新資訊;可以通過巡檢員在app的報(bào)修行為產(chǎn)生工單,工單可以通過管理員分派給維修人員進(jìn)行維修,維修完成后管理員檢查是否合格,如果合格關(guān)閉工單,如果不合格重新分派。

根據(jù)此需求可以抽象出如下實(shí)體:幫助文檔、資訊、工單、用戶、管理員、維修人員,并兩兩關(guān)聯(lián)看是否有強(qiáng)關(guān)聯(lián)(兩個(gè)實(shí)體有關(guān)系),如果有則在兩個(gè)實(shí)體之間畫一條線。

得到如下實(shí)體圖:

什么是對應(yīng)關(guān)系?

對應(yīng)關(guān)系有幾種:一對一、多對多、一對多。

  • 一對一(1:1):1個(gè)實(shí)體A對應(yīng)1個(gè)實(shí)體B,1個(gè)實(shí)體B對應(yīng)1個(gè)實(shí)體A。
  • 一對多(1:N):1個(gè)實(shí)體A對應(yīng)多個(gè)實(shí)體B,1個(gè)實(shí)體B對應(yīng)1個(gè)實(shí)體A。
  • 多對多(M:N):1個(gè)實(shí)體A對應(yīng)多個(gè)實(shí)體B,1個(gè)實(shí)體B對應(yīng)多個(gè)實(shí)體A。

舉例:依舊按照問題1中的例子:顯然一個(gè)維修員可以看多篇幫助文檔,而1篇幫助文檔可以被多個(gè)維修員看,那么維修員和幫助文檔就是多對多的關(guān)系,兩兩對應(yīng)后得出如下結(jié)論:

怎么繪圖,有什么工具可以繪圖?

以前都是用Visio繪制,但現(xiàn)在有很多線上工具也很好用,比如我現(xiàn)在用的ProcessOn。線上工具的好處是:網(wǎng)站不定期提供很多素材和模板,使用體驗(yàn)也比傳統(tǒng)的Visio好很多,重點(diǎn)是還可以和其他同事協(xié)作。

經(jīng)過以上3個(gè)步驟后實(shí)體以及實(shí)體間的關(guān)系已經(jīng)基本清晰了,也就是系統(tǒng)要做哪些模塊大致確定,如果功力夠深,系統(tǒng)的表結(jié)構(gòu)都有了模糊的呈現(xiàn)。

舉例:依舊按照問題1中的例子,系統(tǒng)的模塊大致是用戶管理、幫助文檔管理、資訊管理、工單管理。

(如果想更深入的學(xué)習(xí)ERD,比如有在圖上標(biāo)識某些實(shí)體是否可以為空,了解ERD繪制的標(biāo)準(zhǔn)、在ERD中添加屬性等等要求,有很多材料可供學(xué)習(xí),在此就不贅述了。

參考:如何使用Entity Relationship Diagram (ERD) 建模 – 關(guān)系數(shù)據(jù)庫設(shè)計(jì)

二、通過“功能權(quán)限、數(shù)據(jù)權(quán)限的梳理”連【線】

功能權(quán)限、數(shù)據(jù)權(quán)限的問題在大型系統(tǒng)中是邏輯最為復(fù)雜的模塊,牽連甚廣。

在進(jìn)行權(quán)限的梳理前要明確:使用系統(tǒng)的角色有哪些?角色是自由配置還是內(nèi)置寫死?

一般大型系統(tǒng)組織結(jié)構(gòu)復(fù)雜,用戶靈活多變,角色是需要自由配置的,而小型的系統(tǒng)可能根據(jù)真實(shí)場景內(nèi)置幾個(gè)定義好的角色就可以。

舉例:

仍舊是這個(gè)例子:客戶希望做一個(gè)應(yīng)用,這個(gè)應(yīng)用能使巡檢員看到企業(yè)的所有幫助文檔、可以查看企業(yè)的最新資訊;可以通過巡檢員在app的報(bào)修行為產(chǎn)生工單,工單可以通過管理員分派給維修人員進(jìn)行維修,維修完成后管理員檢查是否合格,如果合格關(guān)閉工單,如果不合格重新分派。

這個(gè)需求的業(yè)務(wù)足夠簡單,角色只有:管理員、巡檢員、維修員,可以采用內(nèi)置于系統(tǒng)的方式。

功能權(quán)限的梳理

角色是功能權(quán)限的集合,那么功能權(quán)限的梳理也就變成了:哪些角色對哪些功能可寫(增刪改),對哪些功能可讀(查看),對哪些功能不可讀不可寫?而描述清楚這些問題的最好方式是表格。

舉例:根據(jù)需求,管理員對用戶管理、幫助文檔、資訊、工單可讀可寫,而維修員對幫助文檔、資訊可讀不可寫,對工單可讀可寫,梳理如下:

有了這張表,各個(gè)角色的功能權(quán)限就較為清晰了。但是為什么能看到同一模塊的兩個(gè)用戶看到的數(shù)據(jù)卻是完全不一樣?這是因?yàn)樗麄兊臄?shù)據(jù)權(quán)限不一樣。

數(shù)據(jù)權(quán)限梳理

兩個(gè)用戶在同一個(gè)模塊看到的數(shù)據(jù)不一樣是因?yàn)樗麄兊臄?shù)據(jù)權(quán)限不一樣。梳理數(shù)據(jù)權(quán)限的意義在于明確不同用戶可讀或者可寫的數(shù)據(jù)范圍。

如何梳理?

用戶對哪些數(shù)據(jù)可讀可寫與角色、組織架構(gòu)有關(guān)。有的組織是扁平組織,有的則是一層一層的樹形組織。我很多時(shí)候仍舊是在功能權(quán)限說明表的基礎(chǔ)上重新描述數(shù)據(jù)權(quán)限。

繼續(xù)之前的例子,將功能權(quán)限表的內(nèi)的“√”替換為數(shù)據(jù)權(quán)限說明:

根據(jù)功能權(quán)限說明表和數(shù)據(jù)權(quán)限說明表,維修員的權(quán)限就可以概述為:可讀寫工單,但只能讀寫自己的工單。

例子中的需求較為簡單,但真實(shí)情況往往是這樣的:

所以,以上只是從工具層面介紹如何梳理權(quán)限,但真實(shí)的系統(tǒng)往往更復(fù)雜,比如功能權(quán)限的粒度是更小的按鈕或者接口,比如引入標(biāo)簽系統(tǒng)。如果想深入學(xué)習(xí)可以繼續(xù)研究RBAC權(quán)限模型并結(jié)合實(shí)際項(xiàng)目不斷練習(xí)。

(參考:什么是基于角色的訪問控制(RBAC)?

三、用“流程圖”繪制系統(tǒng)的【面】

系統(tǒng)要對哪些實(shí)體進(jìn)行管理、系統(tǒng)如何進(jìn)行權(quán)限訪問控制兩個(gè)問題理清后需要一條橫向的線將業(yè)務(wù)串起來形成【面】,流程圖便可以幫我們找到那條橫向的【線】。

什么是流程圖?

流程圖是用來描述各個(gè)實(shí)體間的關(guān)系、系統(tǒng)作業(yè)順序和信息流向的圖表。任何的系統(tǒng)都有流程,只是簡單和復(fù)雜的區(qū)別。

流程圖可以幫我們理清很多業(yè)務(wù)流程和數(shù)據(jù)流向,也是原型之前對系統(tǒng)的邏輯思考,簡單系統(tǒng)的業(yè)務(wù)流程通常用一個(gè)泳道圖就畫完了,而復(fù)雜系統(tǒng)可能需要分模塊、分層級進(jìn)行狀態(tài)圖、時(shí)序圖、流程圖等不同類型的圖表的繪制才能大致解釋清楚業(yè)務(wù)邏輯。

如何畫流程圖?

如果流程圖只是作為需求階段的中間輸出物,天馬行空地畫也未嘗不可,有時(shí)還能在某個(gè)點(diǎn)迸出創(chuàng)新的火花,但如果作為正式的輸出物,可能就要拘泥于UML的標(biāo)準(zhǔn)了。

1. 根據(jù)需求從開始到終點(diǎn)繪制該角色的操作流程,如果某些活動涉及多種角色則使用泳道圖;

舉例:

2. 某些實(shí)體有復(fù)雜的狀態(tài)變化使用狀態(tài)圖;

3. 實(shí)體間傳遞信息有明顯的時(shí)間順序使用時(shí)序圖。

系統(tǒng)邏輯經(jīng)過流程圖的繪制后就變得清晰了,系統(tǒng)的神秘面紗被慢慢揭開。原型圖有了這些圖表作為邏輯支撐,效率和可用性都會大大提升。

參考

你可能學(xué)了假流程圖,三步教會你繪制大廠流程圖(第一篇)

制作人人喜歡的流程圖,三步教會你繪制大廠流程圖(第二篇)

任務(wù)和業(yè)務(wù)流程圖分清用好,三步教會你繪制大廠流程圖(第三篇)

三個(gè)步驟只是從“術(shù)”的層面簡單地概括如何做toB產(chǎn)品的需求分析,但是不同的系統(tǒng)需求也不盡相同,需要靈活使用和長期的微觀體感,如果文章中的內(nèi)容存在什么問題歡迎指正,也希望大家在需求分析的道路上每天有所進(jìn)步。

 

本文由 @娜娜 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 根據(jù)客戶希望做一個(gè)應(yīng)用,這個(gè)應(yīng)用能使巡檢員看到企業(yè)的所有幫助文檔、可以查看企業(yè)的最新資訊;可以通過巡檢員在app的報(bào)修行為產(chǎn)生工單,工單可以通過管理員分派給維修人員進(jìn)行維修,維修完成后管理員檢查是否合格,如果合格關(guān)閉工單,如果不合格重新分派。
    得到如下實(shí)體圖:巡檢員→幫助文檔 巡檢員→資訊 巡檢員→工單 管理員→工單 維修人員→工單
    為什么和你分析的不一樣呢?

    來自北京 回復(fù)