




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目錄第一章:軟件體系結構概論 41、就項目管理方面而言,軟件重用項目與非重用項目有哪些不同之處。 42、實際參與/組織一個軟件重用項目的開發(fā),然后總結你是如何組織該項目的開發(fā)的? 43、為什么要研究軟件體系結構? 44、根據(jù)軟件體系結構的定義,你認為軟件體系結構的模型應該由哪些部分組成? 55、在軟件體系結構的研究和應用中,你認為還有哪些不足之處? 56、根據(jù)自己的經(jīng)驗,談談對軟件危機的看法?(結合表現(xiàn)、原因、如何克服描述) 66.1、軟件危機的表現(xiàn)? 66.2、軟件危機的原因? 76.3、如何克服軟件危機? 87、研究軟件體系結構的意義是什么? 88、從哪些方面評估軟件體系結構? 9第二章:軟件體系結構建模 101、選擇一個規(guī)模合適的系統(tǒng),為其建立“4+1”模型。 102、引入了軟件體系結構以后,傳統(tǒng)軟件過程發(fā)生了哪些變化?這種變化有什么好處? 123、軟件體系結構的生命周期模型與軟件生命周期模型有什么關系? 13第三章:軟件體系結構風格 131、層次系統(tǒng)結構和基于消息的層次系統(tǒng)結構有什么區(qū)別? 132、試分析和比較B/S,二層C/S和三層C/S,指出各自的優(yōu)點和缺點。 133、SIS和DSSA分別用在哪些場合? 144、在軟件開發(fā)中,采用異構結構有什么好處,其負面影響有哪些? 15第四章:軟件體系結構描述 151、體系結構描述有哪些?有哪些標準和規(guī)范? 152、體系結構描述語言與程序設計語言的區(qū)別? 163、選擇一個規(guī)模適中的系統(tǒng),使用UML為其建模。 17第五章:動態(tài)軟件體系結構 171、什么是動態(tài)軟件體系結構?動態(tài)軟件體系結構與靜態(tài)軟件體系結構有什么區(qū)別? 172、基于構件的動態(tài)軟件體系結構模型的層次結構是什么? 17第六章:Web服務體系結構和SOA 181、什么是Web服務體系結構?與傳統(tǒng)的結構相比,使用Web服務有哪些好處? 182、在Web服務中,如何實現(xiàn)其松散耦合的特點? 183、試分析服務提供者、服務請求者和服務代理三者的作用,以及它們之間的工作流程。 184、試解釋Web服務棧的層次結構。 195、Web服務有哪些核心技術,這些技術是如何在Web服務中發(fā)揮作用的。 196、從管理的角度看,SOA有什么優(yōu)點? 207、在實際開發(fā)中,如何實現(xiàn)Web服務和SOA結構? 20第七章:基于體系結構的軟件開發(fā) 211、請把基于體系結構的軟件開發(fā)模型與其他軟件開發(fā)模型進行比較。 212、請把基于體系結構的軟件設計方法與其他軟件設計方法進行比較。 233、如何才能提高軟件系統(tǒng)的可演化性。 23第八章:軟件體系結構的分析與測試 241、什么是軟件體系結構的可靠性?為什么要研究軟件體系結構的可靠性? 242、如何模型化系統(tǒng)的可靠性? 243、軟件體系結構風險分析有哪些基本步驟? 244、軟件體系結構測試與程序測試的主要區(qū)別是什么? 24第一章:軟件體系結構概論1、就項目管理方面而言,軟件重用項目與非重用項目有哪些不同之處。答:使用軟件重用技術可減少重復工作,提高軟件生產(chǎn)率,縮短開發(fā)周期。同時,由于軟構建大多經(jīng)過嚴格的質量認證,因此有助于改善軟件質量,大量使用構建,軟件的靈活性和標準化程度可得到提高?;颍很浖赜庙椖啃枰紤]生產(chǎn)可重用軟部件的機制。同時,軟件重用項目可以減少
開發(fā)活動中大量的重復性工作,能提高軟件生產(chǎn)率,降低開發(fā)成本,縮短開發(fā)周期。
同時由于大量使用軟構件,軟件的靈活性和標準化程度也可望得到提高。因此,軟件
重用項目在管理是比非重用項目更節(jié)約管理資源,同時管理起來更方便。2、實際參與/組織一個軟件重用項目的開發(fā),然后總結你是如何組織該項目的開發(fā)的?答:參加了一個網(wǎng)頁管理系統(tǒng)的開發(fā),該項目重復使用已有的軟件產(chǎn)品用于開發(fā)新的軟件系統(tǒng),以達到提高軟件系統(tǒng)的開發(fā)質量與效率,降低開發(fā)成本的目的。在過程中使用了代碼的復用、設計結果的復用、分析結果的復用、測試信息的復用等。3、為什么要研究軟件體系結構?答:所謂軟件體系結構的分析評估,就是事先通過代價低廉的評估活動來識別軟件結構中存在的潛在風險,找出軟件體系結構中影響系統(tǒng)質量的主要因素及改進措施,并在此基礎上檢驗軟件的質量需求是否在具體設計中得到實現(xiàn),并預見未來軟件質量。軟件體系結構在軟件開發(fā)和管理中扮演者越來越重要的角色,軟件體系結構設計對軟件質量有著至關重要的影響,對此最終確保系統(tǒng)的質量有重要的意義。軟件體系結構評估,是對系統(tǒng)的某些值的關心的屬性進行評估和判斷。評估的結果可用于確認潛在的風險,并檢查設計階段系統(tǒng)需求的質量,在系統(tǒng)被實際構造之前,預測其屬性質量?;颍捍穑?.軟件體系結構是系統(tǒng)開發(fā)中不同參與者進行交流和信息傳播的媒介。2.軟件體系結構代表了早期的設計決策成果。3.軟件體系結構可以作為一種可變換的模型。4、根據(jù)軟件體系結構的定義,你認為軟件體系結構的模型應該由哪些部分組成?答:構件(component)可以是一組代碼,如程序的模塊;也可以是一個獨立的程序(如數(shù)據(jù)庫的SQL服務器);連接件(connector)是關系的抽象,用以表示構件之間的相互作用。如過程調(diào)用、管道、遠程過程調(diào)用等;限制(constrain):用于對構件和連接件的語義說明。5、在軟件體系結構的研究和應用中,你認為還有哪些不足之處?答:(1)缺乏同意的軟件體系結構的概念,導致體系結構的研究范疇模糊。(2)ADL繁多,缺乏統(tǒng)一的ADL的支持。(3)軟件體系結構研究缺乏統(tǒng)一的理論模型支持。(4)在體系結構描述方便,盡管出現(xiàn)了多種標準規(guī)范或建議標準,但仍很難操作。(5)有關軟件體系結構性質的研究尚不充分,不能明確給出一個良體系結構的屬性或判定標準,沒有給出良體系結構的設計指導原則,因而對于軟件開發(fā)實踐缺乏有力的促進作用。(6)缺乏有效的支持環(huán)境軟件體系結構理論研究與環(huán)境支持不同步,缺乏有效的體系結構分析、設計、方針和驗證工具支持,導致體系結構應用上的困難。(7)缺乏有效的體系結構復用方案。(8)體系結構發(fā)現(xiàn)方法研究相對欠缺。6、根據(jù)自己的經(jīng)驗,談談對軟件危機的看法?(結合表現(xiàn)、原因、如何克服描述)6.1、軟件危機的表現(xiàn)?軟件成本日益增長由于軟件是邏輯、智力產(chǎn)品,軟件的開發(fā)需建立龐大的邏輯體系,這是與其他產(chǎn)品的生產(chǎn)不一樣的。在軟件開發(fā)過程中,用戶需求變化等各種意想不到的情況層出不窮,令軟件開發(fā)過程很難保證按預定的計劃實現(xiàn),給項目計劃和論證工作帶來了很大的困難。盲目增加軟件開發(fā)人員并不能成比例地提高軟件開發(fā)能力。相反,隨著人員數(shù)量的增加,人員的組織、協(xié)調(diào)、通信、培訓和管理等方面的問題將更為嚴重。開發(fā)進度難以控制軟件質量差軟件項目即使能按預定日期完成,結果卻不盡人意。1965年至1970年,美國范登堡基地發(fā)射火箭多次失敗,絕大部分故障是由應用程序錯誤造成的。在“軟件作坊”里,由于缺乏工程化思想的指導,程序員幾乎總是習慣性地以自己的想法去代替用戶對軟件的需求,軟件設計帶有隨意性,很多功能只是程序員的“一廂情愿”而已,這是造成軟件不能令人滿意的重要因素。軟件維護困難由于在軟件設計和開發(fā)過程中,沒有嚴格遵循軟件開發(fā)標準,各種隨意性很大,沒有完整的真實反映系統(tǒng)狀況的記錄文檔,給軟件維護造成了巨大的困難。特別是在軟件使用過程中,原來的開發(fā)人員可能因各種原因已經(jīng)離開原來的開發(fā)組織,使得軟件幾乎不可維護6.2、軟件危機的原因?用戶需求不明確在軟件開發(fā)完成之前,用戶不清楚軟件的具體需求;用戶對軟件需求的描述不精確,可能有遺漏、有二義性、甚至有錯誤;在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求;開發(fā)人員對用戶需求的理解與用戶本來愿望有差異。缺乏正確的理論指導缺乏有力的方法學和工具方面的支持。由于軟件不同于大多數(shù)其他工業(yè)產(chǎn)品,其開發(fā)過程是復雜的邏輯思維過程,其產(chǎn)品極大程度地依賴于開發(fā)人員高度的智力投入。由于過分地依靠程序設計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化,也是發(fā)生軟件危機的一個重要原因。軟件規(guī)模越來越大隨著軟件應用范圍的增廣,軟件規(guī)模愈來愈大。大型軟件項目需要組織一定的人力共同完成,而多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗,而多數(shù)軟件開發(fā)人員又缺乏管理方面的經(jīng)驗。各類人員的信息交流不及時、不準確、有時還會產(chǎn)生誤解。軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關系和各個分支,因此容易產(chǎn)生疏漏和錯誤。軟件復雜度越來越高軟件不僅僅是在規(guī)模上快速地發(fā)展擴大,而且其復雜性也急劇地增加。軟件產(chǎn)品的特殊性和人類智力的局限性,導致人們無力處理“復雜問題”。所謂“復雜問題”的概念是相對的,一旦人們采用先進的組織形式、開發(fā)方法和工具提高了軟件開發(fā)效率和能力,新的、更大的、更復雜的問題又擺在人們的面前。6.3、如何克服軟件危機?人們面臨的不光是技術問題,更重要的是管理問題。管理不善必然導致失敗。要提高軟件開發(fā)效率,提高軟件產(chǎn)品質量,必須采用工程化的開發(fā)方法與工業(yè)化的生產(chǎn)技術。在技術上,應該采用基于重用的軟件生產(chǎn)技術;在管理上,應該采用多維的工程管理模式。7、研究軟件體系結構的意義是什么?(1)
體系結構是風險承擔者進行交流的手段
軟件體系結構代表了系統(tǒng)公共的高層次的抽象。這樣,系統(tǒng)的大部分有關人員(即使不是全部)能把它作為建立一個互相理解的基礎,形成統(tǒng)一認識,互相交流。(2)
體系結構是早期設計決策的體現(xiàn)明確了對系統(tǒng)實現(xiàn)的約束條件
決定了開發(fā)和維護組織的組織結構
制約著系統(tǒng)的質量屬性
通過研究軟件體系結構可能預測軟件的質量
使推理和控制更改更簡單
有助于循序漸進的原型設計可以作為培訓的基礎
(3)
軟件體系結構是可傳遞和可重用的模型
軟件體系結構級的重用意味著體系結構的決策能在具有相似需求的多個系統(tǒng)中發(fā)生影響,這比代碼級重用的作用更大。8、從哪些方面評估軟件體系結構?答:(1)性能是指系統(tǒng)的影響能力,即要經(jīng)過多長時間才能對某個事件作出響應,或者在某段事件內(nèi)系統(tǒng)所能處理的事件的個數(shù)。(2)可靠性是軟件系統(tǒng)在應用或系統(tǒng)錯誤面前,在意外或錯誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。(3)可用性是系統(tǒng)能夠正常運行的時間比例。經(jīng)常用兩次故障間的時間長度或在出現(xiàn)故障時系統(tǒng)能夠恢復正常的速度來表示。(4)安全性是指系統(tǒng)在向合法用戶提供服務的同時能夠阻止非授權用戶使用的企圖或拒絕服務的能力。安全性又可劃分為機密性、完整性、不可否認性及可控性等特性。(5)可修改性是指能夠快速的以較高的性能代價比對系統(tǒng)進行變更的能力。(6)功能性是系統(tǒng)所能完成所期望的工作的能力。(7)可變性是指體系結構經(jīng)擴充或變更而成為新體系結構的能力。(8)可集成性是指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度(9)互操作性是指與其他環(huán)境或者系統(tǒng)本身相互作用的能力。第二章:軟件體系結構建模1、選擇一個規(guī)模合適的系統(tǒng),為其建立“4+1”模型。邏輯視圖(LogicalView),設計的對象模型(使用面向對象的設計方法時)。開發(fā)視圖(DevelopmentView),描述了在開發(fā)環(huán)境中軟件的靜態(tài)組織結構。進程視圖(ProcessView),捕捉設計的并發(fā)和同步特征。物理視圖(PhysicalView),描述了軟件到硬件的映射,反映了分布式特性。架構的描述,即所做的各種決定,可以圍繞著這四個視圖來組織,然后由一些用例(usecases)或場景(scenarios)來說明,從而形成了第五個視圖。2、引入了軟件體系結構以后,傳統(tǒng)軟件過程發(fā)生了哪些變化?這種變化有什么好處?答:軟件體系結構的引入使軟件設計開發(fā)更加具體和形象,它的模型更使得軟件過程更加方便和多樣化。其好處在于:包括程序員在內(nèi)的絕大多數(shù)系統(tǒng)的利益相關人員都借助軟件體系結構來進行彼此理解、協(xié)商、達成共識或者相互溝通的基礎,軟件體系機構的模型可以應用到具有相似質量屬性和功能需求的系統(tǒng)中,并能夠促進大規(guī)模軟件的系統(tǒng)級復用,在很多方面使得軟件開發(fā)更加人性化。3、軟件體系結構的生命周期模型與軟件生命周期模型有什么關系?答:軟件體系結構是貫穿于軟件研發(fā)的整個生命周期的系統(tǒng)開發(fā)、運行、維護所實施的全部工作和任務的結構框架,給出了軟件開發(fā)活動各階段之間的關系,軟件體系結構的生命周期模型為軟件生命周期模型提供了很好的結構依據(jù)和參考,也為其構建了很好的開發(fā)方式。第三章:軟件體系結構風格1、層次系統(tǒng)結構和基于消息的層次系統(tǒng)結構有什么區(qū)別?答:層次結構將系統(tǒng)進行分級組織,其組織思想是:在層次結構中,每一層向上層提供服務,并作為客戶向下層請求服務。分層系統(tǒng)的優(yōu)點:支持基于抽象程度遞增的系統(tǒng)設計;支持功能增強;支持重用。分層系統(tǒng)的缺點:并不是每個系統(tǒng)都可以很容易的劃分為分層的模式,甚至即使是層次化的,出于性能的考慮,也不得不吧一些低及或高級的功能綜合起來;很難找到一個合適的、正確的層次抽象方法。消息總線是系統(tǒng)的連接件、負責消息的分派、傳遞和過濾以及處理結果的返回。消息是構件之間通信的唯一方式。由于構件通過總線進行連接,并不要求各個構件具有相同的地址空間或局限在一臺機器上,因此該風格可以很好的刻畫分布式開發(fā)系統(tǒng),以及CORBA.DCOM和EJB規(guī)范的系統(tǒng)。2、試分析和比較B/S,二層C/S和三層C/S,指出各自的優(yōu)點和缺點。答:二層C/S體系結構將應用一分為二,服務器負責數(shù)據(jù)管理,客戶機完成與用戶的交互任務。優(yōu)點(1)C/S體系結構具有強大的數(shù)據(jù)操作的事務處理能力,模型思想簡單,易于人們理解和接受。(2)對軟硬件的變化有極大的適應性和靈活性,易于對系統(tǒng)進行擴充和縮小。(3)系統(tǒng)中的功能構建充分隔離,節(jié)約大量費用。缺點:(1)開發(fā)成本較高。(2)客戶端程序設計復雜(3)信息內(nèi)容和形式單一(4)用戶界面風格不一,使用繁雜不易推廣。(5)軟件移植困難(6)軟件維護和升級困難(7)新技術不能輕易應用。三層CS在上面的基礎上進行了改造,并增加了一個服務器,其優(yōu)點:(1)允許合理的劃分三層結構的功能,能提高系統(tǒng)和軟件的可維護性和可擴展性。(2)具有良好的可升級性和開放性。(3)應用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言。(4)為嚴格的安全管理奠定了堅實的基礎。B/S風格就是上述三層應用結構的一種實現(xiàn)方式,其具體結構為:瀏覽器/Web服務器/數(shù)據(jù)庫服務器。優(yōu)點(1)基于B/S體系結構的軟件,系統(tǒng)安裝,修改和維護全在服務器端解決。(2)提供了異種機,異種網(wǎng),異種應用服務的聯(lián)機,聯(lián)網(wǎng),同意服務的最現(xiàn)實的開放性基礎。缺點(1)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理能力。(2)在數(shù)據(jù)查詢等響應速度上,要遠遠低于C/S體系結構。(3)數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強,不利于在線事務處理應用。3、SIS和DSSA分別用在哪些場合?答:1.DSSA只對某一個領域進行設計專家知識的提取,存儲和組織,但可以同時使用多種體系結構風格;而在某個體系結構風格中進行體系結構設計專家知識的組織時,可以將提取的公共結構和設計方法擴展到多個領域。2.DSSA的特定領域參考體系結構通常選用一個或多個適合所研究領域的體系結構風格,并設計一個該領域專用的體系結構分析設計工具。3.體系結構風格的定義和該風格應用的領域是直交的,提取的設計知識比用DSSA提取的設計專家知識的應用范圍要廣。4.DSSA和體系結構風格是互為互補的兩項技術。SIS:交互式網(wǎng)絡互連服務DSSA:特定領域的軟件體系結構4、在軟件開發(fā)中,采用異構結構有什么好處,其負面影響有哪些?答:1.結構有不同的處理能力的強項和弱點,一個系統(tǒng)的體系結構應該根據(jù)實際需要進行選擇,以解決實際問題。2.軟件包,框架,通信以及其他一些體系機構上的問題,目前存在者多中標準。即使再某一段時間內(nèi)某一標準占據(jù)著統(tǒng)治地位,但變動最終是絕對的。3.工作中,我們總會遇到一些遺留下的代碼,它們?nèi)杂行в茫菂s與新系統(tǒng)有某種程度上的不協(xié)調(diào)。然而在很多場合,將技術與經(jīng)濟綜合進行考慮時,總是決定不重寫它們。4.在某一單位中,規(guī)定了共享共同的軟件包或相互關系的一些標準,仍會存在解釋或表示習慣上的不同。負面影響:大多數(shù)應用程序只使用10%的代碼實現(xiàn)系統(tǒng)的公開功能,剩下90%的代碼完成系統(tǒng)管理功能:輸入和輸出,用戶界面,文本編輯,基本圖表,標準對話框,通信,數(shù)據(jù)確認和旁聽追蹤,特定領域的基本定義等。第四章:軟件體系結構描述1、體系結構描述有哪些?有哪些標準和規(guī)范?體系結構描述方法:
(1)
圖形表達工具:由矩形框和有向線段組合而成。
(2)
模塊內(nèi)連接語言:將一種或幾種傳統(tǒng)程序設計語言的模塊連接起來的語言。
(3)
基于軟構件的系統(tǒng)描述語言:將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實體構造組成的組織或系統(tǒng)。
(4)
軟件體系結構描述語言:是參照傳統(tǒng)程序設計語言的設計和開發(fā)經(jīng)驗,針對軟件體系結構特點重新設計、開發(fā)和使用的專門的軟件體系結構描述語言。
體系結構描述的標準和規(guī)范:
IEEE
P1471
:于2000年9月21日通過IEEE-SA標準委員會評審。2、體系結構描述語言與程序設計語言的區(qū)別?◎構造能力:ADL能夠使用較小的獨立體系結構元素來建造大型軟件系統(tǒng);◎抽象能力:ADL使得軟件體系結構中的構件和連接件描述可以只關注它們的抽象特性,而不管其具體的實現(xiàn)細節(jié);◎重用能力:ADL使得組成軟件系統(tǒng)的構件、連接件甚至是軟件體系結構都成為軟件系統(tǒng)開發(fā)和設計的可重用部件;◎組合能力:ADL使得其描述的每一系統(tǒng)元素都有其自己的局部結構,這種描述局部結構的特點使得ADL支持軟件系統(tǒng)的動態(tài)變化組合;◎異構能力:ADL允許多個不同的體系結構描述關聯(lián)存在;◎分析和推理能力:ADL允許對其描述的體系結構進行多種不同的性能和功能上的多種推理分析。典型元素含義比較:3、選擇一個規(guī)模適中的系統(tǒng),使用UML為其建模。第五章:動態(tài)軟件體系結構1、什么是動態(tài)軟件體系結構?動態(tài)軟件體系結構與靜態(tài)軟件體系結構有什么區(qū)別?答:動態(tài)軟件體系結構的動態(tài)性包括:交互性動態(tài)性,結構化動態(tài)性,體系結構動態(tài)性。由于系統(tǒng)需求,技術,環(huán)境,分布等因素的變化而最終造成軟件體系結構的變動,稱之為軟件體系結構演化。軟件系統(tǒng)在運行時刻的體系結構變化稱之為軟件體系結構的動態(tài)性,動態(tài)軟件體系結構的動態(tài)性包括:交互性動態(tài)性,結構化動態(tài)性,體系結構動態(tài)性。2、基于構件的動態(tài)軟件體系結構模型的層次結構是什么?答:基于構件的動態(tài)系統(tǒng)結構模型支持運行系統(tǒng)的動態(tài)更新,該模型分為三類,分別是應用層,中間層和體系結構層。(1)應用層:處于最底層,包括構件鏈接,構件接口和執(zhí)行(2)中間層:包括連接件配置,構件配置,構件描述及執(zhí)行(3)體系結構層:位于最上層,控制和管理整個體系結構,包括體系結構配置,體系結構描述和執(zhí)行。第六章:Web服務體系結構和SOA1、什么是Web服務體系結構?與傳統(tǒng)的結構相比,使用Web服務有哪些好處?答:Web服務作為一種新興的Web應用模式,是一種嶄新的分布式計算模型,是Web上數(shù)據(jù)和信息集成的有效機制。
Web服務就像Web上的構件編程,開發(fā)人員通過調(diào)用Web應用編程接口,將Web服務集成進他們的應用程序,就像調(diào)用本地服務一樣。這主要包括一下模塊內(nèi)容:數(shù)據(jù)層、數(shù)據(jù)訪問層、業(yè)務層、業(yè)務面、監(jiān)聽者;Web服務的不同描述:應用的風不是;應用到應用的交互;平臺無關性;Web服務開發(fā)生命周期:構建、部署、運行、管理;Web服務的特點:使用標準協(xié)議規(guī)范;使用協(xié)越的規(guī)范性;高度集成能力;完好的封裝性;松散耦合;與傳統(tǒng)的結構相比,具有以下幾個優(yōu)點:高度的通用性和易用性;完全的平臺、語言獨立性;高度的集成性;容易部署和發(fā)布;2、在Web服務中,如何實現(xiàn)其松散耦合的特點?答:C/S
結構是松散耦合系統(tǒng),它們通過消息傳遞機制進行通話,由客戶端發(fā)出請求給服務器,服務器進行相應處理后經(jīng)傳遞機制送回客戶端。3、試分析服務提供者、服務請求者和服務代理三者的作用,以及它們之間的工作流程。答:服務請求者與服務提供者通過語義進行交互,服務提供者提交web服務描述給服務代理者,服務代理者返回web服務描述給服務請求者。4、試解釋Web服務棧的層次結構。答:XML(可擴展標記語言)、SOAP(簡單對象訪問協(xié)議)、WSDL(web服務定義語言)、
UDDI(統(tǒng)一描述發(fā)現(xiàn)和集成)。5、Web服務有哪些核心技術,這些技術是如何在Web服務中發(fā)揮作用的。答:Web服務技術核心基于可擴展標記語言XML的標準,包括簡單對象訪問協(xié)議,Web服務描述語言和統(tǒng)一描述,發(fā)現(xiàn)和集成協(xié)議。
SOAP定義了三部分:定義了描述消息和如何處理消息的框架的封裝,表達應用程序定義的數(shù)據(jù)類型實例的編碼規(guī)則以及描述遠程調(diào)用和應答的協(xié)議和SOAP編訂。
WSDL為服務者提供以XML格式描述的WEB服務請求的標準格式,經(jīng)網(wǎng)絡服務描述為能夠進行消息交換的通信端點集合,以表達一個Web服務能做什么,他的位置在哪里,以及如何調(diào)用等信息。
UDDL規(guī)范描述了Web的概念,同時也定義了一種編程接口。通過UDDL提供的標準接口,企業(yè)可以發(fā)布自己的Web服務供其他企業(yè)調(diào)用和查詢,業(yè)可以查詢特地服務的描述信息,并動態(tài)的綁定到該服務上,通過UDDL,Web服務可以真正實現(xiàn)信息的“一次注冊到處訪問”。6、從管理的角度看,SOA有什么優(yōu)點?答:(1)更易于維護;服務提供者和服務和服務使用者的松散耦合關系及對開放標準的采用確保了該特性的實現(xiàn)。(2)更高的可用性;該特性在服務提供者和服務使用者的松散耦合關系上得以體現(xiàn)。使用者無需了解提供者的實現(xiàn)細節(jié)。(3)更好的伸縮性;依靠服務設計、開發(fā)和部署所采用的架構模型實現(xiàn)伸縮性。服務提供者可以彼此獨立調(diào)整,以滿足服務需求。7、在實際開發(fā)中,如何實現(xiàn)Web服務和SOA結構?答:聲明技術:J2EE
編程模型就是使用聲明技術提供應用程序邏輯和中間件配置分離的一個例子。
抽象:在某些情況下,SOA
基礎結構中可以提供
API,以用于特定的用途。例如,SOA
基礎結構可以提供錯誤報告和審核機制。在設計此類
API
時應非常小心,要注意其易用性。我們應優(yōu)先考慮聲明技術,而不是對這些機制進行編程配置。同樣,在標準
API
可用時,我們應通過這些標準
API
公開
SOA
基礎結構功能,而不是采用自己開發(fā)編寫的方式。
代碼生成:在無法避免代碼復雜性的地方,可以使用代碼生成技術。例如,Web
服務描述語言(Web
Services
Definition
Language,WSDL)就可以為開發(fā)人員隱藏
SOAP、HTTP
和
JMS
的復雜細節(jié)。這是通過組合用
WSDL
表示的可由計算機處理的接口定義和可從
WSDL
生成相關調(diào)用代碼的語言特定實現(xiàn)的工具來實現(xiàn)的。
工具:在不可避免
SOA
基礎結構的細節(jié)進入開發(fā)人員代碼的情況下,我們可以通過使用合適的工具擴展開發(fā)環(huán)境來減少開發(fā)人員工作的復雜性。IBM
Rational?
Software
Development
Platform
產(chǎn)品所提供的基于
Eclipse
的環(huán)境可使用自定義插件、代碼片段和用戶指南輕松地進行擴展。
模型驅動的開發(fā):模型驅動的開發(fā)技術可以被視為前面兩種方法的特定復雜組合,同時利用了工具和代碼生成功能來簡化開發(fā)體驗。開發(fā)人員生成統(tǒng)一建模語言(Unified
Modeling
Language,UML)模型,此類模型可轉換為相應的代碼,其中包含利用
SOA
基礎結構所必需的代碼。
總之,在定義面向服務的體系結構及其基礎結構時,我們必須特別注意開發(fā)人員的需求。當為開發(fā)人員提供指南,以告知他們應如何開發(fā)或使用服務時,我們應該尋找可促進這些指導方針遵循的機制。SOA
內(nèi)的控制對其成功甚為關鍵。第七章:基于體系結構的軟件開發(fā)1、請把基于體系結構的軟件開發(fā)模型與其他軟件開發(fā)模型進行比較。答:軟件開發(fā)模型有演化模型、螺旋模型、噴泉模型、智能模型等。傳統(tǒng)軟件開發(fā)模型存在開發(fā)效率不高,不能很好地支持軟件重用等缺點。在多個大中型軟件項目的實踐基礎上,提出了基于體系結構的軟件開發(fā)模(ABSD)。ABSD模型把整個基于體系結構的軟件過程劃分為體系結構需求、設計、文檔化、復審、實現(xiàn)、演化等6個子過程,討論了各個子過程所要完成的工作,給出了ABSD模型在勞動和社會保險領域的一個應用實例。實踐表明,采用ABSD模型進行軟件項目開發(fā),具有結構清晰、易于理解、可移植性強、重用粒度大等優(yōu)點。答:一、基于體系結構為基礎的基于構件組裝的軟件開發(fā)模型,如基于構件的開發(fā)模型和基于體系結構的開發(fā)模型等。基于體系結構的開發(fā)模型是以軟件體系結構為核心,以基于構件的開發(fā)方法為基礎。然后采用迭代增量方式進行分析和設計,將功能設計空間映射到結構設計空間,再由結構設計空間映射到系統(tǒng)設計空間的過程。
特點:是利用需求分析結果設計出軟件的總體結構,通過基于構件的組裝方法來構造軟件系統(tǒng)。
優(yōu)點:軟件復用,提高了開發(fā)的效率。軟件的結構框架更清晰,有利于系統(tǒng)的設計、開發(fā)和維護。
缺點:缺乏通用的組裝結構標準,因而引入了較大的風險??芍赜眯院蛙浖咝圆灰讌f(xié)調(diào)??蛻舻臐M意度低,過分依賴于影響產(chǎn)品質量。
二、以軟件需求完全確定為前提軟件開發(fā)模型,如瀑布模型等。
特點:軟件需求在開發(fā)階段已經(jīng)被完全確定,將生命周期的各項活動依順序固定,強調(diào)開發(fā)的階段性;
優(yōu)點:開發(fā)流程簡單。
缺點:是開發(fā)后期要改正早期存在的問題需要付出很高的代價,用戶需要等待較長時間才能夠看到軟件產(chǎn)品,增加了風險系數(shù)。
三、在開始階段只能提供基本需求的漸進式開發(fā)模型,如螺旋模型和原型實現(xiàn)軟件開發(fā)模型等。
特點:軟件開發(fā)開始階段只有基本的需求,軟件開發(fā)過程的各個活動是迭代的。通過迭代過程實現(xiàn)軟件的逐步演化,最終得到軟件產(chǎn)品。在此引入了風險管理,增加項目成功幾率
優(yōu)點:強調(diào)了其他模型均忽略了的風險分析。
缺點:由于需求的不完全性,從而為軟件的總體設計帶來了困難并要求對風險技能管理水平的高要求。2、請把基于體系結構的軟件設計方法與其他軟件設計方法進行比較?;隗w系結構的開發(fā)方法出現(xiàn)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)控機床編程與操作考核試卷
- 油漆承包項目合同范本
- 簡單店面轉讓合同范本
- 內(nèi)部職工按揭合同范本
- 個人外包設備合同范本
- 農(nóng)村屋面租賃合同范本
- 電商企業(yè)商品供應鏈管理合同
- 股份公司員工培訓計劃書
- 高中生創(chuàng)新思維培養(yǎng)故事
- 運輸購銷合同與運輸車輛承包合同
- 第16課數(shù)據(jù)管理與編碼(教案)四年級全一冊信息技術人教版
- 中建10t龍門吊安拆安全專項施工方案
- 國內(nèi)外測井技術現(xiàn)狀與展望文檔
- 大模型專題:2024大模型技術及其在金融行業(yè)的應用探索報告
- 天津地區(qū)高考語文五年高考真題匯編-語言文字應用
- 特殊作業(yè)安全管理監(jiān)護人專項培訓課件
- 道路運輸企業(yè)兩類人員安全考核試題及答案
- 衛(wèi)生技術人員準入制度
- 簡單酒店裝修合同書范本(30篇)
- 2024-2030年中國核桃油行業(yè)消費趨勢及競爭格局分析研究報告
- 安全、環(huán)境、職業(yè)健康安全目標、指標及管理方案
評論
0/150
提交評論