軟件體系結(jié)構(gòu)簡答參考答案_第1頁
軟件體系結(jié)構(gòu)簡答參考答案_第2頁
軟件體系結(jié)構(gòu)簡答參考答案_第3頁
軟件體系結(jié)構(gòu)簡答參考答案_第4頁
軟件體系結(jié)構(gòu)簡答參考答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、簡答及計算題1、請簡述軟件體系結(jié)構(gòu)的定義答:軟件體系結(jié)構(gòu)包括一個或一組軟件構(gòu)件、軟件構(gòu)件的外部的可見特性及其相 互關(guān)系。其中, 軟件外部的可見特性”是指軟件構(gòu)件提供的服務(wù)、性能、特性、 錯誤處理、共享資源使用等。軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng) 的元素的描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束 組成。軟件體系結(jié)構(gòu)不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,提供了一些設(shè)計決策的基本原理。2. 下列圖能作為一個水下聲音模擬系統(tǒng)的體系結(jié)構(gòu)嗎,為什么?答:不能。原因如下:1)圖中的解釋在哪里?2)構(gòu)件

2、的定義是什么?什么是連接器?3)方塊和箭頭代表什么?4)圖中分布是否合理?5)水平和垂直線代表什么?6)每個元素的功能和職責(zé)是什么?它們是如何劃分的?7)每個元素運行在不同的處理器上嗎?運行在不同時間?它們能代表開發(fā) 分組?還是運行時的分組?8)每個元素代表不同對象?不同任務(wù)?不同功能?不同進程?它們是分布 式的嗎?9)元素間聯(lián)系的強度如何?聯(lián)系是代表元素間通訊?還是互相控制?相互 傳遞數(shù)據(jù)?相互調(diào)用?相互同步?信息共享?或上述模式的部分組合? 通訊的機制如何?信息是如何流動的?10)結(jié)構(gòu)是如何分層的?為什么 CP單獨一層?是說CP能調(diào)用其他三個元素,而不能反過來?還是說 CP包含了下面三個元

3、素的實現(xiàn)?軟件體系結(jié)構(gòu)通常使用哪三類結(jié)構(gòu)視圖? 答Layered模塊視圖:?分解:將實現(xiàn)代碼分解成系統(tǒng)、子系統(tǒng)、子子系統(tǒng)等。它通常作為開發(fā) 項目組織的基礎(chǔ),包括文檔結(jié)構(gòu)、集成和測試計劃等。結(jié)構(gòu)中的每個單元 通常有與特定組織相關(guān)的名字。?使用:它是一種特定形式的依賴關(guān)系。該使用關(guān)系將系統(tǒng)分成子集,從而支持增量式開發(fā)。?泛化風(fēng)格:在類的層次框架下,它表明了不同的代碼單元如何關(guān)聯(lián)在一起。具有相似行為或能力的模塊可以使用子類的方法集成。類的結(jié)構(gòu)也可支持重用和增量式豐富功能。?層次風(fēng)格:將代碼組織成層次結(jié)構(gòu),高層的代碼可以調(diào)用低層代碼。這可以方便培訓(xùn)和代碼重用。構(gòu)件-連接器視圖:? pipe-a nd-

4、filter style:特點是成功傳輸數(shù)據(jù)?shared-data style特點是保留持久數(shù)據(jù)?publish-subscribe style特點是通過事件宣布來實現(xiàn)構(gòu)件交互?client-server style:特點是請求或滿足其他構(gòu)件的服務(wù)?peer-to-peer style特點是對等地直接交互服務(wù)? commu ni cat in g-processes style特點是通過各種連接器機制實現(xiàn)并行地 執(zhí)行構(gòu)件交互分配視圖:?實施風(fēng)格:將進城分配給硬件資源。它運用于性能、安全性和可靠性分析, 提供了一個估計實施單個節(jié)點的開銷?實現(xiàn)風(fēng)格:將模塊映射到開發(fā)架構(gòu)中。它用來描述模塊是如何在

