軟件工程復習題看完必過_第1頁
軟件工程復習題看完必過_第2頁
軟件工程復習題看完必過_第3頁
軟件工程復習題看完必過_第4頁
軟件工程復習題看完必過_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、復習題填空題1. 在信息處理和計算機領域內(nèi),一般認為軟件是 _程序_、_文檔_ 和_數(shù)據(jù)_ 。2. 數(shù)據(jù)流圖的基本組成部分有 _數(shù)據(jù)的源點與終點_、 數(shù)據(jù)流_、 加工_、 數(shù)據(jù)文件_。3. 數(shù)據(jù)流圖和數(shù)據(jù)字典共同構成了系統(tǒng)的 _邏輯_模型,是需求規(guī)格說明書的主要組成部分。4. 劃分模塊時盡量做到_高內(nèi)聚、低耦合_,保持模塊的獨立性,盡量使用公共模塊。 5. 類的實例化是_對象_。 6. 人們常用硬件可靠性的定量度量方法來度量軟件的可靠性和可用性,常用的度量軟件可7. 靠性的兩個指標是_成功地運行的概率_和_平均故障時間_。 8. 將待開發(fā)的軟件細化,分別估算每一個子任務所需要的開發(fā)工作量,然后

2、將它們加起來,9. 將得到軟件的總開發(fā)量。這種成本估算方法稱為_自底向上_。 10. 如果一個模塊被 n 個模塊調(diào)用,其中直接的上級模塊的個數(shù)是 m 個( m<=n )那么該模塊的扇入數(shù)是 _N_ 個。 11. 結構化設計以 _數(shù)據(jù)流圖_ 為基礎,按一定的步驟映射成軟件結構。 12. 軟件的風險分析可包括風險識別、風險預測 和風險駕馭(或風險管理)等3項活動。13. 軟件著作權登記的3種主要類型:(1)著作權登記;(2)著作權延續(xù)登記;(3)權利轉(zhuǎn)移備案登記。14. 軟件工程管理的主要內(nèi)容有:項目經(jīng)費管理,軟件質(zhì)量管理,項目進度管理和人員管理。15. 面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)

3、進行 _建模_ 。 16. 軟件維護工作的生產(chǎn)性活動包括分析評價、修改設計和 _編寫程序代碼_ 等。 17. 為了使應用軟件適應計算機環(huán)境的變化而 _修改軟件_ 的過程稱為適應性維護。 18. 一個進行學生成績統(tǒng)計的模塊其功能是先對學生的成績進行累加,然后求平均值,則該模塊的內(nèi)聚性是 _順序內(nèi)聚_ 。 19. 投資回收期就是使累計的經(jīng)濟效益等于 _最初的投資費用_ 所需的時間。 20. 軟件生存周期是指一個軟件從提出開發(fā)要求開始直到 _軟件廢棄_為止的整個時期。21. 曾被譽為“程序設計方法的革命”的 結構化 程序設計,使程序設計從主要依賴于程序員個人的自由活動變成為有章可循的一門科學。22.

4、 從結構化程序設計到 面向?qū)ο蟪绦蛟O計 ,是程序設計方法的又一次飛躍。23. 在單元測試時,需要為被測模塊設計_測試用例_。一、判斷題(每題2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動。(對)2.數(shù)據(jù)字典是對數(shù)據(jù)流圖中的數(shù)據(jù)流,加工、數(shù)據(jù)存儲、數(shù)據(jù)的源和終點進行詳細定義。(錯)3.JAVA語言編譯器是一個CASE工具。(對)。 4.軟件是指用程序設計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發(fā)實際上就是編寫程序代碼。(錯) 5.軟件模塊之間的耦合性越弱越好。(對)6.數(shù)據(jù)庫設計說明書是一個軟件配置項(對) 7.在面向?qū)ο蟮能浖?/p>

5、開發(fā)方法中,每個類都存在其相應的對象,類是對象的實例,對象是生成類的模板。(錯) 8.過程描述語言可以用于描述軟件的系統(tǒng)結構。(錯) 9.如果通過軟件測試沒有發(fā)現(xiàn)錯誤,則說明軟件是正確的。(錯) 10.快速原型模型可以有效地適應用戶需求的動態(tài)變化。(對) 11.模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。(對) 12.集成測試主要由用戶來完成。(錯) 13.確認測試計劃應該在可行性研究階段制定(錯) 14.白盒測試無需考慮模塊內(nèi)部的執(zhí)行過程和程序結構,只要了解模塊的功能即可。(錯) 15.軟件概要設計包括軟件系統(tǒng)結構設計以及數(shù)據(jù)結構和數(shù)據(jù)庫設計。(對)

6、16.在可行性研究中最難決斷和最關鍵的問題是經(jīng)濟可行性。( )17.耦合是指一個模塊內(nèi)各個元素彼此結合的緊密程度。( )18. 一筆交易、一個動作、甚至操作人員按一個按鈕都可以看做是一次事物。( )19.概要設計階段完成的主要文檔是概要設計說明書。( )20.過大的模塊可能是由于分解不充分造成的,即使降低模塊獨立性也必須繼續(xù)分解。( )21.程序設計語言中應絕對禁止使用GOTO語句。( )22.類是關于對象性質(zhì)的描述,由方法和數(shù)據(jù)組成。( )23.隨著軟件技術的發(fā)展,人們逐漸認識到編碼不僅要強調(diào)效率還要強調(diào)清晰。( )25.為保證程序的安全,必須做到程序中沒有任何錯誤存在,即容錯。( )26.

