軟件工程課復(fù)習(xí)題_第1頁
軟件工程課復(fù)習(xí)題_第2頁
軟件工程課復(fù)習(xí)題_第3頁
軟件工程課復(fù)習(xí)題_第4頁
軟件工程課復(fù)習(xí)題_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄軟件工程自測題(一) 1軟件工程自測題(二) 10軟件工程自測題(三) 43補(bǔ)充編程類題目(四) 55軟件工程自測題(一)一、單項選擇題1.軟件危機(jī)具有下列體現(xiàn)()。I.軟件開發(fā)成本估計不精確 II.軟件產(chǎn)品的質(zhì)量往往靠不住III.軟件常常不可維護(hù) IV.軟件成本逐年上升A.I、II和III B.I、III和IV C.II、III和IV D.以上都對的2.軟件生命周期一般都被劃分為若干個獨立的階段,其中占用精力和費用最多的階段往往是()。A.運行和維護(hù)階段 B.設(shè)計階段C.代碼實現(xiàn)階段 D.測試階段3.下列屬于軟件的特點的是()。A.軟件是一種邏輯實體,具有抽象性B.軟件在使用過程中沒有磨損、老化的問題C.軟件不一樣于一般程序,它的一種明顯特點是規(guī)模龐大,復(fù)雜程度高D.以上都對的4.軟件工程的出現(xiàn)是由于()。A.軟件危機(jī)的出現(xiàn) B.計算機(jī)硬件技術(shù)的發(fā)展C.軟件社會化的需要 D.計算機(jī)軟件技術(shù)的發(fā)展5.軟件開發(fā)技術(shù)不包括()。A.軟件開發(fā)措施學(xué) B.軟件工程環(huán)境C.軟件工具 D.軟件質(zhì)量度量6.軟件工程的課程特點()。I.學(xué)科理論及其知識應(yīng)用的多維性II.工程化III.濃厚的措施學(xué)色彩IV.實踐性、指導(dǎo)性強(qiáng)A.I、II和III B.I、III和IV C.II、III和IV D.以上都對的7.下列屬于應(yīng)用軟件的是()。I.計算機(jī)輔助教學(xué)軟件 II.軟件測試工具III.辦公自動化軟件 IV.工程與科學(xué)計算軟件A.I、II和III B.I、III和IV C.II、III和IV D.以上都對的8.需求分析階段最重要的技術(shù)文檔是()。A.設(shè)計闡明書 B.需求規(guī)格闡明書C.可行性分析匯報 D.顧客手冊9.如下有關(guān)數(shù)據(jù)流圖的說法錯誤的是()。A.數(shù)據(jù)流圖舍去了詳細(xì)的物質(zhì),只剩余數(shù)據(jù)的流動、加工處理和存儲B.數(shù)據(jù)流圖是用作構(gòu)造化分析的一種工具C.老式的數(shù)據(jù)流圖中重要由加工、數(shù)據(jù)源點/終點、數(shù)據(jù)流、控制流、數(shù)據(jù)存儲構(gòu)成D.數(shù)據(jù)流圖的繪制采用自上向下、逐層分解的措施10.數(shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()。A.數(shù)據(jù)庫設(shè)計 B.數(shù)據(jù)通信 C.數(shù)據(jù)定義 D.數(shù)據(jù)維護(hù)11.需求分析階段的研究對象是()。A.系統(tǒng)分析員規(guī)定 B.顧客規(guī)定C.軟硬件規(guī)定 D.系統(tǒng)規(guī)定12.構(gòu)造化措施的基本原則是()。A.模塊化 B.抽象與分解 C.信息隱蔽 D.逐漸求精13.耦合度最高的是()耦合。A.環(huán)境 B.內(nèi)容 C.控制 D.數(shù)據(jù)14.內(nèi)聚程度較低的是()內(nèi)聚。A.偶爾 B.通訊 C.次序 D.時間15.對一種程序來說,構(gòu)成系統(tǒng)的模塊數(shù)目(),則開發(fā)成本越小。A.越多 B.越少 C.次序 16.畫軟件構(gòu)造圖時應(yīng)注意調(diào)用關(guān)系只能是()。A.從下到上 B.從上到下 C.從左到右 D.從右到左17.程序流程圖中的箭頭代表()。A.數(shù)據(jù)流 B.控制流 C.次序流 D.調(diào)用18.軟件測試是軟件質(zhì)量保證的重要手段,下述()是軟件測試的最基礎(chǔ)環(huán)節(jié)。A.功能測試 B.單元測試 C.構(gòu)造測試 D.確認(rèn)測試19.軟件測試措施中,黑盒測試法重要用于測試()。A.構(gòu)造合理性 B.軟件外部功能C.程序?qū)Φ男? D.程序內(nèi)部邏輯20.軟件測試是軟件質(zhì)量保證的重要手段之一,測試的目的是()。A.證明軟件符合設(shè)計規(guī)定 B.發(fā)展軟件的潛在能力C.發(fā)現(xiàn)軟件中的錯誤和缺陷 D.鑒定軟件與否合格21.選擇程序設(shè)計語言的關(guān)鍵原因是()。A.軟件應(yīng)用領(lǐng)域 B.軟件執(zhí)行環(huán)境C.軟件開發(fā)措施 D.算法和數(shù)據(jù)構(gòu)造二、填空題1.計算機(jī)軟件不僅僅是程序,還應(yīng)當(dāng)有一整套文檔。2.老式的軟件生存期模型是瀑布模型。3.軟件按照功能的不一樣可以劃分為3大類型系統(tǒng)軟件、支持軟件和應(yīng)用軟件。4.與程序流程圖相比,盒圖沒有箭頭,因此不容許隨意轉(zhuǎn)移控制。5.好的測試方案是極也許發(fā)現(xiàn)了迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。三、判斷題(對的的劃“√”,不對的的劃“×”)1.在軟件的開發(fā)過程中,工作量最大的一種階段就是編寫程序。錯誤。在軟件的開發(fā)過程中,工作量最大的一種階段應(yīng)是測試階段。一般說來,模擬的內(nèi)聚程度越高,它們之間的耦合程度也就越高。錯誤。一般說來,模塊的內(nèi)聚程度越高,它們之間的耦合程度也就越低。軟件測試只能證明程序有錯誤,不能證明程序沒有錯誤。錯誤。構(gòu)造化程序設(shè)計措施能改善程序構(gòu)造,但往往減少他程序的運行效率。構(gòu)造化程度設(shè)計措施能改善程序構(gòu)造,提高程序的運行效率。錯誤。構(gòu)造化程度設(shè)計措施能改善程序構(gòu)造,但往往會減少程序的運行效率。假如測試數(shù)據(jù)滿足條件覆蓋,則必然滿足鑒定覆蓋。錯誤。對于特定的程序而言,滿足條件覆蓋的測試數(shù)據(jù)不一定必然滿足鑒定覆蓋。四、綜合題1.求100~1000間的素數(shù)。請畫出描述該問題的N-S圖。1.2.將下列數(shù)據(jù)流圖轉(zhuǎn)換為控制構(gòu)造圖。3.已知有如下程序段:beginp1; ifC1 thenwhileC2do p2elsep3;whileC3do beginp4; ifC4 thenp5 elsep6 end;p7; ifC5 thenrepeatp8untilc6 elsep9;end請用PAD圖描述;(2)請用程序流程圖描述。

