大學(xué)計算機基礎(chǔ)-08軟件工程_第1頁
大學(xué)計算機基礎(chǔ)-08軟件工程_第2頁
大學(xué)計算機基礎(chǔ)-08軟件工程_第3頁
大學(xué)計算機基礎(chǔ)-08軟件工程_第4頁
大學(xué)計算機基礎(chǔ)-08軟件工程_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章 軟件工程8.1軟件工程的基本概念8.2軟件需求分析8.3軟件設(shè)計8.4程序設(shè)計基礎(chǔ)8.5軟件測試8.6程序的調(diào)試習(xí)題2/6/202318.1軟件工程的基本概念8.1.1軟件危機與軟件工程

1.軟件危機軟件危機主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)的成本和進度無法控制;軟件質(zhì)量難以保證;軟件不可維護或維護成度非常低;軟件成本不斷提高;軟件開發(fā)趕不上硬件的發(fā)展。2/6/202322.軟件工程為了消除軟件危機,形成了軟件工程的概念。軟件工程就是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護計算機軟件的有關(guān)技術(shù)及管理方法。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。軟件工程的核心思想是把軟件產(chǎn)品作為是一個工程產(chǎn)品來處理。2/6/202338.1.2軟件生命周期分為定義、開發(fā)及維護三個階段??尚行匝芯砍醪巾椖坑媱澬枨蠓治龈乓O(shè)計詳細(xì)設(shè)計實現(xiàn)測試使用維護退役定義階段開發(fā)階段維護階段2/6/202348.1.3軟件開發(fā)工具與軟件開發(fā)環(huán)境1.軟件開發(fā)工具是指用來幫助開發(fā),測試、分析、維護其他計算機程序及其文檔資料的一類程序。軟件工具主要包括需求分析工具、設(shè)計工具、編碼工具、確認(rèn)工具、維護工具等。2.軟件工程環(huán)境軟件工程環(huán)境是指全面支持軟件開發(fā)全過程的軟件工具集合。2/6/202358.2軟件需求分析8.2.1需求分析與需求分析方法1.需求分析軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。需求分析階段的工作包括四個方面:需求獲取需求分析編寫需求說明書需求評審2/6/202362.需求分析方法常見的需求分析方法有:①結(jié)構(gòu)化分析方法。②面向?qū)ο蟮姆治龇椒ā?.2.2結(jié)構(gòu)化分析方法

結(jié)構(gòu)化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。2/6/20237結(jié)構(gòu)化分析的步驟如下:①通過對用戶的調(diào)查,獲得當(dāng)前系統(tǒng)的具體模型:②去掉具體模型中非本質(zhì)因素,抽象出當(dāng)前系統(tǒng)的邏輯模型:③根據(jù)計算機的特點分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,建立目標(biāo)系統(tǒng)的邏輯模型④完善目標(biāo)系統(tǒng)并補充細(xì)節(jié),寫出目標(biāo)系統(tǒng)的軟件需求規(guī)格說明;⑤評審直到確認(rèn)完全符合用戶對軟件的需求。2/6/20238結(jié)構(gòu)化分析的常用工具1.數(shù)據(jù)流圖數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的有力工具,是從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。2.數(shù)據(jù)字典數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴(yán)格的定義。2/6/202393.判定表判定表是一種文本化的加工說明的流行格式,它特別適用于帶有一組測試條件的說明。條

件分

類1234金

額〉1000〉1000≤1000≤1000動

作賬目狀況未過期已過期未過期已過期押下批準(zhǔn)單√發(fā)出批準(zhǔn)單√√√發(fā)出提貨單√√√發(fā)出通知單√2/6/2023104.判定樹