7、如果把軟件開發(fā)所需的資源畫成一個金字塔,人是最基本的資源。( )名詞解釋1. 數(shù)據(jù)詞典是描述數(shù)據(jù)信息的集合,它對數(shù)據(jù)流圖中的各個元素按規(guī)定格式進行詳細的描述和確切的解釋,是數(shù)據(jù)流圖的補充工具。2. 數(shù)據(jù)流圖他以圖形的方式反映系統(tǒng)的數(shù)據(jù)流程3. 白盒測試按照程序內(nèi)部的結構測試程序,檢驗程序中的每條路徑是否都能按預定要求正確工作。有兩種測試法既邏輯覆蓋測試法和路徑測試法4. 黑盒測試按照程序的功能測試程序,檢驗與程序功能有關的輸入、輸出與程序執(zhí)行是否正確。有四種方法既等價分類法、邊界值分析法、錯誤猜測法和因果圖法5. 完善性維護為了適應用戶業(yè)務和機構的發(fā)展變化而對軟件的功能、性能進行修改、擴充的過

8、程稱為完善性維護。因為各種用戶的業(yè)務和機構在相當長的時期內(nèi)不可能是一成不變的,所以功能、性能的增加是不可避免的,而且這種維護活動在整個維護工作中所占的比重很大6. 軟件可靠性指在給定的時間內(nèi),程序按照規(guī)定的條件成功地運行的概率7. 軟件配置是一個軟件在生存周期內(nèi),他的各種形式、各種版本的文檔與程序的總稱8. 軟件再工程運用逆向工程、重構等技術,在充分理解原有軟件的基礎上,進行分解、綜合、并重新構建軟件,用于提高軟件的可理解性、可維護性可復用性或演化性。9. 測試是在一個受控的環(huán)境下,由用戶在開發(fā)者的“指導”下進行的的測試,由開發(fā)者負責記錄錯誤和使用中出現(xiàn)的問題。10. 測試是由軟件的最終用戶(

9、多個)在一個或多個用戶場所來進行。由用戶負責記下遇到的所有問題,包括主觀認定的和真實的問題,定期向開發(fā)者報告,開發(fā)者在綜合用戶的報告之后進行修改,最后將軟件產(chǎn)品交付給全體用戶使用。11. 聚集關系表示類或?qū)ο笾g的整體與部分的關系12. 泛化關系表示類或?qū)ο笾g的一般與特殊的關系13. 內(nèi)聚一個模塊內(nèi)部各個元素彼此結合的緊密程度的度量。14. 耦合一一個軟件結構內(nèi)不同模塊之間互連程度的度量。簡答題1.軟件工程的七條基本原理是什么?答:軟件工程的七條基本原理是:(1) 用分階段的是的生存周期計劃嚴格管理;(2) 堅持進行階段評審;(3) 嚴格實施的產(chǎn)品控制;(4) 采用現(xiàn)代程序技術;(5) 結果

10、應能清楚地審查;(6) 開發(fā)小組的成員應該少而精;(7) 承認不斷改進軟件工程的必要性。2.良好的編碼風格應具備哪些條件?答:應具備以下條件:(1)使用標準的控制結構;(2)有限制地使用GOTO語句;(3)源程序的文檔化 (應具備以下內(nèi)容)有意義的變量名稱 “匈牙利命名規(guī)則 ”。 適當?shù)淖⑨?“注釋規(guī)范”。標準的書寫格式:用分層縮進的寫法顯示嵌套結構的層次(鋸齒形風格);在注釋段的周圍加上邊框;在注釋段與程序段、以及不同程序段之間插入空行;每行只寫一條語句;書寫表達式時,適當使用空格或圓括號等作隔離符。(4)滿足運行工程學的輸入輸出風格。3.簡述文檔在軟件工程中的作用。答:(1) 提高軟件開發(fā)

11、過程的能見度(2) 提高開發(fā)效率(3) 作為開發(fā)人員階段工作成果和結束標志(4) 記錄開發(fā)過程的有關信息便于使用與維護;(5) 提供軟件運行、維護和培訓有關資料;(6) 便于用戶了解軟件功能、性能。4.可行性研究包括哪幾方面的內(nèi)容?答:(1)經(jīng)濟可行性:是否有經(jīng)濟效益,多長時間可以收回成本;(2)技術可行性:現(xiàn)有技術能否實現(xiàn)本系統(tǒng),現(xiàn)有技術人員能否勝任,開發(fā)系統(tǒng)的資源能否滿足;(3)運行可行性:系統(tǒng)操作在用戶內(nèi)部行得通嗎?(4)法律可行性:新系統(tǒng)開發(fā)是否會侵犯他人、集體或國家利益,是否違反國家法律。5.結構化的需求分析描述工具有哪些?答:有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定表、判定樹、

