軟件體系結構知識點完整_第1頁
軟件體系結構知識點完整_第2頁
軟件體系結構知識點完整_第3頁
軟件體系結構知識點完整_第4頁
軟件體系結構知識點完整_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、構件是核心和基礎,重用是必需的手段。2、軟件重用是指在兩次或多次不同的軟件軟件開發(fā)過程中重復使用相同或相近軟件元素的過程。3、軟件元素包括程序代碼、設計文檔、設計過程、需求分析文檔甚至領域知識。4、把可重用的元素稱作軟構件,簡稱為軟構件。5、可重用軟件元素越大,就說重用的粒度越大。6、構件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng);結構上,它是語義描述、通信接口和代碼實現(xiàn)的復合體。7、面向對象技術達到類級重用,以類為封裝的單位。8、構件模型是對構件本質特征的抽象描述。三個主要流派,分別是OMG(對象管理組織)的CORBA(通用對象請求代理結構卜Sun

2、的EJB和Microsoft的DOM(分布式構件對象模型)。9、獲取構件的四個途徑:(1)從現(xiàn)有構件中獲得符合要求的構件,直接使用或作適應性修改,得到可重用構件。(2)通過遺留工程,將具有潛在重用價值的構件提取出來,得到可重用構件。(3)從市場上購買現(xiàn)成的商業(yè)構件,即COTS構件。(4)開發(fā)符合要求的構件。10、構件分類方法三大類:關鍵字分類、刻面分類法、超文本組織方法11、構件檢索方法:基于關鍵字的檢索、刻面檢索法、超文本檢索法和其他檢索方法。12、減少構件修改的工作量,要求工作人員盡量使構件的功能、行為和接口設計更為抽象畫、通用化和參數(shù)化。13、構件組裝技術:基于功能的組裝技術、基于數(shù)據(jù)的

3、組裝技術和面向對象的組裝技術。14、軟件體系結構的定義:軟件體系結構為軟件系統(tǒng)提供了一個結構、行為和屬性的高級抽象,由構成系統(tǒng)的元素的描述、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。軟件體系結構不僅指定了系統(tǒng)的組織結構和拓撲結構,并且顯示了系統(tǒng)需求和構成系統(tǒng)的元素之間的對應關系,提供了一些設計決策的基本原理。軟件體系結構的意義:(1)體系結構是風險承擔者進行交流的手段;(2)體系結構是早期設計決策的體現(xiàn)-軟件體系結構明確了對系統(tǒng)實現(xiàn)的約束條件軟件體系結構決定了開發(fā)和維護組織的組織結構軟件體系結構制約著系統(tǒng)的質量屬性通過研究軟件體系結構可能預測軟件的質量軟件體系結構使推理和控

4、制更改更簡單軟件體系結構有助于循序漸進的原型設計軟件體系結構可以作為培訓的基礎;(3)軟件體系結構是可傳遞和可重用的模型。軟件體系結構發(fā)展的四個階段:(1)無體系結構設計階段。以匯編語言進行小規(guī)模應用程序開發(fā)為特征。(2)萌芽階段。出現(xiàn)了程序結構設計主題,以控制流圖和數(shù)據(jù)流圖構成軟件結構為特征。(3)初期階段。出現(xiàn)了從不同側面描述系統(tǒng)的結構模型,以UML為典型代表。(4)高級階段。以描述系統(tǒng)的高層抽象結構為中心,不關心具體的建模細節(jié),劃分了體系結構與傳統(tǒng)軟件結構的界限,該階段以Kruchten提出的“4+1”模型為標志。通用體系結構風格分類數(shù)據(jù)流風格:批處理序列、管道與過濾器。調(diào)用/返回風格:

5、主程序與子程序、面向對象風格、層次結構。獨立構件風格:進程通信、事件系統(tǒng)。虛擬機風格:解釋器、基于規(guī)則的系統(tǒng)。倉庫風格:黑板系統(tǒng)、傳統(tǒng)型數(shù)據(jù)庫。管道與過濾器特點:(1)使得軟構件具有良好的內(nèi)聚、耦合的特點。(2)允許設計師將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成。(3)支持軟件重用。(4)系統(tǒng)維護和增強系統(tǒng)性能簡單。(5)允許對一些如吞吐量、死鎖等屬性的分析。(6)支持并行執(zhí)行。缺點:(1)通常導致進程成為批處理的結構。(2)不適合處理交互的應用。(3)系統(tǒng)性能下降,并增加了編寫過濾器的復雜性。結構示意圖:面向對象系統(tǒng)優(yōu)點:(1)因為對象對其他對象隱藏它的表示,所以可以改變一

6、個對象的表示,而不影響其它的對象。(2)設計師可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合。缺點:(1)為了使一個對象和另一個對象通過過程調(diào)用等進行交互,必須知道對象的標識。只要一個對象的標識改變了,就必須修改所有其他明確調(diào)用它的對象。(2)必須修改所有顯示調(diào)用它的其他對象,并消除由此帶來的一些副作用。基于事件的隱式調(diào)用思想:構件不直接調(diào)用一個過程,而是出發(fā)或廣播一個或多個事件。應用系統(tǒng)的例子:(1)在編程環(huán)境中用于集成各種工具,在數(shù)據(jù)庫管理系統(tǒng)中確保數(shù)據(jù)的一致性約束,在用戶界面系統(tǒng)中管理數(shù)據(jù),以及在編輯器中支持語法檢查。(2)某系統(tǒng)中,編輯器和變量監(jiān)視器可以登記相應Debugge

7、r的斷點事件。當Debugger在斷點處停下時,它聲明該事件,由系統(tǒng)自動調(diào)用處理程序,如編輯程序可以卷屏到斷點,變量監(jiān)視器刷新變量數(shù)值。優(yōu)點:1、為軟件重用提供了強大的支持。2、為改進系統(tǒng)帶來了方便。缺點:(1)構件放棄了對系統(tǒng)計算的控制。(2)數(shù)據(jù)交換的問題。(3)既然過程的語義必須依賴于被觸發(fā)事件的上下文約束,關于正確性的推理存在問題。分層系統(tǒng)舉例:層次系統(tǒng)最廣泛的應用是分層通信協(xié)議。在這一應用領域中,每一層提供一個抽象的功能,作為上層通信的基礎。較低的層次定義低層的交互,最低層通常只定義硬件物理連接。優(yōu)點:1、支持基于抽象程度遞增的系統(tǒng)設計,使設計者可以把一個復雜的系統(tǒng)按照遞增的順序分解

8、。2、支持功能增強,因為每一層至多與相鄰的上下層進行交互,因此功能改變最多影響相鄰的上下層。3、支持重用。只要提供的服務接口定義不變,同一層的不同實現(xiàn)可以交換使用。缺點:(1)并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏輯結構是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設計師不得不把一些低級或高級的功能綜合起來。(2)很難找到一個合適的、正確的層次抽象方法。倉庫系統(tǒng)傳統(tǒng)型數(shù)據(jù)庫:輸入流中某類時間觸發(fā)進程執(zhí)行的選擇。黑板系統(tǒng):中央數(shù)據(jù)結構的當前狀態(tài)觸發(fā)進程執(zhí)行的選擇。組成部分:(1)知識源(2)黑板數(shù)據(jù)結構(3)控制客戶/服務器風格優(yōu)點:(1)具有強大的數(shù)據(jù)操作和事務處理能力,模

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

10、難;(6)軟件維護和升級困難;(7)新技術不能輕易應用。集中式計算技術的缺點:(1)隨著系統(tǒng)規(guī)模的擴大和功能的提高,集中式系統(tǒng)的復雜性迅速增長,給管理、維護帶來困難;(2)對組織變革和技術發(fā)展的適應性差,應變能力弱;(3)不利于發(fā)揮用戶在系統(tǒng)開發(fā)、維護、管理方面的積極性與主動精神;(4)系統(tǒng)比較脆弱。主機出現(xiàn)故障時可能使整個系統(tǒng)停止工作。服務器主要任務:(1)數(shù)據(jù)庫安全性的要求;(2)數(shù)據(jù)庫訪問并發(fā)性的控制;(3)數(shù)據(jù)庫前端的客戶應用程序的全局數(shù)據(jù)完整性規(guī)則;(4)數(shù)據(jù)庫的備份與恢復??蛻魬贸绦蛑饕蝿眨?1)提供用戶與數(shù)據(jù)庫交互的界面;(2)向數(shù)據(jù)庫服務器提交用戶請求并接收來自數(shù)據(jù)庫服務器

