概述
學習期間翻閱了很多本體系結構的書籍以及部分架構書籍昌屉,國內清華的教材質量都很好,個人覺得比較務實的是《軟件系統(tǒng)分析與體系結構設計》(楊洋 劉全)福扬,知識結構其實基本上大同小異腕铸,勉強取一個并集可以是:
- 體系結構概論
- 體系結構建模
- 體系結構描述
- 軟件體系結構設計
- 體系結構風格
- 體系結構風格的應用
- 動態(tài)軟件體系結構
- Web服務體系結構
- 軟件產品線體系結構
- 體系結構的分析和測試
- 軟件體系結構的評估
- (有部分書籍把設計模式也算到體系結構里了,存放在上述不同章節(jié)中)
軟件體系結構知識發(fā)展線
把上述的知識結構做一個梳理铛碑,可以梳理出一個體系結構發(fā)展的生命線:
- 軟件發(fā)展狠裹、概論、體系結構來源
- 軟件發(fā)展了幾十年汽烦,各行業(yè)軟件的復雜度使得軟件危機頻頻上演酪耳,慢慢就需要對復雜的、大規(guī)模的軟件進行體系結構設計刹缝;
- 體系結構要先對功能建模碗暗,體系結構設計也是軟件生命周期內的一環(huán)
- 軟件生命周期建模
- 軟件來源于需求,需求來源于用戶梢夯,軟件都是用來解決現(xiàn)實問題的言疗;
- 需求用例建模
- 需求分析后,使用用例圖颂砸、流程圖建模噪奄,沉淀為成熟的需求死姚;
- 功能開發(fā)UML建模
- 軟件開發(fā)人員對需求進行靜態(tài)建模,如類圖等勤篮,以及作動態(tài)建模都毒,如活動圖、狀態(tài)圖等碰缔,將需求一一分解為UML模型账劲;
- 軟件生命周期建模
- 軟件發(fā)展了這么久,沉淀下來很多軟件體系結構(風格/模式)
- 有很多可以借鑒的體系結構和風格金抡,或者稱為模式瀑焦,參考這些模式可以更好地設計適合的軟件體系結構;
- 使用UML和ADL將軟件體系結構描述出來
- 使用相關描述語言或圖示(如4+1視圖梗肝、UML圖)將軟件體系結構描述出來榛瓮,用于討論、交流巫击、打磨等禀晓;
- 體系結構設計的策略
- 設計體系結構的時候需要采取合適的策略;
- 設計體系結構的IDE
- 使用IDE來設計軟件體系結構坝锰;
- 評估體系結構的方法和標準
- 體系結構設計出來后匆绣,需要對齊進行評估,或者根據需要對其進行分析和測試什黑,滿足對應的指標崎淳、條件,才是合格的體系結構設計愕把;
總結
這么看來拣凹,其實在現(xiàn)實中最難的地方是對軟件功能進行建模設計,以及對體系結構進行建模設計恨豁,有些書將軟件功能建模(如使用設計模式)也歸類為軟件體系結構設計嚣镜;
把上述這塊事情放大、做細橘蜜,應該就是架構設計的藝術了菊匿。