12、結構化語言(PDL)、層次方框圖、Warnier圖、IPO圖、控制流圖(CFD)、控制說明(CSPEC)、狀態(tài)轉(zhuǎn)換圖(STD)和實體關系圖(ER)等。6.一般面向?qū)ο蠓治鼋5墓ぞ撸▓D形)有哪些? 答:用例圖、類/對象圖、對象關系圖、實體關系圖(ER)、事件軌跡圖(時序圖)和狀態(tài)轉(zhuǎn)換圖(STD)等7.UML統(tǒng)一建模語言有哪幾種圖形?用例圖、類圖、對象圖、構件(組件)圖、部署(配置)圖、狀態(tài)圖、活動圖、順序(時序)圖、合作(協(xié)作)圖等九種圖。8.在面向?qū)ο蠓治鰰r類和對象的靜態(tài)關系主要有哪幾種?答:類和對象的靜態(tài)關系主要有關聯(lián)、聚集、泛化、依賴等四種關系。9. 什么是模塊化?模塊設計的準則?模塊化

13、是按規(guī)定的原則將一個大型軟件劃分為一個個較小的、相對獨立但又相關的模塊。模塊設計的準則:(1) 改進軟件結構, 提高模塊獨立性:在對初步模塊進行合并、分解和移動的分析、精化過程中力求提高模塊的內(nèi)聚,降低藕合。(2) 模塊大小要適中:大約50行語句的代碼,過大的模塊應分解以提高理解性和可維護性;過小的模塊,合并到上級模塊中。(3) 軟件結構圖的深度、寬度、扇入和扇出要適當。一般模塊的調(diào)用個數(shù)不要超過5個。(4) 盡量降低模塊接口的復雜程度;(5) 設計單入口、單出口的模塊。(6) 模塊的作用域應在控制域之內(nèi)。10.什么是模塊獨立性?用什么度量?答:模塊獨立性概括了把軟件劃分為模塊時要遵守的準則,

14、也是判斷模塊構造是不是合理的標準。獨立性可以從兩個方面來度量:即模塊本身的內(nèi)聚和模塊之間的耦合。11. 變換型數(shù)據(jù)流由哪幾部分組成?變換型結構由三部分組成:傳入路徑、變換(加工)中心和傳出路徑。12. 變換分析設計的步驟?(1) 區(qū)分傳入、傳出和變換中心三部分,劃分DFD圖的分界線;(2) 完成第一級分解:建立初始SC圖的框架;(3) 完成第二級分解:分解SC圖的各個分支;(4) 對初始結構圖按照設計準則進行精化與改進。13. 事務型數(shù)據(jù)流由哪幾部分組成?事務型結構由至少一條接受路徑、一個事務中心與若干條動作路徑組成。14. 事務分析設計的步驟?(1) 在DFD圖中確定事務中心、接收部分(包含

15、全部接收路徑)和發(fā)送部分(包含全部動作路徑);(2) 畫出SC圖框架,把DFD圖的三部分,分別映射"為事務控制模塊,接收模塊和動作發(fā)送模塊.一般得到SC圖的頂層和第一層(如果第一層簡單可以并入頂層);(3) 分解和細化接收分支和動作分支,完成初始的SC圖;(4) 對初始結構圖按照設計準則進行精化與改進。15數(shù)據(jù)字典包括哪些內(nèi)容?數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合。它對數(shù)據(jù)流圖上每一個成分:數(shù)據(jù)項、文件(數(shù)據(jù)結構)、數(shù)據(jù)流、數(shù)據(jù)存儲、加工和外部項等給以定義和說明;它主要由數(shù)據(jù)流描述、加工描述和文件描述三部分組成。16給出一組數(shù)從小到大的排序算法,分別用下列工具描述其詳細過程:(1

16、)流程圖;(2)N-S圖;(3) PDL語言。17.欲開發(fā)一個銀行的活期存取款業(yè)務的處理系統(tǒng):儲戶將填好的存/取款單和存折交給銀行工作人員,然后由系統(tǒng)作以下處理;(1)業(yè)務分類處理:系統(tǒng)首先根據(jù)儲戶所填的存/取款單,確定本次業(yè)務的性質(zhì),并將存/取款單和存折交下一步處理;(2)存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫;最后將存折還給儲戶;(3)取款處理:系統(tǒng)將取款單上的取款金額分別記錄在存折和帳目文件中,并從現(xiàn)金庫提取現(xiàn)金;最后將現(xiàn)金和存折還給儲戶。繪制該系統(tǒng)的數(shù)據(jù)流圖和軟件結構圖。18.什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:一個軟件從

17、開始計劃起,到廢棄不用止,成為軟件的生存周期。把整個生存周期劃分為較小的階段,給每個階段賦予確定而有限的任務,能夠簡化每一步的工作內(nèi)容,使因為軟件規(guī)模增長而大大增加了的軟件復雜性變得較易控制和管理。19.詳細設計的目的?為軟件結構圖(SC圖或HC圖)中的每一個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結構,用某種選定的表達工具給出清晰的描述.20詳細設計的任務是什么?(1) 為每個模塊確定采用的算法;(2) 確定每一模塊使用的數(shù)據(jù)結構;(3) 確定模塊接口的細節(jié);(4) 編寫過程設計說明書;(5) 設計每一模塊的測試用例。21.     編碼的任務?使用選定的程序設計

