軟件體系結構復習_第1頁
軟件體系結構復習_第2頁
軟件體系結構復習_第3頁
軟件體系結構復習_第4頁
軟件體系結構復習_第5頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、1.軟件危機的表現(簡述):軟件成本日益增長;開發(fā)進度難以控制;軟件質量差;軟件維護困難。軟件危機的成因,用戶需求不明確,缺乏正確的理論指導,軟件規(guī)模越來越大,軟件復雜度越來 越大。軟件工程包括三要素:方法,工具,過程2.軟件重用:在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相近軟件元素過程。3.構件(軟構件):構件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程 中可以明確辨識的系統;結構上,它是語義描述、通訊接口和實現代碼的復合體。4.重用粒度:可重用的軟件元素越大,重用粒度越大。5.面向對象技術達到類級重用,以類為封裝的單位6.構建模型三個主要流派:OMG(Object

2、Management Group,對象管理集團)的CORBA(Common Object Request Broker Architecture,通用對象請求代理結構)、Sun 的 EJB (Enterprise Java Bean)、Microsoft 的 DCOM (Distributed Component Object Model,分布式構件對象模型)。7.國內清華青鳥模型,由外部接口與內部結構兩部分組成外部接口:構件的外部接口是指構件向其重用者提供的基本信息,包括構件名稱、功能描述、所 需的構件等。內部結構:構件的內部結構包括:內部成員以及內部成員之間的關系。其中內部成員包括具體成

3、員與虛擬成員,成員關系包括內部成員之間的關聯,以及內部成員與外部接口之間的互聯。8.構件獲取的四個途徑:a.從現有構件中獲得符合要求的構件,直接使用或作適應性修改,得到可重用的構件;b.通過遺留工程,將具有潛在重用價值的構件提取出來,得到可重用的構件;c.從市場上購買現成的商業(yè)構件,即COTS(Commercial Off-The-Shell)構件;d.開發(fā)新的符合要求的構件。構件組裝:基于功能的組裝技術,基于數據的組裝技術,面向對象的組裝技術軟件體系結構的定義:為軟件系統提供了一個結構,行為和屬性的高級抽象,由構成的系統的元 素的描述,這些元素的相互作用,指導元素集成的模式以及這些模式的約束

4、組成9.構件分類方法三大類:關鍵字分類、刻面分類法、超文本組織方法10.構件庫五類用戶:注冊用戶、公共用戶、構件提交者、一般系統管理員、超級系統管理員。11.構件組裝技術:(1)基于功能的組裝技術(2)基于數據的組裝技術(3)面向對象的組裝 技術:構造法,子類法12.軟件體系結構定義(P20):軟件體系結構為軟件系統提供了一個結構、行為和屬性的高級抽象, 由構成系統的元素的描述、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。 軟件體系結構不僅指定了系統的組織結構和拓撲結構,并且顯示了系統需求和構成系統的元素之 間的對應關系,提供了一些設計決策的基本原理。13.軟件體系結構發(fā)展的

5、四個階段(P23):(1)“無體系結構”設計階段:以匯編語言進行小規(guī)模應用程序開發(fā)為特征(2)萌芽階段:出現了程序結構設計主題,以控制流圖和數據流圖構成軟件結構為特征(3)初期階段:出現了從不同側面描述系統的結構模型,以UML為典型代表。(4)高級階段:以描述系統的高層抽象結構為中心,不關心具體的建模細節(jié),劃分了體系結構模 型與傳統軟件結構的界限,該階段以Kruchten提出的“4+1濮型為標志14.通用體系結構風格分類:(1)數據流風格:批處理序列;管道/過濾器。(2 )調用/返回風 格:主程序/子程序;面向對象風格;層次結構。(3)獨立構件風格:進程通訊;事件系統。(4)虛擬機風格:解釋器

6、;基于規(guī)則的系統。(5)倉庫風格:數據庫系統;超文本系統;黑 板系統。15 .管道和過濾器風格的優(yōu)點:使得軟構件具有良好的隱蔽性和高內聚、低耦合的特點;允許設計者將整個系統的輸入/輸出行 為看成是多個過濾器的行為的簡單合成;支持軟件重用。只要提供適合在兩個過濾器之間傳送的 數據,任何兩個過濾器都可被連接起來;系統維護和增強系統性能簡單。新的過濾器可以添加到 現有系統中來;舊的可以被改進的過濾器替換掉;允許對一些如吞吐量、死鎖等屬性的分析;支 持并行執(zhí)行。每個過濾器是作為一個單獨的任務完成,因此可與其它任務并行執(zhí)行。管道和過濾器的缺點:a.通常導致進程成為批處理的結構。這是因為雖然過濾器可增量式

