軟體體系結構是系統的乙個或多個結構,它包括:
軟體的組成元素(元件);
這些(元件)元素的外部可見特性;
這些元素(元件)之間的相互關係。
軟體體系結構不僅指定了系統的組織結構和拓撲結構,也顯示了系統需求和構成系統的元素之間的對應關係,提供了一些設計決策的基本原理。
部件包括客戶端、伺服器、資料庫、程式包、過程、子程式等一切軟體的組成部分。相互作用的關係可以是過程呼叫、訊息傳遞、共享記憶體變數、客戶端/伺服器的訪問協議、資料庫的訪問協議等。
計算機硬體層是軟體實現的物質基礎,比如儲存器、時鐘、快取記憶體等。
軟體硬體層實現了軟體與硬體的分離,既是對軟體實現的最底層的描述,也是對硬體實現的操作和控制的描述。
基礎控制描述層、資源和管理排程層是體系結構構件和連線的內在構成模型。
系統結構模式層是軟體的上層體系結構,它是最高層次的軟體結構概念,其涉及的概念通常有客戶端/伺服器、直譯器、編譯器、框架等。
應用層是建立在軟體概念之上的領域問題描述,它是基於純粹的應用領域的。
設計軟體的體系結構在設計階段非常重要。軟體體系結構就好比軟體系統的骨骼,如果骨骼確定了,那麼軟體系統的框架就確定了。軟體體系結構在軟體開發過程中的作用如下:
1)規範軟體開發的基本架構
2)便於開發人員與使用者的溝通
3)模組化、層次化設計,有利於減少返工,提高效率
4)便於系統開發前、後期的籌備與服務
軟體設計模式與體系結構
1 畫出新設計的設計類圖 2 說明為什麼新設計遵循開閉原則 開閉原則 ocp 是物件導向設計中 可復用設計 的基石,是物件導向設計中最重要的原則之一。開閉原則中 開 是指對於元件功能的擴充套件是開放的,是允許對其進行功能擴充套件的。本題中將findkeywords提出為乙個介面,五個方法實現此介面,...
軟體體系結構 軟體體系結構概論
開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...
軟體體系結構 組合模式
在軟體設計與程式設計中經常會遇到屬性資料,當處理屬性結構的資料時,程式設計師必須經常區分葉子結點和樹的乙個樹枝結點。這使得 變得更加複雜,容易出錯。允許一致地對待複雜和原始物件的介面,客戶類以相同的方式對待單獨的物件和一組物件。使用不同的語言作為問候語,使用者選擇乙個國家,程式顯示該國家見面時使用的...