軟件工程自測題(二)一、填空題1.軟件是計算機(jī)程序及其闡明程序的多種文檔。程序是計算機(jī)任務(wù)的處理對象和處理規(guī)則的描述;文檔是有關(guān)計算機(jī)程序功能、設(shè)計、編制、使用的文字或圖形資料。2.軟件生產(chǎn)的發(fā)展,到目前為止,通過三個階段,即程序設(shè)計時代,程序系統(tǒng)時代,軟件工程時代。3.軟件生存周期模型是描述軟件開發(fā)過程中多種活動怎樣執(zhí)行的模型。4.構(gòu)造化措施由構(gòu)造化分析、構(gòu)造化設(shè)計、構(gòu)造化程序設(shè)計構(gòu)成。它是一種面向數(shù)據(jù)流的開發(fā)措施。5.Jackson措施是一種面向數(shù)據(jù)構(gòu)造的開發(fā)措施。6.軟件可行性研究的目的就是用最小的代價在盡量短的時間內(nèi)確定該軟件項目與否可以開發(fā),與否值得去開發(fā)。7.可行性研究需要從如下三個方面分析研究每種處理措施的可行性:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性。8.效益分析有形效益和無形效益兩種。有形效益可以用貨幣的時間價格、投資回收期、純收入等指標(biāo)進(jìn)行度量;無形效益重要從性質(zhì)上、心理上進(jìn)行衡量,很難直接進(jìn)行量的比較。9.構(gòu)造化分析措施是面向數(shù)據(jù)流進(jìn)行需求分析的措施。10.在SA措施的需求描述工具中,數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分構(gòu)成,各部分之間有什么聯(lián)絡(luò)等等。數(shù)據(jù)字典定義了數(shù)據(jù)流圖中每一種圖形元素。構(gòu)造化語言、鑒定表或鑒定樹則詳細(xì)描述數(shù)據(jù)流圖中不能被再分解為每一種加工。11.數(shù)據(jù)流圖有四種基本成分:數(shù)據(jù)流、加工(又稱為數(shù)據(jù)處理)、文獻(xiàn)、數(shù)據(jù)的源點或終點。12.數(shù)據(jù)字典有如下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、文獻(xiàn)、基本加工。數(shù)據(jù)項是構(gòu)成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。13.數(shù)據(jù)字典中的加工邏輯重要描述該加工“做什么”,即實現(xiàn)加工的方略,而不是實現(xiàn)加工的細(xì)節(jié),它描述怎樣把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則。14.加工邏輯也稱為“小闡明”,常用的加工邏輯的描述工具有:構(gòu)造化語言、鑒定表、鑒定樹。15.構(gòu)造化語言是介于自然語言(英語或漢語)和形式語言之間的一種半形式語言。它的構(gòu)造可提成外層和內(nèi)層兩層,外層用來描述控制構(gòu)造,采用次序、選擇、反復(fù)三種基本構(gòu)造。16.三種描述加工邏輯的工具各有優(yōu)缺陷,對于次序執(zhí)行和循環(huán)執(zhí)行的動作,用構(gòu)造化語言描述。對于存在多種條件復(fù)雜組合的判斷問題,用鑒定表和鑒定樹。17.在軟件需求分析階段,已經(jīng)弄清晰了軟件的問題,并把這些需求通過規(guī)格闡明書描述了出來,這也是目的系統(tǒng)的邏輯模型。18.軟件構(gòu)造的設(shè)計是以模塊為基礎(chǔ)的,以需求分析的成果為根據(jù),從實現(xiàn)的角度深入劃分為模塊,并構(gòu)成模塊的層次構(gòu)造。19.在一種模塊中,輸入/輸出反應(yīng)模塊的外部特性,程序及數(shù)據(jù)反應(yīng)它的內(nèi)部特性。20.衡量模擬獨立性的兩個定性的度量原則是內(nèi)聚性和耦合性。21.耦合性也稱塊間聯(lián)絡(luò)。指軟件系統(tǒng)構(gòu)造中互相聯(lián)絡(luò)緊密程度的一種度量。模塊之間聯(lián)絡(luò)越緊密,其耦合性就越強(qiáng),模擬的獨立性則越差。22.內(nèi)聚性又稱塊內(nèi)聯(lián)絡(luò)。指模擬的功能強(qiáng)度的度量,即一種模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。若一種模塊內(nèi)各元素(語句之間、程序段之間)的聯(lián)絡(luò)越緊密,則它的內(nèi)聚性就越高。23內(nèi)聚性有六種類型:偶爾內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、通信內(nèi)聚、次序內(nèi)聚、功能內(nèi)聚。24.偶爾內(nèi)聚指一種模塊內(nèi)的各處理元素之間沒有任何聯(lián)絡(luò)。這是內(nèi)聚程度最差的內(nèi)聚。25.邏輯內(nèi)聚指模擬內(nèi)執(zhí)行幾種邏輯上相似的功能,通過參數(shù)確定該模塊完畢哪一種功能。把需要同步執(zhí)行的動作組合在一起形成的模塊為時間內(nèi)聚模塊。26.耦合性與內(nèi)聚性是模塊獨立性的兩個定性原則,將軟件系統(tǒng)劃分模塊時,盡量做到高內(nèi)聚、低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件構(gòu)造奠定基礎(chǔ)。27.構(gòu)造圖的重要內(nèi)容有:模塊、模塊調(diào)用、參數(shù)傳遞。28.模塊的扇出指一種模塊直接下屬模塊的個數(shù),扇入指一種模塊直接上屬模塊的個數(shù)。29.要把數(shù)據(jù)流圖(DFD)轉(zhuǎn)換成軟件構(gòu)造,首先必須研究DFD的類型。多種軟件系統(tǒng),一般可分為變換型和事務(wù)型兩類。30.變換型的DFD是由輸入、變換(或稱處理)和輸出三部分構(gòu)成。31.變換型數(shù)據(jù)處理的工作過程一般分為三步:獲得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù),這三步體現(xiàn)了變換型DFD的基本思想。32.在變換型DFD中,變換是系統(tǒng)的主加工,變換輸入端的數(shù)據(jù)流稱為系統(tǒng)的邏輯輸入,輸出端的數(shù)據(jù)流為邏輯輸出。而直接從外部設(shè)備輸入數(shù)據(jù)稱為物理輸入,直接從外部設(shè)備上的輸出數(shù)據(jù)稱為物理輸出。33.若某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工途徑,并根據(jù)輸入的值選擇其中一種途徑來執(zhí)行,這種特性的DFD稱為事務(wù)型的數(shù)據(jù)流圖,這個加工稱為事務(wù)處理中心。34.任何程序都可由次序、選擇、反復(fù)三種基本控制構(gòu)造構(gòu)造。這三種基本構(gòu)造的共同點是單入口、單出口。35.詳細(xì)描述處理過程常用三種描述工作:圖形、表格和語言。36.程序流程圖又稱為程序框圖,應(yīng)由三種基本控制構(gòu)造次序組合和完整嵌套而成,不能有互相交叉的狀況,這樣的流程圖是構(gòu)造化的流程圖。37.偽碼的構(gòu)造一般分為內(nèi)外兩層,外層語法應(yīng)符合一般程序設(shè)計語言常用的語法規(guī)則,而內(nèi)層語法則用某些簡樸的句子、短語和通用的數(shù)學(xué)符號,來描述程序應(yīng)執(zhí)行的功能。38.Jackson措施是面向數(shù)據(jù)構(gòu)造的設(shè)計措施。39.匯編語言是面向機(jī)器的,可以完畢高級語言無法滿足規(guī)定的特殊功能,如與外部設(shè)備之間的某些接口操作。40.近年來,推出了許多面向?qū)ο蟮恼Z言,如C++、Java等41.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。一種好的測試用例可以發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。一種成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。42.軟件測試措施一般分為兩大類:動態(tài)測試措施與靜態(tài)測試措施。43.動態(tài)測試措施中根據(jù)測試用例的設(shè)計措施不一樣,分為黑盒測試與白盒測試兩類。44.動態(tài)測試指通過運行程序發(fā)現(xiàn)錯誤。對軟件產(chǎn)品進(jìn)行動態(tài)測試時,使用黑盒測試法和白盒測試法。45.黑盒法把被測試對象當(dāng)作一種黑盒子,測試人員完全不考慮程序的內(nèi)部構(gòu)造和處理過程。只在軟件的接口處進(jìn)行測試。46.白盒法把測試對象看作一種打開的盒子,測試人員需理解程序的內(nèi)部構(gòu)造和處理過程。47.語句覆蓋是指設(shè)計足夠的測試用例,使被測程序中每個語句至少執(zhí)行一次。語句覆蓋是比較弱的覆蓋原則。48.用墨盒技術(shù)設(shè)計測試用例的措施有四種等價類劃分、邊界值分析、錯誤推測法和因果圖。49.等價類劃分是將輸入數(shù)據(jù)域按有效的(合理的)或無效的(不合理的)劃提成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。50.軟件產(chǎn)品在交付使用之前要通過哪些測試呢?一般要通過如下四步測試:單元測試、系統(tǒng)測試、集成測試和確認(rèn)測試。二、單項選擇題1.()是計算機(jī)程序及其闡明程序的多種文檔。A.軟件 B.數(shù)據(jù) C.文檔 D.程序2.()是有關(guān)計算機(jī)程序功能、設(shè)計、編制使用的文字或圖形資料。A.程序 B.文檔 C.軟件 D.數(shù)據(jù)3.軟件工程中描述生存周期模型的瀑布模型一般包括計劃、()、設(shè)計、編碼、測試、維護(hù)等幾種階段。A.需求分析 B.需求調(diào)查 C.可行性分析 D.問題定義4.系統(tǒng)定義明確之后,應(yīng)對系統(tǒng)的可行性進(jìn)行研究,可行性研究應(yīng)包括()。A.軟件環(huán)境可行性、技術(shù)可行性、經(jīng)濟(jì)可行性、社會可行性B.經(jīng)濟(jì)可行性、技術(shù)可行性、操作可行性C.經(jīng)濟(jì)可行性、可行性、系統(tǒng)可行性D.經(jīng)濟(jì)可行性、實用性、可行性5.軟件需求分析階段的工作,可以提成如下四個方面:對問題的識別,分析與綜合,制定規(guī)格闡明以及()。A.總結(jié) B.實踐性匯報C.需求分析評審 D.以上答案都不對的6.在構(gòu)造化分析措施中,用以體現(xiàn)系統(tǒng)內(nèi)數(shù)據(jù)的運動狀況的工具有()。A.數(shù)據(jù)流圖 B.數(shù)據(jù)詞典C.構(gòu)造化英語 D.鑒定樹與鑒定表7.數(shù)據(jù)詞典的任務(wù)是對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的數(shù)據(jù)元素,在數(shù)據(jù)詞典中作為一種詞條加以定義,使得每一種圖形元素的名字均有一種確切的()。A.對象 B.解釋 C.符號 D.描述8.在數(shù)據(jù)流圖的基本圖形符號中,加工是以數(shù)據(jù)構(gòu)造或()干什么為加工對象的。A.數(shù)據(jù)內(nèi)容 B.信息內(nèi)容 C.信息構(gòu)造 D.信息流9.軟件需求分析的任務(wù)不應(yīng)包括()。A.問題分析 B.信息域分析C.構(gòu)造化程序設(shè)計 D.確定邏輯模型10.進(jìn)行需求分析可使用多種工具,但()是不合用的。A.數(shù)據(jù)流圖 B.鑒定表 C.PAD圖 D.數(shù)據(jù)詞典11.構(gòu)造化分析措施(SA)是一種面向()的需求分析措施。A.對象 B.數(shù)據(jù)構(gòu)造 C.數(shù)據(jù)流 D.控制流12.構(gòu)造化分析措施(SA)最為常見的圖形工具是()。A.程序流程圖 B.實體聯(lián)絡(luò)圖 C.數(shù)據(jù)流圖 D.構(gòu)造圖13.在構(gòu)造化分析措施(SA),與數(shù)據(jù)流圖配合使用的是()。A.網(wǎng)絡(luò)圖 B.實體聯(lián)絡(luò)圖 C.數(shù)據(jù)字典 D.程序流程圖14.在數(shù)據(jù)流圖中,有名字及方向的成分是()。A.控制流 B.信息流 C.數(shù)據(jù)流 D.信號流15.在數(shù)據(jù)流圖中,不能由計算機(jī)處理的成分是()。A.控制流 B.結(jié)點 C.數(shù)據(jù)流 D.數(shù)據(jù)源/終點16.通過()可以完畢數(shù)據(jù)流圖的細(xì)化。A.構(gòu)造分解 B.功能分解 C.數(shù)據(jù)分解 D.系統(tǒng)分解17.數(shù)據(jù)存儲和數(shù)據(jù)流都是(),僅僅所處的狀態(tài)不一樣。A.分析成果 B.事件 C.動作 D.數(shù)據(jù)18.數(shù)據(jù)流圖和()共同構(gòu)成系統(tǒng)的邏輯模型。A.IPO圖 B.PDL C.數(shù)據(jù)字典 D.層次圖19.構(gòu)造分析措施就是面向()自頂向下逐漸求精進(jìn)行需求分析的措施。A.目的 B.數(shù)據(jù)流 C.功能 D.對象20.為了提高模塊(),當(dāng)修改或維護(hù)模塊時減少把一種模塊的錯誤擴(kuò)散到其他模塊中去的機(jī)會。A.耦合性 B.獨立性 C.內(nèi)聚性 D.共享性21.模塊(),則闡明模塊的獨立性越強(qiáng)。A.耦合越強(qiáng) B.扇入數(shù)越高 C.耦合越弱 D.扇入數(shù)越低22.()數(shù)據(jù)處理問題的工作過程大體分為三步,即獲得數(shù)據(jù)、變換數(shù)據(jù)和給出數(shù)據(jù)。A.變換型 B.事務(wù)型 C.構(gòu)造化 D.非構(gòu)造化23.在對數(shù)據(jù)流的分析中,重要是找到中心變換,這是從()導(dǎo)出構(gòu)造圖的關(guān)鍵。A.數(shù)據(jù)構(gòu)造 B.實體關(guān)系 C.數(shù)據(jù)流圖 D.E-R圖24.在對數(shù)據(jù)流的分析中,重要是找到中心變換,這是從數(shù)據(jù)流圖導(dǎo)出()的關(guān)鍵。A.程序模塊 B.邏輯構(gòu)造 C.程序流程圖 D.構(gòu)造圖25.程序內(nèi)部的各個部分之間存在的聯(lián)絡(luò),用構(gòu)造圖體現(xiàn)時,最關(guān)懷的是模塊的()和耦合性。A.一致性 B.作用域 C.嵌套限制 D.內(nèi)聚性26.面向數(shù)據(jù)流的設(shè)計措施把()映射成軟件構(gòu)造。A.數(shù)據(jù)流 B.系統(tǒng)構(gòu)造 C.控制構(gòu)造 D.信息流27.在進(jìn)行軟件構(gòu)造設(shè)計時應(yīng)當(dāng)遵照的最重要的原因是()原理。A.抽象 B.模塊化 C.模塊獨立 D.信息隱藏28.構(gòu)造化設(shè)計的措施是一種面向()的設(shè)計措施。A.對象 B.數(shù)據(jù)構(gòu)造 C.數(shù)據(jù)流 D.控制流29.構(gòu)造化設(shè)計的措施中使用的圖形工具是()。A.軟件構(gòu)造圖 B.數(shù)據(jù)流程圖 C.程序流程圖 D.實體聯(lián)絡(luò)圖30.在軟件構(gòu)造圖中,假如兩個矩形之間的直接相連,表達(dá)它們存在()關(guān)系。A.鏈接 B.調(diào)用 C.并列 D.次序執(zhí)行31.塊內(nèi)聯(lián)絡(luò)中,()塊內(nèi)聯(lián)絡(luò)最強(qiáng)。A.偶爾性 B.功能性 C.通信性 D.次序性32.一組語句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間,把這些語句放在一種模塊中,該模塊的內(nèi)聚度是()的。A.邏輯性 B.瞬時性 C.偶爾性 D.通信性33.將幾種邏輯上相似的成分放在一種模塊中,該模塊的內(nèi)聚度是()的。A.邏輯性 B.瞬時性 C.功能性 D.通信性34.模塊中所有成分引用共同的數(shù)據(jù),該模塊的內(nèi)聚度是()。A.邏輯性 B.次序性 C.功能性 D.通信性35.模塊內(nèi)的某成分的輸出是另某些成分的輸入,該模塊的內(nèi)聚度是()的。A.功能性 B.次序性 C.邏輯性 D.瞬時性36.軟件設(shè)計中劃分程序一般遵照的原則是要使模塊間的耦合性盡量()。A.強(qiáng) B.弱 C.較強(qiáng) D.適中37.一種模塊把開關(guān)量參數(shù)傳送給另一模塊,這兩個模塊之間的耦合是()。A.外部耦合 B.數(shù)據(jù)耦合 C.控制耦合 D.內(nèi)容耦合38.一種模塊把一種數(shù)值量作為參數(shù)傳送給另一模塊。這兩個模塊之間的耦合是()。A.邏輯耦合 B.數(shù)據(jù)耦合 C.控制耦合 D.內(nèi)容耦合39.下列幾種耦合中,()的耦合性最強(qiáng)。A.公共耦合 B.數(shù)據(jù)耦合 C.控制耦合 D.內(nèi)容耦合40.軟件詳細(xì)設(shè)計重要采用的措施是:()A.構(gòu)造程序設(shè)計 B.模型設(shè)計 C.構(gòu)造化設(shè)計 D.流程圖設(shè)計41.程序控制一般分為()、分支、循環(huán)三種基本構(gòu)造。A.分塊 B.次序 C.循環(huán) D.分支42.程序控制的三種基本構(gòu)造中,()構(gòu)造可提供多條途徑選擇。A.反序 B.次序 C.循環(huán) D.分支43.程序控制的三種基本構(gòu)造中,()構(gòu)造可提供程序反復(fù)控制。A.遍歷 B.排序 C.循環(huán) D.分支44.下列論述對的的是()。A.N-S圖可以用于系統(tǒng)設(shè)計 B.PDL語言可以用于運行C.PAD圖體現(xiàn)的軟件過程成樹型構(gòu)造 D.構(gòu)造化程序設(shè)計強(qiáng)調(diào)效率第一45.在軟件開發(fā)過程,如下說法對的的是()。A.程序流通圖是逐漸求精的好工具B.N-S圖不也許任意轉(zhuǎn)移控制,符合構(gòu)造化原則C.鑒定表是一種通用的設(shè)計工個D.程序流程圖和NS圖都不易體現(xiàn)模塊的層次構(gòu)造46.指出PDL是下列哪種語言()。A.高級程序設(shè)計語言 B.偽碼C.中級程序設(shè)計語言 D.低級程序設(shè)計語言47.Jackson措施是一種面向()的措施。A.對象 B.數(shù)據(jù)構(gòu)造 C.數(shù)據(jù)流 D.控制流48.Jackson措施根據(jù)()來導(dǎo)出程序構(gòu)造。A.數(shù)據(jù)構(gòu)造 B.數(shù)據(jù)間的控制構(gòu)造 C.數(shù)據(jù)流圖 D.IPO圖49.在編制程序時,應(yīng)采納的原則之一是()。A.不限制goto語句的使用B.減少或取消注解行C.程序越短越好D.程序構(gòu)造應(yīng)有助于讀者理解50.從下列論述中選出可以與軟件開發(fā)需求分析、設(shè)計、編碼相對應(yīng)的軟件測試()。A.系統(tǒng)測試、集成.測試、單元測試B.單元測試、組裝測試、確認(rèn)測試C.單元測試、確認(rèn)測試、集成測試卜D.確認(rèn)測試、組裝測試、單元測試51.在進(jìn)行軟件測試時,首先應(yīng)當(dāng)進(jìn)行(),然后再進(jìn)行組裝測試,最終再進(jìn)行有效性測試。A.單元測試 B.集成測試 C.系統(tǒng)測試 D.組合測試52.在進(jìn)行軟件測試時,首先應(yīng)當(dāng)進(jìn)行單元測試,然后再進(jìn)行(),最終再進(jìn)行有效性測試。A.組合測試 B.集成測試 C.有效性測試 D.確認(rèn)測試53.集成測試計劃是在()階段制定的。A.可行性研究和計劃 B.需求分析C.概要設(shè)計 D.詳細(xì)設(shè)計54.調(diào)試的目的是為了()。A.證明軟件符合設(shè)計規(guī)定B.發(fā)現(xiàn)軟件中的錯誤和缺陷C.改善軟件的功能和性能D.發(fā)掘軟件的潛在能力55.軟件的開發(fā)與維護(hù)劃分為6個階段,其中單元測試是在()階段完畢的。A.概要設(shè)計 B.詳細(xì)設(shè)計 C.編碼 D.測試56.軟件測試的目的是()。A.評價軟件的質(zhì)量 B.發(fā)現(xiàn)軟件的錯誤C.找出軟件的所有錯誤 D.證明軟件是對的的57.在整個軟件維護(hù)階段所花費的所有工作中,()所占比例最大。A.校正性維護(hù) B.適應(yīng)性維護(hù)C.完善性維護(hù) D.防止性維護(hù)58.軟件可維護(hù)性是指軟件可以被理解、校正、()功能的輕易程序。A.變更 B.維護(hù) C.修改 D.適應(yīng)及增強(qiáng)59.人們稱在軟件運行/維護(hù)階段對軟件產(chǎn)品所進(jìn)行的修改就是維護(hù)。()是由于開發(fā)時測試的不徹底、不完全導(dǎo)致的。A.改正性維護(hù) B.適應(yīng)性維護(hù) C.完善性維護(hù) D.防止性維護(hù)60.在四種類型的維護(hù)中,()維護(hù)是針對顧客對軟件提出的功能和性能規(guī)定的。A.改正性 B.適應(yīng)性 C.完善性 D.防止性61.軟件生存周期的()的工作和軟件可維護(hù)性有親密的關(guān)系。A.編碼階段 B.設(shè)計階段 C.測試階段 D.每個階段62.軟件的可維護(hù)性、可使用性、()是衡量軟件質(zhì)量的幾種重要特性。A.可靠性 B.可復(fù)用性 C.可理解性 D.可修改性三、名詞解釋1.需求分析是指開發(fā)人員要精確理解顧客的規(guī)定,進(jìn)行細(xì)致的調(diào)查分析,將顧客非形式的需求陳說轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到對應(yīng)的形式功能規(guī)約(需求規(guī)格闡明)的過程。2.數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的途徑,因此由一構(gòu)成分固定的數(shù)據(jù)項構(gòu)成。3.數(shù)據(jù)字典(DataDictionary,簡稱DD)就是用來定義數(shù)據(jù)流圖中的各個成分的詳細(xì)含義的,它以一種精確的、無二義性的闡明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。4.加工又稱為數(shù)據(jù)處理,是對數(shù)據(jù)流進(jìn)行某些操作或變換。5.數(shù)據(jù)流圖,簡稱DFD,是SA措施中用于表達(dá)系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程。6.模塊在程序中是數(shù)聽闡明、可執(zhí)行語句等程序?qū)ο蟮募稀?.模塊化是指處理一種復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃提成若干模塊的過程。每個模塊完畢一種特定的子功能,所有的模塊按某種措施組裝起來,成為一種整體,完畢整個系統(tǒng)所規(guī)定的功能。8.模塊獨立性指每個模塊只完畢系統(tǒng)規(guī)定的獨立的子功能,并且與其他模塊的聯(lián)絡(luò)至少且接口簡樸。9.耦合性也稱塊間聯(lián)絡(luò)。指軟件系統(tǒng)構(gòu)造中各模塊間互相聯(lián)絡(luò)緊密程度的一種度量。10.控制耦合指一種模塊調(diào)用另一種模塊時,傳遞的是控制變量(如開關(guān)、標(biāo)志等),被調(diào)模塊通過該控制變量的值有選擇地執(zhí)行塊內(nèi)某一功能。11.當(dāng)一種模塊直接使用另一種模塊的內(nèi)部數(shù)據(jù),或通過非正常入口而轉(zhuǎn)入另一種模塊內(nèi)部,這種模塊之間的耦合為內(nèi)容耦合。12.內(nèi)聚性又稱塊內(nèi)聯(lián)絡(luò)。指模塊的功能強(qiáng)度的度量,即一種模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。13.偶爾內(nèi)聚指一種模塊內(nèi)的各處理元素之間沒有任何聯(lián)絡(luò)。14.把需要同步執(zhí)行的動作組合在一起形成的模塊為時間內(nèi)聚模塊。15.次序內(nèi)聚指一種模塊中各個處理元素都親密相有關(guān)同一功能且必須次序執(zhí)行,前一功能元素的輸出就是下一功能元素的輸入。16.條件覆蓋指設(shè)計足夠的測試用例,使得鑒定體現(xiàn)式中每個條件的多種也許的值至少出現(xiàn)一次。17.鑒定/條件覆蓋原則指設(shè)計足夠的測試用例,使得鑒定體現(xiàn)式中的每個條件的所有也許取值至少出現(xiàn)一次,并使每個鑒定體現(xiàn)式所有也許的成果也至少出現(xiàn)一次。18.黑盒測試是功能測試,根據(jù)需求規(guī)格闡明書,檢查程序與否滿足功能規(guī)定。黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動測試。19.單元測試指對源程序中每一種程序單元進(jìn)行測試,檢查各個模塊與否對的實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。四、簡答題1.需求分析階段的文檔是什么?答:需求分析階段的文檔有:(1)“需求規(guī)格闡明書”;(2)初步顧客使用手冊;(3)確認(rèn)測試計劃。什么是構(gòu)造化分析措施?該措施使用什么描述工具?答:構(gòu)造化分析(StructuredAnalysis,簡稱SA),是面向數(shù)據(jù)流進(jìn)行需求分析的措施。構(gòu)造化分析的重要思想是采用自頂向下逐層分解的分析方略,即面對一種復(fù)雜的問題,分析人員不也許一開始就考慮到問題的所有方面以及所有細(xì)節(jié),采用的方略往往是分解,把一種復(fù)雜的問題劃提成若干小問題,然后再分別處理,將問題的復(fù)雜性減少到人可以掌握的程度。分解可分層進(jìn)行,先考慮問題最本質(zhì)的方面,忽視細(xì)節(jié),形成問題的高層概念,然后再逐層添加細(xì)節(jié),即在分層過程中采用不一樣程度的“抽象”級別,最高層的問題最抽象,而低層的較為詳細(xì)。構(gòu)造化分析(SA)措施運用圖形等半形式化的描述方式體現(xiàn)需求,簡要易懂,用它們形成需求闡明書中的重要部分。這些描述工具是:(1)數(shù)據(jù)流圖;(2)數(shù)據(jù)字典;(3)描述加工邏輯的構(gòu)造化語言、鑒定表、鑒定樹。其中,“數(shù)據(jù)流圖”描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分構(gòu)成,各部分之間有什么聯(lián)絡(luò)等等?!皵?shù)據(jù)字典”定義了數(shù)據(jù)流圖中每一種圖形元素。構(gòu)造化語言、鑒定表或鑒定樹則詳細(xì)描述數(shù)據(jù)流圖中不能被再分解的每一種加工。什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?答:數(shù)據(jù)字典(DataDictionary,簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的詳細(xì)含義的,它以一種精確的、無二義性的闡明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。數(shù)據(jù)流圖僅描述了系統(tǒng)的“分解”,系統(tǒng)由哪幾部分構(gòu)成,各部分之間的聯(lián)絡(luò),并沒有對各個數(shù)據(jù)流、加工、數(shù)據(jù)存儲進(jìn)行詳細(xì)闡明,如數(shù)據(jù)流、數(shù)據(jù)存儲的名字并不能反應(yīng)其中的數(shù)據(jù)成分、數(shù)據(jù)項目內(nèi)容和數(shù)據(jù)特性,在加工中不能反應(yīng)處理過程等等。數(shù)據(jù)字典有如下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、.文獻(xiàn)、基本加工。數(shù)據(jù)項是構(gòu)成數(shù)據(jù)流的數(shù)據(jù)存儲的最小元素。描述加工邏輯有哪些工具?答:①外層:用來描述控制構(gòu)造,采用次序、選擇、反復(fù)三種基本構(gòu)造。②內(nèi)層:一般是采用祈使語句的自然語言短詞。(2)鑒定表(3)判斷樹。鑒定樹是鑒定表的變形,一般狀況下它比鑒定表更直觀,且易于理解和使用。衡量模塊獨立性的兩個原則是什么?它們各表達(dá)什么含義?答:衡量模塊的獨立性的原則是兩個定性的度量原則:耦合性和內(nèi)聚性。(1)耦合性。也稱塊間聯(lián)絡(luò)。指軟件系統(tǒng)構(gòu)造中各模塊間互相聯(lián)絡(luò)緊密程度的一種度量。模塊之間聯(lián)絡(luò)越緊密,其耦合性就越強(qiáng),模塊的獨立性則越差。模塊間耦合高下取決于模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。(2)內(nèi)聚性。又稱塊內(nèi)聯(lián)絡(luò)。指模塊的功能強(qiáng)度的度量,即一種模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。若一種模塊內(nèi)各元素(語句之間、程序段之間)聯(lián)絡(luò)得越緊密,則它的內(nèi)聚性就越高。耦合性與內(nèi)聚性是模塊獨立性的兩個定性原則,將軟件系統(tǒng)劃分模塊時,盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件構(gòu)造奠定基礎(chǔ)。模塊的內(nèi)聚性由哪幾種?各表達(dá)什么含義?答:內(nèi)聚性有六種類型:偶爾內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、通信內(nèi)聚、次序內(nèi)聚、功能內(nèi)聚,它們的內(nèi)聚性由低到高。(1)偶爾內(nèi)聚。指一種模塊內(nèi)的各處理元素之間沒有任何聯(lián)絡(luò)。這是最差的內(nèi)聚狀況。(2)邏輯內(nèi)聚。指模塊內(nèi)執(zhí)行幾種邏輯上相似的功能,通過參數(shù)確定該模塊完畢哪一種功能。(3)時間內(nèi)聚。把需要同步執(zhí)行的動作組合在一起形成的模塊為時間內(nèi)聚模塊。(4)通信內(nèi)聚。指模塊內(nèi)所有處理元素都在同一種數(shù)據(jù)構(gòu)造上操作(有時稱之為信息內(nèi)聚),或者指各處理使用相似的輸入數(shù)據(jù)或者產(chǎn)生相似的輸出數(shù)據(jù)。(5)次序內(nèi)聚。指一種模塊中各個處理元素都親密相有關(guān)同一功能且必須次序執(zhí)行,前一功能元素的輸出就是下一功能元素的輸入。(6)功能內(nèi)聚。這是最強(qiáng)的內(nèi)聚,指模塊內(nèi)所有元素共同完畢一種功能,缺一不可。因此模塊不能再分割。什么是“變換型”?答:變換型DFD是由輸入、變換(或稱處理)和輸出三部分構(gòu)成,如圖4-2所示,虛線為標(biāo)出的流界。圖變換型DFD變換型數(shù)據(jù)處理的工作過程一般分為三步:獲得數(shù)據(jù)、變換數(shù)據(jù)和給出數(shù)據(jù),這三步體現(xiàn)了變換型DFD的基本思想。變換是系統(tǒng)的主加工,變換輸入端的數(shù)據(jù)流為系統(tǒng)的邏輯輸入,輸出端為邏輯輸出。而直接從外部設(shè)備輸入數(shù)據(jù)稱為物理輸入,反之稱為物理輸出。外部的輸入數(shù)據(jù)一般要通過輸入對的性和合理性檢查、編輯、格式轉(zhuǎn)換等預(yù)處理,這部分工作者由邏輯輸入部分完畢,它將外部形式的數(shù)據(jù)變成內(nèi)部形式,送給主加工。同理,邏輯輸出部分主加工產(chǎn)生的數(shù)據(jù)的內(nèi)部形式轉(zhuǎn)換成外部形式然后物理輸出。因此變換型的DFD是一種次序構(gòu)造。什么是“事務(wù)型”?答:若某個加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工途徑,并根據(jù)輸入的值選擇其中一種途徑來執(zhí)行,這種特性的DFD稱為事務(wù)型的數(shù)據(jù)流圖,這個加工稱為事務(wù)處理中心。如圖所示。圖事務(wù)型DFD構(gòu)造化程序設(shè)計基本要點是什么?答:構(gòu)造化程序設(shè)計措施的基本規(guī)定有二點:(1)采用自頂向下、逐漸求精的程序設(shè)計措施。(2)使用三種基本控制構(gòu)造構(gòu)造程序。任何程序都可由次序、選擇、反復(fù)三種基本控制構(gòu)造構(gòu)造。這三種基本構(gòu)造的共同點是單入口、單出口。五、應(yīng)用題1.請使用流程圖、PAD圖和PDL語言描述下列程序的算法。(2)輸入三個正整數(shù)作為邊長,判斷該三條邊構(gòu)成的三角形是等邊、等腰或一般三角形。1.②(i)PAD圖描述:(ii)流程圖描述:(iii)PDL描述: GET(a,b,c) IF(ab=) IF(a=c) PUT(“三角形是等邊三角形”)ELSE PUT(“三角形是等腰三角形”)ELSE IF(a=c) PUT(“三角形是等腰三角形”)ELSE IF(b=c) PUT(“三角形是等腰三角形”) ELSE PUT(“三角形是一般三角形”) ENDIF2.某學(xué)校計算教材購銷系統(tǒng)有如下功能:學(xué)生買書,首先填寫購書單,計算機(jī)根據(jù)各班學(xué)生用書表以及售書登記表審查有效性,若有效,計算機(jī)根據(jù)教材存量表深入判斷書庫與否有書,若有書,計算機(jī)把領(lǐng)書單返回給學(xué)生,學(xué)生憑領(lǐng)書單到書庫領(lǐng)書。對脫銷的教材,系統(tǒng)用缺書單的形式告知書庫,新書購進(jìn)庫后,也由書庫將進(jìn)書告知返回給系統(tǒng)。請就以上系統(tǒng)功能畫出分層的PFD圖,并建立重要條目的數(shù)據(jù)字典。答:圖3-1教材購銷系統(tǒng)的頂層DFD圖3-2第一層DFD——教材購銷系統(tǒng)3.某廠對部分職工重新分派工作的政策是:年齡有20歲如下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工;年齡有20歲至40歲之間者,中學(xué)文化程度男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度者當(dāng)技術(shù)員;年齡有40歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度當(dāng)技術(shù)員。請用構(gòu)造化語言、鑒定表或鑒定樹描述上述問題的加工邏輯。答:(1)構(gòu)造化語言。IF 年齡<20 THEN IF 文化程度=初中 THEN 脫產(chǎn)學(xué)習(xí) ELSE 工作為電工 ENDIF ELSE IF 年齡≤40 THEN IF (文化程度=大學(xué)) THEN 工作為技術(shù)員 ELSE IF 性別=男性 THEN 工作為鉗工 ELSE 工作為車工 ENDIF ENDIF ELSE IF (文化程度=大學(xué)) THEN 工作為技術(shù)員 ELSE 工作為材料員 ENDIF ENDIFENDIF(2)鑒定表:先畫出條件取值表如下表:條件名取值符號取值數(shù)年齡年齡≤2020<年齡≤40年齡>40CYLm1=3文化程度初中高中大學(xué)JSUm2=3性別男女MFm3=2鑒定表如下:123456789101112131415161718年齡CCCCCCYYYYYYLLLLLL文化程度JJSSUUJJSSUUJJSSUU性別MFMFMFMFMFMFMFMFMF脫產(chǎn)學(xué)習(xí)電工鉗工車工技術(shù)員材料員鑒定樹如下:軟件工程自測題(三)判斷題1.軟件實際就是程序(錯)2.成功的測試是沒有發(fā)現(xiàn)錯誤的測試(錯)3.軟件工程的重要思想是從理論的角度來觀測分析軟件開發(fā)盒生產(chǎn)活動(錯)4.一種模塊直接引用另一種模塊中的數(shù)據(jù),這兩個模塊之間的耦合不是內(nèi)容耦合(錯)5.程序只要邏輯對的,可以被機(jī)器理解并執(zhí)行就夠了(錯)二.選擇題1.在軟件質(zhì)量因數(shù)中,軟件在異常條件下人能運行的能力稱為軟件的()A)可靠性B)強(qiáng)健性C)可用性D)安全性2.軟件開發(fā)可行性研究,一般波及經(jīng)濟(jì)、技術(shù)和操作可行性,而進(jìn)行可行性研究的基本根據(jù)是顧客提出的軟件()A)系統(tǒng)質(zhì)量B)系統(tǒng)目的C)系統(tǒng)功能D)系統(tǒng)性能3.構(gòu)造化程序設(shè)計中,一般包括3種基本構(gòu)造,下列構(gòu)造中哪個不屬于基本構(gòu)造A)次序構(gòu)造B)嵌套構(gòu)造C)次序構(gòu)造D)選擇構(gòu)造4.JACKSON措施是一種面向()的措施A)對象B)數(shù)據(jù)構(gòu)造C)數(shù)據(jù)流D)控制流5.模塊內(nèi)部過程描述就是模塊內(nèi)部的(),它的表述形式就是詳細(xì)設(shè)計語言A)模塊化設(shè)計B)算法設(shè)計C)程序設(shè)計D)詳細(xì)設(shè)計6.在設(shè)計測試用例時,()是用的最多的一種黑盒測試措施A)等價類劃分B)邊值分析C)因果圖D)鑒定表7軟件的可維護(hù)性、可使用性、()是衡量軟件質(zhì)量的幾種重要特性A)可靠性B)可復(fù)用性C)可理解性D)可修改性8.原型化措施是一種()型的設(shè)計過程A)自外向內(nèi)B)自頂向下C)自內(nèi)向外D)自底向上9.模塊()定義為受該模塊內(nèi)一種判斷影響的所有模塊集合A)控制流B)作用域C)寬度D)接口10.程序控制的3種基本構(gòu)造中,()構(gòu)造可提供程序反復(fù)控制A)遍歷B)排列C)循環(huán)D)分支三.填空題1.黑箱測試即_功能測試_、白箱測試即__構(gòu)造測試_。2.開發(fā)期的重要任務(wù)_需求分析_,_總體設(shè)計_,_詳細(xì)設(shè)計_,_編碼_,測試。3.構(gòu)造化措施將軟件生命周期分為計劃_,_開發(fā)_,_運行_三個時期.4.各模塊通過單元測試后,將各模塊組裝起來進(jìn)行集成測試,以檢查與設(shè)計有關(guān)的軟件體系構(gòu)造的有關(guān)問題。5.在單元測試時,需要為被測模塊設(shè)計驅(qū)動模塊和樁模塊。6.集成測試的措施重要有兩種:非增式測試和漸增式測試。7.非漸增式措施把單元測試和集成測試提成兩個不一樣的階段。8.漸增式測試有如下兩種不一樣的組裝模塊的措施:自頂向下結(jié)合、自底向上結(jié)合。9.軟件測試的目的是盡量多地發(fā)現(xiàn)程序中的錯誤.。10.軟件維護(hù)的內(nèi)容有四種:對的性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、防止性維護(hù)。11.為了提高軟件的可維護(hù)性和可靠性而對軟件進(jìn)行的修改稱為防止性維護(hù)。12.因修改軟件而導(dǎo)致的錯誤或其他不但愿出現(xiàn)的狀況稱為維護(hù)的副作用。13維護(hù)的副作用有-編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。14.軟件的可理解性、可使用性、可靠性是衡量軟件質(zhì)量的幾種重要特性。15.軟件可維護(hù)性可用下面七個質(zhì)量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。名詞解釋數(shù)據(jù)字典數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的詳細(xì)含義的。它以一種精確的、無二義性的闡明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。內(nèi)聚性內(nèi)聚性是模塊獨立性的衡量原則之一,它是指模塊的功能強(qiáng)度的度量,即一種模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。軟件生存周期模型是描述軟件開發(fā)過程中多種活動怎樣執(zhí)行的模型。多態(tài)性多態(tài)性指相似的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不一樣成果。或(不一樣的對象,收到同一消息可以產(chǎn)生不一樣的成果。)集成測試 集成測試是指在單元測試的基礎(chǔ)上,將所有模擬按照設(shè)計規(guī)定組裝成一種完 整的系統(tǒng)進(jìn)行的測試,故也稱組裝測試或聯(lián)合測試。維護(hù) 在軟件運行/維護(hù)階段對軟件產(chǎn)品所進(jìn)行的修改就是維護(hù)。對的性維護(hù) 為了識別和糾正錯誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯誤的過 程,這個過程就稱為校正性維護(hù)。防止性維護(hù)為了提高軟件的可維護(hù)性和可靠性而對軟件進(jìn)行的修改稱為防止性維護(hù)。簡答題軟件測試的目的是什么?答:軟件測試的目的。G.J.Myers對軟件測試的目的提出了如下觀點:(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。(2)一種好的測試用例可以發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。(3)一種成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。什么是集成測試?為何要進(jìn)行集成測試?答:集成測試是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計規(guī)定組裝成一種完整的系統(tǒng)進(jìn)行的測試,故也稱組裝測試或聯(lián)合測試。實踐證明,單個模塊能正常工作,組裝后不見得仍能正常工作,這是由于:(1)單元測試使用的驅(qū)動模塊和樁模塊,與它們所替代的模塊并不完全等效,因此單元測試有不徹底、不嚴(yán)格的狀況。(2)各個模塊組裝起來,穿越模塊接口的數(shù)據(jù)可難會丟失。(3)一種模塊的功能也許會對另一種模塊的功能產(chǎn)生不利的影響。(4)各個模塊的功能組合起來也許達(dá)不到預(yù)期規(guī)定的主功能。(5)單個模塊可以接受的誤差,組裝起來也許累積和放大到不能接受的程度。(6)全局?jǐn)?shù)據(jù)也許會出現(xiàn)問題。因此必須要進(jìn)行集成測試,用于發(fā)現(xiàn)模塊組裝中也許出現(xiàn)的問題,最終構(gòu)成一種符合規(guī)定的軟件系統(tǒng)。集成測試的措施重要有兩種:非漸增式測試和漸增式測試。(1)非漸增式測試。首先對每個模塊分別進(jìn)行單元測試,然后再把所有的模塊按設(shè)計規(guī)定組裝在一起進(jìn)行測試。(2)漸增式測試。逐一把未通過測試的模塊組裝到已通過測試的模塊上去,進(jìn)行集成測試。每加入一種新模塊進(jìn)行一次集成測試,反復(fù)此過程直至程序組裝完畢。3.非漸增式測試與漸增式測試有什么區(qū)別?漸增式與非漸增式測試的措施有如下區(qū)別:(1)非漸增式措施把單元測試和集成測試提成兩個不一樣的階段,前一階段完畢模擬的單元測試,后一階段完畢集成測試。而漸增式測試往往把單元測試與集成測試合在一起,同步完畢。(2)非漸增式需要更多的工作量,由于每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式運用已測試過的模塊作為驅(qū)動模塊或樁模塊,因此工作量較少。(3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯誤,非漸增式最終組裝時才發(fā)現(xiàn)。(4)漸增式有助于排錯,發(fā)生錯誤往往和近來加進(jìn)來的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯誤推遲到最終,很難判斷是哪一部分接口出錯。(5)漸增式比較徹底,已測試的模塊和新的模塊再測試。(6)漸增式占用的時間較多,但非漸增式需更多的驅(qū)動模塊。樁模塊也占用某些時間。(7)非漸增式開始可并行測試所有模塊,能充足運用人力,對測試大型軟件很故意義。4.軟件維護(hù)有哪些內(nèi)容?答:軟件維護(hù)的內(nèi)容。軟件維護(hù)的內(nèi)容有四種:對的性維護(hù),適應(yīng)性維護(hù),完善性維護(hù)和防止性維護(hù)。(1)改正性維護(hù)。在軟件交付使用后,由于在軟件開發(fā)過程中產(chǎn)生的錯誤并沒有完全徹底的在測試中發(fā)現(xiàn),因此必然有一部分隱含的錯誤被帶到維護(hù)階段上來。這些隱含的錯誤在某些特定的使用環(huán)境下會暴露出來。為了識別和糾正錯誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯誤的過程,這個過程就稱為改正性維護(hù)。(2)適應(yīng)性維護(hù)。伴隨計算機(jī)的飛速發(fā)展,計算機(jī)硬件和軟件環(huán)境也在不停發(fā)生變化,數(shù)據(jù)環(huán)境也在不停發(fā)生變化。為了使應(yīng)用軟件適應(yīng)這種變化而修改軟件的過程稱為適應(yīng)性維護(hù)。例如,某個應(yīng)用軟件本來是在DOS環(huán)境下運行的,目前要把它移植到Windows環(huán)境下來運行;某個應(yīng)用軟件本來是在一種數(shù)據(jù)庫環(huán)境下工作的,目前要改到另一種安全性較高的數(shù)據(jù)庫環(huán)境下工作,這些變動都需要對對應(yīng)的軟件作修改。(3)完善性維護(hù)。在軟件漫長的運行時期中,顧客往往會對軟件提出新的功能規(guī)定與性能規(guī)定。這是由于顧客的業(yè)務(wù)會發(fā)生變化,組織機(jī)構(gòu)也會發(fā)生變化。為了適應(yīng)這些變化,應(yīng)用軟件本來的功能和性能需要擴(kuò)充和增強(qiáng)。這種增長軟件功能、增強(qiáng)軟件性能、提高軟件運行效率而進(jìn)行的維護(hù)活動稱為完善性維護(hù)。例如,軟件本來的查詢響應(yīng)速度較慢,要提高響應(yīng)速度;軟件本來沒有協(xié)助信息,使用不以便,目前要增長協(xié)助信息。(4)防止性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而對軟件進(jìn)行的修改稱為防止性維護(hù)。這是為后來深入的運行和維護(hù)打好基礎(chǔ)。這需要采用先進(jìn)的軟件工程措施對需要維護(hù)的軟件或軟件中的某一部分進(jìn)行設(shè)計、編碼和測試。軟件維護(hù)的副作用有哪些?5.答:因修改軟件而導(dǎo)致的錯誤或其他不但愿出現(xiàn)的狀況稱為維護(hù)的副作用。維護(hù)的副作用有編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。(1)編碼副作用。在使用程序設(shè)計語言修改源代碼時也許引入錯誤。例如:①刪除或修改一種子程序、一種標(biāo)號、一種標(biāo)識符;②變化程序代碼的時序關(guān)系,變化占用存儲的大小,變化邏輯運算符;③修改文獻(xiàn)的打開或關(guān)閉;④改善程序的執(zhí)行效率;⑤把設(shè)計上的變化翻譯成代碼的變化;⑥為邊界條件的邏輯測試作出變化;⑦以上這些變動都輕易引入錯誤。(2)數(shù)據(jù)副作用。在修改數(shù)據(jù)構(gòu)造時,有也許導(dǎo)致軟件設(shè)計與數(shù)據(jù)構(gòu)造不匹配,因而導(dǎo)致軟件錯誤。數(shù)據(jù)副作用是修改軟件信息構(gòu)造導(dǎo)致的成果。例如:①重新定義局部或全局的常量,重新定義記錄或文獻(xiàn)格式;②增長或減少一種數(shù)組或高層數(shù)據(jù)構(gòu)造的大??;③修改全局或公共數(shù)據(jù);④重新初始化控制標(biāo)志或指針;⑤重新排列輸入/輸出或子程序的參數(shù)。(3)文檔副作用。對數(shù)據(jù)流、軟件構(gòu)造、模擬邏輯或任何其他有關(guān)特性進(jìn)行修改時,必須對有關(guān)技術(shù)文檔進(jìn)行對應(yīng)修改。否則會導(dǎo)致文檔與程序功能不匹配、缺省條件變化、新錯誤信息不對的等錯誤,使文檔不能反應(yīng)軟件目前的狀態(tài)。假如對執(zhí)行軟件的修改沒有反應(yīng)在文檔中,就會產(chǎn)生文檔副作用。六.應(yīng)用題1.請將下圖的DFD轉(zhuǎn)換為軟件構(gòu)造圖(注:圖中的表達(dá)“或者”)主圖:子圖A:補(bǔ)充編程類題目(四)一、編程綜合題:1、寫出程序運行成果參照答案:

2、#include<iostream.h>constintM=3,N=4;voidmain(){inti,j,s=0;for(i=1;i<=M;i++)for(j=1;j<=N;j++)s+=i*j;cout<<”s=”<<s<<endl;}參照答案:s=60//6分3、#include<iostream.h>voidmain(){inta[10]={76,83,54,62,40,75,90,92,77,84};intb[4]={60,70,90,101};intc[4]=;for(inti=0;i<10;i++){intj=0;while(a[i]>=b[j])j++;c[j]++;}for(i=0;i<4;i++)cout<<c[i]<<’’;cout<<endl;}參照答案:2152//6分,每個占1分,兩個數(shù)據(jù)占3分4、#include<iostream.h>classA{inta,b;public:A(){a=b=0;}A(intaa,intbb){a=aa;b=bb;}intSum(){returna+b;}int*Mult(){int*p=newint(a*b);returnp;}};voidmain(){int*k;Ax(2,3),*p;p=newA(4,5);cout<<x.Sum()<<''<<*(x.Mult())<<endl;cout<<p->Sum()<<''<<*(k=p->Mult())<<endl;deletek;}參照答案:56//3分920//3分二、簡答題:32分,每題08分1、指出程序或函數(shù)的功能voidtrans(intx){chara[10];inti=0,rem;do{rem=x%16;x=x/16;if(rem<10)a[i]=48+rem;//’0’字符的ASCII碼為48elsea[i]=65+rem;//’A’字符的ASCII碼為65i++;}while(x!=0);while(i>0)cout<<a[--i];cout<<endl;}參照答案:此函數(shù)用于把十進(jìn)制整數(shù)x轉(zhuǎn)換為十六進(jìn)制數(shù)字串輸出。//6分2、指出程序或函數(shù)的功能intCount(IntNode*f){if(!f)return0;intc=0;while(f){c++;f=f->next;}returnc;}假定IntNode的類型定義為:structIntNode{intdata;//結(jié)點值域IntNode*next;//結(jié)點指針域};參照答案:記錄出以表頭指針為f的鏈表中結(jié)點的個數(shù)。//6分3、指出程序或函數(shù)的功能voidInput(IntNode*&f){intn;cout<<”從鍵盤給n輸入一種整數(shù):”;docin>>n;while(n<0);if(n==0){f=NULL;return;}f=newIntNode;IntNode*p=f;cout<<”從鍵盤輸入”<<n<<”個整數(shù):”;while(n--){p=p->next=newIntNode;cin>>p->data;}p->next=NULL;p=f;f=f->next;deletep;}假定IntNode的類型定義為:structIntNode{intdata;//結(jié)點值域IntNode*next;//結(jié)點指針域};參照答案:首先從鍵盤上輸入一種整數(shù)給n,然后依次輸入n個整數(shù)建立以表頭指針為f的鏈表。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論