5、配置管理系統(tǒng)中映射到實體,以及如何管理版本,分支和協(xié)調(diào)多任務(wù)組開發(fā)。?工作分配風(fēng)格:將模塊映射到開發(fā)人員隊伍。它用來說明每個小組負責(zé)慮。ArtifactSystemResponse: Transactions Are Processed2>2Fyiiiu.1安全性腳本舉例:的工作結(jié)構(gòu)中的元素,以及進度安排和預(yù)算。4.簡述軟件功能與體系結(jié)構(gòu)間的關(guān)系。答:正如我們在架構(gòu)業(yè)務(wù)周期 ABC中看到的,業(yè)務(wù)考慮決定了一個系統(tǒng)結(jié)構(gòu)需要 達到的質(zhì)量屬性,它們比系統(tǒng)的功能處于更優(yōu)先考慮的位置。軟件功能和體系結(jié)構(gòu)是垂直關(guān)系,或者說它們可以分開考慮。功能可以通過多種體系結(jié)構(gòu)來實現(xiàn),而不同的結(jié)構(gòu)體現(xiàn)了不同的質(zhì)量

6、屬性考5.舉例說明某種質(zhì)量屬性的腳本。 答:質(zhì)量屬性就是對場景測試的完整記錄??煽啃允侵赶到y(tǒng)的穩(wěn)定性,可用性是指使用系統(tǒng)的方便程度。 性能腳本舉例Response: System Maintains Audit TrailSource:Correctly Idenlifiea IndividualResponse Measure: CorrectData Is Restored within aDayArtifact: Data within - the SystemEnvironment: Under Normal OperationsStimulus: Tries to Modify In

7、formationStimulus: Initiate TransactionsResponse Measure: With Average Latency of lwo SecondsEnvironment: Under Normal OperationsSource:UsersArtifactProcess2、yiiMiii可靠性腳本舉例:可修改性腳本舉例:可測試性腳本舉例:Response:ModificationIs Made with No Side EffectsSource:DeveloperResponse Measure: In Three HoursStimulus: Wi

8、shes to Change the UlArtifact: _ CodeL >Environment:At Design TimeResponse Measure;No DowntimeEnvironment: NormalOperationStimulus:Unanticipated MessageResponse: InformOperator Con tinue to OperateSource: External to Sys怕 mwithin Three HoursResponse Measure:Path Coverage of 85% Is AchievedSource:

9、 Unit TesterStimulus: Performs Unit TestEnvironment: At theComplelion of the ComponentArtilact:> Component of the Sys怕mResponse: Component Has interface for Controlling Behavior and Output of the Component Is Observable6. 簡述管道和過濾器風(fēng)格,它有何優(yōu)點和缺點?答:管道和過濾器風(fēng)格的優(yōu)點: 使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點; 允許設(shè)計者將整個系統(tǒng)的輸入

10、/ 輸出行為看成是多個過濾器的行為的簡單合 成; 支持軟件重用。只要提供適合在兩個過濾器之間傳送的數(shù)據(jù),任何兩個過濾 器都可被連接起來; 系統(tǒng)維護和增強系統(tǒng)性能簡單。新的過濾器可以添加到現(xiàn)有系統(tǒng)中來;舊的 可以被改進的過濾器替換掉; 允許對一些如吞吐量、死鎖等屬性的分析; 支持并行執(zhí)行。每個過濾器是作為一個單獨的任務(wù)完成,因此可與其它任務(wù) 并行執(zhí)行。管道和過濾器的缺點: 通常導(dǎo)致進程成為批處理的結(jié)構(gòu)。 這是因為雖然過濾器可增量式地處理數(shù)據(jù), 但它們是獨立的,所以設(shè)計者必須將每個過濾器看成一個完整的從輸入到輸出的 轉(zhuǎn)換; 不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時,這個問題尤為嚴重; 因為在數(shù)

