任何軟件開發(fā)項目都將經(jīng)歷需求獲取,系統(tǒng)分析,系統(tǒng)設(shè)計,編碼研究與開發(fā),系統(tǒng)運行與維護(hù)的常規(guī)階段,并且軟件系統(tǒng)架構(gòu)設(shè)計介于系統(tǒng)分析與系統(tǒng)設(shè)計之間。技術(shù)選擇是在兩個或多個技術(shù)解決方案中選擇一種適合當(dāng)前項目情況的技術(shù)。技術(shù)選擇不僅是技術(shù)選擇,而且是與項目情況密切相關(guān)的項目決策。那么到底技術(shù)架構(gòu)是什么?有哪些戰(zhàn)略層設(shè)計原則?
技術(shù)架構(gòu)是什么?
技術(shù)架構(gòu),是將產(chǎn)品需求轉(zhuǎn)變?yōu)榧夹g(shù)實現(xiàn)的過程。技術(shù)架構(gòu)解決的問題包括了如何進(jìn)行純技術(shù)層面的分層、開發(fā)框架選擇、語言選擇、涉及到各自非功能性需求的技術(shù)點。技術(shù)架構(gòu)是確定組成應(yīng)用系統(tǒng)實際運行的技術(shù)組件、技術(shù)組件之間的關(guān)系,以及部署到硬件的策略。
技術(shù)架構(gòu)面臨最大的挑戰(zhàn)是“不確定性”。在技術(shù)架構(gòu)上,很多時候就會面臨這種選擇。是要選擇業(yè)界最新的技術(shù)?還是選擇團(tuán)隊最熟悉的技術(shù)?如果選擇最新的技術(shù),遇到新技術(shù)出了問題怎么解決?如果選擇目前熟悉的技術(shù),后續(xù)技術(shù)演進(jìn)怎么辦?這些都是架構(gòu)師在做技術(shù)架構(gòu)過程中需要考慮的。
業(yè)務(wù)在千變?nèi)f化、技術(shù)在層出不窮,沒有一套通用的技術(shù)架構(gòu)模式來適用所有的系統(tǒng)。那么,我們?nèi)绾伪WC在做技術(shù)架構(gòu)時,能夠?qū)崿F(xiàn)一個穩(wěn)定、出色的系統(tǒng)。面對這些“不確定性”時的架構(gòu)設(shè)計問題,這里從戰(zhàn)略和戰(zhàn)術(shù)兩個層面來提供一些設(shè)計原則。戰(zhàn)略層提供的是技術(shù)架構(gòu)的方法和思路,屬于頂層設(shè)計;戰(zhàn)術(shù)層提供的是技術(shù)架構(gòu)的技術(shù)實踐方式,更偏向詳細(xì)設(shè)計。
技術(shù)架構(gòu)有哪些戰(zhàn)略層設(shè)計原則?
一、戰(zhàn)略層的設(shè)計原則就是:合適原則、簡單原則、演化原則。
1.合適原則
技術(shù)人員有一種很強(qiáng)的技術(shù)情懷,就是在做設(shè)計的過程中,很希望挑戰(zhàn)新的技術(shù)、在項目中采用最新的框架、或者自己重造一個比業(yè)界的還要牛的輪子。這樣才能夠顯示出自己的優(yōu)秀,以至于不讓自己顯的那么平庸。
2.簡單原則
我們總是希望能將我們的軟件設(shè)計的精美、宏大,這樣才能彰顯我們系統(tǒng)的復(fù)雜度和難度。我們是不是會遇到這樣的場景,在做設(shè)計方案的時候,如果一個解決方案很簡單,而且能很快的滿足需求。在評審方案時,就會有人覺得這個方案是不是太簡單了,沒有什么技術(shù)含量,是不是需要再設(shè)計的復(fù)雜一點。
3.演化原則
軟件架構(gòu)和建筑架構(gòu)很多相同的地方,架構(gòu)這個詞也是從建筑領(lǐng)域借鑒過來的。比如,軟件架構(gòu)描述的是系統(tǒng)的結(jié)構(gòu)、以及各模塊之間的關(guān)系。而建筑結(jié)構(gòu)描述的是一幢建筑的結(jié)構(gòu),以及建筑內(nèi)部各部件如何有機(jī)的組成。
但是,軟件架構(gòu)和建筑架構(gòu)有一個本質(zhì)上的差異:那就是建筑一旦完成就不會再變,而軟件卻需要根據(jù)業(yè)務(wù)的發(fā)展不斷的變化。對于建筑來說,永恒是主題;而對于軟件來說,變化才是主題。
二、戰(zhàn)術(shù)層設(shè)計原則
戰(zhàn)術(shù)層的設(shè)計原則分為 3 部分:高并發(fā)原則、高可用原則、業(yè)務(wù)設(shè)計原則。這些原則是對技術(shù)架構(gòu)設(shè)計過程中提供詳細(xì)的指導(dǎo)思路,幫助你做技術(shù)選型、技術(shù)拆分。
1.高并發(fā)原則
設(shè)計高并發(fā)的系統(tǒng),需要考慮以下幾個方面的設(shè)計:無狀態(tài)、拆分、服務(wù)化、消息隊列、數(shù)據(jù)異構(gòu)、緩存。
2.高可用原則
三、技術(shù)架構(gòu)圖
技術(shù)架構(gòu)圖是將系統(tǒng)的技術(shù)方案、技術(shù)選型通過視圖的方式進(jìn)行展現(xiàn)。技術(shù)架構(gòu)圖分為兩類:一類,功能需求技術(shù)架構(gòu)圖,是描繪如何通過技術(shù)組件來實現(xiàn)系統(tǒng)產(chǎn)品功能的圖。另一來,非功能需求技術(shù)架構(gòu)圖,是描繪如何通過物理部署的來實現(xiàn)系統(tǒng)運行的圖。
以上就是關(guān)于技術(shù)架構(gòu)是什么,以及技術(shù)架構(gòu)有哪些戰(zhàn)略層設(shè)計原則的全部內(nèi)容,想了解更多關(guān)于技術(shù)架構(gòu)的信息,請繼續(xù)關(guān)注中培偉業(yè)。