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

