軟件工程基礎(chǔ)練習(xí)試卷1(共112題)_第1頁
軟件工程基礎(chǔ)練習(xí)試卷1(共112題)_第2頁
軟件工程基礎(chǔ)練習(xí)試卷1(共112題)_第3頁
軟件工程基礎(chǔ)練習(xí)試卷1(共112題)_第4頁
軟件工程基礎(chǔ)練習(xí)試卷1(共112題)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程基礎(chǔ)練習(xí)試卷1(共4套)(共112題)軟件工程基礎(chǔ)練習(xí)試卷第1套一、中文選擇題(本題共25題,每題1.0分,共25分。)1、選擇一個適當(dāng)?shù)臏y試用例,用以測試圖7-3的程序,能達(dá)到判定覆蓋的是______。A、

B、

C、

D、

標(biāo)準(zhǔn)答案:C知識點解析:判定覆蓋又稱為分支覆蓋,它要求設(shè)計足夠多的測試用例,使得程序中每個判定至少有一次為真值,有一次為假值,即程序中的每個分支至少執(zhí)行一次。每個判斷的取真、取假至少執(zhí)行一次。選項C和選項D都滿足上述要求。但是,判定覆蓋也有其缺點,往往大部分判定語句是由多個邏輯條件組合而成(如判定語句中包含AND、OR、CASE),若僅僅判斷其整個最終結(jié)果,而忽略每個條件的取值情況,必然會遺漏部分測試路徑。往往大部分的判定語句是由多個邏輯條件組合而成(如判定語句中包含AND、OR、CASE),若僅僅判斷其整個最終結(jié)果,而忽略每個條件的取值情況,必然會遺漏部分測試路徑。綜上所述,選項C是滿足判定覆蓋的適當(dāng)測試用例。2、對程序進(jìn)行白盒測試時,可采用______法設(shè)計測試用例。A、等價類劃分B、邊界值分析C、邏輯覆蓋D、因果圖標(biāo)準(zhǔn)答案:C知識點解析:白盒測試適用于已知軟件的內(nèi)部工作過程和實現(xiàn)細(xì)節(jié)的情況,可采用邏輯覆蓋法、基本路徑測試等技術(shù)設(shè)計測試用例。選項C為正確答案。3、黑盒測試也稱為功能測試。黑盒測試不能發(fā)現(xiàn)______。A、終止性錯誤B、輸入是否正確接收C、界面是否有誤.D、是否存在冗余代碼標(biāo)準(zhǔn)答案:D知識點解析:黑盒測試又稱為功能測試,即將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性。黑盒測試主要發(fā)現(xiàn)如下錯誤:是否有功能錯誤或遺漏;界面是否有誤,是否正確接收輸入,輸出是否正確;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問是否有錯;是否能接受性能;是否有初始化和終止性錯誤。黑盒測試不可能發(fā)現(xiàn)是否存在冗余代碼。本題的正確答案是選項D。4、對于如圖7-4所示的程序流程,若采用語句覆蓋法設(shè)計測試用例(使每條語句都至少執(zhí)行1次),則至少需要設(shè)計______個測試用例。A、1B、2C、3D、4標(biāo)準(zhǔn)答案:B知識點解析:語句覆蓋要求每條語句至少執(zhí)行一次。設(shè)計第一個測試用例,使得x>0,y>0,比如:x=1,y=1那么,就會執(zhí)行語句序列:x>0→y=y-x→y>0→x=1設(shè)計第2個測試用例,使得x<0,y<0,比如:x=-1,y=-1那么,就會執(zhí)行語句序列:x>0→y=y+x→y>0上述兩個測試用例,便將每條語句都覆蓋到。所以,至少設(shè)計2個測試用例。本題正確答案為選項B。5、源程序清單是在軟件生存周期的______階段產(chǎn)生的文檔。A、軟件概要設(shè)計B、編碼C、軟件詳細(xì)設(shè)計D、測試標(biāo)準(zhǔn)答案:B知識點解析:軟件生存周期分為以下6個階段:①制定計劃。確定待開發(fā)軟件系統(tǒng)的總目標(biāo),對其進(jìn)行可行性分析,并對資源分配。②需求分析。確定待開發(fā)軟件系統(tǒng)的功能、性能、數(shù)據(jù)、界面等要求,從而確定系統(tǒng)的邏輯模型。③設(shè)計。軟件設(shè)計是軟件工程的技術(shù)核心。軟件設(shè)計又分為概要設(shè)計和詳細(xì)設(shè)計。④編碼。編碼的任務(wù)是用某種程序語言為每個模塊編寫程序。所以,源程序清單是該階段產(chǎn)生的文檔。選項B正確。⑤測試。測試是保證軟件質(zhì)量的重要手段,其主要方式是在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分。⑥運行維護(hù)。以交付的軟件投入正式使用,便進(jìn)入運行階段。6、系統(tǒng)的硬件環(huán)境、軟件環(huán)境和數(shù)據(jù)環(huán)境發(fā)生變化時需要對系統(tǒng)進(jìn)行維護(hù),這種維護(hù)屬于______。A、改正性維護(hù)B、適應(yīng)性維護(hù)C、完善性維護(hù)D、預(yù)防性維護(hù)標(biāo)準(zhǔn)答案:B知識點解析:軟件維護(hù)包括:正確性維護(hù)(改正性維護(hù))、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。①正確性維護(hù)是指改正在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯誤。②適應(yīng)性維護(hù)是指使應(yīng)用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進(jìn)行的修改。選項B正確。③完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計階段中沒有規(guī)定的功能與性能特征。④預(yù)防性維護(hù)是為了改進(jìn)應(yīng)用軟件的可靠性和可維護(hù)性,為了適應(yīng)未來的軟硬件環(huán)境的變化,應(yīng)主動增加預(yù)防性的新的功能,以使應(yīng)用系統(tǒng)適應(yīng)各類變化而不被淘汰。7、軟件維護(hù)可分為改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。在軟件的整個維護(hù)活動中,______維護(hù)所占比重最大。A、改正性B、適應(yīng)性C、完善性D、預(yù)防性標(biāo)準(zhǔn)答案:C知識點解析:軟件維護(hù)包括:正確性維護(hù)(改正性維護(hù))、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。①正確性維護(hù)的工作量占整個維護(hù)工作量的17%~21%。②適應(yīng)性維護(hù)的工作量占整個維護(hù)工作量的18%~25%。③完善性維護(hù)的工作量占整個維護(hù)工作量的50%~60%。④預(yù)防性維護(hù)的工作量占整個維護(hù)工作量的4%左右。綜上所述,本題正確答案為選項C。8、在軟件的使用過程中,用戶往往會對軟件提出新的功能要求與性能要求。為了滿足這些要求而進(jìn)行的維護(hù)屬于______維護(hù)。A、改正性B、適應(yīng)性C、完善性D、預(yù)防性標(biāo)準(zhǔn)答案:C知識點解析:完善性維護(hù)是為擴(kuò)充功能和改善性能而進(jìn)行的修改,主要是指對已有的軟件系統(tǒng)增加一些在系統(tǒng)分析和設(shè)計階段中沒有規(guī)定的功能與性能特征。本題正確答案為選項C。9、為了改善系統(tǒng)硬件環(huán)境和運行環(huán)境而產(chǎn)生的系統(tǒng)更新?lián)Q代需求而導(dǎo)致的軟件維護(hù)屬于______。A、適應(yīng)性B、正確性C、完善性D、預(yù)防性標(biāo)準(zhǔn)答案:A知識點解析:適應(yīng)性維護(hù)是指使應(yīng)用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進(jìn)行的修改。由于目前計算機(jī)硬件價格不斷下降,各類軟件層出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求,企業(yè)外部市場環(huán)境和管理需求的不斷變化,也使得各級管理人員不斷提出新的信息需求,這些都導(dǎo)致適應(yīng)性維護(hù)工作的產(chǎn)生。本題正確答案為選項A。10、程序中將多處使用的同一個常數(shù)定義為常量,其目的是為了______。A、提高程序的運行速度B、提高程序的可讀性以及可維護(hù)性C、縮短源程序代碼長度D、便于進(jìn)行程序測試標(biāo)準(zhǔn)答案:B知識點解析:常量是對程序運行過程中不能修改的值所起的一個名字。它能在編碼時,讓人一目了然,提高了程序的可讀性。而且,當(dāng)需要修改常量的值時,只需要修改常量的定義即可。所以它還提高了可維護(hù)性。所以,選項B的說法正確。11、下列選項中不屬于軟件生命周期開發(fā)階段任務(wù)的是______。A、軟件測試B、概要設(shè)計C、軟件維護(hù)D、詳細(xì)設(shè)計標(biāo)準(zhǔn)答案:C知識點解析:軟件生命周期由軟件定義、軟件開發(fā)和軟件維護(hù)三個時期組成,每個時期又進(jìn)一步劃分為若干個階段。軟件定義時期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個階段。軟件開發(fā)時期是具體設(shè)計和實現(xiàn)在前一時期定義的軟件,它通常由下面五個階段組成:概要設(shè)計、詳細(xì)設(shè)計、編寫代碼、組裝測試和確認(rèn)測試。軟件維護(hù)時期的主要任務(wù)是使軟件持久的滿足用戶的需要。即當(dāng)軟件在使用過程中發(fā)現(xiàn)錯誤時應(yīng)加以改正;當(dāng)環(huán)境改變時應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時應(yīng)該及時改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對軟件生命周期的介紹,可知選項C中的軟件維護(hù)不是軟件生命周期開發(fā)階段的任務(wù)。因此,本題的正確答案是C。12、下列敘述中正確的是______。A、軟件測試應(yīng)該由程序開發(fā)者來完成B、程序經(jīng)調(diào)試后一般不需要再測試C、軟件維護(hù)只包括對程序代碼的維護(hù)D、以上三種說法都不對標(biāo)準(zhǔn)答案:D知識點解析:本題考核軟件測試、軟件調(diào)試和軟件維護(hù)的概念。軟件測試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。軟件測試具有挑剔性,測試不是為了證明程序是正確的,而是在設(shè)想程序有錯誤的前提下進(jìn)行的,其目的是設(shè)法暴露程序中的錯誤和缺陷,就是說,測試是程序執(zhí)行的過程,目的在于發(fā)現(xiàn)錯誤;一個好的測試在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤。由于測試的這一特征,一般應(yīng)當(dāng)避免由開發(fā)者測試自己的程序。所以,選項A的說法錯誤。調(diào)試也稱排錯,目的是發(fā)現(xiàn)錯誤的位置,并改正錯誤,經(jīng)測試發(fā)現(xiàn)錯誤后,可以立即進(jìn)行調(diào)試并改正錯誤;經(jīng)過調(diào)試后的程序還需進(jìn)行回歸測試,以檢查調(diào)試的效果,同時也可防止在調(diào)試過程中引進(jìn)新的錯誤。所以,選項B的說法錯誤。軟件維護(hù)通常有4類:為糾正使用中出現(xiàn)的錯誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無論是哪類文檔,都必須與程序代碼同時維護(hù)。只有與程序代碼完全一致的文檔才有意義和價值。所以,選項C的說法錯誤。綜上所述,選項A、B、C的說法都錯誤,所以,選項D為正確答案。13、關(guān)于軟件文檔的敘述,______是錯誤的。A、文檔就是軟件的操作說明書B、文檔是軟件產(chǎn)品的一部分,沒有文檔的軟件就不成為軟件C、高質(zhì)量軟件對于軟件開發(fā)、維護(hù)和使用有重要的意義D、測試用例也是重要的軟件文檔標(biāo)準(zhǔn)答案:A知識點解析:文檔是指某種數(shù)據(jù)媒體和其中所記錄的數(shù)據(jù)。它具有永久性,并可以由人或機(jī)器閱讀,通常僅用于描述人工可讀的東西。在軟件工程中,文檔常常用來表示對活動、需求、過程或結(jié)果進(jìn)行描述、定義、規(guī)定、報告或認(rèn)證的任何書面或圖示的信息。它們描述和規(guī)定了軟件設(shè)計和實現(xiàn)的細(xì)節(jié),說明使用軟件的操作命令。文檔也是軟件產(chǎn)品的一部分,沒有文檔的軟件就不稱其為軟件。軟件文檔的編制在軟件開發(fā)工作中占有突出的地位和相當(dāng)大的工作量。高質(zhì)量、高效率地開發(fā)、分發(fā)、管理和維護(hù)文檔對于轉(zhuǎn)讓、變更、修正、擴(kuò)充和使用文檔,對于充分發(fā)揮軟件產(chǎn)品的效益有著重要的意義。綜上所述,選項A的說法錯誤,為本題正確答案。14、______是關(guān)于質(zhì)量管理體系的一系列標(biāo)準(zhǔn),有助于企業(yè)交付符合用戶質(zhì)量要求的產(chǎn)品。A、ISO9000B、CMMC、ISO1400D、SW-CMM標(biāo)準(zhǔn)答案:A知識點解析:ISO9000系列標(biāo)準(zhǔn)是第一套管理性質(zhì)的國際標(biāo)準(zhǔn)。它是各國質(zhì)量管理與標(biāo)準(zhǔn)化專家在先進(jìn)的國際標(biāo)準(zhǔn)的基礎(chǔ)上,對科學(xué)管理實踐的總結(jié)和提高,它既系統(tǒng)、全面、完善,又簡潔、扼要。所以,本題應(yīng)該選擇A。15、ISO/IEC9126軟件質(zhì)量模型中第一層定義了六個質(zhì)量特性,并為各質(zhì)量特性定義了相應(yīng)的質(zhì)量子特性。其中易替換性子特性屬于軟件的______質(zhì)量特性。A、可靠性B、可移植性C、效率D、可維護(hù)性標(biāo)準(zhǔn)答案:B知識點解析:ISO/IEC9126軟件質(zhì)量模型包括三個層次:第1層是質(zhì)量特性;第2層是質(zhì)量子特性;第3層是度量指標(biāo)。質(zhì)量特性包括:功能性、可靠性、易使用性、效率、可維護(hù)性和可移植性。其中,可移植性是指軟件從一種運行環(huán)境轉(zhuǎn)移到另一種環(huán)境中的容易程度,它包括易安裝性、易替換性、適應(yīng)性和一致性4個子特性。本題正確答案為選項B。16、按照ISO/IEC9126軟件質(zhì)量模型的規(guī)定,軟件的適應(yīng)性是指______。A、軟件運行于不同環(huán)境中的故障率B、軟件運行于不同環(huán)境中的安全等級C、將一個系統(tǒng)耦合到另一個系統(tǒng)所需的工作量D、軟件運行于不同環(huán)境中的能力標(biāo)準(zhǔn)答案:D知識點解析:按照ISO/IEC9126軟件質(zhì)量模型的規(guī)定,軟件的適應(yīng)性是指軟件運行于不同環(huán)境中的能力。選項D為正確答案。ISO9000系列標(biāo)準(zhǔn)和軟件成熟度模型CMM都著眼于質(zhì)量和過程管理。ISO9000系列標(biāo)準(zhǔn)的主導(dǎo)思想是:①強(qiáng)調(diào)質(zhì)量(1);②使影響產(chǎn)品質(zhì)量的全部因素始終處于(2)狀態(tài);③要求證實企業(yè)具有持續(xù)提供符合要求產(chǎn)品的(3);④強(qiáng)調(diào)質(zhì)量管理必須堅持進(jìn)行質(zhì)量(4),而CMM則強(qiáng)調(diào)持續(xù)的(5)。17、ISO9000系列標(biāo)準(zhǔn)和軟件成熟度模型CMM都著眼于質(zhì)量和過程管理。ISO9000系列標(biāo)準(zhǔn)的主導(dǎo)思想是:①強(qiáng)調(diào)質(zhì)量(1);②使影響產(chǎn)品質(zhì)量的全部因素始終處于(2)狀態(tài);③要求證實企業(yè)具有持續(xù)提供符合要求產(chǎn)品的(3);④強(qiáng)調(diào)質(zhì)量管理必須堅持進(jìn)行質(zhì)量(4),而CMM則強(qiáng)調(diào)持續(xù)的(5)。A、形成于軟件需求B、形成于軟件設(shè)計C、形成于軟件實現(xiàn)D、形成于生產(chǎn)的全過程標(biāo)準(zhǔn)答案:D知識點解析:暫無解析18、A、可觀察B、可控制C、可度量D、可跟蹤標(biāo)準(zhǔn)答案:B知識點解析:暫無解析19、A、能力B、條件C、工具D、環(huán)境標(biāo)準(zhǔn)答案:A知識點解析:暫無解析20、A、度量B、跟蹤C(jī)、改進(jìn)D、保證標(biāo)準(zhǔn)答案:C知識點解析:暫無解析21、A、質(zhì)量度量B、質(zhì)量改進(jìn)C、過程改進(jìn)D、過程度量標(biāo)準(zhǔn)答案:C知識點解析:ISO9000系列標(biāo)準(zhǔn)的主導(dǎo)思想是:①強(qiáng)調(diào)質(zhì)量形成于生產(chǎn)的全過程;②使影響產(chǎn)品質(zhì)量的全部因素始終處于可控制狀態(tài);③要求證實企業(yè)具有持續(xù)提供符合要求產(chǎn)品的能力;④強(qiáng)調(diào)質(zhì)量管理必須堅持進(jìn)行質(zhì)量改進(jìn)。CMM則強(qiáng)調(diào)持續(xù)的過程改進(jìn)。22、在軟件開發(fā)中使用函數(shù)庫可______。A、提高軟件的執(zhí)行速度B、降低系統(tǒng)負(fù)載C、提高軟件各部分之間的耦合度D、提高軟件的可重用性標(biāo)準(zhǔn)答案:D知識點解析:目前絕大多數(shù)程序設(shè)計語言都支持函數(shù)機(jī)制,例如C語言提供了基本的I/O操作、數(shù)學(xué)運算等函數(shù),并將這些常用函數(shù)以函數(shù)庫形式提供給軟件開發(fā)者。在應(yīng)用軟件開發(fā)中也可以將系統(tǒng)常用操作定義為函數(shù),并打包成函數(shù)庫,這樣做的目的主要是為提高軟件的可重用性,并降低程序各部分之間的耦合度,從而使得這些函數(shù)庫可在多個軟件中重復(fù)使用。所以,選項D為正確答案。23、某軟件在應(yīng)用初期,運行在WindowsNT環(huán)境中?,F(xiàn)因某種原因,該軟件需要在UNIX環(huán)境中運行,而且必須完成相同的功能。為適應(yīng)這個要求,軟件本身需要進(jìn)行修改,而所需修改的工作量取決于該軟件的______。A、可擴(kuò)充性B、可靠性C、復(fù)用性D、可移植性標(biāo)準(zhǔn)答案:D知識點解析:對于選項A,可擴(kuò)充性是軟件的體系結(jié)構(gòu)、數(shù)據(jù)設(shè)計和過程設(shè)計的可擴(kuò)充的程度。對于選項B,可靠性是軟件按照設(shè)計要求,在規(guī)定時間和條件下不出故障,持續(xù)運行的程度。可靠性取決于軟件的安全性、一致性、容錯性以及準(zhǔn)確性。對于選項C,一個軟件(或軟件的部件)能再次用于其他應(yīng)用(該應(yīng)用的功能與此軟件或軟件部件的所完成的功能有聯(lián)系)的程度。復(fù)用性取決于軟件的模塊獨立性、通用性和數(shù)據(jù)共享性。對于選項D,可移植性是將一個軟件系統(tǒng)從一個計算機(jī)系統(tǒng)或環(huán)境移植到另一個計算機(jī)系統(tǒng)或環(huán)境中運行時所需工作量的大小。本題正確答案為選項D。24、軟件的易使用性反映了用戶學(xué)習(xí)、使用該軟件以及為程序準(zhǔn)備輸入和解釋輸出所需的工作量。按照ISO/IEC9126軟件質(zhì)量度量模型定義,一個軟件的易使用性不包括______。A、易理解性B、易操作性C、易改變性D、易學(xué)性標(biāo)準(zhǔn)答案:C知識點解析:易使用性包括如下屬性:①易理解性:與用戶為理解邏輯概念及其應(yīng)用所付出的勞動有關(guān)的軟件屬性。②易學(xué)性:與用戶為學(xué)習(xí)其應(yīng)用(例如操作控制、輸入、輸出)所付出的努力相關(guān)的軟件屬性。③易操作性:與用戶為進(jìn)行操作和操作控制所付出的努力有關(guān)的軟件屬性。綜上所述,軟件的易使用性不包括易改變性,本題正確答案為選項C。二、中文選擇題(含2小題)(本題共6題,每題1.0分,共6分。)程序中的局部數(shù)據(jù)結(jié)構(gòu)測試通常在(1)階段進(jìn)行,而全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試通常在(2)階段進(jìn)行。25、程序中的局部數(shù)據(jù)結(jié)構(gòu)測試通常在(1)階段進(jìn)行,而全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試通常在(2)階段進(jìn)行。A、單元測試B、集成測試C、確認(rèn)測試D、系統(tǒng)測試標(biāo)準(zhǔn)答案:A知識點解析:暫無解析26、A、單元測試B、集成測試C、確認(rèn)測試D、系統(tǒng)測試標(biāo)準(zhǔn)答案:B知識點解析:軟件測試分為單元測試、繼承測試、確認(rèn)測試和系統(tǒng)測試。其中,單元測試也稱為模塊測試,主要檢查模塊接口、局部數(shù)據(jù)結(jié)構(gòu)、重要的執(zhí)行路徑、出錯處理和邊界條件;集成測試也稱為組裝測試,主要檢查多個模塊繼承在一起后,模塊之間的相互配合是否滿足設(shè)計要求,以及全局?jǐn)?shù)據(jù)結(jié)構(gòu)。某村領(lǐng)導(dǎo)需要估計該村某池塘中魚的大致數(shù)量。技術(shù)人員想出了一個辦法:先從池塘中捕出30條魚,在每條魚身上做一記號后,又放回池塘。幾天后,再從該池塘中捕出40條魚,發(fā)現(xiàn)其中有2條是有記號的。因此,他估計該池塘大致有(1)條魚。估計某程序中所含的錯誤個數(shù),程序員A對該程序進(jìn)行測試時發(fā)現(xiàn)了5個錯誤,程序員B獨立對該程序進(jìn)行測試時發(fā)現(xiàn)了8個錯誤,但其中2個錯誤是程序員A已經(jīng)發(fā)現(xiàn)的。因此,人們可以估計,該程序中大致含有(2)個錯誤。27、某村領(lǐng)導(dǎo)需要估計該村某池塘中魚的大致數(shù)量。技術(shù)人員想出了一個辦法:先從池塘中捕出30條魚,在每條魚身上做一記號后,又放回池塘。幾天后,再從該池塘中捕出40條魚,發(fā)現(xiàn)其中有2條是有記號的。因此,他估計該池塘大致有(1)條魚。估計某程序中所含的錯誤個數(shù),程序員A對該程序進(jìn)行測試時發(fā)現(xiàn)了5個錯誤,程序員B獨立對該程序進(jìn)行測試時發(fā)現(xiàn)了8個錯誤,但其中2個錯誤是程序員A已經(jīng)發(fā)現(xiàn)的。因此,人們可以估計,該程序中大致含有(2)個錯誤。A、300B、400C、600D、1200標(biāo)準(zhǔn)答案:C知識點解析:暫無解析28、A、12B、15C、16D、20標(biāo)準(zhǔn)答案:D知識點解析:首先,假設(shè)池塘中有X條魚,根據(jù)題意,其中做記號的魚的比例為30/X,后來取出40條魚中有兩條有記號,那么說明,2/40=30/X,X=600條。第1空的正確答案為選項C。假設(shè)程序中大致有X個錯誤,那么,程序員A發(fā)現(xiàn)了5個錯誤,說明他發(fā)現(xiàn)錯誤的概率是5/X。程序員B發(fā)現(xiàn)了8個錯誤,其中有2個是A發(fā)現(xiàn)的,可以說明A發(fā)現(xiàn)錯誤的概率是2/8=5/X。X為20。第2空的正確答案為選項D。29、______是關(guān)于質(zhì)量管理體系的一系列標(biāo)準(zhǔn),有助于企業(yè)交付符合用戶質(zhì)量要求的產(chǎn)品。A、ISO9000B、CMMC、ISO1400D、SW-CMM標(biāo)準(zhǔn)答案:A知識點解析:ISO9000系列標(biāo)準(zhǔn)的主導(dǎo)思想是:①強(qiáng)調(diào)質(zhì)量形成于生產(chǎn)的全過程。②使影響產(chǎn)品質(zhì)量的全部因素始終處于可控制狀態(tài)。③要求證實企業(yè)具有持續(xù)提供符合要求產(chǎn)品的能力。④強(qiáng)調(diào)質(zhì)量管理必須堅持進(jìn)行質(zhì)量改進(jìn)。CMM則強(qiáng)調(diào)持續(xù)的過程改進(jìn)。選項A為正確答案。將軟件從一種計算機(jī)環(huán)境轉(zhuǎn)換到另一種環(huán)境運行的難易程度是指軟件的(1)。在規(guī)定的條件下和規(guī)定的時間間隔內(nèi),按設(shè)計要求,軟件成功運行的特性稱為(2)。30、將軟件從一種計算機(jī)環(huán)境轉(zhuǎn)換到另一種環(huán)境運行的難易程度是指軟件的(1)。在規(guī)定的條件下和規(guī)定的時間間隔內(nèi),按設(shè)計要求,軟件成功運行的特性稱為(2)。A、可靠性B、可移植性C、可使用性D、靈活性標(biāo)準(zhǔn)答案:B知識點解析:暫無解析31、A、可靠性B、可移植性C、可重用性D、正確性標(biāo)準(zhǔn)答案:A知識點解析:可移植性指將軟件從一種運行環(huán)境(包括軟件、硬件環(huán)境)移植到另外一種運行環(huán)境時需要的工作量和難易程度,該特性對于軟件可靠性和執(zhí)行效率存在一定影響。所以,第1空的正確答案為選項B。軟件可靠性指按照設(shè)計要求,軟件在規(guī)定時間間隔內(nèi)和條件下,能夠成功運行的程度,軟件可靠性常使用平均失效等待時間和平均失效間隔時間進(jìn)行定量度量。所以,第2空的正確答案為選項A。三、流程圖題(本題共1題,每題1.0分,共1分。)32、圖7-5所示的流程圖描述了對8位二進(jìn)制整數(shù)求補的算法。該算法的計算過程如下:從二進(jìn)制數(shù)的低位(最右位)開始,依次向高位逐位查看,直到首次遇到“1”時,停止查看。然后,對該“1”位左面的更高位(如果有的話),逐位求反,所得的結(jié)果就是對原二進(jìn)制數(shù)求補的結(jié)果。例如:對二進(jìn)制整數(shù)10101000求補的結(jié)果是01011000。設(shè)8位二進(jìn)制整數(shù)中的各位,從低位到高位,依次存放在整型數(shù)組BIT的BIT[1]~BIT[8]中。例如,二進(jìn)制整數(shù)10101000存放在數(shù)組BIT后,就有BIT[1]=0,BIT[2]=0,…,BIT[7]=0,BIT[8]=1。若流程圖中存在空操作,則用NOP表示。流程圖中(1)處按“循環(huán)變量名:循環(huán)初值,增量,循環(huán)終值”格式描述。[解析]本題考查求補運算。求補運算是對一個數(shù)的各二進(jìn)制位按位求反后再加1。例如:二進(jìn)制10101000按位求反后得到的二進(jìn)制是01010111,加1后為01011000。也可以這樣來看,原二進(jìn)制從最右邊開始到遇到的第1個1為止都不變,而后面剩下的位按位求反即可。本題流程圖采用的是后一種思路,首先設(shè)置一個標(biāo)志sw的值為0,從最右邊一位開始往左循環(huán)遍歷整個二進(jìn)制數(shù),到遇到第1個1后將標(biāo)志位置1。由此可見,循環(huán)要進(jìn)行8次,循環(huán)變量值依次從1遞增到8。根據(jù)題目要求按“循環(huán)變量名:循環(huán)初值,增量,循環(huán)終值”格式描述循環(huán),而循環(huán)開始下面一條判斷是“BIT[i]=1?”,所以循環(huán)變量是i,第1空應(yīng)填i:1,1,8。如果當(dāng)前遍歷的二進(jìn)制位BIT[i]是1,且標(biāo)志sw為0時,則證明是第1次遇到1,所以直接設(shè)置sw為1即可,故第2空應(yīng)填1→sw。如果當(dāng)前遍歷的二進(jìn)制位BIT[i]是1,且標(biāo)志sw為1時,說明已經(jīng)不是第1次遇到1了,所以直接設(shè)置當(dāng)前二進(jìn)制位為0即可,故第3空應(yīng)填0→BIT[i]。如果當(dāng)前遍歷的二進(jìn)制位BIT[i]是0,且標(biāo)志sw為0時,則證明還沒有遇到過一次1,所以該步什么都不用做,故第4空應(yīng)填NOP。如果當(dāng)前遍歷的二進(jìn)制位BIT[i]是0,且標(biāo)志sw為1時,說明已經(jīng)遇到過1了,所以該步需將當(dāng)前的二進(jìn)制位求反,故第5空應(yīng)填1→BIT[i]。標(biāo)準(zhǔn)答案:(1)i:1,1,898.(2)1→sw98.(3)0→BIT[i]98.(4)NOP98.(5)1→BIT[i]知識點解析:本題考查求補運算。求補運算是對一個數(shù)的各二進(jìn)制位按位求反后再加1。例如:二進(jìn)制10101000按位求反后得到的二進(jìn)制是01010111,加1后為01011000。也可以這樣來看,原二進(jìn)制從最右邊開始到遇到的第1個1為止都不變,而后面剩下的位按位求反即可。軟件工程基礎(chǔ)練習(xí)試卷第2套一、選擇題(本題共23題,每題1.0分,共23分。)1、在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是______。A、數(shù)據(jù)結(jié)構(gòu)設(shè)計B、給出系統(tǒng)模塊結(jié)構(gòu)C、定義模塊算法:D、定義需求并建立系統(tǒng)模型標(biāo)準(zhǔn)答案:D知識點解析:暫無解析2、在軟件生命周期中,能準(zhǔn)確確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是______階段。A、概要設(shè)計B、詳細(xì)設(shè)計C、可行性分析D、需求分析標(biāo)準(zhǔn)答案:D知識點解析:暫無解析3、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。A、控制流B、加工C、數(shù)據(jù)存儲D、源和潭標(biāo)準(zhǔn)答案:A知識點解析:暫無解析4、軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及______。A、階段性報告B、需求評審C、總結(jié)D、都不正確標(biāo)準(zhǔn)答案:B知識點解析:暫無解析5、下面不屬于軟件工程的3個要素的是______。A、工具B、過程C、方法D、環(huán)境標(biāo)準(zhǔn)答案:D知識點解析:暫無解析6、檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。A、確認(rèn)測試B、集成測試C、驗證測試D、驗收測試標(biāo)準(zhǔn)答案:A知識點解析:暫無解析7、下列工具中屬于需求分析常用工具的是______。A、PADB、PFDC、N-SD、DFD標(biāo)準(zhǔn)答案:D知識點解析:暫無解析8、下面不屬于軟件設(shè)計原則的是______。A、抽象B、模塊化C、自底向上D、信息隱蔽標(biāo)準(zhǔn)答案:C知識點解析:暫無解析9、面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是______。A、模擬現(xiàn)實世界中不同事物之間的聯(lián)系B、強(qiáng)調(diào)模擬現(xiàn)實世界中的算法而不強(qiáng)調(diào)概念C、使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題D、鼓勵開發(fā)者在軟件開發(fā)的絕大部分過程中都用實際領(lǐng)域的概念去思考標(biāo)準(zhǔn)答案:C知識點解析:暫無解析10、在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。A、詳細(xì)設(shè)計B、需求分析C、總體設(shè)計D、編程調(diào)試標(biāo)準(zhǔn)答案:C知識點解析:暫無解析11、軟件調(diào)試的目的是______。A、發(fā)現(xiàn)錯誤B、改正錯誤C、改善軟件的性能D、挖掘軟件的潛能標(biāo)準(zhǔn)答案:B知識點解析:暫無解析12、下列不屬于軟件調(diào)試技術(shù)的是______。A、強(qiáng)行排錯法B、集成測試法C、回溯法D、原因排除法標(biāo)準(zhǔn)答案:B知識點解析:暫無解析13、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。A、便于用戶、開發(fā)人員進(jìn)行理解和交流B、反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C、作為確認(rèn)測試和驗收的依據(jù)D、便于開發(fā)人員進(jìn)行需求分析標(biāo)準(zhǔn)答案:D知識點解析:暫無解析14、在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。A、控制程序的執(zhí)行順序B、模塊之間的調(diào)用關(guān)系C、數(shù)據(jù)的流向D、程序的組成成分標(biāo)準(zhǔn)答案:C知識點解析:暫無解析15、軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指______。A、模塊間的關(guān)系B、系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述C、軟件層次結(jié)構(gòu)D、軟件開發(fā)過程標(biāo)準(zhǔn)答案:B知識點解析:暫無解析16、為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為______。A、PAD圖B、N-S圖C、結(jié)構(gòu)圖D、數(shù)據(jù)流圖標(biāo)準(zhǔn)答案:B知識點解析:暫無解析17、需求分析階段的任務(wù)是確定______。A、軟件開發(fā)方法B、軟件開發(fā)工具C、軟件開發(fā)費用D、軟件系統(tǒng)功能標(biāo)準(zhǔn)答案:D知識點解析:暫無解析18、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成______。A、定義、開發(fā)、運行維護(hù)B、設(shè)計階段、編程階段、測試階段C、總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試D、需求分析、功能定義、系統(tǒng)設(shè)計標(biāo)準(zhǔn)答案:A知識點解析:暫無解析19、在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做______。A、循環(huán)的集合B、地址的集合C、路徑的集合D、目標(biāo)的集合標(biāo)準(zhǔn)答案:C知識點解析:暫無解析20、信息隱蔽的概念與下述哪一種概念直接相關(guān)______。A、軟件結(jié)構(gòu)定義B、模塊獨立性C、模塊類型劃分D、模塊耦合度標(biāo)準(zhǔn)答案:B知識點解析:暫無解析21、軟件工程的出現(xiàn)是由于______。A、程序設(shè)計方法學(xué)的影響B(tài)、軟件產(chǎn)業(yè)化的需要C、軟件危機(jī)的出現(xiàn)D、計算機(jī)的發(fā)展標(biāo)準(zhǔn)答案:C知識點解析:暫無解析22、軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測試數(shù)據(jù)屬于______。A、硬件資源B、通信資源C、支持軟件D、輔助資源標(biāo)準(zhǔn)答案:D知識點解析:暫無解析23、下面對對象概念描述錯誤的是______。A、任何對象都必須有繼承性B、對象是屬性和方法的封裝體C、對象間的通信靠消息傳遞D、操作是對象的動態(tài)屬性標(biāo)準(zhǔn)答案:A知識點解析:暫無解析軟件工程基礎(chǔ)練習(xí)試卷第3套一、中文選擇題(本題共33題,每題1.0分,共33分。)1、在圖7-2所示的流程圖中,如果標(biāo)記為b的運算執(zhí)行了m次(m>1),那么標(biāo)記為a的運算的執(zhí)行次數(shù)為______。A、1B、m-1C、mD、m+1標(biāo)準(zhǔn)答案:D知識點解析:根據(jù)題目所給的流程圖,只有當(dāng)標(biāo)記為a的運算返回Y(真)時,b運算才會得以執(zhí)行,而后繼續(xù)返回到a運算。而當(dāng)a運算返回N(假)時,整個流程執(zhí)行完畢。由此可見,如果b運算執(zhí)行了m次,則a運算必定執(zhí)行并返回了m次Y。而在第m+1次執(zhí)行a運算時,返回了N,執(zhí)行完畢。故a運算執(zhí)行次數(shù)為m+l。2、軟件的復(fù)雜性與許多因素有關(guān)。______不屬于軟件的復(fù)雜性參數(shù)。A、源程序的代碼行數(shù)B、程序的結(jié)構(gòu)C、算法的難易程度D、程序中注釋的多少標(biāo)準(zhǔn)答案:D知識點解析:注釋是程序員對程序某部分的功能和作用所做的說明,對編譯和運行不起作用。所以,注釋跟軟件的復(fù)雜性無關(guān)。所以選項D為正確答案。3、______不是良好的編程風(fēng)格。A、變量名采用單字母符號或單字母加數(shù)字串B、程序代碼采用縮進(jìn)格式C、為變量設(shè)置初始值D、程序中包含必要的注釋標(biāo)準(zhǔn)答案:A知識點解析:程序的設(shè)計風(fēng)格,指編寫程序時源程序的格式。良好的編程風(fēng)格,可以幫助人們理解程序,查找錯誤。在編程過程中,要注意養(yǎng)成良好的習(xí)慣,比如:選擇含義明確的名字,使它能正確提示標(biāo)識符所代表的實體,而且,名字中應(yīng)當(dāng)避免使用易混淆的數(shù)字。顯然,選項A的說法是錯誤的,為本題答案。在程序要添加空格、空行和縮進(jìn),幫助人們在視覺上看清程序結(jié)構(gòu)。選項B符合這個要求。顯式說明一切變量。選項C的為變量設(shè)置初始值,也是良好的編程習(xí)慣。程序中包含必要的注釋,可以幫助人們理解程序。選項D符合這個要求。4、下列敘述中,良好編程風(fēng)格的正確敘述,是______。A、使用括號以改善表達(dá)式的清晰性。B、對遞歸定義的數(shù)據(jù)結(jié)構(gòu)不要使用遞歸過程。C、應(yīng)盡可能多輸出中間結(jié)果。D、盡可能對程序代碼進(jìn)行優(yōu)化。標(biāo)準(zhǔn)答案:A知識點解析:選項A說法正確,使用括號,可以清晰地表達(dá)邏輯表達(dá)式和算術(shù)表達(dá)式的運算次序,可提高程序的可理解性。本題正確答案為選項A。選項B說法錯誤,對遞歸定義的數(shù)據(jù)結(jié)構(gòu)可以使用遞歸過程。選項C說法錯誤,適當(dāng)輸出中間結(jié)果是可以的,無須過多輸出中間結(jié)果。選項D說法錯誤,如果對程序代碼過度優(yōu)化,會降低程序的可理解性。5、下列敘述中,良好編程風(fēng)格的正確敘述,是______。A、可以盡量使用標(biāo)準(zhǔn)文本以外的語句B、對所有輸入數(shù)據(jù)進(jìn)行校驗C、用計數(shù)方法而不是用文件結(jié)束符來判別輸入的結(jié)束。D、可以顯式說明變量,也可以隱式說明標(biāo)準(zhǔn)答案:B知識點解析:選項A說法正確,使用括號,可以清晰地表達(dá)邏輯表達(dá)式和算術(shù)表達(dá)式的運算次序,可提高程序的可理解性。本題正確答案為選項A。選項B說法錯誤,對遞歸定義的數(shù)據(jù)結(jié)構(gòu)可以使用遞歸過程。選項C說法錯誤,適當(dāng)輸出中間結(jié)果是可以的,無須過多輸出中間結(jié)果。選項D說法錯誤,如果對程序代碼過度優(yōu)化,會降低程序的可理解性。編制一個好的程序首先要確保它的正確性和可靠性,除此以外,通常更注重源程序的(1)。此外,還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格,例如,選擇標(biāo)識符的名字時應(yīng)考慮(2);在書寫語句時應(yīng)考慮(3);在書寫功能性注解時應(yīng)考慮(4)。源程序中應(yīng)包含一些內(nèi)部文檔,以幫助閱讀和理解源程序,源程序的內(nèi)部文檔通常包括選擇合適的標(biāo)識符、注解和(5)。6、編制一個好的程序首先要確保它的正確性和可靠性,除此以外,通常更注重源程序的(1)。此外,還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格,例如,選擇標(biāo)識符的名字時應(yīng)考慮(2);在書寫語句時應(yīng)考慮(3);在書寫功能性注解時應(yīng)考慮(4)。源程序中應(yīng)包含一些內(nèi)部文檔,以幫助閱讀和理解源程序,源程序的內(nèi)部文檔通常包括選擇合適的標(biāo)識符、注解和(5)。A、易使用性、易維護(hù)性和效率B、易使用性、易維護(hù)性和易移植性C、易理解性、易測試性和易修改性D、易理解性、安全性和效率標(biāo)準(zhǔn)答案:B知識點解析:暫無解析7、A、名字長度越短越好,以減少源程序的輸入量B、多個變量共用一個名字,以減少變量名的數(shù)目C、選擇含義明確的名字,以正確提示所代表的實體D、盡量用關(guān)鍵字作名字,以使名字標(biāo)準(zhǔn)化標(biāo)準(zhǔn)答案:C知識點解析:暫無解析8、A、把多個短的語句寫在同一行中,以減少源程序的行數(shù)B、盡量使用標(biāo)準(zhǔn)文本以外的有特殊功效的語句,以提高程序的功效C、盡量消除表達(dá)式中的括號,以簡化表達(dá)式D、避免使用測試條件“非”,以提高程序的可讀性標(biāo)準(zhǔn)答案:D知識點解析:暫無解析9、A、僅為整個程序作注解B、僅為每個模塊作注解C、為程序段作注解D、為每個語句作注解標(biāo)準(zhǔn)答案:C知識點解析:暫無解析10、A、程序的視覺組織B、盡量不用或少用GOTO語句C、檢查輸入數(shù)據(jù)的有效性D、設(shè)計良好的輸出報表標(biāo)準(zhǔn)答案:A知識點解析:第1空分析如下:編制一個好的程序,首先要確保它的正確性和可靠性,除此以外,通常更注重源程序的易使用性、易維護(hù)性和易移植性。本題第1空的正確答案為選項B。第2空分析如下:要強(qiáng)調(diào)良好的編程風(fēng)格,選擇標(biāo)識符的名字時應(yīng)考慮:①標(biāo)識符包括模塊名、變量名、常量名、標(biāo)號名、子程序名等。這些名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定實際意義,使其能顧名思義。第2空的正確答案為選項C。②在模塊名、變量名、常量名、標(biāo)號名、子程序名中使用下劃線是一種風(fēng)格。使用這一技術(shù)的一種命名規(guī)則就是匈牙利命名法(變量類型由一個或兩個字符表示,并且這些字符將作為變量名的前綴)。③重要的是保持一致性——在整個程序中使用相同的命名規(guī)則。小組成員應(yīng)該制定一種命名規(guī)則,并自始至終使用。還要與程序中用到的第三方庫所使用的風(fēng)格保持一致。如果可能的話,應(yīng)該盡量使用與第三方庫相同的命名規(guī)則,這將加強(qiáng)程序的可讀性和一致性。第3空分析如下:源程序清單的書寫建議有:①每行只寫一條語句。②用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)層次,這樣可使程序的邏輯結(jié)構(gòu)更加清晰,層次更加分明。③書寫表達(dá)式時適當(dāng)使用空格或圓括號作隔離符。④在注釋段周圍加上邊框。⑤注釋段與程序段、以及不同的程序段之間插入字行。⑥避免使用測試條件“非”,以提高程序的可讀性。第3空的正確答案為選項D。第4空分析如下:程序中的注釋是程序設(shè)計者與程序閱讀者之間通信的重要手段。注釋能夠幫助讀者理解程序,并為后續(xù)測試維護(hù)提供明確的指導(dǎo)信息。注釋分為功能性注釋和序言性注釋。①功能性注釋。功能性注釋在源程序中,用以描述其后的語句或程序段是在做什么工作,也就是解釋下面要做什么,而不是解釋下面怎么做。對于書寫功能性注釋,要注意以下幾點:第一描述一段程序,而不是每一個語句。第二利用縮進(jìn)和空行,使程序與注釋容易區(qū)別。第三注釋要準(zhǔn)確無誤。第4空的正確答案為選項C。②序言性注釋。序言性注釋通常位于每個程序模塊的開頭部分,它給出程序的整體說明,對于理解程序具有引導(dǎo)作用。有些軟件開發(fā)部門對序言性注釋做了明確而嚴(yán)格的規(guī)定,要求程序編制者逐項列出。有關(guān)內(nèi)容包括:程序標(biāo)題;有關(guān)該模塊功能和目的的說明;主要算法;接口說明:包括調(diào)用形式,參數(shù)描述,子程序清單;有關(guān)數(shù)據(jù)描述;模塊位置(在哪一個源文件中,或隸屬于哪一個軟件包);開發(fā)簡歷:模塊設(shè)計者、復(fù)審考、復(fù)審日期。第5空的分析如下:源程序中應(yīng)包含一些內(nèi)部文檔,以幫助閱讀和理解源程序,源程序的內(nèi)部文檔通常包括選擇合適的標(biāo)識符、注解和程序的視覺組織。第5空的正確答案為選項A。11、對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是______。A、程序應(yīng)簡單、清晰、可讀性好B、符號名的命名只要符合語法即可C、充分考慮程序的執(zhí)行效率D、程序的注釋可有可無標(biāo)準(zhǔn)答案:A知識點解析:B選項錯誤,符號名應(yīng)該能反映出它所代表的實際東西,應(yīng)有一定的意義,不是簡單的符合語法就可以。C選項不對,應(yīng)該在保證程序正確的情況下再考慮程序的執(zhí)行效率。D選項錯誤,程序的注釋有益于對程序的理解和維護(hù),好的程序必不可少。A選項正確。為本題正確答案。12、若程序中使用的變量未設(shè)置初始值,則______。A、編譯時一定出錯B、運行時一定會出錯C、鏈接時一定出錯D、運行結(jié)果可能出錯標(biāo)準(zhǔn)答案:D知識點解析:如果程序中使用的變量未設(shè)置初始值,那么,如果在編程過程中,不賦值而使用其值進(jìn)行計算,那么,該值會由系統(tǒng)隨機(jī)賦值,結(jié)果將可能出錯。選項D為正確答案。13、系統(tǒng)測試計劃應(yīng)該在軟件開發(fā)的______階段制定。A、需求分析B、概要設(shè)計C、詳細(xì)設(shè)計D、系統(tǒng)測試標(biāo)準(zhǔn)答案:A知識點解析:在需求分析階段,就開始制定系統(tǒng)測試計劃,并在設(shè)計階段進(jìn)行完善。所以選項A為正確答案。14、從工程管理角度,軟件設(shè)計一般分為兩步完成,它們是______。A、概要設(shè)計與詳細(xì)設(shè)計B、數(shù)據(jù)設(shè)計與接口設(shè)計C、軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)設(shè)計D、過程設(shè)計與數(shù)據(jù)設(shè)計標(biāo)準(zhǔn)答案:A知識點解析:從工程管理的角度,軟件設(shè)計可分為概要設(shè)計和詳細(xì)設(shè)計兩大步驟。概要設(shè)計是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架;詳細(xì)設(shè)計是將其進(jìn)一步精化成軟件的算法或表示和數(shù)據(jù)結(jié)構(gòu)。而在技術(shù)上,概要設(shè)計和詳細(xì)設(shè)計又由若干活動組成,包括總體結(jié)構(gòu)設(shè)計,數(shù)據(jù)設(shè)計和過程設(shè)計。因此,本題的正確答案是A。15、在軟件開發(fā)的各個階段中,對軟件開發(fā)成敗影響最大的是______。A、需求分析B、概要設(shè)計C、詳細(xì)設(shè)計D、編碼標(biāo)準(zhǔn)答案:A知識點解析:在需求分析階段,要確定系統(tǒng)的功能、性能、數(shù)據(jù)、界面等要求,從而確定系統(tǒng)的邏輯模型。需求分析的好壞,會影響整個系統(tǒng)的質(zhì)量、開發(fā)費用,甚至項目成敗。所以選項A為正確答案。16、______是算法的一種圖形化表示。A、拓?fù)浣Y(jié)構(gòu)圖B、流程圖C、偽代碼D、數(shù)據(jù)流圖標(biāo)準(zhǔn)答案:B知識點解析:對于選項A,拓?fù)浣Y(jié)構(gòu)圖經(jīng)常用于表示網(wǎng)絡(luò)中結(jié)點之間的連接方式。對于選項B,流程圖是描述系統(tǒng)數(shù)據(jù)流程的工具,它將數(shù)據(jù)獨立抽象出來,通過圖形方式描述信息的來龍去脈和實際流程。為了描述復(fù)雜的軟件系統(tǒng)的信息流向和加工,可采用分層的DFD來描述,分層DFD有頂層,中間層、底層之分。選項B為正確答案。對于選項C,偽代碼實際上是計算機(jī)代碼的簡略形式,它比流程圖更像計算機(jī)代碼。對于選項D,數(shù)據(jù)流圖(DFD)是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。數(shù)據(jù)流圖是從數(shù)據(jù)的角度來描述系統(tǒng)。17、通常在軟件開發(fā)的______活動中無需用戶參與。A、需求分析B、維護(hù)C、編碼D、測試標(biāo)準(zhǔn)答案:C知識點解析:為確保軟件符合用戶需求,在各種軟件開發(fā)過程中,用戶有著非常重要的作用。對于選項A,進(jìn)行需求分析時,需要用戶和軟件人員共同討論,并且只有用戶參與,才能有助于軟件人員了解用戶的知識、管理和技能等背景。對于選項B,維護(hù)主要是指根據(jù)需求變化或硬件環(huán)境的變化對應(yīng)用程序進(jìn)行部分或全部的修改,這一部分同樣需要用戶的參與。對于選項C,編碼是程序員依據(jù)詳細(xì)設(shè)計的結(jié)果,用計算機(jī)語言實現(xiàn)所要完成的功能。對于選項D,測試是軟件質(zhì)量的保證性手段,因為用戶是軟件的直接或間接使用者,這一群體能對軟件系統(tǒng)成果產(chǎn)生重大影響,不同種類的用戶可以以不同形式參與系統(tǒng)測試活動。綜上所述,本題應(yīng)該選擇C。18、在軟件開發(fā)過程中,______。A、增加更多的程序員可以加快軟件開發(fā)速度B、只有對目標(biāo)的一般描述還不能立即開始編碼C、若項目需求有變化,應(yīng)先在編碼中進(jìn)行處理以不耽誤開發(fā)進(jìn)度D、程序的質(zhì)量只能在用戶使用之后才能進(jìn)行評估標(biāo)準(zhǔn)答案:B知識點解析:對于選項A,軟件開發(fā)過程中,如果增加程序員,可能會更加延誤項目。原因是,編寫程序,需要有一個熟悉過程,原有程序員需要向新添加的程序員解釋工資以及交流思想,使得實際開發(fā)時間更少,而且,項目新手可能會產(chǎn)生新的錯誤,使項目混亂。選項A的說法不正確。對于選項C,軟件需求發(fā)生變化時,應(yīng)當(dāng)及時修改程序設(shè)計和代碼,保證文檔與代碼的一致。選項C的說法錯誤。對于選項D,軟件質(zhì)量的評估,需要在需求分析、設(shè)計等重要階段,由專家和用戶共同參與。選項D說法錯誤。選項B的說法正確,是本題正確答案。19、采用結(jié)構(gòu)化方法開發(fā)軟件時,常使用數(shù)據(jù)流圖來描述系統(tǒng)數(shù)據(jù)處理過程,它是______階段產(chǎn)生的。A、系統(tǒng)分析B、概要設(shè)計C、詳細(xì)設(shè)計D、編碼標(biāo)準(zhǔn)答案:A知識點解析:結(jié)構(gòu)化分析方法將系統(tǒng)分析視為工程項目,有計劃、有步驟地進(jìn)行工作。它采用自頂向下、逐層分解的開發(fā)策略,其分析結(jié)果有:數(shù)據(jù)流圖、數(shù)據(jù)字典和加工邏輯說明。數(shù)據(jù)流圖描述數(shù)據(jù)流從輸入到輸出的變換流程。本題正確答案為選項A。20、軟件“做什么”和“怎么做”是軟件開發(fā)過程中需要解決的關(guān)鍵問題,其中“怎么做”是在______階段解決的。A、需求分析B、文檔設(shè)計C、軟件編碼D、測試標(biāo)準(zhǔn)答案:C知識點解析:軟件需求分析階段必須清楚軟件的各種需求,解決軟件“做什么”的問題。而解決“怎么做”是在軟件設(shè)計編碼階段解決的問題,此階段需要確定軟件體系結(jié)構(gòu),處理方式和定義數(shù)據(jù)結(jié)構(gòu)等,最后用源代碼實現(xiàn)軟件。選項C正確。21、軟件設(shè)計活動中的______設(shè)計指定各個組件之間的通信方式以及各組件之間如何相互作用。A、數(shù)據(jù)B、接口C、結(jié)構(gòu)D、組件標(biāo)準(zhǔn)答案:B知識點解析:從技術(shù)觀點來看,軟件設(shè)計活動包括系統(tǒng)結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計和過程設(shè)計。系統(tǒng)結(jié)構(gòu)設(shè)計需求確定構(gòu)成整個系統(tǒng)的各組件(模塊)結(jié)構(gòu)及關(guān)系,其中接口設(shè)計需要確定組件之間的接口,選項B正確;數(shù)據(jù)設(shè)計需要確定軟件涉及的文件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)庫模式、子模式,并進(jìn)行數(shù)據(jù)完整性、安全性和保護(hù)性設(shè)計;組件(模塊)設(shè)計需要確定各組件(模塊)的規(guī)定功能應(yīng)該如何實現(xiàn)。22、通常,在軟件的輸入輸出設(shè)計中,合理的要求是:______。A、數(shù)據(jù)盡量由用戶來輸入,以便給用戶提供更大的自主性B、輸入過程應(yīng)盡量容易,以減少錯誤的發(fā)生C、不能在輸入過程中檢驗數(shù)據(jù)的正確性D、在輸入過程中,為了不干擾用戶,應(yīng)盡量避免提示信息標(biāo)準(zhǔn)答案:B知識點解析:在輸入設(shè)計中,應(yīng)盡量保證在滿足處理要求的前提下,使輸入量最小。所以選項A的說法不正確。在輸入設(shè)計中,應(yīng)對輸入數(shù)據(jù)進(jìn)行校驗,且盡量接近源數(shù)據(jù)發(fā)生點,使錯誤能及時得到改正。因此選項C的說法也不正確。為了使用戶更好地理解輸入的要求,在輸入過程中應(yīng)盡量提供相應(yīng)的幫助。故選項D的說法也是錯誤的。選項B的說法正確,為所選答案。23、以下關(guān)于程序測試的敘述,正確的是______。A、程序測試的目的是為了證明程序的正確性B、白盒測試也稱為功能測試C、黑盒測試也稱為結(jié)構(gòu)測試D、程序測試要注意檢驗程序是否有多余的功能標(biāo)準(zhǔn)答案:D知識點解析:程序測試的目的是發(fā)現(xiàn)程序錯誤,不是證明程序正確。所以選項A的說法不正確。黑盒測試是在不了解程序結(jié)構(gòu)的情況下,根據(jù)使用說明書,輸入所需的數(shù)據(jù),檢查其輸出結(jié)果的正確性。黑盒測試也叫做功能測試。所以,選項B的說法錯誤。白盒測試根據(jù)程序內(nèi)部結(jié)構(gòu)進(jìn)行測試,也叫做結(jié)構(gòu)測試。所以,選項C的說法錯誤。選項D的說法正確,為所選答案。24、在進(jìn)行單元測試時,常用的方法是______。A、采用白盒測試,輔之以黑盒測試B、采用黑盒測試,輔之以白盒測試C、只使用白盒測試D、只使用黑盒測試標(biāo)準(zhǔn)答案:A知識點解析:單元測試的步驟如下:①理解需求和設(shè)計。清楚被測試模塊在整個軟件中所處的位置。一個原則是:好的設(shè)計,各模塊只負(fù)責(zé)完成自己的事情,層次與分工明確。單元測試時,可以不測試不屬于被測模塊所負(fù)責(zé)的功能,以減少測試用例的冗余。②概覽源代碼。瀏覽源代碼,初步檢查源代碼的編碼風(fēng)格與規(guī)范,大致估算測試工作量,確定模塊的復(fù)雜程度,初步制定測試的優(yōu)先級等。③精讀源代碼。認(rèn)真閱讀和分析代碼,理解代碼的業(yè)務(wù)邏輯,檢查代碼與設(shè)計是否相符,仔細(xì)研究邏輯復(fù)雜的模塊,可采用一些檢查列表來檢查程序可能會出現(xiàn)的問題。④設(shè)計測試用例。綜合運用白盒測試方法(并結(jié)合黑盒測試方法)設(shè)計測試用例,包括功能測試、性能測試等,要達(dá)到一定的測試覆蓋率。本題正確答案為選項A。⑤搭建單元測試環(huán)境。這個階段主要就是寫樁模塊和驅(qū)動模塊,然后驅(qū)動模塊想辦法獲取被測試模塊對數(shù)據(jù)的處理結(jié)果,并判定返回的實際結(jié)果與測試用例的預(yù)期結(jié)果是否一致,通過測試框架來記錄執(zhí)行的結(jié)果,對于出現(xiàn)的錯誤,還需統(tǒng)計錯誤的信息,供執(zhí)行完之后分析。⑥執(zhí)行測試。運行寫好的驅(qū)動模塊完成對被測試模塊的測試。⑦補充和完善測試用例。在測試過程中不斷補充測試用例,直到滿足要求為止。⑧分析結(jié)果,給出評價。根據(jù)測試的結(jié)果分析、查找錯誤的原因,并找到解決的辦法。測試結(jié)束之后,根據(jù)測試過程的數(shù)據(jù)統(tǒng)計,給出被測試對象評價。25、軟件測試分為黑盒測試和白盒測試,其中,______方法屬于黑盒測試。A、等價類劃分和邊界類劃分B、循環(huán)覆蓋以及基本路徑測試C、錯誤推測和邏輯覆蓋D、因果圖和路徑覆蓋標(biāo)準(zhǔn)答案:A知識點解析:采用黑盒技術(shù)設(shè)計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。白盒技術(shù)有:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。選項A中的等價類劃分和邊界類劃分都是黑盒測試,為本題正確答案。26、白盒測試方法一般適合用于______測試。A、單元B、系統(tǒng)C、集成D、確認(rèn)標(biāo)準(zhǔn)答案:A知識點解析:暫無解析軟件測試通??煞譃榘缀袦y試和黑盒測試。白盒測試是根據(jù)程序的(1)來設(shè)計測試用例,黑盒測試是根據(jù)軟件的規(guī)格說明來設(shè)計測試用例。常用的黑盒測試方法有邊值分析、等價類劃分、錯誤猜測、因果圖等。其中,(2)經(jīng)常與其他方法結(jié)合起來使用。軟件測試的步驟主要有單元測試、集成測試和確認(rèn)測試。如果一個軟件作為產(chǎn)品被許多客戶使用的話,在確認(rèn)測試時通常要經(jīng)過α測試和β測試的過程。其中,α測試是(3)進(jìn)行的一種測試。在軟件設(shè)計和編碼時,采取(4)等措施都有利于提高軟件的可測試性。27、軟件測試通常可分為白盒測試和黑盒測試。白盒測試是根據(jù)程序的(1)來設(shè)計測試用例,黑盒測試是根據(jù)軟件的規(guī)格說明來設(shè)計測試用例。常用的黑盒測試方法有邊值分析、等價類劃分、錯誤猜測、因果圖等。其中,(2)經(jīng)常與其他方法結(jié)合起來使用。軟件測試的步驟主要有單元測試、集成測試和確認(rèn)測試。如果一個軟件作為產(chǎn)品被許多客戶使用的話,在確認(rèn)測試時通常要經(jīng)過α測試和β測試的過程。其中,α測試是(3)進(jìn)行的一種測試。在軟件設(shè)計和編碼時,采取(4)等措施都有利于提高軟件的可測試性。A、功能B、性能C、內(nèi)部邏輯D、內(nèi)部數(shù)據(jù)標(biāo)準(zhǔn)答案:C知識點解析:暫無解析28、A、邊值分析B、等價類劃分C、錯誤猜測D、因果圖標(biāo)準(zhǔn)答案:A知識點解析:暫無解析29、A、在開發(fā)者現(xiàn)場由開發(fā)方的非本項目開發(fā)人員B、在開發(fā)者現(xiàn)場由用戶C、在用戶現(xiàn)場由開發(fā)方的非本項目開發(fā)人員D、在用戶現(xiàn)場由用戶使用標(biāo)準(zhǔn)答案:B知識點解析:暫無解析30、A、不使用標(biāo)準(zhǔn)文本以外的語句,書寫詳細(xì)正確的文檔B、不使用標(biāo)準(zhǔn)文本以外的語句,采用良好的程序結(jié)構(gòu)C、書寫詳細(xì)正確的文檔,信息隱蔽D、書寫詳細(xì)正確的文檔,采用良好的程序結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點解析:白盒是針對系統(tǒng)的內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試的。第1空的正確答案為選項C。長期的測試工作經(jīng)驗表明,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此,針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況,應(yīng)當(dāng)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù)。將邊界值分析方法與其他方法結(jié)合使用,更容易發(fā)現(xiàn)軟件錯誤。第2空的正確答案為選項A。如果一個軟件作為產(chǎn)品被許多客戶使用的話,在確認(rèn)測試時通常要經(jīng)過。測試和β測試的過程。其中,α測試是在開發(fā)者現(xiàn)場由用戶進(jìn)行的一種測試。β有選擇地請一些最終用戶實際使用,將發(fā)現(xiàn)的問題反饋回來再進(jìn)行修改。第3空的正確答案為選項B。書寫詳細(xì)正確的文檔,采用良好的程序結(jié)構(gòu),可提高程序的可理解性,有利于程序的可測試性。第4空的正確答案為選項D。有關(guān)標(biāo)準(zhǔn)文本使用的問題,涉及到程序的可移植性。31、檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。A、確認(rèn)測試B、集成測試C、驗證測試D、驗收測試標(biāo)準(zhǔn)答案:A知識點解析:確認(rèn)測試是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明書中確定了的各種需求,以及軟件配置是否完全、正確。軟件需求規(guī)格說明書是軟件確認(rèn)測試的基礎(chǔ)。本題正確答案為選項A。32、用黑盒技術(shù)測試用例的方法之一為______。A、因果圖B、邏輯覆蓋C、循環(huán)覆蓋D、基本路徑測試標(biāo)準(zhǔn)答案:A知識點解析:黑盒測試主要方法有等價值劃分法、邊界值分析法、錯誤推測法、因果圖法等。白盒測試的主要方法有邏輯覆蓋、基本路徑測試循環(huán)覆蓋等。只有A屬于黑盒測試。33、軟件測試中的α測試由用戶在軟件開發(fā)者指導(dǎo)下完成,這種測試屬于______階段的測試活動。A、單元測試B、集成測試C、系統(tǒng)測試D、確認(rèn)測試標(biāo)準(zhǔn)答案:D知識點解析:測試過程按4個步驟進(jìn)行,即單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試及發(fā)版測試。①開始是單元測試,集中對用源代碼實現(xiàn)的每一個程序單元進(jìn)行測試,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。單元測試又稱模塊測試,是針對軟件設(shè)計的最小單位程序模塊,進(jìn)行正確性檢驗的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例。多個模塊可以平行地獨立進(jìn)行單元測試。②集成測試把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。通常,在單元測試的基礎(chǔ)上,需要將所有模塊按照設(shè)計要求組裝成為系統(tǒng)。這時需要考慮的問題是:在把各個模塊連接起來的時侯,穿越模塊接口的數(shù)據(jù)是否會丟失;一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題等等。③確認(rèn)測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。確認(rèn)測試又稱有效性測試。任務(wù)是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定.它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。確認(rèn)測試是在模擬的環(huán)境(可能就是開發(fā)的環(huán)境)下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求.確認(rèn)測試需要用戶的參與,通常使用α測試、β測試等方式,發(fā)現(xiàn)目前仍然沒有發(fā)現(xiàn)的錯誤。所以,本題正確答案為選項D。④系統(tǒng)測試把已經(jīng)經(jīng)過確認(rèn)的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成分組合在一起進(jìn)行測試。系統(tǒng)測試,是將通過確認(rèn)測試的軟件,作為整個基于計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合或與之矛盾的地方。二、中文選擇題(含2小題)(本題共2題,每題1.0分,共2分。)在了解程序內(nèi)部結(jié)構(gòu)和流程后,通常采用(1)驗證程序內(nèi)部邏輯是否符合設(shè)計要求,此時可使用(2)技術(shù)設(shè)計測試案例。34、在了解程序

溫馨提示

  • 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

提交評論