2015級軟件體系結(jié)構(gòu)復(fù)習(xí)資料及考試試卷_第1頁
2015級軟件體系結(jié)構(gòu)復(fù)習(xí)資料及考試試卷_第2頁
2015級軟件體系結(jié)構(gòu)復(fù)習(xí)資料及考試試卷_第3頁
2015級軟件體系結(jié)構(gòu)復(fù)習(xí)資料及考試試卷_第4頁
2015級軟件體系結(jié)構(gòu)復(fù)習(xí)資料及考試試卷_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上軟件架構(gòu)的定義:(1)計算系統(tǒng)的軟件架構(gòu)是解釋該系統(tǒng)所需的結(jié)構(gòu)體的集合,其中包括軟件元素,元素之間的相互關(guān)系和二者各自的屬性。(2)Bass:軟件架構(gòu)包括一個或一組軟件構(gòu)件,軟件構(gòu)件的外部的可見特性(指軟件構(gòu)件提供的服務(wù),性能,特性,錯誤處理,共享資源使用等)及其相互關(guān)系。(3)軟件架構(gòu)師關(guān)注的首先不是功能,而是品質(zhì)關(guān)注點(非功能性需求),涉眾關(guān)注的是那些品質(zhì),如性能.安全.可伸縮性.可變性.可維護性.可用性等。理解涉眾的品質(zhì)關(guān)注點后,考慮折中.分解,分而治之.保持概念完整性。(4)軟件架構(gòu)具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合包括:處理構(gòu)件:負責(zé)對數(shù)據(jù)進行加工;數(shù)據(jù)

2、構(gòu)件:是被加工的信息;連接構(gòu)件:把架構(gòu)的不同部分組合連接起來.軟件架構(gòu)從四個角度,對系統(tǒng)進行描述:概念:描述系統(tǒng)的主要構(gòu)件及它們之間的關(guān)系模塊:包含功能分解和層次結(jié)構(gòu);運行:描述系統(tǒng)的動態(tài)結(jié)構(gòu);代碼:描述代碼和庫函數(shù)在開發(fā)環(huán)境中的組織(5)張友生:軟件架構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述,這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成。軟件架構(gòu)不僅指定了系統(tǒng)的組織和拓步結(jié)構(gòu),還顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,提供了一些設(shè)計決策的基本原理。軟件架構(gòu)的意義:架構(gòu)是風(fēng)險承擔(dān)者(涉眾)進行交流的手段架構(gòu)是早期設(shè)計決策的體現(xiàn)軟件架構(gòu)是可傳

3、遞和可重用的模型軟件架構(gòu)的應(yīng)用現(xiàn)狀(1)軟件架構(gòu)描述語言:ADL是一種形式化語言。(2)架構(gòu)描述構(gòu)造與表示:按照一定的描述方法,用架構(gòu)描述語言(ADL)對架構(gòu)進行說明的結(jié)果則稱為架構(gòu)的表示,將描述架構(gòu)的過程稱為架構(gòu)構(gòu)造。(3)架構(gòu)分析、設(shè)計與驗證:架構(gòu)分析的內(nèi)容:結(jié)構(gòu)、功能和非功能分析/架構(gòu)設(shè)計本質(zhì):將系統(tǒng)分解成相應(yīng)的組成成分并將這些成分重新組裝成一個系統(tǒng)/架構(gòu)設(shè)計兩大類方法:過程驅(qū)勱和問題列表驅(qū)勱.架構(gòu)測試著重于仿真系統(tǒng)模型,解決架構(gòu)層的主要問題.架構(gòu)測試策略可分為單元/子系統(tǒng)/集成/驗收測試等階段的測試策略。(4)架構(gòu)發(fā)現(xiàn)、演化與重用:架構(gòu)發(fā)現(xiàn)從既存系統(tǒng)中提取軟件的架構(gòu),屬逆向工程。架構(gòu)重

4、用屬于設(shè)計重用,比代碼重用更抽象。軟件架構(gòu)演化是指由于系統(tǒng)需求、技術(shù)、環(huán)境、分布等因素的變化而導(dǎo)致軟件架構(gòu)的變勱。(5)基于架構(gòu)的軟件開發(fā)方法:在基于構(gòu)件和基于架構(gòu)的軟開發(fā)逐漸成為主流情況下,已經(jīng)出現(xiàn)了基于構(gòu)件的軟件工程。(6)特定領(lǐng)域的架構(gòu)框架:DSSA是將架構(gòu)理論應(yīng)用到具體領(lǐng)域的過程。(7)軟件架構(gòu)支持工具(8軟件產(chǎn)品線架構(gòu):產(chǎn)品線代表著一組具有公共的系統(tǒng)需求集的軟件系統(tǒng),是根據(jù)基本的用戶需求對標準的產(chǎn)品線構(gòu)架迚行定制,將可重用構(gòu)件不系統(tǒng)獨有的部分集成而得到的。(9)建立評價軟件架構(gòu)的方法:架構(gòu)權(quán)衡分析方法(ATAM方法)、軟件架構(gòu)分析方法(SAAM方法)、中間設(shè)計的積極評審(ARID方法

5、)軟件體系結(jié)構(gòu)建模的種類結(jié)構(gòu)、框架、動態(tài)、過程、功能模型結(jié)構(gòu):以構(gòu)件、連接件和其他概念來刻畫結(jié)構(gòu),并以此來反映系統(tǒng)的重要語義內(nèi)容.框架:框架模型更側(cè)重于整體的結(jié)構(gòu).主要以一些特殊的問題為目標建立只針對和適應(yīng)該問題的結(jié)構(gòu)。動態(tài):動態(tài)模型是對結(jié)構(gòu)或框架模型的補充,研究系統(tǒng)的“大顆?!钡男袨樾再|(zhì)。例如,描述系統(tǒng)的重新配置或演化。過程:過程模型研究構(gòu)造系統(tǒng)的步驟和過程。 功能:體系結(jié)構(gòu)是由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。4+1模型邏輯視圖主要支持系統(tǒng)的功能需求.-靜開發(fā)視圖也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理。-靜進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的需求。-動物理視

6、圖主要考慮如何把軟件映射到硬件上-動場景可以看作是那些重要系統(tǒng)活動的抽象,它使四個視圖有機聯(lián)系起來,場景可認為是最重要的需求抽象。管理信息系統(tǒng)-邏輯視圖和開發(fā)視圖實時控制系統(tǒng)-進程視圖和物理視圖RUP4+1軟件體系結(jié)構(gòu)的生命周期模型:架構(gòu)的核心模型:構(gòu)件.連接件.配置.端口.角色軟件過程各階段間的關(guān)系:需求分析-建立體系結(jié)構(gòu)-詳細設(shè)計-實現(xiàn)-測試C4模型:容器:一個在其內(nèi)部可以執(zhí)行構(gòu)件或駐留數(shù)據(jù)的東西。在面向?qū)ο蟮南到y(tǒng)中,通常系統(tǒng)由多個容器組成,容器由多個構(gòu)件組成,構(gòu)件由多個類組成。軟件架構(gòu)風(fēng)格:描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式.架構(gòu)風(fēng)格定義了一個系統(tǒng)家族即(架構(gòu)定義,詞匯表,約束

7、),詞匯表中包含一些構(gòu)件和連接件類型,而這組約束指出系統(tǒng)是如何將這些構(gòu)件和連接件組合起來的。諸風(fēng)格的特征數(shù)據(jù)流風(fēng)格:批處理序列;管道/過濾器。調(diào)用/返回風(fēng)格:主程序/子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu)。獨立構(gòu)件風(fēng)格:進程通訊;事件系統(tǒng)。虛擬機風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)。倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。C2風(fēng)格管道-過濾器:每個構(gòu)件都讀輸入數(shù)據(jù)流,進行處理,產(chǎn)生輸出數(shù)據(jù)流.這里的處理是對輸入流的過濾,變換及增量計算;構(gòu)件被稱為過濾器,連接件就是過濾器間的數(shù)據(jù)流傳輸?shù)墓艿?如:UnixShell編寫的程序.編譯器.批處理程序.面像對象系統(tǒng):此風(fēng)格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上。構(gòu)件是對

