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