18、語言,把模塊的過程性描述翻譯為用語言書寫的源程序(源代碼)。22.軟件測試的基本任務?軟件測試是按照特定的規(guī)則,發(fā)現(xiàn)軟件錯誤的過程;好的測試方案是盡可能發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;成功的測試方案是發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;23.什么是黑盒測試?黑盒測試主要采用的技術有哪些?黑盒測試也稱為功能測試,它著眼于程序的外部特征,而不考慮程序的內(nèi)部邏輯結構。測試者把被測程序看成一個黑盒,不用關心程序的內(nèi)部結構。黑盒測試是在程序接口處進行測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試主要采用的

19、技術有:等價分類法、邊界值分析法、錯誤推測法和因果圖等技術。 24.什么是白盒測試?白盒測試主要采用的技術有哪些?白盒測試是測試者了解被測程序的內(nèi)部結構和處理過程,對程序的所有邏輯路徑進行測試,在不同點檢查程序狀態(tài),確定實際狀態(tài)與預期狀態(tài)是否一致。白盒測試主要采用的技術有:路徑測試技術和事務處理流程技術,對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術。 25.路徑測試技術中幾種主要覆蓋的含義?舉例說明?語句覆蓋:至少執(zhí)行程序中所有語句一次。 判定覆蓋:使被測程序中的每一個分支至少執(zhí)行一次。故也稱為分支覆蓋。條件覆蓋:執(zhí)行所有可能的穿過程序的控制路流程。條件組合測試:設計足夠的測試用

20、例,使每個判定中的所有可能條件取值組合至少執(zhí)行一次。(例略) 26.等價分類法的測試技術采用的一般方法?舉例說明?(1)  為每個等價類編號;(2)  設計一個新的測試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價類,重復這一步驟,直到所有有效等價類被覆蓋為止。(3)  設計一個新的測試方案,使它覆蓋一個尚未被覆蓋的無效等價類, 重復這一步驟,直到所有無效等價類被覆蓋為止。(例略)27.如圖顯示某程序的邏輯結構。 試為它設計足夠的測試用例,分別實現(xiàn)對程序的判定覆概、條件覆概和條件組合覆概。NYN設計測試方案覆蓋種類需滿足的條件測試數(shù)據(jù)期望結果 判定覆蓋A&g

21、t;0,B=0A=2,B=0執(zhí)行S1A>0,B¹0或A£0,B=0或A£0,B¹0A=2,B=1或A=1,B=0或A=1,B=1 執(zhí)行S2 條件覆蓋以下四種情況各出現(xiàn)一次  A>0B=0A=2,B=0執(zhí)行S1A£0B¹0A=1,B=1執(zhí)行S2 條件組合覆蓋A>0,B=0A=2,B=0執(zhí)行S1A>0,B¹0A=2,B=1執(zhí)行S2A£0,B=0A=1,B=0執(zhí)行S2A£0,B¹0A=1,B=1執(zhí)行S2 28.某城市電

22、話號碼由三部分組成。它們的名稱和內(nèi)容分別是: 地區(qū)碼:空白或三位數(shù)字; 前 綴:非0或1的三位數(shù)字; 后 綴:4位數(shù)字。 假定被測程序能接受一切符合上述規(guī)定的電話號碼,拒絕所有不符合規(guī)定的電話號碼。根據(jù)該程序的規(guī)格說明,作等價類的劃分,并設計測試方案。 劃分等價類輸入條件有效等價類無效等價類地區(qū)碼1.空白;2.三位數(shù);1.     有非數(shù)字字符;2.少于三位數(shù)字;3.多于三位數(shù)字。前 綴3.從200到999之間的三位4.有非數(shù)字字符;5.起始位為0;6.起始位為1; 7.少于三位數(shù)字;8.多于三位數(shù)字。后 綴4.四位數(shù)字。9.有非數(shù)字字符;10.少于四位

23、數(shù)字;11.多于四位數(shù)字。 設計測試方案方案內(nèi)容輸 入預期輸出地區(qū)碼前綴后綴1空白200999之間的三位數(shù)字四位數(shù)字( )276-2345有效2三位數(shù)字四位數(shù)字(635)805-9321有效3有非數(shù)字字符  (20A)723-4567無效4少于三位數(shù)字  (33 )234-5678無效5多于三位數(shù)字  (5555)345-6789無效6 有非數(shù)字字符 (345)5A2-3456無效7 起始位為0 (345)012-3456無效8 起始位為1 (345)132-345

24、6無效9 少于三位數(shù)字 (345) 92-3456無效10 多于三位數(shù)字 (345)4562-3456無效11  有非數(shù)字字符(345)342-3A56無效12  少于四位數(shù)字(345)342- 356無效13  多于四位數(shù)字(345)562-34567無效  29.為什么說軟件的維護是不可避免的?因為軟件的開發(fā)過程中,一般很難檢測到所有的錯誤,其次軟件在應用過程中需要隨用戶新的要求或運行環(huán)境的變化而進行軟件的修改或完成功能的增刪等,為了提高軟件的應用水平和使用壽命,軟件的維

25、護是不可避免的。22.試由程序流程圖導出程序圖1入口2A>1 F38B=0 T TX=X/A 4 FA=25 TX>1 F96X=X+1 T 7出口 F(a)程序流程圖 (b)導出程序圖30.軟件的維護一般分為哪幾類?完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長的需要而進行的工作; 適應性維護:是軟件適應新的運行環(huán)境而進行的工作;糾錯性維護:糾正開發(fā)期間未發(fā)現(xiàn)的遺留錯誤,即在程序使用期間發(fā)現(xiàn)的程序錯誤進行診斷和改正的過程;預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作。31.決定軟件可維護性的因素?(1) 軟件的可理解性、可測試性、

