軟件體系結構風格論文_第1頁
軟件體系結構風格論文_第2頁
軟件體系結構風格論文_第3頁
軟件體系結構風格論文_第4頁
軟件體系結構風格論文_第5頁
免費預覽已結束,剩余6頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件體系結構課程設計學院:班級:學號:姓名:指導教師:一.軟件體系結構的定義:軟件體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。處理構件負責X®蝴進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組組合連接起來。這一定義注重區(qū)分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。二.軟件體系結構的分類一個小型的軟件可能具有一種軟件體系結構,而大型的軟件一般由多種軟件體系結構組成,軟件體系結構沒有定性的說只有幾種風格,但是經過長期的大型軟件設計與分析,人們總結出了一些最為常用的軟件體系結構風格,分別是:(1).數據

2、流風格:批處理風格;管道過濾器。(2),調用返回風格:主程序子程序;面向對象風格;分層風格。(3),獨立構件風格:進程通訊;事件系統(tǒng)。(4).虛擬機風格:解釋器;基于規(guī)則的系統(tǒng)。(5),倉庫風格:數據庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。1 .數據流風格:數據流風格的體系結構中,我們可以在系統(tǒng)中找到非常明顯的數據流,處理過程通常在數據流的路線上自頂向下、逐步求精”,并且,處理過程依賴于執(zhí)行過程,而不是數據到來的順序。1.1 批處理風格:批處理風格。批處理序列的每一步處理都是獨立的,并且每一步是順序執(zhí)行的,只有當前一步處理完后,后一步處理才能開始,數據傳送在步與步之間作為一個整體。批處理的典型應用是經典

3、數據處理和程序開發(fā)。批處理風格與管道過濾器風格的共同點是把任務分解成一系列固定J順序的計算單元(組件),組件間只通過數據傳遞交互。區(qū)別表現在以下幾個方面:批處理是全部的、高潛伏性的、輸入時可隨機存取、無合作性、無交互性,管道過、濾器是遞增的、數據結果延遲小、輸入時處理局部化、有反饋、可交互。1.2 管道過濾器:在管道/過濾器風格的軟件體系結構中,每個組件都有一組輸入和輸出,組件讀輸入的數據流,經過內部處理,然后產生輸出數據流。這個過程通常通過對輸入流的變換及增吊計算來完成,所以在輸入被完全消費之前,輸出便產生了。因此,這里的組件被稱為過濾器,這種風格的連接器就象是數據流傳輸的管道,將一個過濾器

4、的輸出傳到另濾器的輸入。此風格特別重要的過濾器必須是獨立的實體,它不能與其它的過濾器共享數據,而且一個過濾器不知道它上游和下游的標識。一個管道/過濾器網絡輸出的正確性并不依賴于過濾器進行增吊計算過程的順序。編譯器系統(tǒng)就具備典型的管道系統(tǒng)風格的體系結構。在該系統(tǒng)中,一個階段(包括詞法分析、語法分析、語義分析和代碼生成)的輸出是另一個階段的輸入。管逾a濾器風格的軟件體系結構具有許多很好的特點:使得軟組件具有良好的隱蔽性和高內聚、低耦合的特點;允許設乃將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;(3)支持軟件復用。(4)系統(tǒng)維護和增強系統(tǒng)性能簡單。新的過濾器可以添加到現有系統(tǒng)中來;舊

5、的可以被改進的過濾器替換掉;(5)允許對一些如吞吐量、死鎖等屬性的分析;(6)支持并行執(zhí)行。每個過濾器是作為一個單獨的任務完成,因此可與其它任務并行執(zhí)行。這比下面將要闡述的一種主-子程序風格”的單線程操作要靈活得多。這種系統(tǒng)結構的弱點是:(1)通常導致進程成為批處理的結構。這是因為雖然過濾器可增量式地處理數據,但它們是獨立的,所以設計者必須將每個過濾器看成一個完整的從輸入到輸出的轉換。(2)不適合處理交互的應用。當需要增量地顯示改變時,這個問題尤為嚴重。(3)因為在數據傳輸上沒有通用的標準,每個過濾器都增加了解析和合成數據的工作,這樣就導致了系統(tǒng)性能下降,并增加了編寫過濾器的復雜性。2.調用返

6、回風格:調用/返回風格的體系結構在過去的30年之間占有重要的地位,是大型軟件開發(fā)中的主流風格的體系結構。這類系統(tǒng)中呈現出比較明顯的調用感回的關系。主程序子程序主-子程序風格的體系結構是一種經典的編程范型,主要應用在結構化程序設計當中。這種風格的主要目的是將程序劃分為若干個小片段,從而使程序的可更改性大大提高。主-子程序體系結構風格有一定的層次性,主程序位于一層,下面可以再劃級子程序,二級子程序甚至更多。需要特別注意的是主-子程序體系結構風格是單線程控制的。同一時刻只有一個孩子結點的子程序可以得到父親結點的控制。其特點如下:(1)由于單線程控制,計算的順序得以保障。(2)并且有用的計算結果在同一

