以下是為大家整理的全國(guó)自考軟件工程模擬試題及答案的文章,供大家學(xué)習(xí)參考!
一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個(gè)備選項(xiàng)中 只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú) 分。
1. 軟件管理比其他工程管理更為()
A. 容
易
B. 困
難
C. 迅
速
D. 遲
緩 答案:B
2. 以下說(shuō)法錯(cuò)誤的是()
A. McCabe度量法對(duì)于不同種類(lèi)的控制流的復(fù)雜性
不能區(qū)分
B. McCabe度量法將簡(jiǎn)單IF語(yǔ)句與循環(huán)語(yǔ)句的復(fù)雜性
分別看待
C. McCabe度量法對(duì)于嵌套IF語(yǔ)句與簡(jiǎn)單CASE語(yǔ)句的復(fù)雜性
是一樣的
D. McCabe度量法將模塊接口當(dāng)成一個(gè)簡(jiǎn)單分支
一樣處理 答案:B
3. 早期的軟件工具只能完成一件特定的任務(wù),后來(lái)出現(xiàn)了工作臺(tái),它將一組工具組合在一起
,對(duì)軟件開(kāi)發(fā)過(guò)程的某些方面提供支持。()是工作臺(tái)的發(fā)展,其目的在于為軟件開(kāi)發(fā)提供完整的 和一致的支持。 軟件開(kāi)發(fā)環(huán)A.
境
B. 軟
件
C. 工
具
D. 工作
臺(tái) 答案:A
4. 表示連接的系統(tǒng)流程圖的符號(hào)是() A. A B. B C. C D. D 答案:B
5. Jackson方法是一種面向()的方法。
A. 對(duì)象
B. 數(shù)據(jù)結(jié)構(gòu)
C. 數(shù)據(jù)流
D. 控制流 答案:B
6. IDEF圖從各個(gè)側(cè)面反映系統(tǒng)()
A. 怎么做
B. 做什么
C. 對(duì)誰(shuí)做
D. 何時(shí)做 答案:B
7. 需求規(guī)格說(shuō)明書(shū)的作用不應(yīng)包括() A. 軟件設(shè)計(jì)的依據(jù) B. 用戶與開(kāi)發(fā)人員對(duì)軟件要做什么的共同理解 C. 軟件驗(yàn)收的依據(jù) D. 軟件可行性研究的依據(jù) 答案:D
8. 以下說(shuō)法錯(cuò)誤的是()
A. MTTF是一個(gè)描述失效模型或一組換效特性的指標(biāo)量
B. MTBF是指兩次相繼失效之間的平均時(shí)間
C. MTBF在實(shí)際使用時(shí)通常指當(dāng)n很大時(shí),系統(tǒng)第n次失效與第n+1次失效之間的平均時(shí)間
D. 對(duì)于失效率為常數(shù)和修復(fù)時(shí)間很短的情況,MTTF與MTBF差別很大 答案:D
9. 在軟件結(jié)構(gòu)設(shè)計(jì)的后處理中,下列說(shuō)法錯(cuò)誤
的是() A. 為模塊寫(xiě)的處理說(shuō)明及接口說(shuō)明可采用IPO圖 B. 數(shù)據(jù)結(jié)構(gòu)的描述可用Warnier圖或Jackon圖
C. 給出設(shè)計(jì)約束或限制。如數(shù)據(jù)的邊界值,數(shù)據(jù)類(lèi)型、格式、內(nèi)存容量及時(shí)間的限
D. 設(shè)計(jì)的優(yōu)化工作主要放在軟件結(jié)構(gòu)設(shè)計(jì)的后處理階段 答案:D
10. 以下說(shuō)法錯(cuò)誤的是()
A. GB指中華人民共和國(guó)國(guó)家軍用標(biāo)準(zhǔn)
B. ANSI指美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)
C. BS指英國(guó)國(guó)家標(biāo)準(zhǔn)
D. DIN指德國(guó)標(biāo)準(zhǔn)協(xié)會(huì) 答案:A
11. 以下說(shuō)法錯(cuò)誤的是()
A. 多態(tài)性防止了程序相互依賴性而帶來(lái)的變
動(dòng)影響 B. 多態(tài)性是指相同的操作或函數(shù)、過(guò)程可作用于多種類(lèi)型的對(duì)象上并獲得不同結(jié)果 C. 多態(tài)性與繼承性相結(jié)合使軟件具有更廣泛的重用性和可擴(kuò)充性 D. 封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ) 答案:A
12. 軟件的集成測(cè)試由()承擔(dān),以提高集成測(cè)試的效果。
A. 該軟件的設(shè)計(jì)人
員
B. 該軟件開(kāi)發(fā)組的負(fù)
責(zé)人
C. 該軟件編程人
員
D. 不屬于該軟件開(kāi)發(fā)組的軟件設(shè)
計(jì)人員 答案:D
13. 自頂向下估算方法的主要優(yōu)點(diǎn)是對(duì)()工作的重視,所以估算中不會(huì)遺漏系統(tǒng)級(jí)的成本估算
,估算工作量小、速度快。它的缺點(diǎn)是往往不清楚()上的技術(shù)性困難問(wèn)題,而往往這些困難將會(huì) 使成本上升。
①成本估算②系統(tǒng)級(jí)③低級(jí)別④工程管理
A. ①和
② B. ②和③ C. ③和④ D. ②和④ 答案:B
14. 對(duì)于過(guò)程設(shè)計(jì)語(yǔ)言,下面說(shuō)法錯(cuò)誤的是()
A. PDL的總體結(jié)構(gòu)與一般程序完全
相同
B. PDL的外語(yǔ)法同相應(yīng)程序語(yǔ)言
一致
C. PDL的內(nèi)語(yǔ)法使用自然語(yǔ)言,雖不能轉(zhuǎn)換成源程序,但可作為注釋嵌入在源程序中
D. PDL的內(nèi)語(yǔ)法使用自然語(yǔ)言,雖不能轉(zhuǎn)換成源程序,但可作為注釋嵌入在源程序中 答案:C
15. 支持像設(shè)計(jì)、實(shí)現(xiàn)或測(cè)試等特定的軟件開(kāi)發(fā)階段的CASE工作臺(tái)是一組()
A. 工具
集
B. 軟件
包
C. 平臺(tái)
集
D. 程序
包 答案:A
16. 為了提高測(cè)試的效率,應(yīng)該()
A. 隨機(jī)地選取測(cè)試
數(shù)據(jù)
B. 取一切可能的輸入數(shù)據(jù)作為測(cè)
試數(shù)據(jù)
C. 在完成編碼以后制定軟件的測(cè)
試計(jì)劃
D. 選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)
試數(shù)據(jù)答案:D
17. 面向數(shù)據(jù)流的設(shè)計(jì)方法把()映射成軟件結(jié)構(gòu)。
A. 數(shù)據(jù)流
B. 系統(tǒng)結(jié)構(gòu)
C. 控制結(jié)構(gòu)
D. 信息流 答案:A
18. 軟件工程是計(jì)算機(jī)科學(xué)中的一個(gè)分支,其主要思想是在軟件生產(chǎn)中用()的方法代替?zhèn)鹘y(tǒng)手 工方法。
A. 工程
化 B. 現(xiàn)代化 C. 科學(xué) D. 智能化 答案:A
19. 下列說(shuō)法完全正確的是()
A. HIPO圖可以描述軟件總的模塊層次結(jié)構(gòu)——IPO圖
B. HIPO圖可以描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況—H圖
C. HIPO圖以模塊分解的層次性以及模塊內(nèi)部輸入、處理、輸出三大基本部分為基礎(chǔ)建立的
D. H圖說(shuō)明了模塊間的信息傳遞及模塊內(nèi)部的處理 答案:C
20. 對(duì)于軟件測(cè)試時(shí)需要的三類(lèi)信息,以下完全正確的
解釋是() A. 軟件配置:指需求規(guī)格說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)、測(cè)試用例等 B. 測(cè)試配置:指測(cè)試方案、測(cè)試驅(qū)動(dòng)程序、源程序等
C. 測(cè)試工具:指計(jì)算機(jī)輔助測(cè)試的有關(guān)工具
D. 上述說(shuō)法都不正確 答案:C
二、填空題(本大題共10小題,每小題2分,共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案 。錯(cuò)填、不填均無(wú)分。
1. 判定樹(shù)較判定表直觀易讀,判定表進(jìn)行邏輯驗(yàn)證較嚴(yán)格,能把所有的可能性全部都考慮到
??蓪煞N工具結(jié)合起來(lái),先用 答案:判定表;判定樹(shù) 作底稿,在此基礎(chǔ)上產(chǎn)生2. 數(shù)據(jù)流圖中,每個(gè)加工至少有 個(gè)輸入流和 答案:1,1
3. 同一個(gè)類(lèi)中的共享是指同一個(gè)類(lèi)中的對(duì)象有著相同 和相同的 。
答案:數(shù)據(jù)結(jié)構(gòu)行為特征
4. 建立數(shù)據(jù)字典一般的兩種形式是 和 答案:手工建立利用計(jì)算機(jī)輔助建立并維護(hù)
5. 匯編語(yǔ)言是面向 的,可以完成 語(yǔ)言無(wú)法滿足要求的特殊功 答案:機(jī)器高級(jí)
6. 軟件開(kāi)發(fā)劃分的各階段任務(wù)盡可能 ,
同一階段任務(wù)性質(zhì)盡可能 答案:相對(duì)獨(dú)立相同7. 是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的
答案:軟件生存周期模型2
8. Jackson結(jié)構(gòu)圖能對(duì)結(jié)構(gòu)進(jìn)行 分
解,因此可以表示 答案:自頂向下層次結(jié)構(gòu)
9. 在一個(gè)模塊中 ,反映模塊的外部特性,邏輯反映它的
內(nèi)部特性。 答案:功能、狀態(tài)與接口
10. 工程網(wǎng)絡(luò)圖只有一個(gè)開(kāi)始點(diǎn)和一個(gè)終止點(diǎn),開(kāi)始點(diǎn)沒(méi)有流入箭頭,稱(chēng)為 為零。終止點(diǎn) 沒(méi)有流出箭頭,稱(chēng)為 為零。答案:入度出度
三、名詞解釋題(本大題共5小題,每小題3分,共15分)
1. 非漸增式測(cè)試 答案:非漸增式測(cè)試首先對(duì)每個(gè)模塊分別進(jìn)行單元測(cè)試,然后再把所有的模塊按設(shè)計(jì)要求組裝在 一起進(jìn)行測(cè)試。
2. 附加策略 答案:附加策略是將原型用于開(kāi)發(fā)的全過(guò)程,原型由最基本的核心開(kāi)始,逐步增加新的功能和新 的需求,反復(fù)修改反復(fù)擴(kuò)充,最后發(fā)展為用戶滿意的最終系統(tǒng)。
3. 軟件概要設(shè)計(jì) 答案:進(jìn)入了設(shè)計(jì)階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手 實(shí)現(xiàn)軟件的需求,并將設(shè)計(jì)的結(jié)果反映在“設(shè)計(jì)規(guī)格說(shuō)明書(shū)”文檔中,所以軟件設(shè)計(jì)是一個(gè)把軟 件需求轉(zhuǎn)換為軟件表示的過(guò)程,最初這種表示只是描述了軟件的總的體系結(jié)構(gòu),稱(chēng)為軟件概要設(shè) 計(jì)或結(jié)構(gòu)設(shè)計(jì)
4. 經(jīng)濟(jì)可行性 答案:對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè),運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng) 建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)行估計(jì)。
5. IDEF方法 答案:IDEF方法是美國(guó)空軍在1981年針對(duì)集成化計(jì)算機(jī)輔助制造(簡(jiǎn)稱(chēng)ICAM)工程項(xiàng)目中用于進(jìn)行 復(fù)雜系統(tǒng)分析和設(shè)計(jì)的方法,是在結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)的基礎(chǔ)上提出來(lái)的。
四、簡(jiǎn)答題(本大題共4小題,每小題5分,共20分)
1. 非漸增式測(cè)試與漸增式測(cè)試有什么區(qū)別?漸增式測(cè)試如何組裝模塊? 答案:漸增方式與非漸增方式測(cè)試的方法有以下區(qū)別: (1)非漸增式方法把單元測(cè)試和集成測(cè)試分成兩個(gè)不同的階段,前一階段完成模塊的單元測(cè)試 ,后一階段完成集成測(cè)試。而漸增式測(cè)試往往把單元測(cè)試與集成測(cè)試合在一起,同時(shí)完成。 (2)非漸增式需要更多的工作量,因?yàn)槊總€(gè)模塊都需要驅(qū)動(dòng)模塊和樁模塊,而漸增式利用已測(cè)試 過(guò)的模塊作為驅(qū)動(dòng)模塊或樁模塊,因此工作量較少。 (3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯(cuò)誤,非漸增式最后組裝時(shí)才發(fā)現(xiàn)。 (4)漸增式有利于排錯(cuò),發(fā)生錯(cuò)誤往往和最近加進(jìn)來(lái)的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯(cuò)誤推遲 到最后,很難判斷是哪一部分接口出錯(cuò)。 (5)漸增式比較徹底,已測(cè)試的模塊和新的模塊再測(cè)試。 (6)漸增式占用的時(shí)間較多,但非漸增式需更多的驅(qū)動(dòng)模塊、樁模塊也占用一些時(shí)間。 (7)非漸增式開(kāi)始可并行測(cè)試所有模塊,能充分利用人力,對(duì)測(cè)試大型軟件很有意義。 漸增式測(cè)試有以下兩種不同的組裝模塊的方法: (1)自頂向下組合。該方法只需編寫(xiě)樁模塊,其步驟是從頂層模塊開(kāi)始,沿被測(cè)程序的軟件結(jié)構(gòu) 圖的控制路徑逐步向下測(cè)試,從而把各個(gè)模塊都結(jié)合進(jìn)來(lái),它又有兩種組合策略: ①深度優(yōu)先策略:先從軟件結(jié)構(gòu)中選擇一條主控制路徑,把該路徑上的模塊一個(gè)個(gè)結(jié)合進(jìn)來(lái)進(jìn)行 測(cè)試,以便完成一個(gè)特定的子功能,接著再結(jié)合其它需要優(yōu)先考慮的路徑。 ②寬度優(yōu)先策略:逐層結(jié)合直接下屬的所有模塊。 (2)自底向上結(jié)合。該方法僅需編寫(xiě)驅(qū)動(dòng)模塊。其步驟為: ①把低層模塊組合成實(shí)現(xiàn)一個(gè)個(gè)特定子功能的族。②為每一個(gè)族編寫(xiě)一個(gè)驅(qū)動(dòng)模塊,以協(xié)調(diào)測(cè)試 用例的輸入和測(cè)試結(jié)果的輸出。③對(duì)模塊族進(jìn)行測(cè)試。④按軟件結(jié)構(gòu)圖依次向上擴(kuò)展,用實(shí)際模 塊替換驅(qū)動(dòng)模塊,形成一個(gè)個(gè)更大的族。⑤重覆②至④步,直至軟件系統(tǒng)全部測(cè)試完畢。
2. 什么是軟件危機(jī)?其產(chǎn)生的原因是什么? 答案:當(dāng)軟件開(kāi)發(fā)技術(shù)的進(jìn)步不能跟上硬件技術(shù)的進(jìn)步,未能滿足發(fā)展的要求,致軟件開(kāi)發(fā)中遇 到的問(wèn)題找不到解決的辦法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。主要 表現(xiàn)為: (1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延; (2)開(kāi)發(fā)的軟件不能滿足用戶要求; (3)開(kāi)發(fā)的軟件可維護(hù)性差; (4)開(kāi)發(fā)的軟件可靠性差。 造成軟件危機(jī)的原因是由于軟件產(chǎn)品本身的特點(diǎn)以及開(kāi)發(fā)軟件的方式、方法、技術(shù)和人員引起的。其產(chǎn)生原因主要有以下幾方面: (1)軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜; (2)軟件開(kāi)發(fā)管理困難而復(fù)雜;
第11/15頁(yè)
(3)軟件開(kāi)發(fā)費(fèi)用不斷增加; (4)軟件開(kāi)發(fā)技術(shù)落后; (5)生產(chǎn)方式落后; (6)開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。
3. 簡(jiǎn)述SA方法的優(yōu)缺點(diǎn)? 答案:結(jié)構(gòu)化分析方法是軟件需求分析中公認(rèn)的、有成效的、技術(shù)成熟、使用廣泛的一種方法 ,它較適合于開(kāi)發(fā)數(shù)據(jù)處理類(lèi)型軟件的需求分析。該方法利用圖形等半形式化工具表達(dá)需求,簡(jiǎn) 明、易讀,也易于使用,為后一階段的設(shè)計(jì)、測(cè)試、評(píng)價(jià)提供了有利的條件。但SA方法也存在有 不足之處: (1)傳統(tǒng)的SA方法主要用于數(shù)據(jù)處理方面的問(wèn)題,主要工具DFD體現(xiàn)了系統(tǒng)“做什么”的功能,但 它僅是一個(gè)靜態(tài)模型,沒(méi)有反映處理的順序,即控制流程。因此,不適合描述實(shí)時(shí)控制系統(tǒng)。 (2)SA方法使用DFD在分析與描述“數(shù)據(jù)要求”方面是有限的,DFD應(yīng)與數(shù)據(jù)庫(kù)技術(shù)中的實(shí)體聯(lián)系 圖(ER圖)結(jié)合起來(lái)。 (3)DFD不適合描述人機(jī)界面系統(tǒng)的需求。SA方法則對(duì)這一部分用自然語(yǔ)言作補(bǔ)充,對(duì)這類(lèi)系統(tǒng)可 采取其他的分析方法。 (4)為了更精確地描述軟件需求,提高軟件系統(tǒng)的可靠性、安全性,也便于實(shí)現(xiàn)自動(dòng)化,SA方法 可與形式化方法結(jié)合起來(lái)。
4. 軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容? 答案:模塊化。指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過(guò)程。每個(gè)模 塊完成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要 求的功能。模塊化是軟件解決復(fù)雜問(wèn)題所具備的手段。 抽象。抽象是認(rèn)識(shí)復(fù)雜現(xiàn)象過(guò)程中使用的思維工具即抽出事物本質(zhì)的共同的特性而暫不考慮它的 細(xì)節(jié),不考慮其它因素。軟件工程過(guò)程中的每一步都可以看作是對(duì)軟件解決方法的抽象層次的一 次細(xì)化。 信息隱蔽。信息隱蔽指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不 需要這些信息的其它模塊來(lái)說(shuō),是不能訪問(wèn)的。通過(guò)信息隱蔽,可以定義和實(shí)施對(duì)模塊的過(guò)程細(xì) 節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。 模塊獨(dú)立性。模塊獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其它模塊的聯(lián)系最 少且接口簡(jiǎn)單。
一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個(gè)備選項(xiàng)中 只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú) 分。
1. 軟件管理比其他工程管理更為()
A. 容
易
B. 困
難
C. 迅
速
D. 遲
緩 答案:B
2. 以下說(shuō)法錯(cuò)誤的是()
A. McCabe度量法對(duì)于不同種類(lèi)的控制流的復(fù)雜性
不能區(qū)分
B. McCabe度量法將簡(jiǎn)單IF語(yǔ)句與循環(huán)語(yǔ)句的復(fù)雜性
分別看待
C. McCabe度量法對(duì)于嵌套IF語(yǔ)句與簡(jiǎn)單CASE語(yǔ)句的復(fù)雜性
是一樣的
D. McCabe度量法將模塊接口當(dāng)成一個(gè)簡(jiǎn)單分支
一樣處理 答案:B
3. 早期的軟件工具只能完成一件特定的任務(wù),后來(lái)出現(xiàn)了工作臺(tái),它將一組工具組合在一起
,對(duì)軟件開(kāi)發(fā)過(guò)程的某些方面提供支持。()是工作臺(tái)的發(fā)展,其目的在于為軟件開(kāi)發(fā)提供完整的 和一致的支持。 軟件開(kāi)發(fā)環(huán)A.
境
B. 軟
件
C. 工
具
D. 工作
臺(tái) 答案:A
4. 表示連接的系統(tǒng)流程圖的符號(hào)是() A. A B. B C. C D. D 答案:B
5. Jackson方法是一種面向()的方法。
A. 對(duì)象
B. 數(shù)據(jù)結(jié)構(gòu)
C. 數(shù)據(jù)流
D. 控制流 答案:B
6. IDEF圖從各個(gè)側(cè)面反映系統(tǒng)()
A. 怎么做
B. 做什么
C. 對(duì)誰(shuí)做
D. 何時(shí)做 答案:B
7. 需求規(guī)格說(shuō)明書(shū)的作用不應(yīng)包括() A. 軟件設(shè)計(jì)的依據(jù) B. 用戶與開(kāi)發(fā)人員對(duì)軟件要做什么的共同理解 C. 軟件驗(yàn)收的依據(jù) D. 軟件可行性研究的依據(jù) 答案:D
8. 以下說(shuō)法錯(cuò)誤的是()
A. MTTF是一個(gè)描述失效模型或一組換效特性的指標(biāo)量
B. MTBF是指兩次相繼失效之間的平均時(shí)間
C. MTBF在實(shí)際使用時(shí)通常指當(dāng)n很大時(shí),系統(tǒng)第n次失效與第n+1次失效之間的平均時(shí)間
D. 對(duì)于失效率為常數(shù)和修復(fù)時(shí)間很短的情況,MTTF與MTBF差別很大 答案:D
9. 在軟件結(jié)構(gòu)設(shè)計(jì)的后處理中,下列說(shuō)法錯(cuò)誤
的是() A. 為模塊寫(xiě)的處理說(shuō)明及接口說(shuō)明可采用IPO圖 B. 數(shù)據(jù)結(jié)構(gòu)的描述可用Warnier圖或Jackon圖
C. 給出設(shè)計(jì)約束或限制。如數(shù)據(jù)的邊界值,數(shù)據(jù)類(lèi)型、格式、內(nèi)存容量及時(shí)間的限
D. 設(shè)計(jì)的優(yōu)化工作主要放在軟件結(jié)構(gòu)設(shè)計(jì)的后處理階段 答案:D
10. 以下說(shuō)法錯(cuò)誤的是()
A. GB指中華人民共和國(guó)國(guó)家軍用標(biāo)準(zhǔn)
B. ANSI指美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)
C. BS指英國(guó)國(guó)家標(biāo)準(zhǔn)
D. DIN指德國(guó)標(biāo)準(zhǔn)協(xié)會(huì) 答案:A
11. 以下說(shuō)法錯(cuò)誤的是()
A. 多態(tài)性防止了程序相互依賴性而帶來(lái)的變
動(dòng)影響 B. 多態(tài)性是指相同的操作或函數(shù)、過(guò)程可作用于多種類(lèi)型的對(duì)象上并獲得不同結(jié)果 C. 多態(tài)性與繼承性相結(jié)合使軟件具有更廣泛的重用性和可擴(kuò)充性 D. 封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ) 答案:A
12. 軟件的集成測(cè)試由()承擔(dān),以提高集成測(cè)試的效果。
A. 該軟件的設(shè)計(jì)人
員
B. 該軟件開(kāi)發(fā)組的負(fù)
責(zé)人
C. 該軟件編程人
員
D. 不屬于該軟件開(kāi)發(fā)組的軟件設(shè)
計(jì)人員 答案:D
13. 自頂向下估算方法的主要優(yōu)點(diǎn)是對(duì)()工作的重視,所以估算中不會(huì)遺漏系統(tǒng)級(jí)的成本估算
,估算工作量小、速度快。它的缺點(diǎn)是往往不清楚()上的技術(shù)性困難問(wèn)題,而往往這些困難將會(huì) 使成本上升。
①成本估算②系統(tǒng)級(jí)③低級(jí)別④工程管理
A. ①和
② B. ②和③ C. ③和④ D. ②和④ 答案:B
14. 對(duì)于過(guò)程設(shè)計(jì)語(yǔ)言,下面說(shuō)法錯(cuò)誤的是()
A. PDL的總體結(jié)構(gòu)與一般程序完全
相同
B. PDL的外語(yǔ)法同相應(yīng)程序語(yǔ)言
一致
C. PDL的內(nèi)語(yǔ)法使用自然語(yǔ)言,雖不能轉(zhuǎn)換成源程序,但可作為注釋嵌入在源程序中
D. PDL的內(nèi)語(yǔ)法使用自然語(yǔ)言,雖不能轉(zhuǎn)換成源程序,但可作為注釋嵌入在源程序中 答案:C
15. 支持像設(shè)計(jì)、實(shí)現(xiàn)或測(cè)試等特定的軟件開(kāi)發(fā)階段的CASE工作臺(tái)是一組()
A. 工具
集
B. 軟件
包
C. 平臺(tái)
集
D. 程序
包 答案:A
16. 為了提高測(cè)試的效率,應(yīng)該()
A. 隨機(jī)地選取測(cè)試
數(shù)據(jù)
B. 取一切可能的輸入數(shù)據(jù)作為測(cè)
試數(shù)據(jù)
C. 在完成編碼以后制定軟件的測(cè)
試計(jì)劃
D. 選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)
試數(shù)據(jù)答案:D
17. 面向數(shù)據(jù)流的設(shè)計(jì)方法把()映射成軟件結(jié)構(gòu)。
A. 數(shù)據(jù)流
B. 系統(tǒng)結(jié)構(gòu)
C. 控制結(jié)構(gòu)
D. 信息流 答案:A
18. 軟件工程是計(jì)算機(jī)科學(xué)中的一個(gè)分支,其主要思想是在軟件生產(chǎn)中用()的方法代替?zhèn)鹘y(tǒng)手 工方法。
A. 工程
化 B. 現(xiàn)代化 C. 科學(xué) D. 智能化 答案:A
19. 下列說(shuō)法完全正確的是()
A. HIPO圖可以描述軟件總的模塊層次結(jié)構(gòu)——IPO圖
B. HIPO圖可以描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況—H圖
C. HIPO圖以模塊分解的層次性以及模塊內(nèi)部輸入、處理、輸出三大基本部分為基礎(chǔ)建立的
D. H圖說(shuō)明了模塊間的信息傳遞及模塊內(nèi)部的處理 答案:C
20. 對(duì)于軟件測(cè)試時(shí)需要的三類(lèi)信息,以下完全正確的
解釋是() A. 軟件配置:指需求規(guī)格說(shuō)明書(shū)、設(shè)計(jì)說(shuō)明書(shū)、測(cè)試用例等 B. 測(cè)試配置:指測(cè)試方案、測(cè)試驅(qū)動(dòng)程序、源程序等
C. 測(cè)試工具:指計(jì)算機(jī)輔助測(cè)試的有關(guān)工具
D. 上述說(shuō)法都不正確 答案:C
二、填空題(本大題共10小題,每小題2分,共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案 。錯(cuò)填、不填均無(wú)分。
1. 判定樹(shù)較判定表直觀易讀,判定表進(jìn)行邏輯驗(yàn)證較嚴(yán)格,能把所有的可能性全部都考慮到
??蓪煞N工具結(jié)合起來(lái),先用 答案:判定表;判定樹(shù) 作底稿,在此基礎(chǔ)上產(chǎn)生2. 數(shù)據(jù)流圖中,每個(gè)加工至少有 個(gè)輸入流和 答案:1,1
3. 同一個(gè)類(lèi)中的共享是指同一個(gè)類(lèi)中的對(duì)象有著相同 和相同的 。
答案:數(shù)據(jù)結(jié)構(gòu)行為特征
4. 建立數(shù)據(jù)字典一般的兩種形式是 和 答案:手工建立利用計(jì)算機(jī)輔助建立并維護(hù)
5. 匯編語(yǔ)言是面向 的,可以完成 語(yǔ)言無(wú)法滿足要求的特殊功 答案:機(jī)器高級(jí)
6. 軟件開(kāi)發(fā)劃分的各階段任務(wù)盡可能 ,
同一階段任務(wù)性質(zhì)盡可能 答案:相對(duì)獨(dú)立相同7. 是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的
答案:軟件生存周期模型2
8. Jackson結(jié)構(gòu)圖能對(duì)結(jié)構(gòu)進(jìn)行 分
解,因此可以表示 答案:自頂向下層次結(jié)構(gòu)
9. 在一個(gè)模塊中 ,反映模塊的外部特性,邏輯反映它的
內(nèi)部特性。 答案:功能、狀態(tài)與接口
10. 工程網(wǎng)絡(luò)圖只有一個(gè)開(kāi)始點(diǎn)和一個(gè)終止點(diǎn),開(kāi)始點(diǎn)沒(méi)有流入箭頭,稱(chēng)為 為零。終止點(diǎn) 沒(méi)有流出箭頭,稱(chēng)為 為零。答案:入度出度
三、名詞解釋題(本大題共5小題,每小題3分,共15分)
1. 非漸增式測(cè)試 答案:非漸增式測(cè)試首先對(duì)每個(gè)模塊分別進(jìn)行單元測(cè)試,然后再把所有的模塊按設(shè)計(jì)要求組裝在 一起進(jìn)行測(cè)試。
2. 附加策略 答案:附加策略是將原型用于開(kāi)發(fā)的全過(guò)程,原型由最基本的核心開(kāi)始,逐步增加新的功能和新 的需求,反復(fù)修改反復(fù)擴(kuò)充,最后發(fā)展為用戶滿意的最終系統(tǒng)。
3. 軟件概要設(shè)計(jì) 答案:進(jìn)入了設(shè)計(jì)階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手 實(shí)現(xiàn)軟件的需求,并將設(shè)計(jì)的結(jié)果反映在“設(shè)計(jì)規(guī)格說(shuō)明書(shū)”文檔中,所以軟件設(shè)計(jì)是一個(gè)把軟 件需求轉(zhuǎn)換為軟件表示的過(guò)程,最初這種表示只是描述了軟件的總的體系結(jié)構(gòu),稱(chēng)為軟件概要設(shè) 計(jì)或結(jié)構(gòu)設(shè)計(jì)
4. 經(jīng)濟(jì)可行性 答案:對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè),運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng) 建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)行估計(jì)。
5. IDEF方法 答案:IDEF方法是美國(guó)空軍在1981年針對(duì)集成化計(jì)算機(jī)輔助制造(簡(jiǎn)稱(chēng)ICAM)工程項(xiàng)目中用于進(jìn)行 復(fù)雜系統(tǒng)分析和設(shè)計(jì)的方法,是在結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)的基礎(chǔ)上提出來(lái)的。
四、簡(jiǎn)答題(本大題共4小題,每小題5分,共20分)
1. 非漸增式測(cè)試與漸增式測(cè)試有什么區(qū)別?漸增式測(cè)試如何組裝模塊? 答案:漸增方式與非漸增方式測(cè)試的方法有以下區(qū)別: (1)非漸增式方法把單元測(cè)試和集成測(cè)試分成兩個(gè)不同的階段,前一階段完成模塊的單元測(cè)試 ,后一階段完成集成測(cè)試。而漸增式測(cè)試往往把單元測(cè)試與集成測(cè)試合在一起,同時(shí)完成。 (2)非漸增式需要更多的工作量,因?yàn)槊總€(gè)模塊都需要驅(qū)動(dòng)模塊和樁模塊,而漸增式利用已測(cè)試 過(guò)的模塊作為驅(qū)動(dòng)模塊或樁模塊,因此工作量較少。 (3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯(cuò)誤,非漸增式最后組裝時(shí)才發(fā)現(xiàn)。 (4)漸增式有利于排錯(cuò),發(fā)生錯(cuò)誤往往和最近加進(jìn)來(lái)的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯(cuò)誤推遲 到最后,很難判斷是哪一部分接口出錯(cuò)。 (5)漸增式比較徹底,已測(cè)試的模塊和新的模塊再測(cè)試。 (6)漸增式占用的時(shí)間較多,但非漸增式需更多的驅(qū)動(dòng)模塊、樁模塊也占用一些時(shí)間。 (7)非漸增式開(kāi)始可并行測(cè)試所有模塊,能充分利用人力,對(duì)測(cè)試大型軟件很有意義。 漸增式測(cè)試有以下兩種不同的組裝模塊的方法: (1)自頂向下組合。該方法只需編寫(xiě)樁模塊,其步驟是從頂層模塊開(kāi)始,沿被測(cè)程序的軟件結(jié)構(gòu) 圖的控制路徑逐步向下測(cè)試,從而把各個(gè)模塊都結(jié)合進(jìn)來(lái),它又有兩種組合策略: ①深度優(yōu)先策略:先從軟件結(jié)構(gòu)中選擇一條主控制路徑,把該路徑上的模塊一個(gè)個(gè)結(jié)合進(jìn)來(lái)進(jìn)行 測(cè)試,以便完成一個(gè)特定的子功能,接著再結(jié)合其它需要優(yōu)先考慮的路徑。 ②寬度優(yōu)先策略:逐層結(jié)合直接下屬的所有模塊。 (2)自底向上結(jié)合。該方法僅需編寫(xiě)驅(qū)動(dòng)模塊。其步驟為: ①把低層模塊組合成實(shí)現(xiàn)一個(gè)個(gè)特定子功能的族。②為每一個(gè)族編寫(xiě)一個(gè)驅(qū)動(dòng)模塊,以協(xié)調(diào)測(cè)試 用例的輸入和測(cè)試結(jié)果的輸出。③對(duì)模塊族進(jìn)行測(cè)試。④按軟件結(jié)構(gòu)圖依次向上擴(kuò)展,用實(shí)際模 塊替換驅(qū)動(dòng)模塊,形成一個(gè)個(gè)更大的族。⑤重覆②至④步,直至軟件系統(tǒng)全部測(cè)試完畢。
2. 什么是軟件危機(jī)?其產(chǎn)生的原因是什么? 答案:當(dāng)軟件開(kāi)發(fā)技術(shù)的進(jìn)步不能跟上硬件技術(shù)的進(jìn)步,未能滿足發(fā)展的要求,致軟件開(kāi)發(fā)中遇 到的問(wèn)題找不到解決的辦法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。主要 表現(xiàn)為: (1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延; (2)開(kāi)發(fā)的軟件不能滿足用戶要求; (3)開(kāi)發(fā)的軟件可維護(hù)性差; (4)開(kāi)發(fā)的軟件可靠性差。 造成軟件危機(jī)的原因是由于軟件產(chǎn)品本身的特點(diǎn)以及開(kāi)發(fā)軟件的方式、方法、技術(shù)和人員引起的。其產(chǎn)生原因主要有以下幾方面: (1)軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜; (2)軟件開(kāi)發(fā)管理困難而復(fù)雜;
第11/15頁(yè)
(3)軟件開(kāi)發(fā)費(fèi)用不斷增加; (4)軟件開(kāi)發(fā)技術(shù)落后; (5)生產(chǎn)方式落后; (6)開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。
3. 簡(jiǎn)述SA方法的優(yōu)缺點(diǎn)? 答案:結(jié)構(gòu)化分析方法是軟件需求分析中公認(rèn)的、有成效的、技術(shù)成熟、使用廣泛的一種方法 ,它較適合于開(kāi)發(fā)數(shù)據(jù)處理類(lèi)型軟件的需求分析。該方法利用圖形等半形式化工具表達(dá)需求,簡(jiǎn) 明、易讀,也易于使用,為后一階段的設(shè)計(jì)、測(cè)試、評(píng)價(jià)提供了有利的條件。但SA方法也存在有 不足之處: (1)傳統(tǒng)的SA方法主要用于數(shù)據(jù)處理方面的問(wèn)題,主要工具DFD體現(xiàn)了系統(tǒng)“做什么”的功能,但 它僅是一個(gè)靜態(tài)模型,沒(méi)有反映處理的順序,即控制流程。因此,不適合描述實(shí)時(shí)控制系統(tǒng)。 (2)SA方法使用DFD在分析與描述“數(shù)據(jù)要求”方面是有限的,DFD應(yīng)與數(shù)據(jù)庫(kù)技術(shù)中的實(shí)體聯(lián)系 圖(ER圖)結(jié)合起來(lái)。 (3)DFD不適合描述人機(jī)界面系統(tǒng)的需求。SA方法則對(duì)這一部分用自然語(yǔ)言作補(bǔ)充,對(duì)這類(lèi)系統(tǒng)可 采取其他的分析方法。 (4)為了更精確地描述軟件需求,提高軟件系統(tǒng)的可靠性、安全性,也便于實(shí)現(xiàn)自動(dòng)化,SA方法 可與形式化方法結(jié)合起來(lái)。
4. 軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容? 答案:模塊化。指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過(guò)程。每個(gè)模 塊完成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要 求的功能。模塊化是軟件解決復(fù)雜問(wèn)題所具備的手段。 抽象。抽象是認(rèn)識(shí)復(fù)雜現(xiàn)象過(guò)程中使用的思維工具即抽出事物本質(zhì)的共同的特性而暫不考慮它的 細(xì)節(jié),不考慮其它因素。軟件工程過(guò)程中的每一步都可以看作是對(duì)軟件解決方法的抽象層次的一 次細(xì)化。 信息隱蔽。信息隱蔽指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不 需要這些信息的其它模塊來(lái)說(shuō),是不能訪問(wèn)的。通過(guò)信息隱蔽,可以定義和實(shí)施對(duì)模塊的過(guò)程細(xì) 節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。 模塊獨(dú)立性。模塊獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其它模塊的聯(lián)系最 少且接口簡(jiǎn)單。