26、可修改性; (2) 文檔描述符合要求、用戶文檔簡潔明確、系統(tǒng)文檔完整并且標準。32.分析軟件危機產(chǎn)生的主要原因有哪些? 答:導致軟件危機的主要原因有: (1)軟件日益復雜和龐大(2)軟件開發(fā)管理困難和復雜(3)軟件開發(fā)技術落后(4)生產(chǎn)方式落后(5)開發(fā)工具落后(6)軟件開發(fā)費用不斷增加 1 個要點1分,只要答上5個要點得5分!33.說明結構化程序設計的主要思想是什么? 答:(1)自頂向下、逐步求精的程序設計方法(2分)(2)使用3種基本控制結構、單入口、單出口來構造程序。(3分) 34、軟件測試的基本任務是什么?測試與糾錯有什么區(qū)別?答:軟件測試的基本任務是通過在計算機上執(zhí)行程序,暴露程序中

27、潛在的錯誤。測試和糾錯目的和任務都不相同,測試是為了發(fā)現(xiàn)程序的錯誤,糾錯是為了定位和糾正錯誤,從而消除軟件故障,保證程序的可靠運行。35.軟件測試包括哪些步驟?同時說明這些步驟的測試目的是什么? 答:(1)單元測試,目的是代碼達到模塊說明書的要求(2)集成測試,目的是將經(jīng)過單元測試的模塊逐步組裝成具有良好一致性的完整的程序(3)確認測試,目的是確認程序系統(tǒng)是否滿足軟件需求規(guī)格說明書的要求(4)系統(tǒng)測試,目的是檢查能否與系統(tǒng)的其余部分協(xié)調(diào)運行,并且完成SRS對他的要求。36.需求分析與軟件設計二個階段任務的主要區(qū)別是什么? 答:需求分析定義軟件的用戶需求,即定義待開發(fā)軟件能做什么(2.5分) 軟

28、件設計定義軟件的實現(xiàn)細節(jié)以滿足用戶需求,即研究如何實現(xiàn)軟件。(2.5分) 37.說明軟件測試和調(diào)試的目的有何區(qū)別? 答:測試的目的是判斷和發(fā)現(xiàn)軟件是否有錯誤(2。5分)調(diào)試的目的是定位軟件錯誤并糾38. 根據(jù)以下被測試的流程圖,選擇相應的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 在1-3的答案中滿足判定覆蓋的測試用例是_1_ (2分) 在1-3的答案中滿足條件覆蓋的測試用例是_3_ (2分) 在1-3的答案中滿足判定/條件覆蓋的測試用

29、例是_2_ (2分) 39工資計算系統(tǒng)中的一個子系統(tǒng)有如下功能: ( 1 )計算扣除部分由基本工資計算出應扣除(比如水電費、缺勤)的部分; ( 2 )計算獎金部分根據(jù)職工的出勤情況計算出獎勵金; ( 3 )計算工資總額部分根據(jù)輸入的扣除額及獎金計算出總額; ( 4 )計算稅金部分由工資總額中計算出應扣除各種稅金; ( 5 )生成工資表根據(jù)計算總額部分和計算稅金部分傳遞來的有關職工工資的詳細信息生成工資表。 試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖。40用自頂向下結構化程序設計方法編寫直接選擇排序從小到大排列的程序。要求保持良好的程序風格,加上必要的注釋()。用C語言編寫:/*程序名稱:直接選擇排序;*

30、/*作者:陳明銳;*/*完成日期:2006年6月9日;*/*過程頭:selectsort(int *A;int N)*/*輸入?yún)?shù):N為元素個數(shù)(N<=1000);A整型數(shù)組,從1到N存放待排序元素;*/*返回結果:數(shù)組A為指針,由它返回排序結果;*/void selectsort(int *A;int N)int i,j,k,x;for (i=1;i<N;i+) /*求第I個最小值*/ k=i; /*先假設I位置上的值最小*/for (j+=i;j<=N;j+) /*求I到N位置上的最小值*/ if (A(j)<A(k)) k=j;if (k<>i) /*

31、需要交換A(K)和A(I)的值*/ /*交換A(K)和A(I)*/ x=A(i); A(i)=A(k);A(k)=x /*結束交換*/ /*求出了第I個最小值*/ /*SELECTSORT*/41.把事務型數(shù)據(jù)流圖映射成軟件結構圖:A B C + f1 f2 f4 f5 f3 主模塊 Read f1 A B C Write f4 Write f5主模塊 f1 f2 f1 f3 f4 f5 42.把變換型數(shù)據(jù)流圖映射成軟件結構圖:B A C f1 f2 f3 f4 主模塊 Get f2 B Get f3 Read f1主模塊 Read f1主模塊 A C Write f4主模塊 f1 f1 f2