7、時刻只會產生一個。(3)單線程的控制可以直接由程序設計語言來支持(4)分層推理機制:子程序的正確性與它調用的子程序的正確性有關。2.2面向對象風格:目前軟件界已普遍轉向使用面向對象系統(tǒng),抽象數據類型概念對軟件系統(tǒng)有著重要作用。這種風格的構件是對象,或者說是抽象數據類型的實例。對象是一種被稱作管理者的構件,因為它負責保持資源的完整性。對象是通過函數和過程的調用來交互的。對象風格的體系結構具有以下的特點:(1)對象抽象使得組件和組件之間的操作以黑箱的方式進行。(2)封裝性使得細節(jié)內容對外部環(huán)境得以良好的隱藏。對象之間的訪問是通過方法調用來實現的。(3)考慮操作和屬性的關聯(lián)性,封裝完成了相關功能和屬

8、性的包裝,并由對象來對它們進行管理。(4)使用某個對象提供的服務并不需要知道W務內部是如何實現的。面向對象體系結構存在的問題:(1)對象之間的耦合度比較緊:為了使一個對象和另一個對象通過過程調用等進行交互,必須知道對象的標識。只要一個對象的標識改變了,就必須修改所有其他明確調用它的對象。(2)必須修改所有顯式調用它的其它對象,并消除由此帶來的一些副作用。例如A使用了對象B,C也使用了對象B,那么,C對B的使用所造成的對A的影響可能是不可預測的。分層風格的體系結構是斗繇統(tǒng)組織成一個層次結構,每一層為上層提供服務,并作為下層的客戶端。在分層風格的體系結構中,一般內部的層只對相鄰的層可見。層之間的連

