篇一:《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題
《軟件體系結(jié)構(gòu)》期末復(fù)習(xí)題
簡答題:
1、軟件體系結(jié)構(gòu)建模的種類有:
結(jié)構(gòu)模型、框架模型、動態(tài)模型、過程模型、功能模型。
2、“4+1”視圖模型從5個不同的視角包括:
邏輯視圖、進程視圖、物理視圖、開發(fā)視圖和場景視圖來描述軟件體系結(jié)構(gòu)。
3、構(gòu)件:是具有某種功能的可重用的軟件模板單元,表示了系統(tǒng)中主要的計算元素和數(shù)據(jù)存儲。連接件:表示構(gòu)件之間的交互。
配置:表示構(gòu)件和連接件的拓撲邏輯和約束。
端口:表示構(gòu)件和外部環(huán)境的交互點。
角色:定義了該連接交互的參與者。
4、畫出“4+1”視圖模型圖,分析各部分的原理和功能。
5、軟件體系結(jié)構(gòu)風(fēng)格:
是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。
6、軟件體系結(jié)構(gòu)
(Software Architecture)
軟件體系結(jié)構(gòu)以組件和組件交互的方式定義系統(tǒng),說明需求與成品系統(tǒng)之間的對應(yīng)關(guān)系,描述系統(tǒng)級別的可伸縮性、能力、吞吐量、一致性和兼容性等屬性。 軟件體系結(jié)構(gòu)由組件、連接件和屬性組成。
7、分層系統(tǒng)的優(yōu)點有:
1)支持基于抽象程度遞增的系統(tǒng)設(shè)計,使設(shè)計者可以把一個復(fù)雜系統(tǒng)按遞增的步驟進行分解;
2)支持功能增強,因為每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;
3)支持重用。只要提供的服務(wù)接口定義不變,同一層的不同實現(xiàn)可以交換使用。這樣,就可以定義一組標準的接口,而允許各種不同的實現(xiàn)方法。
8、分層系統(tǒng)的缺點有:
1)并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對系統(tǒng)性能的考慮,系統(tǒng)設(shè)計師不得不把一些低級或高級的功能綜合起來;
2)很難找到一個合適的、正確的層次抽象方法。
9、 B/S體系結(jié)構(gòu)的優(yōu)點有什么?
答:1)基于B/S體系結(jié)構(gòu)的軟件,系統(tǒng)安裝、修改和維護全在服務(wù)器端解決。用戶在使用系統(tǒng)時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了“零客戶端”的功能,很容易在運行時自動升級。
2)B/S體系結(jié)構(gòu)還提供了異種機、異種網(wǎng)、異種應(yīng)用服務(wù)的聯(lián)機、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實的開放性基礎(chǔ)。
10、B/S體系結(jié)構(gòu)的缺點有什么?
答:1)B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理功能。
2)B/S體系結(jié)構(gòu)的系統(tǒng)擴展能力差,安全性難以控制。
3)采用B/S體系結(jié)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠遠地低于C/S體系結(jié)構(gòu)。
4)B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強,不利于在線事務(wù)處理(OLTP)應(yīng)用。
11、DSSA
答案:DSSA就是在一個特定應(yīng)用領(lǐng)域中為一組應(yīng)用提供組織結(jié)構(gòu)參考的標準軟件體系結(jié)構(gòu)
11、軟件體系結(jié)構(gòu)的動態(tài)性主要分為:
交互式動態(tài)性、結(jié)構(gòu)化動態(tài)性、體系結(jié)構(gòu)動態(tài)性等三類。
12、請畫出基于構(gòu)件的動態(tài)系統(tǒng)結(jié)構(gòu)模型畫。
13、軟件產(chǎn)品線
產(chǎn)品線是一個產(chǎn)品集合,這些產(chǎn)品共享一個公共的、可管理的特征集,這個特征集能滿足選定的市場或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個預(yù)描述的方式,在公共的核心資源(core assets)基礎(chǔ)上開發(fā)的
14、SOA
即service-oriented architecture,面向服務(wù)架構(gòu)。它是一個組件模型,它
將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接
口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于
實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的
系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
14、RIA
15、中間件
15、設(shè)計模式
答:一些設(shè)計面向?qū)ο蟮能浖_發(fā)的經(jīng)驗總結(jié),就是系統(tǒng)的命名、解釋、和評價某一個重要的面向?qū)ο蟮目芍噩F(xiàn)的面向?qū)ο蟮脑O(shè)計方案。
15、軟件體系結(jié)構(gòu)測試和傳統(tǒng)軟件測試區(qū)別
16、UML中的交互圖有兩種,分別是順序圖和協(xié)作圖,請分析一下兩者之間的主要差別和各自的優(yōu)缺點。掌握利用兩種圖進行的設(shè)計的方法。
答:順序圖可視化地表示了對象之間隨時間發(fā)生的交互,它除了展示對象之間的關(guān)聯(lián),還顯示出對象之間的消息傳遞。與順序圖一樣,協(xié)作圖也展示對象之間的交互關(guān)系。順序圖強調(diào)的是交互的時間順序,而協(xié)作圖強調(diào)的是交互的語境和參與交互的對象的整體組織。順序圖按照時間順序布圖,而協(xié)作圖按照空間組織布圖。順序圖可以清晰地表示消息之間的順序和時間關(guān)系,但需要較多的水平方向的空間。協(xié)作圖在增加對象時比較容易,而且分支也比較少,但如果消息比較多時難以表示消息之間的順序。
17. 管道過濾器風(fēng)格結(jié)構(gòu)特點
(1)使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點;
(2)允許設(shè)計者將整個系統(tǒng)的輸入/輸出行為看成是多個過濾器的行為的簡單合成;(3)支持軟件重用。
(4)系統(tǒng)維護和增強系統(tǒng)性能簡單。
(5)允許對一些如吞吐量、死鎖等屬性的分析;
(6)支持并行執(zhí)行。
但是,這樣的系統(tǒng)也存在著若干不利因素。
(1)通常導(dǎo)致進程成為批處理的結(jié)構(gòu)。這是因為雖然過濾器可增量式地處理數(shù)據(jù),但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的轉(zhuǎn)換。
(2)不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時,這個問題尤為嚴重。
(3)因為在數(shù)據(jù)傳輸上沒有通用的標準,每個過濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。
18. 什么是設(shè)計模式?它與風(fēng)格、框架有什么區(qū)別與聯(lián)系?
設(shè)計模式是對通用設(shè)計問題的重復(fù)解決方案。
軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。
軟件框架是整個或部分系統(tǒng)的可重用設(shè)計
模式比框架更加抽象
框架是模式的特例化
設(shè)計模式被實現(xiàn)成為框架后,可以極大的減輕從設(shè)計到實現(xiàn)的鴻溝
利用了模式的框架比沒有利用模式的框架更容易理解、更能被設(shè)計與實現(xiàn)重用
通常成熟的框架包含了多種設(shè)計模式
一個框架不僅可以具體實現(xiàn)一個模式,還可以具體的實現(xiàn)多個模式
設(shè)計模式與風(fēng)格兩者為近義詞,通常情況下可以互相通用
風(fēng)格主要是指大的,宏觀的設(shè)計。模式既可宏觀,又可微觀。
19. 軟件體系結(jié)構(gòu)測試的內(nèi)容與準則是什么?
內(nèi)容:構(gòu)件端口行為與連接件約束是否一致、兼容,單元間的消息是否一致、可達,相關(guān)端口是否可連接,體系結(jié)構(gòu)風(fēng)格是否可滿足。
準則:測試覆蓋所有的構(gòu)件及各個構(gòu)件的接口。各個連接件的接口、構(gòu)件之間的直接連接、構(gòu)件之間的間接連接。
20、請簡述MVC,介紹各自的作用和用途。
答案:MVC是三個單詞的縮寫,分別為:模型(Model),視圖(View)和控制
Controller)。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。
Model是應(yīng)用對象,所有的操作都在這里實現(xiàn),它若需要取得視圖中的對象或更新視圖,需通過控制器來進行處理。
View是模型在屏幕上的表示,模型在進行操作后,其結(jié)果是通過視圖顯示的。
Controller用于管理用戶與視圖發(fā)生的交互,定義用戶界面對用戶輸入的響應(yīng)方式。一旦用戶需要對模型進行處理,不能直接執(zhí)行模型,而必須通過控制器間接實現(xiàn)的。
選擇題
1、設(shè)計模式一般用來解決什么樣的問題( A )
A.同一問題的不同表相 B不同問題的同一表相
C.不同問題的不同表相 D.以上都不是
2、下列屬于面向?qū)ο蠡驹瓌t的是( C )
A.繼承 B.封裝C.里氏代換 D都不是
3、Open-Close原則的含義是一個軟件實體( A )
A.應(yīng)當(dāng)對擴展開放,對修改關(guān)閉.
B.應(yīng)當(dāng)對修改開放,對擴展關(guān)閉
C.應(yīng)當(dāng)對繼承開放,對修改關(guān)閉
D.以上都不對
5、要依賴于抽象,不要依賴于具體。即針對接口編程,不要針對實現(xiàn)編程,是( D )的表述
A.開-閉原則
B.接口隔離原則
C.里氏代換原則
D.依賴倒轉(zhuǎn)原則
7、設(shè)計模式的兩大主題是( D )
A.系統(tǒng)的維護與開發(fā) B 對象組合與類的繼承
C.系統(tǒng)架構(gòu)與系統(tǒng)開發(fā) D.系統(tǒng)復(fù)用與系統(tǒng)擴展
9、下列模式中,屬于行為模式的是( B )
A.工廠模式 B觀察者 C適配器D 以上都是
10、常用的軟件體系結(jié)構(gòu)評估的方法不包括( C )。
A體系結(jié)構(gòu)權(quán)衡分析法B.軟件體系結(jié)構(gòu)分析法
C系統(tǒng)體系結(jié)構(gòu)分析法D.中間設(shè)計的積極評審
11、不屬于軟件體系結(jié)構(gòu)的核心模型的最基本的元素是 ( D )
A 構(gòu)件 B 連接件C 配置 D 角色
12、選項中部屬于“4+1”試圖模型的是:( C )
A 邏輯視圖 B 物理視圖 C 連接視圖 D 開發(fā)視圖
13、下列說法錯誤的一項的是( D )
A:邏輯視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)
B:開發(fā)視圖也稱模塊視圖,主要側(cè)重于軟件模塊的組織和管理
C:進程視圖側(cè)重與系統(tǒng)的運行特性,主要關(guān)注一些功能性需求,例如系統(tǒng)的性能和可用性。
D:物理視圖主要考慮如何吧軟件映射到硬件上,它不需要要考慮到系統(tǒng)性能、規(guī)模、可靠性等。
14、在三層C/S體系結(jié)構(gòu)中,_________是最重要的構(gòu)件。( A )
A 中間件 B 末尾件
C 功能層 D 數(shù)據(jù)層
15、C/S系統(tǒng)中,服務(wù)器的以下任務(wù)中哪一個是錯的?( A )
A 數(shù)據(jù)庫一致性要求
B 數(shù)據(jù)庫訪問并發(fā)性控制
C 數(shù)據(jù)庫前端的客戶應(yīng)用程序的全局數(shù)據(jù)完整性規(guī)則
D 數(shù)據(jù)庫的備份與恢復(fù)
16、 與C/S體系結(jié)構(gòu)相比,B/S體系結(jié)構(gòu)也有許多不足之處一下說法正確的是( A )
A B/S體系結(jié)構(gòu)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理能力
B B/S體系結(jié)構(gòu)的系統(tǒng)擴展能力差,但是安全性比較容易控制
C 采用B/S架構(gòu)構(gòu)的應(yīng)用系統(tǒng),在數(shù)據(jù)查詢等響應(yīng)速度上,要遠遠的高于C/S體系結(jié)構(gòu)
D B/S體系結(jié)構(gòu)的數(shù)據(jù)提交一般以頁面為單位,數(shù)據(jù)的動態(tài)交互性不強,利于在線事務(wù)處理(Online Transaction Processing,OLTP)應(yīng)用。
17、以下關(guān)于軟件體系結(jié)構(gòu)描述方法說法錯誤的是(B)
A圖形表達工具在軟件設(shè)計中占據(jù)主導(dǎo)地位。
B由于軟件設(shè)計語言和模塊內(nèi)連接語言具有嚴格的語義基礎(chǔ),因此它們能支持較小的軟件單元進行描述。
C基于軟構(gòu)件的系統(tǒng)描述語言將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實體構(gòu)造組成的組織或系統(tǒng)。
D軟件體系結(jié)構(gòu)描述語言是參照傳統(tǒng)程序設(shè)計語言的設(shè)計語言的設(shè)計和開發(fā)經(jīng)驗,重新設(shè)計、開發(fā)和使用針對軟件體系結(jié)構(gòu)描述語言。
18、下列選項中關(guān)于ADL與其他語言的比較說法中錯誤的是( B )
ADL與需求語言的區(qū)別在于后者描述的問題空哦關(guān)鍵,而前者則扎根于解空間中
ADL與建模語言的區(qū)別在于后者對部分的關(guān)注要大于對整體的關(guān)注
ADL與傳統(tǒng)的程序設(shè)計語言的構(gòu)成元素由許多相同和相似之處,有各自有著很大的不同
ADL集中在構(gòu)件的表示上。
19、對動態(tài)軟件體系結(jié)構(gòu)的形式化描述通常可以采用的方法?( D )
A、圖形化方法B、代數(shù)進程方法 C、邏輯方法D、以上皆是
20、以下哪些特征不屬于動態(tài)體系結(jié)構(gòu)特征( D ) ?
A 可構(gòu)造性動態(tài)特征
B 適應(yīng)性動態(tài)特征
C 智能性動態(tài)特征
D 安全性動態(tài)特征
21、通常,一個Web服務(wù)可以分為4個邏輯層,分別為數(shù)據(jù)層(Data Layer)、數(shù)據(jù)訪問層(Data Access Layer)、 業(yè)務(wù)層(Business Layer)和監(jiān)聽者(Listener)。離客戶端最近的是監(jiān)聽者,離客戶最遠的是______:( A )
A 數(shù)據(jù)層(Data Layer)
B 數(shù)據(jù)訪問層(Data Access Layer)
C 業(yè)務(wù)層(Business Layer)
D 監(jiān)聽者(Listener)
本文來源:http://www.nvnqwx.com/shiti/191907.htm