7、地處理數據,但它們是獨立的, 所以設計者必須將每個過濾器看成一個完整的從輸入到輸出的轉換。b.不適合處理交互的應用。當需要增量地顯示改變時,這個問題尤為嚴重。C.因為在數據傳輸上沒有通用的標準,每個過濾 器都增加了解析和合成數據的工作,這樣就導致了系統性能下降,并增加了編寫過濾器的復雜性。16.面向對象系統的優(yōu)點:a.因為對象對其它對象隱藏它的表示,所以可以改變一個對象的表示,而 不影響其它的對象;b.設計者可將一些數據存取操作的問題分解成一些交互的代理程序的集合。缺點:a.為了使一個對象和另一個對象通過過程調用等進行交互,必須知道對象的標識。只要一個 對象的標識改變了,就必須修改所有其他明確

8、調用它的對象;b.必須修改所有顯式調用它的其它對象,并消除由此帶來的一些副作用。例如,如果A使用了對 象B,C也使用了對象B,那么,C對B的使用所造成的對A的影響可能是料想不到的。例:年 齡加1。17.基于事件的隱式調用思想:構件不直接調用一個過程,而是觸發(fā)或廣播一個或多個事件。應用系統的例子:(1)在程序設計環(huán)境中用于集成各種工具(2)在數據庫管理系統用于檢查 數據庫的一致性約束條件(3)在用戶界面中分離數據和表示優(yōu)點:a.為軟件重用提供了強大的支持。當需要將一個構件加入現存系統中時,只需將它注冊 到系統的事件中。b.為改進系統帶來了方便。當用一個構件代替另一個構件時,不會影響到其它 構件的

9、接口。缺點:a.構件放棄了對系統計算的控制。一個構件觸發(fā)一個事件時,不能確定其它構件是否會響 應它。而且即使它知道事件注冊了哪些構件的構成,它也不能保證這些過程被調用的順序。b. 數據交換的問題。有時數據可被一個事件傳遞,但另一些情況下,基于事件的系統必須依靠一個 共享的倉庫進行交互。在這些情況下,全局性能和資源管理便成了問題。c.既然過程的語義必 須依賴于被觸發(fā)事件的上下文約束,關于正確性的推理存在問題。18.舉例:分層系統常用于通信協議。最著名的分層風格的體系結構的例子是OSI-ISO的分層通信 模型。其他的典型例子還有:操作系統、數據庫系統、計算機網絡協議組,等等分層系統的優(yōu)點:a.支持

10、基于抽象程度遞增的系統設計,使設計者可以把一個復雜系統按遞增 的步驟進行分解;b.支持功能增強,因為每一層至多和相鄰的上下層交互,因此功能的改變最多 影響相鄰的上下層;c.支持重用。只要提供的服務接口定義不變,同一層的不同實現可以交換使 用。這樣,就可以定義一組標準的接口,而允許各種不同的實現方法。分層系統的缺點:a.并不是每個系統都可以很容易地劃分為分層的模式,甚至即使一個系統的邏輯 結構是層次化的,出于對系統性能的考慮,系統設計師不得不把一些低級或高級的功能綜合起 來;b.很難找到一個合適的、正確的層次抽象方法。19.黑板系統組成部分(P54、圖3-4)知識源,黑板數據結構,控制46.46

11、.20.C/S體系結構有三個主要組成部分:數據庫服務器、客戶應用程序和網絡。集中式計算技術的缺點:隨著用戶的增多,都宿主機能力的要求很高,而且開發(fā)者必須為每個新 的應用重新設計同樣的數據管理構件。服務器主要任務:(1)數據庫安全性的要求;(2)數據庫訪問并發(fā)性的控制;(3)數據庫 前端的客戶應用程序的全局數據完整性規(guī)則;(4)數據庫的備份與恢復。客戶應用程序主要任務:(1)提供用戶與數據庫交互的界面;(2)向數據庫服務器提交用戶 請求并接收來自數據庫服務器的信息;(3)利用客戶應用程序對存在于客戶端的數據執(zhí)行應用 邏輯要求。優(yōu)點:a.C/S體系結構具有強大的數據操作和事務處理能力,模型思想簡單

12、,易于人們理解和接 受。b.系統的客戶應用程序和服務器構件分別運行在不同的計算機上,系統中每臺服務器都可 以適合各構件的要求,這對于硬件和軟件的變化顯示出極大的適應性和靈活性,而且易于對系統 進行擴充和縮小。C.在C/S體系結構中,系統中的功能構件充分隔離,客戶應用程序的開發(fā)集中 于數據的顯示和分析,而數據庫服務器的開發(fā)則集中于數據的管理,不必在每一個新的應用程序 中都要對一個DBMS進行編碼。將大的應用處理任務分布到許多通過網絡連接的低成本計算機上, 以節(jié)約大量費用。缺點(說出34個):開發(fā)成本較高;客戶端程序設計復雜;信息內容和形式單一;用戶界面風格不一,使用繁雜,不利于推廣使用;軟件移植