11、據(jù)傳輸上沒有通用的標(biāo)準(zhǔn),每個過濾器都增加了解析和合成數(shù)據(jù)的 工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫過濾器的復(fù)雜性。7. 簡述數(shù)據(jù)抽象和面向?qū)ο蠼M織風(fēng)格,它有何優(yōu)點和缺點?答:面向?qū)ο笙到y(tǒng)的優(yōu)點 : 因為對象對其它對象隱藏它的表示,所以可以改變一個對象的表示,而不影 響其它的對象; 設(shè)計者可將一些數(shù)據(jù)存取操作的問題分解成一些交互的代理程序的集合。 面向?qū)ο笙到y(tǒng)的缺點 : 為了使一個對象和另一個對象通過過程調(diào)用等進行交互,必須知道對象的標(biāo) 識。只要一個對象的標(biāo)識改變了,就必須修改所有其他明確調(diào)用它的對象; 必須修改所有顯式調(diào)用它的其它對象, 并消除由此帶來的一些副作用。 例如, 如果A使用了

12、對象B , C也使用了對象B,那么,C對B的使用所造成的對 A 的影響可能是料想不到的。8. 簡述分層系統(tǒng)風(fēng)格,它有何優(yōu)點和缺點?答:分層系統(tǒng)的優(yōu)點: 支持基于抽象程度遞增的系統(tǒng)設(shè)計,使設(shè)計者可以把一個復(fù)雜系統(tǒng)按遞增的 步驟進行分解; 支持功能增強,因為每一層至多和相鄰的上下層交互,因此功能的改變最多 影響相鄰的上下層; 支持重用。只要提供的服務(wù)接口定義不變, 同一層的不同實現(xiàn)可以交換使用。 這樣,就可以定義一組標(biāo)準(zhǔn)的接口,而允許各種不同的實現(xiàn)方法。 分層系統(tǒng)的缺點: 并不是每個系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個系統(tǒng)的邏 輯結(jié)構(gòu)是層次化的, 出于對系統(tǒng)性能的考慮, 系統(tǒng)設(shè)計師不得

13、不把一些低級或高 級的功能綜合起來; 很難找到一個合適的、正確的層次抽象方法。9. 對比 B/S 與 C/S 體系結(jié)構(gòu)在可修改性和性能上的差異答:(1)可獲得性:C/S結(jié)構(gòu)為特定功能而設(shè)計開發(fā),開發(fā)成本高,應(yīng)用比較局限;B/S結(jié)構(gòu)程序開發(fā)簡單普遍 ,適應(yīng)性移植性強 ,分布廣泛 .(2)性能:C/S結(jié)構(gòu)的應(yīng)用程序在客戶端中,響應(yīng)時間短,性能較強;B/S結(jié)構(gòu)因為要等待服務(wù)器響應(yīng)而有延遲 ,性能較弱(3)可修改性 :C/S 結(jié)構(gòu)應(yīng)用程序在客戶端 ,需要單獨維護 ,因用戶分散而難以升級 ,可修改性較差;B/S只需升級應(yīng)用服務(wù)器即可,升級方便快捷,可修改性較強(4)可測試性 : Case 1: C/S

14、結(jié)構(gòu)內(nèi)部響應(yīng)速度 ,數(shù)據(jù)處理速度和測試腳本運行速度快,得到測試反饋的時間短 ,測試性較強 ;B/S 因為服務(wù)器響應(yīng)大量用戶請求 并等待用戶反饋 ,測試反饋時間長 ,測試性較弱 .Case2: C/S結(jié)構(gòu)應(yīng)用端和客戶端層次不清,維護困難,測試性較弱;B/S結(jié)構(gòu) 三層機構(gòu)清晰 ,易于維護 ,測試性較強 .(5)安全性:Case1:C/S結(jié)構(gòu)應(yīng)用端與客戶端在一起,數(shù)據(jù)連接繁瑣,客戶端可隨意調(diào)用應(yīng)用程序訪問數(shù)據(jù)庫 ,安全性較弱 ;B/S 結(jié)構(gòu)層次清晰 ,服務(wù)器和數(shù)據(jù)庫 防護分工明確 ,易于維護 ,安全性較強 .Case2:C/S 結(jié)構(gòu)多為特定功能開發(fā) ,應(yīng)用比較局部 ,數(shù)據(jù)庫訪問量較少 ,安全 性較強