8、象。構(gòu)件封裝了數(shù)據(jù)和用于控制該數(shù)據(jù)的操作,構(gòu)件間通過信息傳遞進行通訊和合作。基于事件的隱式調(diào)用:構(gòu)件不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件.系統(tǒng)中的其它構(gòu)件中的過程在一個或多個事件中注冊,當(dāng)一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程。這種風(fēng)格的構(gòu)件是一些模塊,模塊既可以是一些過程,又可以是一些事件的集合.主要特點:事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響.如IDE的Debugger,數(shù)據(jù)庫的trigger,Windows的畫面控制.分層系統(tǒng):層次系統(tǒng)為層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層客戶.連接件通過決定層間如何交互的協(xié)議來定義,拓撲約束包括對相鄰層間交互的約束。

9、此風(fēng)格便于分解復(fù)雜問題.由于每層只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現(xiàn),同樣為軟件重用提供了強大的支持。倉庫系統(tǒng):有兩種構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)說明當(dāng)前狀態(tài),獨立構(gòu)件在中央數(shù)據(jù)存貯上執(zhí)行.構(gòu)件與倉庫間相互作用.(數(shù)據(jù)庫,信號處理松耦合代理,數(shù)據(jù)共享存取,帶有全局數(shù)據(jù)庫的批處理系統(tǒng))C2:系統(tǒng)中的構(gòu)件和連接件都有一個頂部和一個底部;構(gòu)件的頂部應(yīng)連接到某連接件的底部,構(gòu)件的底部則應(yīng)連接到某連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是不允許的;一個連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接;當(dāng)兩個連接件進行直接連接時,必須由其中一個的底部到另一個的頂部。C/S風(fēng)格:有三個主要組

10、成部分:客戶應(yīng)用程序,數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò).模型:任務(wù)分配:服務(wù)器:數(shù)據(jù)庫安全性的要求;數(shù)據(jù)庫訪問并發(fā)性的控制;數(shù)據(jù)庫前端的客戶應(yīng)用程序的全局數(shù)據(jù)完整性規(guī)則;數(shù)據(jù)庫的備份與恢復(fù)??蛻魬?yīng)用程序:提供用戶與數(shù)據(jù)庫交互的界面;向數(shù)據(jù)庫服務(wù)器提交用戶請求并接收來自數(shù)據(jù)庫服務(wù)器的信息;利用客戶應(yīng)用程序?qū)υ诳蛻舳说臄?shù)據(jù)執(zhí)行應(yīng)用邏輯要求。優(yōu)點:有強大的數(shù)據(jù)操作和事務(wù)處理能力,模型思想簡單,易于理解,節(jié)約費用.缺點:開發(fā)成本較高,客戶端程序設(shè)計復(fù)雜,軟件移植困難三層C/S風(fēng)格優(yōu)點:可維護性和可擴展性,具有良好的可升級性和開放性,可以選擇各自最適合的開發(fā)語言。三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給各層的

11、硬件能力很強,其作為整體來說也達不到所要求的性能。設(shè)計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量這和提高各層的獨立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。三層B/S風(fēng)格具體結(jié)構(gòu)為:瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器。B/S架構(gòu)是利用WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語言用通用瀏覽器就實現(xiàn)強大功能,并節(jié)約了開發(fā)和運用成本。優(yōu):系統(tǒng)安裝、修改和維護,都容易,對客戶端機器性能要求不高.適用于面向大量用戶的應(yīng)用和不特定用戶應(yīng)用.架構(gòu)還提供了異種機、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實的開放性基礎(chǔ)缺:應(yīng)用系統(tǒng)在操作性等響應(yīng)速度上遠低于C/S架構(gòu).數(shù)據(jù)動態(tài)交互性不強,不利于在線事務(wù)處理(

12、OLTP)應(yīng)用.在公眾網(wǎng)下的應(yīng)用會有安全方面的成本。 CORBA:接口定義語言(IDL)利用IDL統(tǒng)一地描述服務(wù)器對象的接口接口池(IR)利用IDL統(tǒng)一地描述服務(wù)器對象的接口動態(tài)調(diào)用接口(DII)動態(tài)調(diào)用接口提供了標準函數(shù)供客戶對象動態(tài)創(chuàng)建請求、動態(tài)構(gòu)造請求參數(shù)??蛻魧ο髮討B(tài)調(diào)用接口與接口池配合使用可實現(xiàn)服務(wù)器對象接口的動態(tài)搜索、請求及參數(shù)的動態(tài)構(gòu)造與發(fā)送。 對象適配器(OA)用于屏蔽ORB內(nèi)核的實現(xiàn)細節(jié),為服務(wù)器對象的實現(xiàn)者提供抽象接口,以便他們使用ORB內(nèi)部的某些功能。這些功能包括服務(wù)器對象的登錄與激活、客戶請求的認證等。特點:引入中間件作為事務(wù)代理,完成客戶機提出的業(yè)務(wù)請求。實現(xiàn)客戶與

13、服務(wù)對象的完全分開。提供軟總線機制。采用面向?qū)ο蟮能浖崿F(xiàn)方法開發(fā)應(yīng)用系統(tǒng)。正交軟件體系結(jié)構(gòu)正交軟件體系結(jié)構(gòu)由完成不同功能的n(n1)個線索(子系統(tǒng))組成系統(tǒng)具有m(m1)個不同抽象級別的層;線索之間是相互獨立的(正交的);系統(tǒng)有一個公共驅(qū)動層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)結(jié)構(gòu)清晰,易于理解易修改,可維護性強可移植性強,重用粒度大 基于層次消息總線的軟件結(jié)構(gòu)異構(gòu)風(fēng)格關(guān)于軟件包、框架、通信以及其他一些架構(gòu)上的問題,存在多種標準。且會變化。我們總會遇到一些遺留系統(tǒng),它們?nèi)杂行в?,但與新系統(tǒng)有些不協(xié)調(diào)。處于技術(shù)與經(jīng)濟的考慮,常決定不再重寫它們。即使在某一單位中規(guī)定了共享共同的軟件包或

