軟件體系結(jié)構(gòu)期末試卷_第1頁(yè)
軟件體系結(jié)構(gòu)期末試卷_第2頁(yè)
軟件體系結(jié)構(gòu)期末試卷_第3頁(yè)
軟件體系結(jié)構(gòu)期末試卷_第4頁(yè)
軟件體系結(jié)構(gòu)期末試卷_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、北京工業(yè)大學(xué)2008 2009學(xué)年第二學(xué)期考試樣題考試課程: 軟件體系結(jié)構(gòu) ii 考試日期:2009 年 12 月 日學(xué) 院: 軟件學(xué)院 專(zhuān) 業(yè): 軟件工程 學(xué) 號(hào): 姓名: 成績(jī): 題 號(hào)一二三四五六七八九十總分成 績(jī)閱卷教師一 填空題 (共 30 空, 每空 1 分)1. 軟件體系結(jié)構(gòu) (software architecture)- 是軟件產(chǎn)品設(shè)計(jì)的思想和系統(tǒng)的藍(lán)圖;是對(duì)軟件產(chǎn)品_的規(guī)劃和_的設(shè)置;是定義軟件系統(tǒng)組件 (components)或構(gòu)建塊 (building blocks)的重要工具;2. 軟件產(chǎn)品的工業(yè)化生產(chǎn) - 是指建立流水線(xiàn)型的軟件產(chǎn)品生產(chǎn)線(xiàn),是指按_、_ 的規(guī)范和規(guī)則

2、(軟件生產(chǎn)規(guī)范)來(lái)編寫(xiě)和實(shí)現(xiàn)各種各樣的適應(yīng)于多環(huán)境的軟件組件(構(gòu)件),通過(guò)一個(gè)開(kāi)發(fā)架構(gòu)模式,通過(guò)軟件體系結(jié)構(gòu)知道各個(gè)組件如何部署到開(kāi)發(fā)架構(gòu)模式中,組裝成達(dá)到期望的軟件產(chǎn)品。 3. 在軟件設(shè)計(jì)過(guò)程中,數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個(gè)實(shí)體,這實(shí)體的名稱(chēng)就是 _  4. 一個(gè)現(xiàn)代軟件產(chǎn)品生產(chǎn)過(guò)程如下圖表示,請(qǐng)?jiān)诖?_的方框中,填上相應(yīng)的組件名稱(chēng)軟件構(gòu)件庫(kù)(component library )軟件構(gòu)架(software framework ) 軟件工廠(chǎng) _ 軟件組裝線(xiàn) (assembling line)軟件產(chǎn)品系統(tǒng)組件第三方組件 開(kāi)發(fā) 組件 5. 軟

3、件體系結(jié)構(gòu)描述一個(gè)軟件產(chǎn)品的定義和組件(parts),包括 - 定義系統(tǒng) _的集合 - 通過(guò)_, 描述系統(tǒng)的結(jié)構(gòu) - connectors & interrelated components - 定義_責(zé)任的范圍 - a boundary - 描述組件的功能 - a purpose and responsibility - 算法 implementation algorithm - 數(shù)據(jù)的表示 data representation - constrains6. 軟件體系結(jié)構(gòu)的圖形方法 - 用各種各樣的_和_等來(lái)表示軟件體系結(jié)構(gòu)的方法稱(chēng)之為軟件體系結(jié)構(gòu)的圖形方法 7. 軟件體系結(jié)構(gòu)組件

