天天看點

軟體架構設計概述

1、軟體架構設計

軟體架構的研究内容主要涉及軟體架構描述、軟體架構設計、軟體架構風格、軟體架構評價和軟體架構的形成方法等。

軟體架構設計解決好軟體的設計、複用、品質和維護等方面的實際問題;解決各類關鍵的重複問題的通用方案(複用性),以及系統設計中影響深遠(架構敏感)的各項重要決策(一旦貫徹,更改的代價昂貴)。

在較高層面上實作軟體複用。軟體架構作為系統的抽象模型,可以在多個系統間傳遞(複用),特别是比較容易地應用到具有相似品質屬性和功能需求的系統中。 産品線的架構是開發組織的核心資産之一,利用架構及其範例進行多系統的開發,在開發時間、成本、生産率和産品品質方面具有極大的回報。基于架構的開發強調對各元素的組合或裝配。

基于架構的軟體開發模型則明确地把整個軟體過程劃分為架構需求、設計、文檔化、評審(評估)、實作、演化等 6 個子過程。

1.1、架構模型

軟體架構歸納成 5 種模型:結構模型、架構模型、動态模型、過程模型和功能模型。

(1)結構模型。這是一個最直覺、最普遍的模組化方法。這種方法以架構的構件、連接配接件和其他概念來刻畫結構,并力圖通過結構來反映系統的重要語義内容,包括系統的配置、限制、隐含的假設條件、風格、性質。研究結構模型的核心是架構描述語言。

(2)架構模型。架構模型與結構模型類似,但它不太側重描述結構的細節而更側重于整體的結構。架構模型主要以一些特殊的問題為目标建立隻針對和适應該問題的結構。

(3)動态模型。動态模型是對結構或架構模型的補充,研究系統“大顆粒”的行為性質。例如,描述系統的重新配置或演化。動态可能指系統總體結構的配置、建立或拆除通信通道或計算的過程。

(4)過程模型。過程模型研究構造系統的步驟和過程。因而結構是遵循某些過程腳本的結果。

(5)功能模型。該模型認為架構由一組功能構件按層次組成,且下層向上層提供服務。它可以看作是一種特殊的架構模型 。

1.2、“4+1”的視圖模型

5 個不同的視角包括邏輯視圖、程序視圖、實體視圖、開發視圖和場景視圖來描述軟體架構。

軟體架構設計概述

(1)邏輯視圖:主要支援系統的功能需求,即系統提供給最終使用者的服務。

(2)開發視圖:也稱為子產品視圖,主要側重于軟體子產品的組織和管理。 提供給開發人員,應用于軟體管理;

(3)程序視圖:側重于系統的運作特性,主要關注一些非功能性的需求,例如系統的性能和可用性。程序視圖強調并發性、分布性、系統內建性和容錯能力,以及邏輯視圖中的主要抽象的程序結構。它也定義邏輯視圖中的各個類的操作具體是在哪一個線程中被執行的。程序視圖可以描述成多層抽象,每個級别分别關注不同的方面。

(4)實體視圖:主要考慮如何把軟體映射到硬體上,它通常要考慮到解決系統拓撲結構、系統安裝、通信等問題。

(5)場景:可以看作是那些重要系統活動的抽象,它使四個視圖有機地聯系起來,從某種意義上說,場景是最重要的需求抽象。

邏輯視圖和開發視圖描述系統的靜态結構,而程序視圖和實體視圖描述系統的動态結構。

對于實時控制系統來說,則比較注重于從程序視圖和實體視圖來描述系統。

繼續閱讀