⑴ 什麼叫做產品架構
產品的架構是蠻重要的,可以從這些地方了解:
所謂架構,簡而言之,就是對產品的組件、組件之間的關系的描述,以及涉及組件及其關系的一系列決策。
架構設計的重點是產品的非功能屬性,也就是所謂的質量屬性,如性能、可維護性、可擴展性、可靠性、可測試性等等。
由於一個產品的架構通常是非常復雜的,因此要「分而治之」,故通常要從多個視角對架構進行分析和描述,包括邏輯視圖(常稱為功能架構)、開發視圖、部署視圖、運行視圖、用例視圖,以上幾個視圖就是RUP通常說的4+1視圖,除此以外,根據實際需要,還可能有必要定義"數據視圖"等其他架構視圖。
所謂產品的功能架構設計,就是產品的邏輯視圖,也就是將產品按功能進行分層、分組件,並描述這些層及組件之間的關系,如調用、依賴等,這里的關系可以是靜態的,如果有必要,可以是動態的,譬如組件之間在特定場景下的動態調用關系。
⑵ 關於產品架構
在日常工作中,我們常常會聽到好幾個架構,業務架構、信息架構和技術架構,這些和產品架構是什麼關系呢?
1、業務架構往往是為了達到業務目標(通常是商業目標)所搭建的業務體系和商業模式,比如著名的亞馬遜飛輪效應和Google搜索的印鈔機模式。 業務架構包括且不僅限於產品,產品架構是為了更好的支撐業務架構而構建的 。
2、信息架構主要是產品在結構層的一部分,通常是在交互設計階段考慮的產品給用戶呈現的產品全貌,讓用戶可以清晰快速的找到功能的方法。有些說法會把產品架構和信息架構當成一回事,在一些2C產品里,從信息架構里就能看出產品架構,如新聞資訊類的app。但實際上 信息架構只是產品架構的一種表現形式,並不能完全代表產品架構 。
3、技術架構是產品架構的實現 , 並還覆蓋有其他范疇,是個獨立的大話題 。在一些偏向技術型的產品里,產品架構和技術架構很接近,比如雲計算產品,其用戶本身就是程序員,所以雲計算產品的產品架構和技術架構就非常接近了。
產品架構本身也有三個層次:
1、獨立可交付客戶價值的業務產品。
可獨立交付價值的產品架構,這類架構往往和業務是強相關的,每個產品可以獨立使用交付客戶價值,形成采購,也可以針對客戶不同場景的需求進行組合,提供綜合解決方案。雲計算產品就是最典型的例子,用戶可以在雲計算廠商官網根據自己的需求勾選一些產品,然後獨立采購和使用。以視頻雲涉及到的幾類常見產品:
對象存儲。主要進行非結構化數據(文件)的存儲。
CDN。內容分發網路,主要解決跨地域的海量用戶資源訪問速度的問題。
點播。主要是指音視頻的播放問題,音視頻會被轉碼成標准編碼格式,並可通過指定播放器解碼和播放。
直播。主要是實時音視頻的直播,主要包括普通推流直播和實時互動直播。
對於客戶而言:
如果只需存儲海量數據,就只需要購買對象存儲即可。
服務於不同地域的大量用戶訪問,就需要使用CDN。
類似於映客這樣的直播類產品,就購買直播+CDN+對象存儲。
像抖音、愛奇藝這種完整的視頻類產品,就需要有直播+點播+CDN+對象存儲。
2、單一產品內的模塊化。
用戶在一個較復雜產品里進行操作,其需求被滿足的整個的流程會涉及到很多功能,其中這些功能可以進行分類,同一類功能組合成一個模塊。 因此一個復雜產品內部可以劃分出多個模塊,每個模塊負責業務流中相似的一類功能 。以淘寶為例,商家在淘寶上開店並發布商品,用戶到淘寶上搜索到商品,下單購買。這一套業務流程里在淘寶這個超級app里,除了人機交互的那層殼以外,產品被劃分成了用戶中心、商品中心、交易中心、評價中心等幾個模塊。其中每個模塊雖不能單獨滿足用戶想要的商品購買的完整體驗,但可以專注的解決購買過程中一類問題。而當這些模塊抽象到能夠服務淘寶以外其他的產品時,這就是中台了
3、單一個模塊的抽象設計,也就是功能設計的架構。
即使是只滿足一類需求的單模塊,其在設計時也需要做好其架構。以在線考試模塊為例,如果你對在線考試流程有一定的了解,就會大概想到整個過程。用戶進入考試、完成題目並提交,系統判分,低於60分就未通過,超過80分就是優秀。如果僅僅只是做一個滿足這個需求的在線考試系統,把細節再補充下,就可以直接出交互了。但前面我們也提到過了,產品經理在面對需求時要進行抽象,考慮到未來拓展的需求。那麼我們就需要對此模塊做架構設計和抽象拆解。首先,考試的核心價值是對通過一些設計好的題目去檢驗學生對知識點的理解情況,檢驗學生的最小的功能單元並不是試卷,而是題目。一道題目就完成了知識點的考核,和用戶進行了價值交換。所以題目應該被抽象出來成為一個獨立的子模塊。通常一道題目會包括了題干、答案輸入、標准答案、判題輸出(對/錯,答案解析)等部分,而從需求擴展的角度來看,在不同的年齡層次以及不同的學科里會有很多不同類型的題目,比如:
客觀題:單選、多選、判斷、填空等等
主觀題,無標准答案,一般是大題,輸入方式也有多種,有文字錄入、畫圖、拍照錄題等等
所以把題目這個結構抽象出來,有利於後期各種題型的拓展。試卷是整個系統性知識點檢驗的模塊,是多個題目的組合。在題目的基礎上,試卷還需要具備一些其他的能力,包括:
組卷規則,比如隨機組卷,AB卷的能力
一些時間限制,開始作答、提交截止、答案公布等等
並且其實試卷只是一個抽象的概念,實際上試卷可以具象化成課後作業、小測驗、考試等等多種使用形式交付給用戶。