判定樹也是用來表達(dá)加工邏輯的一種工具。2/6/2023118.2.3軟件需求規(guī)格說明書是需求分析階段的最后成果。1.軟件需求規(guī)格說明書的作用便于用戶、開發(fā)人員進行理解和交流。反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)。作為確認(rèn)測試和驗收的依據(jù)。2/6/2023122.軟件需求規(guī)格說明書的內(nèi)容概述;數(shù)據(jù)描述;功能描述;性能描述;參考文獻(xiàn);附錄。2/6/2023133.軟件需求規(guī)格說明書的特征正確性;無歧義性;完整性;可驗證性;一致性;可理解性;可修改性;可追蹤性。2/6/2023148.3軟件設(shè)計8.3.1軟件設(shè)計的基本概念1.軟件設(shè)計的基礎(chǔ)2.軟件設(shè)計的基本原理(1)

模塊化模塊化就是把程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集成起來組成一個整體,可以完成指定的功能。2/6/202315(2)

抽象用自頂向下由抽象到具體的方式進行分配控制,簡化了軟件的設(shè)計和實現(xiàn),提高了軟件的可理解性和可測試性,并且使軟件更容易維護。(3)

信息隱蔽信息隱蔽使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。2/6/202316(4)模塊獨立性每個模塊完成一個相對獨立的特定子功能,并且和其他模塊之間的接口很簡單。模塊的獨立程度可以由兩個定性標(biāo)準(zhǔn)來衡量,這兩個標(biāo)準(zhǔn)分別稱為耦合性和內(nèi)聚性。藕合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此間結(jié)合的緊密程度。一般較較優(yōu)秀的軟件設(shè)計應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。2/6/2023178.3.2概要設(shè)計1.概要設(shè)計的任務(wù)1)設(shè)計軟件系統(tǒng)結(jié)構(gòu)2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計3)編寫概要設(shè)計文檔4)概要設(shè)計文檔評審2.面向數(shù)據(jù)流的設(shè)計方法2/6/2023183.設(shè)計的準(zhǔn)則①提高模塊獨立性。②模塊規(guī)模適中。③應(yīng)減少模塊的接口和界面的復(fù)雜性。④設(shè)計成單入口、單出口的模塊。⑤設(shè)計功能可預(yù)測的模塊。2/6/2023198.3.3詳細(xì)設(shè)計詳細(xì)設(shè)計也稱過程設(shè)計。在過程設(shè)計階段,要對每個模塊規(guī)定的功能以及算法的設(shè)計,給出適當(dāng)?shù)乃惴枋?。常見的過程設(shè)計工具有:圖形工具:程序流程圖,N-S,PAD,HIPO。表格工具:判定表。語言工具:PDL(偽碼)。2/6/2023208.4程序設(shè)計基礎(chǔ)8.4.1程序設(shè)計方法與風(fēng)格

1.源程序文檔化(1)符號名的命名:具實際含義。(2)程序注釋:

序言性注釋:整體說明;

功能性注釋:語句或程序段的作用。(3)視覺組織:使程序?qū)哟吻逦?/6/2023212.?dāng)?shù)據(jù)說明的方法數(shù)據(jù)說明的次序規(guī)范化。說明語句中變量安排有序化。使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)和作用。2/6/2023223.語句的結(jié)構(gòu)(1)在一行內(nèi)只寫一條語句。(2)程序編寫要做到清晰第一,效率第二。(3)首先要保證程序正確,然后才要求提高速度。(4)避免使用臨時變量而使程序的可讀性下降。(5)避免不必要的轉(zhuǎn)移。(6)避免使用復(fù)雜的條件語句。(7)盡可能使用庫函數(shù)。(8)數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡化。(9)要模塊化,并且模塊功能盡可能單一。(10)利用信息隱蔽,確保各模塊的獨立性。(11)從數(shù)據(jù)出發(fā)去構(gòu)造程序。(12)確保每一個模塊的獨立性。(13)不好的程序不去修補,要重新編寫。2/6/202323輸入格式要簡單;輸入數(shù)據(jù)時,應(yīng)允許使用自由格式;應(yīng)允許缺省值;輸入一批數(shù)據(jù)時,最好使用輸入結(jié)束標(biāo)志;對所有的輸入數(shù)據(jù)都要檢驗數(shù)據(jù)的合法性;在以交互式輸入/輸出方式進行輸入時,要在屏幕上使用提示符明確提示輸入的請求;當(dāng)程序設(shè)計語言對輸入格式有嚴(yán)格要求時,應(yīng)保持輸入格式與輸入語句的一致性;給所有的輸出加注釋,并設(shè)計輸出報表格式。4.輸入和輸出2/6/2023248.4.2結(jié)構(gòu)化程序設(shè)計

