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