14、相互關(guān)系的一些標準,仍存在解釋或表示習(xí)慣上的不同。領(lǐng)域特定的軟件架構(gòu)(DSSA)DSSA的目標:在相關(guān)應(yīng)用中共享體系結(jié)構(gòu)。以加大重用。DSSA的定義:DSSA是專用于一類特定類型的任務(wù)(領(lǐng)域)的、在整個領(lǐng)域中能有效地使用的、為成功構(gòu)造應(yīng)用系統(tǒng)限定了標準的組合結(jié)構(gòu)的軟件構(gòu)件的集合。基本活動:模型典型的軟件系統(tǒng)的架構(gòu)類型人工智能:模擬或擴大人類認知,運動或其他有機體過程的系統(tǒng)商業(yè):工商企業(yè)運營必要的系統(tǒng)通訊:提供用于數(shù)據(jù)傳輸和數(shù)據(jù)管理,數(shù)據(jù)的用戶連接或者數(shù)據(jù)展示的基礎(chǔ)設(shè)施的系統(tǒng)內(nèi)容創(chuàng)作:用來創(chuàng)建或管理文字和多媒體的系統(tǒng)設(shè)備:與物理世界交互的系統(tǒng),可為個人提供某種有意義的服務(wù)娛樂與運動:管理公眾事件

15、或者提供大眾娛樂體驗的系統(tǒng)。金融:為轉(zhuǎn)賬和理財及其他安全事務(wù)提供基礎(chǔ)設(shè)施的系統(tǒng)游戲:為個人或群體提供娛樂體驗的系統(tǒng)工業(yè):模擬或控制物理過程的系統(tǒng)行政管理:支持地方/中央/全球等政治實體的管理和運作方式的系統(tǒng)法律:支持法律的系統(tǒng)醫(yī)療:診斷或治療,或者有助于醫(yī)學(xué)研究的系統(tǒng)軍事:用于商議,通訊,指揮,控制和信息(C4I)的系統(tǒng)。也有用于進攻和防衛(wèi)武器的系統(tǒng)操作系統(tǒng):位于硬件之上提供基本軟件服務(wù)的系統(tǒng)平臺:位于操作系統(tǒng)之上提供高級服務(wù)的系統(tǒng)科學(xué):用于科學(xué)研究和應(yīng)用的系統(tǒng)工具:用于開發(fā)其他系統(tǒng)的系統(tǒng)運輸:控制水上,地面,空中或太空交通工具的系統(tǒng)實用程序:與其他軟件交互作用的系統(tǒng),可提供某種有意義的服務(wù)體

16、系結(jié)構(gòu)描述方法圖形表達工具 模塊內(nèi)連語言:傳統(tǒng)程序設(shè)計語言。不便處理和描述高層次軟件體系結(jié)構(gòu)元素?;谲洏?gòu)件的系統(tǒng)描述語言:將軟件系統(tǒng)描述成一種是由許多特殊軟件實體構(gòu)造組成的組織或系統(tǒng).面向的系統(tǒng)元素是層次較低的以程序設(shè)計為基礎(chǔ)的通信協(xié)作軟件實體單元,系統(tǒng)一般是面向特定應(yīng)用的特殊系統(tǒng).軟件體系結(jié)構(gòu)描述語言:ADL是針對軟件體系結(jié)構(gòu)的整體性和抽象性特點,定義和確定適合于軟件體系結(jié)構(gòu)表達與描述的有關(guān)抽象元素而形成的。XML的特點簡潔有效易學(xué)易用開放的國際化標準高效且可擴充XML的作用使得搜索更加有意義開發(fā)靈活的Web應(yīng)用軟件實現(xiàn)不同數(shù)據(jù)的集成使用于多種應(yīng)用環(huán)境客戶端數(shù)據(jù)處理與計算數(shù)據(jù)顯示多樣化局部

17、數(shù)據(jù)更新與現(xiàn)有Web發(fā)布機制相兼容可升級性壓縮性能高XML的應(yīng)用客戶需要與不同的數(shù)據(jù)源進行交互時將大量運算負荷分布在客戶端將同一數(shù)據(jù)以不同的面貌展現(xiàn)給不同的用戶網(wǎng)絡(luò)代理對所取得的信息進行編輯、增減以適應(yīng)個人用戶的需要XML與HTML的區(qū)別HTML是一種格式化的語言,HTML文本可以看作一個格式化的程序XML是一種元標記語言XML定義一套元句法,與特定領(lǐng)域有關(guān)的標記語言(例如,MusicML、MathML和CML等)都必須遵守XSL與CSS的區(qū)別CSS只能改變特定元素的格式,也只能以元素為基礎(chǔ)。但XSL樣式單可以重新排列元素并對元素進行重排序。CSS的優(yōu)越性在于具有廣泛的瀏覽器支持。但XSL更為

18、靈活和強大,可更好地適用于XML文檔。且?guī)SL樣式單的XML文檔可以很容易地轉(zhuǎn)換為帶CSS樣式單的HTML文檔。若只是要對一些固定數(shù)據(jù)進行排版,可以使用“HTMLCSS”方式;若這些數(shù)據(jù)是與某些應(yīng)用程序相關(guān),且獨立于程序存在,獨立于程序來使用,則應(yīng)該充分使用XML技術(shù),采用“HTMLXMLXSL”。XML文檔的解析的各種API接口的特征和選擇原則DOM,SAX,JDOM,JAXP DOM:DOM提供了一組豐富的功能,用戶可以用這些功能來解釋和操作XML文檔。DOM先構(gòu)建整個文檔駐留內(nèi)存的樹,才能進行解析。如果文檔很大,就會要求有極大的內(nèi)存.DOM創(chuàng)建表示原始文檔中每個東西的對象,包括元素、文

19、本、屬性和空格。若用戶只需關(guān)注文檔的一小部分,那就嫌效率不高,費力不討好。SAX解析器向代碼發(fā)送事件。SAX解析器不創(chuàng)建任何對象,只是將事件傳遞給應(yīng)用程序。SAX解析器在解析開始時就開始發(fā)送事件。SAX事件是無狀態(tài)的。SAX事件不是持久的。JDOM是基于Java技術(shù)的開源項目,它試圖遵循80/20規(guī)則:用DOM和SAX的20%的功能來滿足80%的用戶需求。JDOM使用SAX和DOM解析器,故只是一組相對較小的Java類。主要特性:大幅度減少了用戶代碼,通常是DOM應(yīng)用程序的1/3,SAX應(yīng)用程序的1/2。JAXPJAXP提供的諸如DocumentBuilderFactory之類的接口,為不同的

20、解析器提供了一個標準接口。還有一些方法可以允許用戶控制底層的解析器是否可以識別名稱空間,以及是否使用DTD或模式來驗證XML文檔。 API接口的選擇要用Java編寫應(yīng)用程序嗎?JAXP使用DOM、SAX和JDOM;如果用Java編寫代碼,那么應(yīng)使用JAXP將代碼與各種解析器實現(xiàn)的細節(jié)隔離。應(yīng)用程序?qū)⑷绾尾渴??如果?yīng)用程序?qū)⒁鳛镴avaapplet部署,則會希望使要下載的代碼數(shù)量最小,SAX解析器比DOM解析器小,而使用JDOM時,除了SAX或DOM解析器之外還要求編寫少量代碼。一旦解析了XML文檔,還需要多次訪問那些數(shù)據(jù)嗎?是,則DOM可能是正確的選擇(保存全部數(shù)據(jù))。若用SAX,則開發(fā)人員

