全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【試題實例】軟件工程試題一、從供選擇的答案中選出應(yīng)填入下列敘述中( )內(nèi)的正確答案。 軟件設(shè)計中劃分程序模塊通常遵循的原則是使各模塊間的耦合盡可能( A )。三種可能的模塊耦合是: ( B ),例如,一個模塊直接引用另一個模塊中的數(shù)據(jù)。 ( C ),例如,一個模塊把開關(guān)量作為參數(shù)傳送給另一個模塊。 ( D ),例如,一個模塊通過公共數(shù)據(jù)結(jié)構(gòu)把數(shù)據(jù)傳送給另一個模塊。 其中, ( E )的耦合性最強。【供選擇的答案】 A: 強 適中 弱 BE: 公共耦合 數(shù)據(jù)耦合 邏輯耦合 外部耦合 內(nèi)容耦合 控制耦合二、為高質(zhì)量地開發(fā)軟件項目,在軟件結(jié)構(gòu)設(shè)計時必須遵循( A )的原則,( B )建立軟件系統(tǒng)的模塊結(jié)構(gòu)。并且應(yīng)根據(jù)( C )評價系統(tǒng)模塊劃分的質(zhì)量。此外在模塊設(shè)計時,應(yīng)從5種基本的( D )出發(fā),利用它們組合成一個模塊的程序塊結(jié)構(gòu)。 要求每個( E )的結(jié)構(gòu)應(yīng)是單入口和單出口?!竟┻x擇的答案】 A: 質(zhì)量控制 程序優(yōu)化 信息隱蔽 數(shù)據(jù)共享 模塊通信 B: 自底向上 自頂向下 衍變的自頂向下 隨機 回歸 C: 數(shù)據(jù)獨立性 程序獨立性 模塊獨立性 可修改性 可理解性 D: 數(shù)據(jù)結(jié)構(gòu) 處理結(jié)構(gòu) 功能結(jié)構(gòu) 成份 控制結(jié)構(gòu) E: 程序塊 公共塊 數(shù)據(jù)塊 記錄塊 通信塊三、從下列敘述中選出5條關(guān)于好的程序設(shè)計風格的正確敘述。(在對的前面打) (1) 使用括號以改善表達式的清晰性。 (2) 對遞歸定義的數(shù)據(jù)結(jié)構(gòu)不要使用遞歸過程。 (3) 盡可能對程序代碼進行優(yōu)化。 (4) 不要修補不好的程序, 要重新寫。 (5) 不要進行浮點數(shù)的相等比較。 (6) 應(yīng)盡可能多地輸出中間結(jié)果。 (7) 利用數(shù)據(jù)類型對數(shù)據(jù)值進行防范。 (8) 用計數(shù)方法而不是用文件結(jié)束符或輸入序列結(jié)束符來判別輸入的結(jié)束。 (9) 程序中的注釋是可有可無的。 (10) 使用有意義的標識符。四、從下列敘述中選出5條關(guān)于軟件測試的正確敘述。(在對的前面打) (1) 為了使得軟件容易測試, 應(yīng)該使用高級的程序設(shè)計語言編制程序。 (2) 程序測試是一個程序的執(zhí)行過程, 目的是為了發(fā)現(xiàn)軟件中隱藏的錯誤。 (3) 如果程序中連鎖式連接了8個判定(IF)結(jié)構(gòu), 則程序中總的路徑數(shù)達28 。 (4) 白盒測試僅與程序的內(nèi)部結(jié)構(gòu)有關(guān), 完全可以不考慮程序的功能要求。 (5) 為了快速完成集成測試, 采用一次性集成方式是適宜的。 (6) 對一批模塊進行測試,發(fā)現(xiàn)錯誤多的模塊中殘留的錯誤將比其它的模塊少。 (7) 好的測試用例應(yīng)能證明軟件是正確的。 (8) 邊界值分析方法是取輸入輸出等價類的邊界值做為測試用例。 (9) 等價類劃分方法考慮了各等價類之間取值的組合情況下可能的結(jié)果。 (10) 判定覆蓋法可能查不出在判定中邏輯運算符使用有誤時產(chǎn)生的錯誤。五、從下列敘述中選出5條有利于軟件可維護性的正確敘述。(在對的前面打) (1) 在進行需求分析時需同時考慮如何實現(xiàn)可維護性問題。 (2) 完成測試作業(yè)后,為了縮短源程序的長度應(yīng)刪去程序中的注解。 (3) 盡可能在軟件生產(chǎn)過程中保證各階段文檔的正確性。 (4) 編程時應(yīng)盡可能使用全局變量。 (5) 選擇時間效率和空間效率盡可能高的算法。 (6) 盡可能利用硬件的特點。 (7) 重視程序結(jié)構(gòu)的設(shè)計,使程序具有較好的層次結(jié)構(gòu)。 (8) 使用維護工具或支撐環(huán)境。 (9) 在進行概要設(shè)計時應(yīng)加強模塊間的聯(lián)系。 (10) 提高程序的可讀性,盡可能使用高級語言編寫程序。 (11) 為了加快軟件維護作業(yè)的進度,應(yīng)盡可能增加維護人員的數(shù)目。 六、下面是一段用賽德爾迭代法求解線性方程組的程序。其中An,n 是方程組的系數(shù)矩陣, Bn是方程組的右端項,Xn 是方程組的解向量。eps是控制迭代精度的較小實數(shù)。imax是控制迭代的最大次數(shù)。flag是標志,0,表示迭代不收斂;1,表示迭代收斂。 for k := 1 to n do Xk := 0.0; Xn := 1.0; for i := 1 to imax do begin flag := 1; for j := 1 to n to begin s := Bj; for k := 1 to n do begin if j k then s := s + Xk; s := sAj, k * Xk end; if abs(Xjs) (abs(s) + 1.0) * eps then flag := 0; Xj := s; end; if flag 1 then goto L1; end; L1: (1) 試畫出它的結(jié)構(gòu)化的程序流程圖。(2) 將它改為N-S圖。(3) 計算它的McCabe環(huán)路復(fù)雜性。七、下面是一趟插入排序的程序, 把Ri1插入到R1.i的適當位置 R0 = Ri + 1; j = i; while ( Rj R0 ) Rj + 1 = Rj; j = j 1; Rj + 1 = R0;用路徑覆蓋方法為它設(shè)計足夠的測試用例(while循環(huán)次數(shù)為0次、1次、2次)。八、閱讀下列關(guān)于軟件可靠性方面的敘述,回答問題1和問題2。軟件的可靠度可定義為:在假定輸入和硬件不發(fā)生錯誤的前提下,對于給定的環(huán)境和給定的輸入,在指定的時間內(nèi)能完成規(guī)定任務(wù)的概率。某軟件中心的評測部為了評估已開發(fā)實現(xiàn)的應(yīng)用軟件ASP的可靠性,決定采用軟件可靠性的錯誤播種模型來進行測試和評估。評測部在評估時,作了下列三個假設(shè):(1) 在測試前,單位長度的故障個數(shù)ET / IT 為一常數(shù),此常數(shù)基本上落在一個固定的范圍內(nèi)。其中IT 為被測程序的長度(即機器指令條數(shù)),ET 為被測程序中故障總數(shù)。(2) 失效率正比于軟件中剩余的(潛伏的)故障數(shù),平均無故障時間MTTF與單位長度的剩余故障個數(shù)成反比,即 MTTF = 1/(K*r )。其中r 為單位長度剩余故障個數(shù),K的典型值現(xiàn)取為200。(3) 測試中發(fā)現(xiàn)的錯誤都得到了及時改正,在測試過程中沒有引入新的錯誤。評測部對ASP軟件人為地植入了10個錯誤,即NS = 10,在開始測試的一小段時間內(nèi),發(fā)現(xiàn)了160個固有故障,即n = 160,又發(fā)現(xiàn)了植入的故障2個,即nS = 2,被測程序ASP的長度(機器指令條數(shù))為105 。問題1:用故障播種(植入)的數(shù)學模型,估算出被測程序ASP的固有故障的個數(shù)N的值。如果通過測試一段時間后,發(fā)現(xiàn)的固有錯誤個數(shù)為ED = 795時,請估算此程序的平均無故障時間MTTF值。問題2:若要求把此MTTF再提高4倍,應(yīng)至少再排除多少個固有錯誤? 請簡要地列出有關(guān)計算式。參考答案一、答案:A. B. C. D. E. 二、答案:A. B. C. D. E. 三、答案:正確的敘述有:(1)、(4)、(5)、(7)、(10)說明:(1) 利用括號可以明確地規(guī)定表達式中各運算符的優(yōu)先順序,這樣可以提供表達式運算的清晰性,因此是對的。(4) 對于不好的程序,一是程序邏輯混亂以致理解困難,二是隱藏錯誤多,三是錯誤定位和修改容易出問題,所以修修補補,越補越糟,不如重新寫。(5) 浮點數(shù)的運算有其近似性,兩個浮點數(shù)可能會非常接近但永遠不會相等,所以做浮點數(shù)的相等比較可能不會有結(jié)果。(7) 利用數(shù)據(jù)類型來檢查數(shù)據(jù)值,這是靜態(tài)分析的一種手段,叫做類型分析,因此是對的。(10) 使用有意義的標識符,可以提高程序的可讀性,因此是對的。其它的敘述都不對。(2) 對遞歸定義的數(shù)據(jù)結(jié)構(gòu),應(yīng)當使用遞歸過程來解決基于這種數(shù)據(jù)結(jié)構(gòu)的應(yīng)用問題。(3) 程序代碼的優(yōu)化工作應(yīng)交給編譯器來做,程序設(shè)計時應(yīng)首先考慮程序代碼的清晰性、簡明性、可讀性、正確性、以至于可維護性。(6) 輸出中間結(jié)果只是在調(diào)試程序時才有用,其它時候輸出大量中間結(jié)果,不但浪費資源,而且給使用者造成麻煩。(8) 從文件輸入數(shù)據(jù)時,應(yīng)當使用文件結(jié)束符來判斷輸入的結(jié)束,使用計數(shù)方法判斷輸入結(jié)束不一定是最佳方式。(9) 程序中的注釋是必須的,不是可有可無的。四、答案:正確的敘述有:(1)、(2)、(3)、(4)、(8)。說明:(1) 使用高級語言編寫的程序模塊化、結(jié)構(gòu)化程度都比較好,可讀性強,容易測試。(2) 程序測試本身應(yīng)當是一個程序的執(zhí)行過程,而不是靜態(tài)的邏輯分析,其目的是發(fā)現(xiàn)程序中潛藏的錯誤。(3) 連鎖式分支結(jié)構(gòu)有n個判定,其路徑數(shù)有2n條,因此當n = 8時程序中總的路徑數(shù)有28條。(4) 白盒測試基于程序的內(nèi)部結(jié)構(gòu)設(shè)計測試用例,可以不考慮程序的功能要求。(8) 由于在等價類的邊界上最容易出錯,所以邊界值分析方法選取輸入輸出等價類的邊界值作為測試用例,可以有效地查錯。不正確的敘述,如(5) 采用一次性集成方式進行模塊組裝,往往成功的可能性低,而且出現(xiàn)錯誤時,不容易確定在什么地方出了問題,因此應(yīng)采用增殖式集成方式,可以把出錯的范圍局限到少數(shù)模塊中間。(6) 測試的實踐表明,對一批模塊進行測試,發(fā)現(xiàn)錯誤多的模塊中殘留的錯誤也多,因此必需注意這一現(xiàn)象,弄清哪些模塊問題發(fā)現(xiàn)得多,對這些模塊重點測試。(7) 好的測試用例是能夠發(fā)現(xiàn)新錯誤的測試用例,發(fā)現(xiàn)不了問題的測試用例就不是好的測試用例,用它們做測試是浪費時間和金錢。(9) 等價類劃分法是選擇輸入等價類的代表值作為測試用例,而因果圖法才是考慮了各等價類之間取值的組合情況及可能的結(jié)果來設(shè)計測試用例的。(10) 語句覆蓋法可能查不出在判定中邏輯運算符使用有誤時產(chǎn)生的錯誤。而判定覆蓋法則可能查不出在判定中某些條件中關(guān)系運算符使用有誤時產(chǎn)生的錯誤。五、答案:正確的敘述有:(3)、(5)、(7)、(8)、(10)說明:(3) 盡可能在軟件生產(chǎn)過程中保證各階段文檔的正確性,對于保證軟件的可靠性、功能性等有相當大的作用,這樣可減少用戶提出維護請求的可能,即使要更新,工作的難度和工作量也會降低。(5) 選擇時間效率和空間效率盡可能高的算法,可以讓編程者把注意力集中在提供程序的正確性、可理解性、可修改性、可測試性、可使用性等方面,從而提高可維護性,不必為追求效率而把程序編寫得讓人看不懂。(7) 如果程序結(jié)構(gòu)設(shè)計得較好,層次結(jié)構(gòu)合理,在維護時理解程序和修改程序容易,不易出錯。(8) 使用維護工具或支撐環(huán)境可以大大降低維護的工作量。(10) 用高級語言編寫程序,易讀易懂,可以提高可維護性。不正確的敘述,如(1) 在需求分析時主要考慮軟件要“做什么?”這一階段對可維護性可以提出要求,要達到什么指標,而如何實現(xiàn)可維護性,是在設(shè)計和實現(xiàn)階段考慮的問題。(2) 在程序中加入注釋,這是提高程序可讀性,從而提高可維護性的重要手段,不能因為測試通過就刪去它們。(9) 在軟件概要設(shè)計時,對產(chǎn)生的程序模塊結(jié)構(gòu)的評價方法就是看模塊之間的耦合(聯(lián)系)是否松散。如果聯(lián)系密切,這樣的結(jié)構(gòu)各部分牽連太多,是不好的。(4) 因此在編程時盡可能用參數(shù)表,而不應(yīng)當用全局變量來傳送信息。(6) 盡可能利用硬件的特點,這樣的程序可移植性很差,自然維護起來就相當困難了。(11) 增加維護人員會降低維護的生產(chǎn)率,有可能對維護進度帶來不利的影響。Start六、答案:(1) 結(jié)構(gòu)化的程序流程圖:xn=1; i=1; flag = 0;k = 1;iimax & flag=0FEndFTTknknflag = 1; j = 1;Xk = 0; k+;i +;Fjnjnk = 1;Ts = Bj; k = 1; (2) N-S圖: FknXk = 0; k+;FTFTj=kTs = s + Xk;i (|s|+1)*epskn|Xj-s| (|s|+1)*epsTFj=kTs = s - Ajk*Xk; k +;s = s + Xk;flag = 0;F|Xj-s| (|s|+1)*epsXj = s; j +;Xj = s; j +;i +;flag = 0; (3) McCabe環(huán)路復(fù)雜性度量V(G) = 判定語句個數(shù)+1 = 8七、畫出該程序的流程圖:R0 = Ri+1; j = i;Rj+1 = R0;Rj+1 = Rj; j -;FTRj R0? 測試用例設(shè)計循環(huán)次數(shù) 輸 入 數(shù) 據(jù) 預(yù) 期 結(jié) 果 覆 蓋 路 徑 jRi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空貨運信息規(guī)范 第4部分:數(shù)據(jù)報文接口
- 寵物健康監(jiān)測設(shè)備市場現(xiàn)狀分析
- 教育體系與家長教育的互動發(fā)展探討
- 2025年粵教版八年級歷史上冊階段測試試卷
- 2025年滬科版九年級歷史上冊階段測試試卷含答案
- 2025年滬科版選擇性必修1語文上冊月考試卷含答案
- 年產(chǎn)4000萬個塑料泵頭項目可行性研究報告寫作模板-申批備案
- 2025年西師新版必修3生物下冊階段測試試卷
- 2025年滬教版必修1歷史上冊月考試卷含答案
- 二零二五版苗圃土地租賃與生態(tài)農(nóng)業(yè)示范區(qū)建設(shè)合同4篇
- 勞務(wù)協(xié)議范本模板
- 2024年全國職業(yè)院校技能大賽高職組(生產(chǎn)事故應(yīng)急救援賽項)考試題庫(含答案)
- 2025大巴車租車合同范文
- 老年上消化道出血急診診療專家共識2024
- 人教版(2024)數(shù)學七年級上冊期末測試卷(含答案)
- 2024年國家保密培訓
- 2024年公務(wù)員職務(wù)任命書3篇
- CFM56-3發(fā)動機構(gòu)造課件
- 會議讀書交流分享匯報課件-《殺死一只知更鳥》
- 2025屆撫州市高一上數(shù)學期末綜合測試試題含解析
- 公司印章管理登記使用臺賬表
評論
0/150
提交評論