1結(jié)構(gòu)化程序設(shè)計的原則(1)自頂向下:先考慮總體,后考慮細(xì)節(jié)。(2)逐步求精:對復(fù)雜問題,逐步細(xì)化。(3)模塊化:把總目標(biāo)分解為小目標(biāo)(模塊)。(4)限制使用GOTO語句。2/6/2023252結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)(1)順序結(jié)構(gòu)AB2/6/202326(2)選擇結(jié)構(gòu)假條件AB真2/6/202327真假A條件真假A條件(3)重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu))2/6/202328(1)使用順序、選擇、循環(huán)控制結(jié)構(gòu)表示程序的控制邏輯;(2)選用的控制結(jié)構(gòu)只有一個入口和一個出口;(3)程序語句組成容易識別的塊,每塊只有一個入口和一個出口;(4)復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn);(5)語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬;(6)嚴(yán)格控制GOTO語句的使用。3結(jié)構(gòu)化程序設(shè)計原則和方法的應(yīng)用

2/6/2023298.4.3面向?qū)ο蟮某绦蛟O(shè)計1關(guān)于面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ǖ谋举|(zhì),就是主張從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),提倡用人類在現(xiàn)實生活中常用的思維方法來認(rèn)識、理解和描述客觀事物,強調(diào)最終建立的系統(tǒng)中的對象以及對象之間的關(guān)系能夠如實地反映問題域中固有事物及其關(guān)系。2/6/2023302面向?qū)ο蠓椒ǖ幕靖拍?/p>

(1)對象(object)具有屬性和方法的實體叫對象。它由數(shù)據(jù)和可執(zhí)行的一組操作共同組成。例如:一輛汽車是一個對象,它包含了汽車的屬性(如顏色、型號、載重量等)及其操作(如啟動、剎車等)。一個窗口是一個對象,它包含了窗口的屬性(如大小、顏色、位置等)及其操作(如打開、關(guān)閉等)。2/6/202331對象有如下一些基本特點:惟一性。指對象是可區(qū)分的。分類性。具有相同屬性和操作的對象抽象成類。多態(tài)性。指同一個操作可以是不同對象的行為。封裝性。從外面看只能看到對象的外部特性,對象的內(nèi)部,即處理能力的實行和內(nèi)部狀態(tài),對外是不可見的。模塊獨立性好。2/6/202332(2)類(Class)類是具有共同屬性、共同方法的對象的集合。例如:Integer是一個整數(shù)類,它描述了所有整數(shù)的性質(zhì)。任何整數(shù)都是整數(shù)類的對象,而一個具體的整數(shù)“123”是類Integer的一個實例。(3)消息(Message)消息是一個實例與另一個實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。2/6/202333(4)繼承(Inheritance)繼承是指使用己有的類來定義新的類。已有的類稱為基類,新類稱為派生類。繼承分為單繼承與多重繼承。(5)多態(tài)性(Polymorphism)同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動,該現(xiàn)象稱為多態(tài)性。例如,在兩個類Male(男性)和Female(女性)都有一項屬性為Friend。一個人的朋友必須屬于類Male或Female,這是一個多態(tài)性的情況2/6/2023348.5軟件測試8.5.1軟件測試的目的軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。

