高級系統(tǒng)架構(gòu)設(shè)計師下午試題(Ⅰ)_第1頁
高級系統(tǒng)架構(gòu)設(shè)計師下午試題(Ⅰ)_第2頁
高級系統(tǒng)架構(gòu)設(shè)計師下午試題(Ⅰ)_第3頁
高級系統(tǒng)架構(gòu)設(shè)計師下午試題(Ⅰ)_第4頁
高級系統(tǒng)架構(gòu)設(shè)計師下午試題(Ⅰ)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

高級系統(tǒng)架構(gòu)設(shè)計師下午試題(1)-2(總分157.25,做題時間90分鐘)試題一1.采用基于Web2.0的Mashup技術(shù)架構(gòu)Web應(yīng)用系統(tǒng),可以從不同的數(shù)據(jù)源抽取數(shù)據(jù),聚合并轉(zhuǎn)換數(shù)據(jù),在不同的上下文使用,避免了復(fù)雜的集成過程,近年來受到了廣泛的關(guān)注。Mashup核心活動包括數(shù)據(jù)輸入、數(shù)據(jù)可視化、調(diào)度與監(jiān)視、剪裁、轉(zhuǎn)換與充實、動作,以及發(fā)布與推廣等??梢酝ㄟ^使用搜索、語言翻譯、工作流支持和其他改進技術(shù)來增強基礎(chǔ)的Mashup。請圍繞“基于Mashup的Web應(yīng)用系統(tǒng)設(shè)計與應(yīng)用”論題,依次從以下3個方面進行論述。概要敘述你參與管理和實施的Web應(yīng)用系統(tǒng)開發(fā)項目及你所承擔(dān)的主要工作。簡述常見的Mashup數(shù)據(jù)接口,詳細論述你在所參與建設(shè)的Web應(yīng)用系統(tǒng)項目中是如何應(yīng)用Mashup技術(shù),并分析應(yīng)用這些技術(shù)之后對項目產(chǎn)生了哪些效果(或影響)。論述在你參與建設(shè)的Web應(yīng)用系統(tǒng)項目實施過程中遇到的,與Mashup技術(shù)相關(guān)的問題及解決的辦法,還有哪些需要進一步改進之處及如何進行改進。SSS_TEXT_QUSTI分值:18.75答案:1?簡要介紹你參與規(guī)劃和設(shè)計的Web應(yīng)用系統(tǒng)開發(fā)項目,尤其著重介紹Web應(yīng)用系統(tǒng)的應(yīng)用環(huán)境、總體需求(特別是質(zhì)量屬性需求)、Web應(yīng)用系統(tǒng)的邏輯與物理拓撲結(jié)構(gòu)及采用的技術(shù)等內(nèi)容,簡要說明自己在該項目中的角色、所承擔(dān)的主要任務(wù)及開展的主要工作。論文敘述自己參與設(shè)計和實施的Web應(yīng)用系統(tǒng)項目應(yīng)有一定的規(guī)模,自己在該項目中擔(dān)任的主要工作應(yīng)有一定的分量。Mashup程序從架構(gòu)上是由客戶機的Web瀏覽器、Mashup網(wǎng)站和API/內(nèi)容提供者等3個不同的部分組成,它們在邏輯上和物理上都是相互脫離的(可能由網(wǎng)絡(luò)和組織邊界分隔)。Mashup的主要工作流程是,當(dāng)移動用戶向Mashup網(wǎng)站發(fā)起一個請求時,通過GPS系統(tǒng)附帶自身的位置信息;Mashup網(wǎng)站接受請求,并將請求分解為對多個服務(wù)網(wǎng)站的數(shù)據(jù)請求調(diào)用,并為發(fā)起調(diào)用進行準(zhǔn)備;針對不同服務(wù)網(wǎng)站的調(diào)用接口,采用不同的調(diào)用方式;最終在Mashup站點將請求信息進行數(shù)據(jù)內(nèi)容聚合,并將用戶所處位置的整合信息返回。目前,經(jīng)常使用的3種Mashup接口如下。聚合內(nèi)容(ReallySimpleSyndication,RSS)式的Mashup接口。一種用于對網(wǎng)站內(nèi)容進行描述和同步的格式,是目前使用最為廣泛的Web資源發(fā)布方式,可以被稱為資源共享模式的延伸。表述性狀態(tài)轉(zhuǎn)移(REpresentationalStateTransfer,REST)式的Mashup接口。REST從資源的角度來看待整個網(wǎng)絡(luò),分布在各處的資源由統(tǒng)一資源標(biāo)識符(UnifiedResourceIdentifier,URI)確定,而客戶端的應(yīng)用通過URI來獲取資源的表示。

基于簡單對象訪問協(xié)議(SimpleObjectAccessProtocol,SOAP)的Web服務(wù)式Mashup接口。一種基于XML的數(shù)據(jù)格式定義,用來進行Web服務(wù)調(diào)用過程中的參數(shù)調(diào)用和返回。采用基于Web2.0的Mashup技術(shù)架構(gòu)Web應(yīng)用系統(tǒng)具有的優(yōu)勢:①僅需要使用現(xiàn)有Web應(yīng)用程序(如GoogleMaps)公開的,基于Web的API(或Web服務(wù))構(gòu)建應(yīng)用程序,集成過程相對簡單;②直接使用Mashup技術(shù)集成兩個或者更多的WebAPI,創(chuàng)建新的特性與功能;③使用AjaX技術(shù)調(diào)用基于Web的API,瀏覽器客戶端不需要在每次與服務(wù)器通信時都重新加載整個頁面,動態(tài)特性強;④使用SOA的思想集成底層系統(tǒng),強調(diào)功能暴露與服務(wù)組合,以服務(wù)的形式集成并暴露現(xiàn)有系統(tǒng)的能力等。在實現(xiàn)Mashup應(yīng)用時,進行內(nèi)容聚合的物理位置是一個十分重要的因素。目前很多Mashup站點都選擇在客戶端機器上進行內(nèi)容聚合,構(gòu)成所謂的胖因特網(wǎng)應(yīng)用程序(RichInternetApplication,RIA)。這種在客戶端進行內(nèi)容聚合的優(yōu)點主要表現(xiàn)在:①從Mashup服務(wù)器存儲的角度來說,對服務(wù)器所產(chǎn)生的負載較輕,因為數(shù)據(jù)可以直接從內(nèi)容提供者那里傳送到客戶端;②從網(wǎng)絡(luò)傳輸?shù)慕嵌葋碚f,在基于Ajax等技術(shù)和應(yīng)用模型的基礎(chǔ)上,客戶端頁面只請求需要更新的內(nèi)容,而不用刷新整個頁面,從而減少網(wǎng)絡(luò)數(shù)據(jù)的通信量。結(jié)合項目實踐經(jīng)驗,說明你參與管理和開發(fā)的項目中,如何理解Mashup、門戶、SOA、EAI/EII和SaaS之間的關(guān)系;能夠全面和準(zhǔn)確地描述Mashup各個核心活動(包括數(shù)據(jù)輸入、數(shù)據(jù)可視化、調(diào)度與監(jiān)視、剪裁、轉(zhuǎn)換與充實、動作,以及發(fā)布與推廣等)及其具體的實施內(nèi)容;能夠準(zhǔn)確地描述如何管理Mashup開發(fā),包括從計劃和管理方法到集成、測試和部署的全過程;在優(yōu)化安全性、隱私、可訪問性、有用性和性能,通過使用搜索、語言翻譯、工作流支持和其他改進來增強基礎(chǔ)的Mashup,執(zhí)行有效的負載和回歸測試,避免造成企業(yè)Mashup故障的“反模式"等方面也要有一定的論述。有具體著眼點地論述在你參與建設(shè)的Web應(yīng)用系統(tǒng)項目實施過程中遇到的,與Mashup技術(shù)相關(guān)的問題。針對具體的問題你采取了哪些解決技術(shù)、方法和措施,以及它們對該工程項目后期的工作產(chǎn)生了哪些積極(或消極)的影響(效果和存在的問題)。論文最后可以進一步討論你在該工程項目中獲得的與Mashup應(yīng)用相關(guān)的體會,以及在今后的工作過程中,如果碰到類似的開發(fā)項目你將如何應(yīng)用這些經(jīng)驗或教訓(xùn)。對需要進一步改進的地方,應(yīng)有具體的著眼點,不能泛泛而談。論文寫作過程中值得關(guān)注的一些要點如下(全書同)。整篇論文要結(jié)構(gòu)合理、切中要害、陳述完整、言簡意賅、語言流暢、字跡清楚,切忌對知識點的堆積、長篇大論、言之無物。選擇自己參與過的工程項目進行分析論述,所述項目切題真實,介紹清楚。下午試卷II是論述題目,問題中提到的中心內(nèi)容在題目的說明中都有所涉及。在答題時首先要冷靜并認(rèn)真閱讀題目,找出和問題相關(guān)的知識點,確定考題的關(guān)鍵考點,這是答題的前提。(4)摘要是全文概括,千萬不要寫成引言。圍繞論文主題,對所參與的項目進行科學(xué)敘述與評價,要有具體的著眼點,不能泛泛而談,盡可能從字里行間讓閱卷者體會到你的實際工作能力、業(yè)務(wù)水平和項目實踐經(jīng)驗。

在考試過程中應(yīng)注意技巧,讓答題的思路最大限度地符合出題的思路,避免跑題,這樣容易得到閱卷老師的共鳴。根據(jù)考生對所參與的項目中針對本論文主題的相關(guān)敘述與評價,可確定他(她)有無參與信息系統(tǒng)項目開發(fā)過程的實踐經(jīng)驗。試題二2.軟件的設(shè)計模式描述了在特定場景下解決一般設(shè)計問題的類和相互通信的對象。它是人們在長期的開發(fā)實踐中良好經(jīng)驗的結(jié)晶,它提供了一個簡單、統(tǒng)一的描述方法,使人們可以復(fù)用這些軟件設(shè)計方法和過程管理經(jīng)驗?,F(xiàn)在,設(shè)計模式已經(jīng)廣泛地應(yīng)用在軟件開發(fā)中。請圍繞“基于設(shè)計模式的軟件架構(gòu)設(shè)計與應(yīng)用”論題,依次對以下3個方面進行論述。概要敘述你參與管理和開發(fā)的軟件工程項目及你在其中所承擔(dān)的主要工作。簡要介紹設(shè)計模式的基本分類,詳細說明在你所參與管理和開發(fā)的軟件工程項目中應(yīng)用了哪些設(shè)計模式、方法,以及選用它們的原因。分析并討論使用設(shè)計模式的效果,并分析和評價設(shè)計模式對軟件架構(gòu)設(shè)計的影響。SSS_TEXT_QUSTI分值:18.5答案:簡要介紹你參與規(guī)劃、設(shè)計和實施的大中型信息系統(tǒng)軟件工程項目,簡要說明自己在該項目中的角色、所承擔(dān)的主要任務(wù)及開展的主要工作。論文敘述自己參與設(shè)計和實施的軟件工程項目應(yīng)有一定的規(guī)模,自己在該項目中擔(dān)任的主要工作應(yīng)有一定的分量。設(shè)計模式描述了在特定場景下解決一般設(shè)計問題的類和相互通信的對象。設(shè)計模式的核心在于提供了相關(guān)問題的解決方案。設(shè)計模式的基本組成元素有模式名稱、問題或意圖、情景、動機、解決方案、示例、結(jié)果情景、基本原理、相關(guān)模式和已知應(yīng)用等。設(shè)計模式主要用于得到簡潔靈活的系統(tǒng)設(shè)計,GoF的書中共有23個設(shè)計模式,這些模式可以按兩個準(zhǔn)則來分類:一是按設(shè)計模式的目的劃分,可分為創(chuàng)建型、結(jié)構(gòu)型和行為型3種模式;二是按設(shè)計模式的范圍劃分,即根據(jù)設(shè)計模式是作用于類還是作用于對象來劃分,可分為類設(shè)計模式和對象設(shè)計模式,如表所示。設(shè)計模式空間目的類范圍FactoryMethodAdapter(類)Template'Meth°d對象創(chuàng)建型 結(jié)構(gòu)型 行為型對象AbstractFactoryAdapter(對象)ChainofResponsibilityBuilder Bridge Command

PrototypeSingletonComoositeDecoratorPrototypeSingletonComoositeDecoratorFacadeFlyweightProxyIteratorMediatorMementoObserverStateStrategyVisitor創(chuàng)建型模式是對對象實例化過程的抽象,它通過采用抽象類所定義的接口,封裝了系統(tǒng)中對象如何創(chuàng)建、組合等信息。該模式允許在系統(tǒng)中創(chuàng)建對象,而不需要在代碼中標(biāo)識特定類的類型,這樣用戶就不需要編寫大量、復(fù)雜的代碼來初始化對象。它是通過該類的子類來創(chuàng)建對象的。但是,這可能會限制在系統(tǒng)內(nèi)創(chuàng)建對象的類型或數(shù)目。創(chuàng)建型模式主要有FactoryMethod(工廠方法)、AbstractFactory(抽象工廠)、Builder(構(gòu)建器)、Prototype(原型)和Singleton(單獨)等模式。結(jié)構(gòu)型模式主要涉及如何組合已有的類和對象以獲得更大的結(jié)構(gòu),一般借鑒封裝、代理和繼承等概念將一個或多個類或?qū)ο筮M行組合、封裝,以提供統(tǒng)一的外部視圖或新的功能。該模式允許在不重寫代碼或自定義代碼的情況下創(chuàng)建系統(tǒng),從而使系統(tǒng)具有增強的重復(fù)使用性和應(yīng)用性能。該模式控制了應(yīng)用程序較大部分之間的關(guān)系,將以不同的方式影響應(yīng)用程序。結(jié)構(gòu)型模式主要有Adapter(適配器)、Bridge(橋接)、Composite(組成)、Decorator(裝飾)、Facade(外觀)、Flyweight(享元)和Proxy(代理)等。行為型模式主要涉及算法和對象間職責(zé)及其提供的服務(wù)的分配,它不僅描述對象或類的模式,還描述它們之間的通信模式,特別是描述一組對等的對象怎樣相互協(xié)作以完成其中任意一個對象都無法單獨完成的任務(wù)。該模式可以影響一個系統(tǒng)的狀態(tài)和行為流。通過優(yōu)化狀態(tài)和行為流轉(zhuǎn)換和修改的方式,可以簡化、優(yōu)化并且提高應(yīng)用程序的可維護性。行為型模式主要有Observer(觀察者)、Strategy(策略)、Interpreter(解釋器)、TemplateMethod(模板方法)、ChainofResponsibility(職責(zé)鏈)、Command(命令)、Iterator(迭代器)、Mediator(中介者)、Memento(備忘錄)、State(狀態(tài))和Visitor(訪問者)等。能夠全面和準(zhǔn)確地描述該軟件工程項目的應(yīng)用環(huán)境和需求,深入地闡述所選定的設(shè)計模式的主要組成元素,以及選用它們的原因,對于項目開發(fā)過程中采用的技術(shù)和方法要針對該軟件工程項目的實際特點,具有一定的廣度和深度。結(jié)合軟件工程項目實際工作,舉例說明設(shè)計模式的使用效果,并針對設(shè)計模式對軟件開發(fā)的影響展開分析與討論,著重闡述所采用的設(shè)計模式對該工程項目后期的工作產(chǎn)生了哪些積極(或消極)的影響(效果和存在的問題)。最后,進一步敘述你對設(shè)計模式在軟件架構(gòu)設(shè)計中的幾點應(yīng)用體會,以及在今后的工作過程中,如果碰到類似的開發(fā)項目你將如何應(yīng)用這些經(jīng)驗或教訓(xùn)。對需要進一步改進的地方,應(yīng)有具體的著眼點,不能泛泛而談。試題三

