軟件工程試題集及答案_第1頁
軟件工程試題集及答案_第2頁
軟件工程試題集及答案_第3頁
軟件工程試題集及答案_第4頁
軟件工程試題集及答案_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

PAGE40-軟件工程試題及答案第一部分選擇題一、單項選擇題每小題1分,共20分。(在每小題的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內(nèi))1.在下列工具與環(huán)境中()屬于較早期的CASE。A.基于信息工程CASEB.人工智能CASEC.結構的基于圖形CASED.集成的CASE環(huán)境2.Putnam成本估算模型是一個()模型。A.靜態(tài)單變量B.動態(tài)單變量C.靜態(tài)多變量D.動態(tài)多變量3.在McCall軟件質量度量模型中,()屬于面向軟件產(chǎn)品修改。A.可靠性B.可重用性C.適應性D.可移植性4.ISO的軟件質量評價模型由3層組成,其中用于評價設計質量的準則是()A.SQICB.SQMCC.SQRCD.SQDC5.軟件復雜性度量的參數(shù)包括()A.效率B.規(guī)模C.完整性D.容錯性6.對象實現(xiàn)了數(shù)據(jù)和操作的結合,使數(shù)據(jù)和操作()于對象的統(tǒng)一體中。A.結合B.隱藏C.封裝D.抽象7.軟件調(diào)試技術包括()A.邊界值分析B.演繹法C.循環(huán)覆蓋D.集成測試8.瀑布模型的存在問題是()A.用戶容易參與開發(fā)B.缺乏靈活性C.用戶與開發(fā)者易溝通D.適用可變需求9.軟件測試方法中的靜態(tài)測試方法之一為()A.計算機輔助靜態(tài)分析B.黑盒法C.路徑覆蓋D.邊界值分析10.軟件生命周期中所花費用最多的階段是()A.詳細設計B.軟件編碼C.軟件測試D.軟件維護11.第一個體現(xiàn)結構化編程思想的程序設計語言是()A.FORTRAN語言B.Pascal語言C.C語言D.PL/1語言12.程序的三種基本控制結構是()A.過程、子程序和分程序B.順序、選擇和重復C.遞歸、堆棧和隊列D.調(diào)用、返回和轉移13.在詳細設計階段,經(jīng)常采用的工具有()A.PADB.SAC.SCD.DFD14.詳細設計的結果基本決定了最終程序的()A.代碼的規(guī)模B.運行速度C.質量D.可維護性15.需求分析中開發(fā)人員要從用戶那里了解()A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規(guī)模16.結構化程序設計主要強調(diào)的是()A.

程序的規(guī)模B.

程序的效率C.

程序設計語言的先進性D.

程序易讀性17.IDEF。圖反映系統(tǒng)()A.怎么做B.對誰做C.何時做D.做什么18.經(jīng)濟可行性研究的范圍包括()A.資源有效性B.管理制度C.效益分析D.開發(fā)風險19.可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據(jù),因必須給出()的回答。A.確定B.行或不行C.正確D.無二義20.需求分析階段的任務是確定()A.

軟件開發(fā)方法B.

軟件開發(fā)工具C.

軟件開發(fā)費D.

軟件系統(tǒng)的功能

二、填空題(每空2分,共20分)。21.在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進行大量的修改,軟件配置管理能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。22.規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有容錯功能的軟件。23.McCall提出的軟件質量模型包括11個軟件質量特性。24.軟件可維護性度量的七個質量特性是可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。25.為了便于對照檢查,測試用例應由輸入數(shù)據(jù)和預期的輸出結果兩部分組成。26.程序設計語言的心理特性主要表現(xiàn)在歧義性、簡潔性、傳統(tǒng)性、局部性和順序性。27.軟件結構是以模塊為基礎而組成的一種控制層次結構。28.在結構化分析中,用于描述加工邏輯的主要工具有三種,即:結構化語言、判定表、判定樹。29.結構化語言是介于自然語言和形式語言之間的一種半形式語言。30.若年利率為i,不計復利,n年后可得錢數(shù)為F,則現(xiàn)在的價值P=F/(1+(n*i)。三、名詞解釋題每小題3分,共15分。31.軟件生存周期模型描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型32.數(shù)據(jù)字典(DD)數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。33.內(nèi)聚性內(nèi)聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結合的緊密程度的度量34.JSP方法JSP方法是面向數(shù)據(jù)結構的設計方法,其定義了一組以數(shù)據(jù)結構為指導的映射過程,它根據(jù)輸入,輸出的數(shù)據(jù)結構,按一定的規(guī)則映射成軟件的過程描述,即程序結構。35.多態(tài)性指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結果?;颍ú煌膶ο?,收到同一消息可以產(chǎn)生不同的結果。)四、簡答題每小題5分,共20分。36.簡述容錯技術的四種主要手段,并解釋。結構冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術:指為實現(xiàn)上述冗余技術所需的資源和技術。37.以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。(3)一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。38.就程序設計語言的工程特性而言,對程序編碼有哪些要求?就程序設計語言的工程特性而言,對程序編碼有如下要求:(1)可移植性(2)開發(fā)工具的可利用性(3)軟件的可重用性(4)可維護性39.模塊的內(nèi)聚性包括哪些類型?模塊的內(nèi)聚性包括:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚五、應用題第40小題7分,第41小題8分,第42小題10分,共25分。41.根據(jù)下列條件使用等價劃分法設計測試用例。某一8位微機,其十六進制常數(shù)定義為:以0x或0X開頭的數(shù)是十六進制整數(shù),其值的范圍是-7f~7f(表示十六進制的大小寫字母不加區(qū)別),如0X13,0X6A,-0X3c。解答:等價劃分法①劃分等價類并編號,如下表所示。十六進制整型常量輸入條件的等價類表輸入數(shù)據(jù)合理等價類不合理等價類十六進制整數(shù)1.

0x或0X開頭1~2位數(shù)字串2.

以-0x打頭的1~2位數(shù)字串3.

非0x或非-打頭的串4.

含有非數(shù)字且(a,b,c,d,e,f)以外字符5.

多于5個字符6.

-后跟非0的多位串7.

-0后跟數(shù)字串8.

