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