软件体系结构 复习题
一、
1.軟件體系結構的核心模型的組成包括哪些內容?以及約束和質量性能等
構件、連接件、物理分布
2.軟件體系結構風格具有已經被熟知的特性,并且可以復用
3.4+1視圖模型從五個不同的視角采用五種不同的視圖來描述軟件體系結構,這些視圖有邏輯視圖、進程視圖、物理視圖、開發視圖和場景視圖
4.在層次系統中,兩種通用的分層方法分別是嚴格分層、松散分層
5.在三層C/S結構中,中間層可能為哪些類型的服務器?
事務處理監控服務器、消息服務器、應用服務器等
6.解釋器風格的三種策略。
傳統解釋器、基于字節碼的解釋器、(JIT)編譯器
7.構件作為一個封裝的實體,只能通過接口和外部環境交互,構件內部所實現的功能以服務形式體現出來。
8.在數據流風格中,用連接件定義了相應的數據流圖表達拓撲結構
9.在分層系統中,由上而下的信息控制通常被描述為請求,由下而上被描述為通知。
10.分層系統的設計過程中,需要定義每層之間的接口,接口的類型包括黑盒接口、白盒接口。
11.三層C/S體系結構風格是由表示層、功能層、數據層構成的。
二、
1.要表示業務邏輯和工作流,應采用哪種UML圖?活動圖
2.對象或子程序,或構件或是包中,哪一個是獨立可交互的功能單元?構件
3.同步調用消息和異步調用消息
同步調用消息表示一個對象實體發送的消息是對另外一個對象實體的一個操作的同步調用。發送消息的對象在發出消息之后,將一直等待接收對象給予應答,在未接收到應答之前,發送對象將-直等待。同步調用消息用帶實心箭頭的直線表示。
異步調用消息表示一個對象實體發送的消息是對另一個對象實體的一個操作的異步調用。發送消息的對象在發出消息之后,無需等待接收對象的應答,繼續下面的操作。異步調用消息用直線開箭頭表示。
4.某游戲公司預開發一個大型多人,即時戰略的游戲,游戲設計的目標之一是能夠支持玩家自行創建戰役圖,定義游戲對象的行為和之間的關系,應該采用解釋器的架構風格最合適。
5.在三層C/S體系結構中中間件是最重要的構件。
6.在UML提供的圖中,用例圖用于描述系統與外部系統及用戶之間的交互。
7.C/S系統中,數據庫服務器的任務是存儲和處理數據。
8.與C/S體系結構相比, B/S體系結構的不足?
?客戶端瀏覽器以同步的請求/響應模式交換數據,每請求一次服務器就要刷新一次頁面;
?受HTTP協議“基于文本的數據交換”的限制,在數據查詢等響應速度上,要遠遠低于C/S體系結構;
?數據提交一般以頁面為單位,數據的動態交互性不強,不利于在線事務處理(OLTP)應用;
?受限于HTML的表達能力,難以支持復雜GUI (如報表等)。
9.在RUP中采用4+1視圖模型軟件體系結構,在該模型中最終用戶側重于邏輯視圖,那么系統工程師側重于部署視圖
10.如果對銀行ATM的常用功能進行建模,包括存款,取款,轉賬,查詢,這個時候, 用用例圖來表示該系統的功能需求。
三、
1.軟件體系結構風格
描述特定領域中軟件系統家族的組織方式的慣用模式。反映了領域中眾多系統所共有的結構和語義特性,并指導如何將各個模塊和子系統有效地組織成一個完整的系統。
2.需求
用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。
3.受客戶端
客戶端具有很少或沒有業務邏輯。
4.構件重用
即為軟件重用,兩次或多次不同的軟件開發過程中重復使用相同或相 近軟件元素的過程。
5.集群
將多個計算機系統通過網絡連接起來如同一個系統一樣提供服務,可以獲得高并行處理能力、高可用性、負載均衡和管理便攜性。
或集群就是一組相互獨立的計算機,通過高速的網絡組成一個計算機系統,每個集群節點都是運行其自己進程的一個獨立服務器。對網絡用戶來講,網站后端就是一個單一的系統,協同起來向用戶提供系統資源,系統服務。通過網絡連接組合成一個組合來共同完一個任務。
6.構件
構件是具有某種功能的可復用的軟件結構單元,是為組裝服務的,表示了系統中主要的計算元素和數據存儲。
7.計算機聚合
多臺計算機聚合在一起,形成一臺虛擬的計算機。軟件系統的運行環境將橫跨多臺計算機,但終端用戶看到的只是一臺虛擬的計算機。大型計算問題可以借用多臺計算的資源來并行的加以解決。
8.解釋器
又譯為直譯器,是一種電腦程序,能夠把高級編程語言一行一行直接轉譯運行。
解釋器通常用來在程序語言定義的計算和有效硬件操作確定的計算之間建立對應和聯系。簡單和小規模的解釋器只完成基本的信息識別和轉換。復雜的解釋器需要從詞法到句法、到語法的復雜識別和處理。
9.ADL
是一種形式化描述語言,它在底層語義模型的支持下,為軟件系統的概念體系結構建模提供了具體語法和概念框架。
10.松散分層
松散的分層應用程序放寬了此限制,它允許構件與位于它下面的任意層中的組件進行交互。
四、
1.軟件體系結構的意義
1.SA是軟件開發過程初期的產品,在開發的早期階段就考慮系統的正確設計與方案選擇,為以后開發、測試、維護各個階段提供了保證;
2.與其他后期的設計活動相比,SA設計的成本和代價要低得多;
3.正確有效的SA設計會給軟件開發帶來極大的便利。
4.在大型軟件系統中,質量屬性更多的是由系統結構和功能劃分來實現的,而不再僅僅依靠所選擇的算法或數據結構。
2.接口對于構件的意義
?構件作為一個封裝的實體,只能通過其接口與外部環境交互,表示了構件和外部環境的交互點;
?內部結構則被隱藏起來;
?一個構件至少有一個接口;
?一個構件可以提供多重接口;
?構件接口與其內部實現應嚴格分開。
?構件內部所實現的功能以服務(Service)的形式體現出來,并通過接口向外發布,進而產生與其它構件之間的關聯。
3.批處理和管道過濾器風格的不同
相似點 :
1.把任務分解成為一系列固定順序的計算單元;
2.彼此間只通過數據傳遞交互
不同點 :
批處理:整體傳遞數據、構建粒度較大、延遲高、實時性差
管道過濾器:增量、構建粒度較小、實時性好、可并發
4.與C/S體系結構相比, B/S體系結構的不同之處
1.b/s體系結構缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理功能。
2.b/s體系結構的系統擴展能力差,安全性難以控制。
3.采用b/s體系結構的應用系統,在數據查詢等響應速度上,要遠遠地低于c/s體系結構。
4.b/s體系結構的數據提交一般以頁面為單位,數據的動態交互性不強,不利于在線事務處理(OLTP)應用。
5.C/S風格中, C和S分別提供的功能
客戶機:業務邏輯、與服務器通訊的接口;
服務器:與客戶機通訊的接口、業務邏輯、數據管理。
6.軟件體系結構風格的分類
數據流風格:批處理;管道/過濾器;
調用/返回風格:層次結構;
層次結構風格的典型實例:C/S結構;B/S結構;
虛擬機風格:解釋器;基于規則的系統;
以數據為中心的風格:倉庫;黑板。
7.分層系統的特點及優點
優點:
1)支持基于抽象程度遞增的系統設計,使設計者可以把一個復雜系統按遞增的步驟進行分解;
2)支持功能增強,因為每一層至多和相鄰的上下層交互,因此功能的改變最多影響相鄰的上下層;
3)支持重用。只要提供的服務接口定義不變,同一層的不同實現可以交換使用。這樣,就可以定義一組標準的接口,而允許各種不同的實現方法。
缺點:
1)并不是每個系統都可以很容易地劃分為分層的模式,甚至即使一個系統的邏輯結構是層次化的,出于對系統性能的考慮,系統設計師不得不把一些低級或高級的功能綜合起來;
2)很難找到一個合適的、正確的層次抽象方法。
8.C/S系統中客戶端應用程序的主要任務
9.系統級虛擬機和進程級虛擬機的區別
系統級的虛擬機:對OS的虛擬,把一臺物理上獨立的機器虛擬為多個不同的虛擬機,每個虛擬機可支持運行各自的操作系統,本質:在OS與硬件之間建立隔離。
進程級的虛擬機:對單一程序的虛擬,其本質是在應用程序與OS之間建立隔離。
10.管道過濾器的優缺點有哪些?
優點:
(1)使得軟構件具有良好的隱蔽性和高內聚、低耦合的特點;
(2)允許設計者將整個系統的輸入/輸出行為看成是多個過濾器的行為的簡單合成;
(3)支持軟件重用。
(4)系統維護和增強系統性能簡單。
(5)允許對一些如吞吐量、死鎖等屬性的分析;
(6)支持并行執行。
缺點:
(1)通常導致進程成為批處理的結構。這是因為雖然過濾器可增量式地處理數據,但它們是獨立的,所以設計者必須將每個過濾器看成一個完整的從輸入到輸出的轉換。
(2)不適合處理交互的應用。當需要增量地顯示改變時,這個問題尤為嚴重。
(3)因為在數據傳輸上沒有通用的標準,每個過濾器都增加了解析和合成數據的工作,這樣就導致了系統性能下降,并增加了編寫過濾器的復雜性。
五、
已知ATM的軟件功能有客戶可以存款、取款、查詢、結余、修改密碼和使用信用卡付賬,畫出系統的用例圖,類圖,協助圖,順序圖。
用例圖和類圖
協助圖
系統順序圖
總結
以上是生活随笔為你收集整理的软件体系结构 复习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 小工具:pc 上用 cu
- 下一篇: 中学计算机基础知识,初中信息技术学业水平