-后多于3個數(shù)字十六進制數(shù)范圍9.在-7f~7f之間10.小于-7f11.大于7f②為合理等價類設計測試用例,表中有三個合理等價類,設計兩個例子測試數(shù)據(jù)期望結果覆蓋范圍0×23顯示有效輸入1,9-0×15顯示有效輸入2,9③為每個不合理等價類至少設計一個測試用例測試數(shù)據(jù)期望結果覆蓋范圍2顯示無效輸入3G12顯示無效輸入4123311顯示無效輸入5-1012顯示無效輸入6-011顯示無效輸入7-0134顯示無效輸入8-0x777顯示無效輸入100x87顯示無效輸入11一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.軟件工程管理的具體內(nèi)容不包括對_________管理。()A.開發(fā)人員B.組織機構C.控制D.設備2.在McCall軟件質量度量模型中,_________屬于面向軟件產(chǎn)品操作。()A.正確性B.可維護性C.適應性D.互操作性3.在快速原型模型的開發(fā)過程中,用原型過程來代替全部開發(fā)階段所用模型是_________模型。()A.探索型原型B.演化型原型C.實驗型原型D.增量型原型4.維護中因刪除一個標識符而引起的錯識是_________副作用。()A.文檔B.數(shù)據(jù)C.編碼D.設計5.軟件維護的困難主要原因是()A.費用低B.人員少C.開發(fā)方法的缺陷D.維護難6.用白盒法技術設計測試用例的方法包括()A.錯誤推測B.因果圖C.基本路徑測試D.邊界值分析7.軟件測試中根據(jù)測試用例設計的方法的不同可分為黑盒測試和白盒測試兩種,它們()A.前者屬于靜態(tài)測試,后者屬于動態(tài)測試B.前者屬于動態(tài)測試,后者屬于靜態(tài)測試C.都屬于靜態(tài)測試D.都屬于動態(tài)測試8.程序設計語言的心理特性在語言中表現(xiàn)不應包括()A.歧義性B.簡潔性C.保密性D.傳統(tǒng)性9.程序的三種基本控制結構的共同特點是()A.只能用來描述簡單程序B.不能嵌套使用C.單入口,單出口D.僅用于自動控制系統(tǒng)10.JSP方法是一種面向_________的設計方法。()A.控制結構B.對象C.數(shù)據(jù)流D.數(shù)據(jù)結構11.當一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為()A.數(shù)據(jù)耦合B.公共耦合C.標記耦合D.內(nèi)容耦合12.軟件設計的方法有多種,_________方法不屬于面向數(shù)據(jù)流的設計方法。()A.基于Jackson圖的設計B.基于IDEF0圖的設計C.交換分析設計D.事務分析設計13.為高質量地開發(fā)軟件項目,在軟件結構設計時,必須遵循_________原則。()A.信息隱蔽B.質量控制C.程序優(yōu)化D.數(shù)據(jù)共享14.設在一個模塊內(nèi)有2個判定,若受其中一個判定影響到的模塊集合為A,而受另一個判定影響到的模塊集合為B,則該模塊的作用范圍是()A.B.C.()—()D.()()15.數(shù)據(jù)流圖(DFD)是_________方法中用于表示系統(tǒng)的邏輯模型的一種圖形工具。()A.SAB.SDC.SPD.SC16.螺旋模型是一種將瀑布模型和_________結合起來的軟件開發(fā)模型。()A.增量模型B.專家系統(tǒng)C.噴泉模型D.變換模型17.需求規(guī)格說明書的作用不包括()A.軟件驗收的依據(jù)B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件可行性研究的依據(jù)D.軟件設計的依據(jù)18.數(shù)據(jù)字典是用來定義_________中的各個成份的具體含義的。()A.流程圖B.功能結構圖C.系統(tǒng)結構圖D.數(shù)據(jù)流圖19.設年利率為i,現(xiàn)存入p元,不計復利,n年后可得錢數(shù)為()A.p﹡(1+i﹡n)B.p﹡(i+1)nC.p﹡(1+i)﹡nD.p﹡(i+n)20.在軟件生產(chǎn)的程序系統(tǒng)時代由于軟件規(guī)模擴大和軟件復雜性提高等原因導致了()A.軟件危機B.軟件工程C.程序設計革命D.結構化程序設計二、填空題(本大題共10小題,每空2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。21.第二代CASE工具的特點是支持圖形表示的____________。如數(shù)據(jù)流圖與結構圖。22.在面向對象方法中,對象實現(xiàn)了數(shù)據(jù)和操作的結合,使數(shù)據(jù)和操作________于對象的統(tǒng)一體中。23.面向對象分析的目的是對客觀世界的系統(tǒng)進行__________________。24.軟件維護工作的生產(chǎn)性活動包括分析評價、修改設計和__________________等。25.為了使應用軟件適應計算機環(huán)境的變化而__________________的過程稱為適應性維護。26.一個進行學生成績統(tǒng)計的模塊其功能是先對學生的成績進行累加,然后求平均值,則該模塊的內(nèi)聚性是__________________。27.基于IDEF0圖的設計是以系統(tǒng)的功能模型和__________________為基礎設計系統(tǒng)的軟件結構。28.軟件結構圖的寬度是指一層中__________________的模塊個數(shù)。29.投資回收期就是使累計的經(jīng)濟效益等于__________________所需的時間。30.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到__________________為止的整個時期。三、詞語解釋題(本大題共5小題,每小題3分,共15分)31.增量開發(fā)32.漸增式測試33.詳細設計34.模塊的控制范圍35.父圖與子圖的平衡四、簡答題(本大題共4小題,每小題5分,共20分)36.何謂軟件開發(fā)方法?請列舉四種主要方法。37.從開發(fā)者角度進行程序質量的評審時,軟件的結構包括哪些主要內(nèi)容?38.說明軟件文檔的作用。39.簡述詳細設計的基本任務。五、綜合應用題(第一小題7分,第二小題8分,第三小題10分,共25分)40.試利用McCabe的程序復雜性計算方法計算如下程序圖的復雜性。41.根據(jù)下列條件使用邊界值分析法設計測試用例。某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177。如05,0127,-06542.工資計算系統(tǒng)中的一個子系統(tǒng)有如下功能:(1)計算扣除部分—由基本工資計算出應扣除(比如水電費、缺勤)的部分;(2)計算獎金部分—根據(jù)職工的出勤情況計算出獎勵金;(3)計算工資總額部分—根據(jù)輸入的扣除額及獎金計算出總額;(4)計算稅金部分—由工資總額中計算出應扣除各種稅金;(5)生成工資表—根據(jù)計算總額部分和計算稅金部分傳遞來的有關職工工資的詳細信息生成工資表。試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖,并把其轉換為軟件結構圖。全國2008年10月高等教育自學考試軟件工程試題一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.“軟件工程的概念是為解決軟件危機而提出的”這句話的意思是()A.強調(diào)軟件工程成功解決了軟件危機的問題B.說明軟件危機的存在總是使軟件開發(fā)不像傳統(tǒng)工程項目那樣容易管理C.說明軟件工程這門學科的形成是軟件發(fā)展的需要D.說明軟件工程的概念,即:工程的原則、思想、方法可解決當時軟件開發(fā)和維護存在的問題2.瀑布模型的主要特點是()A.將開發(fā)過程嚴格地劃分為一系列有序的活動B.將開發(fā)過程分解為階段C.提供了有效的管理模式D.缺乏靈活性3.在軟件工程的需求分析階段,不屬于問題識別內(nèi)容的是()A.功能需求B.性能需求C.環(huán)境需求D.輸入/輸出需求4.畫某系統(tǒng)的數(shù)據(jù)流圖時,頂層圖有()A.0張B.1張C.2張D.3張及其以上5.軟件模塊內(nèi)聚性最強的是()A.功能內(nèi)聚B.通信內(nèi)聚C.偶然內(nèi)聚D.邏輯內(nèi)聚6.最早提出軟件系統(tǒng)維護問題的階段是()A.可行性分析B.需求分析C.概要設計D.詳細設計7.SD(結構化設計)方法設計的結果是()A.模塊B.模塊結構圖C.模塊的算法D.數(shù)據(jù)流圖8.在進行軟件測試時,首先應當進行以下哪項測試,然后再進行組裝測試,最后再進行有效性測試()A.單元測試B.系統(tǒng)測試C.集成測試D.確認測試9.軟件詳細設計階段的任務是()A.算法與數(shù)據(jù)結構設計B.功能設計C.調(diào)用關系設計D.輸入/輸出設計10.下列屬于靜態(tài)測試方法的是()A.黑盒法B.路徑覆蓋C.白盒法D.人工檢測11.Fortran語言主要作為以下哪個方面的語言()A.科學工程計算B.系統(tǒng)軟件C.事務處理D.人工智能12.用結構化語言來描述加工邏輯的外層結構時,以下不屬于基本結構的是()A.順序結構B.選擇結構C.嵌套結構D.重復結構l3.可維護軟件的主要特性包括()A.可理解性、可修改性、可移植性B.可使用性C.可維護性、可使用性、可靠性D.可測試性14.程序設計語言不具有的特性是()A.心理特性B.工程特性C.應用特性D.技術特性15.下列不屬于項目進度安排主要方法的是()A.工程網(wǎng)絡圖B.Gantt圖C.進度結構圖D.任務資源表16.下列不屬于通常冗余技術的是()A.結構冗余B.信息冗余C.時間冗余D.代碼冗余17.下列工具中,屬于需求追蹤工具的是()A.在DBMS上的應用運行工具B.追蹤和狀態(tài)報告C.訪問和版本控制機構D.文件和修改管理18.關于軟件測試的目的,下面觀點錯誤的是()A.為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程B.一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤C.證明程序是正確、沒有錯誤的D.一個成功的測試用例是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試19.在制定項目開發(fā)計劃文檔時,不包含的內(nèi)容是()A.項目概述B.實施計劃C.測試計劃D.交付期限20.面向對象的開發(fā)方法中,以下哪種方法原是面向Ada語言的,并處于面向對象開發(fā)方法的奠基性地位()A.Booch方法B.Coad方法C.UML語言D.OMT方法二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。21.可行性研究從技術可行性、經(jīng)濟可行性、________三方面進行分析。22.IDEF0方法用來描述系統(tǒng)的功能活動及其聯(lián)系,建立系統(tǒng)的_______模型。23.結構化方法總的指導思想是_______逐層分解。24.在一段程序中,將多次出現(xiàn)的一組語句設計為一個子程序,供多個部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為________。25.軟件部件的內(nèi)部實現(xiàn)與外部可訪問性分離,這是指軟件的______。26.用來模擬被測模塊的上級調(diào)用模塊的模塊稱為_______。27.軟件復雜性度量的參數(shù)很多,主要有規(guī)模、_______、結構、智能度。28.軟件開發(fā)環(huán)境中最主要的組成部分是______。29.軟件工程管理的具體內(nèi)容包括對開發(fā)人員、組織機構、用戶和______等方面的管理。30.增量模型根據(jù)增量方式和形式的不同,分為_____和原型模型。三、名詞解釋題(本大題共5小題,每小題3分,共15分)31.過程設計語言(PDL)32.可移植性33.漸增式測試34.詳細設計35.條件覆蓋四、簡答題(本大題共4小題,每小題5分,共20分)36.軟件生存周期可以分為幾個階段,每個階段的提交物是什么?37.結構化分析的描述工具有哪些?簡述結構化分析的步驟。38.什么是黑盒測試法?常用的黑盒測試方法有哪些?39.簡述面向對象的特征。五、應用題(本大題共2小題,第40小題10分,第41小題15分,共25分)40.下面是一段偽碼程序(代碼前的數(shù)字只作標號用,不參與程序執(zhí)行):START1:INPUT(A,B,C,D)2:IF(A>0)AND(B>0)THEN3:X=A+BELSE4:X=A-B5:END6:IF(C>A)OR(D<B)<p>THEN7:Y=C-DELSE8:Y=C+D9:END10:PRINT(X,Y)STOP根據(jù)以上的描述(1)畫出對應的流程圖和程序圖。(2)計算程序圖的環(huán)形復雜度。41.某個學生成績管理系統(tǒng)的部分功能如下:(1)基本信息管理:教務管理人員輸入或修改學期教學執(zhí)行計劃、學生名單和教師名單;(2)學生選課:學生根據(jù)教學執(zhí)行計劃進行選課;(3)分配任課教師:教務管理人員為符合開課條件的課程分配教師,并打印任課通知單給教師;(4)成績管理:每門課程的教師在考試評分結束后將考試成績交給教務管理人員,教務管理人員輸入、維護成績,系統(tǒng)可生成成績單(發(fā)給學生)、成績統(tǒng)計分析表(發(fā)給教務管理人員)。請根據(jù)要求畫出該問題的分層數(shù)據(jù)流圖(要求畫出頂層和0層數(shù)據(jù)流圖)。軟件工程導論預測題一,單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。1.可行性研究要進行一次_____需求分析。A.詳細的B.全面的C.簡化的、壓縮的D.徹底的[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā)。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。2.系統(tǒng)流程圖用于可行性分析中的_____的描述。A.當前運行系統(tǒng)B.當前邏輯模型C.目標系統(tǒng)D.新系統(tǒng)[解析]可行性研究首先要確定項目的規(guī)模和目標,然后就需要對當前運行的系統(tǒng)進行研究了,在考察系統(tǒng)的基礎上,通過描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖,與有關人員一起審查該系統(tǒng)流程圖是否正確。描述的對象是當前正在運行的系統(tǒng),因此選擇A。3.系統(tǒng)流程圖是描述_____的工具。A.邏輯系統(tǒng)B.程序系統(tǒng)C.體系結構D.物理系統(tǒng)[解析]系統(tǒng)流程圖是用圖形符號來表示系統(tǒng)中的各個元素,例如人工處理、數(shù)據(jù)庫、設備等,流程圖表達了系統(tǒng)中各個元素之間的信息流動情況。是描繪物理系統(tǒng)的傳統(tǒng)工具。4._______工具在軟件詳細設計過程中不采用。A.判定表B.IPO圖C.PDLD.DFD圖[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細情況。PDL是過程設計語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節(jié)的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。5.程序的三種基本控制結構是A.過程、子程序和分程序B.順序、選擇和重復C.遞歸、堆棧和隊列D.調(diào)用、返回和轉移[解析]程序的三種基本控制結構是順序、選擇和循環(huán)(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。6.程序的三種基本控制結構的共同特點是A.不能嵌套使用B.只能用來寫簡單程序C.已經(jīng)用硬件實現(xiàn)D.只有一個入口和一個出口[解析]程序的特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環(huán)方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環(huán)都可以嵌套設計。7.產(chǎn)生軟件維護的副作用,是指A.開發(fā)時的錯誤B.隱含的錯誤C.因修改軟件而造成的錯誤D.運行時誤操作[解析]因修改軟件而造成的錯誤或其他不希望出現(xiàn)的情況稱為維護的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。A.文檔B.數(shù)據(jù)C.編碼D.設計[解析]編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關系,修改文件的打開或關閉等。因此本題答案為C。9.可維護性的特性中相互促進的是A.可理解性和可測試性B.效率和可移植性C.效率和可修改性D.效率和結構好[解析]軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。10.汽車有一個發(fā)動機。汽車和發(fā)動機之間的關系是_____關系。A.一般具體B.整體部分C.分類關系D.主從關系[解析]類有兩種主要的結構關系,即一般——具體結構關系和整體——部分結構關系。前者稱為分類結構,用來描述現(xiàn)實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現(xiàn)實世界中的類的組成的抽象關系。汽車和發(fā)動機的關系很明顯,應該屬于整體——部分關系。11.在變更控制中,______可以用來確保由不同用戶所執(zhí)行的并發(fā)變更。A.異步控制B.同步控制C.存取控制D.基線控制[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現(xiàn)了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執(zhí)行任務的并發(fā)變更。12.變更控制是一項最重要的軟件配置任務,其中“檢出”和______處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。A.登入B.管理C.填寫變更要求D.審查[解析]“檢出”和“登入”處理實現(xiàn)了兩個重要的變更控制要素。具體說明見上題。13.提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要A.消除錯誤B.檢測錯誤C.避開錯誤D.容錯[解析]提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發(fā)的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術。14._____是以提高軟件質量為目的的技術活動。A.技術創(chuàng)新B.測試C.技術創(chuàng)造D.技術評審[解析]技術評審是以提高軟件質量為目的的技術活動,是對軟件本身的結構、與運行環(huán)境的接口、變更帶來的影響等方面進行的評審活動。15.面向對象方法學的出發(fā)點和基本原則是盡可能模擬人類習慣的思維方式,分析、設計和實現(xiàn)一個軟件系統(tǒng)的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向對象方法有許多特征,如軟件系統(tǒng)是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結構的繼承。A.開發(fā)過程基于功能分析和功能分解B.強調(diào)需求分析重要性C.把對象劃分成類,每個對象類都定義一組數(shù)據(jù)和方法D.對既存類進行調(diào)整[解析]面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結構(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯(lián)系。16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫A.生存期B.面向對象設計C.面向對象程序設計D.面向對象分析[解析]面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。17.原型化方法是用戶和設計者之間執(zhí)行的一種交互構成,適用于______系統(tǒng)。A.需求不確定性高的B.需求確定的C.管理信息D.實時[解析]原型不同于最終系統(tǒng),它只實現(xiàn)所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現(xiàn),因此適用于需求不確定性高的系統(tǒng)。18.原型化方法是一種_______型的設計過程。A.自外向內(nèi)B.自頂向下C.自內(nèi)向外D.自底向上[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實現(xiàn)構造出一個小型的、可執(zhí)行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產(chǎn)品的質量。它是一種自外向內(nèi)的設計過程。19.為了提高測試的效率,應該A.隨機地選取測試數(shù)據(jù)B.取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C.在完成編碼以后制定軟件的測試計劃D.選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)[解析]軟件測試是為了盡可能多的發(fā)現(xiàn)程序中的錯誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節(jié)進行測試,也不能無目的地隨機選取測試數(shù)據(jù),為了提高測試的效率,測試用例應該選擇發(fā)現(xiàn)錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。20.使用白盒測試方法時,確定測試數(shù)據(jù)應根據(jù)_______和指定的覆蓋標準。A.程序的內(nèi)部邏輯B.程序的復雜結構C.使用說明書D.程序的功能[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內(nèi)部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標準確定測試數(shù)據(jù)。二,填空題(本大題共10小題,每小題2分,共20分)21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的(信息流動)情況。[解析]系統(tǒng)流程圖是描述物理系統(tǒng)的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中的各個元素,如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設備等,表達了元素之間的信息流動的情況。22.成本效益分析的目的是從(經(jīng)濟)角度評價開發(fā)一個項目是否可行。[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權衡,其目的是從經(jīng)濟角度評價開發(fā)一個新的軟件項目是否可行。23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優(yōu)先或寬度優(yōu)先的策略,逐步把各個模塊集成在一起。24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環(huán)路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。26.在JSP方法中解決結構沖突的具體辦法是(中間數(shù)據(jù)結構或中間文件)。[解析]JSP方法是面向數(shù)據(jù)結構的設計方法。它定義了一組以數(shù)據(jù)結構為指導的映射過程,根據(jù)輸入、輸出的數(shù)據(jù)結構,按一定的規(guī)則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數(shù)據(jù)結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯(lián)系起來,構成一個系統(tǒng)的整體。27.詳細設計的任務是確定每個模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內(nèi)的數(shù)據(jù)結構進行設計,確定每個模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對數(shù)據(jù)庫進行物理設計等。28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱(軟件問題)報告。[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。29.有兩類維護技術:在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。[解析]面向維護的技術涉及軟件開發(fā)的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。30.科學工程計算需要大量的標準庫函數(shù),以便處理復雜的數(shù)值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。[解析]計算機語言根據(jù)不同行業(yè)的需求,使用的側重點也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫語言如FOXPRO、ORICAL有很多的應用,在工程行業(yè),計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/1、FORTRAN語言都是工程計算中常用的語言。三,名詞解釋(本大題共5小題,每小題3分,共15分)31.經(jīng)濟可行性解:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。32.社會可行性解:要開發(fā)的項目是否存在任何侵犯、妨礙等責任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質、操作方式是否可行。33.投資回收期解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。34.對應關系解:即有直接因果關系在程序中可以同時處理。35.結構沖突解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結構找不到對應關系的情況,稱為結構沖突。四,簡答題(本大題共4小題,每小題5分,共20分)36.可行性研究報告的主要內(nèi)容有哪些?解:一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。(2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負荷;各項費用支出;所需要各類專業(yè)技術人員的數(shù)量;所需要各種設備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶的影響;對各種設備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;對技術可行性的評價。(5)所建議系統(tǒng)的經(jīng)濟可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。(6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質的要求。(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。(8)結論意見:說明項目是否能開發(fā);還需要什么條件才能開發(fā);對項目目標有什么變動等。[解析]做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得去開發(fā),其中的問題能否解決,報告共分為八個基本內(nèi)容。37.系統(tǒng)設計的內(nèi)容是什么?解:系統(tǒng)設計階段先從高層入手,然后細化。系統(tǒng)設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關聯(lián)、操作、時間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。(2)確定并發(fā)性。分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務。(3)處理器及任務分配。各并發(fā)子系統(tǒng)必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現(xiàn)各子系統(tǒng)的各物理單元的連接。(4)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項重要的任務。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結構、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。如果資源是物理對象,則可以通過建立協(xié)議實現(xiàn)對并發(fā)系統(tǒng)的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環(huán)境中有沖突訪問的可能,如獨立的事務可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。(6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設計必須從多種方法中選擇某種方法來實現(xiàn)軟件的控制。(7)人機交互接口設計。設計中的大部分工作都與穩(wěn)定的狀態(tài)行為有關,但必須考慮用戶使用系統(tǒng)的交互接口。38.什么是軟件危機?軟件危機的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計算機硬件技術的進步,計算機運行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機的廣泛應用創(chuàng)造了條件。一些復雜的、大型的軟件開發(fā)項目提出來了,但是,軟件開發(fā)技術的進步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。軟件危機表現(xiàn)在以下四個方面:(1)經(jīng)費預算經(jīng)常突破,完成時間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差距,使得開發(fā)經(jīng)費一再突破。由于對工作量估計不足,對開發(fā)難度估計不足,進度計劃無法按時完成,開發(fā)時間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導致開發(fā)的軟件不能滿足用戶的要求,因而導致開發(fā)失敗。(3)開發(fā)的軟件可維護性差。開發(fā)過程中沒有同意的、公認的規(guī)范,軟件開發(fā)人員按各自的風格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結構不好,運行時發(fā)現(xiàn)錯誤也很難修改,導致維護性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質量差,在運行中暴露出大量的問題。造成軟件危機的原因是:(1)軟件的規(guī)模越來越大,結構越來越復雜。(2)軟件開發(fā)管理困難而復雜。(3)軟件開發(fā)費用不斷增加。(4)軟件開發(fā)技術落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。39.軟件質量保證應做好哪幾方面的工作?解:軟件質量保證是軟件工程管理的重要內(nèi)容,軟件質量保證應做好以下幾方面的工作:(1)采用技術手段和工具。質量保證活動要貫徹開發(fā)過程始終,必須采用技術手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。(2)組織正式技術評審。在軟件開發(fā)的每一個階段結束時,都要組織正式的技術評審。國家標準要求單位必須采用審查、文檔評審、設計評審、審計和測試等具體手段來保證質量。(3)加強軟件測試。軟件測試是質量保證的重要手段,因為測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯誤。(4)推行軟件工程規(guī)范(標準)。用戶可以自己制定軟件工程規(guī)范(標準),但標準一旦確認就應貫徹執(zhí)行。(5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。(6)對軟件質量進行度量。即對軟件質量進行跟蹤,及時記錄和報告軟件質量情況。[解析]軟件的質量保證是向用戶及社會提供滿意的高質量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質量的活動,是軟件工程管理中的重要內(nèi)容。五,論述題(本大題共3小題,第40小題7分,第41小題8分,第42小題10分,共25分)40.請使用PAD圖和PDL語言描述在數(shù)組A(1)~A(10)中找最大數(shù)的算法。解:PDL語言:N=1WHILEN<=10DOIFA(N)<=A(N+1)MAX=A(N+1);ELSEMAX=A(N)ENDIF;N=N+1;ENDWHILE;PAD圖:[解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。41.根據(jù)下列條件使用等價類劃分法設計測試用例。某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177,如05,0127,-065解:(1)劃分等價類并編號,如下表示:(4分)(2)為合理等價類設計測試用例,表中有兩個合理等價類,設計兩個例子(2分)(3)為不合理等價類測試用例,至少設計一個測試用例(2分)[解析]等價類劃分屬于黑盒測試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預期的效果。42.某電器集團公司下屬的廠包括技術科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:生產(chǎn)科的任務是:(1)根據(jù)銷售公司轉來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設計(結構、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間技術科的任務是:(1)根據(jù)生產(chǎn)科轉來的組裝計劃進行產(chǎn)品結構設計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應科,并產(chǎn)生產(chǎn)品自制物料清單。(2)根據(jù)組裝計劃進行產(chǎn)品工藝設計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術科處理的軟件結構圖。解:畫出生產(chǎn)科圖的給6分,畫出技術科的給4分。[解析]軟件結構圖是軟件系統(tǒng)的模塊層次結構,反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結構往往用樹狀或網(wǎng)狀結構的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關系,根據(jù)題意,可繪制出生產(chǎn)科和技術科的軟件結構圖,其中生產(chǎn)科的結構圖深度和寬度均為4,技術科的結構圖的深度和寬度均為3。軟件工程試題及答案第一部分選擇題一、單項選擇題每小題1分,共20分。(在每小題的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內(nèi))1.在下列工具與環(huán)境中()屬于較早期的CASE。A.基于信息工程CASEB.人工智能CASEC.結構的基于圖形CASED.集成的CASE環(huán)境2.Putnam成本估算模型是一個()模型。A.靜態(tài)單變量B.動態(tài)單變量C.靜態(tài)多變量D.動態(tài)多變量3.在McCall軟件質量度量模型中,()屬于面向軟件產(chǎn)品修改。A.可靠性B.可重用性C.適應性D.可移植性4.ISO的軟件質量評價模型由3層組成,其中用于評價設計質量的準則是()A.SQICB.SQMCC.SQRCD.SQDC5.軟件復雜性度量的參數(shù)包括()A.效率B.規(guī)模C.完整性D.容錯性6.對象實現(xiàn)了數(shù)據(jù)和操作的結合,使數(shù)據(jù)和操作()于對象的統(tǒng)一體中。A.結合B.隱藏C.封裝D.抽象7.軟件調(diào)試技術包括()A.邊界值分析B.演繹法C.循環(huán)覆蓋D.集成測試8.瀑布模型的存在問題是()A.用戶容易參與開發(fā)B.缺乏靈活性C.用戶與開發(fā)者易溝通D.適用可變需求9.軟件測試方法中的靜態(tài)測試方法之一為()A.計算機輔助靜態(tài)分析B.黑盒法C.路徑覆蓋D.邊界值分析10.軟件生命周期中所花費用最多的階段是()A.詳細設計B.軟件編碼C.軟件測試D.軟件維護11.第一個體現(xiàn)結構化編程思想的程序設計語言是()A.FORTRAN語言B.Pascal語言C.C語言D.PL/1語言12.程序的三種基本控制結構是()A.過程、子程序和分程序B.順序、選擇和重復C.遞歸、堆棧和隊列D.調(diào)用、返回和轉移13.在詳細設計階段,經(jīng)常采用的工具有()A.PADB.SAC.SCD.DFD14.詳細設計的結果基本決定了最終程序的()A.代碼的規(guī)模B.運行速度C.質量D.可維護性15.需求分析中開發(fā)人員要從用戶那里了解()A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規(guī)模16.結構化程序設計主要強調(diào)的是()A.

程序的規(guī)模B.

程序的效率C.

程序設計語言的先進性D.

程序易讀性17.IDEF。圖反映系統(tǒng)()A.怎么做B.對誰做C.何時做D.做什么18.經(jīng)濟可行性研究的范圍包括()A.資源有效性B.管理制度C.效益分析D.開發(fā)風險19.可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據(jù),因必須給出()的回答。A.確定B.行或不行C.正確D.無二義20.需求分析階段的任務是確定()A.

軟件開發(fā)方法B.

軟件開發(fā)工具C.

軟件開發(fā)費D.

軟件系統(tǒng)的功能

二、填空題(每空2分,共20分)。21.在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進行大量的修改,軟件配置管理能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。22.規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有容錯功能的軟件。23.McCall提出的軟件質量模型包括11個軟件質量特性。24.軟件可維護性度量的七個質量特性是可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。25.為了便于對照檢查,測試用例應由輸入數(shù)據(jù)和預期的輸出結果兩部分組成。26.程序設計語言的心理特性主要表現(xiàn)在歧義性、簡潔性、傳統(tǒng)性、局部性和順序性。27.軟件結構是以模塊為基礎而組成的一種控制層次結構。28.在結構化分析中,用于描述加工邏輯的主要工具有三種,即:結構化語言、判定表、判定樹。29.結構化語言是介于自然語言和形式語言之間的一種半形式語言。30.若年利率為i,不計復利,n年后可得錢數(shù)為F,則現(xiàn)在的價值P=F/(1+(n*i)。三、名詞解釋題每小題3分,共15分。31.軟件生存周期模型描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型32.數(shù)據(jù)字典(DD)數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統(tǒng)的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。33.內(nèi)聚性內(nèi)聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結合的緊密程度的度量34.JSP方法JSP方法是面向數(shù)據(jù)結構的設計方法,其定義了一組以數(shù)據(jù)結構為指導的映射過程,它根據(jù)輸入,輸出的數(shù)據(jù)結構,按一定的規(guī)則映射成軟件的過程描述,即程序結構。35.多態(tài)性指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結果。或(不同的對象,收到同一消息可以產(chǎn)生不同的結果。)四、簡答題每小題5分,共20分。36.簡述容錯技術的四種主要手段,并解釋。結構冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術:指為實現(xiàn)上述冗余技術所需的資源和技術。37.以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;(2)一個好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。(3)一個成功的測試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試。38.就程序設計語言的工程特性而言,對程序編碼有哪些要求?就程序設計語言的工程特性而言,對程序編碼有如下要求:(1)可移植性(2)開發(fā)工具的可利用性(3)軟件的可重用性(4)可維護性39.模塊的內(nèi)聚性包括哪些類型?模塊的內(nèi)聚性包括:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚五、應用題第40小題7分,第41小題8分,第42小題10分,共25分。41.根據(jù)下列條件使用等價劃分法設計測試用例。某一8位微機,其十六進制常數(shù)定義為:以0x或0X開頭的數(shù)是十六進制整數(shù),其值的范圍是-7f~7f(表示十六進制的大小寫字母不加區(qū)別),如0X13,0X6A,-0X3c。解答:等價劃分法①劃分等價類并編號,如下表所示。十六進制整型常量輸入條件的等價類表輸入數(shù)據(jù)合理等價類不合理等價類十六進制整數(shù)1.

0x或0X開頭1~2位數(shù)字串2.

以-0x打頭的1~2位數(shù)字串3.

非0x或非-打頭的串4.

含有非數(shù)字且(a,b,c,d,e,f)以外字符5.

多于5個字符6.

-后跟非0的多位串7.

-0后跟數(shù)字串8.

-后多于3個數(shù)字十六進制數(shù)范圍9.在-7f~7f之間10.小于-7f11.大于7f②為合理等價類設計測試用例,表中有三個合理等價類,設計兩個例子測試數(shù)據(jù)期望結果覆蓋范圍0×23顯示有效輸入1,9-0×15顯示有效輸入2,9③為每個不合理等價類至少設計一個測試用例測試數(shù)據(jù)期望結果覆蓋范圍2顯示無效輸入3G12顯示無效輸入4123311顯示無效輸入5-1012顯示無效輸入6-011顯示無效輸入7-0134顯示無效輸入8-0x777顯示無效輸入100x87顯示無效輸入11一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.軟件工程管理的具體內(nèi)容不包括對_________管理。()A.開發(fā)人員B.組織機構C.控制D.設備2.在McCall軟件質量度量模型中,_________屬于面向軟件產(chǎn)品操作。()A.正確性B.可維護性C.適應性D.互操作性3.在快速原型模型的開發(fā)過程中,用原型過程來代替全部開發(fā)階段所用模型是_________模型。()A.探索型原型B.演化型原型C.實驗型原型D.增量型原型4.維護中因刪除一個標識符而引起的錯識是_________副作用。()A.文檔B.數(shù)據(jù)C.編碼D.設計5.軟件維護的困難主要原因是()A.費用低B.人員少C.開發(fā)方法的缺陷D.維護難6.用白盒法技術設計測試用例的方法包括()A.錯誤推測B.因果圖C.基本路徑測試D.邊界值分析7.軟件測試中根據(jù)測試用例設計的方法的不同可分為黑盒測試和白盒測試兩種,它們()A.前者屬于靜態(tài)測試,后者屬于動態(tài)測試B.前者屬于動態(tài)測試,后者屬于靜態(tài)測試C.都屬于靜態(tài)測試D.都屬于動態(tài)測試8.程序設計語言的心理特性在語言中表現(xiàn)不應包括()A.歧義性B.簡潔性C.保密性D.傳統(tǒng)性9.程序的三種基本控制結構的共同特點是()A.只能用來描述簡單程序B.不能嵌套使用C.單入口,單出口D.僅用于自動控制系統(tǒng)10.JSP方法是一種面向_________的設計方法。()A.控制結構B.對象C.數(shù)據(jù)流D.數(shù)據(jù)結構11.當一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為()A.數(shù)據(jù)耦合B.公共耦合C.標記耦合D.內(nèi)容耦合12.軟件設計的方法有多種,_________方法不屬于面向數(shù)據(jù)流的設計方法。()A.基于Jackson圖的設計B.基于IDEF0圖的設計C.交換分析設計D.事務分析設計13.為高質量地開發(fā)軟件項目,在軟件結構設計時,必須遵循_________原則。()A.信息隱蔽B.質量控制C.程序優(yōu)化D.數(shù)據(jù)共享14.設在一個模塊內(nèi)有2個判定,若受其中一個判定影響到的模塊集合為A,而受另一個判定影響到的模塊集合為B,則該模塊的作用范圍是()A.B.C.()—()D.()()15.數(shù)據(jù)流圖(DFD)是_________方法中用于表示系統(tǒng)的邏輯模型的一種圖形工具。()A.SAB.SDC.SPD.SC16.螺旋模型是一種將瀑布模型和_________結合起來的軟件開發(fā)模型。()A.增量模型B.專家系統(tǒng)C.噴泉模型D.變換模型17.需求規(guī)格說明書的作用不包括()A.軟件驗收的依據(jù)B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件可行性研究的依據(jù)D.軟件設計的依據(jù)18.數(shù)據(jù)字典是用來定義_________中的各個成份的具體含義的。()A.流程圖B.功能結構圖C.系統(tǒng)結構圖D.數(shù)據(jù)流圖19.設年利率為i,現(xiàn)存入p元,不計復利,n年后可得錢數(shù)為()A.p﹡(1+i﹡n)B.p﹡(i+1)nC.p﹡(1+i)﹡nD.p﹡(i+n)20.在軟件生產(chǎn)的程序系統(tǒng)時代由于軟件規(guī)模擴大和軟件復雜性提高等原因導致了()A.軟件危機B.軟件工程C.程序設計革命D.結構化程序設計二、填空題(本大題共10小題,每空2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。21.第二代CASE工具的特點是支持圖形表示的____________。如數(shù)據(jù)流圖與結構圖。22.在面向對象方法中,對象實現(xiàn)了數(shù)據(jù)和操作的結合,使數(shù)據(jù)和操作________于對象的統(tǒng)一體中。23.面向對象分析的目的是對客觀世界的系統(tǒng)進行__________________。24.軟件維護工作的生產(chǎn)性活動包括分析評價、修改設計和__________________等。25.為了使應用軟件適應計算機環(huán)境的變化而__________________的過程稱為適應性維護。26.一個進行學生成績統(tǒng)計的模塊其功能是先對學生的成績進行累加,然后求平均值,則該模塊的內(nèi)聚性是__________________。27.基于IDEF0圖的設計是以系統(tǒng)的功能模型和__________________為基礎設計系統(tǒng)的軟件結構。28.軟件結構圖的寬度是指一層中__________________的模塊個數(shù)。29.投資回收期就是使累計的經(jīng)濟效益等于__________________所需的時間。30.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到__________________為止的整個時期。三、詞語解釋題(本大題共5小題,每小題3分,共15分)31.增量開發(fā)32.漸增式測試33.詳細設計34.模塊的控制范圍35.父圖與子圖的平衡四、簡答題(本大題共4小題,每小題5分,共20分)36.何謂軟件開發(fā)方法?請列舉四種主要方法。37.從開發(fā)者角度進行程序質量的評審時,軟件的結構包括哪些主要內(nèi)容?38.說明軟件文檔的作用。39.簡述詳細設計的基本任務。五、綜合應用題(第一小題7分,第二小題8分,第三小題10分,共25分)40.試利用McCabe的程序復雜性計算方法計算如下程序圖的復雜性。41.根據(jù)下列條件使用邊界值分析法設計測試用例。某一8位微機,其八進制常數(shù)定義為:以零開頭的數(shù)是八進制整數(shù),其值的范圍是-177~177。如05,0127,-06542.工資計算系統(tǒng)中的一個子系統(tǒng)有如下功能:(1)計算扣除部分—由基本工資計算出應扣除(比如水電費、缺勤)的部分;(2)計算獎金部分—根據(jù)職工的出勤情況計算出獎勵金;(3)計算工資總額部分—根據(jù)輸入的扣除額及獎金計算出總額;(4)計算稅金部分—由工資總額中計算出應扣除各種稅金;(5)生成工資表—根據(jù)計算總額部分和計算稅金部分傳遞來的有關職工工資的詳細信息生成工資表。試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖,并把其轉換為軟件結構圖。全國2008年10月高等教育自學考試軟件工程試題一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.“軟件工程的概念是為解決軟件危機而提出的”這句話的意思是()A.強調(diào)軟件工程成功解決了軟件危機的問題B.說明軟件危機的存在總是使軟件開發(fā)不像傳統(tǒng)工程項目那樣容易管理C.說明軟件工程這門學科的形成是軟件發(fā)展的需要D.說明軟件工程的概念,即:工程的原則、思想、方法可解決當時軟件開發(fā)和維護存在的問題2.瀑布模型的主要特點是()A.將開發(fā)過程嚴格地劃分為一系列有序的活動B.將開發(fā)過程分解為階段C.提供了有效的管理模式D.缺乏靈活性3.在軟件工程的需求分析階段,不屬于問題識別內(nèi)容的是()A.功能需求B.性能需求C.環(huán)境需求D.輸入/輸出需求4.畫某系統(tǒng)的數(shù)據(jù)流圖時,頂層圖有()A.0張B.1張C.2張D.3張及其以上5.軟件模塊內(nèi)聚性最強的是()A.功能內(nèi)聚B.通信內(nèi)聚C.偶然內(nèi)聚D.邏輯內(nèi)聚6.最早提出軟件系統(tǒng)維護問題的階段是()A.可行性分析B.需求分析C.概要設計D.詳細設計7.SD(結構化設計)方法設計的結果是()A.模塊B.模塊結構圖C.模塊的算法D.數(shù)據(jù)流圖8.在進行軟件測試時,首先應當進行以下哪項測試,然后再進行組裝測試,最后再進行有效性測試()A.單元測試B.系統(tǒng)測試C.集成測試D.確認測試9.軟件詳細設計階段的任務是()A.算法與數(shù)據(jù)結構設計B.功能設計C.調(diào)用關系設計D.輸入/輸出設計10.下列屬于靜態(tài)測試方法的是()A.黑盒法B.路徑覆蓋C.白盒法D.人工檢測11.Fortran語言主要作為以下哪個方面的語言()A.科學工程計算B.系統(tǒng)軟件C.事務處理D.人工智能12.用結構化語言來描述加工邏輯的外層結構時,以下不屬于基本結構的是()A.順序結構B.選擇結構C.嵌套結構D.重復結構l3.可維護軟件的主要特性包括()A.可理解性、可修改性、可移植性B.可使用性C.可維護性、可使用性、可靠性D.可測試性14.程序設計語言不具有的特性是()A.心理特性B.工程特性C.應用特性D.技術特性15.下列不屬于項目進度安排主要方法的是()A.工程網(wǎng)絡圖B.Gantt圖C.進度結構圖D.任務資源表16.下列不屬于通常冗余技術的是()A.結構冗余B.信息冗余C.時間冗余D.代碼冗余17.下列工具中,屬于需求追蹤工具的是()A.在DBMS上的應用運行工具B.追蹤和狀態(tài)報告C.訪問和版本控制機構D.文件和修改管理18.關于軟件測試的目的,下面觀點錯誤的是()A.為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程B.一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤C.證明程序是正確、沒有錯誤的D.一個成功的測試用例是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試19.在制定項目開發(fā)計劃文檔時,不包含的內(nèi)容是()A.項目概述B.實施計劃C.測試計劃D.交付期限20.面向對象的開發(fā)方法中,以下哪種方法原是面向Ada語言的,并處于面向對象開發(fā)方法的奠基性地位()A.Booch方法B.Coad方法C.UML語言D.OMT方法二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。21.可行性研究從技術可行性、經(jīng)濟可行性、________三方面進行分析。22.IDEF0方法用來描述系統(tǒng)的功能活動及其聯(lián)系,建立系統(tǒng)的_______模型。23.結構化方法總的指導思想是_______逐層分解。24.在一段程序中,將多次出現(xiàn)的一組語句設計為一個子程序,供多個部分調(diào)用,這種情況出現(xiàn)的內(nèi)聚稱為________。

溫馨提示

  • 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

提交評論