21、需要以某種方式保存它。否則必須再次解析該文件。只需要XML源文件的少量內(nèi)容嗎?是,則SAX可能是正確的選擇。SAX是選擇處理,不會為源文件中的每個東西創(chuàng)建對象。正在一臺內(nèi)存很少的機器上工作嗎?是,則不管可能考慮到的其它因素是什么,SAX都是最佳選擇。SaaS,軟件即服務(wù)是一種通過Internet提供軟件的模式,用戶不用再購買軟件,而改用向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營活動,且無需對軟件進行維護,服務(wù)提供商會全權(quán)管理和維護軟件。 SOA的定義SOA是一種應(yīng)用程序體系結(jié)構(gòu),在該體系結(jié)構(gòu)中,所有功能都定義為獨立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的順序調(diào)用這些服務(wù)來形成

22、業(yè)務(wù)流程。SOA特征松散耦合.粗粒度服務(wù).標準化接口SOA用途便于將業(yè)務(wù)系統(tǒng)能力分解為獨立性高/松散耦合,粗粒度的和可復(fù)用的服務(wù)便于對服務(wù)進行組裝和編排以滿足業(yè)務(wù)和流程的變化需求。SOA的設(shè)計原則明確定義的接口/自包含和模塊化/粗粒度/松耦合/互操作性、兼容和策略聲明SOA的關(guān)鍵技術(shù) 發(fā)現(xiàn)服務(wù)層 UDDI、DISCO發(fā)布與發(fā)現(xiàn)。我是誰,在哪,能干啥 描述服務(wù)層 WSDL、XML Schema我具體有哪些功能,怎么用 消息格式層 SOAP、REST用什么格式的內(nèi)容和我交互 編碼格式層 XML我需用XML語言描述交互信息 傳輸協(xié)議層 HTTP、TCP/IP、SMTP等 底層通信協(xié)議是什么 SOA的

23、實現(xiàn)方法 Web ServiceWeb服務(wù)的應(yīng)用實例 ERPRIA的優(yōu)點RIA結(jié)合了C/S架構(gòu)反應(yīng)速度快、交互性強的優(yōu)點,以及B/S架構(gòu)傳播范圍廣及容易傳播的特性RIA簡化并改進了B/S架構(gòu)的用戶交互數(shù)據(jù)能夠被緩存在客戶端,從而可以實現(xiàn)一個比基于HTML的響應(yīng)速度更快且數(shù)據(jù)往返于服務(wù)器的次數(shù)更少的用戶界面RIA可繼續(xù)使用現(xiàn)有的應(yīng)用程序模型(包括J2EE和.NET),無需大規(guī)模替換現(xiàn)有Web應(yīng)用程序。通過RIA技術(shù),可輕松構(gòu)建更直觀、易使用、反應(yīng)更迅速并且可以脫機使用的應(yīng)用程序RIA可為企業(yè)提供多種重要效益,如提高產(chǎn)品銷量、增強客戶關(guān)系,延長網(wǎng)站逗留時間、減少帶寬成本及支持求助等RIA客戶端開發(fā)

24、技術(shù)類別 Flex,XUL,Laszlo,AJAX,Java,BindowsAjax開發(fā)模式Ajax技術(shù)核心:JavaScript調(diào)用XML的異步傳輸 Ajax開發(fā)過程初始化XMLHttpRequest對象指定相應(yīng)處理函數(shù)發(fā)出Http請求處理服務(wù)器返回信息動態(tài)顯示信息接口設(shè)計包含用戶接口設(shè)計=用戶界面設(shè)計用戶界面設(shè)計的黃金規(guī)則及其含義用戶操縱控制:以不強迫用戶進入不必要的或不希望的動作的方式來定義交互模式.提供靈活的交互.允許用戶交互被中斷和撤銷.當(dāng)技能級別增長時可以使交互流線化并允許定制交互.使用戶與內(nèi)部技術(shù)細節(jié)隔離開來.設(shè)計應(yīng)允許用戶與出現(xiàn)在屏幕上的對象直接交互。減少用戶的記憶負擔(dān):減少對

25、短期記憶的要求.建立有意義的缺省.定義直觀的快捷方式.界面的視覺布局應(yīng)該基于真實世界的象征.以不斷進展的方式揭示信息。保持界面一致:允許用戶將當(dāng)前任務(wù)放入有意義的環(huán)境中.在應(yīng)用系統(tǒng)家族內(nèi)保持一致性.如果過去的交互模型已經(jīng)建立起了用戶期望,除非有不得已的理由,否則不要改變它。 界面分析從哪些方面著手界面分析意味著了解(1)通過界面和系統(tǒng)交互的人(最終用戶)(2)最終用戶為完成工作要執(zhí)行的任務(wù)(3)作為界面的一部分而顯示的內(nèi)容(4)任務(wù)處理的環(huán)境評估的主要方式 :基于調(diào)查問卷戒檢查表的評估方式基于場景的評估方式基于度量的評估方式 ATAM評估方法, 效用樹軟件設(shè)計里的模式的層次(1)Coad的面向

26、對象模式:可劃分為:基本的繼承和交互模式面向?qū)ο筌浖到y(tǒng)的結(jié)構(gòu)化模式與MVC框架相關(guān)的模式。(2)代碼模式:主要目標在于:指明結(jié)合基本語言概念的可用方式;構(gòu)成源碼結(jié)構(gòu)與命名規(guī)范的基礎(chǔ);避免面向?qū)ο蟪绦蛟O(shè)計語言的缺陷。(3)框架應(yīng)用模式:在應(yīng)用程序框架“菜譜”中有很多“菜譜條”,它們用一種不很規(guī)范的方式描述了如何應(yīng)用框架來解決特定的問題。不同的框架有各自的“菜譜”。(4)形式合約:形式合約也是一種描述框架設(shè)計的方法,強調(diào)組成框架的對象間的交互關(guān)系。設(shè)計模式 定義,作用,分類 設(shè)計模式:是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。它與具體的實現(xiàn)語言無關(guān)。作用:提高了軟件復(fù)用

27、的水平,從而提高了生產(chǎn)效率。分類:創(chuàng)建型,結(jié)構(gòu)型,行為型GoF的23種經(jīng)典設(shè)計模式創(chuàng)建型(工廠方法模式。抽象工廠。建造者。原型。單例)結(jié)構(gòu)型(適配器。橋連。組合。裝飾。外觀。享元。代理)行為型(職責(zé)鏈。命令。解析器。迭代器。中介者。備忘錄。觀察者。狀態(tài)。策略。模板方法。訪問者)工廠模式定義一個創(chuàng)建對象的接口,但由子類決定需要實例化哪一個類。工廠方法使得子類實例化的過程推遲。實例化子類的對象抽象工廠模式提供一個接口,可以創(chuàng)建一系列相關(guān)或相互依賴的對象,而無需指定它們具體的類。產(chǎn)品對象族。抽象工廠與工廠模式的區(qū)別:工廠模式的工廠是針對一個產(chǎn)品等級結(jié)構(gòu)抽象工廠模式的工廠是針對多個產(chǎn)品等級結(jié)構(gòu) 適配器

28、模式將一個類的接口轉(zhuǎn)換成用戶希望得到的另一種接口。它使原本不相容的接口得以協(xié)同工作與對象的接口單例模式保證一個類只有一個實例,并提供一個訪問它的全局訪問點類的單個實例代理模式為其他對象提供一種代理以控制這個對象的訪問如何訪問對象,對象位置MVC特點和Java實現(xiàn)示例MVC是觀察者,策略,組合模式的演變。根據(jù)MVC在框架中的實現(xiàn)不同可能還會用到工廠和裝飾器模式。中間件的定義,優(yōu)點,功能,分類,發(fā)展趨勢中間件:是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。優(yōu)點:它使設(shè)計師集中設(shè)計與應(yīng)用有關(guān)的部分,大

