1. 程式人生 > >系統體系結構-概念和框架

系統體系結構-概念和框架

1系統體系結構的概念 任何複雜的系統都需要一個體繫結構來提供其演化的一個戰略性環境描述。體系結構提供了對組成系統的元件或構造塊的描述以及這些元件間複雜的內部關係。 雖然體系結構對系統設計至關重要,但過去人們對於體系結構的理解和使用卻是非常不規範的,往往是隱含的、粗糙的、片面的。直到二十世紀九十年代,人們才開始較系統地研究軟體系統的體系結構問題。目前主要的研究領域有體系結構框架、技術參考模型、體系結構描述語言、體系結構的形式基礎、體系結構分析技術、體系結構開發模型與方法、體系結構恢復與重用、體系結構設計工具與環境、領域體系結構等。 國外一貫重視複雜系統的體系結構的研究,民間、政府和軍隊都研究和制定了適合自己的體系結構框架,並以此為指導檔案,應用到眾多系統的體系結構設計中,取得了很好的效果。國外典型的體系結構框架有:Zachman、TOGAF、FEAF、TEAF和DoDAF等。每種框架都是針對某專業領域制定的,一般適合於應用在特定的領域。 因為體系結構(Architecture)這個詞與具體的企業、系統和軟體相關,所以沒一個有對體系結構的精確定義或描述。下表是幾個主要組織對系統體系結構的定義。 表1主要的對系統體系結構定義
來源
定義
ANSI/IEEE 1471-2000 一個系統的基礎,用來將它的構成要素、要素之間的關係、要素與環境的關係,組成一體。也是決定系統設計及發展演進的原則。
美國卡內基美隆大學(CMU)軟體工程學會(SEI) 代表一個系統的功能性與軟硬體要素、軟體體系結構與硬體體系結構的對應,以及人們與各要素之間的互動關係。

OPEN Process Framework Repository Organization

是最重要、普遍性、高等級的戰略性發明及決策,以及它們與整體結構(如:必備元素和關係)的相關原理、特性和行為。

The Open Group Architecture Framework (TOGAF)

一個系統的規則性描述,或是系統在元件級的詳細計劃,用於系統實現的指導。包含結構組成、彼此之間的關係,以及指導它們設計和發展的原則和方向。
總結IEEE(ANSI/IEEE 1471-2000)、DoD和各種商業的和技術的權威機構通常認同的觀點,我們認為系統體系結構是對重要事物(系統或企業)及其組成部分的結構,以及各組成部分如何協調一致地工作來達成目標的描述。

體系結構框架(Architecture Framework)用於規定具體體系結構的定義及其文件所表達的意義。體系結構框架不需要包羅永珍,通常只是針對特定的領域,可能更注重戰略方面的問題,併為體系結構的發展演變提供指導。

框架決定了不同的體系結構,例如:企業體系結構涉及組織為達成其使命所規定的目的和目標的工作過程和完成工作過程所需要的技術或IT基礎架構;系統體系結構涉及需求和系統結構,包括軟體和硬體,使得系統的設計概念可以被有效地表達和交流;軟體體系結構涉及需求、固定的系統硬體和構建軟體的基礎結構以證明軟體的有效性。另外還有很多其它型別的體系結構,如流程和業務體系結構等。所有的體系結構型別都有它們共同的方面,它們都是表達結構的模型,用於實現一些目的和需求。 可以認為,“體系結構”指系統的組成結構及其相互關係,是指導系統設計和發展的原則。“體系結構框架”是用於規範體系結構設計的指南。 綜合各種不同的定義,歸納出系統體系結構的主要概念:

1)系統體系結構是一個綜合模型

系統體系結構是由許多結構要素及各種檢視(或觀點)(View)所組成的,如下圖,而各種檢視主要是基於各組成要素之間的聯絡與互操作而形成的。所以,系統體系結構是一個綜合各種觀點的模型,用來完整描述整個系統。

圖1系統體系結構模型

2)系統體系結構是一個系統建模的方法

