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