




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、構(gòu)件是核心和基礎(chǔ),重用是必需的手段。2、軟件重用是指在兩次或多次不同的軟件軟件開(kāi)發(fā)過(guò)程中重復(fù)使用相同或相近軟件元素的過(guò)程。3、軟件元素包括程序代碼、設(shè)計(jì)文檔、設(shè)計(jì)過(guò)程、需求分析文檔甚至領(lǐng)域知識(shí)。4、把可重用的元素稱作軟構(gòu)件,簡(jiǎn)稱為軟構(gòu)件。5、可重用軟件元素越大,就說(shuō)重用的粒度越大。6、構(gòu)件是指語(yǔ)義完整、語(yǔ)法正確和有可重用價(jià)值的單位軟件,是軟件重用過(guò)程中可以明確辨識(shí)的系統(tǒng);結(jié)構(gòu)上,它是語(yǔ)義描述、通信接口和代碼實(shí)現(xiàn)的復(fù)合體。7、面向?qū)ο蠹夹g(shù)達(dá)到類級(jí)重用,以類為封裝的單位。8、構(gòu)件模型是對(duì)構(gòu)件本質(zhì)特征的抽象描述。三個(gè)主要流派,分別是OMG(對(duì)象管理組織)的CORBA(通用對(duì)象請(qǐng)求代理結(jié)構(gòu)卜Sun
2、的EJB和Microsoft的DOM(分布式構(gòu)件對(duì)象模型)。9、獲取構(gòu)件的四個(gè)途徑:(1)從現(xiàn)有構(gòu)件中獲得符合要求的構(gòu)件,直接使用或作適應(yīng)性修改,得到可重用構(gòu)件。(2)通過(guò)遺留工程,將具有潛在重用價(jià)值的構(gòu)件提取出來(lái),得到可重用構(gòu)件。(3)從市場(chǎng)上購(gòu)買現(xiàn)成的商業(yè)構(gòu)件,即COTS構(gòu)件。(4)開(kāi)發(fā)符合要求的構(gòu)件。10、構(gòu)件分類方法三大類:關(guān)鍵字分類、刻面分類法、超文本組織方法11、構(gòu)件檢索方法:基于關(guān)鍵字的檢索、刻面檢索法、超文本檢索法和其他檢索方法。12、減少構(gòu)件修改的工作量,要求工作人員盡量使構(gòu)件的功能、行為和接口設(shè)計(jì)更為抽象畫、通用化和參數(shù)化。13、構(gòu)件組裝技術(shù):基于功能的組裝技術(shù)、基于數(shù)據(jù)的
3、組裝技術(shù)和面向?qū)ο蟮慕M裝技術(shù)。14、軟件體系結(jié)構(gòu)的定義:軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級(jí)抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。軟件體系結(jié)構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對(duì)應(yīng)關(guān)系,提供了一些設(shè)計(jì)決策的基本原理。軟件體系結(jié)構(gòu)的意義:(1)體系結(jié)構(gòu)是風(fēng)險(xiǎn)承擔(dān)者進(jìn)行交流的手段;(2)體系結(jié)構(gòu)是早期設(shè)計(jì)決策的體現(xiàn)-軟件體系結(jié)構(gòu)明確了對(duì)系統(tǒng)實(shí)現(xiàn)的約束條件軟件體系結(jié)構(gòu)決定了開(kāi)發(fā)和維護(hù)組織的組織結(jié)構(gòu)軟件體系結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性通過(guò)研究軟件體系結(jié)構(gòu)可能預(yù)測(cè)軟件的質(zhì)量軟件體系結(jié)構(gòu)使推理和控
4、制更改更簡(jiǎn)單軟件體系結(jié)構(gòu)有助于循序漸進(jìn)的原型設(shè)計(jì)軟件體系結(jié)構(gòu)可以作為培訓(xùn)的基礎(chǔ);(3)軟件體系結(jié)構(gòu)是可傳遞和可重用的模型。軟件體系結(jié)構(gòu)發(fā)展的四個(gè)階段:(1)無(wú)體系結(jié)構(gòu)設(shè)計(jì)階段。以匯編語(yǔ)言進(jìn)行小規(guī)模應(yīng)用程序開(kāi)發(fā)為特征。(2)萌芽階段。出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征。(3)初期階段。出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以UML為典型代表。(4)高級(jí)階段。以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)與傳統(tǒng)軟件結(jié)構(gòu)的界限,該階段以Kruchten提出的“4+1”模型為標(biāo)志。通用體系結(jié)構(gòu)風(fēng)格分類數(shù)據(jù)流風(fēng)格:批處理序列、管道與過(guò)濾器。調(diào)用/返回風(fēng)格:
5、主程序與子程序、面向?qū)ο箫L(fēng)格、層次結(jié)構(gòu)。獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通信、事件系統(tǒng)。虛擬機(jī)風(fēng)格:解釋器、基于規(guī)則的系統(tǒng)。倉(cāng)庫(kù)風(fēng)格:黑板系統(tǒng)、傳統(tǒng)型數(shù)據(jù)庫(kù)。管道與過(guò)濾器特點(diǎn):(1)使得軟構(gòu)件具有良好的內(nèi)聚、耦合的特點(diǎn)。(2)允許設(shè)計(jì)師將整個(gè)系統(tǒng)的輸入/輸出行為看成是多個(gè)過(guò)濾器的行為的簡(jiǎn)單合成。(3)支持軟件重用。(4)系統(tǒng)維護(hù)和增強(qiáng)系統(tǒng)性能簡(jiǎn)單。(5)允許對(duì)一些如吞吐量、死鎖等屬性的分析。(6)支持并行執(zhí)行。缺點(diǎn):(1)通常導(dǎo)致進(jìn)程成為批處理的結(jié)構(gòu)。(2)不適合處理交互的應(yīng)用。(3)系統(tǒng)性能下降,并增加了編寫過(guò)濾器的復(fù)雜性。結(jié)構(gòu)示意圖:面向?qū)ο笙到y(tǒng)優(yōu)點(diǎn):(1)因?yàn)閷?duì)象對(duì)其他對(duì)象隱藏它的表示,所以可以改變一
6、個(gè)對(duì)象的表示,而不影響其它的對(duì)象。(2)設(shè)計(jì)師可將一些數(shù)據(jù)存取操作的問(wèn)題分解成一些交互的代理程序的集合。缺點(diǎn):(1)為了使一個(gè)對(duì)象和另一個(gè)對(duì)象通過(guò)過(guò)程調(diào)用等進(jìn)行交互,必須知道對(duì)象的標(biāo)識(shí)。只要一個(gè)對(duì)象的標(biāo)識(shí)改變了,就必須修改所有其他明確調(diào)用它的對(duì)象。(2)必須修改所有顯示調(diào)用它的其他對(duì)象,并消除由此帶來(lái)的一些副作用?;谑录碾[式調(diào)用思想:構(gòu)件不直接調(diào)用一個(gè)過(guò)程,而是出發(fā)或廣播一個(gè)或多個(gè)事件。應(yīng)用系統(tǒng)的例子:(1)在編程環(huán)境中用于集成各種工具,在數(shù)據(jù)庫(kù)管理系統(tǒng)中確保數(shù)據(jù)的一致性約束,在用戶界面系統(tǒng)中管理數(shù)據(jù),以及在編輯器中支持語(yǔ)法檢查。(2)某系統(tǒng)中,編輯器和變量監(jiān)視器可以登記相應(yīng)Debugge
7、r的斷點(diǎn)事件。當(dāng)Debugger在斷點(diǎn)處停下時(shí),它聲明該事件,由系統(tǒng)自動(dòng)調(diào)用處理程序,如編輯程序可以卷屏到斷點(diǎn),變量監(jiān)視器刷新變量數(shù)值。優(yōu)點(diǎn):1、為軟件重用提供了強(qiáng)大的支持。2、為改進(jìn)系統(tǒng)帶來(lái)了方便。缺點(diǎn):(1)構(gòu)件放棄了對(duì)系統(tǒng)計(jì)算的控制。(2)數(shù)據(jù)交換的問(wèn)題。(3)既然過(guò)程的語(yǔ)義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問(wèn)題。分層系統(tǒng)舉例:層次系統(tǒng)最廣泛的應(yīng)用是分層通信協(xié)議。在這一應(yīng)用領(lǐng)域中,每一層提供一個(gè)抽象的功能,作為上層通信的基礎(chǔ)。較低的層次定義低層的交互,最低層通常只定義硬件物理連接。優(yōu)點(diǎn):1、支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì),使設(shè)計(jì)者可以把一個(gè)復(fù)雜的系統(tǒng)按照遞增的順序分解
8、。2、支持功能增強(qiáng),因?yàn)槊恳粚又炼嗯c相鄰的上下層進(jìn)行交互,因此功能改變最多影響相鄰的上下層。3、支持重用。只要提供的服務(wù)接口定義不變,同一層的不同實(shí)現(xiàn)可以交換使用。缺點(diǎn):(1)并不是每個(gè)系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個(gè)系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對(duì)系統(tǒng)性能的考慮,系統(tǒng)設(shè)計(jì)師不得不把一些低級(jí)或高級(jí)的功能綜合起來(lái)。(2)很難找到一個(gè)合適的、正確的層次抽象方法。倉(cāng)庫(kù)系統(tǒng)傳統(tǒng)型數(shù)據(jù)庫(kù):輸入流中某類時(shí)間觸發(fā)進(jìn)程執(zhí)行的選擇。黑板系統(tǒng):中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇。組成部分:(1)知識(shí)源(2)黑板數(shù)據(jù)結(jié)構(gòu)(3)控制客戶/服務(wù)器風(fēng)格優(yōu)點(diǎn):(1)具有強(qiáng)大的數(shù)據(jù)操作和事務(wù)處理能力,模
9、型思想簡(jiǎn)單,易于人們理解和接受。(2)系統(tǒng)的客戶應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計(jì)算機(jī)上,系統(tǒng)中每臺(tái)服務(wù)器都可以適合各構(gòu)件的要求,這對(duì)于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,而且易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充和縮小。(3)系統(tǒng)中的功能構(gòu)件充分隔離,客戶應(yīng)用程序的開(kāi)發(fā)集中于數(shù)據(jù)的顯示和分析,而數(shù)據(jù)庫(kù)服務(wù)器的開(kāi)發(fā)則集中于數(shù)據(jù)的管理,不必在每一個(gè)新的應(yīng)用程序中都要對(duì)一個(gè)DBMS進(jìn)行編碼。將大的應(yīng)用處理任務(wù)分布到許多通過(guò)網(wǎng)絡(luò)連接的低成本計(jì)算機(jī)上,以節(jié)約大量費(fèi)用。缺點(diǎn):(1)開(kāi)發(fā)成本較高;(2)客戶端程序設(shè)計(jì)復(fù)雜;(3)信息內(nèi)容和形式單一;(4)用戶界面風(fēng)格不一,使用繁雜,不利于推廣使用;(5)軟件移植困
10、難;(6)軟件維護(hù)和升級(jí)困難;(7)新技術(shù)不能輕易應(yīng)用。集中式計(jì)算技術(shù)的缺點(diǎn):(1)隨著系統(tǒng)規(guī)模的擴(kuò)大和功能的提高,集中式系統(tǒng)的復(fù)雜性迅速增長(zhǎng),給管理、維護(hù)帶來(lái)困難;(2)對(duì)組織變革和技術(shù)發(fā)展的適應(yīng)性差,應(yīng)變能力弱;(3)不利于發(fā)揮用戶在系統(tǒng)開(kāi)發(fā)、維護(hù)、管理方面的積極性與主動(dòng)精神;(4)系統(tǒng)比較脆弱。主機(jī)出現(xiàn)故障時(shí)可能使整個(gè)系統(tǒng)停止工作。服務(wù)器主要任務(wù):(1)數(shù)據(jù)庫(kù)安全性的要求;(2)數(shù)據(jù)庫(kù)訪問(wèn)并發(fā)性的控制;(3)數(shù)據(jù)庫(kù)前端的客戶應(yīng)用程序的全局?jǐn)?shù)據(jù)完整性規(guī)則;(4)數(shù)據(jù)庫(kù)的備份與恢復(fù)??蛻魬?yīng)用程序主要任務(wù):(1)提供用戶與數(shù)據(jù)庫(kù)交互的界面;(2)向數(shù)據(jù)庫(kù)服務(wù)器提交用戶請(qǐng)求并接收來(lái)自數(shù)據(jù)庫(kù)服務(wù)器
11、的信息;(3)利用客戶應(yīng)用程序?qū)Υ嬖谟诳蛻舳说臄?shù)據(jù)執(zhí)行應(yīng)用邏輯要求。三層C/S風(fēng)格與二層C/S體系結(jié)構(gòu)的不同:優(yōu)點(diǎn):1、允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性,從而使整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)更為清晰,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。2、允許更靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)何能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級(jí)性和開(kāi)放性。3、應(yīng)用的各層可以并行開(kāi)發(fā),各層也可以選擇各自最適合的開(kāi)發(fā)語(yǔ)言,使之高效并行地開(kāi)發(fā),達(dá)到較高的性能價(jià)格比;對(duì)每一層的處理邏輯的開(kāi)發(fā)和維護(hù)也會(huì)更容易些。4、允許充分利用功能層有效地隔離開(kāi)表示
12、層與數(shù)據(jù)層,未授權(quán)的用戶難以繞過(guò)功能層而利用數(shù)據(jù)庫(kù)工具或黑客手段去非法地訪問(wèn)數(shù)據(jù)層,為嚴(yán)格的安全管理奠定了堅(jiān)實(shí)的基礎(chǔ);整個(gè)系統(tǒng)的管理層次也更加合理和可控制。表示層、功能層、數(shù)據(jù)層主要功能三層風(fēng)格不同物理結(jié)構(gòu)比較表示層:表示層是應(yīng)用的用戶接口部分,它擔(dān)負(fù)著用戶與應(yīng)用間的對(duì)話功能功能層:功能層相當(dāng)于應(yīng)用的本體,它是將具體的業(yè)務(wù)處理邏輯編入程序中數(shù)據(jù)層:數(shù)據(jù)層就是數(shù)據(jù)庫(kù)管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫服務(wù)器II功能層敏據(jù)鼠功能以襄示層客戶機(jī)(1)將數(shù)據(jù)展和功能層放在同臺(tái)服務(wù)器t將故據(jù)層和功能層放在不同的服務(wù)器上功能層表示層0)將功能層放在客戶機(jī)上中間件概念:是一個(gè)用API定義的軟件層,是具有強(qiáng)大
13、通信能力和良好可擴(kuò)展性的分布式軟件管理框架。功能:在客戶機(jī)和服務(wù)器或者服務(wù)器和服務(wù)器之間傳送數(shù)據(jù),實(shí)現(xiàn)客戶機(jī)群和服務(wù)器群之間的通信。瀏覽器/服務(wù)器風(fēng)格模式結(jié)構(gòu)示意圖:7與c/s比較其優(yōu)點(diǎn):1、基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護(hù)全在服務(wù)器端解決。用戶在使用系統(tǒng)時(shí),僅僅需要一個(gè)瀏覽器就可運(yùn)行全部的模塊,真正達(dá)到了“零客戶端”的功能,很容易在運(yùn)行時(shí)自動(dòng)升級(jí)。2、B/S體系結(jié)構(gòu)還提供了異種機(jī)、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)的開(kāi)放性基礎(chǔ)。缺點(diǎn):1、B/S體系結(jié)構(gòu)缺乏對(duì)動(dòng)態(tài)頁(yè)面的支持能力,沒(méi)有集成有效的數(shù)據(jù)庫(kù)處理功能。2、B/S體系結(jié)構(gòu)的系統(tǒng)擴(kuò)展能力差,安全性難以控制。3、
14、采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)地高于C/S體系結(jié)構(gòu)。4、B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁(yè)面為單位,數(shù)據(jù)的動(dòng)態(tài)交互性強(qiáng),有利于在線事務(wù)處理(OLTP)應(yīng)用。公共對(duì)象請(qǐng)求代理結(jié)構(gòu)CORBA:是由OMG制定的一個(gè)工業(yè)標(biāo)準(zhǔn),其主要目標(biāo)是提供一種機(jī)制,使得對(duì)象可以透明地發(fā)出請(qǐng)求和獲得應(yīng)答,從而建立起一個(gè)異質(zhì)的分布式應(yīng)用環(huán)境接口定義語(yǔ)言:CORBA的XML是一種說(shuō)明性語(yǔ)言,描述面向?qū)ο笙到y(tǒng)開(kāi)發(fā)所遵循的接口與實(shí)現(xiàn)相分離的基本原則。調(diào)用機(jī)制:把IDL說(shuō)明編譯成面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的實(shí)代碼后,客戶可以調(diào)用已知對(duì)象的操作。在某些應(yīng)用中,用戶并不了解應(yīng)用接口編譯信息,但也要求調(diào)用對(duì)象的
15、操作,這時(shí)就要?jiǎng)討B(tài)調(diào)用接口來(lái)調(diào)用用戶的操作了。異構(gòu)結(jié)構(gòu)風(fēng)格不同的體系結(jié)構(gòu)有不同的處理能力,面對(duì)具體問(wèn)題,混合軟件體系結(jié)構(gòu)處理問(wèn)題能夠結(jié)合各自的優(yōu)點(diǎn),這種體系結(jié)構(gòu)被稱為異構(gòu)結(jié)構(gòu)。SOA定義:是一種在計(jì)算環(huán)境中設(shè)計(jì)、開(kāi)發(fā)、部署和管理離散邏輯單元(服務(wù))模型的方法。SOA建立在SML等新技術(shù)的基礎(chǔ)上,通過(guò)使用基于SML的語(yǔ)言來(lái)描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動(dòng)態(tài)且更靈活的接口系統(tǒng)中,CORBA中的XML無(wú)法與之相比。SOA的特征:松散耦合、粗粒度服務(wù)、標(biāo)準(zhǔn)化接口面向服務(wù)的分析與設(shè)計(jì)三個(gè)主要抽象級(jí)別:操作、服務(wù)、業(yè)務(wù)流程SOAD與OOAD的關(guān)系:(1)綜合了面向?qū)ο蟮姆肿优c設(shè)計(jì)(OOAD)、企業(yè)體系結(jié)構(gòu)(EA
16、)、和業(yè)務(wù)流程建模(BPM)中的適當(dāng)原理,將這些規(guī)則中的原理與許多獨(dú)特的新原理組合起來(lái),提出了面向服務(wù)的分析與設(shè)計(jì)(SOAD(2) OOAD從基礎(chǔ)設(shè)計(jì)層為SOAD提供了理論支撐。(3) OOAD現(xiàn)有的開(kāi)發(fā)流程和表示法僅涵蓋支持SOA范式所需要的部分要求。SOA服務(wù)棧:發(fā)現(xiàn)服務(wù)層:SOAP、REST描述服務(wù)層:WSDL、XMLSchema消息格式層:UDDI、DISCO編碼格式層:XML傳輸協(xié)議層:HTTP、TCP/IP、SMTP第9章RIA”富”的含義:1.豐富的數(shù)據(jù)模型:意味著客戶端的用戶界面能表現(xiàn)和應(yīng)對(duì)更多更復(fù)雜的數(shù)據(jù)模式,這樣才能處理客戶端的運(yùn)算以及異步發(fā)送,接收數(shù)據(jù)。2.豐富的用戶界面
17、:RIA能提供更多改良界面,HTML只能為用戶的界面控制提供有限的功能,RIA允許一些富有創(chuàng)造性的界面控制,巧妙地與數(shù)據(jù)模式相合。RIA客戶端開(kāi)發(fā)技術(shù):I.MacromediaFlash/Flex2.AJAX3.Laszlo4.Avalon5.JavaEE6.XUL7.Bindows8.OracleFormsAJAX技術(shù):是由幾種蓬勃發(fā)展的技術(shù)以新的方式組合而成的,包含基于XHTML和CSS標(biāo)準(zhǔn)的表示;使用DOM進(jìn)行動(dòng)態(tài)顯示和交互;使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;使用JavaScript綁定一切。1.XML2.XHTML3.JavaScript4.XMLHttpReque
18、st5.DOM6.XSLT7.CSS借助于AJAX,可以在用戶單擊按鈕時(shí),使用JavaScript和XHTML立即更新用戶界面,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫(kù)。當(dāng)請(qǐng)求返回時(shí),就可以使用JavaScript和CSS來(lái)相應(yīng)地更新用戶界面,而不是刷新整個(gè)頁(yè)面。更重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信,Web站點(diǎn)看起來(lái)是即時(shí)響應(yīng)的。第12章設(shè)計(jì)模式是前人經(jīng)驗(yàn)的總結(jié),它使人們可以方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)。簡(jiǎn)單的理解,是一些設(shè)計(jì)面向?qū)ο蟮能浖_(kāi)發(fā)的經(jīng)驗(yàn)總結(jié)。一個(gè)設(shè)計(jì)模式事實(shí)上是系統(tǒng)地命名,解釋和評(píng)價(jià)某一個(gè)重要的可重現(xiàn)的面向?qū)ο蟮脑O(shè)計(jì)方案。受到普遍認(rèn)可的設(shè)計(jì)模式定義:是由Dir
19、kRiehle和HeinzZullighoven于1996年在其論文UnderstandingandUsingPatternsinSoftwareDevelopment中給出的;”模式是指從某個(gè)具體的形式得到的一種抽象,在特殊的非任意性的環(huán)境中,該形式不斷地重復(fù)出現(xiàn)MVC設(shè)計(jì)模式:把交互系統(tǒng)的組成分解成模型Model,視圖View,控制Controller三種構(gòu)件,是一種交互界面的結(jié)構(gòu)組織模型。設(shè)計(jì)模型的基本成分:1.模式名稱:通常用來(lái)描述一個(gè)設(shè)計(jì)問(wèn)題,它的解法和效果,由一到兩個(gè)詞組成。模式名稱的產(chǎn)生使人們?cè)诟叩某橄髮哟紊线M(jìn)行設(shè)計(jì)并交流設(shè)計(jì)思想。2 .問(wèn)題:告訴人們什么時(shí)候要使用設(shè)計(jì)模式,解
20、釋問(wèn)題及其背景。設(shè)計(jì)模式用術(shù)語(yǔ)”強(qiáng)制條件”來(lái)說(shuō)明問(wèn)題要解決時(shí)應(yīng)該考慮的各個(gè)方面:(1)解決方案必須滿足的需求(2)必須考慮的約束(3)解決方案必須具有期望的特性。如MVC模式指出了兩個(gè)強(qiáng)制條件:必須易于修改用戶界面,但軟件的功能核心不能被修改所影響。3 .解決方案:解決方案描述設(shè)計(jì)的基本要素:它們的關(guān)系,各自的任務(wù)以及相互之間的合作。解決方案包括兩個(gè)方面:第一,每個(gè)模式規(guī)定了一個(gè)特定的結(jié)構(gòu),即元素的一個(gè)空間配置。第二,每個(gè)模式規(guī)定了運(yùn)行期間的行為。4 .效果:效果描述應(yīng)用設(shè)計(jì)模式后的結(jié)果和權(quán)衡。5.設(shè)計(jì)模式的分類:1,創(chuàng)建型模式(1)工廠方法模式(2)抽象工廠模式(3)原型模式(4)單例模式(
21、5)建造者模式2,結(jié)構(gòu)式模式(1)適配器模式(2)橋接模式(3)組合模式(4)裝飾模式(5)外觀模式(6)亨元模式(7)代理模式3,行為模式(1)職責(zé)鏈模式(2)命令模式(3)解釋器模式(4)迭代器模式(5)中介者模式(6)備忘錄模式(7)觀察者模式(8)狀態(tài)模式(9)策略模式(10)模板方法模式(11)訪問(wèn)者模式多項(xiàng)選擇題1、青鳥(niǎo)構(gòu)件庫(kù)采用B.刻面一分類方法對(duì)構(gòu)件進(jìn)行分類。這些刻面包括:使用環(huán)境,應(yīng)用領(lǐng)域,功能,層次,表示方法,2、軟件體系結(jié)構(gòu)是整個(gè)系統(tǒng)的骨架,在軟件開(kāi)發(fā)中起著非常重要的作用。下面關(guān)于關(guān)于軟件體系結(jié)構(gòu)作用的描述正確的有ABCD。A.體系結(jié)構(gòu)是風(fēng)險(xiǎn)承擔(dān)者進(jìn)行交流的手段B.軟件體
22、系結(jié)構(gòu)決定了開(kāi)發(fā)和維護(hù)組織的組織結(jié)構(gòu)C.通過(guò)研究軟件體系結(jié)構(gòu)可能預(yù)測(cè)軟件的質(zhì)量D.軟件體系結(jié)構(gòu)有助于循序漸進(jìn)的原型設(shè)計(jì)B3、客戶/服務(wù)器風(fēng)格的應(yīng)用程序中客戶應(yīng)用程序的主要任務(wù)不包括:_B.數(shù)據(jù)庫(kù)的備份與恢復(fù)。A4從概念上講,SOA有三個(gè)主要的抽象級(jí)別,分別是操作、服務(wù)和業(yè)務(wù)流程。其中,SOA_操住可以直接與面向?qū)ο蟮姆椒ㄏ啾龋鼈兌加刑囟ǖ慕Y(jié)構(gòu)化接口,并且返回結(jié)構(gòu)化的響應(yīng),完全同方法一樣。CD5、下列關(guān)于設(shè)計(jì)模式的敘述正確的有。C.模式不僅描述模塊,它給出更深層的系統(tǒng)結(jié)構(gòu)和機(jī)理D.模式通過(guò)記錄得到解B6、根據(jù)目的和用途的不同,設(shè)計(jì)模式可分為創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式。下列模式中不屬于創(chuàng)
23、建型模式的是B.橋接模式。判斷題(F)傳統(tǒng)型數(shù)據(jù)庫(kù)是一種黑板系統(tǒng),由中央數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇.(T)面向?qū)ο箫L(fēng)格屬于通用體系結(jié)構(gòu)風(fēng)格分類中的調(diào)用/返回風(fēng)格.填空題1、在構(gòu)件重用的過(guò)程中,為了減少構(gòu)件修改的工作量,要求開(kāi)發(fā)人員盡量使構(gòu)件的功能、行為和接口設(shè)計(jì)更為抽象化、通用化和參數(shù)化。這樣構(gòu)件的用戶即可通過(guò)對(duì)實(shí)參的選取來(lái)調(diào)整構(gòu)件的功能或行為。?2、網(wǎng)絡(luò)體系結(jié)構(gòu)是一個(gè)典型的分層系統(tǒng),這種風(fēng)格的體系結(jié)構(gòu)中,連接件通過(guò)算法(決定層間如何交互的協(xié)議)來(lái)定義。問(wèn)答題1、簡(jiǎn)述構(gòu)件分類方法中關(guān)鍵字分類法的基本思想及其相應(yīng)檢索方法。P7P10根據(jù)領(lǐng)域分析的結(jié)果將應(yīng)用領(lǐng)域的概念按照從抽象到具體的順序
24、逐次分解為樹(shù)狀或有向無(wú)回路圖結(jié)構(gòu)。每個(gè)概念用一個(gè)描述性的關(guān)鍵字表示。不可分解的原子級(jí)關(guān)鍵字包含隸屬于它的某些構(gòu)件?;陉P(guān)鍵字的檢索:系統(tǒng)在圖形用戶界面上將構(gòu)件庫(kù)的關(guān)鍵字樹(shù)狀結(jié)構(gòu)直觀地展示給用戶;用戶通過(guò)對(duì)樹(shù)狀結(jié)構(gòu)的逐級(jí)瀏覽尋找需要的關(guān)鍵字并提取相應(yīng)地構(gòu)件。當(dāng)然,用戶也可以直接給出關(guān)鍵字,由系統(tǒng)自動(dòng)給出合適的候選構(gòu)件清單。優(yōu)點(diǎn):簡(jiǎn)單,易于實(shí)現(xiàn),但在某些場(chǎng)合沒(méi)有應(yīng)用價(jià)值,因?yàn)橛脩敉鶡o(wú)法用構(gòu)件庫(kù)中已有的關(guān)鍵字描述期望的構(gòu)功能或行為,對(duì)庫(kù)的瀏覽也容易使用戶迷失方向。2、簡(jiǎn)述基于事件系統(tǒng)的基本思想。P52構(gòu)建不直接調(diào)用一個(gè)過(guò)程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件。系統(tǒng)中的其他構(gòu)件中的過(guò)程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過(guò)程,這樣,一個(gè)事件的觸發(fā)就導(dǎo)致了另一模塊中的過(guò)程的調(diào)用。3、與兩層C/S相比,三層C/S結(jié)構(gòu)主要優(yōu)點(diǎn)是什么?(1)允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性,從而使整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)更為清晰,能提高系統(tǒng)和軟件的可維護(hù)性和可擴(kuò)展性。(2)允許更靈活有效地選用相應(yīng)的平臺(tái)和硬件系統(tǒng),使之在處理負(fù)荷能力上與處理特性上分別適應(yīng)于結(jié)構(gòu)清晰的三層;并且這些平臺(tái)和各個(gè)組成部分可以具有良好的可升級(jí)性和開(kāi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車懸掛系統(tǒng)設(shè)計(jì)與性能評(píng)估考核試卷
- 玉米淀粉在制藥工業(yè)中的藥物載體與控釋系統(tǒng)考核試卷
- 一年級(jí)語(yǔ)文拼音過(guò)關(guān)練習(xí)題三篇
- 印刷項(xiàng)目管理與執(zhí)行考核試卷
- 竹材采運(yùn)市場(chǎng)趨勢(shì)預(yù)測(cè)與決策支持考核試卷
- 介紹春節(jié)初二語(yǔ)文作文
- 珠寶首飾企業(yè)戰(zhàn)略規(guī)劃考核試卷
- 生物多樣性展示教具考核試卷
- 糧油節(jié)能減排技術(shù)考核試卷
- 洗浴養(yǎng)生食療搭配考核試卷
- 2024年國(guó)家義務(wù)教育質(zhì)量監(jiān)測(cè)-四年級(jí)心理健康測(cè)試卷
- 北京市第一○一中學(xué)2023-2024學(xué)年八年級(jí)下學(xué)期期中英語(yǔ)試題
- 《小英雄雨來(lái)》省公開(kāi)課金獎(jiǎng)全國(guó)賽課一等獎(jiǎng)微課獲獎(jiǎng)?wù)n件
- 2024年鄭州黃河護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 知識(shí)清單新思維小學(xué)英語(yǔ)2B
- -第八版內(nèi)科冠心病課件
- 2024年02月湖南韶山思政教育實(shí)踐中心合同聘用制教師招考聘用筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 國(guó)家開(kāi)放大學(xué)《Python語(yǔ)言基礎(chǔ)》實(shí)驗(yàn)4:條件分支結(jié)構(gòu)基本應(yīng)用參考答案
- 幼小銜接家庭指導(dǎo)手冊(cè)
- 內(nèi)分泌科常見(jiàn)急危重癥搶救流程
- 2024年河南工業(yè)和信息化職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論