![2015級軟件體系結(jié)構(gòu)復習及考試試卷_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/80575582-d2f4-4a0c-af2c-2a1577020a8c/80575582-d2f4-4a0c-af2c-2a1577020a8c1.gif)
![2015級軟件體系結(jié)構(gòu)復習及考試試卷_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/80575582-d2f4-4a0c-af2c-2a1577020a8c/80575582-d2f4-4a0c-af2c-2a1577020a8c2.gif)
![2015級軟件體系結(jié)構(gòu)復習及考試試卷_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/80575582-d2f4-4a0c-af2c-2a1577020a8c/80575582-d2f4-4a0c-af2c-2a1577020a8c3.gif)
![2015級軟件體系結(jié)構(gòu)復習及考試試卷_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/80575582-d2f4-4a0c-af2c-2a1577020a8c/80575582-d2f4-4a0c-af2c-2a1577020a8c4.gif)
![2015級軟件體系結(jié)構(gòu)復習及考試試卷_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/80575582-d2f4-4a0c-af2c-2a1577020a8c/80575582-d2f4-4a0c-af2c-2a1577020a8c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件架構(gòu)的定義:(1)計算系統(tǒng)的軟件架構(gòu)是解釋該系統(tǒng)所需的結(jié)構(gòu)體的集合,其中包括軟件元素,元素之間的相互關(guān)系和二者各自的屬性。(2)Bass:軟件架構(gòu)包括一個或一組軟件構(gòu)件,軟件構(gòu)件的外部的可見特性(指軟件構(gòu)件提供的服務,性能,特性,錯誤處理,共享資源使用等)及其相互關(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)件:負責對數(shù)據(jù)進行加工;數(shù)據(jù)構(gòu)件:是被加工的信息;
2、連接構(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)的元素的描述,這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成。軟件架構(gòu)不僅指定了系統(tǒng)的組織和拓步結(jié)構(gòu),還顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應關(guān)系,提供了一些設計決策的基本原理。軟件架構(gòu)的意義:架構(gòu)是風險承擔者(涉眾)進行交流的手段架構(gòu)是早期設計決策的體現(xiàn)軟件架構(gòu)是可傳遞和可重用的模型軟件
3、架構(gòu)的應用現(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)分析、設計與驗證:架構(gòu)分析的內(nèi)容:結(jié)構(gòu)、功能和非功能分析/架構(gòu)設計本質(zhì):將系統(tǒng)分解成相應的組成成分并將這些成分重新組裝成一個系統(tǒng)/架構(gòu)設計兩大類方法:過程驅(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、用,比代碼重用更抽象。?軟件架構(gòu)演化是指由于系統(tǒng)需求、技術(shù)、環(huán)境、分布等因素的變化而導致軟件架構(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)理論應用到具體領(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)分析方法(SAAMT法)、中間設計的積極評審(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).主要以一些特殊的問題為目標建立只針對和適應該問題的結(jié)構(gòu)。動態(tài):動態(tài)模型是對結(jié)構(gòu)或框架模型的補充,研究系統(tǒng)的“大顆?!钡男袨樾再|(zhì)。例如,描述系統(tǒng)的重新配置或演化。過程:過程模型研究構(gòu)造系統(tǒng)的步驟和過程。功能:體系結(jié)構(gòu)是由一組功能構(gòu)件按層次組成,下層向上層提供服務。4+1模型C4模型:容器:一個在其內(nèi)部可以執(zhí)行構(gòu)件或駐留數(shù)據(jù)的東西。開發(fā)視圖也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理。-靜進程視圖側(cè)重于系統(tǒng)的運行特性,主要關(guān)注一些非功能性的需求
6、。-動物理視圖主要考慮如何把軟件映射到硬件上-動場景可以看作是那些重要系統(tǒng)活動的抽象,它使四個視圖有機聯(lián)系起來,場景可認為是最重要的需求抽象。管理信息系統(tǒng)-邏輯視圖和開發(fā)視圖實時控制系統(tǒng)-進程視圖和物理視圖在面向?qū)ο蟮南到y(tǒng)中,通常系統(tǒng)由多個容器組成,容器由多個構(gòu)件組成,構(gòu)件由多個類組成。RUP4+1MASVIM)用戶爆戰(zhàn)集成人員ItRWB(liwlfwnWicm樂掌用將組工程牌軟件體系結(jié)構(gòu)的生命周期模型:架構(gòu)的核心模型:構(gòu)件.連接件.配置.端口.角色t1+始.踽LJ加色軟件過程各階段間的關(guān)系:需求分析-建立體系結(jié)構(gòu)-詳細設計-實現(xiàn)-測試軟件架中風格:描述某一特定應用領(lǐng)域中系統(tǒng)組織方式的慣用模式
7、.架構(gòu)風格定義了一個系統(tǒng)家族即(架構(gòu)定義,詞匯表,約束),詞匯表中包含一些構(gòu)件和連接件類型,而這組約束指出系統(tǒng)是如何將這些構(gòu)件和連接件組合起來的。諸風格的特征數(shù)據(jù)流風格:批處理序列;管道/過濾器。調(diào)用/返回風格:主程序/子程序;面向?qū)ο箫L格;層次結(jié)構(gòu)。獨立構(gòu)件風格:進程通訊;事件系統(tǒng)。虛擬機風格:解釋器;基于規(guī)則的系統(tǒng)。倉庫風格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。C2風格管道-過濾器:每個構(gòu)件都讀輸入數(shù)據(jù)流,進行處理,產(chǎn)生輸出數(shù)據(jù)流.這里的處理是對輸入流的過濾,變換及增量計算;構(gòu)件被稱為過濾器,連接件就是過濾器間的數(shù)據(jù)流傳輸?shù)墓艿?如:UnixShell編寫的程序.編譯器.批處理程序.面像對象
8、系統(tǒng):此風格建立在數(shù)據(jù)抽象和面向?qū)ο蟮幕A(chǔ)上。構(gòu)件是對象。構(gòu)件封裝了數(shù)據(jù)和用于控制該數(shù)據(jù)的操作,構(gòu)件間通過信息傳遞進行通訊和合作?;谑录碾[式調(diào)用:構(gòu)件不直接調(diào)用一個過程,而是觸發(fā)或廣播一個或多個事件.系統(tǒng)中的其它構(gòu)件中的過程在一個或多個事件中注冊,當一個事件被觸發(fā),系統(tǒng)自動調(diào)用在這個事件中注冊的所有過程。這種風格的構(gòu)件是一些模塊,模塊既可以是一些過程,又可以是一些事件的集合.主要特點:事件的觸發(fā)者并不知道哪些構(gòu)件會被這些事件影響.如IDE的Debugger,數(shù)據(jù)庫的trigger,Windows的畫面控制.分層系統(tǒng):層次系統(tǒng)為層次結(jié)構(gòu),每一層為上層服務,并作為下層客戶.連接件通過決定層間如
9、何交互的協(xié)議來定義,拓撲約束包括對相鄰層間交互的約束。此風格便于分解復雜問題.由于每層只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現(xiàn),同樣為軟件重用提供了強大的支持。倉庫系統(tǒng):有兩種構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)說明當前狀態(tài),獨立構(gòu)件在中央數(shù)據(jù)存貯上執(zhí)行.構(gòu)件與倉庫間相互作用.(數(shù)據(jù)庫,信號處理松耦合代理,數(shù)據(jù)共享存取,帶有全局數(shù)據(jù)庫的批處理系統(tǒng))C2:系統(tǒng)中的構(gòu)件和連接件都有一個頂部和一個底部;構(gòu)件的頂部應連接到某連接件的底部,構(gòu)件的底部則應連接到某連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是不允許的;一個連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接;當兩個連接件進行直接連接時,必須由
10、其中一個的底部到另一個的頂部。C/S風格:有三個主要組成部分:客戶應用程序,數(shù)據(jù)庫服務器和網(wǎng)絡.模型:任務分配:服務器:數(shù)據(jù)庫安全性的要求;數(shù)據(jù)庫訪問并發(fā)性的控制數(shù)據(jù)庫前端的客戶應用程序的全局數(shù)據(jù)完整性規(guī)則;數(shù)據(jù)庫的備份與恢復??蛻魬贸绦颍禾峁┯脩襞c數(shù)據(jù)庫交互的界面;向數(shù)據(jù)庫服務器提交用戶請求并接收來自數(shù)據(jù)庫服務器的信息;利用客戶應用程序?qū)υ诳蛻舳说臄?shù)據(jù)執(zhí)行應用邏輯要求。優(yōu)點:有強大的數(shù)據(jù)操作和事務處理能力,模型思想簡單,易于理解,節(jié)約費用.缺點:開發(fā)成本較高,客戶端程序設計復雜,軟件移植困難優(yōu)點:可維護性和可擴展性,具有良好的可升級性和開放性可以選擇各自最適合的開發(fā)語言。三層C/S結(jié)構(gòu)各層
11、間的通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達不到所要求的性能。設計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量這和提高各層的獨立性一樣是三層C/S結(jié)構(gòu)的關(guān)鍵問題。三層B/S風格具體結(jié)構(gòu)為:瀏覽器/Web服務器/數(shù)據(jù)庫服務器。B/S架構(gòu)是利用WWW覽器技術(shù),結(jié)合瀏覽器的多種腳本語言用通用瀏覽器就實現(xiàn)強大功能,并節(jié)約了開發(fā)和運用成本。優(yōu):系統(tǒng)安裝、修改和維護,都容易,對客戶端機器性能要求不高.適用于面向大量用戶的應用和不特定用戶應用.架構(gòu)還提供了異種機、異種網(wǎng)、異種應用服務的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務的最現(xiàn)實的開放性基礎(chǔ)缺:應用系統(tǒng)在操作性等響應速度上遠低于C/S架構(gòu).數(shù)據(jù)動
12、態(tài)交互性不強,不利于在線事務處理(OLTP)應用.在公眾網(wǎng)下的應用會有安全方面的成本。CORBA康那總也,用It普OOlz10片章調(diào)聚低用臭呻*,1所4緲TM臬*(Object加10,接口定義語言(IDL)利用IDL統(tǒng)一地描述服務器對象的接口接口池(IR)利用IDL統(tǒng)一地描述服務器對象的接口動態(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)服務器對象接口的動態(tài)搜索、請求及參數(shù)的動態(tài)構(gòu)造與發(fā)送。對象適配器(OA用于屏蔽ORB內(nèi)核的實現(xiàn)細節(jié),為服務器對象的實現(xiàn)者提供抽象接口,以便他們使用ORB內(nèi)部的某些功能。這些功
13、能包括服務器對象的登錄與激活、客戶請求的認證等。特點:引入中間件作為事務代理,完成客戶機提出的業(yè)務請求。?實現(xiàn)客戶與服務對象的完全分開。?提供軟總線機制。?采用面向?qū)ο蟮能浖崿F(xiàn)方法開發(fā)應用系統(tǒng)。正交軟件體系結(jié)構(gòu)正交軟件體系結(jié)構(gòu)由完成不同功能的n(n>1)個線索(子系統(tǒng))組成?系統(tǒng)具有m(m>1個不同抽象級別的層;?線索之間是相互獨立的(正交的);系統(tǒng)有一個公共驅(qū)動層(一般為最高層)和公共數(shù)據(jù)結(jié)構(gòu)(一般為最低層)?結(jié)構(gòu)清晰,易于理解?易修改,可維護性強?可移植性強,重用粒度大基于層次消息總線的軟件結(jié)構(gòu)異構(gòu)風格?關(guān)于軟件包、框架、通信以及其他一些架構(gòu)上的問題,存在多種標準。且會變化。
14、我們總會遇到一些遺留系統(tǒng),它們?nèi)杂行в茫c新系統(tǒng)有些不協(xié)調(diào)。處于技術(shù)與經(jīng)濟的考慮,常決定不再重寫它們。即使在某一單位中規(guī)定了共享共同的軟件包或相互關(guān)系的一些標準,仍存在解釋或表示習慣上的不同。異構(gòu)網(wǎng)格-內(nèi)外有別微型UgfI明旭卜xfifp,l4,myru.Trm領(lǐng)域特定的軟件架構(gòu)(DSSA)?DSSA勺目標:在相關(guān)應用中共享體系結(jié)構(gòu)。以加大重用。DSSA勺定義:DSSA是專用于一類特定類型的任務(領(lǐng)域)的、在整個領(lǐng)域中能有效地使用的、為成功構(gòu)造應用系統(tǒng)限定了標準的組合結(jié)構(gòu)的軟件構(gòu)件的集合?;净顒樱褐鸩角缶玙,皿,城搐式領(lǐng)域分析低毒領(lǐng)域設計;開發(fā)和組織司,用惜息領(lǐng)域?qū)崿F(xiàn)I模型f用T 程抑典型
15、的軟件系統(tǒng)的架構(gòu)類型?人工智能:模擬或擴大人類認知,運動或其他有機體過程的系統(tǒng)?商業(yè):工商企業(yè)運營必要的系統(tǒng)?通訊:提供用于數(shù)據(jù)傳輸和數(shù)據(jù)管理,數(shù)據(jù)的用戶連接或者數(shù)據(jù)展示的基礎(chǔ)設施的系統(tǒng)?內(nèi)容創(chuàng)作:用來創(chuàng)建或管理文字和多媒體的系統(tǒng)?設備:與物理世界交互的系統(tǒng),可為個人提供某種有意義的服務?娛樂與運動:管理公眾事件或者提供大眾娛樂體驗的系統(tǒng)。?金融:為轉(zhuǎn)賬和理財及其他安全事務提供基礎(chǔ)設施的系統(tǒng)?游戲:為個人或群體提供娛樂體驗的系統(tǒng)?工業(yè):模擬或控制物理過程的系統(tǒng)?行政管理:支持地方/中央/全球等政治實體的管理和運作方式的系統(tǒng)?法律:支持法律的系統(tǒng)?醫(yī)療:診斷或治療,或者有助于醫(yī)學研究的系統(tǒng)?軍事
16、:用于商議,通訊,指揮,控制和信息(C4I)的系統(tǒng)。也有用于進攻和防衛(wèi)武器的系統(tǒng)?操作系統(tǒng):位于硬件之上提供基本軟件服務的系統(tǒng)?平臺:位于操作系統(tǒng)之上提供高級服務的系統(tǒng)?科學:用于科學研究和應用的系統(tǒng)?工具:用于開發(fā)其他系統(tǒng)的系統(tǒng)?運輸:控制水上,地面,空中或太空交通工具的系統(tǒng)?實用程序:與其他軟件交互作用的系統(tǒng),可提供某種有意義的服務體系結(jié)構(gòu)描述方法圖形表達工具模塊內(nèi)連語言:傳統(tǒng)程序設計語言。不便處理和描述高層次軟件體系結(jié)構(gòu)元素?;谲洏?gòu)件的系統(tǒng)描述語言:將軟件系統(tǒng)描述成一種是由許多特殊軟件實體構(gòu)造組成的組織或系統(tǒng).面向的系統(tǒng)元素是層次較低的以程序設計為基礎(chǔ)的通信協(xié)作軟件實體單元系統(tǒng)一般是面
17、向特定應用的特殊系統(tǒng).軟件體系結(jié)構(gòu)描述語言:ADL是針對軟件體系結(jié)構(gòu)的整體性和抽象性特點,定義和確定適合于軟件體系結(jié)構(gòu)表達與描述的有關(guān)抽象元素而形成的。XML的特點?簡潔有效?易學易用?開放的國際化標準?高效且可擴充XML的作用?使得搜索更加有意義?開發(fā)靈活的Web應用軟件?實現(xiàn)不同數(shù)據(jù)的集成?使用于多種應用環(huán)境?客戶端數(shù)據(jù)處理與計算?數(shù)據(jù)顯示多樣化?局部數(shù)據(jù)更新?與現(xiàn)有Web發(fā)布機制相兼容?可升級性?壓縮性能高XML的應用?客戶需要與不同的數(shù)據(jù)源進行交互時?將大量運算負荷分布在客戶端?將同一數(shù)據(jù)以不同的面貌展現(xiàn)給不同的用戶?網(wǎng)絡代理對所取得的信息進行編輯、增減以適應個人用戶的需要XML與HT
18、ML勺區(qū)另I?HTM是一種格式化的語言,HTML文本可以看作一個格式化的程序?XM提一種元標記語言?XM淀義一套元句法,與特定領(lǐng)域有關(guān)的標記語言(例如,MusicML、MathML和CML)都必須遵守XSL與CSS的區(qū)另I?CSS只能改變特定元素的格式,也只能以元素為基礎(chǔ)。但XSL樣式單可以重新排列元素并對元素進行重排序。?CSS勺優(yōu)越性在于具有廣泛的瀏覽器支持。但XSL更為靈活和強大,可更女f地適用于XML文檔。且?guī)SL樣式單的XML文檔可以很容易地轉(zhuǎn)換為帶CSS樣式單的HTM戊檔。?若只是要對一些固定數(shù)據(jù)進行排版,可以使用“HTMLCSS方式;若這些數(shù)據(jù)是與某些應用程序相關(guān),且獨立于程序
19、存在,獨立于程序來使用,則應該充分使用XM取術(shù),采用"HTMLXMLXSL'。XML文檔的解析的各種API接口的特征和選擇原則DOM,SAXJDOM,JAXPDOM?DOMI供了一組豐富的功能,用戶可以用這些功能來解釋和操作XML文檔。?DOMfe構(gòu)建整個文檔駐留內(nèi)存的樹,才能進行解析。如果文檔很大,就會要求有極大的內(nèi)存.?DOM創(chuàng)建表示原始文檔中每個東西的對象,包括元素、文本、屬性和空格。若用戶只需關(guān)注文檔的一小部分,那就嫌效率不高,費力不討好。SAX解析器向代碼發(fā)送事件。?SAX解析器不創(chuàng)建任何對象,只是將事件傳遞給應用程序。?SAX解析器在解析開始時就開始發(fā)送事件。?S
20、AX事件是無狀態(tài)的。?SAX#件不是持久的。JDOIM基于Java技術(shù)的開源項目,它試圖遵循80/20規(guī)則:用DOMF口SAX的20%勺功能來滿足80%勺用戶需求。JDO微用SAXf口DOMW析器,故只是一組相對較小的Java類。?主要特性:大幅度減少了用戶代碼,通常是DOMZ用程序的1/3,SAX應用程序的1/2。JAXPJAX唯供的諸如DocumentBuilderFactory之類的接口,為不同的解析器提供了一個標準接口。還有一些方法可以允許用戶控制底層的解析器是否可以識別名稱空間,以及是否使用DTD或模式來驗證XM戊檔。API接口的選擇?要用Java編寫應用程序嗎?JAXP使用DOMS
21、AXf口JDOM如果用Java編寫代碼,那么應使用JAXP將代碼與各種解析器實現(xiàn)的細節(jié)隔離。?應用程序?qū)⑷绾尾渴??如果應用程序?qū)⒁鳛镴avaapplet部署,則會希望使要下載的代碼數(shù)量最小,SAXB析器比DOMW析器小,而使用JDOM寸,除了SAX或DOM解析器之外還要求編寫少量代碼。?一旦解析了XML文檔,還需要多次訪問那些數(shù)據(jù)嗎?是,則DOMR能是正確的選擇(保存全部數(shù)據(jù))。若用SAX,則開發(fā)人員需要以某種方式保存它。否則必須再次解析該文件。?只需要XM酶文件的少量內(nèi)容嗎?是,則SAX可能是正確的選擇。SAX是選擇處理,不會為源文件中的每個東西創(chuàng)建對象。?正在一臺內(nèi)存很少的機器上工作嗎?
22、是,則不管可能考慮到的其它因素是什么,SAX都是最佳選擇。SaaS,軟件即服務是一種通過Internet提供軟件的模式,用戶不用再購買軟件,而改用向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營活動,且無需對軟件進行維護,服務提供商會全權(quán)管理和維護軟件。SOA的定義SOA是一種應用程序體系結(jié)構(gòu),在該體系結(jié)構(gòu)中,所有功能都定義為獨立的服務,這些服務帶有定義明確的可調(diào)用接口,能夠以定義好的順序調(diào)用這些服務來形成業(yè)務流程。SOA特征松散耦合.粗粒度服務.標準化接口SOA用途便于將業(yè)務系統(tǒng)能力分解為獨立性高/松散耦合,粗粒度的和可復用的服務便于對服務進行組裝和編排以滿足業(yè)務和流程的變化需求。SOA的設計原
23、則明確定義的接口/自包含和模塊化/粗粒度/松耦合/互操作性、兼容和策略聲明SOA的關(guān)鍵技術(shù)發(fā)現(xiàn)服務層UDDIDISCO發(fā)布與發(fā)現(xiàn)。我是誰,在哪,能干啥描述服務層WSDLXMLSchema我具體有哪些功能,怎么用消息格式層SOAPREST用什么格式的內(nèi)容和我交互編碼格式層XML我需用XML®言描述交互信息傳輸協(xié)議層HTTPTCP/IP、SMT嘴底層通信協(xié)議是什么SOA的實現(xiàn)方法WebServiceWeb服務的應用實例ERPERP(EnterpriicResource:Planning)的SOARIA的優(yōu)點?RIA結(jié)合了C/S架構(gòu)反應速度快、交互性強的優(yōu)點,以及B/S架構(gòu)傳播范圍廣及容易
24、傳播的特性?RIA簡化并改進了B/S架構(gòu)的用戶交互?數(shù)據(jù)能夠被緩存在客戶端,從而可以實現(xiàn)一個比基于HTM的響應速度更快且數(shù)據(jù)往返于服務器的次數(shù)更少的用戶界面?RIA可繼續(xù)使用現(xiàn)有的應用程序模型(包括J2EE和.NET),無需大規(guī)模替換現(xiàn)有Web應用程序。通過RIA技術(shù),可輕松構(gòu)建更直觀、易使用、反應更迅速并且可以脫機使用的應用程序?RIA可為企業(yè)提供多種重要效益,如提高產(chǎn)品銷量、增強客戶關(guān)系,延長網(wǎng)站逗留時間、減少帶寬成本及支持求助等RIA客戶端開發(fā)技術(shù)類別Flex,XUL,Laszlo,AJAX,Java,BindowsAjax開發(fā)模式在小H應用中,置E中用戶的源作會過時引與劣器迸行噩宿.然
25、后樽返回的結(jié)果由交蛤琴白聿的均。工引再由內(nèi)峽引串來決定將遁回的數(shù)據(jù)入到式面圍足的驚.Ajax技術(shù)核心:JavaScript調(diào)用XML的異步傳輸Ajax開發(fā)過程初始化XMLHttpRequest對象指定相應處理函數(shù)發(fā)出Http請求處理服務器返回信息動態(tài)顯示信息接口設計包含用戶接口設計=用戶界面設計用戶界面設計的黃金規(guī)則及其含義用戶操縱控制:以不強迫用戶進入不必要的或不希望的動作的方式來定義交互模式.提供靈活的交互.允許用戶交互被中斷和撤銷.當技能級別增長時可以使交互流線化并允許定制交互.使用戶與內(nèi)部技術(shù)細節(jié)隔離開來.設計應允許用戶與出現(xiàn)在屏幕上的對象直接交互。減少用戶的記憶負擔:減少對短期記憶的
26、要求.建立有意義的缺省.定義直觀的快捷方式.界面的視覺布局應該基于真實世界的象征.以不斷進展的方式揭示信息。保持界面一致:允許用戶將當前任務放入有意義的環(huán)境中.在應用系統(tǒng)家族內(nèi)保持一致性.如果過去的交互模型已經(jīng)建立起了用戶期望,除非有不得已的理由,否則不要改變它。界面分析從哪些方面著手界面分析意味著了解(1)通過界面和系統(tǒng)交互的人(最終用戶)最終用戶為完成工作要執(zhí)行的任務(3)作為界面的一部分而顯示的內(nèi)容(4)任務處理的環(huán)境評估的主要方式:基于調(diào)查問卷戒檢查表的評估方式基于場景的評估方式基于度量的評估方式ATAM平估方法,效用樹ATAM,效用附例1w.UEWf'Eiwnii也席班理同年
27、返此也修小粗,工-IWft<+產(chǎn)星n金碼門rt-0史產(chǎn)顯,HE量即thIVS."<'".J!4Ll»ffU<n»»|,平均看nH大叱(LrUK小于即AJ_L。KAKHWHA'ptlDU4>HAJIfltHeHrh用F近甘修障-業(yè)”:ftIt障LLH.K&iQU斷電,id內(nèi)根帽sir>£也盤出戛司U#占葉井博4L篙秀惘1(修時”(L.”局*1吟<wm£T時間內(nèi);_L.町客戶電保帛wHnAftMAMli實例化哪一個類。工廠方法使得子類實例化的過程推遲。實例化子類的對象抽
28、象工廠模式提供一個接口,可以創(chuàng)建一系列相關(guān)或相互依賴的對象,而無需指定它們具體的類。產(chǎn)品對象族。抽象工廠與工廠模式的區(qū)別:?工廠模式的工廠是針對一個產(chǎn)品等級結(jié)構(gòu)?抽象工廠模式的工廠是針對多個產(chǎn)品等級結(jié)構(gòu)適配器模式將一個類的接口轉(zhuǎn)換成用戶希望得到的另一種接口它使原本不相容的接口得以協(xié)同工作與對象的接口軟件設計里的模式的層次(1)Coad的面向?qū)ο竽J剑嚎蓜澐譃椋??基本的繼承和交互模式?面向?qū)ο筌浖到y(tǒng)的結(jié)構(gòu)化模式?與MVC匡架相關(guān)的模式。(2)代碼本M式:主要目標在于:指明結(jié)合基本語言概念的可用方式;構(gòu)成源碼結(jié)構(gòu)與命名規(guī)范的基礎(chǔ);避免面向?qū)ο蟪绦蛟O計語言的缺陷。(3)框架應用模式:在應用程序框架
29、“菜譜”中有很多“菜譜條”,它們用一種不很規(guī)范的方式描述了如何應用框架來解決特定的問題。?不同的框架有各自的“菜譜”。(4)形式合約:形式合約也是一種描述框架設計的方法,強調(diào)組成框架的對象間的交互關(guān)系。設計模式-定義,作用,分類設計模式:是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結(jié)。它與具體的實現(xiàn)語言無關(guān)。作用:提高了軟件復用的水平,從而提高了生產(chǎn)效率。分類:創(chuàng)建型,結(jié)構(gòu)型,行為型GoF的23種經(jīng)典設計模式創(chuàng)建型(工廠方法模式。抽象工廠。建造者。原型。單例)結(jié)構(gòu)型(適配器。橋連。組合。裝飾。外觀。享元。代理)行為型(職責鏈。命令。解析器。迭代器。中介者。備忘錄。觀察者。狀
30、態(tài)。策略。模板方法。訪問者)工廠模式定義一個創(chuàng)建對象的接口,但由子類決定需要單例模式保證一個類只有一個實例,并提供一個訪問它的全局訪問點類的單個實例代理模式為其他對象提供一種代理以控制這個對象的訪問如何訪問對象,對象位置MVCt點和Java實現(xiàn)示例MVCM觀察者,策略,組合模式的演變。根據(jù)MVCE框架中的實現(xiàn)不同可能還會用到工廠和裝飾器模式。中間件的定義,優(yōu)點,功能,分類,發(fā)展趨勢中間件:是一種獨立的系統(tǒng)軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機服務器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡通信。優(yōu)點:它使設計師集中設計與應用有關(guān)的部分,大大簡化設計與維護工
31、作。功能:?負責客戶機與服務器之間的連接和通信,以及客戶機與應用層之間的高效率通信機制。?提供應用層不同服務之間的互操作機制,以及應用層與數(shù)據(jù)庫之間的連接和控制機制。?提供一個多層體系結(jié)構(gòu)的應用開發(fā)和運行的平臺,以及一個應用開發(fā)框架,支持模塊化的應用開發(fā)。?屏蔽硬件、操作系統(tǒng)、網(wǎng)絡和數(shù)據(jù)庫的差異。(如JVM,ODBC)?提供應用的負載均衡和高可用性、安全機制與管理功能,以及交易管理機制,保證交易的一致性。?提供一組通用的服務去執(zhí)行不同的功能,避免重復的工作和使應用之間可以協(xié)作。分類:面向?qū)ο?CORBA,EJB,COM應用層:底層、通用型、集成型中間件發(fā)展趨勢:規(guī)范化、構(gòu)件化和松耦合、平臺化。
32、主要的中間件:RPCORBRMI,RMI-IIOP,MOM,事務處理監(jiān)控器面向?qū)ο笤O計原則單一職責原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則開閉原則組合/聚合復用原則概要設計書(外部設計書)的文檔內(nèi)容和制作步驟內(nèi)容:目的/方針、概要、功能、用戶界面、系統(tǒng)結(jié)構(gòu)、軟件結(jié)構(gòu)、硬件結(jié)構(gòu)、網(wǎng)絡結(jié)構(gòu)、系統(tǒng)接口,用語定義步驟:業(yè)務流程的作成-向子系統(tǒng)的分解-畫面和報表的布局作成-編號設計-邏輯數(shù)據(jù)設計-系統(tǒng)接口設計-外部設計書整理-評審詳細設計書(內(nèi)部設計書)的文檔內(nèi)容和制作步驟內(nèi)容:可以有功能、用戶界面、系統(tǒng)結(jié)構(gòu)、軟件結(jié)構(gòu)、硬件結(jié)構(gòu)、網(wǎng)絡結(jié)構(gòu)、系統(tǒng)接口,必須有程序結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡結(jié)構(gòu),處理邏輯
33、,消息和用語定義。步驟:畫面的詳細設計-報表的詳細設計-外部接口的詳細設計-業(yè)務規(guī)劃的詳細設計-要求處理的詳細設計-消息的詳細設計-物理數(shù)據(jù)設計-內(nèi)部設計書整理-評審Embeddedsystemsdesign嵌入式系統(tǒng)設計Architecturalpatterns體系結(jié)構(gòu)模Timinganalysis時序分析Real-timeoperatingsystems實時操作系統(tǒng)第13章軟件產(chǎn)品線體系結(jié)構(gòu)軟件產(chǎn)品線的產(chǎn)生于發(fā)展軟件產(chǎn)品線的過程模型有雙周期模型,模型。SEI 模型, 三生命周期3.什么是軟件重用?軟件重用的層次可以分為哪幾個級別?軟件重用是指在兩次或多次不同的軟件開發(fā)過程中重復使用相同或相
34、近軟件元素的過程。軟件重用的層次可以分為三個級別:(1)代碼重用(2)設計結(jié)果重用(3)分析結(jié)果重用5.程序結(jié)構(gòu)、軟件結(jié)構(gòu)、軟件體系結(jié)構(gòu)三者有什么區(qū)別和聯(lián)系?區(qū)別:(1)程序結(jié)構(gòu)是采用自頂向下、逐步求精及模塊化的程序設計方法;使用三種基本控制結(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)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。聯(lián)系:(1)軟件結(jié)構(gòu)主要包括程序結(jié)
35、構(gòu)和文檔結(jié)構(gòu)。(2)軟件體系結(jié)構(gòu)是整個軟件系統(tǒng)的骨架。補充:Chapter20EmbeddedSystems嵌入式系統(tǒng)基于消息總線:HMBM格的構(gòu)件接口是一種基于消息的互聯(lián)接口,可以較好地支持體系結(jié)構(gòu)設計。構(gòu)件之間通過消息進行通訊,接口定義了構(gòu)件發(fā)出和接收的消息集合。當某個事件發(fā)生后,系統(tǒng)或構(gòu)件發(fā)出相應的消息,消息總線負責把該消息傳遞到此消息感興趣的構(gòu)件。按照響應方式的不同,消息可分為同步消息和異步消息。HMBM格一構(gòu)件動態(tài)行為:構(gòu)件的行為就由外來消息的類型唯一確定,即一個消息和構(gòu)件的某個操作之間存在著固定的對應關(guān)系。對于這類構(gòu)件,可以認為構(gòu)件只有一個狀態(tài),或者在每次對消息響應之前,構(gòu)件處于初
36、始狀態(tài)。更通常的情況是,構(gòu)件的行為同時受外來消息類型和自身當前所處狀態(tài)的影響。HMBM格一運行時刻的系統(tǒng)演化:動態(tài)增加或刪除構(gòu)件;動態(tài)改變構(gòu)件響應的消息類型;消息過濾;1 .選擇一個熟悉的大型軟件系統(tǒng),分析其體系結(jié)構(gòu)中用到的風格,以及表現(xiàn)出的特點。(為什么要采用這種風格?采用這種風格帶來哪些優(yōu)勢?具有哪些不足?)如在石油管理局勞動管理系統(tǒng)中使用三層C/S的風格。該項目要求系統(tǒng)需要具備較強的適應能力和演化能力,不論單機還是網(wǎng)絡環(huán)境均能運行,并保證數(shù)據(jù)的一致性,且能隨著網(wǎng)絡環(huán)境的改善和管理水平的提高以及從獨立的應用程序方式向適應Intranet環(huán)境的方式演化。三層C/S體系結(jié)構(gòu)運用事務分離的原則將
37、MIS應用分為表示層、功能層、數(shù)據(jù)層等三個層次,每一個層次都有自己的特點。在MIS的三層結(jié)構(gòu)中,中間的功能層是關(guān)鍵。運行MIS應用程序的最基本的任務就是執(zhí)行數(shù)千條定義業(yè)務如何運轉(zhuǎn)的業(yè)務邏輯。一個業(yè)務處理過程就是一組業(yè)務處理規(guī)則的集合,中間層反應的是應用域模型,是MIS系統(tǒng)的核心內(nèi)容。優(yōu)點:允許合理地劃分三層結(jié)構(gòu)的功能在邏輯上保持相對獨立性;允許更靈活有效地選用相應的平臺和硬件系統(tǒng),具有良好可升級性和開放性;三層C/S結(jié)構(gòu)中,應用層的各層可以并行開發(fā),各層可以選擇各自最適合的開發(fā)語言;允許充分利用功能層有效地隔離開表示層和數(shù)據(jù)層,整個系統(tǒng)的管理層次也更加合理和可控制。缺點:三層C/S結(jié)構(gòu)各層間的
38、通信效率若不高,即使分配給各層的硬件能力很強,其作為整體來說也達不到所要求的性能。此外,設計時必須慎重考慮三層間的通信方法、通信頻度及數(shù)據(jù)量?!締栴}一】在實際的軟件項目開發(fā)中,采用成熟的體系結(jié)構(gòu)風格是項目成功的保證。請用200字以內(nèi)的文字說明:什么是軟件體系結(jié)構(gòu)風格;面向?qū)ο蠛涂刂骗h(huán)路兩種體系結(jié)構(gòu)風格各自的特點。軟件體系結(jié)構(gòu)風格是描述某一特定應用領(lǐng)域中系統(tǒng)組織方式的慣用模式。體系結(jié)構(gòu)風格定義了一個系統(tǒng)家族,即一個體系結(jié)構(gòu)定義一個詞匯表和一組約束。面向?qū)ο螅捍孙L格的特征是將數(shù)據(jù)表示和基本操作封裝在對象中。構(gòu)件是對象。對象維護自身表示的完整性,對象之間通過消息機制進行通信,對象交互時需要知道彼此的
39、標識,通過對象之間的協(xié)作完整計算過程。控制環(huán)路:將過程輸出的指定屬性維護在一個特定的參考值??刂骗h(huán)路風格包括過程變量、被控變量、輸入變量、操縱變量和設定點等構(gòu)件。通過手機實際和理想的過程狀態(tài)信息,調(diào)整過程和變量,使趨向于理想狀態(tài)?!締栴}二】用戶需求沒有明確給出該系統(tǒng)如何根據(jù)輸入集合計算輸出。請用300字以內(nèi)的文字針對該系統(tǒng)的增減速功能,分別給出兩種體系結(jié)構(gòu)風格中的主要構(gòu)件,并詳細描述計算過程。面向?qū)ο螅簶?gòu)件是對象。對于系統(tǒng)的增減速功能,采用面向?qū)ο箫L格的巡航控系統(tǒng)首先會定義司機、油門、時鐘、速度計和車輪等構(gòu)件。整個計算的主要過程是:(1)司機進行增/減速操作設置期望速度,該期望速度以消息的形式
40、傳遞給速度計;(2)速度計通過向車輪和時鐘發(fā)送消息獲取車輪轉(zhuǎn)速和時鐘值,得到當前速度;(3)速度計計算當前速度和期望速度的速度差值;(4)該差值以消息的形式發(fā)送給油門,油門通過速度差值調(diào)節(jié)自身狀態(tài);(5)整個過程在時鐘的控制下定期向速度計發(fā)送消息,重復執(zhí)行(2)??刂骗h(huán)路的架構(gòu)風格以控制器為核心,期望速度、車輪脈沖、時鐘和油門等作為構(gòu)件。具體的計算過程是:(1)司機進行增/減操作設置期望速度值;(2)將設定值置為期望速度值;(3)控制器采集車輪脈沖和時鐘值,計算出當前速度;(4)比較期望速度和當前速度,計算速度差值,控制油門動作。(5)反復執(zhí)行(3)和(4)。我會選擇Acme原因如下:Acme
41、是第二代ADL,即,其目的是確定一種最少共同點ADLAcme!CMU勺Acmea目的產(chǎn)物,AcmeM備大多數(shù)ADL共有的概念,因此它本身也是一個ADL并且是一個相對而言比較簡單的通用的ADL,Acme的主要特點表現(xiàn)為:采用七個基本的體系結(jié)構(gòu)設計元素作為體系結(jié)構(gòu)的本體,采用靈活的標注機制支持使用外部語言定義的非結(jié)構(gòu)化信息,使用類型機制對常見的可復用的軟件體系結(jié)構(gòu)俗語和風格進行抽象描述,使用開放的語義框架對體系結(jié)構(gòu)描述進行推理,Acme的設計元素為構(gòu)件、連接子、系統(tǒng)、端口、角色、表示、映射。模型驅(qū)動工程的特點主要表現(xiàn)在,該方法更加關(guān)注為不同的領(lǐng)域知識構(gòu)造其抽象描述,即領(lǐng)域模型(domainmode
42、ls),基于這些代表領(lǐng)域概念的模型刻畫軟件系統(tǒng),并通過自動(半自動)的層層轉(zhuǎn)換完成從設計向?qū)崿F(xiàn)的過渡,從而最終完成整個系統(tǒng)的開發(fā)。2 .軟件體系結(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)描述框架標準IEEEP1471。IEEEP1471適用于軟件密集的系統(tǒng),其目標在于:便于體系結(jié)構(gòu)的表達與交流,并通過體系結(jié)構(gòu)要素及其實踐標準化,奠定質(zhì)量與成本的基礎(chǔ)。IEEE
43、P1471詳細介紹了一套體系結(jié)構(gòu)描述的概念框架,并給出建立框架的思路。但如何描述以及具體的描述技術(shù)等方面缺乏更進一步的指導。Rational起草了可重用的軟件資產(chǎn)規(guī)格說明,專門討論了體系結(jié)構(gòu)描述的規(guī)格說明,提出了一套易于重用的體系結(jié)構(gòu)描述規(guī)范。該建議草案已經(jīng)提交OMG基于RUP(RationalUnitedProcess)、采用UMLM型描述軟件的體系結(jié)構(gòu),認為體系結(jié)構(gòu)描述的關(guān)鍵是定義視點、視圖以及建模元素之間的映射關(guān)系。與IEEEP1471相比,該建議標準的體系結(jié)構(gòu)描述方案涉及面比較窄,所注重的層次比較低,因而更具體。由于將體系結(jié)構(gòu)的描述限于UML和RUP(RUF4+1視圖),具有一定的局限
44、性,但該建議標準結(jié)合了業(yè)界已經(jīng)廣泛采用的建模語言和開發(fā)過程,因而易于推廣,可以有效實現(xiàn)在跨組織之間重用體系結(jié)構(gòu)描述結(jié)果。3 .對一個你曾經(jīng)開發(fā)過的軟件系統(tǒng)進行考慮,如果要使用ADL對其體系結(jié)構(gòu)進行描述,你會選擇哪一種?為什么?這樣選擇的優(yōu)點和缺點各有哪些?Ajax是一個技術(shù)綜合體,其核心技術(shù)包括JavaScript、XMLHttpRequest對象、DOMt檔對象模型等等。使用這些技術(shù)才能實現(xiàn)與服務器的異步通信,從而實現(xiàn)無刷新的Web應用。使用JavaScript將所有的東西綁定在一起,使用XMLHttpRequest進行異步數(shù)據(jù)查詢、檢索,使用DOM(DocumentObjectModel)
45、進行動態(tài)顯示及交互,使用XML和XSLT進行數(shù)據(jù)交換及相關(guān)操作。(1)用戶想Traveler網(wǎng)站請求服務,請求頁面提供用戶的位置信息。(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ù)用戶的請求信息進行數(shù)據(jù)內(nèi)容聚合。(8)Traveler
46、網(wǎng)站向用戶所處位置周邊整合的旅游信息。請給出三種目前經(jīng)常使用的Mashup數(shù)據(jù)接口并加以簡單說明。(1)聚合內(nèi)容式的Mashup接口。一種用于對網(wǎng)站內(nèi)容進行描述和同步的格式,是目前使用最廣泛的Web資源發(fā)布方式??梢员环Q為資源共享模式的延伸。(2)表達性狀態(tài)轉(zhuǎn)移式的Mashup接口。RESTA資源的角度來看待整個網(wǎng)絡,分布在各處的資源由統(tǒng)一資源標識符確定,而客戶端的應用通過URI來獲取資源的表示。(3)基于簡單對象訪問協(xié)議的Web服務式Mashup接口。一種基于XML的數(shù)據(jù)格式定義,用來進行Web®務調(diào)用過程中的參數(shù)調(diào)用和返回。在客戶端進行內(nèi)容聚合的優(yōu)點(1)從Mashup服務器存儲
47、的角度來說,對服務器所產(chǎn)生的負載較輕,因為數(shù)據(jù)可以直接從內(nèi)容提供者那里傳送到客戶端。(2)從網(wǎng)絡傳輸?shù)慕嵌葋碚f,在基于AJAX等技術(shù)和應用模型的基礎(chǔ)上,客戶端頁面只請求需要更新的內(nèi)容,而不用刷新整個頁面,從而減少網(wǎng)絡數(shù)據(jù)的通信量。評估的主要方法有:(1)基于調(diào)查問卷或檢查表的評估方式優(yōu):這一評估方式比較自由靈活,可評估多種質(zhì)量屬性,并可在軟件體系結(jié)構(gòu)設計的多個階段逆行。但是由于評估的結(jié)果徑大程度上來自評估人員的主觀推斷,因此精度依賴于評估人員對領(lǐng)域的熟悉程度和經(jīng)驗。缺點:盡管基于調(diào)查問卷不檢查表的評估方式相對比較主觀,但由于系統(tǒng)相關(guān)的人員的經(jīng)驗和知識是評估軟件體系結(jié)構(gòu)的重要信息來源,因而它仍然
48、是進行軟件體系結(jié)構(gòu)評估的重要途徑之一。(2)基于場景的評估方式優(yōu):該方式考慮到了所有涉眾對質(zhì)量的要求。涉及到的基本活動包括確定應用領(lǐng)域的功能和軟件體系結(jié)構(gòu)的結(jié)構(gòu)之間的映射,設計用于體現(xiàn)待評估質(zhì)量屬性的場景以及分析軟件體系結(jié)構(gòu)對場景的支持程度。缺:不同的應用系統(tǒng)對同一質(zhì)量屬性的理解可能不同,因此基于場景的評估方式是特定于領(lǐng)域的。該方式的實施者需要有豐富的領(lǐng)域知識以對某以質(zhì)量需求設計出合理的場景,同時必須對待評估的軟件體系結(jié)構(gòu)有一定的了解以準確判斷它是否支持場景描述的一系列活動。(3)基于度量的評估方式優(yōu):度量是指為軟件產(chǎn)品的某一屬性所賦予的數(shù)值,軟件體系結(jié)構(gòu)度量應該能夠作為評判質(zhì)量的重要的依據(jù)。
49、該方法涉及三個基本活動:首先需要建立質(zhì)量屬性和度量之間的映射原則,即確定怎樣從度量結(jié)果推出系統(tǒng)具有什么樣的質(zhì)量屬性;然后從軟件體系結(jié)構(gòu)文檔中獲取度量信息;最后根據(jù)映射原則分析推導出系統(tǒng)的某些質(zhì)量屬性。缺:基于度量的評估方式提供更為客觀和量化的質(zhì)量評估。這一評估方式需要在軟件體系結(jié)構(gòu)的設計基本完成以后才能進行,而且需要評估人員對待評估的體系結(jié)構(gòu)十分了解,否則不能獲取準確的度量。軟件質(zhì)量屬性有性能、可用性、可靠性、健壯性、安全性、可修改性、可變性、易用性、可測試性、功能性和互操作性。(1) 性能是指系統(tǒng)的響應能力,即要經(jīng)過多長時間才能對某個事件做出響應,或者在某段時間內(nèi)系統(tǒng)所能處理事件的個數(shù)。(2
50、)可用性是系統(tǒng)能夠正常運行的時間比例。(3)可靠性是指軟件系統(tǒng)在應用或錯誤面前,在意外或錯誤使用的情況下維持軟件系統(tǒng)功能特性的基本能力。(4)健壯性是指在處理或環(huán)境中,系統(tǒng)能夠承受壓力或變更的能力。(5)安全性是指系統(tǒng)向合法用戶提供服務的同時能夠阻止非授權(quán)用戶使用的企圖或拒絕服務的能力。(6)可修改性是指能夠快速地以較高的性能價格比對系統(tǒng)進行變更的能力。(7)可變性是指體系結(jié)構(gòu)經(jīng)擴充或變更成為新體系結(jié)構(gòu)的能力。(8)易用性是衡量用戶使用一個軟件產(chǎn)品完成指定任務的難易程度。(9)可測試性是指軟件發(fā)現(xiàn)故障并隔離、定位其故障的能力特性,以及在一定的時間和成本前提下,進行測試設計、測試執(zhí)行的能力。(1
51、0)功能性是系統(tǒng)所能完成所期望工作的能力。(11)互操作性是指系統(tǒng)與外界或系統(tǒng)與系統(tǒng)之間的相互作用能力。請對該在線交易平臺的4個要求進行分析,指出每個要求對應何種軟件質(zhì)量屬性;并針對每種軟件質(zhì)量屬性,各給出2種實現(xiàn)該質(zhì)量屬性的架構(gòu)設計策略。(2) 在線交易平臺必須在1s內(nèi)完成客戶的交易請求。該要求主要對應性能,可以采用的架構(gòu)設計策略有增加計算資源、改善資源需求(減少計算復雜度等)、資源管理(并發(fā)、數(shù)據(jù)復制等)和資源調(diào)度(先進先出隊列、優(yōu)先級隊列等)。(2)該平臺必須嚴格保證客戶個人信息和交易信息的保密性和安全性。該要求主要對應安全性,可以采用的架構(gòu)設計策略有抵御攻擊(授權(quán)、認證和限制訪問等)、
52、攻擊檢測(入侵檢測等)、從攻擊中恢復(部分可用性策略)和信息審計等。(3)當發(fā)生故障時,該平臺的平均故障恢復時間必須小于10s。該要求主要對應可用性,可以采用的架構(gòu)設計策略有Ping/Echo、心跳、異常和主動冗余等。(4)由于企業(yè)業(yè)務發(fā)展較快,需要經(jīng)常為該平臺添加新功能或進行硬件升級。添加新功能或進行平臺升級必須在6小時內(nèi)完成。該要求主要對應可修改性,可以采用的架構(gòu)設計策略有軟件模塊泛化、限制模塊之間通信、使用中介和延遲綁定等。設計模式可以分為幾類?請簡要說明軟件體系結(jié)構(gòu)和設計模式的關(guān)系。軟件設計里的模式分為高層的模式和低層的模式。軟件體系結(jié)構(gòu)模式就是軟件架構(gòu)風格。它描述了某特殊應用領(lǐng)域中系
53、統(tǒng)組織方式的慣用模式。設計模式是一套被反復使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設計經(jīng)驗的總結(jié)。它與具體的實現(xiàn)語言無關(guān)。慣用法則是指與具體實現(xiàn)語言有關(guān)的設計經(jīng)驗。.NET平臺與Java企業(yè)版平臺各自具備的優(yōu)勢,以及兩個平臺共有的特點。請分別針對基于EJB的重量級框架和基于Struts等的輕量級框架,說明MV微式中的各組件應采用何種構(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)
54、模型(Model):由JavaBean構(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ū)別為:(1)在組件耦合度方面:在MVP莫式中,視圖并不直接使用模型,它們之間的通信通過Presenter進行,從而實現(xiàn)了視圖與模型的分離;而在MVC莫式中,視圖直接與模型交互。(2)在組件分工方面:在MVP莫式中,視圖需要處理鼠標及鍵盤等觸發(fā)的界面事件;而在MVC模式中,這通常是由控制器完成的工作。在MVP模式中,系統(tǒng)核心業(yè)務邏
55、輯組織集中在Presenter中;而在MVC莫式中,相應的控制器通常只完成事件的分發(fā)。(3)在開發(fā)工程化支持方面:MVP莫式可更好地支持單元測試;而在MVC莫式中,由于模型與視圖綁定,因此難以實施相應的單元測試。在MVP莫式中,Presenter基于約定接口與視圖和模型交互,可更好地支持組件的重用。事務的基本特征包括:(1)原于性。一個事務中的所有操作,要么全部完成,要么全部不完成,不會結(jié)束在中間某個環(huán)節(jié)。(2)一致性。在事務開始之前和事務結(jié)束以后,數(shù)據(jù)的完整性限制沒有被破壞。(3)隔離性。兩個事務的執(zhí)行是互不干擾的,兩個事務時間不會互相影響。(4)持久性。在事務完成以后,該事務對數(shù)據(jù)所作的更改使持久地保存在數(shù)據(jù)庫之中,并且是完全的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海南從業(yè)資格證貨運題庫答案
- 電力損耗管理合同(2篇)
- 晉教版地理七年級下冊9.5《極地地區(qū)──冰封雪裹的世界》聽課評課記錄
- 小學五年級下冊數(shù)學《同分母分數(shù)加減法》聽評課記錄
- 2024年春五年級語文下冊第一單元3冬不拉課文原文素材語文S版
- 2024-2025學年高中政治課時分層作業(yè)19培育和踐行社會主義核心價值觀含解析新人教版必修3
- 2024-2025學年新教材高中地理第一單元從宇宙看地球第一節(jié)地球的宇宙環(huán)境第1課時宇宙和太陽課后篇鞏固提升含解析魯教版必修第一冊
- 專業(yè)技術(shù)人員年終工作總結(jié)
- 初中歷史社團活動總結(jié)
- 教師戶外活動總結(jié)
- 籃球俱樂部合伙協(xié)議
- 中學學校2024-2025學年教學專項發(fā)展規(guī)劃
- 臨時道路鋪設鋼板施工方案
- 屋頂光伏工程施工方案
- 電力基建復工安全教育培訓
- 勞務經(jīng)紀人培訓
- 歐洲電力回顧2024(英)
- 2024年金屬非金屬礦山(露天礦山)安全管理人員試題庫附答案
- ?;愤\輸安全緊急救援與處理
- 高數(shù)(大一上)期末試題及答案
- 工作場所職業(yè)病危害因素監(jiān)督監(jiān)測技術(shù)規(guī)范
評論
0/150
提交評論