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