29、大簡化設(shè)計與維護工作。功能:負責(zé)客戶機與服務(wù)器之間的連接和通信,以及客戶機與應(yīng)用層之間的高效率通信機制。提供應(yīng)用層不同服務(wù)之間的互操作機制,以及應(yīng)用層與數(shù)據(jù)庫之間的連接和控制機制。提供一個多層體系結(jié)構(gòu)的應(yīng)用開發(fā)和運行的平臺,以及一個應(yīng)用開發(fā)框架,支持模塊化的應(yīng)用開發(fā)。屏蔽硬件、操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫的差異。(如JVM,ODBC)提供應(yīng)用的負載均衡和高可用性、安全機制與管理功能,以及交易管理機制,保證交易的一致性。提供一組通用的服務(wù)去執(zhí)行不同的功能,避免重復(fù)的工作和使應(yīng)用之間可以協(xié)作。分類:面向?qū)ο?CORBA,EJB,COM應(yīng)用層:底層、通用型、集成型中間件發(fā)展趨勢:規(guī)范化、構(gòu)件化和松耦合、平

30、臺化。主要的中間件:RPC,ORB,RMI,RMI-IIOP,MOM,事務(wù)處理監(jiān)控器面向?qū)ο笤O(shè)計原則單一職責(zé)原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則開閉原則組合/聚合復(fù)用原則概要設(shè)計書(外部設(shè)計書)的文檔內(nèi)容和制作步驟內(nèi)容:目的/方針、概要、功能、用戶界面、系統(tǒng)結(jié)構(gòu)、軟件結(jié)構(gòu)、硬件結(jié)構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)、系統(tǒng)接口,用語定義步驟:業(yè)務(wù)流程的作成-向子系統(tǒng)的分解-畫面和報表的布局作成-編號設(shè)計-邏輯數(shù)據(jù)設(shè)計-系統(tǒng)接口設(shè)計-外部設(shè)計書整理-評審詳細設(shè)計書(內(nèi)部設(shè)計書)的文檔內(nèi)容和制作步驟內(nèi)容:可以有功能、用戶界面、系統(tǒng)結(jié)構(gòu)、軟件結(jié)構(gòu)、硬件結(jié)構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)、系統(tǒng)接口,必須有程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)

31、,處理邏輯,消息和用語定義。步驟:畫面的詳細設(shè)計-報表的詳細設(shè)計-外部接口的詳細設(shè)計-業(yè)務(wù)規(guī)劃的詳細設(shè)計-要求處理的詳細設(shè)計-消息的詳細設(shè)計-物理數(shù)據(jù)設(shè)計-內(nèi)部設(shè)計書整理-評審補充:Chapter 20 Embedded Systems嵌入式系統(tǒng) Embedded systems design 嵌入式系統(tǒng)設(shè)計 Architectural patterns 體系結(jié)構(gòu)模式 Timing analysis 時序分析 Real-time operating systems 實時操作系統(tǒng)第13章 軟件產(chǎn)品線體系結(jié)構(gòu)軟件產(chǎn)品線的產(chǎn)生于發(fā)展軟件產(chǎn)品線的過程模型有雙周期模型,SEI模型,三生命周期模型。3.什

32、么是軟件重用?軟件重用的層次可以分為哪幾個級別?軟件重用是指在兩次或多次不同的軟件開發(fā)過程中重復(fù)使用相同或相近軟件元素的過程。軟件重用的層次可以分為三個級別:(1)代碼重用(2)設(shè)計結(jié)果重用(3)分析結(jié)果重用5.程序結(jié)構(gòu)、軟件結(jié)構(gòu)、軟件體系結(jié)構(gòu)三者有什么區(qū)別和聯(lián)系? 區(qū)別:(1)程序結(jié)構(gòu)是采用自頂向下、及化的程序設(shè)計方法;使用三種基本控制結(jié)構(gòu)(即順序、選擇和循環(huán))構(gòu)造程序。程序結(jié)構(gòu)有兩層含義,一是指程序的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu);另一是指由比程序低一級的程序單位(模塊)組成程序的過程、方法和表示。(2)軟件結(jié)構(gòu)是指一種層次表況,由軟件組成成分構(gòu)造軟件的過程、方法和表示。(3)軟件是具有一定形式的結(jié)構(gòu)

33、化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。聯(lián)系:(1)軟件結(jié)構(gòu)主要包括程序結(jié)構(gòu)和文檔結(jié)構(gòu)。(2)軟件體系結(jié)構(gòu)是整個軟件系統(tǒng)的骨架。1.選擇一個熟悉的大型軟件系統(tǒng),分析其體系結(jié)構(gòu)中用到的風(fēng)格,以及表現(xiàn)出的特點。(為什么要采用這種風(fēng)格?采用這種風(fēng)格帶來哪些優(yōu)勢?具有哪些不足?)如在石油管理局勞動管理系統(tǒng)中使用三層C/S的風(fēng)格。該項目要求系統(tǒng)需要具備較強的適應(yīng)能力和演化能力,不論單機還是網(wǎng)絡(luò)環(huán)境均能運行,并保證數(shù)據(jù)的一致性,且能隨著網(wǎng)絡(luò)環(huán)境的改善和管理水平的提高以及從獨立的應(yīng)用程序方式向適應(yīng)Intranet環(huán)境的方式演化。三層C/S體系結(jié)構(gòu)運用事務(wù)分離的原則將MIS應(yīng)用分為表示層、功能

34、層、數(shù)據(jù)層等三個層次,每一個層次都有自己的特點。在MIS的三層結(jié)構(gòu)中,中間的功能層是關(guān)鍵。運行MIS應(yīng)用程序的最基本的任務(wù)就是執(zhí)行數(shù)千條定義業(yè)務(wù)如何運轉(zhuǎn)的業(yè)務(wù)邏輯。一個業(yè)務(wù)處理過程就是一組業(yè)務(wù)處理規(guī)則的集合,中間層反應(yīng)的是應(yīng)用域模型,是MIS系統(tǒng)的核心內(nèi)容。優(yōu)點:允許合理地劃分三層結(jié)構(gòu)的功能在邏輯上保持相對獨立性;允許更靈活有效地選用相應(yīng)的平臺和硬件系統(tǒng),具有良好可升級性和開放性;三層C/S結(jié)構(gòu)中,應(yīng)用層的各層可以并行開發(fā),各層可以選擇各自最適合的開發(fā)語言;允許充分利用功能層有效地隔離開表示層和數(shù)據(jù)層,整個系統(tǒng)的管理層次也更加合理和可控制。缺點:三層C/S結(jié)構(gòu)各層間的通信效率若不高,即使分配給