8.5.2軟件測試的準(zhǔn)則所有測試都應(yīng)追溯到需求;嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性;充分注意測試中的群集現(xiàn)象;程序員應(yīng)避免檢查自己的程序;窮舉測試不可能;妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。2/6/2023358.5.3軟件測試技術(shù)與方法若從是否需要執(zhí)行被測軟件的角度,可以分為靜態(tài)測試和動態(tài)測試方法。若按照功能劃分可以分為白盒測試和黑盒測試方法。2/6/2023361.靜態(tài)測試與動態(tài)測試(1)靜態(tài)測試靜態(tài)測試一般指人工評審軟件文檔或程序,以便發(fā)現(xiàn)錯誤。靜態(tài)測試包括:代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。(2)動態(tài)測試動態(tài)測試是在樣板測試數(shù)據(jù)上執(zhí)行程序并分析輸出以發(fā)現(xiàn)錯誤的過程。所以動態(tài)測試包括三部分:生成測試數(shù)據(jù)、執(zhí)行程序與驗證的輸出結(jié)果。2/6/2023372.白盒測試與黑盒測試(1)白盒測試軟件的白盒測試是對軟件的過程性細(xì)節(jié)作細(xì)致的檢查。這一方法是把測試對象看作一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。2/6/202338(2)黑盒測試就軟件測試來講,軟件的黑盒測試意味著測試要根據(jù)軟件的外部特性進行。也就是說,這種方法是把測試對象看作一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。2/6/2023398.5.4軟件測試的實施軟件測試過程分4個步驟,即單元測試、集成測試、驗收測試(確認(rèn)測試)和系統(tǒng)測試。

1.單元測試單元測試是對軟件設(shè)計的最小單位——模塊(程序單元)進行正確性檢驗的測試。單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。單元測試的依據(jù)是詳細(xì)設(shè)計說明書和源程序。