4、間的連接方式如圖表示,則圖的連接方式稱(chēng)為_(kāi)連接體系結(jié)構(gòu);圖的連接方式稱(chēng)為基于_連接體系結(jié)構(gòu)acbmediatorxacbxacbmediator 圖a 圖b8. uml將軟件的體系結(jié)構(gòu)分解為五個(gè)不同的側(cè)面, 通過(guò)不同側(cè)面的視圖提供給不同相關(guān)者的軟件體系結(jié)構(gòu)描述,這五個(gè)側(cè)面分別是:_視圖, _視圖,_視圖,_實(shí)現(xiàn)視圖,_視圖9. mfc框架定義 windows 應(yīng)用程序的輪廓,提供了用戶(hù)接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過(guò)預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。microsoft visual c+ 提供了相應(yīng)的工具來(lái)完成這個(gè)工作:這些工具包括_(可以用來(lái)生成初步的框架文件(代碼

5、和資源等), _(用于幫助直觀(guān)地設(shè)計(jì)用戶(hù)接口), _(用來(lái)協(xié)助添加代碼到框架文件)10. mfc 的類(lèi)層次結(jié)構(gòu)如圖表示,在_處填入相應(yīng)的 mfc 類(lèi)名cobjectccmdtargetcwinthreadcdocumentcwndcwinapp_ 11. 在 vc+ mfc 開(kāi)發(fā)環(huán)境中,_是應(yīng)用程序的“應(yīng)用程序類(lèi)”,負(fù)責(zé)初始化和運(yùn)行應(yīng)用程序;_是應(yīng)用程序的“框架類(lèi)”,負(fù)責(zé)顯示或搜尋用戶(hù)命令;_是應(yīng)用程序的文檔類(lèi),負(fù)責(zé)裝載和維護(hù)文檔;_是應(yīng)用程序視圖類(lèi),負(fù)責(zé)為文檔提供一個(gè)或多個(gè)視圖12. 在 開(kāi)發(fā)環(huán)境中,開(kāi)發(fā)圖形用戶(hù)組件使用swing, swing的頂層容器包括_, _, _ 13. graph

6、ic user interfaces ( 圖形用戶(hù)界面): 是用戶(hù)與模型(業(yè)務(wù))層他之間的一個(gè)接口,表示層程序通過(guò)圖形界面為用戶(hù)提供便捷的操作基礎(chǔ), 使用戶(hù)可以和模型或程序進(jìn)行可視化交互:一般,圖形界面包括_, _, _, _等元素14. 軟件體系結(jié)構(gòu)設(shè)計(jì)風(fēng)格 是指對(duì)軟件組件間組織形式和組織機(jī)理風(fēng)格的描述。通過(guò)考慮在組件組織模式的各種形式變化,形成包括_, _, _, _, _的軟件體系結(jié)構(gòu)風(fēng)格。15. 軟件體系結(jié)構(gòu)的評(píng)估與分析 是指通過(guò)對(duì)復(fù)雜應(yīng)用系統(tǒng)軟件體系結(jié)構(gòu)設(shè)文檔、設(shè)計(jì)過(guò)程、代碼、實(shí)現(xiàn)過(guò)程的評(píng)估與審查等手段來(lái)判斷軟件的_,增強(qiáng)軟件的質(zhì)量;在真正的錯(cuò)誤的設(shè)計(jì)導(dǎo)致真的災(zāi)難前_,選擇更好的結(jié)構(gòu)

7、或_結(jié)構(gòu)的設(shè)計(jì)。 二 判斷題 (共 10 題, 每題 1 分, 正確在括號(hào)劃, 錯(cuò)誤在括號(hào)劃 x)( ) 1. 數(shù)據(jù)流圖是表示軟件模型的一種圖示方法,它描述數(shù)據(jù)在軟件中流動(dòng)和被處理變換的過(guò)程。數(shù)據(jù)流圖中基本的圖形元素包括變換/加工、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)以及實(shí)體( ) 2. 軟件體系結(jié)構(gòu)只是一種表示,它不是可運(yùn)行的軟件( ) 3. 面向?qū)ο筌浖_(kāi)發(fā)的生命周期分為三個(gè)階段,即面向?qū)ο蠓治?(ooa),面向 對(duì)象設(shè)計(jì) (ood)和面向?qū)ο蟪绦蛟O(shè)計(jì) (oop) ( )4. 用面向?qū)ο蠓椒?gòu)造軟件系統(tǒng)體系結(jié)構(gòu)時(shí),其最基本單位是函數(shù)( )5. 軟件體系結(jié)構(gòu)風(fēng)格和模式可以被應(yīng)用到其他系統(tǒng)的設(shè)計(jì)中( ) 6. 軟

8、件體系結(jié)構(gòu)包含軟件組件、這些組件的對(duì)外可見(jiàn)的性質(zhì)以及它們之間的關(guān)系( )7. 軟件體系結(jié)構(gòu)中不應(yīng)包含中間件( ) 9. 軟件用戶(hù)界面應(yīng)具備的特性中包括控制復(fù)雜性、 獨(dú)特性、 可靠性、 靈活性 ( )1.軟件體系結(jié)構(gòu)描述表示方法包括形式化和非形式化的描述方法,是非形式化描述方法,是形式化描述方法。 三 簡(jiǎn)答題 (共 4 題,每題 5 分)1. 什么是軟件體系結(jié)構(gòu),描述軟件體系結(jié)構(gòu)的主要內(nèi)容及組織?2. 描述在 mfc vc+,或 java 開(kāi)發(fā)環(huán)境下,開(kāi)發(fā)圖形界面的組織結(jié)構(gòu)3. 描述軟件體系結(jié)構(gòu)分析和評(píng)估的概念和意義4. 描述什么是分別式應(yīng)用程序和體系結(jié)構(gòu)的概念及優(yōu)點(diǎn) 四 體系結(jié)構(gòu)設(shè)計(jì)和程序閱讀

