軟件體系結(jié)構(gòu)復(fù)習(xí)題及答案_第1頁
軟件體系結(jié)構(gòu)復(fù)習(xí)題及答案_第2頁
軟件體系結(jié)構(gòu)復(fù)習(xí)題及答案_第3頁
軟件體系結(jié)構(gòu)復(fù)習(xí)題及答案_第4頁
軟件體系結(jié)構(gòu)復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

概述局部請(qǐng)分析軟件危機(jī)的主要表現(xiàn)和原因。表現(xiàn):軟件本錢日益增加:開發(fā)、部署與應(yīng)用本錢高開發(fā)進(jìn)度難以控制:不能按期完成軟件質(zhì)量差:錯(cuò)誤率高,不能滿足用戶的需求,沒有生命力軟件維護(hù)困難:本錢高,維護(hù)效果不理想,可能帶來潛在的錯(cuò)誤原因:用戶需求不明確缺乏正確的理論指導(dǎo)軟件規(guī)模越來越大軟件復(fù)雜度越來越高請(qǐng)說明軟件規(guī)模與復(fù)雜度對(duì)軟件過程的影響及解決方法。軟件規(guī)模與復(fù)雜度增加后,軟件開發(fā)和維護(hù)本錢增加,開發(fā)進(jìn)度難以控制,軟件質(zhì)量差,軟件維護(hù)變得困難。應(yīng)更多地采用科學(xué)的分析、設(shè)計(jì)和實(shí)現(xiàn)方法以及輔助工具,增強(qiáng)軟件分析和設(shè)計(jì)的力度,并通過構(gòu)件化提高軟件的重用能力。什么是軟件體系構(gòu)造,由哪三個(gè)局部組成?〔構(gòu)件、連接件、約束〕軟件體系構(gòu)造為軟件系統(tǒng)提供了一個(gè)構(gòu)造、屬性和行為的高級(jí)抽象。它不僅指定了系統(tǒng)的組織構(gòu)造和拓?fù)錁?gòu)造,并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對(duì)應(yīng)關(guān)系,提供了一些設(shè)計(jì)決策的根本原理。請(qǐng)簡述軟件重用的含義和意義。可重用元素包括哪些種類?軟件重用是指在屢次不同的軟件開發(fā)過程中重復(fù)使用一樣或相近軟件元素的過程?!埠x〕可重用的元素包括程序代碼、測(cè)試用例、設(shè)計(jì)文檔、需求分析文檔甚至領(lǐng)域知識(shí)?!卜N類〕可重用的元素越大,我們就說重用的粒度(Granularity)越大。軟件重用是軟件產(chǎn)業(yè)工業(yè)化、工程化的重要手段。軟件重用對(duì)提高生產(chǎn)率,降低開發(fā)本錢,縮短開發(fā)周期,改善軟件質(zhì)量以及提高靈活性和標(biāo)準(zhǔn)化程度大有幫助。〔意義〕請(qǐng)簡述常用的構(gòu)件實(shí)現(xiàn)模型及其意義。實(shí)現(xiàn)模型:CORBAEJBCOM/DCOM/COM+意義:這些模型通常都定義了構(gòu)件的實(shí)現(xiàn)方式、接口定義、訪問方法等。符合這些標(biāo)準(zhǔn)的任何構(gòu)件都有很高的重用能力。描述局部請(qǐng)用圖示法說明4+1模型的5種視圖之間的關(guān)系及關(guān)注點(diǎn)和涉眾用戶。數(shù)據(jù)視圖風(fēng)格局部什么是軟件體系構(gòu)造的風(fēng)格?它在軟件開發(fā)過程中具有何種意義?軟件體系構(gòu)造風(fēng)格是指設(shè)計(jì)、組織和實(shí)現(xiàn)軟件體系構(gòu)造的各種慣用模式和習(xí)慣用法,是對(duì)一系列體系構(gòu)造設(shè)計(jì)的抽象?!诧L(fēng)格〕利用軟件體系構(gòu)造風(fēng)格,可以在不同的軟件體系構(gòu)造設(shè)計(jì)過程中重復(fù)使用同一個(gè)體系構(gòu)造。這樣可以將軟件復(fù)用粒度提高到軟件體系構(gòu)造一級(jí)。通過學(xué)習(xí)軟件體系構(gòu)造風(fēng)格,可以在軟件體系構(gòu)造設(shè)計(jì)過程中,采用成熟的體系構(gòu)造風(fēng)格,使得所設(shè)計(jì)的軟件體系構(gòu)造有良好的組織構(gòu)造和通用性。常見的軟件體系構(gòu)造風(fēng)格主要有哪些種類?數(shù)據(jù)流風(fēng)格:批處理序列,管道/過濾器調(diào)用/返回風(fēng)格:主程序/子程序,面向?qū)ο箫L(fēng)格,層次構(gòu)造獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通信,事件系統(tǒng)虛擬機(jī)風(fēng)格:解釋器,基于規(guī)則的系統(tǒng)倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng),超文本系統(tǒng),黑板系統(tǒng)什么是虛擬機(jī)體系構(gòu)造風(fēng)格?這類軟件主要由哪幾個(gè)局部組成?〔選擇或者填空〕通過軟件手段建立一個(gè)虛擬的機(jī)器平臺(tái),并在該平臺(tái)上解釋運(yùn)行所謂的“程序〞代碼?!彩裁词绿摂M機(jī)體系風(fēng)格〕正在被解釋的程序〔組成局部〕虛擬機(jī)引擎構(gòu)件用來保存被解釋程序的狀態(tài)的構(gòu)件用來保存虛擬機(jī)引擎狀態(tài)的構(gòu)件請(qǐng)說明C/S構(gòu)造軟件的開放性和可擴(kuò)展性特點(diǎn)的含義。開放性:由于客戶端和效勞器端提供開放的、標(biāo)準(zhǔn)的接口,使得在軟件系統(tǒng)中采用不同的客戶端開發(fā)工具和效勞器端DBMS產(chǎn)品。開放性本身也意味著開發(fā)和維護(hù)本錢的降低??蓴U(kuò)展性:在客戶/效勞器構(gòu)造的系統(tǒng)中,可以方便地增加客戶機(jī)數(shù)量而不影響整個(gè)系統(tǒng)。有的系統(tǒng)甚至可以增加效勞器,提高系統(tǒng)的數(shù)據(jù)處理能力和效勞性能。請(qǐng)說明三層C/S構(gòu)造和B/S構(gòu)造相對(duì)于傳統(tǒng)C/S構(gòu)造的優(yōu)點(diǎn)?!矎膫鹘y(tǒng)C/S構(gòu)造的缺點(diǎn)入手〕胖客戶機(jī).用戶界面不統(tǒng)一,不利于推廣。軟件的維護(hù)和升級(jí)困難。平安性不高。相對(duì)優(yōu)點(diǎn)是:構(gòu)造合理、用戶界面統(tǒng)一、維護(hù)升級(jí)簡單、平安性高12.請(qǐng)?jiān)O(shè)計(jì)一個(gè)具有B/S構(gòu)造〔或三層C/S構(gòu)造〕登錄模塊的體系構(gòu)造,并說明每層的作用。(根本不考、因?yàn)榫幊填}已經(jīng)有了)B/S構(gòu)造:〔1〕第一層:客戶層〔或表現(xiàn)層、界面層〕,第二層:業(yè)務(wù)邏輯層〔或應(yīng)用層、功能層、應(yīng)用效勞器層〕,第三層:數(shù)據(jù)層〔2〕第一層只有瀏覽器,通過訪問第二層的網(wǎng)頁實(shí)現(xiàn)用戶界面,即承受用戶的名稱、密碼的輸入,并向第二層傳送用戶名和密碼,最后將登錄結(jié)果顯示出來?!?〕第二層承受第一層的用戶名和密碼,并通過訪問第三層判斷用戶合法性,最后將登陸結(jié)果以網(wǎng)頁形式返回給第一層?!?〕第三層在數(shù)據(jù)庫或文件中存儲(chǔ)用戶名和密碼,并為第二層提供數(shù)據(jù)訪問效勞。三層C/S構(gòu)造:〔1〕第一層:客戶層〔或表現(xiàn)層、界面層〕,第二層:業(yè)務(wù)邏輯層〔或應(yīng)用層、功能層、應(yīng)用效勞器層〕,第三層:數(shù)據(jù)層〔2〕第一層實(shí)現(xiàn)用戶界面,并通過網(wǎng)絡(luò)連接或進(jìn)程通信形式向第二層提出效勞請(qǐng)求,最后將登錄結(jié)果顯示出來。〔3〕第二層實(shí)現(xiàn)業(yè)務(wù)邏輯,即承受第一層的效勞請(qǐng)求,并執(zhí)行相應(yīng)功能〔業(yè)務(wù)〕代碼,最后將處理結(jié)果返回給第一層;業(yè)務(wù)功能需要訪問數(shù)據(jù)時(shí)向第三層提出數(shù)據(jù)訪問請(qǐng)求?!?〕第三層在數(shù)據(jù)庫或文件中存儲(chǔ)用戶名和密碼,并為第二層提供數(shù)據(jù)訪問效勞。MVC風(fēng)格的含義MVC風(fēng)格將各個(gè)構(gòu)件劃分成各自獨(dú)立的三個(gè)局部:模型、視圖和控制器,分別對(duì)應(yīng)商務(wù)邏輯、外觀呈現(xiàn)和請(qǐng)求處理。設(shè)計(jì)局部軟件體系構(gòu)造分析與設(shè)計(jì)的關(guān)鍵環(huán)節(jié)包括哪幾局部?需求分析、領(lǐng)域建模;關(guān)鍵需求確實(shí)定、概念性體系構(gòu)造的設(shè)計(jì)、體系構(gòu)造細(xì)化、體系構(gòu)造驗(yàn)證。軟件需求的典型分類包括哪些種類?運(yùn)行期質(zhì)量屬性和開發(fā)期質(zhì)量屬性的劃分:〔大概看一下、選擇填空〕什么是體系構(gòu)造設(shè)計(jì)相關(guān)的領(lǐng)域建模?對(duì)需求分析的細(xì)化是軟件構(gòu)造設(shè)計(jì)相關(guān)的領(lǐng)域建模。領(lǐng)域建模是建立領(lǐng)域模型的過程,而領(lǐng)域模型是對(duì)實(shí)際問題領(lǐng)域的抽象表示。領(lǐng)域建模專注于分析問題領(lǐng)域本身,開掘重要的業(yè)務(wù)領(lǐng)域概念并建立它們之間的關(guān)系。一般情況下,領(lǐng)域模型可以用UML類圖或狀態(tài)圖表示。魯邦圖包括哪幾種對(duì)象?它們之間存在哪幾種建模規(guī)則?還有哪些規(guī)則是制止的?邊界對(duì)象、控制對(duì)象、實(shí)體對(duì)象體系構(gòu)造細(xì)化過程中采用的“5視圖法〞中包括哪些視圖,通常都用什么方式描述?〔1〕邏輯視圖:著重考慮功能需求,主要關(guān)注行為或指責(zé)的劃分,并將不同的職責(zé)分配給邏輯層、功能模塊或類等不同粒度的邏輯單元??梢杂冒鼒D、類圖、對(duì)象圖〔靜態(tài)局部〕或序列圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖〔動(dòng)態(tài)內(nèi)容〕來描述?!?〕開發(fā)視圖:主要考慮開發(fā)期質(zhì)量屬性,如可擴(kuò)展性、可重用性、可移植性、易理解性、易測(cè)試性等等,其關(guān)注點(diǎn)是軟件模塊的實(shí)際組織方式??梢杂冒鼒D、類圖、構(gòu)件圖表述?!?〕數(shù)據(jù)視圖:關(guān)注點(diǎn)是持久化數(shù)據(jù)的組織,一般采用數(shù)據(jù)流圖或E-R圖表示,或者用帶對(duì)象流的活動(dòng)圖代替數(shù)據(jù)流圖,用類圖代替E-R圖?!?〕運(yùn)行視圖:著重考慮運(yùn)行期質(zhì)量屬性,如性能、可伸縮性、持續(xù)可用性等,主要關(guān)注進(jìn)程、線程、對(duì)象等運(yùn)行期概念,以及相應(yīng)的并發(fā)、同步、通信等問題,可以用包圖、類圖、對(duì)象圖〔靜態(tài)局部〕或序列圖、協(xié)作圖〔動(dòng)態(tài)局部〕表述。〔5〕物理視圖:主要考慮安裝和部署需求,描述運(yùn)行環(huán)境的計(jì)算機(jī)、網(wǎng)絡(luò)、硬件設(shè)施等情況。同時(shí),物理視圖還必須關(guān)注如何配置硬件環(huán)境來配合軟件的特殊質(zhì)量屬性。一般用部署圖和構(gòu)件圖描述。分析與評(píng)估局部什么是軟件的性能質(zhì)量屬性,應(yīng)由什么指標(biāo)來衡量?性能:指系統(tǒng)的響應(yīng)能力,通常用單位時(shí)間內(nèi)所處理的事務(wù)數(shù)量或完成某個(gè)事務(wù)處理所需要的時(shí)間對(duì)系統(tǒng)的性能進(jìn)展定量表示。什么是軟件的可靠性質(zhì)量屬性,應(yīng)由什么指標(biāo)來衡量?〔MTTF、MTBF〕可靠性:軟件系統(tǒng)在意外或錯(cuò)誤使用的情況下,維持系統(tǒng)功能特性的根本能力,通常用平均失效等待時(shí)間和平均失效間隔時(shí)間來衡量?!矁蓚€(gè)的比值接近1最好〕什么是軟件的可修改性,主要包含哪幾個(gè)方面的內(nèi)容?可修改性:是指能夠快速地、以較高的性價(jià)比對(duì)系統(tǒng)進(jìn)展變更的能力。通常以某些具體的變更為基準(zhǔn),并通過變更的代價(jià)來衡量可修改性。主要包括以下幾個(gè)方面:可維護(hù)性可擴(kuò)展性構(gòu)造重組可移植性軟件體系構(gòu)造評(píng)估方法可以分為幾類,每類又可包含哪些具體方法?基于質(zhì)詢〔調(diào)查問卷、檢查表〕、基于場(chǎng)景〔SAAM、ATAM〕、基于度量什么是基于場(chǎng)景的評(píng)估方法?常用的基于場(chǎng)景的評(píng)估方法是什么?〔SAAM、ATAM〕這種評(píng)估方法分析軟件體系構(gòu)造對(duì)場(chǎng)景的支持程度,從而判斷該體系構(gòu)造對(duì)這一場(chǎng)景所代表的質(zhì)量屬性的滿足程度。例如,用一系列對(duì)軟件的修改來反映可修改性方面的特性,用一系列攻擊性操作來測(cè)試平安性方面的要求等等。請(qǐng)用圖示法表示SAAM方法的主要步驟及其關(guān)系。典型軟件構(gòu)造局部典型的操作系統(tǒng)體系構(gòu)造有哪幾種,各自的典型代表是什么操作系統(tǒng)?模塊構(gòu)造:MS-DOS,uc/OS分層構(gòu)造:THE系統(tǒng)、Unix系統(tǒng)/Linux虛擬機(jī)構(gòu)造:VM/370系統(tǒng)客戶/效勞器構(gòu)造:“微內(nèi)核〞操作系統(tǒng)操作系統(tǒng)的典型質(zhì)量屬性:〔時(shí)間比值越接近1,質(zhì)量屬性越好〕平安、可靠、可維護(hù)、可移植、性能〔a+b/a+b+c〕請(qǐng)分析Xwindow標(biāo)準(zhǔn)的三個(gè)組成局部的作用,并與傳統(tǒng)C/S構(gòu)造進(jìn)展邏輯功能方面的比擬。XServer:處理輸入/輸出、維護(hù)XClient定義的資源、維護(hù)與XClient之間的網(wǎng)絡(luò)連接。XClient:指需要用圖形界面與用戶交互的應(yīng)用程序。XProtocol:XClient和XServer之間的通信規(guī)約,所有請(qǐng)求和事件都通過X協(xié)議傳遞。分布式計(jì)算局部請(qǐng)說明分布式構(gòu)造軟件的計(jì)算資源共享特點(diǎn)。在分布式構(gòu)造軟件中,各個(gè)軟件構(gòu)件在物理上可以分布在不同的計(jì)算機(jī)中。各個(gè)構(gòu)件之間通過相互調(diào)用,完成統(tǒng)一的軟件功能。各個(gè)構(gòu)件分別使用不同的計(jì)算機(jī)完成執(zhí)行過程,從而到達(dá)計(jì)算資源共享的目的。對(duì)于軟件的使用者來說,他們感覺不到多個(gè)計(jì)算機(jī)以及相互之間的調(diào)用關(guān)系。假設(shè)要實(shí)現(xiàn)基于RMI的分布式階乘運(yùn)算軟件,請(qǐng)說明主要的開發(fā)、部署和運(yùn)行步驟。要求說明各個(gè)組成局部提供的主要功能。開發(fā)步驟:(1)應(yīng)編寫遠(yuǎn)程接口及接口實(shí)現(xiàn)類。遠(yuǎn)程接口定義供遠(yuǎn)程客戶調(diào)用的方法〔如longfact(intn)〕,而遠(yuǎn)程接口實(shí)現(xiàn)類應(yīng)編寫具體的階乘運(yùn)算代碼。(2)在遠(yuǎn)程接口實(shí)現(xiàn)類的根底上,生成遠(yuǎn)程接口實(shí)現(xiàn)類的存根類。〔rmic命令〕(3)編寫效勞器類,該類主要完成遠(yuǎn)程接口實(shí)現(xiàn)類的實(shí)例化及將實(shí)例化對(duì)象綁定到某一命名地址上。(4)編寫客戶端類,該類通過名稱查找遠(yuǎn)程接口實(shí)現(xiàn)類的實(shí)例化對(duì)象,查找成功后通過具體參數(shù)調(diào)用階乘方法,并得到階乘結(jié)果。部署和運(yùn)行步驟:(1)將客戶端類、存根類和遠(yuǎn)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論