2/6/2023402集成測試集成測試是測試和組裝軟件的過程。它是把模塊在按照設(shè)計要求組裝起來的同時進行測試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤。集成測試的依據(jù)是概要設(shè)計說明書。3確認(rèn)測試確認(rèn)測試的任務(wù)是驗證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中確定的各種需求,以及軟件配置是否完全、正確。2/6/2023414系統(tǒng)測試系統(tǒng)測試是將通過測試確認(rèn)的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實際運行(使用)環(huán)境下對計算機系統(tǒng)進行一系列的集成測試和確認(rèn)測試。2/6/2023428.6程序的調(diào)試8.6.1基本概念在對程序進行了成功的測試之后將進入程序調(diào)試。程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。它與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。軟件測試貫穿整個軟件生命期,調(diào)試主要在開發(fā)階段。2/6/2023431程序調(diào)試的基本步驟(1)錯誤定位(2)修改設(shè)計和代碼,以排除錯誤(3)進行回歸測試,防止引進新的錯誤因為修改程序可能帶來新的錯誤,重復(fù)進行有關(guān)測試,以確認(rèn)該錯誤是否被排除、是否引進了新的錯誤。如果所做的修正無效,則撤銷這次改動,重復(fù)上述過程,直到找到一個有效的解決辦法為止。2/6/2023442.程序調(diào)試的原則(1)確定錯誤的性質(zhì)和位置時的注意事項:①分析思考與錯誤征兆有關(guān)的信息;②避開死胡同;③只把調(diào)試工具當(dāng)作輔助手段來使用;④避免用試探法,最多只能把它當(dāng)作最后手段。2/6/202345(2)修改錯誤的原則①在出現(xiàn)錯誤的地方,很可能還有別的錯誤;②修改錯誤的一個常見失誤是只修改了這個錯誤的征兆或這個錯誤的表現(xiàn),而沒有修改錯誤本身;③注意修正一個錯誤的同時有可能會引入新的錯誤;④修改錯誤的過程將迫使人們暫時回到程序設(shè)計階段;⑤修改源代碼程序,不要改變目標(biāo)代碼2/6/2023468.6.2軟件的調(diào)試方法1.強行排錯法作為傳統(tǒng)的調(diào)試方法,其過程可概括為,設(shè)置斷點、程序暫停、觀察程序狀態(tài)、繼續(xù)運行程序是目前使用較多、效率較低的調(diào)試方法。涉及的調(diào)試技術(shù)主要是設(shè)置斷點和監(jiān)視表達(dá)式。例如:①通過內(nèi)存全部打印來排錯;②在程序特定部位設(shè)置打印語句,即斷點法;③自動調(diào)試工具。2/6/2023472.回溯法該方法適合于小規(guī)模程序的排錯。即一旦發(fā)現(xiàn)了錯誤,先分析錯誤征兆,確定最先發(fā)現(xiàn)“癥狀”的位置。然后,從發(fā)現(xiàn)“癥狀”的地方開始,沿程序的控制流程,逆向跟蹤源程序代碼,直到找到錯誤根源或確定錯誤產(chǎn)生的范圍。2/6/2023483.原因排除法原因排除法是通過演繹和歸納,以及二分法來實現(xiàn)的。演繹法是一種從一般原理或前提出發(fā),經(jīng)過排除和精化的過程來推導(dǎo)出結(jié)論的思考方法。歸納法是一種從特殊推斷出一般的系統(tǒng)化思考方法。其基本思想是從一些線索著手,通過分析尋找到潛在的原因,從而找出錯誤。二分法實現(xiàn)的基本思想是,如果已知每個變量在程序中若干個關(guān)鍵點的正確值,則可以使用定值語句(如賦值語句、輸入語句等)在程序中的某點附近給這些變量賦正確值,然后運行程序并檢查程序的輸出。2/6/202349選擇題1、軟件工程的出現(xiàn)是由于()。A)程序設(shè)計方法學(xué)的影響B(tài))軟件產(chǎn)業(yè)化的需要C)軟件危機的出現(xiàn)D)計算機的發(fā)展答案:C2/6/202350選擇題2、軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括軟件開發(fā)技術(shù)和()。A)消除軟件危機B)軟件工程管理C)程序設(shè)計自動化D)實現(xiàn)軟件可重用答案:B2/6/202351選擇題3、開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱為()。A)軟件危機B)軟件投機C)軟件工程D)軟件產(chǎn)生答案:A2/6/202352選擇題4、下面不屬于軟件工程的3個要素的是()。A)工具B)過程C)方法D)環(huán)境答案:D2/6/202353選擇題5、開發(fā)大型軟件時,產(chǎn)生困難的根本原因是()。A)大型系統(tǒng)的復(fù)雜性B)人員知識不足C)客觀世界千變?nèi)f化D)時間緊、任務(wù)重答案:A2/6/202354選擇題6、軟件生命周期中所花費最多的階段是()。A)詳細(xì)設(shè)計B)軟件編碼C)軟件測試D)軟件維護答案:D2/6/202355選擇題7、在軟件生產(chǎn)過程中,需求信息的給出是()。A)程序員B)項目管理者C)軟件分析設(shè)計人員D)軟件用戶答案:D2/6/202356選擇題8、需求分析階段的任務(wù)是()。A)軟件開發(fā)方法B)軟件開發(fā)工具C)軟件開發(fā)費用D)軟件系統(tǒng)功能答案:D2/6/202357選擇題

9、下列工具中為需求分析常用工具的是()。A)PADB)PFDC)N-SD)DFD答案:D2/6/202358選擇題

