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