9、接器(conectOr通過決定層間如何交互的協(xié)議來定義。2.3分層風格分層風格的體系結構:(1)支持基于抽象程度遞增的系統(tǒng)設計:使設出阿以把一個復雜系統(tǒng)按遞增的步驟進行分解;(2)支持功能增強:因為每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;(3)支持復用:只要提供的服務接口定義不變,同一層的不同實現可以交換使用。這樣,就可以定義一組標準的接口,而允許各種不同的實現方法。但是,分層風格的體系結構也有其不足之處:(1)并不是每個系統(tǒng)都可以很容易地劃分為分層風格的體系結構,甚至即使一個系統(tǒng)的邏輯結構是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設計師不得不把一些低級或高級的功育線合起

10、來;(2)很難找到一個合適的、正確的層次抽象方法。總、結一下調用/返回風格的軟件體系結構:這類架構中的組件就是各種不同的操作單元(例如,子程序、對象、層次),而連接器則是這些對象之間的調用關系(例如,主-子程序調用,或者對象的方法以及層次體系結構中的協(xié)議)。調用-返回結構的優(yōu)點在于,容易將大的架構分解為一種層次模型,在較高的層次,隱藏那些比較具體的細節(jié),而在較低的層次,又能夠表現出實現細節(jié)。在這類體系結構中,調用者和被調用者之間的關系往往比較緊密。在這樣的情況下,架構的擴充通常需要被調用者和所有調用者都進行適當的修改。.獨立構件風格:進程通訊:進程間通信就是在不同進程之間通過共享內存或其他外設

11、傳播或交換信凱事件系統(tǒng):事件系統(tǒng)風格是獨立組件風格的一個子風格。其中的每一個獨立組件在它們的相關環(huán)境中聲明它們希望共享的數據,這個環(huán)境便是未指定的參與項。事件系統(tǒng)會充分利用消息管理器(messagemana痢消息傳遞到消息管理器的時候來管理組件之間的交互,和調用組件。組件會注冊它們希望提供或者希望收到的信息的類型。隨后它們會發(fā)送這個注冊的類型給消息管理器,這個消息管理器可能是一個對象引用。通信處理風格也是獨立組件風格的一個子風格。這是一個多處理系統(tǒng)。.虛擬機風格:虛擬機風格的體系結構設計的初衷主要是考慮體系結構的可移植性。這種體系結構力圖模擬它運行于其上的軟件或者硬件的功能。解釋器:解釋器是能

12、夠執(zhí)行用其他計算機語言編寫的程序的系統(tǒng)軟件,它是一種翻譯程序。它的執(zhí)行方式是一邊翻譯一邊執(zhí)行,因此其執(zhí)行效率T殳偏低,但是解釋器的實現較為簡單。基于規(guī)則的系統(tǒng):基于規(guī)則的系統(tǒng)或者成為專家系統(tǒng)、生產式系統(tǒng),是一種重要的應用系統(tǒng),他廣泛用于醫(yī)療診斷、航空航天、實時監(jiān)控和輔助決策等領域中。.倉庫風格:在倉庫風格中,有兩種不同的組件:中央數據結構(用于說明當前狀態(tài)),和獨立組件(在中央數據存貯h執(zhí)行),倉庫與外組件間的相互作用在系統(tǒng)中會有大的變化。倉庫風格的體系結構控制原則的選取產生兩個主要的子類。若輸入流中某類時間觸發(fā)進程執(zhí)行的選擇,則倉庫是一個傳統(tǒng)型數據庫;系統(tǒng)中的組件通常包括數據存儲區(qū),以及與這

13、些存儲區(qū)進行交流的進程或處理單元,而連接器則是對于存儲區(qū)的訪問。這類系統(tǒng)中,數據處理進程往往并不直接發(fā)生聯(lián)系,它們之間的聯(lián)系主要是通過共享的數據存儲區(qū)來完成的。這種現象非常類似于在獨立組件架構中的情況。另一方面,若中央數據結構的當前狀態(tài)觸發(fā)進程執(zhí)行的選擇,則倉庫是一黑板系統(tǒng)。三.案例分析:這里以本學期的作業(yè)圖書管理系統(tǒng)來說:我們的小組設計的圖書管理系統(tǒng)是把C/S和B/S模式綜合運用的體系結構。其中以C/S模式為主,輔助以B/S模式。C/S(Client/Server結構,即客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Serve

14、r端來實現,降低了系統(tǒng)的通訊開銷。B/S(Browser/Server結構,即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器(Browse。來實現,而主要事務邏輯放在服務器端(Server)去實現,形成所渭三層結構(客戶層,應用服務層,數據層)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本。學校圖書館使用B/S體系結構,完成圖書借閱人員遠程對借閱信息查詢。借書者通過瀏覽器訪問圖書管理系統(tǒng),使用借書證號進入系統(tǒng),里面能查詢到讀者基本資料,未還圖書列表,查看我的借

15、閱歷史等等。由于在網上就能查詢,方便借閱者對自己所借圖書情況進行了解。使用C/S體系結構,如圖:客戶層用戶操作界面返回操作結果業(yè)務處理層執(zhí)行業(yè)務處理返回操作結果業(yè)務邏輯處理類執(zhí)行數據操作IZ數據訪問層C/S模式的三層架構通過C/S結構,完成圖書的入庫,借閱,歸還,圖書信息查詢等功能。用戶通過客戶端進入圖書管理系統(tǒng),在此段完成“借書”、“還書”、“查詢借閱信息”等操作,發(fā)出相應操作請求,即用戶界面層;連接組件將該操作請求發(fā)送到服務器端,服務器端通過業(yè)務邏輯組件進行相應的業(yè)務處理,即業(yè)務處理層;業(yè)務處理完畢后,將處理更新后的信息保存到數據庫,完成數據的存取過程,即數據訪問層;數據存儲完畢后,系統(tǒng)返

16、回操作結果,直到用戶界面。完成用戶通過客戶端發(fā)送業(yè)務處理請求然后服務器端進行相應處理并最終把處理結果返回到客戶端的一次業(yè)務處理過程。圖書館采用以C/S模式為主,B/S模式為輔的體系結構,其主要優(yōu)點有下:1,應用服務器運行負荷輕。由于采用了C/S模式為主的體系結構,在客戶端較少(只有圖書管理員安裝)的情況下,客戶端完成接受數據輸入,校驗數據有效性,向后臺數據庫發(fā)請求,接受返回結果,處理應用邏輯等的操作,把應用邏輯主要放在客戶端,減少服務器的應用邏輯操作,降低了服務器的運行負荷。使系統(tǒng)運行速度在低成本下也能大大提高。2成本低。T殳的以c/s模式為主的系統(tǒng)其成本都相對高,這是由于胖客戶端瘦W務器的緣故,由于客戶端安裝使用成本較高,當客戶端多時,往往會造成成本的增加,而圖書管理系統(tǒng)卻不同,由于客戶端較少,用戶面相對固定,使得因為客戶端的過多而造成的成本高昂不復存在,相應的反而由于相XtB/S模式的瘦W務器,減少了服務器購置的成本投入,反而比B/S模式成本更低。3相對于只用C/SJI式方便性大大提高。由于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論