在系統體系結構的各種檢視中,以組織檢視與行為檢視最為突出和重要。所以,要完成各種檢視的綜合,必須先完成組織與行為檢視的統一。基本上,通過組織檢視與行為檢視的合一過程,我們就可以構建出一個可以完整描述的系統。所以,系統體系結構可以作為構建系統模型的一種方法。 一般來說,系統或軟體體系結構都需要用相應的體系結構描述語言(Architecture Description Language)來描述,其目的在於為體系結構進行描述和呈現,為體系結構中的相關人員,如:管理人員、系統開發人員和使用者等,提供可以進行溝通的語言。目前已有多種體系結構描述語言,如卡內基梅隆大學的ACME和Wright,斯坦福大學的Rapide等。 2典型的系統體系結構框架 典型的體系結構框架有:Zachman、TOGAF、FEAF、TEAF和DoDAF等。每種框架都是針對某專業領域制定的,一般適合於應用在特定的領域。

1)DoDAF

美國的國防部體系結構框架(DoDAF)產生的背景是美軍為解決多國部隊聯合作戰帶來的系統互通性問題而制定的一套標準體系結構方法。國防部體系結構框架的目的也是為系統的體系結構描述提供一套規則和指南,確保在國防部範圍內的一致理解、比較和整合。為此它使用了作戰、系統和技術標準三個檢視,每一個檢視又細分為幾個到十幾個產品,從不同的視點對一個系統的體系結構描述方法進行了規定。三檢視是DoDAF的代表圖形,如下圖所示:

圖2國防部體系結構框架三檢視

因為是為國防部制定的框架,所以DoDAF的軍事色彩很濃,一切都是圍繞軍事活動展開的。
  • 作戰檢視:基於作戰需求,並根據新的技術能力,對預期的軍事作戰中的資訊傳輸要求進行分析,針對不同的軍事行動,從資訊路徑、使用者數量、通訊強度、傳輸的資訊型別等方面對它們進行評估,明確對系統的功能需求和效能需求,也對系統檢視提出標準化要求。
  • 系統檢視:根據作戰檢視提出的能力要求和技術標準檢視提供的階段性技術指南,明確能夠滿足作戰需求的系統的組成、功能和效能引數,為作戰檢視提供服務支援,併為技術標準檢視提供新技術嵌入的需求。
  • 技術檢視:根據作戰檢視提出的標準化要求,為系統檢視提供規範和標準的支援。

2)RUP軟體系統體系結構

在RUP(Rational統一過程Rational Unified Process)中,軟體系統的體系結構是指系統重要構件的組織或結構,這些重要構件通過介面與不斷減小的構件與介面所組成的構件進行互動。 RUP以多種構架檢視來表示軟體體系結構。每種構架檢視針對於開發流程中的涉眾(例如終端使用者、設計人員、管理人員、系統工程師、維護人員等)所關注的特定方面。構架檢視顯示了軟體構架如何分解為構件,以及構件如何由聯結器連線來產生有用的形式,由此記錄主要的結構設計決策。這些設計決策必須基於需求以及功能、補充和其他方面的約束。而這些決策又會在較低層次上為需求和將來的設計決策施加進一步的約束。

RUP的體系結構由許多不同的構架檢視來表示,該檢視集稱為“4+1檢視模型”,由Kruchten 在1995 年提出,如下圖。

圖3RUP軟體架構 "4+1" 檢視模型

如圖可見,它包括:
  • 用例檢視:包括用例和場景,這些用例和場景包括在構架方面具有重要意義的行為、類或技術風險。它是用例模型的子集。
  • 邏輯檢視:包括最重要的設計類、從這些設計類到包和子系統的組織形式,以及從這些包和子系統到層的組織形式。 它還包括一些用例實現。它是設計模型的子集。
  • 實施檢視:包括實施模型及其從模組到包和層的組織形式的概覽。 同時還描述了將邏輯檢視中的包和類向實施檢視中的包和模組分配的情況。它是實施模型的子集。
  • 程序檢視:包括所涉及任務(程序和執行緒)的描述,它們的互動和配置,以及將設計物件和類向任務的分配情況。只有在系統具有很高程度的並行時,才需要該檢視。在 Rational Unified Process 中,它是設計模型的子集。
  • 配置檢視:包括對最典型的平臺配置的各種物理節點的描述以及將任務(來自程序檢視)向物理節點分配的情況。只有在分散式系統中才需要該檢視。它是配置模型的一個子集。