軟件體系結構習題答案_第1頁
軟件體系結構習題答案_第2頁
軟件體系結構習題答案_第3頁
軟件體系結構習題答案_第4頁
軟件體系結構習題答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件體系結構習題答案【篇一:軟件體系結構課后作業(yè)及答案】之處。答:使用軟件重用技術可減少重復工作,提高軟件生產率,縮短開發(fā)周期。同時,由于軟構建大多經過嚴格的質量認證,因此有助于改善軟件質量,大量使用構建,軟件的靈活性和標準化程度可得到提高。2、實際參與/組織一個軟件重用項目的開發(fā),然后總結你是如何組織該項目的開發(fā)的答:參加了一個網頁管理系統(tǒng)的開發(fā),該項目重復使用已有的軟件產品用于開發(fā)新的軟件系統(tǒng),以達到提高軟件系統(tǒng)的開發(fā)質量與效率,降低開發(fā)成本的目的。在過程中使用了代碼的復用、設計結果的復用、分析結果的復用、測試信息的復用等。3、為什么要研究軟件體系結構?答:1.軟件體系結構是系統(tǒng)開發(fā)中不同參與者進行交流和信息傳播的媒介。2.軟件體系結構代表了早期的設計決策成果。3.軟件體系結構可以作為一種可變換的模型。4、根據軟件體系結構的定義,你認為軟件體系結構的模型應該由哪些部分組成?答:構件(component)可以是一組代碼,如程序的模塊;也可以是一個獨立的程序(如數據庫的sql服務器);連接件(connector)是關系的抽象,用以表示構件之間的相互作用。如過程調用、管道、遠程過程調用等;限制(constrain):用于對構件和連接件的語義說明。5、在軟件體系結構的研究和應用中,你認為還有哪些不足之處?答:(1)缺乏同意的軟件體系結構的概念,導致體系結構的研究范疇模糊。(2)adl繁多,缺乏同意的adl的支持。(3)軟件體系結構研究缺乏統(tǒng)一的理論模型支持。(4)在體系結構描述方便,盡管出現了多種標準規(guī)范或建議標準,但仍很難操作。(5)有關軟件體系結構性質的研究尚不充分,不能明確給出一個良體系結構的屬性或判定標準,沒有給出良體系結構的設計指導原則,因而對于軟件開發(fā)實踐缺乏有力的促進作用。(6)缺乏有效的支持環(huán)境軟件體系結構理論研究與環(huán)境支持不同步,缺乏有效的體系結構分析、設計、方針和驗證工具支持,導致體系結構應用上的困難。(7)缺乏有效的體系結構復用方案。(8)體系結構發(fā)現方法研究相對欠缺。1、選擇一個規(guī)模合適的系統(tǒng),為其建立“4+1”模型。邏輯視圖(logicalview),設計的對象模型(使用面向對象的設計方法時)。過程視圖(processview),捕捉設計的并發(fā)和同步特征。物理視圖(physicalview),描述了軟件到硬件的映射,反映了分布式特性。開發(fā)視圖(developmentview),描述了在開發(fā)環(huán)境中軟件的靜態(tài)組織結構。架構的描述,即所做的各種決定,可以圍繞著這四個視圖來組織,然后由一些用例(usecases)或場景(scenarios)來說明,從而形成了第五個視圖。2、引入了軟件體系結構以后,傳統(tǒng)軟件過程發(fā)生了哪些變化?這種變化有什么好處?答:軟件體系結構的引入使軟件設計開發(fā)更加具體和形象,它的模型更使得軟件過程更加方便和多樣化。其好處在于:包括程序員在內的絕大多數系統(tǒng)的利益相關人員都借助軟件體系結構來進行彼此理解、協(xié)商、達成共識或者相互溝通的基礎,軟件體系機構的模型可以應用到具有相似質量屬性和功能需求的系統(tǒng)中,并能夠促進大規(guī)模軟件的系統(tǒng)級復用,在很多方面使得軟件開發(fā)更加人性化。3、軟件體系結構的生命周期模型與軟件生命周期模型有什么關系?答:軟件體系結構是貫穿于軟件研發(fā)的整個生命周期的系統(tǒng)開發(fā)、運行、維護所實施的全部工作和任務的結構框架,給出了軟件開發(fā)活動各階段之間的關系,軟件體系結構的生命周期模型為軟件生命周期模型提供了很好的結構依據和參考,也為其構建了很好的開發(fā)方式。1、層次系統(tǒng)結構和基于消息的層次系統(tǒng)結構有什么區(qū)別?答:層次結構將系統(tǒng)進行分級組織,其組織思想是:在層次結構中,每一層向上層提供服務,并作為客戶向下層請求服務。分層系統(tǒng)的優(yōu)點:支持基于抽象程度遞增的系統(tǒng)設計;支持功能增強;支持重用。分層系統(tǒng)的缺點:并不是每個系統(tǒng)都可以很容易的劃分為分層的模式,甚至即使是層次化的,出于性能的考慮,也不得不吧一些低及或高級的功能綜合起來;很難找到一個合適的、正確的層次抽象方法。消息總線是系統(tǒng)的連接件、負責消息的分派、傳遞和過濾以及處理結果的返回。消息是構件之間通信的唯一方式。由于構件通過總線進行連接,并不要求各個構件具有相同的地址空間或局限在一臺機器上,因此該風格可以很好的刻畫分布式開發(fā)系統(tǒng),以及corba.dcom和ejb規(guī)范的系統(tǒng)。2、試分析和比較b/s,二層c/s和三層c/s,指出各自的優(yōu)點和缺點。答:二層c/s體系結構將應用一分為二,服務器負責數據管理,客戶機完成與用戶的交互任務。優(yōu)點(1)c/s體系結構具有強大的數據操作的事務處理能力,模型思想簡單,易于人們理解和接受。(2)對軟硬件的變化有極大的適應性和靈活性,易于對系統(tǒng)進行擴充和縮小。(3)系統(tǒng)中的功能構建充分隔離,節(jié)約大量費用。缺點:(1)開發(fā)成本較高。(2)客戶端程序設計復雜(3)信息內容和形式單一(4)用戶界面風格不一,使用繁雜不易推廣。(5)軟件移植困難(6)軟件維護和升級困難(7)新技術不能輕易應用。三層cs在上面的基礎上進行了改造,并增加了一個服務器,其優(yōu)點:(1)允許合理的劃分三層結構的功能,能提高系統(tǒng)和軟件的可維護性和可擴展性。(2)具有良好的可升級性和開放性。(3)應用的各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言。(4)為嚴格的安全管理奠定了堅實的基礎。b/s風格就是上述三層應用結構的一種實現方式,其具體結構為:瀏覽器/web服務器/數據庫服務器。優(yōu)點(1)基于b/s體系結構的軟件,系統(tǒng)安裝,修改和維護全在服務器端解決。(2)提供了異種機,異種網,異種應用服務的聯(lián)機,聯(lián)網,同意服務的最現實的開放性基礎。缺點(1)缺乏對動態(tài)頁面的支持能力,沒有集成有效的數據庫處理能力。(2)在數據查詢等響應速度上,要遠遠低于c/s體系結構。(3)數據提交一般以頁面為單位,數據的動態(tài)交互性不強,不利于在線事務處理應用。3、sis和dssa分別用在哪些場合?答:1.dssa只對某一個領域進行設計專家知識的提取,存儲和組織,但可以同時使用多種體系結構風格;而在某個體系結構風格中進行體系結構設計專家知識的組織時,可以將提取的公共結構和設計方法擴展到多個領域。2.dssa的特定領域參考體系結構通常選用一個或多個適合所研究領域的體系結構風格,并設計一個該領域專用的體系結構分析設計工具。3.體系結構風格的定義和該風格應用的領域是直交的,提取的設計知識比用dssa提取的設計專家知識的應用范圍要廣。4.dssa和體系結構風格是互為互補的兩項技術。4、在軟件開發(fā)中,采用異構結構有什么好處,其負面影響有哪些?答:1.結構有不同的處理能力的強項和弱點,一個系統(tǒng)的體系結構應該根據實際需要進行選擇,以解決實際問題。2.軟件包,框架,通信以及其他一些體系機構上的問題,目前存在者多中標準。即使再某一段時間內某一標準占據著統(tǒng)治地位,但變動最終是絕對的。3.工作中,我們總會遇到一些遺留下的代碼,它們仍有效用,但是卻與新系統(tǒng)有某種程度上的不協(xié)調。然而在很多場合,將技術與經濟綜合進行考慮時,總是決定不重寫它們。4.在某一單位中,規(guī)定了共享共同的軟件包或相互關系的一些標準,仍會存在解釋或表示習慣上的不同。負面影響:大多數應用程序只使用10%的代碼實現系統(tǒng)的公開功能,剩下90%的代碼完成系統(tǒng)管理功能:輸入和輸出,用戶界面,文本編輯,基本圖表,標準對話框,通信,數據確認和旁聽追蹤,特定領域的基本定義等。1什么是動態(tài)軟件體系結構?動態(tài)軟件體系結構與靜態(tài)軟件體系結構有什么區(qū)別?答:動態(tài)軟件體系結構的動態(tài)性包括:交互性動態(tài)性,結構化動態(tài)性,體系結構動態(tài)性。由于系統(tǒng)需求,技術,環(huán)境,分布等因素的變化而最終造成軟件體系結構的變動,稱之為軟件體系結構演化。軟件系統(tǒng)在運行時刻的體系結構變化稱之為軟件體系結構的動態(tài)性,動態(tài)軟件體系結構的動態(tài)性包括:交互性動態(tài)性,結構化動態(tài)性,體系結構動態(tài)性。2基于構件的動態(tài)軟件體系結構模型的層次結構是什么?答:基于構件的動態(tài)系統(tǒng)結構模型支持運行系統(tǒng)的動態(tài)更新,該模型分為三類,分別是應用層,中間層和體系結構層。(1)(2)(3)應用層:處于最底層,包括構件鏈接,構件接口和執(zhí)行中間層:包括連接件配置,構件配置,構件描述及執(zhí)行體系結構層:位于最上層,控制和管理整個體系結構,包括體系結構配置,體系結構描述和執(zhí)行。1、請把基于體系結構的軟件開發(fā)模型與其他軟件開發(fā)模型進行比較。答:軟件開發(fā)模型有演化模型、螺旋模型、噴泉模型、智能模型等。傳統(tǒng)軟件開發(fā)模型存在開發(fā)效率不高,不能很好地支持軟件重用等缺點。在多個大中型軟件項目的實踐基礎上,提出了基于體系結構的軟件開發(fā)模(absd)。absd模型把整個基于體系結構的軟件過程劃分為體系結構需求、設計、文檔化、復審、實現、演化等6個子過程,討論了各個子過程所要完成的工作,給出了absd模型在勞動和社會保險領域的一個應用實例。實踐表明,采用absd模型進行軟件項目開發(fā),具有結構清晰、易于理解、可移植性強、重用粒度大等優(yōu)點。2、如何才能提高軟件系統(tǒng)的可演化性。答:構造性和演化性是軟件的兩個基本特性。軟件進行漸變并達到所希望的形態(tài)就是軟件演化,軟件演化是由一系列復雜的變化活動組成。對軟件變化的控制是軟件開發(fā)者歷來追求的目標。引起軟件變化的原因是多方面的,如基本設施的改變,功能需求的增加,高性能算法的發(fā)現,技術環(huán)境因素的變化等。所以對軟件變化甚至演化進行理解和控制顯得比較復雜和困難1為什么要評估軟件體系結構?答:所謂軟件體系結構的分析評估,就是事先通過代價低廉的評估活動來識別軟件結構中存在的潛在風險,找出軟件體系結構中影響系統(tǒng)質量的主要因素及改進措施,并在此基礎上檢驗軟件的質量需求是否在具體設計中得到實現,并預見未來軟件質量。軟件體系結構在軟件開發(fā)和管理中扮演者越來越重要的角色,軟件體系結構設計對軟件質量有著至關重要的影響,對此最終確保系統(tǒng)的質量有重要的意義。軟件體系結構評估,是對系統(tǒng)的某些值的關心的屬性進行評估和判斷。評估的結果可用于確認潛在的風險,并檢查設計階段系統(tǒng)需求的質量,在系統(tǒng)被實際構造之前,預測其屬性質量。2、從哪些方面評估軟件體系結構?答:(1)性能是指系統(tǒng)的影響能力,即要經過多長時間才能對某個事件作出響應,或者在某段事件內系統(tǒng)所能處理的事件的個數。(2)可靠性是軟件系統(tǒng)在應用或系統(tǒng)錯誤面前,在意外或錯誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。(3)可用性是系統(tǒng)能夠正常運行的時間比例。經常用兩次故障間的時間長度或在出現故障時系統(tǒng)能夠恢復正常的速度來表示。(4)安全性是指系統(tǒng)在向合法用戶提供服務的同時能夠阻止非授權用戶使用的企圖或拒絕服務的能力。安全性又可劃分為機密性、完整性、不可否認性及可控性等特性。(5)可修改性是指能夠快速的以較高的性能代價比對系統(tǒng)進行變更的能力。(6)功能性是系統(tǒng)所能完成所期望的工作的能力。(7)可變性是指體系結構經擴充或變更而成為新體系結構的能力。(8)可集成性是指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度(9)互操作性是指與其他環(huán)境或者系統(tǒng)本身相互作用的能力。a公司是一家相對較大的軟件和硬件企業(yè),專業(yè)從事網絡設備的開發(fā)。從單一的產品開始現在,已經延伸到包括攝相服務器、掃描服務器、光盤服務器以及其他的存儲服務器在內的產品。公司原來的產品都是一個一個地開發(fā),每個軟件組織一個項目組。為了適應快速變化的市場,降低開發(fā)成本,公司想引入產品線方法。然而,軟件產品線開發(fā)涉及了一個軟件開發(fā)組織的多個產品,選擇了軟件產品線意味著要承擔由此帶來的許多風險。所以,公司的cto王總決定在弄清三個問題之后再做決定,首先就是本公司的業(yè)務范圍是否適合使用產品線方法,其次是如何在原有產品的基礎上建立產品線,最后是成功實施產品線的主要因素是什么?[問題1]請用100字以內文字說明a公司是否適合采用產品線方法?為什么?答:a公司是適合采用產品線方法的。軟件產品線體系結構是指一個軟件開發(fā)組織為相關應用或產品建立的公共體系結構,此外同領域模型一樣,軟件產品線體系結構中可以分為共性部分和個性部分;產品線體系結構是產品線核心資源早期和主要部分,在產品線的生命周期里,產品線體系結構應該保持相對小和緩慢的變化以便在生命周期中盡量保持一致。[問題2]請用200字以內文字說明如何在原有產品的基礎上建立產品線?答:[問題3]請用150字以內文字說明成功實施產品線的主要因素是什么?答:首先每個產品都由來自公共資產庫中的組件組成,然后按照預先定義的變化機制,如參數化或繼承,對這些組件進行必要的裁剪,添加任何必須的新組件,根據一個產品線范圍內的公共架構來組裝這些組件。于是,構建一個產品(系統(tǒng))主要工作是組裝和繁衍,而不是創(chuàng)造;主要的活動是集成而不是編程。每條軟件產品線都有一個預先定義的指南或計劃,用來定義確切的產品構建方法?!酒很浖w系結構試題庫(軟件工程)試題和答案】重用是指重復使用已有的軟件產品用于開發(fā)新的軟件系統(tǒng),以達到提高軟件系統(tǒng)的開發(fā)質量與效率,降低開發(fā)成本的目的。答案:√2、可重用技術對構件庫組織方法要求不僅要支持精確匹配,還要支持相似構件的查找。答案:√3、超文本組織方法與基于數據庫系統(tǒng)的構件庫組織方法不同,它基于全文檢索技術。答案:√4、軟件體系結構充當一個理解系統(tǒng)構件和它們之間關系的框架,特別是那些始終跨越時間和實現的屬性。答案:√5、構件可以由其他復合構建和原子構件通過連接而成。()答案:√6、體系的核心模型由5種元素組成:構建、連接體、配置、端口和角色()答案:√7、軟件體系結構的核心由5種元素組成:構件、連接件、配置端口和角色。其中,構件、連接件和配置是最基本的元素()答案:√8、開發(fā)視圖主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務()答案:x9、構件、連接件以及配置是體系結構的核心模型最基本的元素()答案:√11、正交軟件體系結構由組織層和線索的構件構成。答案:√12、基于事件的隱式調用風格的思想是構件不直接調用一個過程,而是觸發(fā)或廣播一個或多個事件。答案:√13、線索是子系統(tǒng)的特例,它由完成不同層次功能的構建組成,每一條線索完成整個系統(tǒng)中相對獨立的一部分功能。()答案:√14、層次系統(tǒng)中支持抽象程度遞增的系統(tǒng)設計是設計師可以把一個復雜系統(tǒng)按照遞增的步驟進行分解,同時支持功能增強,但是不支持重用。15、相交關系r是一個等價關系。答案:√16、在軟件設計中占據著主導地位的軟件體系結構描述方法是圖形表達工具。答案:√17、rapide是一種可執(zhí)行的adl,其目的在于通過定義并模擬基于事件的行為對分布式同步系統(tǒng)建模。18、體系結構設計是整個軟件生命周期中關鍵的一環(huán),一般在需求分析之后,軟件設計之前進行。答案:√19、基于軟構件的系統(tǒng)描述語言是較好的一種以構件為單位的軟件系統(tǒng)描述語言。答案:√20、需求語言與adl的區(qū)別在于后者描述的是問題空間,而前者則扎根于解空間中。21、基于構件的動態(tài)系統(tǒng)結構模型分為三層,風別是應用層、中間層、和體系結構層。答案:√22、adl提供了一種形式化機制來描述軟件體系結構,大多數adl不進描述系統(tǒng)的靜態(tài)結構,也支持對體系結構動態(tài)性的描述()23、基于構件的動態(tài)系統(tǒng)結構模型分為應用層,中間層和體系結構層。答案:√24、2000年世界計算機大會提出,軟件體系結構中最為重要的三個研究方向是:體系結構風格,靜態(tài)體系結構和動態(tài)體系結構。25、xml是w3c制定的作為internet上數據交換和表示的標準語言,是一種允許用戶定義的標記語言。()答案:√26、wsdl是可擴展的,使得在通信時無論使用何種消息格式或網絡協(xié)議,都可以對端點及其消息進行描述。()答案:√27、soa模型具有松散耦合、粗粒度服務、標準化接口等特征。()答案:√28、從概念上講,soa有3個主要的抽象級別,分別是操作、服務和業(yè)務流程。()答案:√29、一般的說,一個模式有一下4個基本成分,1.模式名稱,2.問題,3.解決方案,4.效果,這句話是對的()答案:√30、設計模式的概念最早是由美國的一位計算機專家提出的。答案:x31、利用設計模式可以方便地重用成功的設計和結構。答案:√32、absd方法是基于體系結構的設計方法,它描述了系統(tǒng)的主要設計元素及其關系。()答案:√33、在模式目錄中,每個模式描述的多少與別的模式無關。答案:√34、軟件系統(tǒng)的可靠性依賴于狀態(tài)的執(zhí)行順序和每一個狀態(tài)的可靠性()答案:√35、.基于體系結構描述的軟件測試包括黑盒測試和根據路徑測試。()答案:√36、在體系結構級進行風險評估是更有利于開發(fā)階段的前期評估。()37、容錯體系結構風格的目的是通過一系列的容錯構件修正初始系統(tǒng)的錯誤來改善系統(tǒng)的穩(wěn)定性。()38、atam評估方法主要通過理解體系結構方法來分析體系結構,在這一步,由設計師確定體系結構方法,由分析小組捕獲并進行分析。()39、評估方法質量屬性中安全性不包括完整性。()40、軟件體系結構的評估方法主要有調查問卷、檢查表、場景、度量、比較5種()調查問卷、檢查表、場景、度量、比較是軟件體系結構的5種評估方式,評估方法有atam、saam、arid三種。41、軟件體系結構評估只針對一個體系結構,不可以針對一組體系結構()。42、正式的對軟件產品線的理論研究到20世紀80年代中期才出現。()43、軟件重用長期以來一直是軟件工程界不斷追求的目標。()答案:√44、產品開發(fā)活動取決于產品線范圍,核心資源庫、產品計劃和需求的輸出。()答案:√45、軟件產品線的建立通常有4種方式,其劃分依據有兩種。()答案:√二、填空題1、軟件元素包括、、、、甚至領域知識。答案:程序代碼、測試用例、設計文檔、設計過程、需求分析文檔2、軟件工程包括3個要素:、和。答案:方法、工具、過程3、軟件重用過程中需要重用的開發(fā)組織結構予以支持,它包括:______、_______、_________三組成員組成。答案:構件開發(fā)組、構件應用組、協(xié)調組。4、采用層次式軟件體系結構,將產品的系統(tǒng)構件模型定義為4個層次,分別為:、、、。答案:系統(tǒng)構件層、通用類構件層、業(yè)務構件層、表現層5、軟件體系結構的模型分為5種:結構模型、框架模型、動態(tài)模型、過程模型和功能模型。答案:結構模型,動態(tài)模型。6、軟件體系結構的名片型分為:______、框架模型、_______、_________、功能模型。答案:結構模型、動態(tài)模型、過程模型7、根據建模的側重點不同,可以將軟件體系結構的模型分為5種:、框架模型、、過程模型和動能模型。答案:結構模型,動態(tài)模型。8、軟件體系結構的生命周期模型主要分為需求分析階段,建立軟件體系結構階段()和實現階段。答:設計階段9、軟件體系結構應建立于傳統(tǒng)的軟件開發(fā)過程的________和________階段之間。答案:需求分析、軟件設計10、黑板系統(tǒng)主要由__________、____________和_________組成。答案:知識源、合辦數據結構、控制11、三層c/s結構風格是由_________、_________和__________構成的。答案:表示層、功能層、數據層12、消息總線對消息過濾提供了________和___________兩種方式。答案:轉換、阻塞13、正交軟件體系結構由____和_____構成。答案:組織層、線索的構件14、c/s體系結構服務器主要負責有效的管理系統(tǒng)的資源主要負責_________、_________、_________和_________。答案:數據庫安全性的要求、數據庫訪問并發(fā)性的控制、數據庫前端的客戶應用程序的全局數據完整性規(guī)則、數據庫的備份與恢復15、層次系統(tǒng)最廣泛的應用是____________.答案:分層通信協(xié)議16、軟件體系結構的描述方法主要有、、基于軟構件的系統(tǒng)描述語言和。答案:圖形表達工具、模塊內連接語言、軟件體系結構描述語言17、adl是一種在底層語義模擬支持下的形式化語言?;诘讓诱Z義的工具為體系結構的、分析、、、設計過程等提供支持。答案:表示、演化、細化18、可重用的體系結構描述框架可以從和個視點出發(fā)描述體系結構。答案:需求視點、設計視點、實現視點、測試視點19、答案:wright20、典型的adl在充分繼承和吸收傳統(tǒng)程序設計語言的和還應該具有構造、抽象、重用、組合、異構和分析推理等多種能力和特性。能力指的是adl使得其描述的每一個系統(tǒng)元素都有其自己的局部結構。答案:精確性、嚴格性,組合21、體系結構的動態(tài)性分為“_________”“_________”“_________”三類。答案:交互式動態(tài)性、結構化動態(tài)性、體系結構動態(tài)性22、基于構件的動態(tài)體統(tǒng)結構模型(cbdsam)支持運行系統(tǒng)的動態(tài)更新。該模型分為三層,分別是應用層、_________和________________。答案:中間層、體系結構層23、體系結構的動態(tài)性主要分為幾類:_________、_________、___________。答案:交互式動態(tài)性,結構化動態(tài)性、體系結構化動態(tài)性。24、對動態(tài)軟件體系結構的形式化描述通常有______、_______、_________三種方法。答案:圖形化方法、進程代數方法、邏輯描述方法25、一個完整的web服務包括3種邏輯構件:______、______、_______。答案:服務提供、服務代理、服務請求26、web服務棧的五層標準為:發(fā)現服務層、描述層、________、________、________。答案:消息格式層、編碼格式層、傳輸協(xié)議層27、web服務開發(fā)生命周期分為:________、________、________、________四個階段。答案:構建、部署、運行、管理。28、ooad、ea和bpm分別從___________層、___________層和__________層3個層次上為soad提供了理論支撐。答案:基礎設計、應用結構、業(yè)務組織。29、mvc模式的中的m,v,c分別對應______、_______、_________三種單詞。答案:model,view,controller30、模式的問題陳述用一個強制條件_______集來表示。答案:force31、absd方法取決于決定系統(tǒng)的體系結構驅動,所謂體系結構驅動,是指構成體系結構的______________、_____________、___________的組合。答案:業(yè)務質量功能需求32、設計模式的基本成分包括______________、___________、___________、__________。答案:模式名稱、問題、解決方案、效果。33、absd的全稱是:____________________________答案:基于體系結構的軟件設計34、軟件體系結構的可靠性風險分析方法有__________和_____________答案:動態(tài)方法、構建依賴圖(cdg)35、實現完整測試的典型方法是利用測試準則定義測試需求,進而生成測試用例.參照相關研究工作,可定義、等測試路徑。答案:構件或連接件內部消息的傳遞路徑、構件或連接件內部端口的執(zhí)行順序路徑36、構建依賴圖是用于在體系結構級進行可靠性分析的模型。答案:概率37、一個復雜的系統(tǒng)通常包括、、和常用的結構風格模型。答案:順序、并行計算、容錯和客戶/服務器38、________方法是最早形成文檔并得到廣泛使用的軟件體系結構分析方法,最初用來分析體系結構的可修改性的。答案:saam39、體系結構評估中,一般采用刺激,環(huán)境,和_____三方面來對場景進行描述。答案:響應40、可修改性是指能夠快速地以較高的性能價格比對系統(tǒng)進行變更的能力。包括可維護性、可擴展性、、可移植性4個方面。答案:結構重組。41、saam評估方法可以對許多_____以及______進行快速評估。答案:質量屬性,系統(tǒng)功能42、軟件重用是為了解決_____答案:軟件危機43、________的開發(fā)是大型軟件系統(tǒng)開發(fā)的關鍵環(huán)節(jié)。答案:軟件體系結構44、領域工程階段的主要任務有_____、______和______三個階段。答案:領域分析、領域設計、領域實現45、軟件體系結構設計的主要目的是滿足對軟件的_____。答案:質量需求三、選擇題【篇三:軟件設計與體系結構課后題答案】0道2.填空10道3.簡答5或6道4.編程題2道【重點】1.軟件危機的表現軟件開發(fā)進度難以預測軟件開發(fā)成本難以控制用戶對產品功能難以滿足軟件產品質量無法保證軟件產品難以維護2.引發(fā)軟件危機的原因用戶需求不明確缺乏正確的理論指導軟件開發(fā)規(guī)模越來越大軟件開發(fā)復雜度越來越高3.體系結構概念構件、構件之間的關系、集成構件的模式及約束條件4.構件的概念構件是指語義完整、語法正確和有可重用價值的單位軟件,是軟件重用過程中可以明確辨識的系統(tǒng);結構上,它是語義描述、通訊接口和實現代碼的復合體。5.引入體系結構使得開發(fā)過程發(fā)生什么變化?好處是什么?軟件再工程、逆工程的概念?軟件設計質量的量度【變化】在引入了體系結構的軟件開發(fā)之后,應用系統(tǒng)的構造過程變?yōu)椤皢栴}定義—軟件需求—軟件體系結構—軟件設計—軟件實現”,可以認為軟件體系結構架起了軟件需求與軟件設計之間的一座橋梁?!竞锰帯靠朔浖C【再工程】是指對既存對象系統(tǒng)進行調查,并將其重構為新形式代碼的開發(fā)過程。最大限度的復用既存系統(tǒng)的各種資源是再工程的最重點特征之一。如何開發(fā)可復用軟件和如何構造采用可復用軟件的系統(tǒng)體系結構是兩個關鍵問題?!灸婀こ獭渴侵阜治鲕浖到y(tǒng),確定其構成成分及各成分間的關系,提取并生成系統(tǒng)抽象和設計信息的工程?!玖慷取棵嫦驅ο筌浖|量的度量重點在于對類的分析上。應從類的以下方面考慮:耦合內聚度繼承性復雜度6.5個設計原則概念【單一職責原則】就一個類而言,應該僅有一個引起它變化的原因?!鹃_閉原則】軟件實體(類、模塊、函數等等)應該可以擴展,但是不可修改。(也就是老婆常說的對擴展開放,對修改關閉)【依賴倒轉】抽象不應該依賴于細節(jié),細節(jié)應該依賴于抽象。要針對接口編程,不要對實現編程?!纠锸洗鷵Q】在軟件里面,把父類都替換成它的子類,程序行為沒有變化。簡單地說,子類型必須能夠替換掉它們的父類型?!镜厦滋亍咳绻麅蓚€類不必彼此直接通信,那么這兩個類就不應當發(fā)生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發(fā)這個調用。7.軟件設計目標(健壯性等)概念正確性、健壯性、可復用性、可維護性、高效性8.17個模式(包含簡單工廠方法)的概念、結構圖、類的關系、代碼、什么時候采用、優(yōu)缺點【簡單工廠】簡單工廠模式是由一個工廠類根據傳入的參數,動態(tài)決定應該創(chuàng)建哪一個產品類(這些產品類繼承自一個父類或接口)的實例。結構圖:優(yōu)點:工廠類是整個模式的關鍵.包含了必要的邏輯判斷,根據外界給定的信息,決定究竟應該創(chuàng)建哪個具體類的對象.通過使用工廠類,外界可以從直接創(chuàng)建具體產品對象的尷尬局面擺脫出來,僅僅需要負責“消費”對象就可以了。而不必管這些對象究竟如何創(chuàng)建及如何組織的.明確了各自的職責和權利,有利于整個軟件體系結構的優(yōu)化。缺點:由于工廠類集中了所有實例的創(chuàng)建邏輯,違反了高內聚責任分配原則,將全部創(chuàng)建邏輯集中到了一個工廠類中;它所能創(chuàng)建的類只能是事先考慮到的,如果需要添加新的類,則就需要改變工廠類了。當系統(tǒng)中的具體產品類不斷增多時候,可能會出現要求工廠類根據不同條件創(chuàng)建不同實例的需求.這種對條件的判斷和對具體產品類型的判斷交錯在一起,很難避免模塊功能的蔓延,對系統(tǒng)的維護和擴展非常不利;何時采用:工廠類負責創(chuàng)建的對象比較少;客戶只知道傳入工廠類的參數,對于如何創(chuàng)建對象(邏輯)不關心;由于簡單工廠很容易違反高內聚責任分配原則,因此一般只在很簡單的情況下應用?!静呗阅J健克x了算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓算法的變化,不會影響到使用算法的客戶結構圖:優(yōu)點:1.strategy類層次為context類定義了一系列可供重用的算法或行為。繼承有助于析取出這些算法中的公共功能。2.簡化了單元測試,因為每個算法都有自己的類,可以通過自己的接口單獨測試。修改其中

溫馨提示

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

評論

0/150

提交評論