<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>

          技術文檔中的各種架構圖該怎么畫? by彭文華

          共 2843字,需瀏覽 6分鐘

           ·

          2021-04-16 16:25


          這是彭文華的第173篇原創(chuàng)

          哎呀媽呀,現(xiàn)在催稿群里的要求越來越高了啊!你看看這哥們的要求,太難了好嗎???

          不過這還真是系統(tǒng)架構師該干的事情。話說我最近寫的東西的確有些偏了,我認真反省,堅決改正!感謝兄弟們。



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



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

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

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

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




          這些架構圖都表達啥?



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

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


          總體架構

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

          總體架構需要說明幾件事情:

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

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

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

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

          5、終端用戶怎么訪問和使用這些應用?

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

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

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


          邏輯架構

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

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

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

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

          應用架構

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

          技術架構

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

          數(shù)據(jù)架構

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

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

          部署架構

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

          功能架構

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

          運行架構

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




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



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

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






          總結(jié)



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

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

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

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

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

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

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

          功能架構用來組織業(yè)務功能;

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


          擴展閱讀:《系統(tǒng)架構設計師考試寶典+各種系統(tǒng)架構圖》,公眾號“大數(shù)據(jù)架構師”后臺回復“系統(tǒng)架構”即可下載。

          我建了一個群,每天分享各種技術文檔。加我微信shirenpengwh,咱進群聊~~

          配合以下文章享受更佳







          下載 | 實時數(shù)倉架構設計與選型

          干貨 | 一口氣講完數(shù)據(jù)倉建模方法

          干貨 | 一口氣說透中臺--給你架構師的視角

          干貨 |  一口氣說穿數(shù)據(jù)中臺-給你架構師的視角


          下載 | 貝殼的數(shù)據(jù)中臺工程架構實踐之大數(shù)據(jù)開發(fā)平臺


          我需要你的轉(zhuǎn)發(fā),小小的滿足一下我的虛榮心





            我的新書《B端產(chǎn)品經(jīng)理必修課2.0》已經(jīng)開售了。

          這是對我的第一本書的全新改版,也是關于B端產(chǎn)品的方方面面。

          查看具體內(nèi)容:我的《B端產(chǎn)品經(jīng)理必修課》升級了

          推薦閱讀:

          SaaS新用戶登錄指南(附8個好例子)

          SaaS 客戶成功: 減少客戶流失和提高 MRR 的秘訣

          【干貨】B端產(chǎn)品差異化指南

          SaaS免費模式的本質(zhì)

          10個做SaaS業(yè)務的重要原則

          [建議收藏]極簡SaaS創(chuàng)業(yè)手冊

          [收藏]7個可以調(diào)研B端產(chǎn)品的網(wǎng)站

          瀏覽 35
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  亚洲一区色 | 97视频国产 | 亚洲成人社区网站 | 萝莉白虎一线天 | www.一起撸 |