溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

「4+1視圖」學(xué)習(xí)與理解

發(fā)布時(shí)間:2020-07-26 03:32:24 來源:網(wǎng)絡(luò) 閱讀:784 作者:情情說 欄目:開發(fā)技術(shù)

聲明:部分內(nèi)容摘錄了簡書「橘色對(duì)白」作者的文章片段。

之前經(jīng)??吹轿恼轮刑岬健?+1視圖」,對(duì)其也有片面的理解,但一直沒有實(shí)踐過,不清楚其真正的作用,這兩天在業(yè)務(wù)需求分析中運(yùn)用了其中的一部分,想談?wù)勛约旱拇譁\理解。

最近在調(diào)研「多租戶」實(shí)現(xiàn)方案時(shí),看到簡友「橘色對(duì)白」的3篇關(guān)于多租戶架構(gòu)的文章,其中一篇「以CRM系統(tǒng)為例,淺析初級(jí)SaaS架構(gòu)的構(gòu)建方法」,以「4+1視圖」的形式,覆蓋了分析、設(shè)計(jì)、開發(fā)、部署等階段,如何一步一步遞進(jìn),形成最終的實(shí)施方案。

所謂「4+1視圖」,是從5個(gè)不同視角來描述軟件體系結(jié)構(gòu),包括場(chǎng)景視圖、邏輯視圖、開發(fā)視圖、過程視圖、物理視圖,每個(gè)視圖只關(guān)系系統(tǒng)的一個(gè)側(cè)面,5個(gè)視圖結(jié)合起來,才能反映系統(tǒng)的全部內(nèi)容。

好吧,語氣還是有點(diǎn)官方了,本來想根據(jù)自己項(xiàng)目再分析一遍,有人又在催我睡覺了,同時(shí)覺得「橘色對(duì)白」的這篇文章寫的很不錯(cuò)了,決定整理下分享出來。

在分享之前,說說我的實(shí)踐,通過場(chǎng)景視圖、邏輯視圖,分析出了「多租戶」改造時(shí),需要的功能列表。場(chǎng)景視圖站在使用系統(tǒng)的角度,分析各個(gè)角色的用例。 邏輯視圖站在業(yè)務(wù)對(duì)象的角度,表達(dá)了業(yè)務(wù)對(duì)象和對(duì)象間的關(guān)系。兩個(gè)視圖相互遞進(jìn)和補(bǔ)充,幫助我更完整的梳理出系統(tǒng)的功能點(diǎn)。

下面分享下「橘色對(duì)白」的這篇文章,如何一步步構(gòu)建CRM系統(tǒng)

一、場(chǎng)景視圖

負(fù)責(zé)從用戶角度,識(shí)別業(yè)務(wù)需求,描述業(yè)務(wù)場(chǎng)景,是架構(gòu)設(shè)計(jì)的起點(diǎn)和終點(diǎn)。

場(chǎng)景描述

老板角度:了解客戶增減數(shù)量;了解客戶增減變化趨勢(shì);商務(wù)行程管理。

員工角度:保存和隨時(shí)查閱客戶資料;通過郵件、IM、IP電話與客戶保持及時(shí)溝通;商務(wù)行程管理。

場(chǎng)景抽象

客戶管理:增、刪、改、查,客戶資料;
行程管理:商務(wù)形成安排(客戶拜訪、合同談判);
訂單管理:已簽訂單的管理;

二、邏輯視圖

從對(duì)象角度,構(gòu)建對(duì)象模型,用以確立邏輯分層、模塊劃分、模塊功能、模塊間依賴關(guān)系等。其中,模塊功能,既包括可見的業(yè)務(wù)功能,也包括不可見的系統(tǒng)功能(日志、權(quán)限、事務(wù)等)。

模塊劃分及功能

客戶模塊、行程模塊、訂單模塊、報(bào)表模塊

模塊依賴關(guān)系

「4+1視圖」學(xué)習(xí)與理解

模塊包含的業(yè)務(wù)對(duì)象
  • 客戶模塊 — 客戶分組、客戶、聯(lián)系人;
  • 行程模塊 — 時(shí)間、事項(xiàng)等;
  • 訂單模塊 — 時(shí)間、客戶、訂單等;
  • 報(bào)表模塊 — ……
三、開發(fā)視圖

從開發(fā)角度,描述軟件在開發(fā)環(huán)境下的靜態(tài)組織(程序包、應(yīng)用的統(tǒng)一框架、引用的類庫、SDK和中間件等),并規(guī)范和約束開發(fā)環(huán)境的結(jié)構(gòu)。

開發(fā)環(huán)境
  • 開發(fā)語言:Java、JavaScript、Html
  • 數(shù)據(jù)庫類型:MySQL 5.0
  • 應(yīng)用服務(wù)器類型:Apache+JBOSS
  • 其他軟件:Ant、JUnit 等
  • 相關(guān)硬件:略
技術(shù)框架

開源框架:Struts+Spring+Hibernate框架結(jié)構(gòu)
「4+1視圖」學(xué)習(xí)與理解

分層策略

「4+1視圖」學(xué)習(xí)與理解

目錄結(jié)構(gòu)

根據(jù)分層,制定目錄結(jié)構(gòu)如下
「4+1視圖」學(xué)習(xí)與理解

  • Api: 存放service的接口定義源文件;
  • Action: 存放action的源文件和配置文件;
  • Biz: 存放各模塊的業(yè)務(wù)邏輯組件和DAO組件;
  • Bundle: 存放JSP和HTML文件;
  • deploy:存放構(gòu)建后待部署的jar文件;
  • biz目錄下根據(jù)模塊再分為dao和service目錄,以及它們的實(shí)現(xiàn)類目錄impl;
四、過程視圖

從過程角度,描述系統(tǒng)的并發(fā)和同步設(shè)計(jì)。旨在解決進(jìn)程、線程、并發(fā)、同步、通信等方面的問題;

五、物理視圖

負(fù)責(zé)從部署角度,描述軟硬件的映射關(guān)系,以及系統(tǒng)在分布/部署上的設(shè)計(jì)。旨在解決系統(tǒng)安裝、系統(tǒng)部署、網(wǎng)絡(luò)分布等問題。

至此,CRM系統(tǒng)已基本成型。

理論很重要,更重要的是去實(shí)踐,在實(shí)踐的過程中,才能夠真正理解理論中每個(gè)字的精華。
我理解的還很淺,先欠個(gè)賬,后續(xù)項(xiàng)目開發(fā)過程中,完整應(yīng)用「4+1視圖」后,我在做個(gè)實(shí)踐總結(jié)。

「4+1視圖」學(xué)習(xí)與理解

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI