




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高級(jí)系統(tǒng)架構(gòu)設(shè)計(jì)師下午試題(1)-2(總分157.25,做題時(shí)間90分鐘)試題一1.采用基于Web2.0的Mashup技術(shù)架構(gòu)Web應(yīng)用系統(tǒng),可以從不同的數(shù)據(jù)源抽取數(shù)據(jù),聚合并轉(zhuǎn)換數(shù)據(jù),在不同的上下文使用,避免了復(fù)雜的集成過(guò)程,近年來(lái)受到了廣泛的關(guān)注。Mashup核心活動(dòng)包括數(shù)據(jù)輸入、數(shù)據(jù)可視化、調(diào)度與監(jiān)視、剪裁、轉(zhuǎn)換與充實(shí)、動(dòng)作,以及發(fā)布與推廣等??梢酝ㄟ^(guò)使用搜索、語(yǔ)言翻譯、工作流支持和其他改進(jìn)技術(shù)來(lái)增強(qiáng)基礎(chǔ)的Mashup。請(qǐng)圍繞“基于Mashup的Web應(yīng)用系統(tǒng)設(shè)計(jì)與應(yīng)用”論題,依次從以下3個(gè)方面進(jìn)行論述。概要敘述你參與管理和實(shí)施的Web應(yīng)用系統(tǒng)開發(fā)項(xiàng)目及你所承擔(dān)的主要工作。簡(jiǎn)述常見的Mashup數(shù)據(jù)接口,詳細(xì)論述你在所參與建設(shè)的Web應(yīng)用系統(tǒng)項(xiàng)目中是如何應(yīng)用Mashup技術(shù),并分析應(yīng)用這些技術(shù)之后對(duì)項(xiàng)目產(chǎn)生了哪些效果(或影響)。論述在你參與建設(shè)的Web應(yīng)用系統(tǒng)項(xiàng)目實(shí)施過(guò)程中遇到的,與Mashup技術(shù)相關(guān)的問(wèn)題及解決的辦法,還有哪些需要進(jìn)一步改進(jìn)之處及如何進(jìn)行改進(jìn)。SSS_TEXT_QUSTI分值:18.75答案:1?簡(jiǎn)要介紹你參與規(guī)劃和設(shè)計(jì)的Web應(yīng)用系統(tǒng)開發(fā)項(xiàng)目,尤其著重介紹Web應(yīng)用系統(tǒng)的應(yīng)用環(huán)境、總體需求(特別是質(zhì)量屬性需求)、Web應(yīng)用系統(tǒng)的邏輯與物理拓?fù)浣Y(jié)構(gòu)及采用的技術(shù)等內(nèi)容,簡(jiǎn)要說(shuō)明自己在該項(xiàng)目中的角色、所承擔(dān)的主要任務(wù)及開展的主要工作。論文敘述自己參與設(shè)計(jì)和實(shí)施的Web應(yīng)用系統(tǒng)項(xiàng)目應(yīng)有一定的規(guī)模,自己在該項(xiàng)目中擔(dān)任的主要工作應(yīng)有一定的分量。Mashup程序從架構(gòu)上是由客戶機(jī)的Web瀏覽器、Mashup網(wǎng)站和API/內(nèi)容提供者等3個(gè)不同的部分組成,它們?cè)谶壿嬌虾臀锢砩隙际窍嗷ッ撾x的(可能由網(wǎng)絡(luò)和組織邊界分隔)。Mashup的主要工作流程是,當(dāng)移動(dòng)用戶向Mashup網(wǎng)站發(fā)起一個(gè)請(qǐng)求時(shí),通過(guò)GPS系統(tǒng)附帶自身的位置信息;Mashup網(wǎng)站接受請(qǐng)求,并將請(qǐng)求分解為對(duì)多個(gè)服務(wù)網(wǎng)站的數(shù)據(jù)請(qǐng)求調(diào)用,并為發(fā)起調(diào)用進(jìn)行準(zhǔn)備;針對(duì)不同服務(wù)網(wǎng)站的調(diào)用接口,采用不同的調(diào)用方式;最終在Mashup站點(diǎn)將請(qǐng)求信息進(jìn)行數(shù)據(jù)內(nèi)容聚合,并將用戶所處位置的整合信息返回。目前,經(jīng)常使用的3種Mashup接口如下。聚合內(nèi)容(ReallySimpleSyndication,RSS)式的Mashup接口。一種用于對(duì)網(wǎng)站內(nèi)容進(jìn)行描述和同步的格式,是目前使用最為廣泛的Web資源發(fā)布方式,可以被稱為資源共享模式的延伸。表述性狀態(tài)轉(zhuǎn)移(REpresentationalStateTransfer,REST)式的Mashup接口。REST從資源的角度來(lái)看待整個(gè)網(wǎng)絡(luò),分布在各處的資源由統(tǒng)一資源標(biāo)識(shí)符(UnifiedResourceIdentifier,URI)確定,而客戶端的應(yīng)用通過(guò)URI來(lái)獲取資源的表示。
基于簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SimpleObjectAccessProtocol,SOAP)的Web服務(wù)式Mashup接口。一種基于XML的數(shù)據(jù)格式定義,用來(lái)進(jìn)行Web服務(wù)調(diào)用過(guò)程中的參數(shù)調(diào)用和返回。采用基于Web2.0的Mashup技術(shù)架構(gòu)Web應(yīng)用系統(tǒng)具有的優(yōu)勢(shì):①僅需要使用現(xiàn)有Web應(yīng)用程序(如GoogleMaps)公開的,基于Web的API(或Web服務(wù))構(gòu)建應(yīng)用程序,集成過(guò)程相對(duì)簡(jiǎn)單;②直接使用Mashup技術(shù)集成兩個(gè)或者更多的WebAPI,創(chuàng)建新的特性與功能;③使用AjaX技術(shù)調(diào)用基于Web的API,瀏覽器客戶端不需要在每次與服務(wù)器通信時(shí)都重新加載整個(gè)頁(yè)面,動(dòng)態(tài)特性強(qiáng);④使用SOA的思想集成底層系統(tǒng),強(qiáng)調(diào)功能暴露與服務(wù)組合,以服務(wù)的形式集成并暴露現(xiàn)有系統(tǒng)的能力等。在實(shí)現(xiàn)Mashup應(yīng)用時(shí),進(jìn)行內(nèi)容聚合的物理位置是一個(gè)十分重要的因素。目前很多Mashup站點(diǎn)都選擇在客戶端機(jī)器上進(jìn)行內(nèi)容聚合,構(gòu)成所謂的胖因特網(wǎng)應(yīng)用程序(RichInternetApplication,RIA)。這種在客戶端進(jìn)行內(nèi)容聚合的優(yōu)點(diǎn)主要表現(xiàn)在:①?gòu)腗ashup服務(wù)器存儲(chǔ)的角度來(lái)說(shuō),對(duì)服務(wù)器所產(chǎn)生的負(fù)載較輕,因?yàn)閿?shù)據(jù)可以直接從內(nèi)容提供者那里傳送到客戶端;②從網(wǎng)絡(luò)傳輸?shù)慕嵌葋?lái)說(shuō),在基于Ajax等技術(shù)和應(yīng)用模型的基礎(chǔ)上,客戶端頁(yè)面只請(qǐng)求需要更新的內(nèi)容,而不用刷新整個(gè)頁(yè)面,從而減少網(wǎng)絡(luò)數(shù)據(jù)的通信量。結(jié)合項(xiàng)目實(shí)踐經(jīng)驗(yàn),說(shuō)明你參與管理和開發(fā)的項(xiàng)目中,如何理解Mashup、門戶、SOA、EAI/EII和SaaS之間的關(guān)系;能夠全面和準(zhǔn)確地描述Mashup各個(gè)核心活動(dòng)(包括數(shù)據(jù)輸入、數(shù)據(jù)可視化、調(diào)度與監(jiān)視、剪裁、轉(zhuǎn)換與充實(shí)、動(dòng)作,以及發(fā)布與推廣等)及其具體的實(shí)施內(nèi)容;能夠準(zhǔn)確地描述如何管理Mashup開發(fā),包括從計(jì)劃和管理方法到集成、測(cè)試和部署的全過(guò)程;在優(yōu)化安全性、隱私、可訪問(wèn)性、有用性和性能,通過(guò)使用搜索、語(yǔ)言翻譯、工作流支持和其他改進(jìn)來(lái)增強(qiáng)基礎(chǔ)的Mashup,執(zhí)行有效的負(fù)載和回歸測(cè)試,避免造成企業(yè)Mashup故障的“反模式"等方面也要有一定的論述。有具體著眼點(diǎn)地論述在你參與建設(shè)的Web應(yīng)用系統(tǒng)項(xiàng)目實(shí)施過(guò)程中遇到的,與Mashup技術(shù)相關(guān)的問(wèn)題。針對(duì)具體的問(wèn)題你采取了哪些解決技術(shù)、方法和措施,以及它們對(duì)該工程項(xiàng)目后期的工作產(chǎn)生了哪些積極(或消極)的影響(效果和存在的問(wèn)題)。論文最后可以進(jìn)一步討論你在該工程項(xiàng)目中獲得的與Mashup應(yīng)用相關(guān)的體會(huì),以及在今后的工作過(guò)程中,如果碰到類似的開發(fā)項(xiàng)目你將如何應(yīng)用這些經(jīng)驗(yàn)或教訓(xùn)。對(duì)需要進(jìn)一步改進(jìn)的地方,應(yīng)有具體的著眼點(diǎn),不能泛泛而談。論文寫作過(guò)程中值得關(guān)注的一些要點(diǎn)如下(全書同)。整篇論文要結(jié)構(gòu)合理、切中要害、陳述完整、言簡(jiǎn)意賅、語(yǔ)言流暢、字跡清楚,切忌對(duì)知識(shí)點(diǎn)的堆積、長(zhǎng)篇大論、言之無(wú)物。選擇自己參與過(guò)的工程項(xiàng)目進(jìn)行分析論述,所述項(xiàng)目切題真實(shí),介紹清楚。下午試卷II是論述題目,問(wèn)題中提到的中心內(nèi)容在題目的說(shuō)明中都有所涉及。在答題時(shí)首先要冷靜并認(rèn)真閱讀題目,找出和問(wèn)題相關(guān)的知識(shí)點(diǎn),確定考題的關(guān)鍵考點(diǎn),這是答題的前提。(4)摘要是全文概括,千萬(wàn)不要寫成引言。圍繞論文主題,對(duì)所參與的項(xiàng)目進(jìn)行科學(xué)敘述與評(píng)價(jià),要有具體的著眼點(diǎn),不能泛泛而談,盡可能從字里行間讓閱卷者體會(huì)到你的實(shí)際工作能力、業(yè)務(wù)水平和項(xiàng)目實(shí)踐經(jīng)驗(yàn)。
在考試過(guò)程中應(yīng)注意技巧,讓答題的思路最大限度地符合出題的思路,避免跑題,這樣容易得到閱卷老師的共鳴。根據(jù)考生對(duì)所參與的項(xiàng)目中針對(duì)本論文主題的相關(guān)敘述與評(píng)價(jià),可確定他(她)有無(wú)參與信息系統(tǒng)項(xiàng)目開發(fā)過(guò)程的實(shí)踐經(jīng)驗(yàn)。試題二2.軟件的設(shè)計(jì)模式描述了在特定場(chǎng)景下解決一般設(shè)計(jì)問(wèn)題的類和相互通信的對(duì)象。它是人們?cè)陂L(zhǎng)期的開發(fā)實(shí)踐中良好經(jīng)驗(yàn)的結(jié)晶,它提供了一個(gè)簡(jiǎn)單、統(tǒng)一的描述方法,使人們可以復(fù)用這些軟件設(shè)計(jì)方法和過(guò)程管理經(jīng)驗(yàn)?,F(xiàn)在,設(shè)計(jì)模式已經(jīng)廣泛地應(yīng)用在軟件開發(fā)中。請(qǐng)圍繞“基于設(shè)計(jì)模式的軟件架構(gòu)設(shè)計(jì)與應(yīng)用”論題,依次對(duì)以下3個(gè)方面進(jìn)行論述。概要敘述你參與管理和開發(fā)的軟件工程項(xiàng)目及你在其中所承擔(dān)的主要工作。簡(jiǎn)要介紹設(shè)計(jì)模式的基本分類,詳細(xì)說(shuō)明在你所參與管理和開發(fā)的軟件工程項(xiàng)目中應(yīng)用了哪些設(shè)計(jì)模式、方法,以及選用它們的原因。分析并討論使用設(shè)計(jì)模式的效果,并分析和評(píng)價(jià)設(shè)計(jì)模式對(duì)軟件架構(gòu)設(shè)計(jì)的影響。SSS_TEXT_QUSTI分值:18.5答案:簡(jiǎn)要介紹你參與規(guī)劃、設(shè)計(jì)和實(shí)施的大中型信息系統(tǒng)軟件工程項(xiàng)目,簡(jiǎn)要說(shuō)明自己在該項(xiàng)目中的角色、所承擔(dān)的主要任務(wù)及開展的主要工作。論文敘述自己參與設(shè)計(jì)和實(shí)施的軟件工程項(xiàng)目應(yīng)有一定的規(guī)模,自己在該項(xiàng)目中擔(dān)任的主要工作應(yīng)有一定的分量。設(shè)計(jì)模式描述了在特定場(chǎng)景下解決一般設(shè)計(jì)問(wèn)題的類和相互通信的對(duì)象。設(shè)計(jì)模式的核心在于提供了相關(guān)問(wèn)題的解決方案。設(shè)計(jì)模式的基本組成元素有模式名稱、問(wèn)題或意圖、情景、動(dòng)機(jī)、解決方案、示例、結(jié)果情景、基本原理、相關(guān)模式和已知應(yīng)用等。設(shè)計(jì)模式主要用于得到簡(jiǎn)潔靈活的系統(tǒng)設(shè)計(jì),GoF的書中共有23個(gè)設(shè)計(jì)模式,這些模式可以按兩個(gè)準(zhǔn)則來(lái)分類:一是按設(shè)計(jì)模式的目的劃分,可分為創(chuàng)建型、結(jié)構(gòu)型和行為型3種模式;二是按設(shè)計(jì)模式的范圍劃分,即根據(jù)設(shè)計(jì)模式是作用于類還是作用于對(duì)象來(lái)劃分,可分為類設(shè)計(jì)模式和對(duì)象設(shè)計(jì)模式,如表所示。設(shè)計(jì)模式空間目的類范圍FactoryMethodAdapter(類)Template'Meth°d對(duì)象創(chuàng)建型 結(jié)構(gòu)型 行為型對(duì)象AbstractFactoryAdapter(對(duì)象)ChainofResponsibilityBuilder Bridge Command
PrototypeSingletonComoositeDecoratorPrototypeSingletonComoositeDecoratorFacadeFlyweightProxyIteratorMediatorMementoObserverStateStrategyVisitor創(chuàng)建型模式是對(duì)對(duì)象實(shí)例化過(guò)程的抽象,它通過(guò)采用抽象類所定義的接口,封裝了系統(tǒng)中對(duì)象如何創(chuàng)建、組合等信息。該模式允許在系統(tǒng)中創(chuàng)建對(duì)象,而不需要在代碼中標(biāo)識(shí)特定類的類型,這樣用戶就不需要編寫大量、復(fù)雜的代碼來(lái)初始化對(duì)象。它是通過(guò)該類的子類來(lái)創(chuàng)建對(duì)象的。但是,這可能會(huì)限制在系統(tǒng)內(nèi)創(chuàng)建對(duì)象的類型或數(shù)目。創(chuàng)建型模式主要有FactoryMethod(工廠方法)、AbstractFactory(抽象工廠)、Builder(構(gòu)建器)、Prototype(原型)和Singleton(單獨(dú))等模式。結(jié)構(gòu)型模式主要涉及如何組合已有的類和對(duì)象以獲得更大的結(jié)構(gòu),一般借鑒封裝、代理和繼承等概念將一個(gè)或多個(gè)類或?qū)ο筮M(jìn)行組合、封裝,以提供統(tǒng)一的外部視圖或新的功能。該模式允許在不重寫代碼或自定義代碼的情況下創(chuàng)建系統(tǒng),從而使系統(tǒng)具有增強(qiáng)的重復(fù)使用性和應(yīng)用性能。該模式控制了應(yīng)用程序較大部分之間的關(guān)系,將以不同的方式影響應(yīng)用程序。結(jié)構(gòu)型模式主要有Adapter(適配器)、Bridge(橋接)、Composite(組成)、Decorator(裝飾)、Facade(外觀)、Flyweight(享元)和Proxy(代理)等。行為型模式主要涉及算法和對(duì)象間職責(zé)及其提供的服務(wù)的分配,它不僅描述對(duì)象或類的模式,還描述它們之間的通信模式,特別是描述一組對(duì)等的對(duì)象怎樣相互協(xié)作以完成其中任意一個(gè)對(duì)象都無(wú)法單獨(dú)完成的任務(wù)。該模式可以影響一個(gè)系統(tǒng)的狀態(tài)和行為流。通過(guò)優(yōu)化狀態(tài)和行為流轉(zhuǎn)換和修改的方式,可以簡(jiǎn)化、優(yōu)化并且提高應(yīng)用程序的可維護(hù)性。行為型模式主要有Observer(觀察者)、Strategy(策略)、Interpreter(解釋器)、TemplateMethod(模板方法)、ChainofResponsibility(職責(zé)鏈)、Command(命令)、Iterator(迭代器)、Mediator(中介者)、Memento(備忘錄)、State(狀態(tài))和Visitor(訪問(wèn)者)等。能夠全面和準(zhǔn)確地描述該軟件工程項(xiàng)目的應(yīng)用環(huán)境和需求,深入地闡述所選定的設(shè)計(jì)模式的主要組成元素,以及選用它們的原因,對(duì)于項(xiàng)目開發(fā)過(guò)程中采用的技術(shù)和方法要針對(duì)該軟件工程項(xiàng)目的實(shí)際特點(diǎn),具有一定的廣度和深度。結(jié)合軟件工程項(xiàng)目實(shí)際工作,舉例說(shuō)明設(shè)計(jì)模式的使用效果,并針對(duì)設(shè)計(jì)模式對(duì)軟件開發(fā)的影響展開分析與討論,著重闡述所采用的設(shè)計(jì)模式對(duì)該工程項(xiàng)目后期的工作產(chǎn)生了哪些積極(或消極)的影響(效果和存在的問(wèn)題)。最后,進(jìn)一步敘述你對(duì)設(shè)計(jì)模式在軟件架構(gòu)設(shè)計(jì)中的幾點(diǎn)應(yīng)用體會(huì),以及在今后的工作過(guò)程中,如果碰到類似的開發(fā)項(xiàng)目你將如何應(yīng)用這些經(jīng)驗(yàn)或教訓(xùn)。對(duì)需要進(jìn)一步改進(jìn)的地方,應(yīng)有具體的著眼點(diǎn),不能泛泛而談。試題三
閱讀以下關(guān)于企業(yè)應(yīng)用集成的敘述,根據(jù)要求回答問(wèn)題。[說(shuō)明]某大型企業(yè)隨著信息化的進(jìn)展,積累了許多異構(gòu)的遺產(chǎn)信息系統(tǒng),這些系統(tǒng)分別采用J2EE、.NET等技術(shù)進(jìn)行開發(fā),分布在不同的地理位置,采用不同的協(xié)議進(jìn)行數(shù)據(jù)傳輸。企業(yè)要求集成后的系統(tǒng)能夠?qū)崿F(xiàn)功能整合,并在組織現(xiàn)有功能的基礎(chǔ)上提供增值服務(wù)。FT軟件開發(fā)公司承接了某大型企業(yè)應(yīng)用系統(tǒng)集成任務(wù)。為了按時(shí)保質(zhì)完成任務(wù),選擇合適的企業(yè)應(yīng)用集成方法和架構(gòu)非常重要。項(xiàng)目組在討論方案時(shí),提出了兩種集成思路。魏工建議采用傳統(tǒng)的應(yīng)用集成方法,將應(yīng)用集成分為多個(gè)層次,并采用消息代理中間件連接遺產(chǎn)系統(tǒng)。陳工建議采用基于SOA的方法進(jìn)行應(yīng)用集成,將現(xiàn)有遺產(chǎn)系統(tǒng)采用WebService的方式進(jìn)行包裝,暴露統(tǒng)一格式的接口,并采用企業(yè)服務(wù)總線(ESB)進(jìn)行連接。項(xiàng)目組仔細(xì)分析比較了兩種方案的優(yōu)點(diǎn)和不足后,認(rèn)為魏工和陳工的建議都合理,但是結(jié)合當(dāng)前項(xiàng)目的實(shí)際情況,最后決定采用陳工的建議。SSS_TEXT_QUSTI3.[問(wèn)題1]請(qǐng)分析比較兩種集成方案的優(yōu)點(diǎn)和不足,將表中的(1)?(6)空缺處的內(nèi)容填寫完整。分值:15答案:應(yīng)用集成是指兩個(gè)或多個(gè)應(yīng)用系統(tǒng)根據(jù)業(yè)務(wù)邏輯的需要而進(jìn)行的功能之間的相互調(diào)用和互操作。應(yīng)用集成需要在數(shù)據(jù)集成的基礎(chǔ)上完成。應(yīng)用集成在底層的網(wǎng)絡(luò)集成和數(shù)據(jù)集成的基礎(chǔ)上實(shí)現(xiàn)異構(gòu)應(yīng)用系統(tǒng)之間語(yǔ)用層次上的互操作。它們共同構(gòu)成了實(shí)現(xiàn)企業(yè)集成化運(yùn)行最頂層會(huì)聚集成所需要的,技術(shù)層次上的基礎(chǔ)支持。應(yīng)用集成模式包括集成適配器、集成信使、集成面板和集成代理4種,每種應(yīng)用集成模式都是對(duì)具有業(yè)務(wù)功能依賴關(guān)系的多個(gè)應(yīng)用之間互操作實(shí)現(xiàn)方法的總結(jié)。在具體應(yīng)用中,集成模式可能以某種變形(這是一種擴(kuò)展集成模式的主要方式)的形式出現(xiàn),這些變形可能不僅僅只是一種模式的實(shí)例化,也可能是一種具有廣泛適用性的集成方式。通常,應(yīng)用集成主要采用點(diǎn)對(duì)點(diǎn)的緊耦合方式。這種集成方式雖然不需要對(duì)應(yīng)用系統(tǒng)做較大的改動(dòng),但用這種方式集成的系統(tǒng)缺乏必要的柔性,不能適應(yīng)業(yè)務(wù)系統(tǒng)快速重構(gòu)的需求。隨著應(yīng)用軟件系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中標(biāo)準(zhǔn)化程度的不斷提高,系統(tǒng)的開放性(可配置性、可擴(kuò)展性)越來(lái)越好,組件化的系統(tǒng)實(shí)現(xiàn)及松散耦合的應(yīng)用集成方式逐漸成為構(gòu)建企業(yè)業(yè)務(wù)處理系統(tǒng)的主流。其中,松散耦合是實(shí)現(xiàn)系統(tǒng)柔性的基礎(chǔ)。在陳工建議的集成方案中,WebService是一種可以接收從Internet或Intranet上傳送的請(qǐng)求、輕量級(jí)的獨(dú)立的通信技術(shù),它允許網(wǎng)絡(luò)上的所有系統(tǒng)相互間進(jìn)行交互。WebService的3個(gè)基本技術(shù)分別是UDDI、WSDL和SOAP,它
們都是以XML為基礎(chǔ)定義的。在Web服務(wù)體系中,使用WSDL來(lái)描述服務(wù),UDDI來(lái)發(fā)布和查找服務(wù),而SOAP用來(lái)執(zhí)行服務(wù)調(diào)用。面向服務(wù)架構(gòu)體系結(jié)構(gòu)(SOA)的幾個(gè)關(guān)鍵特性是,它是一種粗粒度、松耦合的服務(wù)架構(gòu),服務(wù)之間通過(guò)簡(jiǎn)單、精確定義接口進(jìn)行通信,不涉及底層編程接口和通信模型。SOA可以根據(jù)需求通過(guò)網(wǎng)絡(luò)對(duì)松耦合、粗粒度的應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。SOA技術(shù)將應(yīng)用程序的不同功能單元通過(guò)一些良好定義的接口聯(lián)系起來(lái),并且接口采用中立的方式進(jìn)行定義,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這樣可以使得構(gòu)建的服務(wù)以一種統(tǒng)一和通用的方式進(jìn)行交互。企業(yè)服務(wù)總線(ESB)是對(duì)消息中間件的發(fā)展,采用了“總線”這樣一種模式來(lái)管理和簡(jiǎn)化應(yīng)用之間的集成拓?fù)浣Y(jié)構(gòu),以廣為接受的開放標(biāo)準(zhǔn)為基礎(chǔ)來(lái)支持應(yīng)用程序之間在消息、事件和服務(wù)的級(jí)別上動(dòng)態(tài)地互連互通。ESB的基本核心功能包括:①提供位置透明性的消息路由和尋址服務(wù);②提供服務(wù)注冊(cè)和命名的管理功能;③支持多種消息傳遞范型;④傳輸協(xié)議轉(zhuǎn)換;⑤支持多種數(shù)據(jù)格式及其相互轉(zhuǎn)換;⑥提供日志和監(jiān)控功能等。ESB所提供的基于標(biāo)準(zhǔn)的連接服務(wù),將應(yīng)用中實(shí)現(xiàn)的功能或者數(shù)據(jù)資源轉(zhuǎn)化為服務(wù)請(qǐng)求者能以標(biāo)準(zhǔn)的方式來(lái)訪問(wèn)的服務(wù);當(dāng)請(qǐng)求者來(lái)請(qǐng)求一個(gè)服務(wù)時(shí),ESB中這種中介轉(zhuǎn)化過(guò)程可能簡(jiǎn)單到什么也沒有,也可能需要很復(fù)雜的中介服務(wù)支持,包括動(dòng)態(tài)地查找和選擇一個(gè)服務(wù),以及消息的傳遞、路由和轉(zhuǎn)換、協(xié)議的轉(zhuǎn)換。這種中介過(guò)程,是ESB借助于服務(wù)注冊(cè)管理及問(wèn)題域相關(guān)的知識(shí)(如業(yè)務(wù)方面的一些規(guī)則等)自動(dòng)進(jìn)行的,不需要服務(wù)請(qǐng)求者和提供者介入,從而實(shí)現(xiàn)了解耦服務(wù)請(qǐng)求者和提供者的技術(shù)基礎(chǔ),使得服務(wù)請(qǐng)求者不需要關(guān)心服務(wù)提供者的位置和具體實(shí)現(xiàn)技術(shù),雙方在保持接口不變的情況下,各自可以獨(dú)立地演變。如果企業(yè)只是進(jìn)行小規(guī)?;蜉^淺層次的“戰(zhàn)術(shù)”級(jí)應(yīng)用集成,采用傳統(tǒng)的集成方式即可較好的完成任務(wù)。但是如果企業(yè)想從集成系統(tǒng)的靈活性和可擴(kuò)展角度考慮,能夠持續(xù)地集成已有信息系統(tǒng),并進(jìn)行“戰(zhàn)略”意義上的長(zhǎng)遠(yuǎn)規(guī)劃,那么面向服務(wù)的架構(gòu)無(wú)疑是一種更加優(yōu)越的方法。采用SOA架構(gòu)思想進(jìn)行應(yīng)用集成,企業(yè)現(xiàn)有的應(yīng)用系統(tǒng)都可以看做廣義上的服務(wù)提供者,因此(1)空缺處應(yīng)該填寫“將現(xiàn)有系統(tǒng)看做抽象的服務(wù)提供者,集成方法統(tǒng)一明確”。傳統(tǒng)的應(yīng)用集成方式往往采用分層的方式對(duì)待整個(gè)集成活動(dòng),因此在(2)空缺處應(yīng)該填寫“不同層次的集成方法關(guān)注點(diǎn)不同,功能組合方面能力較弱”。而采用SOA架構(gòu)的應(yīng)用集成方案中,(3)空缺處應(yīng)該填寫“強(qiáng)調(diào)功能的暴露與服務(wù)的組合,便于提供增值服務(wù)”。對(duì)于(4)空缺處,傳統(tǒng)的集成方式大多會(huì)采用中心輻射型的集成架構(gòu),系統(tǒng)的耦合程度較高。而對(duì)于(5)空缺處,SOA架構(gòu)的ESB采用總線結(jié)構(gòu)模式,簡(jiǎn)化了應(yīng)用之間的集成拓?fù)?,系統(tǒng)的耦合度較低。采用SOA架構(gòu)的應(yīng)用集成方案通過(guò)源白實(shí)踐的模式,提供了基于標(biāo)準(zhǔn)的通用連接服務(wù),使得服務(wù)請(qǐng)求者和服務(wù)提供者之間可以以松散耦合、動(dòng)態(tài)的方式交互,從而在不同層次上使得解決方案是一個(gè)松散耦合、靈活的架構(gòu)。因此在(6)空缺處應(yīng)該填寫“集成系統(tǒng)具有模塊化、松耦合的特點(diǎn),可擴(kuò)展性較強(qiáng)”。整理以上分析內(nèi)容,可得到兩種集成方案各自的優(yōu)點(diǎn)和不足,如下表所
/示oSSS_TEXT_QUSTI4.[問(wèn)題2]企業(yè)數(shù)據(jù)的分布性和異構(gòu)性是應(yīng)用系統(tǒng)方便訪問(wèn)企業(yè)數(shù)據(jù)和在企業(yè)數(shù)據(jù)之上提供增值服務(wù)的主要障礙?;赟OA的企業(yè)集成通過(guò)信息服務(wù)提供集成數(shù)據(jù)的能力,針對(duì)該企業(yè)的集成實(shí)際情況,請(qǐng)用300字以內(nèi)的文字列舉3種基于SOA的企業(yè)集成中的“數(shù)據(jù)整合一一信息服務(wù)”,并給出簡(jiǎn)要說(shuō)明。分值:15答案:企業(yè)數(shù)據(jù)的分布性和異構(gòu)性是應(yīng)用系統(tǒng)方便訪問(wèn)企業(yè)數(shù)據(jù)和在企業(yè)數(shù)據(jù)之上提供增值服務(wù)的主要障礙。數(shù)據(jù)集成和聚合技術(shù)在這種背景下誕生,用于提供對(duì)分布式數(shù)據(jù)和異構(gòu)數(shù)據(jù)的透明訪問(wèn)。以服務(wù)為中心的企業(yè)集成通過(guò)信息服務(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í),所有的數(shù)據(jù)仍然按照自己本身的方式管理。復(fù)制服務(wù)(ReplicationService):提供遠(yuǎn)程數(shù)據(jù)的本地訪問(wèn)能力,它通過(guò)自動(dòng)的實(shí)時(shí)復(fù)制和數(shù)據(jù)轉(zhuǎn)換,在本地維護(hù)一個(gè)數(shù)據(jù)源的副本。本地?cái)?shù)據(jù)和數(shù)據(jù)源在技術(shù)實(shí)現(xiàn)上可以是獨(dú)立的。轉(zhuǎn)換服務(wù)(TransformationService):用于數(shù)據(jù)源格式到目標(biāo)格式的轉(zhuǎn)換,可以是批量的或者是基于記錄的。搜索服務(wù)(SearchService):提供對(duì)企業(yè)數(shù)據(jù)的查詢和檢索服務(wù),既支持?jǐn)?shù)據(jù)庫(kù)等結(jié)構(gòu)化數(shù)據(jù),也支持如PDF等非結(jié)構(gòu)化數(shù)據(jù)。SSS_TEXT_QUSTI5.[問(wèn)題3]結(jié)合你的系統(tǒng)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),請(qǐng)用300字以內(nèi)的文字簡(jiǎn)要說(shuō)明FT公司項(xiàng)目組在對(duì)該企業(yè)構(gòu)建SOA架構(gòu)時(shí),除了注意原有系統(tǒng)架構(gòu)中的集成需求之外,還需要在服務(wù)構(gòu)建時(shí)重點(diǎn)關(guān)注哪些問(wèn)題。分值:15答案:當(dāng)基于SOA來(lái)構(gòu)建一個(gè)企業(yè)級(jí)的系統(tǒng)架構(gòu)時(shí),一定要注意對(duì)原有系統(tǒng)架構(gòu)中的集成需求進(jìn)行細(xì)致的分析和整理。而關(guān)于系統(tǒng)中最重要的元素,也就是SOA系統(tǒng)中服務(wù)的構(gòu)建有兩點(diǎn)需要特別注意的地方:①是對(duì)于服務(wù)粒度的控制;②是對(duì)于無(wú)狀態(tài)服務(wù)的設(shè)計(jì)。SOA系統(tǒng)中服務(wù)粒度的控制是一項(xiàng)十分重要的設(shè)計(jì)任務(wù)。通常來(lái)說(shuō),對(duì)于將暴露在整個(gè)系統(tǒng)外部的服務(wù)推薦使用粗粒度的接口,而相對(duì)較細(xì)粒度的服務(wù)接口通常用于企業(yè)系統(tǒng)架構(gòu)的內(nèi)部。從技術(shù)上講,粗粒度的服務(wù)接口可能是一個(gè)特定服務(wù)的完整執(zhí)行,而細(xì)粒度的服務(wù)接口可能是實(shí)現(xiàn)這個(gè)粗粒度服務(wù)接口
的具體的內(nèi)部操作。雖然細(xì)粒度的接口能為服務(wù)請(qǐng)求者提供更加細(xì)化和更多的靈活性,但同時(shí)也意味著引入較難控制的交互模式易變性,也就是說(shuō)服務(wù)的交互模式可能隨著不同的服務(wù)請(qǐng)求者而不同。如果暴露這些易于變化的服務(wù)接口給系統(tǒng)的外部用戶,就可能造成外部服務(wù)請(qǐng)求者難于支持不斷變化的服務(wù)提供者所暴露的細(xì)粒度服務(wù)接口;而粗粒度服務(wù)接口保證了服務(wù)請(qǐng)求者將以一致的方式使用系統(tǒng)中所暴露出的服務(wù)。雖然SOA并不強(qiáng)制要求一定要使用粗粒度的服務(wù)接口,但是建議使用它們作為外部集成的接口。通常,可以使用業(yè)務(wù)流程(BPEL)來(lái)創(chuàng)建由細(xì)粒度操作組成的業(yè)務(wù)流程的粗粒度的服務(wù)接口。SOA系統(tǒng)架構(gòu)中的具體服務(wù)應(yīng)該都是獨(dú)立的、自包含的請(qǐng)求,在實(shí)現(xiàn)這些服務(wù)的時(shí)候不需要前一個(gè)請(qǐng)求的狀態(tài),也就是說(shuō)服務(wù)不應(yīng)該依賴于其他服務(wù)的上下文和狀態(tài),即SOA架構(gòu)中的服務(wù)應(yīng)該是無(wú)狀態(tài)的服務(wù)。當(dāng)某一個(gè)服務(wù)需要依賴時(shí),最好把它定義成具體的業(yè)務(wù)流程(BPEL)。在服務(wù)的具體實(shí)現(xiàn)機(jī)制上,可以通過(guò)使用EJB組件來(lái)實(shí)現(xiàn)粗粒度的服務(wù)。通常,可以利用無(wú)狀態(tài)的SessionBean來(lái)實(shí)現(xiàn)具體的服務(wù),如果基于WebService技術(shù),就可以將無(wú)狀態(tài)的SessionBean暴露為外部用戶可以調(diào)用到的Web服務(wù),也就是把傳統(tǒng)的SessionFacade模型轉(zhuǎn)化為EJB的Web服務(wù)端點(diǎn)。這樣,就可以向Web服務(wù)客戶提供粗粒度的服務(wù)。如果要在J2EE的環(huán)境下(基于WebSphere)構(gòu)建Web服務(wù),Web服務(wù)客戶可以通過(guò)兩種方式訪問(wèn)J2EE應(yīng)用程序??蛻艨梢栽L問(wèn)用JAX-RPCAPI創(chuàng)建的Web服務(wù)(使用Servlet來(lái)實(shí)現(xiàn));Web服務(wù)客戶也可以通過(guò)EJB的服務(wù)端點(diǎn)接口訪問(wèn)無(wú)狀態(tài)的Session:Bean,但Web服務(wù)客戶不能訪問(wèn)其他類型的企業(yè)Bean,如有狀態(tài)的SessionBean、實(shí)體Bean和消息驅(qū)動(dòng)Bean。對(duì)于后一種訪問(wèn)方式(公開無(wú)狀態(tài)EJB組件作為Web服務(wù))的優(yōu)勢(shì)在于,基于已有的EJB組件,可以利用現(xiàn)有的業(yè)務(wù)邏輯和流程。在許多企業(yè)中,現(xiàn)有的業(yè)務(wù)邏輯可能已經(jīng)使用EJB組件編寫,通過(guò)Web服務(wù)公開它可能是實(shí)現(xiàn)從外界訪問(wèn)這些服務(wù)的最佳選擇。EJB端點(diǎn)是一種很好的選擇,因?yàn)樗箻I(yè)務(wù)邏輯和端點(diǎn)位于同一層上。另外,EJB容器會(huì)自動(dòng)提供對(duì)并發(fā)的支持,作為無(wú)狀態(tài)SessionBean實(shí)現(xiàn)的EJB服務(wù)端點(diǎn)不必?fù)?dān)心多線程訪問(wèn),因?yàn)镋JB容器必須串行化對(duì)無(wú)狀態(tài)會(huì)話Bean任何特定實(shí)例的請(qǐng)求。由于EJB容器都會(huì)提供對(duì)于Security和Transaction的支持,因此Bean的開發(fā)人員可以無(wú)須編寫安全代碼及事務(wù)處理代碼。性能問(wèn)題對(duì)于Web服務(wù)來(lái)說(shuō)一直都是一個(gè)問(wèn)題,由于幾乎所有EJB容器都提供了對(duì)無(wú)狀態(tài)會(huì)話Bean群集的支持,以及對(duì)無(wú)狀態(tài)SessionBean池與資源管理的支持,因此當(dāng)負(fù)載增加時(shí),可以向集群中增加服務(wù)器數(shù)目。Web服務(wù)請(qǐng)求可以定向到這些不同的服務(wù)器,同時(shí)由于無(wú)狀態(tài)SessionBean池改進(jìn)了資源利用和內(nèi)存管理,使Web服務(wù)能夠有效地響應(yīng)多個(gè)客戶請(qǐng)求。由此可以看到,通過(guò)把Web服務(wù)模型化為EJB端點(diǎn),可以使服務(wù)具有更強(qiáng)的可伸縮性,并增強(qiáng)了系統(tǒng)整體的可靠性。試題四閱讀以下關(guān)于UML軟件系統(tǒng)建模的敘述,根據(jù)要求回答問(wèn)題。[說(shuō)明]車載GPS(GlobalPositionSystem)終端是置于機(jī)動(dòng)車內(nèi)的實(shí)時(shí)定位裝置,它的應(yīng)用對(duì)象是需要定位和調(diào)度的車輛。車輛可以通過(guò)終端與GPS進(jìn)行實(shí)時(shí)、準(zhǔn)確的定位,并能夠通過(guò)無(wú)線通信網(wǎng)絡(luò)上報(bào)遠(yuǎn)程的車輛調(diào)度中心。中心可以通過(guò)終端遠(yuǎn)程監(jiān)視車行軌跡,并可在特殊情況下通過(guò)終端控制車輛。同時(shí),終端還
裝備車載電話,可以在出現(xiàn)特殊情況時(shí)及時(shí)地通知車輛調(diào)度中心。圖1所示為車載終端系統(tǒng)的用例圖,對(duì)于車載GPS終端系統(tǒng)來(lái)說(shuō),主要的角色有兩個(gè),分別為車輛調(diào)度中心用戶和車載終端用戶。圖1圖2所示為車載終端系統(tǒng)中的GSM無(wú)線電通信模塊的部分狀態(tài)圖,用于與調(diào)度中心進(jìn)行聯(lián)系。GSM模塊共有4個(gè)狀態(tài),分別為通話中、有問(wèn)題、待命和短消息通信中。圖2SSS_TEXT_QUSTI6.[問(wèn)題1]車載終端用戶在遇到特殊情況下通過(guò)車載電話(或按鍵)與調(diào)度中心保持通信的處理過(guò)程順序圖如圖3所示。結(jié)合你的系統(tǒng)架構(gòu)經(jīng)驗(yàn),以及對(duì)GPS終端系統(tǒng)的理解,請(qǐng)將下列A?F標(biāo)記的處理過(guò)程填入到圖3中的(1)?(6)空缺處,并給出通過(guò)車載電話(或按鍵)與調(diào)度中心保持通信的正確處理順序(請(qǐng)用A?F表達(dá),例如ABCDEF)。A.語(yǔ)音對(duì)話/按下按鈕B.監(jiān)聽命令C.發(fā)送信息到通信模塊D.要求監(jiān)聽E.通過(guò)GSM發(fā)送信息 F.接收成功要求監(jiān)聽信息分值:15答案:圖2為車載終端用戶通過(guò)車載電話(或按鍵)與調(diào)度中心保持通信的處理過(guò)程順序圖。其表達(dá)的處理過(guò)程如下:用戶通過(guò)按下按鈕或語(yǔ)音對(duì)話試圖連接調(diào)度中心,主控器模塊接收到連接請(qǐng)求后(或連接建立后),就發(fā)送相應(yīng)的信息給通信模塊;通信模塊負(fù)責(zé)處理并通過(guò)GSM發(fā)送消息,調(diào)度中心接收消息成功后要求監(jiān)聽信息,并把該要求返回給車載系統(tǒng)的GSM通信模塊;GSM通信模塊把該請(qǐng)求信息(即調(diào)度中心的要求監(jiān)聽信息)遞交給主模塊,主模塊把監(jiān)聽命令遞交給GSM通信模塊,然后可由GSM通信模塊遞交給調(diào)度中心。SSS_TEXT_QUSTI7.[問(wèn)題2]建立頂層架構(gòu)是基于UML對(duì)該車載GPS終端系統(tǒng)進(jìn)行建模的步驟之一。頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計(jì)活動(dòng)建立一種結(jié)構(gòu)和分劃,以便開發(fā)人員在不同階段,以及同一開發(fā)階段的不同開發(fā)人員,能夠聚集于系統(tǒng)的不同部分。結(jié)合你的系統(tǒng)架構(gòu)經(jīng)驗(yàn),請(qǐng)簡(jiǎn)要說(shuō)明在該車載GPS終端系統(tǒng)確立頂層架構(gòu)的過(guò)程中需要綜合考慮哪些因素?
答案:在初步的業(yè)務(wù)需求描述已經(jīng)形成的前提下,基于UML的需求分析大致可分為以下幾個(gè)步驟。?利用用例及用例圖表示需求。從業(yè)務(wù)需求描述出發(fā)獲取執(zhí)行者和場(chǎng)景;對(duì)場(chǎng)景進(jìn)行匯總、分類和抽象;形成用例;確定執(zhí)行者與用例,用例與用例圖之間的關(guān)系,生成用例圖。?利用包圖及類圖表示目標(biāo)軟件系統(tǒng)的總體框架結(jié)構(gòu)。根據(jù)領(lǐng)域知識(shí)、業(yè)務(wù)需求描述和既往經(jīng)驗(yàn)設(shè)計(jì)目標(biāo)軟件系統(tǒng)的頂層架構(gòu);從業(yè)務(wù)需求描述中提取“關(guān)鍵概念”,形成領(lǐng)域概念模型;從概念模型和用例出發(fā),研究系統(tǒng)中主要的類之間的關(guān)系,生成類圖。上述兩個(gè)步驟并沒有時(shí)序關(guān)系,它們可以并行展開。其中,頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計(jì)活動(dòng)建立一種結(jié)構(gòu)和分劃,以便開發(fā)人員在不同的開發(fā)階段,以及同一開發(fā)階段的不同開發(fā)人員,能夠聚焦于系統(tǒng)的不同部分。頂層架構(gòu)是分析和設(shè)計(jì)的階段成果的承載體。隨著開發(fā)過(guò)程的推進(jìn),框架中的內(nèi)容不斷豐富和翔實(shí),最終演進(jìn)為完整的面向?qū)ο蟮能浖Y(jié)構(gòu)。UML包圖是表示項(xiàng)層架構(gòu)的適當(dāng)機(jī)制。建立軟件系統(tǒng)頂層架構(gòu)的基本方法是,結(jié)合實(shí)際需求,從既往的架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)?zāi)P椭羞x取適當(dāng)者,再進(jìn)行微調(diào)或局部改造。目前有以下幾種主要的架構(gòu)模式。流程處理模式。流程處理系統(tǒng)以算法和數(shù)據(jù)結(jié)構(gòu)為中心,其系統(tǒng)功能由一系列的處理步驟構(gòu)成,相鄰的處理步驟之間以數(shù)據(jù)流通管道相互連接。該模式僅適合于采用批處理方式的軟件系統(tǒng),不適合于交互式系統(tǒng)??蛻?服務(wù)器模式??蛻舳素?fù)責(zé)用戶輸入和處理結(jié)果的呈現(xiàn),服務(wù)器端則負(fù)責(zé)后臺(tái)的業(yè)務(wù)邏輯處理。模型一視圖一控制器(MVC)模式。該模式將整個(gè)軟件系統(tǒng)劃分為模型、視圖和控制器3個(gè)部分。模型負(fù)責(zé)維護(hù)并保存具有持久性的業(yè)務(wù)數(shù)據(jù),實(shí)現(xiàn)業(yè)務(wù)處理功能,并將業(yè)務(wù)數(shù)據(jù)的變化情況及時(shí)通知視圖;視圖負(fù)責(zé)呈現(xiàn)模型的業(yè)務(wù)數(shù)據(jù),響應(yīng)模型變化通知,更新呈現(xiàn)形式,并向控制器傳遞用戶的界面動(dòng)作;控制器負(fù)責(zé)將用戶的界面動(dòng)作映射為模型中業(yè)務(wù)處理功能并實(shí)際調(diào)用之,然后根據(jù)模型返回的業(yè)務(wù)處理結(jié)果選擇新的視圖。MVC模式特別適合于分布式應(yīng)用軟件,尤其是Web應(yīng)用系統(tǒng)。分層模式。該模式將整個(gè)軟件系統(tǒng)分為若干層次,最頂層直接面向用戶提供軟件系統(tǒng)的操作界面,其余各層為緊鄰其上的層次提供服務(wù)。層次劃時(shí)分的主要原則是,較易變化的軟件部分(例如用戶界面和與業(yè)務(wù)邏輯緊密相關(guān)的部件)置于較高層次,較穩(wěn)定的軟件部分(例如公共的技術(shù)服務(wù)部件)則位于較低層次;每一層次盡量只訪問(wèn)其緊鄰下層提供的服務(wù),避免越級(jí)訪問(wèn),尤其要避免逆向訪問(wèn)(上層模塊為下層模塊提供服務(wù))在許多情況下,可以將目標(biāo)軟件系統(tǒng)的外部接口置入較低層次,目標(biāo)軟件系統(tǒng)其余部分對(duì)外部系統(tǒng)的訪問(wèn)或操作均通過(guò)這些外部接口所提供的公共服務(wù)來(lái)完成。分層模式可以有效地降低軟件系統(tǒng)的耦合度,因此其應(yīng)用十分普遍。在全面了解軟件架構(gòu)樣式的前提下,對(duì)于具體的應(yīng)用需求而言,影響頂層架構(gòu)選取的主要因素在于系統(tǒng)架構(gòu)師的經(jīng)驗(yàn)及他們對(duì)每種架構(gòu)樣式與當(dāng)前軟件項(xiàng)目之間匹配程度的判斷。事實(shí)上,大型軟件的頂層架構(gòu)往往需要復(fù)合使用多種架構(gòu)樣式。例如,整個(gè)目標(biāo)軟件系統(tǒng)采用分層結(jié)構(gòu),在系統(tǒng)的不同層次內(nèi)再分別使用適宜的其他種類的架構(gòu)模式。在確立頂層架構(gòu)的過(guò)程中,需要綜合考慮以下因素。⑴架構(gòu)中包的數(shù)量。原則上,如果每個(gè)包中包含的軟件元素(例如類)的數(shù)量過(guò)多,應(yīng)考慮將其進(jìn)一步細(xì)分;如果過(guò)少,則說(shuō)明架構(gòu)過(guò)早地陷入了細(xì)節(jié),架構(gòu)劃分返工的可能性較大,同時(shí)也不合理地限制了后續(xù)分析和設(shè)計(jì)活動(dòng)的自由空間。架構(gòu)中包之間的耦合度。包之間的依賴關(guān)系和連接關(guān)系應(yīng)盡量簡(jiǎn)單、稀疏,例如,在分層結(jié)構(gòu)中,通常要求某一層中的軟件元素只與同層及相鄰下一層的元素之間存在依賴關(guān)系。軟件元素的穩(wěn)定性。要盡量抽取不穩(wěn)定的軟件元素之中相對(duì)穩(wěn)定的部分,將不穩(wěn)定的軟件元素分類聚集于少數(shù)幾個(gè)包中,以提高軟件系統(tǒng)的可維護(hù)性。軟件元素的必然性??梢詫⒖蛇x功能和必須實(shí)現(xiàn)的功能分置于架構(gòu)中不同的包或子包之中。作為軟件系統(tǒng)運(yùn)行環(huán)境的物理網(wǎng)絡(luò)拓?fù)洹8鶕?jù)軟件元素在分布環(huán)境的部署情況,區(qū)分頂層架構(gòu)中的包,可以使包之間的消息傳遞與物理節(jié)點(diǎn)之間的通信相吻合,使后續(xù)的分析和設(shè)計(jì)活動(dòng)受益于頂層架構(gòu)中明確定義的通信關(guān)系。軟件元素的安全和保密級(jí)別。根據(jù)安全訪問(wèn)的權(quán)限劃分頂層架構(gòu)中的包或者子包。開發(fā)團(tuán)隊(duì)的技術(shù)專長(zhǎng)。根據(jù)開發(fā)人員在問(wèn)題領(lǐng)域和軟件技術(shù)領(lǐng)域不同的專長(zhǎng)劃分頂層架構(gòu)中的包,使每個(gè)包都能分配給最適合的開發(fā)人員進(jìn)行后續(xù)的分析、設(shè)計(jì)、編碼和測(cè)試等,從而有利于并行開發(fā)。試題五閱讀下列關(guān)于軟件產(chǎn)品線方面的敘述,回答問(wèn)題。[說(shuō)明]A公司是一家中等規(guī)模的計(jì)算機(jī)企業(yè),專門從事網(wǎng)絡(luò)安全防護(hù)軟件系統(tǒng)的開發(fā)。從最初僅開發(fā)基于Windows的個(gè)人防火墻產(chǎn)品開始,現(xiàn)在已經(jīng)延伸到基Linux、Windows系列、Mac操作系統(tǒng)的個(gè)人防火墻、企業(yè)防火墻、入侵檢測(cè)系統(tǒng)、病毒掃描系統(tǒng),以及安全掃描系統(tǒng)等多種產(chǎn)品。公司原來(lái)的產(chǎn)品都是一個(gè)一個(gè)地開發(fā),為每個(gè)軟件對(duì)應(yīng)地組織一個(gè)項(xiàng)目組。為了適應(yīng)快速變化的市場(chǎng),降低開發(fā)成本,公司想引入產(chǎn)品線方法。然而,軟件產(chǎn)品線方法涉及了一個(gè)軟件開發(fā)企業(yè)的多個(gè)產(chǎn)品,所以,公司的王總決定在弄清楚以下3個(gè)問(wèn)題之后再做決定:首先是本公司的業(yè)務(wù)范圍是否適合使用產(chǎn)品線方法,其次是如何在原有產(chǎn)品的基礎(chǔ)上建立產(chǎn)品線,最后是成功實(shí)施產(chǎn)品線的主要因素。SSS_TEXT_QUSTI8.[問(wèn)題1]結(jié)合你的系統(tǒng)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),請(qǐng)用200字以內(nèi)的文字簡(jiǎn)要說(shuō)明A公司是否適合采用產(chǎn)品線方法,并說(shuō)明你的理由。答案:這是一道要求讀者根據(jù)具體應(yīng)用環(huán)境,分析軟件產(chǎn)品線(SoftwareProductLine)的適用性的綜合理解題。本試題的解答思路如下。軟件產(chǎn)品線代表了一種強(qiáng)勁的軟件開發(fā)范例,它可使軟件生產(chǎn)在時(shí)間、成本和質(zhì)量方面獲得顯著改善。它是一個(gè)十分適合專業(yè)的軟件開發(fā)組織的軟件開發(fā)方法,能夠有效地提高軟件生產(chǎn)率和質(zhì)量,縮短開發(fā)時(shí)間,降低總開發(fā)成本。同時(shí),它也是一個(gè)新興的、多學(xué)科交叉的研究領(lǐng)域,研究?jī)?nèi)容和范圍都相當(dāng)廣泛。卡耐基梅隆大學(xué)軟件工程研究所(CMU/SEI)對(duì)產(chǎn)品線和軟件產(chǎn)品線的定義是,產(chǎn)品線是一個(gè)產(chǎn)品集合,這些產(chǎn)品共享一個(gè)公共的、可管理的特征集,這個(gè)特征集能滿足選定的市場(chǎng)或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個(gè)預(yù)描述的方式,在公共的核心資源(CoreAssets)基礎(chǔ)上開發(fā)的。這一定義體現(xiàn)了軟件產(chǎn)品線
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年監(jiān)理工程師考試知識(shí)提升試題及答案
- 備考必看2024人力資源管理師試題及答案
- 大學(xué)語(yǔ)文審美標(biāo)準(zhǔn)探討試題及答案2024
- 土地資源合理利用研究試題及答案
- 物流服務(wù)中的信息透明度試題及答案
- 2025年-河北省建筑安全員C證(專職安全員)考試題庫(kù)
- 2024年特許另類投資分析師考試復(fù)習(xí)中的注意事項(xiàng)試題及答案
- 2025年-安徽省建筑安全員B證考試題庫(kù)及答案
- 推動(dòng)公共政策制定中的公眾參與
- 汽車維修店技師工作服標(biāo)準(zhǔn)
- 醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理制度及工作程序-完整版
- (二模)溫州市2025屆高三第二次適應(yīng)性考試英語(yǔ)試卷(含答案)+聽力音頻+聽力原文
- 行政事業(yè)單位固定資產(chǎn)培訓(xùn)
- 6.1.2化學(xué)反應(yīng)與電能 課件 2024-2025學(xué)年高一下學(xué)期化學(xué)人教版(2019)必修第二冊(cè)
- 2025年云南省農(nóng)業(yè)大學(xué)招聘工作人員歷年自考難、易點(diǎn)模擬試卷(共500題附帶答案詳解)
- (二診)成都市2022級(jí)2025屆高中畢業(yè)班第二次診斷性檢測(cè)語(yǔ)文試卷(含官方答案)
- 湖南省長(zhǎng)沙市2024-2025學(xué)年九年級(jí)下學(xué)期入學(xué)考試英語(yǔ)試卷(含答案無(wú)聽力原文及音頻)
- 2025年國(guó)家會(huì)展中心上海有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 2024國(guó)家電投集團(tuán)中國(guó)電力招聘(22人)筆試參考題庫(kù)附帶答案詳解
- 《餐廳案例》課件
- 2025年教育革新:利用AI技術(shù)打造個(gè)性化學(xué)習(xí)
評(píng)論
0/150
提交評(píng)論