版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件構架軟件構架軟件架構軟件架構(softwarearchitecture)是一系列相關的抽象模式,用于指導大型軟件系統(tǒng)各個方面的設計。軟件架構是一個系統(tǒng)的草圖。軟件架構描述的對象是直接構成系統(tǒng)的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現(xiàn)階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連接通常用接口_(計算機科學)來實現(xiàn)。軟件體系結構是構建計算機軟件實踐的基礎。與建
2、筑師設定建筑項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟件架構師或者系統(tǒng)架構師陳述軟件構架以作為滿足不同客戶需求的實際系統(tǒng)設計方案的基礎。軟件構架是一個容易理解的概念,多數(shù)工程師(尤其是經(jīng)驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區(qū)分設計和構架:構架屬于設計的一方面,它集中于某些具體的特征。在“軟件構架簡介”中,DavidGArlan和MaryShaw認為軟件構架是有關如下問題的設計層次:
3、“在計算的算法和數(shù)據(jù)結構之外,設計并確定系統(tǒng)整體結構成為了新的問題。結構問題包括總體組織結構和全局控制結構;通信、同步和數(shù)據(jù)訪問的協(xié)議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇?!盵GS93]但構架不僅是結構;IEEEWkingGrouponArchitecture把其定義為“系統(tǒng)在其環(huán)境中的最高層概念”[IEEE98]。構架還包括“符合”系統(tǒng)完整性、經(jīng)濟約束條件、審美需求和樣式。它并不僅注重對內部的考慮
4、,而且還在系統(tǒng)的用戶環(huán)境和開發(fā)環(huán)境中對系統(tǒng)進行整體考慮,即同時注重對外部的考慮。在RationalUnifiedProcESs中,軟件系統(tǒng)的構架(在某一給定點)是指系統(tǒng)重要構件的組織或結構,這些重要構件通過接口與不斷減小的構件與接口所組成的構件進行交互。從和目的、主題、材料和結構的聯(lián)系上來說,軟件架構可以和建筑物的架構相比擬。一個軟件架構師需要有廣泛的軟件理論知識和相應的經(jīng)驗來事實和管理軟件產(chǎn)品的高級設計。軟件架構師定義和設計軟件的模塊
5、化,模塊之間的交互,用戶界面風格,對外接口方法,創(chuàng)新的設計特性,以及高層事物的對象操作、邏輯和流程。是一般而言,軟件系統(tǒng)的架構(ArchitECture)有兩個要素:它是一個軟件系統(tǒng)從整體到部分的最高層次的劃分。一個系統(tǒng)通常是由元件組成的,而這些元件如何形成、相互之間如何發(fā)生作用,則是關于這個系統(tǒng)本身結構的重要信息。詳細地說,就是要包括架構元件(ArchitectureComponent)、聯(lián)結器(Connect)、任務流(TASkfl
6、ow)。所謂架構元素,也就是組成系統(tǒng)的核心“磚瓦“,而聯(lián)結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統(tǒng)如何使用這些元件和聯(lián)結器完成某一項需求。建造一個系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術的決定。在建造一個系統(tǒng)之前會有很多的重要決定需要事先作出,而一旦系統(tǒng)開始進行詳細設計甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關系統(tǒng)設計成敗的最重要決定,必須經(jīng)過非常慎重的研究和考察
7、。歷史早在1960年代,諸如EW戴克斯特拉就已經(jīng)涉及軟件架構這個概念了。自1990年代以來,部分由于在RationalSoftwareCpation和MiCROSoft內部的相關活動,軟件架構這個概念開始越來越流行起來??▋然仿〈髮W和加州大學埃爾文分校在這個領域作了很多研究??▋然仿〈髮W的MaryShaw和DavidGarlan于1996年寫了一本叫做SoftwareArchitectureperspectiveonanemergi
8、ngDIsci從上面這張圖中可以看出,此系統(tǒng)被劃分成三個邏輯層次,即表象層次,商業(yè)層次和數(shù)據(jù)持久層次。每一個層次都含有多個邏輯元件。比如WEB服務器層次中有HTML服務元件、Session服務元件、安全服務元件、系統(tǒng)管理元件等。物理架構、軟件元件是怎樣放到硬件上的。比如下面這張物理架構圖描述了一個分布于北京和上海的分布式系統(tǒng)的物理架構,圖中所有的元件都是物理設備,包括網(wǎng)絡分流器、代理服務器、WEB服務器、應用服務器、報表服務器、整合服務
9、器、存儲服務器、主機等等。圖3、一個物理架構的例子系統(tǒng)架構、系統(tǒng)的非功能性特征,如可擴展性、可靠性、強壯性、靈活性、性能等。系統(tǒng)架構的設計要求架構師具備軟件和硬件的功能和性能的過硬知識,這一工作無疑是架構設計工作中最為困難的工作。此外,從每一個角度上看,都可以看到架構的兩要素:元件劃分和設計決定。首先,一個軟件系統(tǒng)中的元件首先是邏輯元件。這些邏輯元件如何放到硬件上,以及這些元件如何為整個系統(tǒng)的可擴展性、可靠性、強壯性、靈活性、性能等做出
10、貢獻,是非常重要的信息。其次,進行軟件設計需要做出的決定中,必然會包括邏輯結構、物理結構,以及它們如何影響到系統(tǒng)的所有非功能性特征。這些決定中會有很多是一旦作出,就很難更改的。根據(jù)作者的經(jīng)驗,一個基于數(shù)據(jù)庫的系統(tǒng)架構,有多少個數(shù)據(jù)表,就會有多少頁的架構設計文檔。比如一個中等的數(shù)據(jù)庫應用系統(tǒng)通常含有一百個左右的數(shù)據(jù)表,這樣的一個系統(tǒng)設計通常需要有一百頁左右的架構設計文檔。構架描述為了討論和分析軟件構架,必須首先定義構架表示方式,即描述構架
11、重要方面的方式。在RationalUnifiedProcess中,軟件構架文檔記錄有這種描述。構架視圖我們決定以多種構架視圖來表示軟件構架。每種構架視圖針對于開發(fā)流程中的涉眾(例如最終用戶、設計人員、管理人員、系統(tǒng)工程師、維護人員等)所關注的特定方面。構架視圖顯示了軟件構架如何分解為構件,以及構件如何由連接器連接來產(chǎn)生有用的形式[PW92],由此記錄主要的結構設計決策。這些設計決策必須基于需求以及功能、補充和其他方面的約束。而這些決策又
12、會在較低層次上為需求和將來的設計決策施加進一步的約束。典型的構架視圖集構架由許多不同的構架視圖來表示,這些視圖本質上是以圖形方式來摘要說明“在構架方面具有重要意義”的模型元素。在RationalUnifiedProcess中,您將從一個典型的視圖集開始,該視圖集稱為“41視圖模型”[KRU95]。它包括:用例視圖:包括用例和場景,這些用例和場景包括在構架方面具有重要意義的行為、類或技術風險。它是用例模型的子集。邏輯視圖:包括最重要的設計
13、類、從這些設計類到包和子系統(tǒng)的組織形式,以及從這些包和子系統(tǒng)到層的組織形式。它還包括一些用例實現(xiàn)。它是設計模型的子集。實施視圖:包括實施模型及其從模塊到包和層的組織形式的概覽。同時還描述了將邏輯視圖中的包和類向實施視圖中的包和模塊分配的情況。它是實施模型的子集。進程視圖:包括所涉及任務(進程和線程)的描述,它們的交互和配置,以及將設計對象和類向任務的分配情況。只有在系統(tǒng)具有很高程度的并行時,才需要該視圖。在RationalUnified
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件構架實踐筆記
- 《軟件構架文檔》doc版
- VMI軟件構架及XUML研究.pdf
- 基于軟件構架和構件的軟件演化研究.pdf
- 可重組工藝路線軟件構架研究.pdf
- Telematics系統(tǒng)的軟件構架與應用.pdf
- 基于MDA的MRP軟件構架研究.pdf
- 面向Agent的JIT軟件構架研究.pdf
- 國際結算軟件構架及MVC模式研究.pdf
- 電子支付軟件構架與MVC模式研究.pdf
- 面向方面的電子結算軟件構架研究.pdf
- 聯(lián)銷管理軟件構架與設計模式研究.pdf
- SET認證軟件構架及其多級優(yōu)化方法研究.pdf
- 任務執(zhí)行器軟件構架及優(yōu)化方法研究.pdf
- 狀態(tài)監(jiān)控器軟件構架及監(jiān)控方法研究.pdf
- 基于WAP的安全構架研究及WTLS軟件實現(xiàn).pdf
- 實時控制系統(tǒng)軟件開發(fā)構架研究.pdf
- 面向工作流的電子報關軟件構架研究.pdf
- 基于構件-構架軟件開發(fā)環(huán)境的研究與實現(xiàn).pdf
- 基于元模型的信貸管理軟件構架研究.pdf
評論
0/150
提交評論