閱讀以下關(guān)于企業(yè)應(yīng)用集成的敘述,根據(jù)要求回答問題。[說明]某大型企業(yè)隨著信息化的進展,積累了許多異構(gòu)的遺產(chǎn)信息系統(tǒng),這些系統(tǒng)分別采用J2EE、.NET等技術(shù)進行開發(fā),分布在不同的地理位置,采用不同的協(xié)議進行數(shù)據(jù)傳輸。企業(yè)要求集成后的系統(tǒng)能夠?qū)崿F(xiàn)功能整合,并在組織現(xiàn)有功能的基礎(chǔ)上提供增值服務(wù)。FT軟件開發(fā)公司承接了某大型企業(yè)應(yīng)用系統(tǒng)集成任務(wù)。為了按時保質(zhì)完成任務(wù),選擇合適的企業(yè)應(yīng)用集成方法和架構(gòu)非常重要。項目組在討論方案時,提出了兩種集成思路。魏工建議采用傳統(tǒng)的應(yīng)用集成方法,將應(yīng)用集成分為多個層次,并采用消息代理中間件連接遺產(chǎn)系統(tǒng)。陳工建議采用基于SOA的方法進行應(yīng)用集成,將現(xiàn)有遺產(chǎn)系統(tǒng)采用WebService的方式進行包裝,暴露統(tǒng)一格式的接口,并采用企業(yè)服務(wù)總線(ESB)進行連接。項目組仔細分析比較了兩種方案的優(yōu)點和不足后,認(rèn)為魏工和陳工的建議都合理,但是結(jié)合當(dāng)前項目的實際情況,最后決定采用陳工的建議。SSS_TEXT_QUSTI3.[問題1]請分析比較兩種集成方案的優(yōu)點和不足,將表中的(1)?(6)空缺處的內(nèi)容填寫完整。分值:15答案:應(yīng)用集成是指兩個或多個應(yīng)用系統(tǒng)根據(jù)業(yè)務(wù)邏輯的需要而進行的功能之間的相互調(diào)用和互操作。應(yīng)用集成需要在數(shù)據(jù)集成的基礎(chǔ)上完成。應(yīng)用集成在底層的網(wǎng)絡(luò)集成和數(shù)據(jù)集成的基礎(chǔ)上實現(xiàn)異構(gòu)應(yīng)用系統(tǒng)之間語用層次上的互操作。它們共同構(gòu)成了實現(xiàn)企業(yè)集成化運行最頂層會聚集成所需要的,技術(shù)層次上的基礎(chǔ)支持。應(yīng)用集成模式包括集成適配器、集成信使、集成面板和集成代理4種,每種應(yīng)用集成模式都是對具有業(yè)務(wù)功能依賴關(guān)系的多個應(yīng)用之間互操作實現(xiàn)方法的總結(jié)。在具體應(yīng)用中,集成模式可能以某種變形(這是一種擴展集成模式的主要方式)的形式出現(xiàn),這些變形可能不僅僅只是一種模式的實例化,也可能是一種具有廣泛適用性的集成方式。通常,應(yīng)用集成主要采用點對點的緊耦合方式。這種集成方式雖然不需要對應(yīng)用系統(tǒng)做較大的改動,但用這種方式集成的系統(tǒng)缺乏必要的柔性,不能適應(yīng)業(yè)務(wù)系統(tǒng)快速重構(gòu)的需求。隨著應(yīng)用軟件系統(tǒng)設(shè)計和實現(xiàn)過程中標(biāo)準(zhǔn)化程度的不斷提高,系統(tǒng)的開放性(可配置性、可擴展性)越來越好,組件化的系統(tǒng)實現(xiàn)及松散耦合的應(yīng)用集成方式逐漸成為構(gòu)建企業(yè)業(yè)務(wù)處理系統(tǒng)的主流。其中,松散耦合是實現(xiàn)系統(tǒng)柔性的基礎(chǔ)。在陳工建議的集成方案中,WebService是一種可以接收從Internet或Intranet上傳送的請求、輕量級的獨立的通信技術(shù),它允許網(wǎng)絡(luò)上的所有系統(tǒng)相互間進行交互。WebService的3個基本技術(shù)分別是UDDI、WSDL和SOAP,它

們都是以XML為基礎(chǔ)定義的。在Web服務(wù)體系中,使用WSDL來描述服務(wù),UDDI來發(fā)布和查找服務(wù),而SOAP用來執(zhí)行服務(wù)調(diào)用。面向服務(wù)架構(gòu)體系結(jié)構(gòu)(SOA)的幾個關(guān)鍵特性是,它是一種粗粒度、松耦合的服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進行通信,不涉及底層編程接口和通信模型。SOA可以根據(jù)需求通過網(wǎng)絡(luò)對松耦合、粗粒度的應(yīng)用組件進行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。SOA技術(shù)將應(yīng)用程序的不同功能單元通過一些良好定義的接口聯(lián)系起來,并且接口采用中立的方式進行定義,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這樣可以使得構(gòu)建的服務(wù)以一種統(tǒng)一和通用的方式進行交互。企業(yè)服務(wù)總線(ESB)是對消息中間件的發(fā)展,采用了“總線”這樣一種模式來管理和簡化應(yīng)用之間的集成拓撲結(jié)構(gòu),以廣為接受的開放標(biāo)準(zhǔn)為基礎(chǔ)來支持應(yīng)用程序之間在消息、事件和服務(wù)的級別上動態(tài)地互連互通。ESB的基本核心功能包括:①提供位置透明性的消息路由和尋址服務(wù);②提供服務(wù)注冊和命名的管理功能;③支持多種消息傳遞范型;④傳輸協(xié)議轉(zhuǎn)換;⑤支持多種數(shù)據(jù)格式及其相互轉(zhuǎn)換;⑥提供日志和監(jiān)控功能等。ESB所提供的基于標(biāo)準(zhǔn)的連接服務(wù),將應(yīng)用中實現(xiàn)的功能或者數(shù)據(jù)資源轉(zhuǎn)化為服務(wù)請求者能以標(biāo)準(zhǔn)的方式來訪問的服務(wù);當(dāng)請求者來請求一個服務(wù)時,ESB中這種中介轉(zhuǎn)化過程可能簡單到什么也沒有,也可能需要很復(fù)雜的中介服務(wù)支持,包括動態(tài)地查找和選擇一個服務(wù),以及消息的傳遞、路由和轉(zhuǎn)換、協(xié)議的轉(zhuǎn)換。這種中介過程,是ESB借助于服務(wù)注冊管理及問題域相關(guān)的知識(如業(yè)務(wù)方面的一些規(guī)則等)自動進行的,不需要服務(wù)請求者和提供者介入,從而實現(xiàn)了解耦服務(wù)請求者和提供者的技術(shù)基礎(chǔ),使得服務(wù)請求者不需要關(guān)心服務(wù)提供者的位置和具體實現(xiàn)技術(shù),雙方在保持接口不變的情況下,各自可以獨立地演變。如果企業(yè)只是進行小規(guī)?;蜉^淺層次的“戰(zhàn)術(shù)”級應(yīng)用集成,采用傳統(tǒng)的集成方式即可較好的完成任務(wù)。但是如果企業(yè)想從集成系統(tǒng)的靈活性和可擴展角度考慮,能夠持續(xù)地集成已有信息系統(tǒng),并進行“戰(zhàn)略”意義上的長遠規(guī)劃,那么面向服務(wù)的架構(gòu)無疑是一種更加優(yōu)越的方法。采用SOA架構(gòu)思想進行應(yīng)用集成,企業(yè)現(xiàn)有的應(yīng)用系統(tǒng)都可以看做廣義上的服務(wù)提供者,因此(1)空缺處應(yīng)該填寫“將現(xiàn)有系統(tǒng)看做抽象的服務(wù)提供者,集成方法統(tǒng)一明確”。傳統(tǒng)的應(yīng)用集成方式往往采用分層的方式對待整個集成活動,因此在(2)空缺處應(yīng)該填寫“不同層次的集成方法關(guān)注點不同,功能組合方面能力較弱”。而采用SOA架構(gòu)的應(yīng)用集成方案中,(3)空缺處應(yīng)該填寫“強調(diào)功能的暴露與服務(wù)的組合,便于提供增值服務(wù)”。對于(4)空缺處,傳統(tǒng)的集成方式大多會采用中心輻射型的集成架構(gòu),系統(tǒng)的耦合程度較高。而對于(5)空缺處,SOA架構(gòu)的ESB采用總線結(jié)構(gòu)模式,簡化了應(yīng)用之間的集成拓撲,系統(tǒng)的耦合度較低。采用SOA架構(gòu)的應(yīng)用集成方案通過源白實踐的模式,提供了基于標(biāo)準(zhǔn)的通用連接服務(wù),使得服務(wù)請求者和服務(wù)提供者之間可以以松散耦合、動態(tài)的方式交互,從而在不同層次上使得解決方案是一個松散耦合、靈活的架構(gòu)。因此在(6)空缺處應(yīng)該填寫“集成系統(tǒng)具有模塊化、松耦合的特點,可擴展性較強”。整理以上分析內(nèi)容,可得到兩種集成方案各自的優(yōu)點和不足,如下表所

/示oSSS_TEXT_QUSTI4.[問題2]企業(yè)數(shù)據(jù)的分布性和異構(gòu)性是應(yīng)用系統(tǒng)方便訪問企業(yè)數(shù)據(jù)和在企業(yè)數(shù)據(jù)之上提供增值服務(wù)的主要障礙?;赟OA的企業(yè)集成通過信息服務(wù)提供集成數(shù)據(jù)的能力,針對該企業(yè)的集成實際情況,請用300字以內(nèi)的文字列舉3種基于SOA的企業(yè)集成中的“數(shù)據(jù)整合一一信息服務(wù)”,并給出簡要說明。分值:15答案:企業(yè)數(shù)據(jù)的分布性和異構(gòu)性是應(yīng)用系統(tǒng)方便訪問企業(yè)數(shù)據(jù)和在企業(yè)數(shù)據(jù)之上提供增值服務(wù)的主要障礙。數(shù)據(jù)集成和聚合技術(shù)在這種背景下誕生,用于提供對分布式數(shù)據(jù)和異構(gòu)數(shù)據(jù)的透明訪問。以服務(wù)為中心的企業(yè)集成通過信息服務(wù)提供集成數(shù)據(jù)的能力,目前主要包括如下集中信息服務(wù)。聯(lián)邦服務(wù)(FederationService):提供將各種類型的數(shù)據(jù)聚合的能力,它既支持關(guān)系型數(shù)據(jù),也支持XML數(shù)據(jù)、文本數(shù)據(jù)和內(nèi)容數(shù)據(jù)等非關(guān)系型數(shù)據(jù)。同時,所有的數(shù)據(jù)仍然按照自己本身的方式管理。復(fù)制服務(wù)(ReplicationService):提供遠程數(shù)據(jù)的本地訪問能力,它通過自動的實時復(fù)制和數(shù)據(jù)轉(zhuǎn)換,在本地維護一個數(shù)據(jù)源的副本。本地數(shù)據(jù)和數(shù)據(jù)源在技術(shù)實現(xiàn)上可以是獨立的。轉(zhuǎn)換服務(wù)(TransformationService):用于數(shù)據(jù)源格式到目標(biāo)格式的轉(zhuǎn)換,可以是批量的或者是基于記錄的。搜索服務(wù)(SearchService):提供對企業(yè)數(shù)據(jù)的查詢和檢索服務(wù),既支持?jǐn)?shù)據(jù)庫等結(jié)構(gòu)化數(shù)據(jù),也支持如PDF等非結(jié)構(gòu)化數(shù)據(jù)。SSS_TEXT_QUSTI5.[問題3]結(jié)合你的系統(tǒng)架構(gòu)設(shè)計經(jīng)驗,請用300字以內(nèi)的文字簡要說明FT公司項目組在對該企業(yè)構(gòu)建SOA架構(gòu)時,除了注意原有系統(tǒng)架構(gòu)中的集成需求之外,還需要在服務(wù)構(gòu)建時重點關(guān)注哪些問題。分值:15答案:當(dāng)基于SOA來構(gòu)建一個企業(yè)級的系統(tǒng)架構(gòu)時,一定要注意對原有系統(tǒng)架構(gòu)中的集成需求進行細致的分析和整理。而關(guān)于系統(tǒng)中最重要的元素,也就是SOA系統(tǒng)中服務(wù)的構(gòu)建有兩點需要特別注意的地方:①是對于服務(wù)粒度的控制;②是對于無狀態(tài)服務(wù)的設(shè)計。SOA系統(tǒng)中服務(wù)粒度的控制是一項十分重要的設(shè)計任務(wù)。通常來說,對于將暴露在整個系統(tǒng)外部的服務(wù)推薦使用粗粒度的接口,而相對較細粒度的服務(wù)接口通常用于企業(yè)系統(tǒng)架構(gòu)的內(nèi)部。從技術(shù)上講,粗粒度的服務(wù)接口可能是一個特定服務(wù)的完整執(zhí)行,而細粒度的服務(wù)接口可能是實現(xiàn)這個粗粒度服務(wù)接口

的具體的內(nèi)部操作。雖然細粒度的接口能為服務(wù)請求者提供更加細化和更多的靈活性,但同時也意味著引入較難控制的交互模式易變性,也就是說服務(wù)的交互模式可能隨著不同的服務(wù)請求者而不同。如果暴露這些易于變化的服務(wù)接口給系統(tǒng)的外部用戶,就可能造成外部服務(wù)請求者難于支持不斷變化的服務(wù)提供者所暴露的細粒度服務(wù)接口;而粗粒度服務(wù)接口保證了服務(wù)請求者將以一致的方式使用系統(tǒng)中所暴露出的服務(wù)。雖然SOA并不強制要求一定要使用粗粒度的服務(wù)接口,但是建議使用它們作為外部集成的接口。通常,可以使用業(yè)務(wù)流程(BPEL)來創(chuàng)建由細粒度操作組成的業(yè)務(wù)流程的粗粒度的服務(wù)接口。SOA系統(tǒng)架構(gòu)中的具體服務(wù)應(yīng)該都是獨立的、自包含的請求,在實現(xiàn)這些服務(wù)的時候不需要前一個請求的狀態(tài),也就是說服務(wù)不應(yīng)該依賴于其他服務(wù)的上下文和狀態(tài),即SOA架構(gòu)中的服務(wù)應(yīng)該是無狀態(tài)的服務(wù)。當(dāng)某一個服務(wù)需要依賴時,最好把它定義成具體的業(yè)務(wù)流程(BPEL)。在服務(wù)的具體實現(xiàn)機制上,可以通過使用EJB組件來實現(xiàn)粗粒度的服務(wù)。通常,可以利用無狀態(tài)的SessionBean來實現(xiàn)具體的服務(wù),如果基于WebService技術(shù),就可以將無狀態(tài)的SessionBean暴露為外部用戶可以調(diào)用到的Web服務(wù),也就是把傳統(tǒng)的SessionFacade模型轉(zhuǎn)化為EJB的Web服務(wù)端點。這樣,就可以向Web服務(wù)客戶提供粗粒度的服務(wù)。如果要在J2EE的環(huán)境下(基于WebSphere)構(gòu)建Web服務(wù),Web服務(wù)客戶可以通過兩種方式訪問J2EE應(yīng)用程序。客戶可以訪問用JAX-RPCAPI創(chuàng)建的Web服務(wù)(使用Servlet來實現(xiàn));Web服務(wù)客戶也可以通過EJB的服務(wù)端點接口訪問無狀態(tài)的Session:Bean,但Web服務(wù)客戶不能訪問其他類型的企業(yè)Bean,如有狀態(tài)的SessionBean、實體Bean和消息驅(qū)動Bean。對于后一種訪問方式(公開無狀態(tài)EJB組件作為Web服務(wù))的優(yōu)勢在于,基于已有的EJB組件,可以利用現(xiàn)有的業(yè)務(wù)邏輯和流程。在許多企業(yè)中,現(xiàn)有的業(yè)務(wù)邏輯可能已經(jīng)使用EJB組件編寫,通過Web服務(wù)公開它可能是實現(xiàn)從外界訪問這些服務(wù)的最佳選擇。EJB端點是一種很好的選擇,因為它使業(yè)務(wù)邏輯和端點位于同一層上。另外,EJB容器會自動提供對并發(fā)的支持,作為無狀態(tài)SessionBean實現(xiàn)的EJB服務(wù)端點不必擔(dān)心多線程訪問,因為EJB容器必須串行化對無狀態(tài)會話Bean任何特定實例的請求。由于EJB容器都會提供對于Security和Transaction的支持,因此Bean的開發(fā)人員可以無須編寫安全代碼及事務(wù)處理代碼。性能問題對于Web服務(wù)來說一直都是一個問題,由于幾乎所有EJB容器都提供了對無狀態(tài)會話Bean群集的支持,以及對無狀態(tài)SessionBean池與資源管理的支持,因此當(dāng)負載增加時,可以向集群中增加服務(wù)器數(shù)目。Web服務(wù)請求可以定向到這些不同的服務(wù)器,同時由于無狀態(tài)SessionBean池改進了資源利用和內(nèi)存管理,使Web服務(wù)能夠有效地響應(yīng)多個客戶請求。由此可以看到,通過把Web服務(wù)模型化為EJB端點,可以使服務(wù)具有更強的可伸縮性,并增強了系統(tǒng)整體的可靠性。試題四閱讀以下關(guān)于UML軟件系統(tǒng)建模的敘述,根據(jù)要求回答問題。[說明]車載GPS(GlobalPositionSystem)終端是置于機動車內(nèi)的實時定位裝置,它的應(yīng)用對象是需要定位和調(diào)度的車輛。車輛可以通過終端與GPS進行實時、準(zhǔn)確的定位,并能夠通過無線通信網(wǎng)絡(luò)上報遠程的車輛調(diào)度中心。中心可以通過終端遠程監(jiān)視車行軌跡,并可在特殊情況下通過終端控制車輛。同時,終端還