9、題: (20分, 共 5 題,每題 4 分)1. 使用圖形描述語(yǔ)言,描述 vc+mfc 開(kāi)發(fā)環(huán)境下,開(kāi)發(fā)基于 dialog 模式應(yīng)用程序的基本架構(gòu)2. 使用圖形描述語(yǔ)言,描述在開(kāi)發(fā)環(huán)境或開(kāi)發(fā)環(huán)境下,開(kāi)發(fā)基于模式應(yīng)用程序的基本架構(gòu)3. 已知一個(gè)應(yīng)用系統(tǒng)的軟件體系結(jié)構(gòu)如下圖表示,類(lèi)exam_app為的組裝線(xiàn)程序,類(lèi)exam_frame為頂層容器,類(lèi)display為表示界面,類(lèi)model為模型組件,寫(xiě)出以下java 程序的運(yùn)行結(jié)果 頂層容器(jframe)組裝線(xiàn)(主干程序) 表示層(jpanel) display類(lèi) 模型層 model 類(lèi) class exam_app public static v

10、oid main() new exam_frame(); class exam_frame extends jframe container contentpane; display display; model model; exam_frame() contentpane = this.getcontentpane(); display = new display(); model = new model(display); setsize(1024,768); setvisible(true); class display bufferedimage buffer = null; dis

11、play() buffer = new bufferedimage(1024,768, bufferedimage.translucent); public void paintcomponent(graphics g)g.drawimage(buffer,0,0, null);class model bufferedimage image; graphics g; display panel = null; model( display pane) this.panel = pane; g = panel.buffer.getgraphics(); g.drawstring(10, 10,

12、“this is test of software architecture!”); g.drawstring(50, 10, “i will success!”); .運(yùn)行以上程序, 結(jié)果為4. 已知一個(gè)基于vc+ mfc 環(huán)境 dialog 模式應(yīng)用程序體系結(jié)構(gòu)表示如下,組裝線(xiàn)(cwinapp) exam_app圖形表示界面(cdialog) exam_dlg 模型model其中,組裝線(xiàn)類(lèi)exam_app 用于組裝圖形表示界面類(lèi)exam_dlg,圖形表示界面類(lèi)exam_dlg通過(guò)函數(shù) model_display用于調(diào)用類(lèi) model#include<afxwin.h>class

13、 exam_app : cwinapppublic: virtual bool initinstance();exam_app app;class exam_dlg: cdialog public: model *model; public: void oninitdialog(); void model_display();class model public: model(); string model_data();請(qǐng)完成從類(lèi)exam_dlg 中model_display調(diào)用類(lèi) model函數(shù)string model_data() 的代碼 void exam_app:oninitdial

14、og() / 完成指向model 的指針void exam_app:model_display()/ 完成調(diào)用類(lèi) model函數(shù)string model_data()五 綜合設(shè)計(jì)題 (20分,每題10 分) 1. (10分) 一個(gè)管道與過(guò)濾風(fēng)格的軟件體系結(jié)構(gòu)如下圖表示,其中a:a_fun, b:b_fun,c:c_fun,d:d_fun,e:e_fun,f:f_fun,g:g_fun 分別表示組件 a,b,c,d,e,f,g的功能(輸入輸出均為字符串)sa:a_fun()b:b_fun()c:c_fun()d:d_fun()e:e_fun()f:f_fun()g:g_funoo(1) 使用 v

15、c+ 或語(yǔ)言用代碼實(shí)現(xiàn)組件,(面向?qū)ο蟮姆椒ǎ?) 使用 vc+ 或,設(shè)計(jì)一個(gè)組裝線(xiàn),組裝組件,實(shí)現(xiàn)上述管道與過(guò)濾風(fēng)格的軟件體系結(jié)構(gòu)2. (10分) 在 vc+ mfc 開(kāi)發(fā)環(huán)境 或 在 java jdk 1.5 的開(kāi)發(fā)環(huán)境下,設(shè)計(jì)一個(gè)軟件應(yīng)用系統(tǒng)的軟件體系結(jié)構(gòu),完成下述的任務(wù)(3) 能完成 n (n>1 整數(shù)) 個(gè)實(shí)數(shù)的求和;(4) 能完成 n (n>1 整數(shù)) 個(gè)實(shí)數(shù)的求積;(5) 能完成一個(gè)整數(shù) n(n>1)階乘的計(jì)算;(6) 能完成n (n>1 整數(shù)) 個(gè)實(shí)數(shù)的冒泡排序;(7) 能完成n (n>1 整數(shù)) 個(gè)實(shí)數(shù)的插入排序;設(shè)計(jì)上述要求的軟件體系結(jié)構(gòu),要求

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論