11、的信息;(3)利用客戶應用程序對存在于客戶端的數(shù)據(jù)執(zhí)行應用邏輯要求。三層C/S風格與二層C/S體系結構的不同:優(yōu)點:1、允許合理地劃分三層結構的功能,使之在邏輯上保持相對獨立性,從而使整個系統(tǒng)的邏輯結構更為清晰,能提高系統(tǒng)和軟件的可維護性和可擴展性。2、允許更靈活有效地選用相應的平臺和硬件系統(tǒng),使之在處理負何能力上與處理特性上分別適應于結構清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升級性和開放性。3、應用的各層可以并行開發(fā),各層也可以選擇各自最適合的開發(fā)語言,使之高效并行地開發(fā),達到較高的性能價格比;對每一層的處理邏輯的開發(fā)和維護也會更容易些。4、允許充分利用功能層有效地隔離開表示

12、層與數(shù)據(jù)層,未授權的用戶難以繞過功能層而利用數(shù)據(jù)庫工具或黑客手段去非法地訪問數(shù)據(jù)層,為嚴格的安全管理奠定了堅實的基礎;整個系統(tǒng)的管理層次也更加合理和可控制。表示層、功能層、數(shù)據(jù)層主要功能三層風格不同物理結構比較表示層:表示層是應用的用戶接口部分,它擔負著用戶與應用間的對話功能功能層:功能層相當于應用的本體,它是將具體的業(yè)務處理邏輯編入程序中數(shù)據(jù)層:數(shù)據(jù)層就是數(shù)據(jù)庫管理系統(tǒng),負責管理對數(shù)據(jù)庫數(shù)據(jù)的讀寫服務器II功能層敏據(jù)鼠功能以襄示層客戶機(1)將數(shù)據(jù)展和功能層放在同臺服務器t將故據(jù)層和功能層放在不同的服務器上功能層表示層0)將功能層放在客戶機上中間件概念:是一個用API定義的軟件層,是具有強大

