软件工程复习要点
軟件工程復(fù)習(xí)
- 一、填空題
- 二、選擇題
- 三、簡(jiǎn)答題
- 8.根據(jù)一學(xué)期的學(xué)習(xí),談?wù)勀銓?duì)軟件工程學(xué)科的認(rèn)識(shí)。
- 四、綜合應(yīng)用
一、填空題
1.軟件是與硬件相對(duì)應(yīng)的一種邏輯實(shí)體,包含 程序 ,文檔和數(shù)據(jù) 。
2.軟件的維護(hù)具有 多樣性 、 復(fù)雜性 和 副作用 特點(diǎn)。
3.軟件工程的三要素是 方法 、 工具 和 過(guò)程 。
4.軟件危機(jī)是指在軟件的 開發(fā) 和 維護(hù) 過(guò)程中遇到的很多嚴(yán)重的問題。
5.需求管理的內(nèi)容包含 變更控制 、 版本控制 ,需求跟蹤和需求狀態(tài)跟蹤 。
6.從工程角度研究需求,稱為 需求工程 。
7.獲取的需求會(huì)進(jìn)一步進(jìn)行細(xì)化,最終得到條理化可跟蹤的需求稱為 需求跟蹤矩陣 。
8.1NF對(duì)數(shù)據(jù)要求是 數(shù)據(jù)項(xiàng)不能再分 ,2NF是在1NF的基礎(chǔ)上消除了 非主屬性對(duì)于碼的部分函數(shù)依賴 ,3NF是在2NF基礎(chǔ)上消除了 非主屬性對(duì)于碼的傳遞函數(shù)依賴 。
9.HIPO圖中的H代表含義是 層次圖 ,I代表的含義為: 輸入 ,P代表的含義是: 處理 ,O代表的含義是 輸出 。
10.模塊的特征有 輸入/輸出 , 邏輯功能 , 和 運(yùn)行程序,內(nèi)部數(shù)據(jù) 。
11.模塊的內(nèi)聚和耦合是模塊獨(dú)立的重要特征,在設(shè)計(jì)過(guò)程中最求盡可能 松散 的耦合和盡可能 高 的內(nèi)聚;因此在設(shè)計(jì)過(guò)程中,推薦使用 數(shù)據(jù) 耦合和 功能 內(nèi)聚,避免使用 內(nèi)容 耦合和 偶然 內(nèi)聚。
1966 ,Bohm等證明:只需要用 順序 、 選擇和循環(huán) 三種控制結(jié)構(gòu)都能實(shí)現(xiàn)任何單入口單出口程序。
結(jié)構(gòu)程序設(shè)計(jì)是采用了 自頂向下,逐步求精 的設(shè)計(jì)方法和 單入口,單出口 的控制結(jié)構(gòu)的程序設(shè)計(jì)技術(shù)。
如果一個(gè)結(jié)點(diǎn)有一個(gè)入口線和兩個(gè)出口線,而且它不改變程序的數(shù)據(jù)項(xiàng)的值,則稱為 謂詞結(jié)點(diǎn) 。
15.用戶幫助的提供有 集成 和 附加 兩種方式。
16.響應(yīng)時(shí)間的重要屬性有 長(zhǎng)度 和 易變性 。
17.軟件維護(hù)的類型有 改正性維護(hù) ,適應(yīng)性維護(hù) 、完善性維護(hù) 預(yù)防性維護(hù) 。其中所占比重最大的維護(hù)是 完善性維護(hù) 。
18.非結(jié)構(gòu)化維護(hù)是從評(píng)價(jià) 程序代碼 開始的,而結(jié)構(gòu)化維護(hù)是從評(píng)價(jià) 設(shè)計(jì)文檔 開始的。
二、選擇題
1.對(duì)于比較熟悉的領(lǐng)域,最好不選擇的模型是( C )。
A.瀑布模型 B.原型模型 C.增量模型 D.W模型
2.以下對(duì)瀑布模型的闡述不正確的是( C)。
A.能很好保證推遲實(shí)現(xiàn) B.能很好做到階段性驗(yàn)證
C.能很好應(yīng)對(duì)需求變化 D.逆轉(zhuǎn)性很差
3.以下關(guān)于原型模型闡述錯(cuò)誤的是( C )。
A.能夠幫助用戶充分理解未來(lái)的軟件 B.可以通過(guò)原型獲取準(zhǔn)確的需求
C.能充分調(diào)動(dòng)開發(fā)人員的創(chuàng)造性,有利于創(chuàng)新 D.與用戶交流過(guò)于頻繁
4.以下模型的開發(fā)中,要求用戶最好不參與開發(fā)工作的是(A )。
A.瀑布模型 B.原型模型 C.增量模型 D.W模型
5.以下模型中,測(cè)試工作展開最早的是( D )。
A.瀑布模型 B.原型模型 C.增量模型 D.W模型
6.下列關(guān)于測(cè)試的闡述正確的是( C )
A.測(cè)試是一個(gè)證明軟件中不存在缺陷的生產(chǎn)活動(dòng)
B.測(cè)試應(yīng)該盡量推遲開展,這樣代碼測(cè)試會(huì)更徹底
C.在設(shè)計(jì)早期某個(gè)模塊的一個(gè)缺陷,隨著設(shè)計(jì)的深入,會(huì)傳染蔓延到其它模塊
D.測(cè)試用例有點(diǎn)瑕疵對(duì)測(cè)試活動(dòng)沒有影響
7.下列關(guān)于測(cè)試的闡述不正確的是( A )
A.測(cè)試用例一旦設(shè)計(jì)完成后,就不能改變
B.軟件缺陷有時(shí)會(huì)在某個(gè)模塊集中出現(xiàn),主要原因是修復(fù)缺陷會(huì)引入新缺陷
C.在測(cè)試過(guò)程管理中需要同時(shí)關(guān)注缺陷的預(yù)防和缺陷的檢測(cè)
D.理論上說(shuō),測(cè)試中發(fā)現(xiàn)的缺陷越多,軟件的質(zhì)量越可靠
8.導(dǎo)致軟件產(chǎn)生缺陷的因素有( D )
A.技術(shù)問題 B.團(tuán)隊(duì)協(xié)作與溝通 C.功能理解 D.以上都是
9.下列關(guān)于測(cè)試的闡述不正確的是(A )
A.回歸測(cè)試就是完整的執(zhí)行發(fā)現(xiàn)缺陷前已經(jīng)執(zhí)行過(guò)的測(cè)試用例
B.一般在做回歸測(cè)試前,都會(huì)做冒煙測(cè)試
C.在完成大規(guī)模的正規(guī)測(cè)試后,一般都會(huì)輔助做一些隨機(jī)測(cè)試
D.軟件的本地化測(cè)試不僅僅是軟件界面上的文字翻譯,還要考慮目標(biāo)環(huán)境的文化、政治、宗教等方面
10.下列關(guān)于灰盒測(cè)試的闡述不正確的是( B )
A.灰盒測(cè)試是介于白盒測(cè)試與黑盒測(cè)試之間的一種測(cè)試
B.灰盒測(cè)試設(shè)計(jì)測(cè)試用例時(shí)只考慮程序的內(nèi)部結(jié)構(gòu)
C.灰盒測(cè)試既關(guān)心系統(tǒng)的邊界,同時(shí)要兼顧模塊間協(xié)作
D.灰盒測(cè)試對(duì)內(nèi)部模塊依然把它當(dāng)成一個(gè)黑盒來(lái)看待
11.下列ALAC測(cè)試的闡述不正確的是( D )
A.ALAC測(cè)試是基于模擬用戶使用軟件的習(xí)慣的角度出發(fā)來(lái)設(shè)計(jì)測(cè)試用例的方法
B. ALAC測(cè)試依據(jù)的原則是“二八”原則
C.ALAC測(cè)試能有效提高測(cè)試效率和收益
D.ALAC測(cè)試能夠?qū)浖泄δ苓M(jìn)行全面徹底的測(cè)試
12.以下不屬于集成測(cè)試的內(nèi)容的是( B )
A.穿越模塊接口的數(shù)據(jù)丟失問題
B.局部數(shù)據(jù)結(jié)構(gòu)的問題
C.誤差積累、誤差放大問題
D.集成后能否達(dá)到預(yù)期的總體功能
13.維護(hù)除了付出巨大的人力、物力和財(cái)力外,還有很多潛在的影響,以下屬于維護(hù)的潛在影響的是( D )
A.當(dāng)看起來(lái)合理的要求不能及時(shí)滿足時(shí),會(huì)引起用戶的不滿
B.修改可能會(huì)引入新的錯(cuò)誤,使軟件質(zhì)量下降
C.大量工程師從事維護(hù)工作,會(huì)影響開發(fā)工作
D.以上都有可能
A. 生產(chǎn)性工作量對(duì)維護(hù)工作量影響最大
B. 文檔管理對(duì)維護(hù)工作量影響最大
C. 設(shè)計(jì)、文檔管理與維護(hù)人員對(duì)軟件熟悉程度對(duì)維護(hù)工作量的影響最大
D. 維護(hù)人員對(duì)軟件熟悉程度對(duì)維護(hù)工作量的影響最大
15.以下不是維護(hù)工作中常見的問題的是( D )
A.沒有注釋的代碼,維護(hù)相當(dāng)困難
B. 維護(hù)人員經(jīng)常變化與流動(dòng),維護(hù)變得困難
C. 沒有足夠的文檔資料,或者資料不一致,維護(hù)變得困難
D. 維護(hù)能快速提高程序員水平,有很強(qiáng)的挑戰(zhàn)性,很多人愿意從事這樣的工作
16.軟件的可維護(hù)性的決定因素的是( D )
A. 可理解性和可測(cè)試性 B. 可修改性
C. 可移植性和可重用性 D. 以上都是
17.影響維護(hù)工作量的因素的是( D )
A. 系統(tǒng)大小和開發(fā)技術(shù) B. 程序設(shè)計(jì)語(yǔ)言和數(shù)據(jù)庫(kù)技術(shù)
C. 系統(tǒng)年齡和應(yīng)用類型 D. 以上都是
18.預(yù)防性維護(hù)的原因是( D )
A. 舊系統(tǒng)的維護(hù)時(shí),維護(hù)成本比開發(fā)成本大得多
B. 使用最新的設(shè)計(jì)理念重新設(shè)計(jì)軟件體系結(jié)構(gòu),對(duì)將來(lái)的維護(hù)幫助很大
C. 如果以舊系統(tǒng)作為原型,能大大提高開發(fā)效率
D. 以上都是
19.如果要測(cè)試考試百分制成績(jī)的錄入,設(shè)計(jì)的測(cè)試用例為:-10、48、114,則設(shè)計(jì)測(cè)試用例的方法是( A )。
A. 等價(jià)類劃分法 B. 邊界值分析法 C. 邏輯覆蓋法 D.基本路徑法
20.如果要測(cè)試考試百分制成績(jī)的錄入,設(shè)計(jì)的測(cè)試用例為:0、0.5、65、99、100,則設(shè)計(jì)測(cè)試用例的方法是( B )。
A. 等價(jià)類劃分法 B. 邊界值分析法 C. 邏輯覆蓋法 D.基本路徑法
21.如果要測(cè)試X值的輸入,15<=X<=30,設(shè)計(jì)的測(cè)試用例為:14.99、15、15.01、20、29.98、30、30.0001,則設(shè)計(jì)測(cè)試用例的方法是( B )。
A. 等價(jià)類劃分法 B. 邊界值分析法 C. 邏輯覆蓋法 D.基本路徑法
22.如果要測(cè)試X值的輸入,15<=X<=30,設(shè)計(jì)的測(cè)試用例為:10、22、40,則設(shè)計(jì)測(cè)試用例的方法是( A )。
A. 等價(jià)類劃分法 B. 邊界值分析法 C. 邏輯覆蓋法 D.基本路徑法
23.以下UML圖形不屬于表述軟件靜態(tài)結(jié)構(gòu)的是( C )。
A. 類圖 B.用例圖 C.狀態(tài)圖 D.部署圖
24.以下UML圖形不屬于表述軟件動(dòng)態(tài)結(jié)構(gòu)的是( D )。
A. 順序圖 B.活動(dòng)圖 C.狀態(tài)圖 D.部署圖
三、簡(jiǎn)答題
1.簡(jiǎn)述軟件的生命周期。
2.簡(jiǎn)述軟件可行性分析的5個(gè)方面。
3.數(shù)據(jù)字典包括哪些?
4.簡(jiǎn)述啟發(fā)規(guī)則。
5.簡(jiǎn)述數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程
戳此鏈接
或者
6.簡(jiǎn)述軟件再工程過(guò)程。
7.簡(jiǎn)述軟件設(shè)計(jì)原理。
以上七道解答題可以戳此鏈接
或者
8.根據(jù)一學(xué)期的學(xué)習(xí),談?wù)勀銓?duì)軟件工程學(xué)科的認(rèn)識(shí)。
? 這一題每個(gè)人都有不同的理解,而對(duì)于我目前了解到的就是,關(guān)注我,答案自動(dòng)發(fā)送。
四、綜合應(yīng)用
1.數(shù)據(jù)庫(kù)設(shè)計(jì)
現(xiàn)需要開發(fā)家政服務(wù)掛歷系統(tǒng),系統(tǒng)主要功能是管理家政服務(wù)的員工,家政服務(wù)的類型,客戶信息的管理,從而更好管理家政服務(wù)的提供過(guò)程。經(jīng)過(guò)需求分析,現(xiàn)確定系統(tǒng)涉及的實(shí)體有員工、服務(wù)種類、客戶3個(gè)實(shí)體。
經(jīng)分析系統(tǒng)業(yè)務(wù)邏輯和要求為:員工可提供多種家政服務(wù),每次服務(wù)可多人參與,其他業(yè)務(wù)邏輯結(jié)合現(xiàn)實(shí)應(yīng)用分析。
根據(jù)以上敘述完成下列任務(wù):
(1)按照需求陳述,畫出總E-R圖。
(2)依據(jù)E-R圖,設(shè)計(jì)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),并說(shuō)明或標(biāo)注出表的主碼(必要時(shí)可采用關(guān)系的合并等處理方式,并給出處理說(shuō)明)。
解題方法戳此鏈接
2.閱讀以下偽代碼,完成以下問題。
Int X,Y,Z
If X>8 and Y>5 then
if X>16 or Y>10 then
? Z=3
endif
Else
If X>0 or Y>0 then
? Z=2
Else
? Z=1
endif
endif
閱讀以上偽代碼,完成下列問題:
(1)畫出程序流程圖。
(2)畫出N-S圖。
(3)畫出PAD圖。
(4)畫出控制流圖,并計(jì)算這段程序的復(fù)雜度(3種方法)。
(5)按照語(yǔ)句覆蓋標(biāo)準(zhǔn)、判定覆蓋和條件覆蓋為這段程序設(shè)計(jì)測(cè)試用例。
(6)用基本路徑法為這段程序設(shè)計(jì)測(cè)試用例。
(此題在背面或另附紙作答)
本題我用draw.io化成,在這兒就不解釋了,可以私聊我
3.閱讀以下C語(yǔ)言代碼,其功能為在屏幕上畫圓。
//畫圓函數(shù),圓心坐標(biāo)是(centerX, centerY),半徑是radius,圓的顏色是color
void draw_circular(unsigned int centerX, unsigned int centerY, unsigned int radius, unsigned int color)
{
? int x,y ;
? int tempX,tempY;;
int SquareOfR = radius*radius;
? for(y=0; y<XSIZE; y++)
? {
? for(x=0; x<YSIZE; x++)
? {
? if(y<=centerY && x<=centerX)
? {
? tempY=centerY-y;
? tempX=centerX-x;
? }
? else if(y<=centerY&& x>=centerX)
? {
? tempY=centerY-y;
? tempX=x-centerX;
? }
? else if(y>=centerY&& x<=centerX)
? {
? tempY=y-centerY;
? tempX=centerX-x;
? }
? else
? {
? tempY = y-centerY;
? tempX = x-centerX;
? }
? if ((tempYtempY+tempXtempX)<=SquareOfR)
? lcd_draw_pixel(x, y, color);
? }for2
? }for1
}
(1)畫出程序流程圖。
(2)畫出N-S圖。(先將for循環(huán)轉(zhuǎn)化為do while循環(huán))
(3)畫出PAD圖。(先將for循環(huán)轉(zhuǎn)化為do while循環(huán))
(4)畫出控制流圖,并計(jì)算這段程序的復(fù)雜度(3種方法)。
(此題在背面或另附紙作答)
else? {
? tempY = y-centerY;
? tempX = x-centerX;
? }
? if ((tempYtempY+tempXtempX)<=SquareOfR)
? lcd_draw_pixel(x, y, color);
? }for2
? }for1
}
(1)畫出程序流程圖。
(2)畫出N-S圖。(先將for循環(huán)轉(zhuǎn)化為do while循環(huán))
(3)畫出PAD圖。(先將for循環(huán)轉(zhuǎn)化為do while循環(huán))
(4)畫出控制流圖,并計(jì)算這段程序的復(fù)雜度(3種方法)。
(此題在背面或另附紙作答)
總結(jié)
- 上一篇: 数据库设计之从0到1 教你如何设计E-R
- 下一篇: 计算机组成原理考试复习