13、困難軟件維護和升級困難; 新技術不能輕易應用21.三層C/S風格(P57),與二層C/S體系結構的不同及優(yōu)點:三層體系結構中,客戶(請求信息)、 程序(處理請求)和數據(被操作)被物理地隔離。三層結構是個更靈活的體系結構,它把顯示 邏輯從業(yè)務邏輯中分離出來,這就意味著業(yè)務代碼是獨立的,可以不關心怎樣顯示和在哪里顯示。 業(yè)務邏輯層現在處于中間層,不需要關心由哪種類型的客戶來顯示數據,也可以與后端系統保持 相對獨立性,有利于系統擴展。三層結構具有更好的移植性,可以跨不同類型的平臺工作,允許用戶請求在多個服務器間進行負 載平衡。三層結構中安全性也更易于實現,因為應用程序已經同客戶隔離。應用程序服務器

14、是三 層/多層體系結構的組成部分,應用程序服務器位于中間層。優(yōu)點:允許合理地劃分三層結構的功能,使之在邏輯上保持相對獨立性,能提高系統和軟件 的可維護性和可擴展性。允許更靈活有效地選用相應的平臺和硬件系統,使之在處理負荷能力 上與處理特性上分別適應于結構清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升 級性和開放性,應用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言。利用功能層 有效地隔離開表示層與數據層,未授權的用戶難以繞過功能層而利用數據庫工具或黑客手段去非 法地訪問數據層,為嚴格的安全管理奠定了堅實的基礎。表示層:是應用的用戶接口部分,擔負著用戶與應用間的對話功能。功能層:相當

15、于應用的本體,將具體的業(yè)務處理邏輯編入程序中。數據層:即數據庫管理系統,負責管理對數據庫數據的讀寫。中間件的概念:是一個用API定義的軟件層,是具有強大通信能力和良好可擴展性的分布式軟件 管理框架。22.瀏覽器/服務器風格(P65),模式結構示意圖(圖314):與c/s比較其優(yōu)點:基于B/S體系結構的軟件,系統安裝、修改和維護全在服務器端解決。 用戶在使用系統時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了 “零客戶端”的功能, 很容易在運行時自動升級 B/S體系結構還提供了異種機、異種網、異種應用服務的聯機、聯 網、統一服務的最現實的開放性基礎。23.公共對象請求代理結構CORBA: C

16、ORBA是OMG制定的一個工業(yè)標準,CORBA的主要目標是 提供一種機制,使得對象可以透明地發(fā)出請求和獲得應答,從而建立起一個異質的分布式應用環(huán) 境。接口定義語言:CORBA利用IDL統一地描述服務器對象(向調用者提供服務的對象)的接口。IDL 本身也是面向對象的。它雖然不是編程語言,但它為客戶對象(發(fā)出服務請求的對象)提供了語 言的獨立性,因為客戶對象只需了解服務器對象的IDL接口,不必知道其編程語言。IDL語言 是CORBA規(guī)范中定義的一種中性語言,它用來描述對象的接口,而不涉及對象的具體實現。在CORBA中定義了 IDL語言到C、C+、SmallTalk和Java語言的映射。調用機制:C

17、ORBA的動態(tài)調用接口提供了一些標準函數以供客戶對象動態(tài)創(chuàng)建請求、動態(tài)構造請 求參數??蛻魧ο髮討B(tài)調用接口與接口池配合使用可實現服務器對象接口的動態(tài)搜索、請求及 參數的動態(tài)構造與動態(tài)發(fā)送。當然,只要客戶對象在編譯之前能夠確定服務器對象的IDL接口, CORBA也允許客戶對象使用靜態(tài)調用機制。顯然,靜態(tài)機制的靈活性雖不及動態(tài)機制,但執(zhí)行效 率卻勝過動態(tài)機制。24.異構結構風格實例(P80-82)25.不同Web服務描述的共同特征:應用的分布式、應用到應用的交互、平臺無關性。本書中我們認為Web服務是一個可以用URL來標志的軟件系統,它采用XML格式的信息來定義 和描述對外的公共接口和綁定。We

18、b服務可被其他軟件系統發(fā)現,并通過使用基于XML的消息, 借助Internet協議,依照web服務中定義描述的方式實現交互。26.Web服務的特點:使用標準協議規(guī)范、使用協約的規(guī)范性、高度集成能力、完好的封裝性、 松散耦合Web服務結構模型(圖6-1,每部分作用、相互關系):服務提供者提供服務,并進行注冊以使服務可用。服務代理起中介作用,是服務的注冊場所,充 當服務提供者和服務請求者之間的媒介。服務請求者可在應用程序中通過向服務代理請求服務,72.調用所需服務。72.調用所需服務。73.服務開發(fā)生命周期:構建、部署、運行、管理。74. Web服務棧(圖6-2):75.發(fā)現服務75.發(fā)現服務UDDI,DISO)描述服容VTSEL KML Schema消息格式層SOAP蝙碼格式層XML傳輸協諼層HTTP, TCP/IP, SHP 等用例圖:用于顯示若干角色以及這些角色與系統提供的用例

溫馨提示

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

評論

0/150

提交評論