聲明:部份內容摘錄了簡書「橘色對白」做者的文章片斷。數據庫
以前常常看到文章中提到「4+1視圖」,對其也有片面的理解,但一直沒有實踐過,不清楚其真正的做用,這兩天在業務需求分析中運用了其中的一部分,想談談本身的粗淺理解。服務器
最近在調研「多租戶」實現方案時,看到簡友「橘色對白」的3篇關於多租戶架構的文章,其中一篇「以CRM系統爲例,淺析初級SaaS架構的構建方法」,以「4+1視圖」的形式,覆蓋了分析、設計、開發、部署等階段,如何一步一步遞進,造成最終的實施方案。網絡
所謂「4+1視圖」,是從5個不一樣視角來描述軟件體系結構,包括場景視圖、邏輯視圖、開發視圖、過程視圖、物理視圖,每一個視圖只關係系統的一個側面,5個視圖結合起來,才能反映系統的所有內容。架構
好吧,語氣仍是有點官方了,原本想根據本身項目再分析一遍,有人又在催我睡覺了,同時以爲「橘色對白」的這篇文章寫的很不錯了,決定整理下分享出來。併發
在分享以前,說說個人實踐,經過場景視圖、邏輯視圖,分析出了「多租戶」改造時,須要的功能列表。場景視圖站在使用系統的角度,分析各個角色的用例。 邏輯視圖站在業務對象的角度,表達了業務對象和對象間的關係。兩個視圖相互遞進和補充,幫助我更完整的梳理出系統的功能點。框架
下面分享下「橘色對白」的這篇文章,如何一步步構建CRM系統線程
負責從用戶角度,識別業務需求,描述業務場景,是架構設計的起點和終點。架構設計
老闆角度:瞭解客戶增減數量;瞭解客戶增減變化趨勢;商務行程管理。設計
員工角度:保存和隨時查閱客戶資料;經過郵件、IM、IP電話與客戶保持及時溝通;商務行程管理。日誌
客戶管理:增、刪、改、查,客戶資料; 行程管理:商務造成安排(客戶拜訪、合同談判); 訂單管理:已簽定單的管理;
從對象角度,構建對象模型,用以確立邏輯分層、模塊劃分、模塊功能、模塊間依賴關係等。其中,模塊功能,既包括可見的業務功能,也包括不可見的系統功能(日誌、權限、事務等)。
客戶模塊、行程模塊、訂單模塊、報表模塊
從開發角度,描述軟件在開發環境下的靜態組織(程序包、應用的統一框架、引用的類庫、SDK和中間件等),並規範和約束開發環境的結構。
開源框架:Struts+Spring+Hibernate框架結構
根據分層,制定目錄結構以下
從過程角度,描述系統的併發和同步設計。旨在解決進程、線程、併發、同步、通訊等方面的問題;
負責從部署角度,描述軟硬件的映射關係,以及系統在分佈/部署上的設計。旨在解決系統安裝、系統部署、網絡分佈等問題。
至此,CRM系統已基本成型。
理論很重要,更重要的是去實踐,在實踐的過程當中,纔可以真正理解理論中每一個字的精華。 我理解的還很淺,先欠個帳,後續項目開發過程當中,完整應用「4+1視圖」後,我在作個實踐總結。