軟件工程期末試卷A
一、選擇題(51分)
1. (8分)從供選擇的答案中選出正確的答案填入下面的( )中。
塊間聯系和塊內聯系是評價程序模塊結構質量的重要標準。聯系的方式、共用信息的作用、共用信息的數量和接口的( A )等因素決定了塊間聯系的大小。在塊內聯系中,( B )的塊內聯系最強。
SD方法的總的原則是使每個模塊執(zhí)行( C )功能,模塊間傳送( D )參數,模塊通過( E )語句調用其他模塊,而且模塊間傳送的參數應盡量( F )。
此外,SD方法還提出了判定的作用范圍和模塊的控制范圍等概念。SD方法認為,( G )應該是( H )的子集。
供選擇的答案:
A: ① 友好性 ② 健壯性 ③ 簡單性 ④ 安全性
B: ① 巧合內聚 ② 功能內聚 ③ 通信內聚 ④ 信息內聚
C: ① 一個 ② 多個
D: ① 數據型 ② 控制型 ③ 混合型
E: ① 直接引用 ② 標準調用 ③ 中斷 ④ 宏調用
F: ① 少 ② 多
G~H:① 作用范圍 ② 控制范圍
2. (5分)軟件需求分析的任務不應包括( A )。進行需求分析可使用多種工具,但( B )是不適用的。在需求分析中,分析員要從用戶那里解決的最重要的問題是( C )。需求規(guī)格說明書的內容不應當包括( D )。該文檔在軟件開發(fā)中具有重要的作用,但其作用不應當包括( E )。
供選擇的答案:
A:①問題分析 ②信息域分析 ③結構化程序設計 ④確定邏輯模型
B:①數據流圖 ②判定表 ③PAD圖 ④數據詞典
C:①要讓軟件做什么 ②要給該軟件提供哪些信息
③要求軟件工作效率如何?、芤屲浖哂惺裁礃拥慕Y構
D:①對重要功能的描述 ②對算法的詳細過程性描述
③軟件確認準則 ?、苘浖男阅?br/> E:①軟件設計的依據
②用戶和開發(fā)人員對軟件要“做什么”的共同理解
③軟件驗收的依據
④軟件可行性分析的依據
3. (5分)UML是一種面向對象的統(tǒng)一建模語言。它包含10種圖,其中,用例圖展示了外部actor與系統(tǒng)所提供的用例之間的連接,UML中的外部 actor指( ① ),用例可以用( ② )圖來描述。狀態(tài)圖指明了對象所有可能的狀態(tài)以及狀態(tài)間的遷移 (transition)。如果一個并發(fā)的狀態(tài)由 n 個并發(fā)的子狀態(tài)圖組成,那么,該并發(fā)狀態(tài)在某時刻的狀態(tài)由( ③ )個子狀態(tài)圖中各取一個狀態(tài)組合而成。協作圖描述了協作的( ④ )之間的交互和鏈接(1ink),它畫成( ⑤ )圖的形式。
?、?nbsp; A.人員 B.單位 C.人員或單位 D.人員或外部系統(tǒng)
?、?nbsp; A.類 B.狀態(tài) C.活動 D.協作
?、?nbsp; A.每一 B.任意一 C.任意二 D.任意 m (m ≤ n)
④ A.對象 B.類 C.用例 D.狀態(tài)
?、?nbsp; A.對象 B.類 C.用例 D.狀態(tài)
4. (5分)軟件詳細設計工具可分為三類,即:圖示工具、設計語言和表格工具。圖示工具中,( A )簡單而應用廣泛、( B )表示法中,每一個處理過程用一個盒子表示,盒子可以嵌套。( C )可以縱橫延伸,圖形的空間效果好。
?。?D ) 是一種設計和描述程序的語言,它是一種面向( E )的語言。
供選擇的答案:
A~C: ① NS圖 ② 流程圖 ③ HIPO圖 ④ PAD圖
D: ① C ② PDL ③ RPOLOG ④ PASCAL
E: ① 人 ② 機器 ③ 數據結構 ④ 對象
5. (4分)在使用UML建模時,若需要描述跨越多個用例的單個對象的行為,使用( ① )是最為合適的。UML結構包括了基本構造塊.公共機制和( ② )。UML 中提供了擴展機制,其中,構造型(Stereotype)擴展了UML的( ③ ),約束(Constraint)擴展了UML( ④ )。
?、?nbsp; A.協作圖(Collaboration Diagram) B.序列圖(Sequence Diagram)
C.活動圖(Activity Diagram) D.狀態(tài)圖(Statechart Diagram)
?、?nbsp; A.把這些構造塊放在一起的規(guī)則
B.圖形或文字修飾
C.類與對象的劃分以及接口與實現的分離
D.描述系統(tǒng)細節(jié)的規(guī)格說明
?、?nbsp; A.構造塊的特性,允許創(chuàng)建詳述元素的新信息
B.構造塊的語義,允許增加新的規(guī)則或修改現有的規(guī)則
C.語義,允許創(chuàng)建新的構造塊
D.詞匯,允許創(chuàng)建新的構造塊
?、?nbsp; A.構造塊的特性,允許創(chuàng)建詳述元素的新信息
B.構造塊的語義,允許增加新的規(guī)則或修改現有的規(guī)則
C.語義,允許創(chuàng)建新的構造塊
D.詞匯,允許創(chuàng)建新的構造塊
6. (5分)下面有關軟件維護的敘述有些是不準確的,請列舉5個正確的敘述。
供選擇的答案:
?、?要維護一個軟件,必須先理解這個軟件。
?、?閱讀別人寫的程序并不困難。
?、?如果文檔不齊全也可以維護一個軟件。
?、?誰寫的軟件就得由誰來維護這個軟件。
⑤ 設計軟件時就應考慮到將來的可修改性。
?、?維護軟件時一件很吸引人的創(chuàng)造性工作。
?、?維護軟件就是改正軟件中的錯誤。
⑧ 維護好一個軟件是一件很難的事情。
7. (4分)從供選擇的答案中選出應填入下列( )中的字句。
軟件測試的目的是( A )。為了提高測試的效率,應該( B )。使用白盒測試方法時,確定測試數據應根據( C )和指定的覆蓋標準。與設計測試數據無關的文檔是( D )。
供選擇的答案:
A.① 評價軟件的質量 ?、?發(fā)現軟件的錯誤
?、?找出軟件中的所有錯誤 ④ 證明軟件是正確的
B.① 隨機地選取測試數據
?、?取一切可能的輸入數據作為測試數據
③ 在完成編碼以后制定軟件的測試計劃
?、?選擇發(fā)現錯誤的可能性大的數據作為測試數據
C.① 程序的內部邏輯 ?、?程序的復雜程度
③ 使用說明書 ?、?程序的功能
D.① 該軟件的設計人員 ?、?程序的復雜程度
?、?源程序 ?、?項目開發(fā)計劃
8. (5分)從供選擇的答案中選出應該填入下面( )中的正確答案。
A. 匯編程序是指 ( )。
① 用匯編語言寫的程序
② 符號程序
③ 匯編語言的處理程序
B. 為了實現遞歸子程序的正確調用,人們必須用( )來保存( )及有關信息。
① 堆?! 、?線性表 ③ 隊列 ?、?樹
⑤ 入口點 ?、?返回地址 ?、?斷點
C. UNIX操作系統(tǒng)是(?。┭兄频模怯贸绦蛘Z言(?。鴮憣崿F的。
① Bell實驗室 ② DEC公司 ?、?IBM公司 ④ PASCAL
⑤ 并發(fā)PASCAL ?、?MODULA ⑦ C
9. (5分)在軟件維護的實施過程中,為了正確、有效地修改,需要經歷以下3個步驟:( A )、( B )、( C )。( A )是決定維護成敗和質量好壞的關鍵。( C )包括( D )確認、計算機確認和維護后的( E )。
供選擇的答案:
A~C. ① 修改程序 ?、?建立目標程序?、?分析和理解程序
?、?重新驗證程序 ⑤ 驗收程序
D. ① 動態(tài) ?、?靜態(tài) ?、?人工 ④ 自動
E. ① 驗證 ② 驗收 ③ 檢驗 ④ 存檔
10. (5分)從供選擇的答案中選出同下列關于軟件測試的各條敘述關系最密切的字句。
A. 對可靠性要求很高的軟件,例如操作系統(tǒng),由第三者對源代碼進行逐行檢查。
B. 已有的軟件被改版時,由于受到變更的影響,改版前正常的功能可能發(fā)生異常,性能也可能下降。因此,對變更的軟件進行測試是必要的。
C. 在意識到被測試模塊的內部結構或算法的情況下進行測試。
D. 為了確認用戶的需求,先做出系統(tǒng)的主要部分,提交給用戶試用。
E. 在測試具有層次結構的大型軟件時,有一種方法是從上層模塊開始,由上到下進行測試。此時,有必要用一些模塊替代尚未測試過的下層模塊。
供選擇的答案:
A~E.① 仿真器 ?、?代碼審查 ③ 模擬器 ④ 樁
⑤ 驅動器 ⑥ 域測試 ⑦ 黑盒測試 ⑧ 原型
⑨ 白盒測試 ⑩ 退化測試
二、解答題(49分)
1. (12分)畫出“傳感器監(jiān)測”的用例的活動圖。
2. (15分)使用面向對象設計方法 進行高層設計 ,以建立系統(tǒng)的體系結構。這樣的結構有哪幾種主要的組成部分?每一部分所承擔的職責是什么?
3. (22分)如何理解模塊獨立性?用什么指標來衡量模塊獨立性?