35、各層的硬件能力很強,其作為整體來說也達不到所要求的性能。此外,設(shè)計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量。基于消息總線:HMB風(fēng)格的構(gòu)件接口是一種基于消息的互聯(lián)接口,可以較好地支持體系結(jié)構(gòu)設(shè)計。構(gòu)件之間通過消息進行通訊,接口定義了構(gòu)件發(fā)出和接收的消息集合。當(dāng)某個事件發(fā)生后,系統(tǒng)或構(gòu)件發(fā)出相應(yīng)的消息,消息總線負責(zé)把該消息傳遞到此消息感興趣的構(gòu)件。 按照響應(yīng)方式的不同,消息可分為同步消息和異步消息。HMB風(fēng)格構(gòu)件動態(tài)行為:構(gòu)件的行為就由外來消息的類型唯一確定,即一個消息和構(gòu)件的某個操作之間存在著固定的對應(yīng)關(guān)系。對于這類構(gòu)件,可以認為構(gòu)件只有一個狀態(tài),或者在每次對消息響應(yīng)之前,構(gòu)件 處于初

36、始狀態(tài)。更通常的情況是,構(gòu)件的行為同時受外來消息 類型和自身當(dāng)前所處狀態(tài)的影響。HMB風(fēng)格運行時刻的系統(tǒng)演化:動態(tài)增加或刪除構(gòu)件;動態(tài)改變構(gòu)件響應(yīng)的消息類型;消息過濾;【問題一】在實際的軟件項目開發(fā)中,采用成熟的體系結(jié)構(gòu)風(fēng)格是項目成功的保證。請用200字以內(nèi)的文字說明:什么是軟件體系結(jié)構(gòu)風(fēng)格;面向?qū)ο蠛涂刂骗h(huán)路兩種體系結(jié)構(gòu)風(fēng)格各自的特點。軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。體系結(jié)構(gòu)風(fēng)格定義了一個系統(tǒng)家族,即一個體系結(jié)構(gòu)定義一個詞匯表和一組約束。面向?qū)ο螅捍孙L(fēng)格的特征是將數(shù)據(jù)表示和基本操作封裝在對象中。構(gòu)件是對象。對象維護自身表示的完整性,對象之間通過消息機制進行通信

37、,對象交互時需要知道彼此的標識,通過對象之間的協(xié)作完整計算過程??刂骗h(huán)路:將過程輸出的指定屬性維護在一個特定的參考值??刂骗h(huán)路風(fēng)格包括過程變量、被控變量、輸入變量、操縱變量和設(shè)定點等構(gòu)件。通過手機實際和理想的過程狀態(tài)信息,調(diào)整過程和變量,使趨向于理想狀態(tài)?!締栴}二】用戶需求沒有明確給出該系統(tǒng)如何根據(jù)輸入集合計算輸出。請用300字以內(nèi)的文字針對該系統(tǒng)的增減速功能,分別給出兩種體系結(jié)構(gòu)風(fēng)格中的主要構(gòu)件,并詳細描述計算過程。面向?qū)ο螅簶?gòu)件是對象。對于系統(tǒng)的增減速功能,采用面向?qū)ο箫L(fēng)格的巡航控系統(tǒng)首先會定義司機、油門、時鐘、速度計和車輪等構(gòu)件。整個計算的主要過程是:(1)司機進行增/減速操作設(shè)置期望速

38、度,該期望速度以消息的形式傳遞給速度計;(2)速度計通過向車輪和時鐘發(fā)送消息獲取車輪轉(zhuǎn)速和時鐘值,得到當(dāng)前速度;(3)速度計計算當(dāng)前速度和期望速度的速度差值;(4)該差值以消息的形式發(fā)送給油門,油門通過速度差值調(diào)節(jié)自身狀態(tài);(5)整個過程在時鐘的控制下定期向速度計發(fā)送消息,重復(fù)執(zhí)行(2)(4)。控制環(huán)路的架構(gòu)風(fēng)格以控制器為核心,期望速度、車輪脈沖、時鐘和油門等作為構(gòu)件。具體的計算過程是:(1)司機進行增/減操作設(shè)置期望速度值;(2)將設(shè)定值置為期望速度值;(3)控制器采集車輪脈沖和時鐘值,計算出當(dāng)前速度;(4)比較期望速度和當(dāng)前速度,計算速度差值,控制油門動作。(5)反復(fù)執(zhí)行(3)和(4)。2

39、.軟件體系結(jié)構(gòu)描述方法和體系結(jié)構(gòu)描述標準是形式化的基礎(chǔ),簡要說明有哪些軟件體系結(jié)構(gòu)描述方法和描述標準。體系結(jié)構(gòu)描述方法分類:1.圖形表達工具2.模塊內(nèi)連接語言3.基于軟構(gòu)建的系統(tǒng)描述語言4.軟件體系結(jié)構(gòu)描述語言 鑒于體系結(jié)構(gòu)描述的概念與實踐的不統(tǒng)一, IEEE發(fā)起研究并于2000年通過了體系結(jié)構(gòu)描述框架標準IEEE P1471。IEEE P1471適用于軟件密集的系統(tǒng),其目標在于:便于體系結(jié)構(gòu)的表達與交流,并通過體系結(jié)構(gòu)要素及其實踐標準化,奠定質(zhì)量與成本的基礎(chǔ)。IEEE P1471詳細介紹了一套體系結(jié)構(gòu)描述的概念框架,并給出建立框架的思路。但如何描述以及具體的描述技術(shù)等方面缺乏更進一步的指導(dǎo)。

40、Rational起草了可重用的軟件資產(chǎn)規(guī)格說明,專門討論了體系結(jié)構(gòu)描述的規(guī)格說明,提出了一套易于重用的體系結(jié)構(gòu)描述規(guī)范。該建議草案已經(jīng)提交OMG。基于RUP(Rational United Process)、采用UML模型 描述軟件的體系結(jié)構(gòu),認為體系結(jié)構(gòu)描述的關(guān)鍵是定義視點、視圖以及建模元素之間的映射關(guān)系。與IEEE P1471相比,該建議標準的體系結(jié)構(gòu)描述方案涉及 面比較窄,所注重的層次比較低,因而更具體。由于將體系結(jié)構(gòu)的描述限于UML和RUP(RUP 4+1視圖),具有一定的局限性,但該建議標準結(jié)合了業(yè)界已經(jīng)廣泛采用的建模語言和開發(fā)過程,因而易于推廣,可以有效實現(xiàn)在跨組織之間重用體系結(jié)構(gòu)

41、描述結(jié)果。3.對一個你曾經(jīng)開發(fā)過的軟件系統(tǒng)進行考慮,如果要使用ADL對其體系結(jié)構(gòu)進行描述,你會選擇哪一種?為什么?這樣選擇的優(yōu)點和缺點各有哪些? 我會選擇Acme。原因如下:Acme是第二代ADL,即,其目的是確定一種最少共同點ADL。Acme是CMU的Acme項目的產(chǎn)物,Acme具備大多數(shù)ADL共有的概念,因此它本身也是一個ADL,并且是一個相對而言比較簡單的通用的ADL,Acme的主要特點表現(xiàn)為:采用七個基本的體系結(jié)構(gòu)設(shè)計元素作為體系結(jié)構(gòu)的本體,采用靈活的標注機制支持使用外部語言定義的非結(jié)構(gòu)化信息,使用類型機制對常見的可復(fù)用的軟件體系結(jié)構(gòu)俗語和風(fēng)格進行抽象描述,使用開放的語義框架對體系結(jié)構(gòu)