15、 ;B/S 結(jié)構(gòu)應(yīng)用廣泛普遍 ,服務(wù)器訪問量龐大而易于被攻擊 ,安全性較 弱 可用性:Casel: C/S結(jié)構(gòu)為特定功能開發(fā),因開發(fā)方的不同而風(fēng)格各異,難于統(tǒng) 一,可用性較弱 ;B/S 結(jié)構(gòu)風(fēng)格統(tǒng)一 ,簡單易學(xué) ,不同環(huán)境下的適應(yīng)性移植性 強,可用性較強 .Case2:C/S 結(jié)構(gòu)可以根據(jù)用戶特定的習(xí)慣和熟悉的界面進行設(shè)計,可用性較強;B/S因為風(fēng)格統(tǒng)一而無法要求各自熟悉的界面,可用性較弱10. 討論基于服務(wù)的體系結(jié)構(gòu)在可修改性和可獲得性上的表現(xiàn)答: (1)可修改性:基于服務(wù)的體系結(jié)構(gòu)在維護和修改時只需修改服務(wù)構(gòu)件即可 ,可 修改性較強(2)可獲得性:Casel因為相應(yīng)的服務(wù)構(gòu)件是其他組織或者

16、個人提供,在需要時需找服務(wù)供應(yīng)商 ,可獲得性較弱 .Case2當(dāng)某一服務(wù)供應(yīng)商提供的服務(wù)構(gòu)件不可用時,可以找到其他相關(guān)服務(wù)代替, 可獲得性較強 .11. 請列出 ABSD 方法的步驟 答:(1)功能分解(2)選擇體系結(jié)構(gòu)風(fēng)格(3)為風(fēng)格分配功能(4)細化模板(5)功能校驗(6)創(chuàng)建并發(fā)視圖(7)創(chuàng)建配置視圖( 8)驗證質(zhì)量場景(9)驗證約束12. 什么是 SOA?答: SOA 為一種應(yīng)用程序體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,所有功能都定義為獨 立的服務(wù), 這些服務(wù)帶有定義明確的可調(diào)用接口, 可以以定義好的順序調(diào)用這些 服務(wù)來形成業(yè)務(wù)流程。13. 簡述系統(tǒng)的可靠性模型化步驟答:通過系統(tǒng)的詳細說明書,確定系統(tǒng)所采用的體系結(jié)構(gòu)風(fēng)格。 把每一種體系結(jié)構(gòu)風(fēng)格轉(zhuǎn)換成狀態(tài)視圖,并計算狀態(tài)視圖中每一個狀態(tài)的可 靠性及其相應(yīng)的遷移概率。 通過整個系統(tǒng)的體系結(jié)構(gòu)視圖, 把所有的狀態(tài)視圖集成為一個整體狀態(tài)視圖。 通過整體狀態(tài)視圖構(gòu)造系統(tǒng)的遷移矩陣,并計算系統(tǒng)的可靠性。14. 簡述 ATAM 評估的步驟答:整個 ATAM 評估過程包括九個步驟, 按其編號順序分別是描述 ATAM 方法、 描述商業(yè)動機、描述體系結(jié)構(gòu)、確定體系結(jié)構(gòu)方法、生成質(zhì)量屬性效用樹、分析 體系結(jié)構(gòu)方法、討論和分級場

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論