《《軟件工程基礎(chǔ)》習(xí)題集[共12頁]》由會員分享,可在線閱讀,更多相關(guān)《《軟件工程基礎(chǔ)》習(xí)題集[共12頁](12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
《軟件工程基礎(chǔ)》習(xí)題集
第一章 概 述
1.什么是軟件危機(jī),它有哪些典型表現(xiàn)?
2.簡述產(chǎn)生軟件危機(jī)的原因和解決的思路。
3.什么是軟件工程?它有哪些本質(zhì)特性?
4.軟件工程是如何用來消除軟件危機(jī)的?
5.假設(shè)你是某軟件開發(fā)企業(yè)的CEO,當(dāng)你把教材P.4的圖1.1給手下的軟件工程師們看,同時告訴他們應(yīng)及早發(fā)現(xiàn)并改正錯誤的重要性時,有人不以為然,認(rèn)為要求在錯誤進(jìn)入軟件前就發(fā)現(xiàn)并清除它們是不現(xiàn)實的,并舉例說:“如果一個故障是編碼錯誤造成的,那么又如何能夠在設(shè)計階段就發(fā)現(xiàn)并清除呢?”那你應(yīng)該如何說服?
6.簡述軟件的定義。
7.軟件工程的目的是什么?
8.什么是軟件工程方法
2、學(xué)?軟件工程是一種什么樣的技術(shù)?包括哪三大要素?分為哪三個分支?
9.簡述軟件工程的基本原理。
10.軟件工程的基本開發(fā)原則有哪些?
11.構(gòu)成軟件工程的基本元素有哪些?
12.什么是軟件過程?它與軟件工程方法學(xué)有何關(guān)系?
13.什么是軟件生命周期?什么是軟件生命周期模型?
14.簡述軟件生命周期方法學(xué)的途徑,以及劃分階段步驟的目的和實質(zhì)。
15.試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點,說明它們各自的適用范圍。
第二章 可行性研究
1.在軟件開發(fā)的早期階段,為什么要進(jìn)行可行性研究?其目的和任務(wù)各是什么?
2.應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?
3
3、.可行性研究有哪些工作步驟?
4.簡述系統(tǒng)流程圖在可行性研究中的作用。
5.簡述數(shù)據(jù)流圖在可行性研究中的作用和用途。
6.簡單描述數(shù)據(jù)字典但內(nèi)容和定義數(shù)據(jù)的方法。
7.說明軟件計劃的內(nèi)容和目標(biāo)。
8.什么是軟件范圍?定義軟件范圍需要哪些信息?
9.簡述軟件開發(fā)環(huán)境資源的三個層次。
10.軟件環(huán)境資源的特征有哪些?它們對制定軟件計劃都有哪些意義?
11.軟件計劃中,安排軟件開發(fā)進(jìn)度主要可以用哪些工具?都有哪些優(yōu)缺點?
12.主要的成本估計技術(shù)有哪些?其依據(jù)的主要是什么?
13.為什么說成本估計是不可能精準(zhǔn)的?
14.進(jìn)行成本/效益分析的方法主要有哪些?
15.軟件計劃的主
4、要內(nèi)容有哪些?
16.如何對制定完成的軟件計劃進(jìn)行復(fù)審?為什么要復(fù)審?
17.為方便儲戶,某銀行擬開發(fā)計算機(jī)儲蓄系統(tǒng)。儲戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng)。如果是存款,系統(tǒng)記錄存款人的姓名、地址、存款類型、存款日期、存款數(shù)量和利率等信息,并印出存款單給儲戶;如果是取款,系統(tǒng)計算利息并印出利息清單給儲戶。
請寫出問題定義并分析此系統(tǒng)的可行性。
第三章 需求分析
1.為什么要進(jìn)行需求分析?通常對軟件系統(tǒng)有哪些需求?
2.怎樣與用戶有效地溝通,以獲得用戶的真實需求?
3.需求分析的任務(wù)是什么?
4.通常系統(tǒng)的需求可以分為哪幾個層次?
5.進(jìn)行需求分析的步驟有哪些?
6.
5、簡述建立原型模型對軟件需求分析的作用。
7.解釋實體-聯(lián)系圖及其用途。
8.說明為什么需要進(jìn)行需求驗證及驗證的步驟有哪些?
9.銀行計算機(jī)儲蓄系統(tǒng)的工作過程大致如下:儲戶填寫的存款單或取款單由業(yè)務(wù)人員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統(tǒng)首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統(tǒng)計算利息并印出利息清單給儲戶。
請用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對象。
第四章 總體設(shè)計
1.為每種類型的模塊耦合舉一個
6、具體的例子。
2.為每種類型的模塊內(nèi)聚舉一個具體的例子。
3.簡單說明系統(tǒng)總體設(shè)計的步驟步驟。
4.舉例說明模塊化原理的經(jīng)驗1和經(jīng)驗2。
5.為什么要盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,完全不用內(nèi)容耦合?
6.為什么模塊的規(guī)模要適中?
7.請說明為什么模塊控制的寬度和深度要適度。
8.簡述面向數(shù)據(jù)流設(shè)計方法的基本思想。
9.常用數(shù)據(jù)流類型有哪些?
10.面向數(shù)據(jù)流的設(shè)計方法主要有哪幾個步驟?
11.用面向數(shù)據(jù)流的方法設(shè)計第二章習(xí)題17系統(tǒng)的軟件結(jié)構(gòu)。
第五章 詳細(xì)設(shè)計
1.詳細(xì)設(shè)計的任務(wù)是什么?
2.在對系統(tǒng)做詳細(xì)設(shè)計時,應(yīng)遵循哪些原則?
3.簡述
7、結(jié)構(gòu)化設(shè)計的特點。
4.結(jié)構(gòu)化程序設(shè)計中有哪幾種基本控制結(jié)構(gòu)?分別描繪在程序流程圖、盒圖和PDA圖中這些基本控制的圖例。
5.假設(shè)只有SEQUENCE和DO_WHILE兩種控制結(jié)構(gòu),請問應(yīng)該如何完成IF_THEN_ELSE操作?
6.假設(shè)只有SEQUENCE和IF_THEN_ELSE兩種控制結(jié)構(gòu),請問應(yīng)該如何完成DO_WHILE操作?
7.試說明ISO為什么要建議停止使用程序流程圖,而推薦使用PDA圖?
8.請畫出下列偽碼程序的程序流程圖、盒圖和PDA圖。
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END
8、 BLOCK
END IF
STOP
9.試說明Jackson方法是一種怎么樣的程序設(shè)計方法。它有哪些工作步驟?
10.請將教材P.124圖6.13統(tǒng)計空格程序的Jackson圖改畫成為等價的盒圖和PDA圖。
11.人機(jī)對話由操作員信息和系統(tǒng)信息交替組成。假設(shè)一段對話總是由操作員信息開始,以系統(tǒng)信息結(jié)束,請用Jackson圖描繪這樣的一段人機(jī)對話過程。
第六章 實現(xiàn)
1.說明什么是程序編碼?為什么程序設(shè)計語言的特點和編碼風(fēng)格會影響到程序的可靠性、可讀性、可測試性和可維護(hù)性?
2.用戶界面設(shè)計的最一般原則,即所謂“黃金規(guī)則”是什么?
3.軟件界面設(shè)計包含了哪幾個方面的基本內(nèi)容
9、?
4.用戶界面提供系統(tǒng)服務(wù)的方式通常有哪兩種?
5.WIMP界面是屏幕菜單驅(qū)動用戶界面的一種形式,其設(shè)計準(zhǔn)則有哪些?
6.為什么說軟件界面設(shè)計的質(zhì)量會直接影響到用戶對軟件產(chǎn)品的評價?
7.什么是系統(tǒng)響應(yīng)時間?系統(tǒng)響應(yīng)時間有哪些重要屬性?
8.在設(shè)計軟件系統(tǒng)的用戶幫助設(shè)施時,需要注意解決哪些問題?
9.軟件出錯處理設(shè)計,即軟件安全性設(shè)計。一個交互式出錯處理程序應(yīng)該具備哪些功能和屬性?
10.測試的最基本目標(biāo)是什么?
11.軟件測試的原則有哪些?
12.軟件測試的方法有哪幾種?
13.簡單說明什么是白盒測試,什么是黑盒測試。
14.簡述軟件測試的步驟。
15.舉例說明通常
10、情況下窮盡測試是不可能的。
16.為什么單元測試必須由編程者自己完成?
17.單元測試的主要手段有哪些?
18.單元測試主要從哪5個方面進(jìn)行?
19.為什么人工代碼審查十分重要?
20.集成測試主要有漸增式測試、非漸增式測試兩種,試述兩種方式的異同點。
21.描述集成測試的兩種策略,并比較它們的優(yōu)缺點。
22.什么是回歸測試?回歸測試的測試用例集如何確定?
23.什么是確認(rèn)測試?確認(rèn)測試的任務(wù)是什么?如何確認(rèn)其范圍?
24.設(shè)計測試方案的任務(wù)有哪些?
25.什么是邏輯覆蓋測試法?它主要用于什么測試?
26.什么是等價劃分法?它主要用于什么測試?
27.什么是邊值分析法?
11、它主要用于什么測試?
28.什么是錯誤推測法?它主要用于什么測試?
29.一個軟件的測試策略應(yīng)該是怎樣的?
30.什么是調(diào)試?調(diào)試和測試有什么不同?
31.簡單說明調(diào)試的方法和策略。
32.什么是軟件的可靠性、可用性和正確性?
第七章 維護(hù)
1.什么是軟件維護(hù)?
2.軟件維護(hù)有哪幾種類型?
3.為什么說軟件文檔維護(hù)和代碼維護(hù)同樣重要?
4.為什么說維護(hù)的代價很高?應(yīng)該怎樣做才能降低維護(hù)的代價?
5.導(dǎo)致維護(hù)成本高企的原因主要有哪些?
6.什么是軟件的可維護(hù)性?
7.如何提高軟件的可維護(hù)性?
8.維護(hù)報告的主要內(nèi)容有哪些?
9.為什么說文檔是影響軟件可維護(hù)性的決定
12、因素?
10.什么是軟件的系統(tǒng)文檔?
11.什么是軟件的用戶文檔?
12.什么是可重用性?如何通過提高軟件的可重用性來提高軟件的可維護(hù)性?
13.為什么要進(jìn)行軟件可維護(hù)性復(fù)審?
14.什么是軟件的逆向工程和再工程?
15.逆向工程與再工程與軟件的預(yù)防性維護(hù)有什么樣的關(guān)系?
16.假設(shè)你的任務(wù)是對一個已有軟件進(jìn)行重大修改,而且只允許你從以下文檔中選取兩份:(a)程序的規(guī)格說明;(b)程序的詳細(xì)設(shè)計結(jié)果(自然語言描述加上某種設(shè)計工具表示);(b)源程序清單(其中有適當(dāng)數(shù)量的注解)。
你將選取哪兩份文檔?為什么這樣選?。磕愦蛩闳绾瓮瓿蛇@個任務(wù)?
17.分析預(yù)測在第二章習(xí)題17的儲蓄
13、系統(tǒng)交付使用后,用戶可能提出哪些改進(jìn)或擴(kuò)充功能的要求。如果由你來開發(fā)該系統(tǒng),你在設(shè)計時會采取哪些措施,以方便交付后的修改?
第八章 面向?qū)ο蠓椒▽W(xué)引論
1.為什么要引入面向?qū)ο蠓椒▽W(xué)?
2.面向?qū)ο蠓椒▽W(xué)有哪4個基本要素?
3.面向?qū)ο蠓椒▽W(xué)的優(yōu)點主要有哪些?
4.什么是“對象”?它與傳統(tǒng)數(shù)據(jù)有何不同?
5.什么是“類”?
6.什么是“繼承”?
7.什么是模型?軟件開發(fā)為什么要建立模型?
8.什么是對象模型?建立對象模型時主要使用哪些圖形符號?這些符號的含義是什么?
9.什么是動態(tài)模型?建立動態(tài)模型時主要使用哪些圖形符號?這些符號的含義是什么?
10.什么是功能模型?建
14、立功能模型時主要使用哪些圖形符號?
11.試用面向?qū)ο蟮挠^點分析、研究第二章習(xí)題17的儲蓄系統(tǒng)的例子。在這個例子中,有哪些類?試建立它的對象模型。
第九章 面向?qū)ο蠓治?
1.進(jìn)行面向?qū)ο蠓治龅幕具^程是怎么樣的?
2.建立對象模型有哪幾個步驟?
3.復(fù)雜問題的對象模型有哪5個層次?
4.建立動態(tài)模型的步驟有哪些?
5.如何建立功能模型?
6.用面向?qū)ο蠓椒ǚ治龅诙铝?xí)題17中描述的儲蓄系統(tǒng),試建立它的對象模型、動態(tài)模型和功能模型。
第十章 面向?qū)ο笤O(shè)計
1.面向?qū)ο笤O(shè)計應(yīng)該遵循哪些準(zhǔn)則?簡述每條準(zhǔn)則的內(nèi)容,并說明遵循該條準(zhǔn)則的必要性。
2.簡述有助于提高面向?qū)ο笤O(shè)計質(zhì)
15、量的每條主要啟發(fā)式規(guī)則的內(nèi)容和必要性。
3.為什么說類構(gòu)件是目前較為理想的可重用軟構(gòu)件?它有哪些重用方式?
4.什么是繼承耦合?
5.如何計算軟件重用帶來的凈成本節(jié)省?
6.試用面向?qū)ο蟮姆椒ㄔO(shè)計第二章習(xí)題17中描述的儲蓄系統(tǒng)。
第十一章 面向?qū)ο髮崿F(xiàn)
1. 面向?qū)ο髮崿F(xiàn)應(yīng)該選用哪種程序設(shè)計語言?為什么?
2. 面向?qū)ο蟪绦蛟O(shè)計語言主要有哪些技術(shù)特點?
3. 選擇面向?qū)ο蟪绦蛟O(shè)計語言時主要應(yīng)該考慮哪些因素?
4. 良好的面向?qū)ο蟪绦蛟O(shè)計風(fēng)格主要有哪些準(zhǔn)則?
5. 測試面向?qū)ο筌浖r,單元測試、集成測試和確認(rèn)測試各有哪些新特點?
6. 測試面向?qū)ο筌浖r,主要有哪些設(shè)計單
16、元測試用例的方法?
7. 測試面向?qū)ο筌浖r,主要有哪些設(shè)計集成測試用例的方法?
8. 測試面向?qū)ο筌浖r,主要有哪些設(shè)計確認(rèn)測試用例的方法?
第十二章 項目管理
1. 請簡單描述有哪些進(jìn)行軟件規(guī)模估算的方法。
2. 在工作量估算技術(shù)中,動態(tài)多變量模型比靜態(tài)單變量模型有哪些優(yōu)點?
3. 簡述Gantt圖的用途和優(yōu)缺點。
4. 簡述關(guān)鍵路徑法CPM工作步驟
5. 目前項目開發(fā)時常用的小組組織方法有哪些?
6. 簡述主程序員組的優(yōu)缺點。
7. 什么是軟件質(zhì)量?
8. 軟件質(zhì)量保證的措施主要有哪些?
9. 參加軟件質(zhì)量保證活動的人員有哪兩類?
10. 簡述技術(shù)復(fù)審的必要性。
11. 什么是軟件能力成熟度模型?其基本思想是什么?
12. 簡述軟件能力成熟度模型的5個等級。