13、通信能力和良好可擴展性的分布式軟件管理框架。功能:在客戶機和服務器或者服務器和服務器之間傳送數(shù)據(jù),實現(xiàn)客戶機群和服務器群之間的通信。瀏覽器/服務器風格模式結構示意圖:7與c/s比較其優(yōu)點:1、基于B/S體系結構的軟件,系統(tǒng)安裝、修改和維護全在服務器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了“零客戶端”的功能,很容易在運行時自動升級。2、B/S體系結構還提供了異種機、異種網(wǎng)、異種應用服務的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務的最現(xiàn)實的開放性基礎。缺點:1、B/S體系結構缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。2、B/S體系結構的系統(tǒng)擴展能力差,安全性難以控制。3、

14、采用B/S體系結構的應用系統(tǒng),在數(shù)據(jù)查詢等響應速度上,要遠遠地高于C/S體系結構。4、B/S體系結構的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性強,有利于在線事務處理(OLTP)應用。公共對象請求代理結構CORBA:是由OMG制定的一個工業(yè)標準,其主要目標是提供一種機制,使得對象可以透明地發(fā)出請求和獲得應答,從而建立起一個異質的分布式應用環(huán)境接口定義語言:CORBA的XML是一種說明性語言,描述面向對象系統(tǒng)開發(fā)所遵循的接口與實現(xiàn)相分離的基本原則。調(diào)用機制:把IDL說明編譯成面向對象程序設計語言的實代碼后,客戶可以調(diào)用已知對象的操作。在某些應用中,用戶并不了解應用接口編譯信息,但也要求調(diào)用對象的