32、 f2 f3 f3 f4 f4 43、什么是軟件復用?簡述軟件復用和軟件共享、軟件移植的差別。答:軟件復用是指在構造新的軟件系統(tǒng)的過程中,對已存在的軟件人工制品的使用技術。如果是在一個系統(tǒng)中多次使用一個相同的軟件成分,這叫軟件共享;對一個軟件進行修改,使它能運行于新的軟、硬件平臺這稱作軟件移植。44、什么是軟件再工程?軟件再工程的主要活動有哪些?答:軟件再工程是運用逆向工程、重構等技術,在充分理解原有軟件的基礎上,進行分解、綜合,并重新構建軟件,用以提高軟件的可理解性、可維護性、可復用性或演化性。主要活動:信息庫分析、文檔重構、逆向工程、代碼重構、數(shù)據(jù)重構、正向工程。選擇題1. 軟件工程的概念

33、是哪年提出的( )。 A. 1988 B. 1968 C. 1948 D. 19282. 瀑布模型的關鍵不足在于( )。 A. 過于簡單 B. 各個階段需要進行評審 C. 過于靈活 D. 不能適應需求的動態(tài)變更3. 以下哪一項不是軟件危機的表現(xiàn)形式( )。 A. 開發(fā)的軟件不滿足用戶需要 B. 開發(fā)的軟件可維護性差 C. 開發(fā)的軟件價格便宜 D. 開發(fā)的軟件可靠性差4. 軟件可行性研究實質(zhì)上是要進行一次( )需求分析、設計過程。 A. 簡化、壓縮的 B. 詳細的 C. 徹底的 D. 深入的 5. 結構化設計是一種面向( )的設計方法。 A. 數(shù)據(jù)流 B. 模塊 C. 數(shù)據(jù)結構 D. 程序 6.

34、 與確認測試階段有關的文檔是( )。 A. 需求規(guī)格說明書 B. 概要設計說明書 C. 詳細設計說明書 D. 源程序7. 軟件開發(fā)的需求活動,其主要任務是( )。A. 給出軟件解決方案 B. 給出系統(tǒng)模塊結構C. 定義模塊算法 D. 定義需求并建立系統(tǒng)模型8. 以下說法錯誤的是( )。 A. 文檔僅僅描述和規(guī)定了軟件的使用范圍及相關的操作命令 B. 文檔也是軟件產(chǎn)品的一部分,沒有文檔的軟件就不成軟件 C. 軟件文檔的編制在軟件開發(fā)工作中占有突出的地位和相當大的工作量 D. 高質(zhì)量文檔對于發(fā)揮軟件產(chǎn)品的效益有著重要的意義 9. 一個項目是否開發(fā),從經(jīng)濟上來說是否可行,歸根結底是取決于( )。 A

35、. 成本估算 B. 項目計劃 C. 工程管理 D. 工程網(wǎng)絡圖 10. 在面向?qū)ο蟮脑O計中,我們應遵循的設計準則除了模塊化、抽象、低耦合、高內(nèi)聚以外,還有( )。 A. 隱藏復雜性 B. 信息隱蔽 C. 經(jīng)常類的復用 D. 類的開發(fā) 11. 面向?qū)ο蟮闹饕卣鞒龑ο笪┮恍浴⒎庋b、繼承外,還有( )。 A. 多態(tài)性 B. 完整性 C. 可移植性 D. 兼容性 12. 在考察系統(tǒng)的一些涉及時序和改變的狀況時,要用動態(tài)模型來表示。動態(tài)模型著重于系統(tǒng)的控制邏輯,它包括兩個圖:一個是事件追蹤圖,另一個是( )。 A. 數(shù)據(jù)流圖 B. 狀態(tài)圖 C. 系統(tǒng)結構圖 D. 用例圖13. 面說法正確的是( )。

36、A. 經(jīng)過測試沒有發(fā)現(xiàn)錯誤說明程序正確 B. 測試的目標是為了證明程序沒有錯誤 C. 成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試 D. 成功的測試是沒有發(fā)現(xiàn)錯誤的測試 14. ( )能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。 A. 等價類劃分 B. 邊界值分析 C. 錯誤推測 D. 因果圖 15火車是一種陸上交通工具?;疖嚭完懮辖煌üぞ咧g的關系是( )關系。 A. 組裝 B. 整體部分 C. has a D. 一般特殊 16、軟件維護產(chǎn)生的副作用,是指( )A、開發(fā)時的錯誤 B、隱含的錯誤C、因修改軟件而造成的錯誤 D、運行時誤操作 17、使用程序設計的控制結構導出測試用例的測試方法

37、是( )A、黑盒測試 B、白盒測試 C、邊界測試 D、系統(tǒng)測試 18、軟件詳細設計的主要任務是確定每個模塊的( )A、算法和使用的數(shù)據(jù)結構 B、外部接口 C、功能 D、編程 19、軟件結構圖的形態(tài)特征能反映程序重用率的是( )A、深度 B、寬度 C、扇入 D、扇出 20、為了提高模塊的獨立性,模塊內(nèi)部最好是( )A、邏輯內(nèi)聚 B、時間內(nèi)聚 C、功能內(nèi)聚 D、通信內(nèi)聚 21、軟件是一種( )A、程序      B、數(shù)據(jù)     C、邏輯產(chǎn)品   D、物理產(chǎn)品 22、需求分析最終

