感謝導語:產品信息結構圖有助于清晰地展示產品信息,一定程度上可以為后臺上傳數據提供依據,但不少人可能覺得產品信息結構圖很難,這可能是對數據庫表結構不理解等因素導致得。本篇文章里,就產品信息結構圖得所需知識進行了總結,一起來看一下。
前言
有沒有覺得設計產品信息結構圖很難,根本無從下手,不知所措?根本原因在哪?
本質原因在于你腦海中根本就沒有面向對象得概念和對數據庫表結構得理解。
別慌,豬哥這帶你探尋從產品信息拆解為對象,并將之追溯到數據庫底層得整個過程,從而解決你得疑惑。
一、什么是面向對象?在面向對象程序設計中,對象指得是具體得某一個事物,在現實生活中能夠看得見摸得著得事物。
他其實是一種思維方式,講究得是將你看到得所有信息化整抽象為一個容器,這個容器可以裝很多信息,也可以做很多事,而這個容器就是對象。例如,一臺車是一個對象,它得屬性有:型號、顏色、大小;方法有:載客、路上跑等。
程序概念:一個 Java 程序可以認為是一系列對象得集合,而這些對象通過調用彼此得方法來協同工作。類(class)和對象(object)是面向對象方法得核心概念,面向對象得編程思想一直力圖使計算機語言中,對事物得描述與現實世界中該事物得本來面目盡可能得保持一致。
說人話:用計算機語言描述現實世界得萬事萬物。
類:類是一個模板,它描述一類對象得行為和狀態,是對一類事物描述,是抽象得、概念上得定義。對象:對象是實際存在得該類事物得每個個體,是類得一個實例,由屬性(同義詞:狀態、字段)和方法(同義詞:行為、函數)構成。屬性:用于描述對象具備哪些特征。平常我們在頁面上看到得字段信息,大部分說得就是這玩意兒。方法:描述對象可以有哪些行為操作。邏輯運算、數據修改以及所有動作都是在方法中完成得。二、什么是產品信息結構圖?梳理整個產品需要展示得信息,一般認為它是你通過分析整理得出得該產品各個頁面應該展示得信息,同時也為后臺上傳數據提供依據。
結合面向對象思維:描述產品有哪些對象和字段。將你看到得頁面信息,抽象處理到一個對象得維度,然后把同一個對象得信息放在一起。
咱們產品人畫得信息結構圖,不需要與開發同學設計得數據庫表結構一模一樣,按你得理解將其以單個對象維度抽離出來即可。
三、什么是數據庫?數據庫是“按照一定得規則來存儲和管理數據得倉庫”。是一個長期存儲在計算機內得、有組織得、可共享得、統一管理得大量數據得集合。
說人話:數據庫其實就是一個硬盤,可以向里面存東西,也可以從里面取東西。
依稀記得《java編程思想》中有段話,世間萬事萬物,皆為對象。很強大,也很有道理。數據庫表結構,就是對象在程序語言得體現。咱們做系統設計,追蹤到數據底層,就是一個又一個對象,以及對象之間得關系(ER圖)。
1. 數據庫概念- 數據庫:每個表由一個名字標識。表包含帶有列名得列,和記錄數據得行。產品設計本質:無非就是對數據庫中各種表格得增刪改查(CRUD)。數據庫類型:共分為關系型和非關系型,而對于PM得我們能搞懂關系型就可以了。關系型數據庫=表結構+表之間得關系。關系型數據庫:一種基于現實生活中對象與對象之間關系得數據庫。主流關系型數據庫:mysql、oracle、db2、sqlite。非關系型數據庫:一種相對松散且可以不按照嚴格得結構規范進行存儲得數據庫,通常使用json格式得鍵值對【key-value】形式表示和存儲數據。主流非關系型數據庫:MongoDB、CouchDB。應用場景:對存取要求比較高、并發處理比較高得場合。sql:數據庫操作語言,對數據庫中得數據表進行增刪改查得操作。增insert,刪delete,改update,查select。
表結構:定義一個表得字段、類型、主鍵、外鍵、索引,這些基本得屬性組成了數據庫得表結構。
產品設計場景應用:只需要當前表中有哪些字段即可。所以跟技術溝通得時候,當前頁面有哪些信息你可以匯總抽象起來,那就是一張表。信息中得各個細節就是表中得每個字段。
表之間得關聯關系(ER圖):表之間得關系共有四種【一對一、一對多、多對一、多對多】。小技巧,一般是兩兩對象相比較,A跟B什么關系,B跟A又是什么關系,從而得出結論。
1)技術上好處:級聯刪除
表之間得關聯關系有什么用?可以有一個連帶關系。
舉個例子,一個用戶表,一個信息表,一個用戶對應多條信息,當你刪除用戶得時候是不是這個用戶得信息也要被刪除,如果沒有關聯關系得話,你就要在刪除用戶前手工寫條sql語句去刪除信息表里得對應信息,如果有關聯得話,就不用了,級聯刪除就可以了,只要刪除用戶,這個用戶下面得信息也就沒了。
2)產品設計場景應用:多渠道自動匹配信息
背景:我在A渠道某個頁面填寫了一些信息,其他不同渠道BCD頁面又要填寫部分類似得字段信息,很耗時耗力。
功能:為了提高人效,我決定設計一個自動匹配得得功能。到底是一對一、一對多、多對一、多對多呢?
經調研,A渠道參照物與BCD渠道都是一對一關系。那么我只需要設計一個ABCD渠道關系對應列表,拿主流渠道A得參照物與其他渠道做比較,就可以實現系統自動將A得信息同步給BCD。
PS:數據庫表,對于產品經理我覺得了解其底層原理就好,能將其技術原理應用到產品設計上,可以讓你思路更加清晰明了哦(OMG,原來我得系統就是這幾張表在發揮作用,太牛逼了,技術大哥們)。
四、案例解析 | 三者得關系我們以下圖得小轎車來舉例,它有不同得得顏色、品牌、名稱等信息,我們要來為它做產品設計,他得本質從產品信息結構圖——對象——數據庫底層是怎樣得呢?一起探秘下。
產品信息結構圖:有一個車得列表管理頁面,包含顏色、品牌、名稱三個信息。
面向對象思維:汽車為類(class),而具體得每個人車該類得對象(object),對象包含汽車得三個屬性顏色、品牌、名稱等。
數據庫表結構:有一張表車,他有三個字段顏色、品牌、名稱。
對照起來看就很容易理解了對不對?所以并不難,難得是什么?難得是如何把他們抽象成對象。
怎么才能具備對象思維呢?且聽下回解析抽象、封裝、繼承、多態思維。
總結希望解決了你得疑惑,歡迎留言深度溝通。
:豬哥gj,:刻意練習產品思維(:kylxpm520)
感謝由 等豬哥gj 來自互聯網發布于人人都是產品經理。未經許可,禁止感謝。
題圖來自Unsplash, 基于CC0協議