15、操作,這時就要動態(tài)調(diào)用接口來調(diào)用用戶的操作了。異構結構風格不同的體系結構有不同的處理能力,面對具體問題,混合軟件體系結構處理問題能夠結合各自的優(yōu)點,這種體系結構被稱為異構結構。SOA定義:是一種在計算環(huán)境中設計、開發(fā)、部署和管理離散邏輯單元(服務)模型的方法。SOA建立在SML等新技術的基礎上,通過使用基于SML的語言來描述接口,服務已經(jīng)轉到更動態(tài)且更靈活的接口系統(tǒng)中,CORBA中的XML無法與之相比。SOA的特征:松散耦合、粗粒度服務、標準化接口面向服務的分析與設計三個主要抽象級別:操作、服務、業(yè)務流程SOAD與OOAD的關系:(1)綜合了面向對象的分子與設計(OOAD)、企業(yè)體系結構(EA

16、)、和業(yè)務流程建模(BPM)中的適當原理,將這些規(guī)則中的原理與許多獨特的新原理組合起來,提出了面向服務的分析與設計(SOAD(2) OOAD從基礎設計層為SOAD提供了理論支撐。(3) OOAD現(xiàn)有的開發(fā)流程和表示法僅涵蓋支持SOA范式所需要的部分要求。SOA服務棧:發(fā)現(xiàn)服務層:SOAP、REST描述服務層:WSDL、XMLSchema消息格式層:UDDI、DISCO編碼格式層:XML傳輸協(xié)議層:HTTP、TCP/IP、SMTP第9章RIA”富”的含義:1.豐富的數(shù)據(jù)模型:意味著客戶端的用戶界面能表現(xiàn)和應對更多更復雜的數(shù)據(jù)模式,這樣才能處理客戶端的運算以及異步發(fā)送,接收數(shù)據(jù)。2.豐富的用戶界面

17、:RIA能提供更多改良界面,HTML只能為用戶的界面控制提供有限的功能,RIA允許一些富有創(chuàng)造性的界面控制,巧妙地與數(shù)據(jù)模式相合。RIA客戶端開發(fā)技術:I.MacromediaFlash/Flex2.AJAX3.Laszlo4.Avalon5.JavaEE6.XUL7.Bindows8.OracleFormsAJAX技術:是由幾種蓬勃發(fā)展的技術以新的方式組合而成的,包含基于XHTML和CSS標準的表示;使用DOM進行動態(tài)顯示和交互;使用XMLHttpRequest與服務器進行異步通信;使用JavaScript綁定一切。1.XML2.XHTML3.JavaScript4.XMLHttpReque

18、st5.DOM6.XSLT7.CSS借助于AJAX,可以在用戶單擊按鈕時,使用JavaScript和XHTML立即更新用戶界面,并向服務器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當請求返回時,就可以使用JavaScript和CSS來相應地更新用戶界面,而不是刷新整個頁面。更重要的是,用戶甚至不知道瀏覽器正在與服務器通信,Web站點看起來是即時響應的。第12章設計模式是前人經(jīng)驗的總結,它使人們可以方便地復用成功的設計和體系結構。簡單的理解,是一些設計面向對象的軟件開發(fā)的經(jīng)驗總結。一個設計模式事實上是系統(tǒng)地命名,解釋和評價某一個重要的可重現(xiàn)的面向對象的設計方案。受到普遍認可的設計模式定義:是由Dir

19、kRiehle和HeinzZullighoven于1996年在其論文UnderstandingandUsingPatternsinSoftwareDevelopment中給出的;”模式是指從某個具體的形式得到的一種抽象,在特殊的非任意性的環(huán)境中,該形式不斷地重復出現(xiàn)MVC設計模式:把交互系統(tǒng)的組成分解成模型Model,視圖View,控制Controller三種構件,是一種交互界面的結構組織模型。設計模型的基本成分:1.模式名稱:通常用來描述一個設計問題,它的解法和效果,由一到兩個詞組成。模式名稱的產(chǎn)生使人們在更高的抽象層次上進行設計并交流設計思想。2 .問題:告訴人們什么時候要使用設計模式,解

20、釋問題及其背景。設計模式用術語”強制條件”來說明問題要解決時應該考慮的各個方面:(1)解決方案必須滿足的需求(2)必須考慮的約束(3)解決方案必須具有期望的特性。如MVC模式指出了兩個強制條件:必須易于修改用戶界面,但軟件的功能核心不能被修改所影響。3 .解決方案:解決方案描述設計的基本要素:它們的關系,各自的任務以及相互之間的合作。解決方案包括兩個方面:第一,每個模式規(guī)定了一個特定的結構,即元素的一個空間配置。第二,每個模式規(guī)定了運行期間的行為。4 .效果:效果描述應用設計模式后的結果和權衡。5.設計模式的分類:1,創(chuàng)建型模式(1)工廠方法模式(2)抽象工廠模式(3)原型模式(4)單例模式(

21、5)建造者模式2,結構式模式(1)適配器模式(2)橋接模式(3)組合模式(4)裝飾模式(5)外觀模式(6)亨元模式(7)代理模式3,行為模式(1)職責鏈模式(2)命令模式(3)解釋器模式(4)迭代器模式(5)中介者模式(6)備忘錄模式(7)觀察者模式(8)狀態(tài)模式(9)策略模式(10)模板方法模式(11)訪問者模式多項選擇題1、青鳥構件庫采用B.刻面一分類方法對構件進行分類。這些刻面包括:使用環(huán)境,應用領域,功能,層次,表示方法,2、軟件體系結構是整個系統(tǒng)的骨架,在軟件開發(fā)中起著非常重要的作用。下面關于關于軟件體系結構作用的描述正確的有ABCD。A.體系結構是風險承擔者進行交流的手段B.軟件體

22、系結構決定了開發(fā)和維護組織的組織結構C.通過研究軟件體系結構可能預測軟件的質量D.軟件體系結構有助于循序漸進的原型設計B3、客戶/服務器風格的應用程序中客戶應用程序的主要任務不包括:_B.數(shù)據(jù)庫的備份與恢復。A4從概念上講,SOA有三個主要的抽象級別,分別是操作、服務和業(yè)務流程。其中,SOA_操住可以直接與面向對象的方法相比,它們都有特定的結構化接口,并且返回結構化的響應,完全同方法一樣。CD5、下列關于設計模式的敘述正確的有。C.模式不僅描述模塊,它給出更深層的系統(tǒng)結構和機理D.模式通過記錄得到解B6、根據(jù)目的和用途的不同,設計模式可分為創(chuàng)建型模式、結構型模式和行為型模式。下列模式中不屬于創(chuàng)

23、建型模式的是B.橋接模式。判斷題(F)傳統(tǒng)型數(shù)據(jù)庫是一種黑板系統(tǒng),由中央數(shù)據(jù)庫的當前狀態(tài)觸發(fā)進程執(zhí)行的選擇.(T)面向對象風格屬于通用體系結構風格分類中的調(diào)用/返回風格.填空題1、在構件重用的過程中,為了減少構件修改的工作量,要求開發(fā)人員盡量使構件的功能、行為和接口設計更為抽象化、通用化和參數(shù)化。這樣構件的用戶即可通過對實參的選取來調(diào)整構件的功能或行為。?2、網(wǎng)絡體系結構是一個典型的分層系統(tǒng),這種風格的體系結構中,連接件通過算法(決定層間如何交互的協(xié)議)來定義。問答題1、簡述構件分類方法中關鍵字分類法的基本思想及其相應檢索方法。P7P10根據(jù)領域分析的結果將應用領域的概念按照從抽象到具體的順序

24、逐次分解為樹狀或有向無回路圖結構。每個概念用一個描述性的關鍵字表示。不可分解的原子級關鍵字包含隸屬于它的某些構件。基于關鍵字的檢索:系統(tǒng)在圖形用戶界面上將構件庫的關鍵字樹狀結構直觀地展示給用戶;用戶通過對樹狀結構的逐級瀏覽尋找需要的關鍵字并提取相應地構件。當然,用戶也可以直接給出關鍵字,由系統(tǒng)自動給出合適的候選構件清單。優(yōu)點:簡單,易于實現(xiàn),但在某些場合沒有應用價值,因為用戶往往無法用構件庫中已有的關鍵字描述期望的構功能或行為,對庫的瀏覽也容易使用戶迷失方向。2、簡述基于事件系統(tǒng)的基本思想。P52構建不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件。系統(tǒng)中的其他構件中的過程在一個或多個事件中注冊,當一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程,這樣,一個事件的觸發(fā)就導致了另一模塊中的過程的調(diào)用。3、與兩層C/S相比,三層C/S結構主要優(yōu)點是什么?(1)允許合理地劃分三層結構的功能,使之在邏輯上保持相對獨立性,從而使整個系統(tǒng)的邏輯結構更為清晰,能提高系統(tǒng)和軟件的可維護性和可擴展性。(2)允許更靈活有效地選用相應的平臺和硬件系統(tǒng),使之在處理負荷能力上與處理特性上分別適應于結構清晰的三層;并且這些平臺和各個組成部分可以具有良好的可升級性和開

溫馨提示

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

評論

0/150

提交評論