10、下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()。A) 便于用戶、開發(fā)人員進行理解和交流B) 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)C) 作為確認(rèn)測試和驗收的依據(jù)D) 便于開發(fā)人員進行需求分析答案:D2/6/202359選擇題11、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()。A)控制流B)加工C)數(shù)據(jù)存儲D)源和潭答案:A2/6/202360選擇題12、下列不屬于結(jié)構(gòu)化分析的常用工具的是()。A)數(shù)據(jù)流圖B)數(shù)據(jù)字典C)判定樹D)PAD圖答案:D2/6/202361選擇題13、在數(shù)據(jù)流圖中,帶有名字的箭頭表示()。A)模塊之間的調(diào)用關(guān)系B)程序的組成部分C)控制程序的執(zhí)行順序D)數(shù)據(jù)的流向答案:D2/6/202362選擇題14、軟件設(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ā)過程答案:B2/6/202363選擇題15、下面不屬于軟件設(shè)計原則的是()。A)抽象B)模塊化C)自底向上D)信息屏蔽答案:C2/6/202364選擇題16、模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的度量標(biāo)準(zhǔn)是模塊的()。A)抽象和信息屏蔽B)局部化和封裝華C)內(nèi)聚性和耦合性D)激活機制和控制方法答案:C2/6/202365選擇題17.對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是()。A)程序應(yīng)簡單、清晰、可讀性好B)符號名的命名只要符合語法C)充分考慮程序的執(zhí)行效率 D)程序的注釋可有可無答案:A2/6/202366選擇題18.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是()。A)程序的規(guī)模B)程序的易讀性C)程序的執(zhí)行效率D)程序的可移植性答案:B2/6/202367選擇題19.結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu)是()。A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)B)分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu)D)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)答案:D2/6/202368選擇題

20.下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計方法的主要原則的是()。A)自頂向下B)由底向上C)模塊化 D)限制使用goto語句答案:B2/6/202369選擇題21.對象是現(xiàn)實世界中一個實際存在的事物,它可以是有形的也可以是無形的,下面所列舉的不是對象的是()。A)桌子C)狗B)飛機D)蘋果的顏色答案:D2/6/202370選擇題22.信息隱蔽是通過()實現(xiàn)的。A)抽象性B)封裝性C)繼承性D)傳遞性答案:B2/6/202371選擇題

23.面向?qū)ο蟮拈_發(fā)方法中,類與對象的關(guān)系是()。A)具體與抽象B)抽象與具體C)整體與部分D)部分與整體答案:B2/6/202372選擇題

24.以下不屬于對象的基本特點的是()。A)分類性

B)多態(tài)性

C)繼承性

D)封裝性答案:C2/6/202373選擇題25.在對象之間傳遞信息的是()。A)方法 B)屬性C)事件 D)消息答案:D2/6/202374選擇題

26、在軟件測試設(shè)計中,軟件測試的主要目的是()。A)實驗性運行軟件

B)證明軟件正確C)找出軟件中全部的錯誤D)發(fā)現(xiàn)軟件錯誤而執(zhí)行程序答案:D2/6/202375選擇題27、為了提高測試效率,應(yīng)該()。A)隨機選取測試數(shù)據(jù)B)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)C)在完成編碼后制定軟件測試的測試計劃D)集中對付那些錯誤集群的程序答案:C2/6/202376選擇題28、下列不屬于靜態(tài)測試方法的是()。A)代碼檢查B)白盒法C)靜態(tài)結(jié)構(gòu)分析D)代碼質(zhì)量度量答案:B2/6/202377選擇題29、在軟件工程中,白盒測試法可以用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將系統(tǒng)看作是()。A)路徑的集合B)循環(huán)的集合C)目標(biāo)的集合D)地址的集合答案:A2/6/202378選擇題

30、完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例的測試方法是()。A)黑盒測試法B)白盒測試法C)錯誤推測法D)安裝測試法答案:A2/6/202379選擇題31、檢查軟件產(chǎn)品是否符合定義的過程稱為()。A)確認(rèn)測試B)集成測試C)驗證測試D)驗收測試答案:A2/6/202380填空題

1、軟件危機出現(xiàn)于60年代末,為了解決軟件危機,人們提

溫馨提示

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

最新文檔

評論

0/150

提交評論