裝備車載電話,可以在出現(xiàn)特殊情況時及時地通知車輛調(diào)度中心。圖1所示為車載終端系統(tǒng)的用例圖,對于車載GPS終端系統(tǒng)來說,主要的角色有兩個,分別為車輛調(diào)度中心用戶和車載終端用戶。圖1圖2所示為車載終端系統(tǒng)中的GSM無線電通信模塊的部分狀態(tài)圖,用于與調(diào)度中心進行聯(lián)系。GSM模塊共有4個狀態(tài),分別為通話中、有問題、待命和短消息通信中。圖2SSS_TEXT_QUSTI6.[問題1]車載終端用戶在遇到特殊情況下通過車載電話(或按鍵)與調(diào)度中心保持通信的處理過程順序圖如圖3所示。結(jié)合你的系統(tǒng)架構(gòu)經(jīng)驗,以及對GPS終端系統(tǒng)的理解,請將下列A?F標(biāo)記的處理過程填入到圖3中的(1)?(6)空缺處,并給出通過車載電話(或按鍵)與調(diào)度中心保持通信的正確處理順序(請用A?F表達,例如ABCDEF)。A.語音對話/按下按鈕B.監(jiān)聽命令C.發(fā)送信息到通信模塊D.要求監(jiān)聽E.通過GSM發(fā)送信息 F.接收成功要求監(jiān)聽信息分值:15答案:圖2為車載終端用戶通過車載電話(或按鍵)與調(diào)度中心保持通信的處理過程順序圖。其表達的處理過程如下:用戶通過按下按鈕或語音對話試圖連接調(diào)度中心,主控器模塊接收到連接請求后(或連接建立后),就發(fā)送相應(yīng)的信息給通信模塊;通信模塊負責(zé)處理并通過GSM發(fā)送消息,調(diào)度中心接收消息成功后要求監(jiān)聽信息,并把該要求返回給車載系統(tǒng)的GSM通信模塊;GSM通信模塊把該請求信息(即調(diào)度中心的要求監(jiān)聽信息)遞交給主模塊,主模塊把監(jiān)聽命令遞交給GSM通信模塊,然后可由GSM通信模塊遞交給調(diào)度中心。SSS_TEXT_QUSTI7.[問題2]建立頂層架構(gòu)是基于UML對該車載GPS終端系統(tǒng)進行建模的步驟之一。頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計活動建立一種結(jié)構(gòu)和分劃,以便開發(fā)人員在不同階段,以及同一開發(fā)階段的不同開發(fā)人員,能夠聚集于系統(tǒng)的不同部分。結(jié)合你的系統(tǒng)架構(gòu)經(jīng)驗,請簡要說明在該車載GPS終端系統(tǒng)確立頂層架構(gòu)的過程中需要綜合考慮哪些因素?