42、描述進行推理,Acme的設(shè)計元素為構(gòu)件、連接子、系統(tǒng)、端口、角色、表示、映射。 模型驅(qū)動工程的特點主要表現(xiàn)在,該方法更加關(guān)注為不同的領(lǐng)域知識構(gòu)造其抽象描述,即領(lǐng)域模型(domain models),基于這些代表領(lǐng)域概念的模型刻畫軟件系統(tǒng),并通過自動(半自動)的層層轉(zhuǎn)換完成從設(shè)計向?qū)崿F(xiàn)的過渡,從而最終完成整個系統(tǒng)的開發(fā)。Ajax是一個技術(shù)綜合體,其核心技術(shù)包括JavaScript、XMLHttpRequest對象、DOM文檔對象模型等等。使用這些技術(shù)才能實現(xiàn)與服務(wù)器的異步通信,從而實現(xiàn)無刷新的Web應(yīng)用。使用 JavaScript 將所有的東西綁定在一起,使用進行異步數(shù)據(jù)查詢、檢索,使用 DOM

43、(Document Object Model)進行動態(tài)顯示及交互,使用 XML和 XSLT 進行數(shù)據(jù)交換及相關(guān)操作。(1)用戶想Traveler網(wǎng)站請求服務(wù),請求頁面提供用戶的位置信息。(2)Traveler接受請求,將請求分解為對多個網(wǎng)站的數(shù)據(jù)請求調(diào)用,并為發(fā)起調(diào)用進行準備。(3)調(diào)用A網(wǎng)站提供的Web編程接口,給出(提供)用戶位置信息,請求地圖信息信息。(4)A網(wǎng)站向Traveler網(wǎng)站返回用戶所處位置周邊的地圖信息。(5)調(diào)用B網(wǎng)站的內(nèi)容信息獲取接口,給出(提供)用戶地理信息,請求用戶周邊的住宿信息。(6)B網(wǎng)站向Traveler網(wǎng)站返回用戶所處位置周邊的住宿信息。(7)根據(jù)用戶的請求信

44、息進行數(shù)據(jù)內(nèi)容聚合。(8)Traveler網(wǎng)站向用戶所處位置周邊整合的旅游信息。請給出三種目前經(jīng)常使用的Mashup數(shù)據(jù)接口并加以簡單說明。(1)聚合內(nèi)容式的Mashup接口。一種用于對網(wǎng)站內(nèi)容進行描述和同步的格式,是目前使用最廣泛的Web資源發(fā)布方式。可以被稱為資源共享模式的延伸。(2)表達性狀態(tài)轉(zhuǎn)移式的Mashup接口。REST從資源的角度來看待整個網(wǎng)絡(luò),分布在各處的資源由統(tǒng)一資源標識符確定,而客戶端的應(yīng)用通過URI來獲取資源的表示。(3)基于簡單對象訪問協(xié)議的Web服務(wù)式Mashup接口。一種基于XML的數(shù)據(jù)格式定義,用來進行Web服務(wù)調(diào)用過程中的參數(shù)調(diào)用和返回。在客戶端進行內(nèi)容聚合的優(yōu)

45、點(1)從Mashup服務(wù)器存儲的角度來說,對服務(wù)器所產(chǎn)生的負載較輕,因為數(shù)據(jù)可以直接從內(nèi)容提供者那里傳送到客戶端。(2)從網(wǎng)絡(luò)傳輸?shù)慕嵌葋碚f,在基于AJAX等技術(shù)和應(yīng)用模型的基礎(chǔ)上,客戶端頁面只請求需要更新的內(nèi)容,而不用刷新整個頁面,從而減少網(wǎng)絡(luò)數(shù)據(jù)的通信量。評估的主要方法有:(1)基于調(diào)查問卷或檢查表的評估方式 優(yōu):這一評估方式比較自由靈活,可評估多種質(zhì)量屬性,并可在軟件體系結(jié)構(gòu)設(shè)計的多個階段迚行。但是由于評估的結(jié)果徑大程度上來自評估人員的主觀推斷,因此精度依賴于評估人員對領(lǐng)域的熟悉程度和經(jīng)驗。 缺點:盡管基于調(diào)查問卷不檢查表的評估方式相對比較主觀, 但由于系統(tǒng)相關(guān)的人員的經(jīng)驗和知識是評估

46、軟件體系結(jié)構(gòu)的重要信息來源,因而它仍然是進行軟件體系結(jié)構(gòu)評估的重要途徑之一。(2)基于場景的評估方式 優(yōu):該方式考慮到了所有涉眾對質(zhì)量的要求。涉及到的基本活動包括確定應(yīng)用領(lǐng)域的功能和軟件體系結(jié)構(gòu)的結(jié)構(gòu)之間的映射,設(shè)計用于體現(xiàn)待評估質(zhì)量屬性的場景以及分析軟件體系結(jié)構(gòu)對場景的支持程度。 缺:不同的應(yīng)用系統(tǒng)對同一質(zhì)量屬性的理解可能不同,因此基于場景的評估方式是特定于領(lǐng)域的。該方式的實施者需要有豐富的領(lǐng)域知識以對某以質(zhì)量需求設(shè)計出合理的場景,同時必須對待評估的軟件體系結(jié)構(gòu)有一定的了解以準確判斷它是否支持場景描述的一系列活動。(3)基于度量的評估方式 優(yōu):度量是指為軟件產(chǎn)品的某一屬性所賦予的數(shù)值,軟件體

47、系結(jié)構(gòu)度量應(yīng)該能夠作為評判質(zhì)量的重要的依據(jù)。該方法涉及三個基本活動:首先需要建立質(zhì)量屬性和度量之間的映射原則,即確定怎樣從度量結(jié)果推出系統(tǒng)具有什么樣的質(zhì)量屬性; 然后從軟件體系結(jié)構(gòu)文檔中獲取度量信息;最后根據(jù)映射原則分析推導(dǎo)出系統(tǒng)的某些質(zhì)量屬性。 缺:基于度量的評估方式提供更為客觀和量化的質(zhì)量評估。這一評估方式需要在軟件體系結(jié)構(gòu)的設(shè)計基本完成以后才能進行,而且需要評估人員對待評估的體系結(jié)構(gòu)十分了解,否則不能獲取準確的度量。軟件質(zhì)量屬性有性能、可用性、可靠性、健壯性、安全性、可修改性、可變性、易用性、可測試性、功能性和互操作性。(1) 性能是指系統(tǒng)的響應(yīng)能力,即要經(jīng)過多長時間才能對某個事件做出響

48、應(yīng),或者在某段時間內(nèi)系統(tǒng)所能處理事件的個數(shù)。(2) 可用性是系統(tǒng)能夠正常運行的時間比例。(3) 可靠性是指軟件系統(tǒng)在應(yīng)用或錯誤面前,在意外或錯誤使用的情況下維持軟件系統(tǒng)功能特性的基本能力。(4) 健壯性是指在處理或環(huán)境中,系統(tǒng)能夠承受壓力或變更的能力。(5) 安全性是指系統(tǒng)向合法用戶提供服務(wù)的同時能夠阻止非授權(quán)用戶使用的企圖或拒絕服務(wù)的能力。(6) 可修改性是指能夠快速地以較高的性能價格比對系統(tǒng)進行變更的能力。(7) 可變性是指體系結(jié)構(gòu)經(jīng)擴充或變更成為新體系結(jié)構(gòu)的能力。(8) 易用性是衡量用戶使用一個軟件產(chǎn)品完成指定任務(wù)的難易程度。(9) 可測試性是指軟件發(fā)現(xiàn)故障并隔離、定位其故障的能力特性,