38、結果是產(chǎn)生( )A、項目開發(fā)計劃 B、需求規(guī)格說明書 C、設計說明書 D、可行性分析報告 23、因計算機硬件和軟件環(huán)境的變化而作出的修改軟件的過程稱為( ) A、糾正性維護B、適應性維護 C、完善性維護D、預防性維護24、下列屬于維護階段的文檔是( ) A、軟件規(guī)格說明 B、用戶操作手冊 C、軟件問題報告 D、軟件測試分析報告25、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是( ) A、條件覆蓋法B、等價分類法 C、邊界值分析法D、錯誤推測法26、研究開發(fā)所需要的成本

39、和資源是屬于可行性研究中的( )研究的一方面。 A. 技術可行性B. 經(jīng)濟可行性 C. 社會可行性D. 法律可行性27、按軟件生命周期方法設計軟件的過程中,畫數(shù)據(jù)流圖屬于下面哪個階段的工作( )A、需求分析 B、程序設計 C、詳細設計 D、軟件維護 28、經(jīng)過嚴密的軟件測試后所提交給用戶的軟件產(chǎn)品中( )A、軟件不再包含任何錯誤 B、還可能包含少量軟件錯誤 C、所提交給用戶的可執(zhí)行文件不會含有錯誤 D、文檔中不會含有錯誤。 29、等價劃分測試方法屬于( )  A、黑盒測試 B、白盒測試 C、邊界測試 D、系統(tǒng)測試 30、軟件按照設計的要求,在規(guī)定時間和條件下達到不出故障,持續(xù)運行的要

40、求的質(zhì)量特性稱為( ) A.可用性B.可靠性C.正確性D.完整性31、確認軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于( )A、集成測試 B、恢復測試 C、確認測試 D、單元測試 32、要顯示描繪軟件開發(fā)項目各作業(yè)的依賴關系,應選擇(  )。A. Gantt圖   B.工程網(wǎng)絡   C. COCOMO模型   D.數(shù)據(jù)流圖 33、從心理學角度看,對數(shù)據(jù)流程圖的數(shù)據(jù)處理泡進行分解,一次分解為多少個泡為宜。( )A、3±1 B、7±2C、15±1 D、18±

41、;234、結構化程序設計主要強調(diào)的是( )A、程序的規(guī)模 B、程序的效率C、程序設計語言的先進性 D、程序易讀性35、在用戶界面層次上對軟件進行測試屬于哪種測試方法( )  A、黑盒測試 B、白盒測試 C、邊界測試 D、系統(tǒng)測試 36、對象實現(xiàn)了數(shù)據(jù)和操作的結合, 使數(shù)據(jù)和操作( )于對象的統(tǒng)一體中。 A、結合 B、隱藏 C、封裝 D、抽象37、(  )是比較理想的可重用軟構件。A.子程序庫   B.源代碼包含文件 C.對象   D.類 38、下列模型屬于成本估算方法的有( ) A、COCOMO模型 B、McCall模型C、McCabe度量法

42、D、時間估算法39、軟件生存周期中時間最長的是( )階段。A、總體設計 B、需求分析 C、軟件測試 D、軟件維護 40、為了提高模塊的獨立性,模塊之間的聯(lián)系最好的是( )。A、公共耦合 B、控制耦合 C、內(nèi)容耦合 D、數(shù)據(jù)耦合41、軟件概要設計結束后得到( )A、初始化的軟件結構圖 B、優(yōu)化后的軟件結構圖 C、模塊的接口圖和詳細算法 D、程序編碼 42、為使得開發(fā)人員對軟件產(chǎn)品的各個階段工作都進行周密的思考,從而減少返工,所以( )的編制是很重要的。A、需求說明 B、概要說明 C、軟件文檔 D、測試計劃 43、汽車有一個發(fā)動機,因而汽車與發(fā)動機之間的關系是( )關系。A、一般與特殊 B、整體與

43、部分C、分類關系 D、is a 關系 44、軟件部件的內(nèi)部實現(xiàn)與外部可訪問性的分離,是指軟件的( )。A、繼承性 B、共享性 C、封裝性 D、抽象性45、單元測試是發(fā)現(xiàn)編碼錯誤,集成測試是發(fā)現(xiàn)模塊的接口錯誤,確認測試是為了發(fā)現(xiàn)功能錯誤,那么系統(tǒng)測試是為了發(fā)現(xiàn)( )的錯誤。A、接口錯誤 B、編碼錯誤 C、性能、質(zhì)量不合要求 D、功能錯誤46、軟件工程管理對軟件項目的開發(fā)管理,即對整個軟件( )的一切活動的管理。A、軟件項目 B、生存期 C、軟件開發(fā)計劃 D、軟件開發(fā) 47、許多產(chǎn)品的質(zhì)量問題源于新產(chǎn)品的開發(fā)設計階段,因此在產(chǎn)品( )階段就應采取有力措施來消滅由于設計原因而產(chǎn)生的質(zhì)量隱患。A、軟件

44、評審 B、軟件測試 C、開發(fā)設計 D、軟件度量 48、下列幾種類型中,耦合性最弱的是( )。A、內(nèi)容型 B、控制型 C、公共型 D、數(shù)據(jù)型 49、系統(tǒng)因錯誤而發(fā)生故障時,仍然能在一定程度上完成預期的功能,則把該軟件稱為( )。A、軟件容錯 B、系統(tǒng)軟件 C、測試軟件 D、恢復測試50.瀑布模型的關鍵不足在于A、過于簡單 B、不能適應需求的動態(tài)變更C、過于靈活 D、各個階段需要進行評審 51.在面向?qū)ο筌浖_發(fā)方法中,類與類之間主要有以下結構關系(1) (1)繼承和聚集(2)繼承和一般(3)聚集和消息傳遞(4)繼承和方法調(diào)用 52.以下哪一項不是軟件危機的表現(xiàn)形式(3) (1)成本高(2)生產(chǎn)率