答案:在初步的業(yè)務(wù)需求描述已經(jīng)形成的前提下,基于UML的需求分析大致可分為以下幾個步驟。?利用用例及用例圖表示需求。從業(yè)務(wù)需求描述出發(fā)獲取執(zhí)行者和場景;對場景進行匯總、分類和抽象;形成用例;確定執(zhí)行者與用例,用例與用例圖之間的關(guān)系,生成用例圖。?利用包圖及類圖表示目標(biāo)軟件系統(tǒng)的總體框架結(jié)構(gòu)。根據(jù)領(lǐng)域知識、業(yè)務(wù)需求描述和既往經(jīng)驗設(shè)計目標(biāo)軟件系統(tǒng)的頂層架構(gòu);從業(yè)務(wù)需求描述中提取“關(guān)鍵概念”,形成領(lǐng)域概念模型;從概念模型和用例出發(fā),研究系統(tǒng)中主要的類之間的關(guān)系,生成類圖。上述兩個步驟并沒有時序關(guān)系,它們可以并行展開。其中,頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計活動建立一種結(jié)構(gòu)和分劃,以便開發(fā)人員在不同的開發(fā)階段,以及同一開發(fā)階段的不同開發(fā)人員,能夠聚焦于系統(tǒng)的不同部分。頂層架構(gòu)是分析和設(shè)計的階段成果的承載體。隨著開發(fā)過程的推進,框架中的內(nèi)容不斷豐富和翔實,最終演進為完整的面向?qū)ο蟮能浖Y(jié)構(gòu)。UML包圖是表示項層架構(gòu)的適當(dāng)機制。建立軟件系統(tǒng)頂層架構(gòu)的基本方法是,結(jié)合實際需求,從既往的架構(gòu)設(shè)計經(jīng)驗?zāi)P椭羞x取適當(dāng)者,再進行微調(diào)或局部改造。目前有以下幾種主要的架構(gòu)模式。流程處理模式。流程處理系統(tǒng)以算法和數(shù)據(jù)結(jié)構(gòu)為中心,其系統(tǒng)功能由一系列的處理步驟構(gòu)成,相鄰的處理步驟之間以數(shù)據(jù)流通管道相互連接。該模式僅適合于采用批處理方式的軟件系統(tǒng),不適合于交互式系統(tǒng)??蛻?服務(wù)器模式??蛻舳素撠?zé)用戶輸入和處理結(jié)果的呈現(xiàn),服務(wù)器端則負責(zé)后臺的業(yè)務(wù)邏輯處理。模型一視圖一控制器(MVC)模式。該模式將整個軟件系統(tǒng)劃分為模型、視圖和控制器3個部分。模型負責(zé)維護并保存具有持久性的業(yè)務(wù)數(shù)據(jù),實現(xiàn)業(yè)務(wù)處理功能,并將業(yè)務(wù)數(shù)據(jù)的變化情況及時通知視圖;視圖負責(zé)呈現(xiàn)模型的業(yè)務(wù)數(shù)據(jù),響應(yīng)模型變化通知,更新呈現(xiàn)形式,并向控制器傳遞用戶的界面動作;控制器負責(zé)將用戶的界面動作映射為模型中業(yè)務(wù)處理功能并實際調(diào)用之,然后根據(jù)模型返回的業(yè)務(wù)處理結(jié)果選擇新的視圖。MVC模式特別適合于分布式應(yīng)用軟件,尤其是Web應(yīng)用系統(tǒng)。分層模式。該模式將整個軟件系統(tǒng)分為若干層次,最頂層直接面向用戶提供軟件系統(tǒng)的操作界面,其余各層為緊鄰其上的層次提供服務(wù)。層次劃時分的主要原則是,較易變化的軟件部分(例如用戶界面和與業(yè)務(wù)邏輯緊密相關(guān)的部件)置于較高層次,較穩(wěn)定的軟件部分(例如公共的技術(shù)服務(wù)部件)則位于較低層次;每一層次盡量只訪問其緊鄰下層提供的服務(wù),避免越級訪問,尤其要避免逆向訪問(上層模塊為下層模塊提供服務(wù))在許多情況下,可以將目標(biāo)軟件系統(tǒng)的外部接口置入較低層次,目標(biāo)軟件系統(tǒng)其余部分對外部系統(tǒng)的訪問或操作均通過這些外部接口所提供的公共服務(wù)來完成。分層模式可以有效地降低軟件系統(tǒng)的耦合度,因此其應(yīng)用十分普遍。在全面了解軟件架構(gòu)樣式的前提下,對于具體的應(yīng)用需求而言,影響頂層架構(gòu)選取的主要因素在于系統(tǒng)架構(gòu)師的經(jīng)驗及他們對每種架構(gòu)樣式與當(dāng)前軟件項目之間匹配程度的判斷。事實上,大型軟件的頂層架構(gòu)往往需要復(fù)合使用多種架構(gòu)樣式。例如,整個目標(biāo)軟件系統(tǒng)采用分層結(jié)構(gòu),在系統(tǒng)的不同層次內(nèi)再分別使用適宜的其他種類的架構(gòu)模式。在確立頂層架構(gòu)的過程中,需要綜合考慮以下因素。⑴架構(gòu)中包的數(shù)量。原則上,如果每個包中包含的軟件元素(例如類)的數(shù)量過多,應(yīng)考慮將其進一步細分;如果過少,則說明架構(gòu)過早地陷入了細節(jié),架構(gòu)劃分返工的可能性較大,同時也不合理地限制了后續(xù)分析和設(shè)計活動的自由空間。架構(gòu)中包之間的耦合度。包之間的依賴關(guān)系和連接關(guān)系應(yīng)盡量簡單、稀疏,例如,在分層結(jié)構(gòu)中,通常要求某一層中的軟件元素只與同層及相鄰下一層的元素之間存在依賴關(guān)系。軟件元素的穩(wěn)定性。要盡量抽取不穩(wěn)定的軟件元素之中相對穩(wěn)定的部分,將不穩(wěn)定的軟件元素分類聚集于少數(shù)幾個包中,以提高軟件系統(tǒng)的可維護性。軟件元素的必然性??梢詫⒖蛇x功能和必須實現(xiàn)的功能分置于架構(gòu)中不同的包或子包之中。作為軟件系統(tǒng)運行環(huán)境的物理網(wǎng)絡(luò)拓撲。根據(jù)軟件元素在分布環(huán)境的部署情況,區(qū)分頂層架構(gòu)中的包,可以使包之間的消息傳遞與物理節(jié)點之間的通信相吻合,使后續(xù)的分析和設(shè)計活動受益于頂層架構(gòu)中明確定義的通信關(guān)系。軟件元素的安全和保密級別。根據(jù)安全訪問的權(quán)限劃分頂層架構(gòu)中的包或者子包。開發(fā)團隊的技術(shù)專長。根據(jù)開發(fā)人員在問題領(lǐng)域和軟件技術(shù)領(lǐng)域不同的專長劃分頂層架構(gòu)中的包,使每個包都能分配給最適合的開發(fā)人員進行后續(xù)的分析、設(shè)計、編碼和測試等,從而有利于并行開發(fā)。試題五閱讀下列關(guān)于軟件產(chǎn)品線方面的敘述,回答問題。[說明]A公司是一家中等規(guī)模的計算機企業(yè),專門從事網(wǎng)絡(luò)安全防護軟件系統(tǒng)的開發(fā)。從最初僅開發(fā)基于Windows的個人防火墻產(chǎn)品開始,現(xiàn)在已經(jīng)延伸到基Linux、Windows系列、Mac操作系統(tǒng)的個人防火墻、企業(yè)防火墻、入侵檢測系統(tǒng)、病毒掃描系統(tǒng),以及安全掃描系統(tǒng)等多種產(chǎn)品。公司原來的產(chǎn)品都是一個一個地開發(fā),為每個軟件對應(yīng)地組織一個項目組。為了適應(yīng)快速變化的市場,降低開發(fā)成本,公司想引入產(chǎn)品線方法。然而,軟件產(chǎn)品線方法涉及了一個軟件開發(fā)企業(yè)的多個產(chǎn)品,所以,公司的王總決定在弄清楚以下3個問題之后再做決定:首先是本公司的業(yè)務(wù)范圍是否適合使用產(chǎn)品線方法,其次是如何在原有產(chǎn)品的基礎(chǔ)上建立產(chǎn)品線,最后是成功實施產(chǎn)品線的主要因素。SSS_TEXT_QUSTI8.[問題1]結(jié)合你的系統(tǒng)架構(gòu)設(shè)計經(jīng)驗,請用200字以內(nèi)的文字簡要說明A公司是否適合采用產(chǎn)品線方法,并說明你的理由。答案:這是一道要求讀者根據(jù)具體應(yīng)用環(huán)境,分析軟件產(chǎn)品線(SoftwareProductLine)的適用性的綜合理解題。本試題的解答思路如下。軟件產(chǎn)品線代表了一種強勁的軟件開發(fā)范例,它可使軟件生產(chǎn)在時間、成本和質(zhì)量方面獲得顯著改善。它是一個十分適合專業(yè)的軟件開發(fā)組織的軟件開發(fā)方法,能夠有效地提高軟件生產(chǎn)率和質(zhì)量,縮短開發(fā)時間,降低總開發(fā)成本。同時,它也是一個新興的、多學(xué)科交叉的研究領(lǐng)域,研究內(nèi)容和范圍都相當(dāng)廣泛??突仿〈髮W(xué)軟件工程研究所(CMU/SEI)對產(chǎn)品線和軟件產(chǎn)品線的定義是,產(chǎn)品線是一個產(chǎn)品集合,這些產(chǎn)品共享一個公共的、可管理的特征集,這個特征集能滿足選定的市場或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個預(yù)描述的方式,在公共的核心資源(CoreAssets)基礎(chǔ)上開發(fā)的。這一定義體現(xiàn)了軟件產(chǎn)品線

溫馨提示

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

最新文檔

評論

0/150

提交評論