- 相關(guān)推薦
軟件工程期末試卷及答案
在各領(lǐng)域中,我們都經(jīng)?吹皆嚲淼纳碛,成績的提高,最關(guān)鍵的是什么的呢,重要的是多做題目,多寫試卷,總結(jié)知識點(diǎn),還在為找參考試卷而苦惱嗎?以下是小編精心整理的軟件工程期末試卷及答案,供大家參考借鑒,希望可以幫助到有需要的朋友。
軟件工程期末試卷及答案 1
一、選擇題:(每題1分,共20分)
。 C )
1. 軟件是( )。
A. 處理對象和處理規(guī)則的描述 B. 程序
C. 程序及其文檔 D. 計(jì)算機(jī)系統(tǒng)
。 B )
2. 軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括( )。
A. 主要功能 B. 算法的詳細(xì)描述
C. 用戶界面及運(yùn)行環(huán)境 D. 軟件的性能
。 B )
3. 程序的三種基本控制結(jié)構(gòu)是( )。
A. 過程、子程序和分程序 B. 順序、選擇和重復(fù)
C. 遞歸、迭代和回溯 D. 調(diào)用、返回和轉(zhuǎn)移
( D )
4. 面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P,? )。
A. 系統(tǒng)模型、ER模型、應(yīng)用模型 B. 對象模型、動態(tài)模型、應(yīng)用模型 C. E-R模型、對象模型、功能模型 D. 對象模型、動態(tài)模型、功能模型
( C )
5. 在E-R模型中,包含以下基本成分( )。
A. 數(shù)據(jù)、對象、實(shí)體 B.控制、聯(lián)系、對象 C. 實(shí)體、聯(lián)系、屬性 D. 實(shí)體、屬性、操作
( A )
6. 各種軟件維護(hù)的類型中最重要的是( )。
A. 完善性維護(hù) B. 糾錯(cuò)性維護(hù) C. 適應(yīng)性維護(hù) D. 預(yù)防性維護(hù)
( B )
7.軟件測試的目標(biāo)是( )。
A. 證明軟件是正確的 B. 發(fā)現(xiàn)錯(cuò)誤、降低錯(cuò)誤帶來的風(fēng)險(xiǎn)
C. 排除軟件中所有的錯(cuò)誤 D. 與軟件調(diào)試相同
。 D )
8.軟件生命周期中所花費(fèi)用最多的階段是( )
A.詳細(xì)設(shè)計(jì) B.軟件編碼 C.軟件測試 D.軟件維護(hù)
。 C )
9.若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是[-1.0, 1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001, -1.0, 1.0, 1.001.設(shè)計(jì)這組測試用例的方法是( )
A.條件覆蓋法 B.等價(jià)分類法 C.邊界值分析法 D.錯(cuò)誤推測法
( D )
10.詳細(xì)設(shè)計(jì)的基本任務(wù)是確定每個(gè)模塊的( )設(shè)計(jì)
A.功能 B.調(diào)用關(guān)系 C.輸入輸出數(shù)據(jù) D.算法
。 A )
11.設(shè)函數(shù)C(X)定義問題X的復(fù)雜程序,函數(shù)E(X)確定解決問題X需要的工作量(時(shí)間)。對于兩個(gè)問題P1和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得出結(jié)論E(P1+P2)>E(P1)+E(P2)就是:( )
A.模塊化的根據(jù) B.逐步求精的根據(jù) C.抽象的根據(jù) D.信息隱藏和局部化的根據(jù)
。 D )
12.下面幾種白箱測試技術(shù),哪種是最強(qiáng)的覆蓋準(zhǔn)則 ( )
A.語句覆蓋 B.條件覆蓋 C.判定覆蓋 D.條件組合覆蓋
。 A )
13.面向數(shù)據(jù)流的設(shè)計(jì)方法把( )映射成軟件結(jié)構(gòu)。
A.?dāng)?shù)據(jù)流 B.系統(tǒng)結(jié)構(gòu) C.控制結(jié)構(gòu) D.信息流
。 A )
14.內(nèi)_______聚程度最低的是( )內(nèi)聚
A.偶然 B.過程 C.順序 D.時(shí)間
( A )
15.確定測試計(jì)劃是在( )階段制定的.
A.總體設(shè)計(jì) B.詳細(xì)設(shè)計(jì) C.編碼 D.測試
。 D )
16.需求分析的產(chǎn)品是( )
A.?dāng)?shù)據(jù)流程圖案 B.?dāng)?shù)據(jù)字典 C.判定表 D.需求規(guī)格說明書
( C )
17.?dāng)?shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()
A.?dāng)?shù)據(jù)庫設(shè)計(jì) B.?dāng)?shù)據(jù)通信 C.?dāng)?shù)據(jù)定義 D.?dāng)?shù)據(jù)維護(hù)
( D )
18.( )引入了“風(fēng)險(xiǎn)驅(qū)動”的思想,適用于大規(guī)模的內(nèi)部開發(fā)項(xiàng)目。
A.增量模型 B.噴泉模型 C.原型模型 D.螺旋模型
( D )
19.模塊的內(nèi)聚性最高的是( )
A.邏輯內(nèi)聚 B.時(shí)間內(nèi)聚 C.偶然內(nèi)聚 D.功能內(nèi)聚
( D )
20.提高測試的有效性非常重要,成功的測試是指( )
A.證明了被測試程序正確無誤 B. 說明了被測試程序符合相應(yīng)的要求
C.未發(fā)現(xiàn)被測程序的錯(cuò)誤 D.發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤
二、判斷題(每題1分,共10分)將答案寫在題號前的( )中,正確用√, 錯(cuò)誤用χ。
。 × )1、開發(fā)軟件就是編寫程序。
。 × )2、系統(tǒng)測試的主要方法是白盒法,主要進(jìn)行功能測試、性能測試、安全性測試及可靠性等 測試。
。 × )3、編程序時(shí)應(yīng)盡可能利用硬件特點(diǎn)以提高程序效率.
( × )4、軟件需求分析的任務(wù)是建立軟件模塊結(jié)構(gòu)圖。
。 √ )5、盡可能使用高級語言編寫程序
。 × )6、以結(jié)構(gòu)化分析方法建立的系統(tǒng)模型就是數(shù)據(jù)流圖。
。 × )7、進(jìn)行總體設(shè)計(jì)時(shí)加強(qiáng)模塊間的聯(lián)系。
。 × )8、編碼時(shí)盡量多用全局變量.
( √ )9、用CASE環(huán)境或程序自動生成工具來自動生成一部分程序.
。 × )10、軟件測試是要發(fā)現(xiàn)軟件中的所有錯(cuò)誤。
三、填空題(每題1分,共5分):將結(jié)果填在( )
1、將下面的關(guān)系按繼承關(guān)系、聚集關(guān)系或普通關(guān)聯(lián)進(jìn)行分類。
小汽車---------紅旗轎車 ( 繼承 )
小汽車---------駕駛員 ( 普通關(guān)聯(lián) )
班級------------學(xué)生 ( 聚集 )
2、將下列各項(xiàng)分為類或類的實(shí)例
我的汽車 ( 實(shí)例 )
交通工具 ( 類 )
三、簡答題:(每題5分,共25分)
1. 軟件生命期各階段的任務(wù)是什么? 答:軟件生命期分為7個(gè)階段: 1、問題定義:要解決的問題是什么
2、可行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性
3、需求分析:系統(tǒng)必須做什么
4、總體設(shè)計(jì):系統(tǒng)如何實(shí)現(xiàn),包括系統(tǒng)設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)
5、詳細(xì)設(shè)計(jì):具體實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng)
6、實(shí)現(xiàn):編碼和測試
7、運(yùn)行維護(hù):保證軟件正常運(yùn)行。
2、軟件重用的效益是什么? 答:1、軟件重用可以顯著地改善軟件的質(zhì)量和可靠性。
2、軟件重用可以極大地提高軟件開發(fā)的效率。
3、節(jié)省軟件開發(fā)的成本,避免不必要的重復(fù)勞動和人力、財(cái)力的浪費(fèi)。
3、 自頂而下漸增測試與自底而上漸增測試各有何優(yōu)、缺點(diǎn)? 答: ① 自頂而下漸增測試
優(yōu)點(diǎn):不需要測試驅(qū)動程序,能夠在測試階段的早期實(shí)現(xiàn)并驗(yàn)證系統(tǒng)的主要功能,而且能夠盡早發(fā)現(xiàn)上層模塊的接口錯(cuò)誤。
缺點(diǎn):需要存根程序,底層錯(cuò)誤發(fā)現(xiàn)較
晚。
、 自底而上漸增測試
優(yōu)點(diǎn)與缺點(diǎn)和自頂而下漸增測試相反。
4 、 提高可維護(hù)性的方法有哪些? 答:在軟件工程的每一階段都應(yīng)該努力提高系統(tǒng)的可維護(hù)性,在每個(gè)階段結(jié)束前的審查和復(fù)審中,應(yīng)著重對可維護(hù)性進(jìn)行復(fù)審。 在需求分析階段的復(fù)審中,應(yīng)對將來要擴(kuò)充和修改的部分加以注明。在討論軟件可移植性問題時(shí),要考慮可能要影響軟件維護(hù)的系統(tǒng)界面。 在軟件設(shè)計(jì)的復(fù)審中,因從便于修改、模塊化和功能獨(dú)立的目標(biāo)出發(fā),評價(jià)軟件的結(jié)構(gòu)和過程,還應(yīng)對將來可能修改的部分預(yù)先做準(zhǔn)備。 在軟件代碼復(fù)審中,應(yīng)強(qiáng)調(diào)編碼風(fēng)格和內(nèi)部說明這兩個(gè)影響可維護(hù)性的因素。 在軟件系統(tǒng)交付使用前的每一測試步驟中都應(yīng)給出需要進(jìn)行預(yù)防性維護(hù)部分的提示。 在完成每項(xiàng)維護(hù)工作后,都應(yīng)對軟件維護(hù)本身進(jìn)行仔細(xì)認(rèn)真的復(fù)審。 為了從根本上提高軟件系統(tǒng)的可維護(hù)性,人們正試圖通過直接維護(hù)軟件規(guī)格說明來維護(hù)軟件 ,同時(shí)也在大力發(fā)展軟件重用技術(shù)。
簡述軟件測試要經(jīng)過哪幾個(gè)步驟,每個(gè)步驟與什么文檔有關(guān)。
【解答】
測試過程按 4 個(gè)步驟進(jìn)行,即單元測試(模塊測試)、集成測試(子系統(tǒng)測試和系統(tǒng)測試)、確認(rèn)測試(驗(yàn)收測試)和平行運(yùn)行。
單元測試集中對用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測試,與其相關(guān)的文檔是單元測試計(jì)劃和詳細(xì)設(shè)計(jì)說明書。
集成測試把已測試過的模塊組裝起來,主要對與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。與其相關(guān)的文檔是集成測試計(jì)劃和軟件需求說明書。
確認(rèn)測試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。與其相關(guān)的文檔是確認(rèn)測試計(jì)劃和軟件需求說明書。
平行運(yùn)行把已經(jīng)經(jīng)過確認(rèn)的軟件納入實(shí)際運(yùn)行環(huán)境中,與其他系統(tǒng)成份組合在一起進(jìn)行測試。與其相關(guān)的文檔:用戶指南、使用手冊等。
四、應(yīng)用題(每題8分,共40分)
1、 假設(shè)一家工廠的采購部每天需要一張定貨報(bào)表,報(bào)表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個(gè)需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時(shí)就應(yīng)該再次定貨。要求:畫出系統(tǒng)的數(shù)據(jù)流圖。
答:
2、 將下面給出的偽碼轉(zhuǎn)換為N-S圖和PAD圖。
void root ( float root1, float root2 ) {
i = 1; j = 0;
while ( i
輸入一元二次方程的系數(shù)a, b, c;
p = b*b – 4*a*c;
if ( p
else if ( p
> 0 ) 求出根并輸出;
if ( p == 0 ) {
求出重根并輸出;
j = j + 1;
}
i = i +1;
}
輸出重根的方程的個(gè)數(shù)j;
}
【解答】
。1)N-S圖
。2)PAD圖
i = 1; j = 0;
while ( i
輸入a, b, c; 計(jì)算 p = b2 - 4ac;
p
輸出“方程i”無實(shí)根
求出根并輸出
?
p > 0 ?
p == 0 ?
求出重根并輸出; j = j + 1;
?
i = i + 1;
輸出重根的.方程個(gè)數(shù)i
T
T
T
F
F
F
i = 1; j = 0;
輸出重根的方程個(gè)數(shù)i
while ( i
輸入a,b,c; 計(jì)算 p = b2–4ac;
求出根并輸出
p > 0 ?
p
輸出方程i無實(shí)根
p = 0 ?
求出重根并輸出; j = j+1;
i = i + 1;
3、:輸入三整數(shù),判斷是否構(gòu)成三角形,如構(gòu)成三角形,則輸出三條邊的值,否則輸出”不能構(gòu)成三角形”.
要求:1.用程序流程圖表示該問題的算法;2.計(jì)算程序復(fù)雜度; 3.設(shè)計(jì)路徑覆蓋的測試用例。
答:
路徑:
1.①—②—③—④—⑥—⑦
2.①—②—⑤—⑥—⑦
3.①—⑤—⑥—⑦
4.①—②—③—⑤—⑥—⑦
程序復(fù)雜度=3+1=4
測試用例
路徑 測試用例(A,B,C) 結(jié)果
1 A=3,B=4,C=5 A=3,B=4,C=5
2 A=5,B=8,C=2 不能構(gòu)成三角形
3 A=2,B=2,C=5 不能構(gòu)成三角形
4 A=5,B=2,C=2 不能構(gòu)成三角形
4、某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過30kg 的行李。當(dāng)行李重量超過30kg 時(shí),對頭等艙的
國內(nèi)乘客超重部分每公斤收費(fèi)4 元,對其他艙的國內(nèi)乘客超重部分每公斤收費(fèi)6 元,對外國乘客超重部分
每公斤收費(fèi)比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。用判定樹表示與上述
每種條件組合相對應(yīng)的計(jì)算行李費(fèi)的算法.
①
、
①
、
、
⑤
、
、
、
、
Ⅱ
、
、 Ⅳ
ⅰ
開始
輸入A,B,C
A+B>C
A+C>B
B+C>A
輸出ABC 不能構(gòu)成三角形
結(jié)束
F
F
F
T
T
T
①
、
、
、 ⑤
⑦
答案:
5、一個(gè)軟件公司有許多部門,分為開發(fā)部門和管理部門兩種,每個(gè)開發(fā)部門開發(fā)多個(gè)軟件產(chǎn)品,每個(gè)部門由部門名字唯一確定。該公司有許多員工,員工分為經(jīng)理,工作人員和開發(fā)人員。
開發(fā)部門有經(jīng)理和開發(fā)人員,管理部門有經(jīng)理和工作人員。每個(gè)開發(fā)人員可參加多個(gè)開發(fā)項(xiàng)目,每個(gè)開發(fā)項(xiàng)目需要多個(gè)開發(fā)人員,每位經(jīng)理可主持多個(gè)開發(fā)項(xiàng)目,建立該公司的對象模型。
答案:
軟件工程試題及答案
第一部分 選擇題
一、單項(xiàng)選擇題 每小題1分,共20分。(在每小題的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請將正確選項(xiàng)前的字母填在題后的括號內(nèi))
1.在下列工具與環(huán)境中( c )屬于較早期的CASE。
A.基于信息工程CASE B.人工智能CASE
C.結(jié)構(gòu)的基于圖形CASE D.集成的CASE環(huán)境
2.Putnam成本估算模型是一個(gè)( d )模型。
A.靜態(tài)單變量 B.動態(tài)單變量 C.靜態(tài)多變量 D.動
態(tài)多變量
3.在McCall軟件質(zhì)http://www.oriental01.com量度量模型中,( c)屬于面向軟件產(chǎn)品修改。
A.可靠性 B.可重用性 C.適應(yīng)性 D.可移植性
4.ISO的軟件質(zhì)量評價(jià)模型由3層組成,其中用于評價(jià)設(shè)計(jì)質(zhì)量的準(zhǔn)則是(d )
A.SQIC B.SQMC C.SQRC D.SQDC
5.軟件復(fù)雜性度量的參數(shù)包括( b )
A.效率 B.規(guī)模 C.完整性 D.容錯(cuò)性
6.對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作( c )于對象的統(tǒng)一體中。
A.結(jié)合 B.隱藏 C.封裝 D.抽象
7.軟件調(diào)試技術(shù)包括( b )
A.邊界值分析 B.演繹法 C.循環(huán)覆蓋 D.集成測試
8.瀑布模型的存在問題是( b )
A.用戶容易參與開發(fā) B.缺乏靈活性 C.用戶與開發(fā)者易溝通 D.適用可變需求
9.軟件測試方法中的靜態(tài)測試方法之一為( a )
A.計(jì)算機(jī)輔助靜態(tài)分析 B.黑盒法 C.路徑覆蓋 D.邊界值分析
10.軟件生命周期中所花費(fèi)用最多的階段是( d )
A.詳細(xì)設(shè)計(jì) B.軟件編碼 C.軟件測試 D.軟件維護(hù)
11.第一個(gè)體現(xiàn)結(jié)構(gòu)化編程思想的程序設(shè)計(jì)語言是( b )
A.FORTRAN語言 B.Pascal語言 C.C語言 D.PL/1語言
12.程序的三種基本控制結(jié)構(gòu)是( b )
軟件公司
部門名
部門
開發(fā)部門
管理部門
軟件產(chǎn)品
開發(fā)人員
經(jīng)理
開發(fā)項(xiàng)目
工作人員
員工
是
是
有
有
有
有
開發(fā)
參加
1+
1+
1+
1+
1+
1+
1+
▼
▼
▼
▼
▼
有
A.過程、子程序和分程序 B.順序、選擇和重復(fù) C.遞歸、堆棧和隊(duì)列 D.調(diào)用、返回和轉(zhuǎn)移
13.在詳細(xì)設(shè)計(jì)階段,經(jīng)常采用的工具有( a )
A.PAD B.SA C.SC D.DFD
14.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的( c )
A.代碼的規(guī)模 B.運(yùn)行速度 C.質(zhì)量 D.可維護(hù)性
15.需求分析中開發(fā)人員要從用戶那里了解( a )
A.軟件做什么 B.用戶使用界面 C.輸入的信息 D.軟件的規(guī)模
16.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是( d )
A. 程序的規(guī)模 B. 程序的效率C. 程序設(shè)計(jì)語言的先進(jìn)性 D. 程序易讀性
17.IDEF。圖反映系統(tǒng)( d )
A.怎么做 B.對誰做 C.何時(shí)做 D.做什么
18.經(jīng)濟(jì)可行性研究的范圍包括( c )
A.資源有效性 B.管理制度 C.效益分析 D.開發(fā)風(fēng)險(xiǎn)
19.可行性分析是在系統(tǒng)開發(fā)的早期所做的一項(xiàng)重要的論證工作,它是決定該系統(tǒng)是否開 發(fā)的決策依據(jù),因必須給出( b )的回答。
A.確定 B.行或不行 C.正確 D.無二義
20.需求分析階段的任務(wù)是確定( d )
A. 軟件開發(fā)方法B. 軟件開發(fā)工具C. 軟件開發(fā)費(fèi) D. 軟件系統(tǒng)的功能
二、填空題(每空2分,共20分)。
21.在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進(jìn)行大量的修改, 軟件配置管理 能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。
22.規(guī)定功能
的軟件,在一定程度上對自身錯(cuò)誤的作用(軟件錯(cuò)誤)具有屏蔽能力,則稱此軟件具有 容錯(cuò)功能的軟件。
23.McCall提出的軟件質(zhì)量模型包括11 個(gè)軟件質(zhì)量特性。
24.軟件可維護(hù)性度量的七個(gè)質(zhì)量特性是可理解性、可測試性、可修改性、可靠性、可移植性、 可使用性和效率。
25.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。
26.程序設(shè)計(jì)語言的心理特性主要表現(xiàn)在 歧義性 、簡潔性、傳統(tǒng)性、局部性和順序性。
27.軟件結(jié)構(gòu)是以 模塊 為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
28.在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、
判定樹 。
29.結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。
30.若年利率為i,不計(jì)復(fù)利,n年后可得錢數(shù)為F,則現(xiàn)在的價(jià)值P=F/(1+(n*i)。
三、名詞解釋題 每小題3分,共15分。
31.軟件生存周期模型
描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型
32.?dāng)?shù)據(jù)字典(DD)
數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的。它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。
33.內(nèi)聚性
內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量
34.JSP方法
JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,其定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,它根據(jù)輸入,輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu)。
35.多態(tài)性
指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。或(不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果。)
四、簡答題 每小題5分,共20分。
36.簡述容錯(cuò)技術(shù)的四種主要手段,并解釋。
結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。
信息冗余:為檢測或糾正信息在運(yùn)算或傳輸中的錯(cuò)誤,須外加一部分信息。
時(shí)間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時(shí)錯(cuò)誤帶來的影響。
冗余附加技術(shù):指為實(shí)現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。
37.以G.J.Myers的觀點(diǎn),簡述對軟件測試的目的。
軟件測試是(1)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;(2)一個(gè)好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試。(3)一個(gè)成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試。
38.就程序設(shè)計(jì)語言的工程特性而言,對程序編碼有哪些要求?
就程序設(shè)計(jì)語言的工程特性而言,對程序編碼有如下要求:
。1)可移植性 (2)開發(fā)工具的可利用性 (3)軟件的可重用性 (4)可維護(hù)性
39.
模塊的內(nèi)聚性包括哪些類型?
模塊的內(nèi)聚性包括:
。1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時(shí)間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚
五、應(yīng)用題 第40小題7分,第41小題8分,第42小題10分,共25分。
41.根據(jù)下列條件使用等價(jià)劃分法設(shè)計(jì)測試用例。
某一8位微機(jī),其十六進(jìn)制常數(shù)定義為:以0x或0X開頭的數(shù)是十六進(jìn)制整數(shù),其值的范圍是-7f~7f(表示十六進(jìn)制的大小寫字母不加區(qū)別),如0X13,0X6A,-0X3c。
解答:等價(jià)劃分法 ①劃分等價(jià)類并編號,如下表所示。
十六進(jìn)制整型常量輸入條件的等價(jià)類表
輸入數(shù)據(jù)
合理等價(jià)類
不合理等價(jià)類
十六進(jìn)制整數(shù)
1. 0x或0X開頭1~2位數(shù)字串
2. 以-0x打頭的1~2位數(shù)字串
3. 非0x或非-打頭的串
4. 含有非數(shù)字且(a,b,c,d,e,f)以外字符
5. 多于5個(gè)字符
6. -后跟非0的多位串
7. -0后跟數(shù)字串
8. -后多于3個(gè)數(shù)字
十六進(jìn)制數(shù)范圍
9.在-7f~7f之間
10.小于-7f
11.大于7f
、跒楹侠淼葍r(jià)類設(shè)計(jì)測試用例,表中有三個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子
測試數(shù)據(jù)
期望結(jié)果
覆蓋范圍
0×23
顯示有效輸入
1,9
。0×15
顯示有效輸入
2,9
、蹫槊總(gè)不合理等價(jià)類至少設(shè)計(jì)一個(gè)測試用例
測試數(shù)據(jù)
期望結(jié)果
覆蓋范圍
2
顯示無效輸入
3
G12
顯示無效輸入
4
123311
顯示無效輸入
5
。1012
顯示無效輸入
6
-011
顯示無效輸入
7
。0134
顯示無效輸入
8
。0x777
顯示無效輸入
10
0x87
顯示無效輸入
11
一、單項(xiàng)選擇題(本大題共 20 小題,每小題 1 分,共 20 分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯(cuò)選、多選或未選均無分。
1 .軟件工程管理的具體內(nèi)容不包括對 _________ 管理。( )
A .開發(fā)人員 B .組織機(jī)構(gòu) C .控制 D .設(shè)備
2 .在 McCall 軟件質(zhì)量度量模型中, _________ 屬于面向軟件產(chǎn)品操作。( )
A .正確性 B .可維護(hù)性 C .適應(yīng)性 D .互操作性
3 .在快速原型模型的開發(fā)過程中,用原型過程來代替全部開發(fā)階段所用模型是 _________ 模型。( )
A .探索型原型 B .演化型原型 C .實(shí)驗(yàn)型原型 D .增量型原型
4 .維護(hù)中因刪除一個(gè)標(biāo)識符而引起的錯(cuò)識是 _________ 副作用。( )
A .文檔 B .數(shù)據(jù) C .編碼 D .設(shè)計(jì)
5 .軟件維護(hù)的困難主要原因是( )
A .費(fèi)用低 B .人員少 C .開發(fā)方法的缺陷 D .維護(hù)難
6 .用白盒法技術(shù)設(shè)計(jì)測試用例的方法包括( )
A .錯(cuò)誤推測 B .因果圖 C .基本路徑測試 D .邊界值分析
7 .軟件測試中根據(jù)測試用例設(shè)計(jì)的方法的不同可分為黑盒測試和白盒測試兩種,它們( )
A .前者屬于靜態(tài)測試,后者屬于動態(tài)測試
B .前者屬于動態(tài)測試,后者屬于靜態(tài)測試
C .都屬于靜態(tài)測試 D .都屬
于動態(tài)測試
8 .程序設(shè)計(jì)語言的心理特性在語言中表現(xiàn)不應(yīng)包括( )
A .歧義性 B .簡潔性 C .保密性 D .傳統(tǒng)性
9 .程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是( )
A .只能用來描述簡單程序 B .不能嵌套使用
C .單入口,單出口 D .僅用于自動控制系統(tǒng)
10 . JSP 方法是一種面向 _________ 的設(shè)計(jì)方法。( )
A .控制結(jié)構(gòu) B .對象 C .數(shù)據(jù)流 D .數(shù)據(jù)結(jié)構(gòu)
11 .當(dāng)一個(gè)模塊直接使用另一個(gè)模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為( )
A .數(shù)據(jù)耦合 B .公共耦合 C .標(biāo)記耦合 D .內(nèi)容耦合
12 .軟件設(shè)計(jì)的方法有多種, _________ 方法不屬于面向數(shù)據(jù)流的設(shè)計(jì)方法。( )
A .基于 Jackson 圖的設(shè)計(jì) B .基于 IDEF 0 圖的設(shè)計(jì)
C .交換分析設(shè)計(jì) D .事務(wù)分析設(shè)計(jì)
13 .為高質(zhì)量地開發(fā)軟件項(xiàng)目,在軟件結(jié)構(gòu)設(shè)計(jì)時(shí),必須遵循 _________ 原則。( )
A .信息隱蔽 B .質(zhì)量控制 C .程序優(yōu)化 D .數(shù)據(jù)共享
14 .設(shè)在一個(gè)模塊內(nèi)有 2 個(gè)判定,若受其中一個(gè)判定影響到的模塊集合為 A ,而受另一個(gè)判定影響到的模塊集合為 B ,則該模塊的作用范圍是( )
A . B . C .( )—( ) D .( ) ( )
15 .數(shù)據(jù)流圖( DFD )是 _________ 方法中用于表示系統(tǒng)的邏輯模型的一種圖形工具。( )
A . SA B . SD C . SP D . SC
16 .螺旋模型是一種將瀑布模型和 _________ 結(jié)合起來的軟件開發(fā)模型。( )
A .增量模型 B .專家系統(tǒng) C .噴泉模型 D .變換模型
17 .需求規(guī)格說明書的作用不包括( )
A .軟件驗(yàn)收的依據(jù)
B .用戶與開發(fā)人員對軟件要做什么的共同理解
C .軟件可行性研究的依據(jù) D .軟件設(shè)計(jì)的依據(jù)
18 .數(shù)據(jù)字典是用來定義 _________ 中的各個(gè)成份的具體含義的。( )
A .流程圖 B .功能結(jié)構(gòu)圖 C .系統(tǒng)結(jié)構(gòu)圖 D .數(shù)據(jù)流圖
19 .設(shè)年利率為 i ,現(xiàn)存入 p 元,不計(jì)復(fù)利, n 年后可得錢數(shù)為( )
A . p ﹡ (1+i ﹡ n) B . p ﹡ (i+1) n C . p ﹡ (1+i) ﹡ n D . p ﹡ (i+n)
20 .在軟件生產(chǎn)的程序系統(tǒng)時(shí)代由于軟件規(guī)模擴(kuò)大和軟件復(fù)雜性提高等原因?qū)е铝? )
A .軟件危機(jī) B .軟件工程 C .程序設(shè)計(jì)革命 D .結(jié)構(gòu)化程序設(shè)計(jì)
二、填空題(本大題共 10 小題,每空 2 分,共 20 分)
請?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無分。
21 .第二代 CASE 工具的特點(diǎn)是支持圖形表示的 ____________ 。如數(shù)據(jù)流圖與結(jié)構(gòu)圖。
22 .在面向?qū)ο蠓椒ㄖ,對象?shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作 ________ 于對象的統(tǒng)一體中。
23 .面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)進(jìn)行 __________________ 。
24 .軟件維護(hù)工作的生產(chǎn)性活動包括分析評價(jià)、修改設(shè)計(jì)和 __________________ 等。
25 .為了使應(yīng)用軟件適應(yīng)計(jì)算機(jī)環(huán)境的變化而 __________________ 的過程稱為適應(yīng)性維護(hù)。
26 .一個(gè)進(jìn)行學(xué)生成績統(tǒng)計(jì)的模塊其功能是先對學(xué)生的成績進(jìn)行累加,然后求平均值,則該模塊的內(nèi)聚性是 __________________ 。
27 .基于 IDEF 0 圖的設(shè)計(jì)是以系統(tǒng)的功能模型和 __________________為基礎(chǔ)設(shè)計(jì)系統(tǒng)的軟件結(jié)構(gòu)。
28 .軟件結(jié)構(gòu)圖的寬度是指一層中 __________________ 的模塊個(gè)數(shù)。
29 .投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于 __________________ 所需的時(shí)間。
30 .軟件生存周期是指一個(gè)軟件從提出開發(fā)要求開始直到 __________________ 為止的整個(gè)時(shí)期。
三、詞語解釋題(本大題共 5 小題,每小題 3 分,共 15 分)
31 .增量開發(fā)
32 .漸增式測試
33 .詳細(xì)設(shè)計(jì)
34 .模塊的控制范圍
35 .父圖與子圖的平衡
四、簡答題(本大題共 4 小題,每小題 5 分,共 20 分)
36 .何謂軟件開發(fā)方法?請列舉四種主要方法。
37 .從開發(fā)者角度進(jìn)行程序質(zhì)量的評審時(shí),軟件的結(jié)構(gòu)包括哪些主要內(nèi)容?
38 .說明軟件文檔的作用。
39 .簡述詳細(xì)設(shè)計(jì)的基本任務(wù)。
五、綜合應(yīng)用題(第一小題 7 分,第二小題 8 分,第三小題 10 分,共 25 分)
40 .試?yán)?McCabe 的程序復(fù)雜性計(jì)算方法計(jì)算如下程序圖的復(fù)雜性。
41 .根據(jù)下列條件使用邊界值分析法設(shè)計(jì)測試用例。
某一 8 位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是- 177 ~ 177 。如 05 , 0127 ,- 065
42 .工資計(jì)算系統(tǒng)中的一個(gè)子系統(tǒng)有如下功能:
( 1 )計(jì)算扣除部分—由基本工資計(jì)算出應(yīng)扣除(比如水電費(fèi)、缺勤)的部分;
( 2 )計(jì)算獎金部分—根據(jù)職工的出勤情況計(jì)算出獎勵(lì)金;
( 3 )計(jì)算工資總額部分—根據(jù)輸入的扣除額及獎金計(jì)算出總額;
( 4 )計(jì)算稅金部分—由工資總額中計(jì)算出應(yīng)扣除各種稅金;
( 5 )生成工資表—根據(jù)計(jì)算總額部分和計(jì)算稅金部分傳遞來的有關(guān)職工工資的詳細(xì)信息生成工資表。
試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖,并把其轉(zhuǎn)換為軟件結(jié)構(gòu)圖。
全國2008年10月高等教育自學(xué)考試
軟件工程試題
一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯(cuò)選、多選或未選均無分。
1.“軟件工程的概念是為解決軟件危機(jī)而提出的”這句話的意思是( )
A.強(qiáng)調(diào)軟件工程成功解決了軟件危機(jī)的問題
B.說明軟件危機(jī)的存在總是使軟件開發(fā)不像傳統(tǒng)工程項(xiàng)目那樣容易管理
C.說明軟件工程這門學(xué)科的形成是軟件發(fā)展的需要
D.說明軟件工程的概念,即:工程的原則、思想、方法可解決當(dāng)時(shí)軟件開發(fā)和維護(hù)存在的問題
2.瀑布模型的主要特點(diǎn)是( )
A.將開發(fā)過程嚴(yán)格地劃分為一系列有序的活動 B.將開發(fā)過程分解為階段
C.提供了有效的管理模式 D.缺乏靈活性
3.在軟件工程的需求分析階段,不屬于問題識別內(nèi)容的是( )
A.功能需求B.
性能需求 C.環(huán)境需求D.輸入/輸出需求
4.畫某系統(tǒng)的數(shù)據(jù)流圖時(shí),頂層圖有( )
A.0張B.1張 C.2張D.3張及其以上
5.軟件模塊內(nèi)聚性最強(qiáng)的是( )
A.功能內(nèi)聚B.通信內(nèi)聚 C.偶然內(nèi)聚D.邏輯內(nèi)聚
6.最早提出軟件系統(tǒng)維護(hù)問題的階段是( )
A.可行性分析B.需求分析 C.概要設(shè)計(jì)D.詳細(xì)設(shè)計(jì)
7.SD(結(jié)構(gòu)化設(shè)計(jì))方法設(shè)計(jì)的結(jié)果是( )
A.模塊B.模塊結(jié)構(gòu)圖 C.模塊的算法D.數(shù)據(jù)流圖
8.在進(jìn)行軟件測試時(shí),首先應(yīng)當(dāng)進(jìn)行以下哪項(xiàng)測試,然后再進(jìn)行組裝測試,最后再進(jìn)行有效性測試( )
A.單元測試B.系統(tǒng)測試 C.集成測試D.確認(rèn)測試
9.軟件詳細(xì)設(shè)計(jì)階段的任務(wù)是( )
A.算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)B.功能設(shè)計(jì)C.調(diào)用關(guān)系設(shè)計(jì)D.輸入/輸出設(shè)計(jì)
10.下列屬于靜態(tài)測試方法的是( )
A.黑盒法B.路徑覆蓋 C.白盒法D.人工檢測
11.Fortran語言主要作為以下哪個(gè)方面的語言( )
A.科學(xué)工程計(jì)算B.系統(tǒng)軟件 C.事務(wù)處理D.人工智能
12.用結(jié)構(gòu)化語言來描述加工邏輯的外層結(jié)構(gòu)時(shí),以下不屬于基本結(jié)構(gòu)的是( )
A.順序結(jié)構(gòu)B.選擇結(jié)構(gòu) C.嵌套結(jié)構(gòu)D.重復(fù)結(jié)構(gòu)
l3.可維護(hù)軟件的主要特性包括( )
A.可理解性、可修改性、可移植性 B.可使用性
C.可維護(hù)性、可使用性、可靠性 D.可測試性
14.程序設(shè)計(jì)語言不具有的特性是( )
A.心理特性B.工程特性 C.應(yīng)用特性D.技術(shù)特性
15.下列不屬于項(xiàng)目進(jìn)度安排主要方法的是( )
A.工程網(wǎng)絡(luò)圖B.Gantt圖 C.進(jìn)度結(jié)構(gòu)圖D.任務(wù)資源表
16.下列不屬于通常冗余技術(shù)的是( )
A.結(jié)構(gòu)冗余B.信息冗余 C.時(shí)間冗余D.代碼冗余
17.下列工具中,屬于需求追蹤工具的是( )
A.在DBMS上的應(yīng)用運(yùn)行工具B.追蹤和狀態(tài)報(bào)告 C.訪問和版本控制機(jī)構(gòu)D.文件和修改管理
18.關(guān)于軟件測試的目的,下面觀點(diǎn)錯(cuò)誤的是( )
A.為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程 B.一個(gè)好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤
C.證明程序是正確、沒有錯(cuò)誤的 D.一個(gè)成功的測試用例是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試
19.在制定項(xiàng)目開發(fā)計(jì)劃文檔時(shí),不包含的內(nèi)容是( )
A.項(xiàng)目概述B.實(shí)施計(jì)劃 C.測試計(jì)劃D.交付期限
20.面向?qū)ο蟮拈_發(fā)方法中,以下哪種方法原是面向Ada語言的,并處于面向?qū)ο箝_發(fā)方法的奠基性地位( )
A.Booch方法B.Coad方法 C.UML語言D.OMT方法
二、填空題(本大題共10小題,每小題2分,共20分)
請?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無分。
21.可行性研究從技術(shù)可行性、經(jīng)濟(jì)可行性、________三方面進(jìn)行分析。
22.IDEF0方法用來描述系統(tǒng)的功能活動及其聯(lián)系,建立系統(tǒng)的_______模型。
23.結(jié)構(gòu)化方法總的指導(dǎo)思想是_______逐層分解。
24.在一段程序中,將多次出現(xiàn)的一組語句設(shè)計(jì)為一個(gè)子程序,供多個(gè)部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為________。
25.軟件
部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性分離,這是指軟件的______。
26.用來模擬被測模塊的上級調(diào)用模塊的模塊稱為_______。
27.軟件復(fù)雜性度量的參數(shù)很多,主要有規(guī)模、_______、結(jié)構(gòu)、智能度。
28.軟件開發(fā)環(huán)境中最主要的組成部分是______。
29.軟件工程管理的具體內(nèi)容包括對開發(fā)人員、組織機(jī)構(gòu)、用戶和______等方面的管理。
30.增量模型根據(jù)增量方式和形式的不同,分為_____和原型模型。
三、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.過程設(shè)計(jì)語言(PDL)
32.可移植性
33.漸增式測試
34.詳細(xì)設(shè)計(jì)
35.條件覆蓋
四、簡答題(本大題共4小題,每小題5分,共20分)
36.軟件生存周期可以分為幾個(gè)階段,每個(gè)階段的提交物是什么?
37.結(jié)構(gòu)化分析的描述工具有哪些?簡述結(jié)構(gòu)化分析的步驟。
38.什么是黑盒測試法?常用的黑盒測試方法有哪些?
39.簡述面向?qū)ο蟮奶卣鳌?/p>
五、應(yīng)用題(本大題共2小題,第40小題10分,第41小題15分,共25分)
40.下面是一段偽碼程序(代碼前的數(shù)字只作標(biāo)號用,不參與程序執(zhí)行):
START
1:INPUT(A,B,C,D)
2:IF(A>0)AND(B>0)
THEN
3:X=A+B
ELSE
4:X=A-B
5:END
6:IF(C>A)OR(D
THEN
7:Y=C-D
ELSE
8:Y=C+D
9:END
10:PRINT(X,Y)
STOP
根據(jù)以上的描述
(1)畫出對應(yīng)的流程圖和程序圖。
(2)計(jì)算程序圖的環(huán)形復(fù)雜度。
41.某個(gè)學(xué)生成績管理系統(tǒng)的部分功能如下:
(1)基本信息管理:教務(wù)管理人員輸入或修改學(xué)期教學(xué)執(zhí)行計(jì)劃、學(xué)生名單和教師名單;
(2)學(xué)生選課:學(xué)生根據(jù)教學(xué)執(zhí)行計(jì)劃進(jìn)行選課;
(3)分配任課教師:教務(wù)管理人員為符合開課條件的課程分配教師,并打印任課通知單給教師;
(4)成績管理:每門課程的教師在考試評分結(jié)束后將考試成績交給教務(wù)管理人員,教務(wù)管理人員輸入、維護(hù)成績,系統(tǒng)可生成成績單(發(fā)給學(xué)生)、成績統(tǒng)計(jì)分析表(發(fā)給教務(wù)管理人員)。
請根據(jù)要求畫出該問題的分層數(shù)據(jù)流圖(要求畫出頂層和0層數(shù)據(jù)流圖)。
軟件工程導(dǎo)論預(yù)測題
一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)
在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請將正確選項(xiàng)前的字母填在題后的橫線上。
1.可行性研究要進(jìn)行一次_____需求分析。
A.詳細(xì)的 B.全面的 C.簡化的、壓縮的 D.徹底的
[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡化、壓縮了的需求分析、設(shè)計(jì)過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過程。因此答案為C。
2.系統(tǒng)流程圖用于可行性分析中的_____的描述。
A.當(dāng)前運(yùn)行系統(tǒng) B.當(dāng)前邏輯模型
C.目標(biāo)系統(tǒng) D.新系統(tǒng)
[解析]可行性研究首先要確定項(xiàng)目的規(guī)模和目標(biāo),然后就需要對當(dāng)前運(yùn)行的系統(tǒng)進(jìn)行研究了,在考察系統(tǒng)的基礎(chǔ)上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關(guān)人員一起審查該系統(tǒng)流程圖是否正確。描述的對象是當(dāng)前正在運(yùn)行的系統(tǒng),因此選擇A。
3.系統(tǒng)流程圖是描述_____的工具。
A.邏輯系統(tǒng) B.程序系統(tǒng) C.體系結(jié)構(gòu) D.物理系統(tǒng)
[解析]系統(tǒng)流程圖是用圖形符號來表示系統(tǒng)中的各個(gè)元素,例如人工處理、數(shù)據(jù)庫、設(shè)備等,流程圖表達(dá)了系統(tǒng)中各個(gè)元素之間的信息流動情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。
4._______工具在軟件詳細(xì)設(shè)計(jì)過程中不采用。
A.判定表 B.IPO圖 C.PDL D.DFD圖
[解析]詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系。IPO圖用來描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過程設(shè)計(jì)語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過程中使用。
5.程序的三種基本控制結(jié)構(gòu)是
A.過程、子程序和分程序 B.順序、選擇和重復(fù) C.遞歸、堆棧和隊(duì)列 D.調(diào)用、返回和轉(zhuǎn)移
[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。
6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是
A.不能嵌套使用 B.只能用來寫簡單程序 C.已經(jīng)用硬件實(shí)現(xiàn) D.只有一個(gè)入口和一個(gè)出口
[解析]程序的特點(diǎn)就是從一個(gè)入口開始,最終以一個(gè)出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對程序的流向進(jìn)行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計(jì)。
7.產(chǎn)生軟件維護(hù)的副作用,是指
A.開發(fā)時(shí)的錯(cuò)誤 B.隱含的錯(cuò)誤 C.因修改軟件而造成的錯(cuò)誤 D.運(yùn)行時(shí)誤操作
[解析]因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況稱為維護(hù)的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。
8.維護(hù)中,因誤刪除一個(gè)標(biāo)識符而引起的錯(cuò)誤是_________副作用。
A.文檔 B.?dāng)?shù)據(jù) C.編碼 D.設(shè)計(jì)
[解析]編碼副作用指的是在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號、一個(gè)標(biāo)識
符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。
9.可維護(hù)性的特性中相互促進(jìn)的是
A.可理解性和可測試性 B.效率和可移植性 C.效率和可修改性 D.效率和結(jié)構(gòu)好
[解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護(hù)性的特征。
10.汽車有一個(gè)發(fā)動機(jī)。汽車和發(fā)動機(jī)之間的關(guān)系是_____關(guān)系。
A.一般具體 B.整體部分 C.分類關(guān)系 D.主從關(guān)系
[解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。
11.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。
A.異步控制 B.同步控制 C.存取控制 D.基線控制
[解析]變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度,其過程中的“檢出”和“登入”處理實(shí)現(xiàn)了存取控制和同步控制,存取控制管理各個(gè)用戶存取和修改一個(gè)特定軟件配置對象的權(quán)限,同步控制可用來確保由不同用戶所執(zhí)行任務(wù)的并發(fā)變更。
12.變更控制是一項(xiàng)最重要的軟件配置任務(wù),其中“檢出”和______處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填寫變更要求 D.審查
[解析]“檢出”和“登入”處理實(shí)現(xiàn)了兩個(gè)重要的變更控制要素。具體說明見上題。
13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯(cuò)誤技術(shù),但避開錯(cuò)誤技術(shù)無法做到完美無缺和絕無錯(cuò)誤,這就需要
A.消除錯(cuò)誤 B.檢測錯(cuò)誤 C.避開錯(cuò)誤 D.容錯(cuò)
[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯(cuò)誤技術(shù),即在開發(fā)的過程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對某些無法避開的差錯(cuò),使其影響減至最小的技術(shù)。
14._____是以提高軟件質(zhì)量為目的的技術(shù)活動。
A.技術(shù)創(chuàng)新 B.測試 C.技術(shù)創(chuàng)造 D.技術(shù)評審
[解析]技術(shù)評審是以提高軟件質(zhì)量為目的的技術(shù)活動,是對軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來的影響等方面進(jìn)行的評審活動。
15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原
則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。
A.開發(fā)過程基于功能分析和功能分解 B.強(qiáng)調(diào)需求分析重要性
C.把對象劃分成類,每個(gè)對象類都定義一組數(shù)據(jù)和方法 D.對既存類進(jìn)行調(diào)整
[解析]面向?qū)ο蠓椒ㄓ兴膫(gè)特征,分別是對象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類,每個(gè)類是具有相同性質(zhì)的個(gè)體集合,而每個(gè)對象相關(guān)類的實(shí)例,對象彼此之間通過傳遞消息互相聯(lián)系。
16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫
A.生存期 B.面向?qū)ο笤O(shè)計(jì) C.面向?qū)ο蟪绦蛟O(shè)計(jì) D.面向?qū)ο蠓治?/p>
[解析]面向?qū)ο蟮姆治龅倪^程就是認(rèn)識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。
17.原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。
A.需求不確定性高的 B.需求確定的 C.管理信息 D.實(shí)時(shí)
[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。
18.原型化方法是一種_______型的設(shè)計(jì)過程。
A.自外向內(nèi) B.自頂向下 C.自內(nèi)向外 D.自底向上
[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過程。
19.為了提高測試的效率,應(yīng)該
A.隨機(jī)地選取測試數(shù)據(jù) B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)
C.在完成編碼以后制定軟件的測試計(jì)劃 D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)
[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測試用例時(shí),不可能進(jìn)行窮舉測試,在每一個(gè)細(xì)節(jié)進(jìn)行測試,也不能無目的地隨機(jī)選取測試數(shù)據(jù),為了提高測試的效率,測試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測試結(jié)果才符合軟件測試的目的。
20.使用白盒測試方法時(shí),確定測試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。
A.程序的
內(nèi)部邏輯 B.程序的復(fù)雜結(jié)構(gòu) C.使用說明書 D.程序的功能
[解析]白盒測試是把測試對象看作一個(gè)打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測試是一種結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測試數(shù)據(jù)。
二,填空題(本大題共10小題,每小題2分,共20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個(gè)元素表達(dá)了系統(tǒng)中各種元素之間的( 信息流動 )情況。
[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個(gè)元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等,表達(dá)了元素之間的信息流動的情況。
22.成本效益分析的目的是從( 經(jīng)濟(jì) )角度評價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。
[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和( 寬度優(yōu)先策略 ) 。
[解析]漸增式測試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。
24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條( 在其他獨(dú)立路徑中未有過 )的邊的路徑。
[解析]在基本路徑測試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過的邊的路徑。
25.匯編語言是面向( 機(jī)器 ) 的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機(jī)器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是( 中間數(shù)據(jù)結(jié)構(gòu)或中間文件 )。
[解析]JSP方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。它定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結(jié)構(gòu),按一定的規(guī)則
映射成軟件的過程描述,在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是引入中間數(shù)據(jù)結(jié)構(gòu)或中間文件,將沖突部分分隔開來,建立多個(gè)程序結(jié)構(gòu),再利用中間文件把它們聯(lián)系起來,構(gòu)成一個(gè)系統(tǒng)的整體。
27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、( 使用的數(shù)據(jù) )。
[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)等。
28.所有軟件維護(hù)申請報(bào)告要按規(guī)定方式提出,該報(bào)告也稱( 軟件問題)報(bào)告。
[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請報(bào)告,也稱為軟件問題報(bào)告,它是維護(hù)階段的一種文檔,由申請維護(hù)的用戶填寫。
29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的( 維護(hù)支援 )技術(shù)。
[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評價(jià)等項(xiàng),是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。
30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語言有:( FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計(jì)算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/1、FORTRAN語言都是工程計(jì)算中常用的語言。
三,名詞解釋(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟(jì)可行性
解:進(jìn)行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項(xiàng)目是否值得投資開發(fā)。
32.社會可行性
解:要開發(fā)的項(xiàng)目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項(xiàng)目目的運(yùn)行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
33.投資回收期
解:投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資費(fèi)用所需的時(shí)間。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時(shí)處理。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
四,簡答題(本大題共4小題,每小題5分,共20分)
36.可行性研究報(bào)告的主要內(nèi)容有哪些?
解:一個(gè)可行性研究報(bào)告的主要內(nèi)容如下:
(1)引言:說明編寫本文檔的目的;項(xiàng)目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。
。2)可行性研究前提:說明開發(fā)
項(xiàng)目的功能、性能和基本要求;達(dá)到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。
。3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項(xiàng)費(fèi)用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。
。4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運(yùn)行環(huán)境的影響;對經(jīng)費(fèi)支出的影響;對技術(shù)可行性的評價(jià)。
。5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。
。6)社會因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。
。7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。
。8)結(jié)論意見:說明項(xiàng)目是否能開發(fā);還需要什么條件才能開發(fā);對項(xiàng)目目標(biāo)有什么變動等。
[解析]做軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報(bào)告共分為八個(gè)基本內(nèi)容。
37.系統(tǒng)設(shè)計(jì)的內(nèi)容是什么?
解:系統(tǒng)設(shè)計(jì)階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。
。1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個(gè)對象也不是一個(gè)功能,而是類、關(guān)聯(lián)、操作、時(shí)間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。
(2)確定并發(fā)性。分析模型、現(xiàn)實(shí)世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)就是確定哪些是必須同時(shí)動作的對象,哪些不是同時(shí)動作的對象。后者可以放在一起,而綜合成單個(gè)控制線或任務(wù)。
(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)必須分配給單個(gè)硬件單元,要么是一個(gè)一般的處理器,要么是一個(gè)具體的功能單元,必須完成下面的工作:估計(jì)性能要求和資源需求,選擇實(shí)現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實(shí)現(xiàn)各子系統(tǒng)的各物理單元的連接。
。4)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項(xiàng)重要的任務(wù)。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費(fèi)用、訪問時(shí)間、容量以及可靠性之間做折中考慮
。
(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標(biāo)識符、類名、文件名等。
如果資源是物理對象,則可以通過建立協(xié)議實(shí)現(xiàn)對并發(fā)系統(tǒng)的訪問,以達(dá)到自身控制;如果資源是邏輯實(shí)體,如對象標(biāo)識符,那么在共享環(huán)境中有沖突訪問的可能,如獨(dú)立的事務(wù)可能同時(shí)使用同一個(gè)對象標(biāo)識符,則各個(gè)全局資源都必須有一個(gè)保護(hù)對象,由保護(hù)對象來控制對該資源的訪問。
。6)選擇軟件控制機(jī)制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計(jì)必須從多種方法中選擇某種方法來實(shí)現(xiàn)軟件的控制。
。7)人機(jī)交互接口設(shè)計(jì)。設(shè)計(jì)中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。
38.什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?
解:軟件發(fā)展第二階段的末期,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項(xiàng)目提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。
軟件危機(jī)表現(xiàn)在以下四個(gè)方面:
(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來與實(shí)際情況有很大差距,使得開發(fā)經(jīng)費(fèi)一再突破。由于對工作量估計(jì)不足,對開發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無法按時(shí)完成,開發(fā)時(shí)間一再拖延。
。2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達(dá)。開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗。
。3)開發(fā)的軟件可維護(hù)性差。開發(fā)過程中沒有同意的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進(jìn)行雜亂無章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。
。4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時(shí),又沒有嚴(yán)格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。
造成軟件危機(jī)的原因是:
。1)軟件的規(guī)模越來越大,結(jié)
構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。
39.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?
解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:
。1)采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。
。2)組織正式技術(shù)評審。在軟件開發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評審。國家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評審、設(shè)計(jì)評審、審計(jì)和測試等具體手段來保證質(zhì)量。
。3)加強(qiáng)軟件測試。軟件測試是質(zhì)量保證的重要手段,因?yàn)闇y試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。
。4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行。
。5)對軟件的變更進(jìn)行控制。軟件的修改和變更常常會引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。
。6)對軟件質(zhì)量進(jìn)行度量。即對軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。
[解析]軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程管理中的重要內(nèi)容。
五,論述題(本大題共3小題,第40小題7分,第41小題8分,第42小題10分,共25分)
40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。
解:PDL語言:
N=1
WHILE N
IF A(N)
ELSE MAX =A(N) ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時(shí),是從第一個(gè)元素開始查找,用當(dāng)前元素與下一個(gè)元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。
41.根據(jù)下列條件使用等價(jià)類劃分法設(shè)計(jì)測試用例。
某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價(jià)類并編號,如下表示:(4分)
。2)為合理等價(jià)類設(shè)計(jì)測試用例,表中有兩個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子(2分)
。3)為不合理等價(jià)類測試用例,至少設(shè)計(jì)一個(gè)測試用例(2分)
[解析]等價(jià)類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個(gè)等價(jià)類,測試每個(gè)等價(jià)類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個(gè)合理等價(jià)類,9個(gè)不合理等價(jià)類進(jìn)行測試,取到了預(yù)期的效果。
42.某電器集
團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
。1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。
。2)根據(jù)車間實(shí)際生產(chǎn)日報(bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃
3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。
。4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間
技術(shù)科的任務(wù)是:
。1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
。2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。 試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。
[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。_______________________________________________________________________
軟件工程期末試卷及答案 2
一、選擇題
1.軟件開發(fā)瀑布模型中的軟件定義時(shí)期各個(gè)階段依次是: (B)
A) 可行性研究,問題定義,需求分析。
B) 問題定義,可行性研究,需求分析。
C) 可行性研究,需求分析,問題定義。
D) 以上順序都不對。
2 .可行性研究主要從以下幾個(gè)方面進(jìn)行研究: (A)
A) 技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性。
B) 技術(shù)可行性,經(jīng)濟(jì)可行性,系統(tǒng)可行性。
C) 經(jīng)濟(jì)可行性,系統(tǒng)可行性,操作可行性。
D) 經(jīng)濟(jì)可行性,系統(tǒng)可行性,時(shí)間可行性。
3.耦合是對軟件不同模塊之間互連程度的度量。各種耦合按從強(qiáng)到弱 排列如下:( C )
A) 容耦合,控制耦合,數(shù)據(jù)耦合,公共環(huán)境耦合。
B) 容耦合,控制耦合,公共環(huán)境耦合,數(shù)據(jù)耦合。
C) 容耦合,公共環(huán)境耦合,控制耦合,數(shù)據(jù)耦合。
D) 控制耦合,容耦合,數(shù)據(jù)耦合,公共環(huán)境耦合。
4.在詳細(xì)設(shè)計(jì)階段所使用到的設(shè)計(jì)工具是:(A)
A) 程序流程圖,PAD圖,N-S圖,HIPO圖,判定表, 判定樹.
B) 數(shù)據(jù)流程圖,Yourdon圖,程序流程圖,PAD圖, N-S 圖,HIPO 圖。
C) 判定表,判定樹,PDL,程序流程圖,PAD圖,N-S 圖。
D) 判定表,判定樹,數(shù)據(jù)流程圖,系統(tǒng)流程圖,程序流程圖,層次圖。
5.按照軟件工程的原則,模塊的作用域和模塊的控制域之間的關(guān)系是:(A)
A) 模塊的作用域應(yīng)在模塊的控制域之。
B) 模塊的控制域應(yīng)在模塊的作用域之。
C) 模塊的控制域與模塊的作用域互相獨(dú)立。
D) 以上說法都不對。
6.在軟件生命周期中,能準(zhǔn)確確定軟件系統(tǒng)的體系結(jié)構(gòu)的功能階段是( C)
A. 概要設(shè)計(jì)
B.詳細(xì)設(shè)計(jì)
C.需求分析
D.可行性分析
7.下面不是軟件工程的3個(gè)要素的是(C )
A.過程
B.方法
C.環(huán)境
D.工具
8.下面不屬于軟件的組成的是(B )
A.程序
B.記錄
C.文檔
D.數(shù)據(jù)
9.在瀑布模型中,將軟件分為若干個(gè)時(shí)期,軟件項(xiàng)目的可行性研究一 般歸屬于(C )
A. 維護(hù)時(shí)期
B.運(yùn)行時(shí)期
C.定義時(shí)期
D.開發(fā)時(shí)期
10.在瀑布模型中,下面( C )是其突出的缺點(diǎn)。
A. 不適應(yīng)平臺的變動
B.不適應(yīng)算法的變動
C.不適應(yīng)用戶需求的變動
D.不適應(yīng)程序語言的變動
11.下面不屬于軟件的特點(diǎn)的是(D )。
A.軟件是一種軟件產(chǎn)品
B.軟件產(chǎn)品不會用壞,不存在磨損、消耗問題
C.軟件產(chǎn)品的生產(chǎn)主要是研制
D.軟件產(chǎn)品非常便宜
12.軟件開發(fā)工具是協(xié)助開發(fā)人員進(jìn)行軟件開發(fā)活動所使用的軟件或 環(huán)境。下面不是軟件開發(fā)工具的是( A)
A. 維護(hù)工具
B.編碼工具
C.測試工具
D.需求分析工具
13.下列敘述中不屬于軟件生命周期模型的是(D )。
A. 原型模型
B.瀑布模型
C.螺旋模型
D.快速組裝模型
14.軟件設(shè)計(jì)中,用抽象和分解的目的是( B )。
A. 提高易讀性
B.降低復(fù)雜性
C.增加聚性
D.降低耦合性
15.軟件生命周期中所花費(fèi)用最多的階段是(D )。
A. 詳細(xì)設(shè)計(jì)
B.軟件編碼
C.概要設(shè)計(jì)
D.軟件測試和維護(hù)
16.開發(fā)軟件時(shí)對提高開發(fā)人員工作效率至關(guān)重要的是(B )。
A. 操作系統(tǒng)的資源管理功能
B. 先進(jìn)的軟件開發(fā)工具和環(huán)境
C.程序人員的數(shù)量
D.計(jì)算機(jī)的并行處理能力
17.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱作(B )。
A.軟件投機(jī)
B.軟件危機(jī)
C.軟件工程
D軟件產(chǎn)生
18.軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A )
A.定義、開發(fā)、運(yùn)行維護(hù)
B.設(shè)計(jì)階段、編程階段、測試階段
C.總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編程調(diào)試
D.需求分析、功能定義、系統(tǒng)設(shè)計(jì)
19.軟件工程的理論和技術(shù)性研究的容主要包括軟件開發(fā)技術(shù)和 (B)。
A. 消除軟件危機(jī)
B. 軟件工程管理
C. 程序設(shè)計(jì)自動化
D. 實(shí)現(xiàn)軟件可重用
20.軟件工程的出現(xiàn)是由于(C)
A.程序設(shè)計(jì)方法學(xué)的影響
B.軟件產(chǎn)業(yè)化的需要
C.軟件危機(jī)的出現(xiàn)
D.計(jì)算機(jī)的發(fā)展
21. 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具 備哪
些功能的階段是(D)。
A. 概要設(shè)計(jì)
B. 詳細(xì)設(shè)計(jì)
C. 問題定義
D. 需求分析
22. 開發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是( A )。
A.大系統(tǒng)的復(fù)雜性
B.人員知識不足
C.客觀世界千變?nèi)f化
D.時(shí)間緊、任務(wù)重
23. 文檔是軟件開發(fā)人員、軟件管理人員、維護(hù)人員、用戶以及計(jì)算 機(jī)之間的(B),軟件開發(fā)人員在各個(gè)階段以文檔作為前段工作 成果的體現(xiàn)和后段工作的基礎(chǔ)。
A.接口
B.橋梁
C.科學(xué)
D.繼續(xù)
24.軟件工程學(xué)的目的是以 較低的成本,研制( A )質(zhì)量的軟件
A.較高
B.較低
C.可靠
D.優(yōu)秀
25.軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境轉(zhuǎn)換到另一個(gè)計(jì)算機(jī)和環(huán)境的容易 程度稱為(D)。
A.可用性
B.兼容性
C.可靠性
D.可移植性
26.軟件生存周期是指(D)階段。
A.軟件開始使用到用戶要求修改為止
B.軟件開始使用到被淘汰為止
C.從開始編寫程序到不能再使用為止
D.從立項(xiàng)制定計(jì)劃,進(jìn)行需求分析到不能再使用為止
27.軟件工程學(xué)是應(yīng)用科學(xué)理論和工程上的技術(shù)指導(dǎo)軟件開發(fā)的學(xué) 科,其目的是(B)。
A.引入新技術(shù)提高空間利用率
B.用較少的投資獲得高質(zhì)量的軟件
C.縮短研制周期擴(kuò)大軟件功能
D.硬軟件結(jié)合使系統(tǒng)面向應(yīng)用
28.軟件可行性分析是著重確定系統(tǒng)的目標(biāo)和規(guī)模。對成本 -效益進(jìn)行發(fā)現(xiàn)應(yīng)屬于下列選項(xiàng)中的( A)。
A. 經(jīng)濟(jì)可行性
B.操作可行性
C.技術(shù)可行性
D.社會可行性
29在數(shù)據(jù)流圖中,用圓或者橢圓來表示(B )。
A. 數(shù)據(jù)流
B.加工
C.數(shù)據(jù)存儲
D.數(shù)據(jù)源點(diǎn)或終點(diǎn)
30.需求分析階段的任務(wù)是確定( C )。
A. 軟件開發(fā)方法
B. 軟件開發(fā)費(fèi)用
C軟件系統(tǒng)功能
D.軟件開發(fā)工具
31.(D)的目的就是用最小的代價(jià)在盡可能短的時(shí)間確定該軟件 項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。
A.需求分析
B.概要設(shè)計(jì)
C.總體設(shè)計(jì)
D.可行性研究
32.下列選項(xiàng)中( D )不是軟件需求規(guī)格目標(biāo)。
A.便于用戶、分析員和軟件設(shè)計(jì)人員進(jìn)行理解及交流
B.控制系統(tǒng)的實(shí)施過程
C.作為軟件測試和驗(yàn)收以及維護(hù)的依據(jù)
D.便于軟件的維護(hù)
33.下面描述中,不符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是(B )。
A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制 邏輯
B.模塊只有一個(gè)入口,可以有多個(gè)出口
C.注重提咼程序的執(zhí)行效率
D.不使用goto語句
34. 下列工具中屬于需求分析常用工具的是( D )。
A. PAD
B.PFD
C.N-S
D.DFD
35. 在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示( C )。
A. 控制程序的執(zhí)行順序
B. 模塊之間的調(diào)用關(guān)系
C.數(shù)據(jù)的流向
D.程序的組成成分
36. 在軟件生產(chǎn)過程中,需求信息的給出是( D )。
A.程序員
B.項(xiàng)目管理者
C.軟件分析設(shè)計(jì)人員
D.軟件用戶
37.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是( C)。
A. 面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法
B. 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法
C.面向?qū)ο蟮姆治龇椒?/p>
38.結(jié)構(gòu)設(shè)計(jì)是一種應(yīng)用最廣泛的系統(tǒng)設(shè)計(jì)方法,是以(B )為基 礎(chǔ)、自
頂向下、逐步求精和模塊化的過程。
A.數(shù)據(jù)流
B.數(shù)據(jù)流圖
C.數(shù)據(jù)庫
D.數(shù)據(jù)結(jié)構(gòu)
39.需求分析是由分析員經(jīng)了解用戶的要求,認(rèn)真細(xì)致地調(diào)研、分析, 最
終應(yīng)建立目標(biāo)系統(tǒng)的邏輯模型并寫出(B )。
A.模塊說明書
B.軟件規(guī)格說明書
C.項(xiàng)目開發(fā)計(jì)劃
D.合同文檔
40. 結(jié)構(gòu)化分析方法以數(shù)據(jù)流圖、(D)和加工說明等描述工具,即 用直
觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。
A.DFD圖
B.PAD圖
C.IPO圖
D.數(shù)據(jù)字典
41. 數(shù)據(jù)字典是軟件需求分析階段的重要工具之一,它的基本功能是 (A)
A.數(shù)據(jù)定義
B.數(shù)據(jù)維護(hù)
C.數(shù)據(jù)通訊
D.數(shù)據(jù)庫設(shè)計(jì)
42. 以下(A )不是詳細(xì)設(shè)計(jì)中常用的圖形描述工具。
A.數(shù)據(jù)流圖
B程序流圖
C.盒圖(N-S)
D.問題分析圖(PAD)
43. 在結(jié)構(gòu)圖的有關(guān)術(shù)語中,用于表示軟件結(jié)構(gòu)中控制的`層數(shù)的是 (C)
A.扇入
B.扇出
C.深度
D.寬度
44. 模塊的獨(dú)立程度是評價(jià)設(shè)計(jì)好壞的重要標(biāo)準(zhǔn)。(A )是衡量軟 件的
模塊獨(dú)立性的兩個(gè)定性度量標(biāo)準(zhǔn)。
A.耦合性和聚性
B.聚性和可靠性
C.耦合性和獨(dú)立性
D.可靠性和獨(dú)立性
45. 軟件設(shè)計(jì)包括( B )兩個(gè)階段。
A.接口設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)
B.概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)
C. 數(shù)據(jù)設(shè)計(jì)和概要設(shè)計(jì)
D.結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)
46.在詳細(xì)設(shè)計(jì)階段,經(jīng)常采用的工具是(A )。
A.PAD
B.SA
C.SC
D.DFD
47. 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是(D )。
A.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
B.給出系統(tǒng)模塊結(jié)構(gòu)
C.定義模塊算法
D.定義需求并建立系統(tǒng)模型
48. 對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是( A)。
A.程序應(yīng)簡單、清晰、可讀性好
B.符號名的命名要符合語法
C.充分考慮程序的執(zhí)行效率
D程序的注釋可有可無
49. 下面不屬于軟件設(shè)計(jì)原則的是(C )。
A.抽象
B.模塊化
C.自底向上
D.信息隱蔽
50. 為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來 代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為( C )。
A PAD圖
B.N-S圖
C.結(jié)構(gòu)圖
D.數(shù)據(jù)流圖
51.軟件測試按照功能劃分可以分為(B )
A.黑盒測試和單元測試
B.白盒測試和黑盒測試
C.集成測試和單元測試
D.白盒測試和靜態(tài)測試
52.在軟件測試過程的4個(gè)步驟中,測試依據(jù)是需求規(guī)格說明的是(C)
A.單元測試
B.集成測試
C.確認(rèn)測試
D.系統(tǒng)測試
53.黑盒測試法屬于(C)
A.集成測試
B.系統(tǒng)測試
C.動態(tài)測試
D.靜態(tài)測試
54.下列敘述中錯(cuò)誤的是(C )
A.測試是為了尋找錯(cuò)誤而運(yùn)行程序的過程
B.一個(gè)成功的測試是揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試
C.測試的目的是為了證明程序是正確的
D .一個(gè)好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤 的測試
55.軟件測試過程是軟件開發(fā)過程的逆過程,其最基礎(chǔ)性的測試應(yīng)是( B )
A.集成測試
B.單元測試
C.有效性測試
D.系統(tǒng)測試
56.程序的三種基本控制結(jié)構(gòu)是(B )°
A.過程、子程序和分程序
B.順序、選擇和重復(fù)
C. 遞歸、迭代和回溯
D.調(diào)用、返回和轉(zhuǎn)移
57.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P,即?D )。
A)系統(tǒng)模型、ER模型、應(yīng)用模型
B)對象模型、動態(tài)模型、應(yīng)用模型
C) - 模型、對象模型、功能模型 E R
D)對象模型、動態(tài)模型、功能模型
58.在E-R模型中,包含(C )以下基本成分
A)數(shù)據(jù)、對象、實(shí)體
B) 控制、聯(lián)系、對象
C) 實(shí)體、聯(lián)系、屬性
D)實(shí)體、屬性、操作
59.軟件測試的目標(biāo)是(A)。
A.證明軟件是正確的
B.發(fā)現(xiàn)錯(cuò)誤、降低錯(cuò)誤帶來的 風(fēng)險(xiǎn)
C. 排除軟件中所有的錯(cuò)誤
D.與軟件調(diào)試相同
60.軟件生命周期中所花費(fèi)用最多的階段是( D )
A.詳細(xì)設(shè)計(jì)
B.軟件編碼
C.軟件測試
D.軟件維護(hù)
61.在數(shù)據(jù)流圖中圓或橢圓表示 (1)A ,平行線表示 ⑵ D
。1)
A、加工
B、外部實(shí)體
C、數(shù)據(jù)流
D、存儲
。2)
A、加工
B、外部實(shí)體
C、數(shù)據(jù)流
D、存儲
62.瀑布模型(Waterfall Model )突出的缺點(diǎn)是不適應(yīng)(D )的變動。
A、算法
B、平臺
C、程序語言
D、用戶需求
63.結(jié)構(gòu)化分析方法(SA)的一個(gè)重要指導(dǎo)思想是(C)
A. 自頂向下,逐步抽象
B. 自底向上,逐步抽象
C. 自頂向下,逐步分解
D. 自底向上,逐步分解
64.模塊的控制圍包括它本身及它所有的從屬模塊, 模塊的作用圍是 指模塊一個(gè)判定的作用圍,凡是受到這個(gè)判定影響的所有模塊都屬于 這個(gè)判定的作用圍,理想的情況是(A)
A. 模塊的作用圍應(yīng)在控制圍之
B. 模塊的控制圍應(yīng)在作用圍之
C. 模塊的作用圍與控制圍交叉
D. 模塊的作用圍與控制圍分離
65.關(guān)于模塊設(shè)計(jì)的原則,以下敘述中正確的是( B)
A. 模塊的聚性高,模塊之間的耦合度高
B. 模塊的聚性高,模塊之間的耦合度低
C. 模塊的聚性低,模塊之間的耦合度高
D. 模塊的聚性低,模塊之間的耦合度低
66.軟件的用戶界面作為人機(jī)接口起著越來越重要的作用, 用戶界面 的(D)是用戶界面設(shè)計(jì)中最重要的也是最基本的目標(biāo)。
A.靈活性 B.風(fēng)格多樣性
C.美觀性 D.易操作性
67.原型化方法是一種動態(tài)定義需求的方法,(D)不具有原型化方法 的特征。
A. 簡化項(xiàng)目管理
B. 盡快建立初步需求
C. 加強(qiáng)用戶參與和決策
D. 提供嚴(yán)格定義的文檔
68.數(shù)據(jù)流圖包含的成分有(B)
A.關(guān)系、實(shí)體和屬性
B.數(shù)據(jù)流、加工和數(shù)據(jù)存儲
C. 數(shù)據(jù)流、數(shù)據(jù)源和數(shù)據(jù)實(shí)體
D. 數(shù)據(jù)流、屬性、數(shù)據(jù)存儲和加工
69.如果用戶對系統(tǒng)的目標(biāo)不是很清楚,需求難以定義,這時(shí)最好使
用(A)進(jìn)行系統(tǒng)開發(fā)。
A.原型
B.瀑布模型
C.V-模型
D.螺旋模型
70.在軟件開發(fā)的各個(gè)階段中,對軟件開發(fā)成敗影響最大的是 (A)
A.需求分析
B.概要設(shè)計(jì)
C.詳細(xì)設(shè)計(jì)
D.編碼
71. 模塊聚度用于衡量模塊部各成分之間彼此結(jié)合的緊密程度。
1) 一組語句在程序的多處出現(xiàn),為了節(jié)省存空間把這些語句放在 一個(gè)模塊中,該模塊的聚度是 __A__的。
2) 將幾個(gè)邏輯上相似的成分放在一個(gè)模塊中,該模塊的聚度是 __B__的。
3) 模塊中所有成分引用共同的數(shù)據(jù),該模塊的聚度是 __C__的。
4) 模塊的某成分的輸出是另一些成分的輸入,該模塊的聚度是 D的。
5) 模塊中所有成分結(jié)合起來完成一項(xiàng)任務(wù),該模塊的聚度是-E-的。
它具有簡明的外部界面,由它構(gòu)成的軟件易于理解、測試和維護(hù)。
A5B7C3D2E1
供選擇的答案
AE:①功能性②順序性③通信性④過程性⑤偶然性⑥瞬時(shí)性 ⑦邏輯性
72. 軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是(3)。兩個(gè)模塊之間的耦合方 式
中,(4)耦合的耦合度最高,(2)耦合的耦合度最低。一個(gè)模塊部 的聚
種類中(3)聚的聚度最高,(1)聚的聚度最低。
兩個(gè)模塊之間的耦合方式通?煞譃 7種,按其耦合度從低到高的次序依此為: 非直接耦合、 數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共耦合、容耦合。 供選擇
聚度從低到高的次序依此為:偶然聚、邏輯聚、瞬時(shí)聚、過程聚、通信聚、順序聚、功能聚的答案
A:①低聚低耦合
②低聚高耦合
、蹎J聚低耦合
④咼聚咼耦合
B:①數(shù)據(jù)②非直接③控制④容
C:①數(shù)據(jù)②非直接③控制④容
D:①偶然②邏輯 ③功能④過程
E:①偶然②邏輯 ③功能④過程
73.瀑布模型把軟件生命周期劃分為八個(gè)階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行、維護(hù)。八個(gè)階段又可歸納為三個(gè)大的階段:計(jì)劃階段、開發(fā)階段和_。 ( C ),A .詳細(xì)計(jì)劃
B .可行性分析
C .運(yùn)行階段
D.測試與排錯(cuò)
74.在結(jié)構(gòu)化的瀑布模型中,哪一個(gè)階段定義的標(biāo)準(zhǔn)將成為軟件測試年勺系統(tǒng)測試階段的目標(biāo)( A )
A .需求分析階段
B .詳細(xì)設(shè)計(jì)階段
C.概要設(shè)計(jì)階段
D .可行性研究階段,75.軟件工程的出現(xiàn)主要是由于(C ) **
A.程序設(shè)計(jì)方法學(xué)的影響
B.其它工程科學(xué)的影響
C.軟件危機(jī)的出現(xiàn)
D.計(jì)算機(jī)的發(fā)展,76.軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實(shí)旅的主要保證是(C)
A.硬件環(huán)境
B.軟件開發(fā)的環(huán)境
C.軟件開發(fā)工具和軟件開發(fā)的環(huán)境
D.開發(fā)人員的素質(zhì)
77.軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實(shí)際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為(B)
A.相互排斥
B.相互補(bǔ)充
C.獨(dú)立使用
D.交替使用
78.UML是軟件開發(fā)中的一個(gè)重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C)
A.基于瀑布模型的結(jié)構(gòu)化方法
B.基于需求動態(tài)定義的原型化方法
C.基于對象的面向?qū)ο蟮姆椒?/p>
D.基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
79.在下面的軟件開發(fā)方法中,哪一個(gè)對軟件設(shè)計(jì)和開發(fā)人員的開發(fā)要求最高(B)
A.結(jié)構(gòu)化方法
B.原型化方法
C.面向?qū)ο蟮姆椒?/p>
D.控制流方法
80.結(jié)構(gòu)化分析方法是一個(gè)預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對象的(B)
A.控制流
B.數(shù)據(jù)流
C.程序流
D.指令流
81.軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A)
A.計(jì)劃階段.開發(fā)階段.運(yùn)行階段
B.計(jì)劃階段.編程階段.測試階段
C.總體設(shè)計(jì).詳細(xì)設(shè)計(jì).編程調(diào)試
D.需求分析.功能定義.系統(tǒng)設(shè)計(jì)
82.軟件開發(fā)的瀑布模型,一般都將開發(fā)過程劃分為:分析、設(shè)計(jì)、編碼和測試等階段,一般認(rèn)為可能占用人員最多的階段是(C)
A.分析階段
B.設(shè)計(jì)階段
C.編碼階段
D.測試階段
二、填空
1、 黑盒測試又稱為功能測試數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測 試,白
盒測試也稱為/吉構(gòu)測試或邏輯驅(qū)動測試
2、 如果用戶對系統(tǒng)的目標(biāo)不是很清楚,需求難以定義,這時(shí)最好使
用原型模型進(jìn)行系統(tǒng)開發(fā)。
3、 在軟件開發(fā)的各個(gè)階段中,對軟件開發(fā)成敗影響最大的是 需求分 析
—階段。
4、 研究可行性從 技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性 可行性進(jìn)
行研究。
5、 結(jié)構(gòu)化方法的指導(dǎo)思想是 自頂向下,逐步分解
6、 在軟件開發(fā)的各個(gè)階段中,軟件維護(hù) 階段成為軟件的二次開發(fā)。
7、 類是指具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的 對象 的集合。
8、 數(shù)據(jù)流程圖按照信息流的類型主要分為事務(wù)流和變換流 兩種。
9 、軟件危機(jī)是指在計(jì)算機(jī)軟件開發(fā)和維護(hù)過程中 所遇到的一系列嚴(yán)重問題
10、 ________ 階段是解決目標(biāo)系統(tǒng)做什么的問題, ___________ 階段
是解決目標(biāo)系統(tǒng)怎么做的問題。
11、 ^聚是度量一個(gè)模塊的各個(gè)元素彼此結(jié)合的緊密程度,它是信 息隱
藏概念的自然擴(kuò)展。
12、面向?qū)ο蟮娜齻(gè)子模型分別是對象模型、動態(tài)模型和功能模型
13、____________________ 結(jié)構(gòu)化設(shè)計(jì)簡稱 _______ 分為 和
14、軟件工程方法學(xué)的三要素是 方法 工具 過程
15、軟件設(shè)計(jì)的準(zhǔn)則是 ________ 、 _________ 、 _____ 和 __________
16、JACKSON方法是面向 面向數(shù)據(jù)結(jié)構(gòu) 的設(shè)計(jì)方法,它有 _______ 種
邏輯結(jié)構(gòu)
17、軟件過程模型中 ______ 模型是描述用戶的動態(tài)需求的, ______ 模型是帶有風(fēng)險(xiǎn)驅(qū)動的
18、結(jié)構(gòu)化設(shè)計(jì)方法是面向 過程 的設(shè)計(jì)方法
19、傳統(tǒng)的軟件工程方法學(xué)采用 結(jié)構(gòu)化分析技術(shù) 完成系統(tǒng)分析工 作的
20、模塊的獨(dú)立性要求高聚低耦合
21、在軟件測試的步驟中, 單元 測試是檢驗(yàn)每個(gè)模塊能否單獨(dú)工作
22、調(diào)試是是在測試發(fā)現(xiàn)錯(cuò)誤之后 (排除錯(cuò)誤)糾錯(cuò) 的過程
23、成本/效益分析是從 _________________ 方面進(jìn)行可行性研究
24、Jackson方法是面向 數(shù)據(jù)結(jié)構(gòu) 的軟件設(shè)計(jì)方法
25、聚越高模塊的獨(dú)立性 越好;耦合越高模塊的獨(dú)立性 越差
26、軟件維護(hù)又稱為軟件的 二次開發(fā)
三、判斷題
1、開發(fā)軟件就是編寫程序。 (X)
2、系統(tǒng)測試的主要方法是白盒法,主要進(jìn)行功能測試、性能測試、 安全性測試及可靠性等測試。(X)
3、 生產(chǎn)高質(zhì)量的軟件產(chǎn)品是軟件工程的首要目標(biāo)。 (V)
4、 只有了解用戶、了解任務(wù),才能設(shè)計(jì)出好的用戶界面。(V)
5、 對象是具有相同狀態(tài)的一組操作的集合。(V)
6、 用戶本身的技能,個(gè)性上的差異,行為方式的不同,不會對人機(jī) 界面
使用造成影響。(X)
7、 編程序時(shí)應(yīng)盡可能利用硬件特點(diǎn)以提高程序效率 .&軟件開發(fā)人員(X)
對用戶需求的理解有偏差,這將導(dǎo)致軟件產(chǎn)品與用
8、戶的需求不一致,是產(chǎn)生軟件危機(jī)的唯一原因。 (X)
9、 開發(fā)一個(gè)軟件項(xiàng)目總存在某些不確定性,即存在風(fēng)險(xiǎn)。有些風(fēng)險(xiǎn) 如果控制得不好,可能導(dǎo)致災(zāi)難性的后果。(V)
10、 程序的可靠性、可維護(hù)性和效率通常由程序設(shè)計(jì)語言、源代碼的 質(zhì)量、和語言的實(shí)現(xiàn)機(jī)制決定的。(V)
11、一般單元測試不可以并行進(jìn)行。(X )
12、螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)分析活
動。(V)
13、數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源 和終點(diǎn)進(jìn)行詳細(xì)定義。(X)
14、如果通過軟件測試沒有發(fā)現(xiàn)錯(cuò)誤,則說明軟件是正確的。 (X )
15、快速原型模型可以有效地適應(yīng)用戶需求的動態(tài)變化。(V )
16、白盒測試無需考慮模塊部的執(zhí)行過程和程序結(jié)構(gòu),只要了解模塊的功能即可。(X)
17、用PDL語言寫出的程序不可以在計(jì)算機(jī)上運(yùn)行(V)
18、黑盒測試主要用于測試步驟的后期階段 (V)
19、白盒測試主要用于測試步驟的后期階段 (X)
20、測試就是調(diào)試,都是在計(jì)算機(jī)上運(yùn)行程序的 (X)
四、簡答題
1、什么是軟件危機(jī)
計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程所遇到的一系列問題。
2、什么是黑盒測試和白盒測試
黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了 的功
能是否符合要求。
白盒測試:已知產(chǎn)品的部工作過程,可以通過測試證明每種部操作是 否符
合設(shè)計(jì)規(guī)格要求,所有部成分是否以經(jīng)過檢查。
3、軟件開發(fā)和寫程序有什么不同
軟件包含程序,程序是軟件的一部分。
軟件是程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。
程序只是為了實(shí)現(xiàn)軟件的功能和性能要求而編寫的指令序列
4、軟件設(shè)計(jì)的準(zhǔn)則
5、什么是軟件的生命周期,包含哪些階段
是軟件產(chǎn)生直到報(bào)廢的生命周期,周期有問題定義、可行性分析、總體描
述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測試、驗(yàn)收與運(yùn)行、維護(hù)升級到廢 棄等階段
6、軟件測試的步驟有哪些,含義是什么
7、軟件過程模型有那些,各自特點(diǎn)是什么
8、比較黑盒測試和白盒測試的優(yōu)缺點(diǎn)
黑盒測試的優(yōu)點(diǎn):適應(yīng)于階段測試,從產(chǎn)品功能角度測試,容易入手生成測試數(shù)
據(jù)。
缺點(diǎn):某些代碼得不到測試,如果規(guī)格說明有誤,可能無法發(fā)現(xiàn),不易進(jìn)行充分性測試。
白盒測試的優(yōu)點(diǎn):可構(gòu)成測試數(shù)據(jù)使特定程序部分得到測試,有一定的充分性度量手段,可生成較多工具支持。
缺點(diǎn):不易生成測試數(shù)據(jù),無法對未實(shí)現(xiàn)規(guī)格說明的部分進(jìn)行測試,作 量大通常只用于單元測試有應(yīng)用局限。
9、衡量模塊獨(dú)立性的標(biāo)準(zhǔn)是什么,并解釋與模塊獨(dú)立的具體關(guān)系 聚性和耦合性。 模塊的聚性越高耦合性越低則模塊越獨(dú)立,反之越不獨(dú)立。
【軟件工程期末試卷及答案】相關(guān)文章:
初二下冊語文期末試卷及答案08-04
五年級語文下冊期末試卷及答案12-31
三年級語文下冊期末試卷帶答案08-05
四年級下冊語文人教版期末試卷答案08-04
語文期末試卷04-26
期末試卷反思03-05
地理期末試卷06-14
期末試卷評語05-01
五年級數(shù)學(xué)上冊期末試卷附答案(精選5套)01-13
期末試卷分析報(bào)告11-30