<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【建議收藏】手把手教你畫一個項目的技術(shù)架構(gòu)圖

          共 2423字,需瀏覽 5分鐘

           ·

          2021-03-15 12:01





          本文相關(guān)資料下載


          識別下方二維碼,回復(fù)【架構(gòu)】,獲得下載鏈接。

          之后會持續(xù)整理一些可下載的學(xué)習(xí)資料分享給大家,大家記得將公眾號設(shè)置星標(biāo)哦!更多資料獲取、學(xué)習(xí)交流后臺回復(fù)【加群





          系統(tǒng)架構(gòu),架構(gòu)啥?



          雖然我本碩都是軟件工程專業(yè),軟件設(shè)計是一直在學(xué)的,軟件架構(gòu)設(shè)計思想也早早的學(xué)過,但是很長一段時間都不知道架構(gòu)到底是個啥東西。剛?cè)胄械臅r候只會寫代碼,后來變老手了,就開始寫項目文檔。

          一開始還接觸不到核心,只是寫自己工作內(nèi)容相關(guān)的。之后當(dāng)項目經(jīng)理,就能看到完整的項目文檔,但是仍然不太明白為啥要那么多架構(gòu)圖。什么總體架構(gòu)、邏輯架構(gòu)、數(shù)據(jù)架構(gòu)、功能架構(gòu)、網(wǎng)絡(luò)架構(gòu)、運行架構(gòu)等等。

          我反正是一頭的霧水,只顧把自己那攤子事兒搞定就完事了。其他的就追著開發(fā)那邊給畫。而且乙方做項目,基本都是先干活,后補文檔。后來,隨著項目越做越多,學(xué)習(xí)的知識也越來越豐富,最重要的是文檔越寫越多,慢慢的我也就明白了。

          其實系統(tǒng)架構(gòu),說白了,就相當(dāng)于房子的設(shè)計過程。需要一個總體的樣子,還得有里面的支撐結(jié)構(gòu),還要設(shè)計好水暖管線,外殼的裝飾以及樣板房的設(shè)計。每一個內(nèi)容都得要一套圖紙,產(chǎn)出結(jié)果自然就是各種架構(gòu)圖了。




          這些架構(gòu)圖都表達啥?



          講真,要寫好這篇文章,得把《系統(tǒng)架構(gòu)師》的考試內(nèi)容細細的讀一遍才行。

          我這糙就糙一些吧,你看個大概,回頭我再細化,寫的不對的地方,可以加我微信,給我提意見,我給發(fā)紅包。


          總體架構(gòu)

          總體架構(gòu)呢,就是買房的時候進門看到的那個大沙盤:整個小區(qū)有多大,樓有多高、里面的環(huán)境是咋樣的?都有哪些配套?方方面面看個大概。所以總體架構(gòu)基本上把下面所有的架構(gòu)都體現(xiàn)了。下面所有的架構(gòu)也都是要與總體架構(gòu)保持一致。

          總體架構(gòu)需要說明幾件事情:

          1、整個系統(tǒng)的硬件設(shè)置是怎么回事?

          2、數(shù)據(jù)大概是從哪里來,怎么采集、存儲、處理、交換的?

          3、做了哪些功能抽象,以便于支撐上層的應(yīng)用?

          4、提供些業(yè)務(wù)應(yīng)用?管理、控制等功能有哪些?

          5、終端用戶怎么訪問和使用這些應(yīng)用?

          6、該系統(tǒng)與外部系統(tǒng)是怎么進行對接的?

          7、如何保障整個系統(tǒng)的安全、可靠、高質(zhì)量的建設(shè)?

          這個整體架構(gòu)還是比較簡單的,復(fù)雜的手機上沒法看。你打開看個意思就行了。


          邏輯架構(gòu)

          其實總體架構(gòu)有了,邏輯架構(gòu)也就有了。為啥呢?如果說總體架構(gòu)是整個小區(qū)的沙盤,那邏輯架構(gòu)就是這棟樓房了。把小區(qū)大門、綠地、路等保障小區(qū)安全、有序的東西去掉。所以邏輯架構(gòu)里會去掉各種保障、底層的硬件基礎(chǔ)等非軟件開發(fā)邏輯核心的內(nèi)容。

          所以有很多簡單的項目壓根就不寫邏輯架構(gòu),直接用總體架構(gòu)就行了。復(fù)雜的呢,就要把上面總體架構(gòu)中間分層的邏輯給寫清楚一些。

          邏輯架構(gòu)設(shè)計的目的就是為了告訴讀者,整個系統(tǒng)是怎么產(chǎn)生左右的。所謂的系統(tǒng)架構(gòu),主要說的就是這部分。早期的單體架構(gòu)、后面的各種分層架構(gòu)、微服務(wù)、服務(wù)網(wǎng)格等,說的都是在這里進行設(shè)計。

          在設(shè)計的時候,會用到很多種設(shè)計模式,比如你看到有一個應(yīng)用支撐層/服務(wù)層之類的,這就是做了一個MVC,把業(yè)務(wù)邏輯和用戶前端分離。而所有的邏輯架構(gòu)都有數(shù)據(jù)層,這是最早的MVP,即數(shù)據(jù)、用戶視圖和處理邏輯分離。當(dāng)然,系統(tǒng)越復(fù)雜,架構(gòu)圖就越復(fù)雜。這里只是給一個簡單的圖供你參考了。

          應(yīng)用架構(gòu)

          顧名思義,就是應(yīng)用太豐富了,需要整理整理。內(nèi)部有哪些應(yīng)用,怎么對外部提供服務(wù)。很多項目都沒有這個,因為應(yīng)用比較少,不值得多廢點人工單獨寫。

          技術(shù)架構(gòu)

          技術(shù)架構(gòu)要干啥也就很清楚了,就是每一層,我們都用什么組件、什么技術(shù)解決什么問題。

          數(shù)據(jù)架構(gòu)

          數(shù)據(jù)架構(gòu)其實就是從數(shù)據(jù)側(cè)描述數(shù)據(jù)怎么來、怎么存、怎么加工、怎么使用。就像這樣:

          從數(shù)據(jù)源開始,數(shù)據(jù)通過哪些方式集成過來;集成到數(shù)倉之后,都存在哪里,數(shù)倉怎么分層,每一層都干啥;在數(shù)據(jù)集市中又怎么存、怎么管;到數(shù)據(jù)應(yīng)用層又提供些應(yīng)用。上面所有的一切,都用什么技術(shù),什么組件,解決什么問題。

          部署架構(gòu)

          部署架構(gòu)也叫網(wǎng)絡(luò)架構(gòu),就是底層服務(wù)器、網(wǎng)路的設(shè)計,提供網(wǎng)絡(luò)安全、服務(wù)可靠性的設(shè)計。再簡單一些理解,就是你這些應(yīng)用、數(shù)據(jù)庫都放在那臺服務(wù)器上,這些服務(wù)器都在哪個ip端,怎么進行訪問。

          功能架構(gòu)

          這個沒啥好說的,就是你的前臺頁面的功能菜單的目錄結(jié)構(gòu)。你怎么組織系統(tǒng)的所有功能,給用戶提供相應(yīng)的服務(wù)。

          運行架構(gòu)

          運行架構(gòu)其實就是軟件內(nèi)部,這些系統(tǒng)內(nèi)部是怎么運轉(zhuǎn)的,一般會畫很多時序圖、狀態(tài)圖、活動圖。這玩意可費勁了,我們一般不單獨畫一個運行架構(gòu),而是在概要和詳細設(shè)計里畫。




          區(qū)別與聯(lián)系



          傳統(tǒng)信息系統(tǒng)項目和大數(shù)據(jù)項目還是有很顯著的區(qū)別的。從架構(gòu)層面上來說,該有的肯定都得有,只不過其中的內(nèi)容會有側(cè)重點。我簡單對比一下,您將就著看:

          對比項傳統(tǒng)IT項目大數(shù)據(jù)項目
          重點80%應(yīng)用80%數(shù)據(jù)
          類型OLTP事務(wù)處理OLAP分析處理
          安全應(yīng)用安全數(shù)據(jù)安全、質(zhì)量、治理
          總體架構(gòu)側(cè)重業(yè)務(wù)應(yīng)用放大數(shù)據(jù)層
          邏輯架構(gòu)各種SOA、微服務(wù)各種DW、OLAP分層
          技術(shù)架構(gòu)什么Spring、JSP、Ajax各種Hadoop生態(tài)組件
          數(shù)據(jù)架構(gòu)側(cè)重關(guān)系型數(shù)據(jù)庫側(cè)重分布式數(shù)據(jù)庫
          部署架構(gòu)一般主從即可集群
          功能/運行看項目,無偏向看項目,無偏向






          總結(jié)



          所有的架構(gòu)都是基于業(yè)務(wù)出發(fā)的,因此脫離實際業(yè)務(wù)的架構(gòu)都是無意義的。

          我們在進行架構(gòu)設(shè)計的時候,需要用不同的圖形來解釋、闡釋整個系統(tǒng)運行的肌理。

          總體架構(gòu)涵蓋系統(tǒng)的方方面面;

          邏輯架構(gòu)闡述整個系統(tǒng)是如何實現(xiàn)業(yè)務(wù)需求的;

          技術(shù)架構(gòu)則從技術(shù)實現(xiàn)的角度闡述系統(tǒng)的構(gòu)造;

          數(shù)據(jù)架構(gòu)講解數(shù)據(jù)從哪來,到哪里去;

          部署架構(gòu)則講清楚系統(tǒng)放在那臺服務(wù)器上,怎么才能訪問到;

          功能架構(gòu)用來組織業(yè)務(wù)功能;

          運行架構(gòu)則解析系統(tǒng)內(nèi)部運行機理。


          --end--


          掃描下方二維碼
          添加好友,備注【交流
          可私聊交流,也可進資源豐富學(xué)習(xí)群


          更文不易,點個“在看”支持一下??

          瀏覽 118
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼视频网站免费看 | 操屄视频免费在线观看 | 人妇一区三区高清乱码视频 | 亚洲∨一 | 手机看片亚洲 |