49、以及在一定的時間和成本前提下,進行測試設(shè)計、測試執(zhí)行的能力。(10) 功能性是系統(tǒng)所能完成所期望工作的能力。(11) 互操作性是指系統(tǒng)與外界或系統(tǒng)與系統(tǒng)之間的相互作用能力。請對該在線交易平臺的4個要求進行分析,指出每個要求對應(yīng)何種軟件質(zhì)量屬性;并針對每種軟件質(zhì)量屬性,各給出2種實現(xiàn)該質(zhì)量屬性的架構(gòu)設(shè)計策略。(1) 在線交易平臺必須在1s內(nèi)完成客戶的交易請求。該要求主要對應(yīng)性能,可以采用的架構(gòu)設(shè)計策略有增加計算資源、改善資源需求(減少計算復(fù)雜度等)、資源管理(并發(fā)、數(shù)據(jù)復(fù)制等)和資源調(diào)度(先進先出隊列、優(yōu)先級隊列等)。(2) 該平臺必須嚴格保證客戶個人信息和交易信息的保密性和安全性。該要求主要對

50、應(yīng)安全性,可以采用的架構(gòu)設(shè)計策略有抵御攻擊(授權(quán)、認證和限制訪問等)、攻擊檢測(入侵檢測等)、從攻擊中恢復(fù)(部分可用性策略)和信息審計等。(3) 當(dāng)發(fā)生故障時,該平臺的平均故障恢復(fù)時間必須小于10s。該要求主要對應(yīng)可用性,可以采用的架構(gòu)設(shè)計策略有Ping/Echo、心跳、異常和主動冗余等。(4) 由于企業(yè)業(yè)務(wù)發(fā)展較快,需要經(jīng)常為該平臺添加新功能或進行硬件升級。添加新功能或進行平臺升級必須在6小時內(nèi)完成。該要求主要對應(yīng)可修改性,可以采用的架構(gòu)設(shè)計策略有軟件模塊泛化、限制模塊之間通信、使用中介和延遲綁定等。設(shè)計模式可以分為幾類?請簡要說明軟件體系結(jié)構(gòu)和設(shè)計模式的關(guān)系。軟件設(shè)計里的模式分為高層的模式

51、和低層的模式。軟件體系結(jié)構(gòu)模式就是軟件架構(gòu)風(fēng)格。它描述了某特殊應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。設(shè)計模式是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié)。它與具體的實現(xiàn)語言無關(guān)。慣用法則是指與具體實現(xiàn)語言有關(guān)的設(shè)計經(jīng)驗。.NET平臺Java企業(yè)版平臺易于部署與配置良好跨平臺可移植性支持多程序設(shè)計語言支持豐富的多廠商外部支持針對特定平臺的優(yōu)化支持良好的源代碼以外的可定制性支持良好的Web多層應(yīng)用開發(fā)支持良好的O/R(對象/關(guān)系)映射支持良好的Web服務(wù)支持.NET平臺與Java企業(yè)版平臺各自具備的優(yōu)勢,以及兩個平臺共有的特點。請分別針對基于EJB的重量級框架和基于Struts等

52、的輕量級框架,說明MVC模式中的各組件應(yīng)采用何種構(gòu)件實現(xiàn)。在基于EJB的重量級框架中,實現(xiàn)的構(gòu)件分別為:(1)模型(Model):由EJB構(gòu)件實現(xiàn)。(2)視圖(View):由JSP構(gòu)件實現(xiàn)。 (3)控制器(Controller):由Servlet構(gòu)件實現(xiàn)。在基于Struts等的輕量級框架中,實現(xiàn)的構(gòu)件分別為:(1)模型(Model):由Java Bean構(gòu)件實現(xiàn)。(2)視圖(View):由JSP構(gòu)件實現(xiàn)。 (3)控制器(Controller):由Servlet構(gòu)件實現(xiàn)。請從組件耦合度、組件分工及對開發(fā)工程化支持等三方面說明MVP模式與MVC模式的主要區(qū)別MVP模式與MVC模式的主要區(qū)別為: (

53、1)在組件耦合度方面:在MVP模式中,視圖并不直接使用模型,它們之間的通信通過Presenter進行,從而實現(xiàn)了視圖與模型的分離;而在MVC模式中,視圖直接與模型交互。 (2)在組件分工方面:在MVP模式中,視圖需要處理鼠標及鍵盤等觸發(fā)的界面事件;而在MVC模式中,這通常是由控制器完成的工作。在MVP模式中,系統(tǒng)核心業(yè)務(wù)邏輯組織集中在Presenter中;而在MVC模式中,相應(yīng)的控制器通常只完成事件的分發(fā)。 (3)在開發(fā)工程化支持方面:MVP模式可更好地支持單元測試;而在MVC模式中,由于模型與視圖綁定,因此難以實施相應(yīng)的單元測試。在MVP模式中,Presenter基于約定接口與視圖和模型交互

54、,可更好地支持組件的重用。事務(wù)的基本特征包括:(1)原于性。一個事務(wù)中的所有操作,要么全部完成,要么全部不完成,不會結(jié)束在中間某個環(huán)節(jié)。(2)一致性。在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)的完整性限制沒有被破壞。 (3)隔離性。兩個事務(wù)的執(zhí)行是互不干擾的,兩個事務(wù)時間不會互相影響。 (4)持久性。在事務(wù)完成以后,該事務(wù)對數(shù)據(jù)所作的更改使持久地保存在數(shù)據(jù)庫之中,并且是完全的。 EJB規(guī)范支持的兩種事務(wù)控制方法為:(1)容器維護的事務(wù)。由EJB容器根據(jù)部署描述符或EJB構(gòu)件注釋中指定的事務(wù)屬性自動控制事務(wù)的邊界,容器維護的事務(wù)是方法級的。(2)Bean維護的事務(wù)。由程序員在EJB的源代碼中控制事務(wù)執(zhí)行的邊界,事務(wù)的邊界通過Java事務(wù)接口進行控制,Bean維護的事務(wù)可以跨越方法的邊界?;隗w系結(jié)構(gòu)的設(shè)計方法?簡要說明基于體系結(jié)構(gòu)的設(shè)計方法的生命周期及設(shè)計步驟。 ABSD方法為產(chǎn)生軟件系統(tǒng)的概念體系結(jié)構(gòu)提供構(gòu)造,概念體系結(jié)構(gòu)描述了系統(tǒng)的主要設(shè)計元素及其關(guān)系。概念體系結(jié)構(gòu)代表了在開發(fā)過程中作出的第一個選擇,相應(yīng)地,它是達到系統(tǒng)質(zhì)量和商業(yè)目標的關(guān)鍵,為達到預(yù)定功能提供了一個基礎(chǔ)。生命周期:步驟:(1)設(shè)計元素的產(chǎn)生順序(2)設(shè)計元素的活動,包括:定義邏輯視圖步驟;功能分解;選擇體系結(jié)構(gòu)風(fēng)格;為風(fēng)格分配功能;細化模板;功能校驗;創(chuàng)建并發(fā)視圖;創(chuàng)建配置視圖;驗證質(zhì)量場景;驗證約束。2.軟件產(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論