45、低(3)技術發(fā)展快(4)質(zhì)量得不到保證 53.以下哪一項不是面向?qū)ο蟮奶卣鳎?) (1)多態(tài)性(2)繼承性(3)封裝性(4)過程調(diào)用 54.軟件可行性研究一般不考慮(4) (1)是否有足夠的人員和相關的技術來支持系統(tǒng)開發(fā)(2)是否有足夠的工具和相關的技術來支持系統(tǒng)開發(fā)(3)待開發(fā)軟件是否有市場、經(jīng)濟上是否合算(4)待開發(fā)的軟件是否會有質(zhì)量問題55.軟件維護的副作用主要有以下哪幾種(3) (1)編碼副作用、數(shù)據(jù)副作用、測試副作用(2)編碼副作用、數(shù)據(jù)副作用、調(diào)試副作用(3)編碼副作用、數(shù)據(jù)副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用56.軟件項目計劃一般不包括以下哪項內(nèi)容(4) (

46、1)培訓計劃(2)人員安排(3)進度安排(4)軟件開發(fā)標準的選擇和制定57.以下哪一項不屬于面向?qū)ο蟮能浖_發(fā)方法(3) (1)coad方法(2)booch方法(3)jackson方法(4)omt方法 58.以下哪種測試方法不屬于白盒測試技術(2) (1)基本路徑測試(2)邊界值分析測試(3)循環(huán)覆蓋測試(4)邏輯覆蓋測試 59. “軟件危機”是指( ) A. 計算機病毒的出現(xiàn) B. 利用計算機進行經(jīng)濟犯罪活動 C. 軟件開發(fā)和維護中出現(xiàn)的一系列問題 D. 人們過分迷戀計算機系統(tǒng) 60. DFD中的每個加工至少需要( ) A. 一個輸入流 B. 一個輸出流 C. 一個輸入或輸出流 D. 一個輸

47、入流和一個輸出流 61. 為了提高模塊的獨立性,模塊之間最好是( ) A. 控制耦合 B. 公共耦合 C. 內(nèi)容耦合 D. 數(shù)據(jù)耦合 62. 下面關于PDL語言不正確的說法是( ) A. PDL是描述處理過程怎么做 B. PDL是只描述加工做什么 C. PDL也稱為偽碼 D. PDL的外層語法應符合一般程序設計語言常用的語法規(guī)則 63. 詳細設計與概要設計銜接的圖形工具是( ) A. DFD圖 B. 程序圖 C. PAD圖 D. SC圖 64. 不適合作為數(shù)據(jù)處理與數(shù)據(jù)庫應用的語言是( ) A. SQL B. Cobol C. 4GL D. Lisp 65. 下列關于功能性注釋不正確的說法是(

48、 ) A. 功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài) B. 注釋用來說明程序段,需要在每一行都要加注釋 C. 可使用空行或縮進,以便很容易區(qū)分注釋和程序 D. 修改程序也應修改注釋 66. 下列關于效率的說法不正確的是( ) A. 效率是一個性能要求,其目標應該在需求分析時給出 B. 提高程序效率的根本途徑在于選擇良好的設計方法,數(shù)據(jù)結構與算法 C. 效率主要指處理機時間和存儲器容量兩個方面 D. 程序的效率與程序的簡單性無關 67. 測試的關鍵問題是( ) A. 如何組織對軟件的評審 B. 如何驗證程序的正確性 C. 如何采用綜合策略 D. 如何選擇測試用例 68.

49、結構化維護與非結構化維護的主要區(qū)別在于( ) A. 軟件是否結構化 B. 軟件配置是否完整 C. 程序的完整性 D. 文檔的完整性 69. 軟件維護困難的主要原因是( ) A. 費用低 B. 人員少 C. 開發(fā)方法的缺陷 D. 得不到用戶支持 70. 可維護性的特性中,相互矛盾的是( ) A. 可理解性與可測試性 B. 效率與可修改性 C. 可修改性和可理解性 D. 可理解性與可讀性 71. 快速原型是利用原型輔助軟件開發(fā)的一種新思想,它是在研究( )的方法和技術中產(chǎn)生的。 A. 需求階段 B. 設計階段 C. 測試階段 D. 軟件開發(fā)的各個階段 72. 從目前情況來看,增量模型存在的主要問題是( ) A. 用戶很難適應這種系統(tǒng)開發(fā)方法 B. 該方法的成功率很低 C. 缺乏豐富而強有力的軟件工具和開發(fā)環(huán)境 D. 缺乏對開發(fā)過程中的問題和錯誤具有應付變化的機制 73. 下列文檔與維護人員有關的有( ) A. 軟件需求說明書 B. 項目開發(fā)計劃 C. 概要設計說明書 D. 操作手冊 D. 實現(xiàn)錯誤檢測和錯誤恢復的程序 74. ( )是為了確保每

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論