




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第二章
程序設計及軟件工程基礎本章主要內(nèi)容程序設計方法和風格結構化程序設計面向?qū)ο蟪绦蛟O計軟件工程基本概念結構化分析方法軟件測試程序的調(diào)試過關練習什么是程序指令的集合。(解釋指令)通過硬件控制系統(tǒng)自動完成某一功能。通過一系列代碼實現(xiàn)。程序設計語言計算機本身僅能識別二進制代碼“0”、“1”。編譯程序和解釋程序編程最直接、最低級的就是機器語言。匯編語言。高級語言。如C、PASCAL、FORTRAN、BASIC、JAVA等2.1程序設計方法和風格程序設計風格基本概念:編寫程序時所表現(xiàn)出來的特點、習慣和邏輯思路。一般從以下四部分加以規(guī)范:源程序中的內(nèi)部文檔:選擇標示符的名字、注釋(序言性和功能性注釋)、程序的視覺組織。數(shù)據(jù)說明:顯式地說明一切變量、數(shù)據(jù)說明的次序應該規(guī)范化、便于查找變量(按順序排列)、對復雜數(shù)據(jù)結構應注釋說明語句的結構:每條語句簡單明了、盡量不用或少用GOTO語句、盡量只采用3種基本控制結構編程輸入和輸出:對所有輸入數(shù)據(jù)進行校驗和合理性檢查、輸入輸出格式保持一致、設計良好的輸出報表2.1程序設計方法和風格程序設計三種方法結構化設計法模塊內(nèi)部程序各部分要按照自頂向下的結構劃分各程序部分應按功能組合快速原型法(軟件工程法)利用現(xiàn)有的工具和原型方法快速地開發(fā)所要的程序面向?qū)ο蟪绦蛟O計法以對象為核心,與人類習慣的思維方法一致2.1程序設計方法和風格基本思想對大型的程序設計,使用一些基本的結構來設計程序,無論多復雜的程序,都可以使用這些基本結構按一定的順序組合起來。這些基本結構的特點都是只有一個入口、一個出口。由這些基本結構組成的程序就避免了任意轉(zhuǎn)移、閱讀起來需要來回尋找的問題。設計原則自頂向下逐步求精模塊化限制使用goto語句2.2結構化程序設計基本結構:順序、選擇、循環(huán)2.2結構化程序設計2.3面向?qū)ο蟪绦蛟O計基本思想
客觀世界中任何一個事物都可以被看成是一個對象,面向?qū)ο蠓椒ǖ谋举|(zhì)就是主張從客觀世界固有的事物出發(fā)來構造系統(tǒng),系統(tǒng)中的對象及對象之間的關系能夠如實地反映問題域中固有的事物及其關系。結構化與面向?qū)ο蠓椒ū容^結構化的分解突出過程,即如何做(Howtodo)?它強調(diào)代碼的功能是如何實現(xiàn)的;面向?qū)ο蟮姆纸馔怀霈F(xiàn)實世界和抽象的對象,即做什么(Whattodo)?主要優(yōu)點與人類習慣的思維方法一致穩(wěn)定性好可重用性好易于開發(fā)大型軟件產(chǎn)品可維護性好2.3面向?qū)ο蟪绦蛟O計面向?qū)ο蟪绦蛟O計主要考慮的是提高軟件的可重用性!面向?qū)ο蟮幕靖拍顚ο?Object)對象是基本的運行時認得實體,它既包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。一個對象把屬性和行為封裝為一個整體一個對象通??捎蓪ο竺?、屬性和操作3部分組成面向?qū)ο?ObjectOriented,OO)從該問題所涉及的對象入手來研究問題。消息(Message)對象之間進行通信的一種數(shù)據(jù)構造,消息包括:接受消息對象名、消息標識符、零個或多個參數(shù)。2.3面向?qū)ο蟪绦蛟O計面向?qū)ο蟮幕靖拍铑?Class)一個類定義了一組大體上相似的對象。一個類所包含的方法和數(shù)據(jù)描述一組對象的共同行為和屬性。類是在對象之上的抽象,對象是類的具體化,是類的實例封裝(Encapsulation)將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構成一個具有類類型的對象的描述。對象的內(nèi)部實現(xiàn)受保護,外界不能訪問封裝簡化了程序員對對象的使用2.3面向?qū)ο蟪绦蛟O計面向?qū)ο蟮幕靖拍罾^承(Inheritance)繼承是父類和子類之間共享數(shù)據(jù)的方法的機制一個子類可以繼承它的父類(或祖先類)中的屬性和操作子類中可以定義自己的屬性和操作單重繼承、多重繼承多態(tài)性(Polymorphism)不同的對象收到同一消息可以產(chǎn)生完全不同的結構,這一現(xiàn)象叫做多態(tài)性多態(tài)的實現(xiàn)受到繼承的支持2.3面向?qū)ο蟪绦蛟O計軟件的定義軟件(software)是計算機系統(tǒng)中與硬件(hardware)相互依存的另一部分。軟件包括三個部分:程序(program)、相關數(shù)據(jù)(data)、說明文檔(document)。軟件的特點軟件是一種邏輯實體,不是物理實體,具有抽象性。軟件沒有明顯的制造過程。軟件在使用過程中,沒有磨損、老化問題軟件依賴與硬件和環(huán)境,導致了移植問題軟件是復雜的,而且以后會更復雜軟件的成本相當昂貴軟件工作牽涉到很多社會因素2.4軟件工程基本概念軟件危機早期的軟件主要指程序,采用個體工作方式,缺少相關文檔,質(zhì)量低,維護困難,這些問題稱為“軟件危機”,軟件工程概念的出現(xiàn)源自于軟件危機。軟件工程軟件工程是指應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。軟件工程基本目標在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。2.4軟件工程基本概念軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細節(jié),采用分層次抽象,自頂向下,逐層細化來控制軟件開發(fā)過程的復雜性。2)信息隱蔽:采用封裝技術,將程序模塊的實現(xiàn)細節(jié)隱蔽起來,使模塊接口盡量簡單。3)模塊化:模塊是程序中相對獨立的成分,一個獨立的編程單位。模塊的大小要適中,過大模塊內(nèi)部復雜性增加,太小整個系統(tǒng)過于復雜。4)局部化:保證模塊間具有松耦合性,模塊內(nèi)部有高內(nèi)聚性。5)確定性:軟件中所有概念的表達應是確定、無歧義且規(guī)范的。6)一致性:內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說明與行為保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實現(xiàn)系統(tǒng)所需功能。8)可驗證性:遵循容易檢查、測評、評審原則,確保系統(tǒng)正確性2.4軟件工程基本概念軟件工程三要素方法:完成軟件工程項目的技術手段工具:支持軟件的開發(fā)、管理、文檔生成過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理軟件工具和軟件開發(fā)環(huán)境軟件工具(CASE):用來輔助軟件開、運行、維護、管理、支持等過程中的活動的軟件軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構成2.4軟件工程基本概念軟件生命周期軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。1)軟件定義階段:包括制定計劃和需求分析。制定計劃:確定總目標;可行性研究;探討解決方案;制定開發(fā)計劃。需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。2)軟件開發(fā)階段:軟件設計:分為概要設計和詳細設計兩個部分。軟件實現(xiàn):把軟件設計轉(zhuǎn)換成計算機可以接受的程序代碼。軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。3)軟件運行維護階段(生命周期中花費最多的階段):軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。2.4軟件工程基本概念需求分析用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求的過程。需求分析將創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制模型。需求分析的四步驟需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審需求分析的方法結構化分析方法、面向?qū)ο蠓治龇椒?.5結構化分析方法結構化分析方法結構化程序設計理論在軟件需求分析階段的運用,其目的是幫助弄清用戶對軟件的需求。常用工具數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹、判定表開發(fā)策略自頂向下,逐層分解2.5結構化分析方法數(shù)據(jù)流圖(DFD):以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,它反映了系統(tǒng)必須完成的邏輯功能,是結構化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。
2.5結構化分析方法加工存儲文件源、潭數(shù)據(jù)流加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,旁邊標注數(shù)據(jù)流名。存儲文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的文件。源、潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。畫數(shù)據(jù)流圖的基本步驟
自外向內(nèi),自頂向下,逐層細化,完善求精2.5結構化分析方法數(shù)據(jù)流圖的示例
數(shù)據(jù)字典(DD):對所有與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表,其作用是對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。數(shù)據(jù)字典常包括5個部分:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)處理。數(shù)據(jù)字典是結構化分析方法的核心
2.5結構化分析方法軟件需求規(guī)格說明書(SRS)
:需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。需求分析主要解決“做什么”的問題,而軟件設計主要解決“怎么做”的問題。
從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計、過程設計。結構設計:定義軟件系統(tǒng)各主要部件之間的關系。數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結構的定義。接口設計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設計:把系統(tǒng)結構部件轉(zhuǎn)換成軟件的過程性描述
2.6結構化設計方法—軟件設計的基礎從工程角度來看,軟件設計分兩步完成,即概要設計和詳細設計。概要設計:又稱結構設計,將軟件需求轉(zhuǎn)化為軟件體系結構;確定系統(tǒng)級接口、全局數(shù)據(jù)結構或數(shù)據(jù)庫模式;編寫概要設計文檔、概要設計文檔評審。詳細設計:確定每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結構,用適當方法表示算法和數(shù)據(jù)結構的細節(jié)。2.6結構化設計方法—軟件設計的基礎軟件設計基本原理:抽象、模塊化、信息隱蔽和模塊獨立性。抽象:抽象是一種思維工具,就是把事物本質(zhì)的共同特性提取出來而不考慮其他細節(jié)。模塊化:解決一個復雜問題時自頂向下逐步把軟件系統(tǒng)劃分成較小的、相對獨立但又不相互關聯(lián)的模塊的過程。信息隱蔽:模塊的實施細節(jié)對于其他模塊來說是隱蔽的。模塊獨立性:軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,和軟件系統(tǒng)中其他模塊的接口是簡單的。模塊獨立性指標:耦合性和內(nèi)聚性模塊劃分原則是:高內(nèi)聚度,低耦合度2.6結構化設計方法—軟件設計的基礎2.6結構化設計方法—總體設計一般模塊控制信息數(shù)據(jù)信息總體設計(概要設計)基本任務1)設計軟件系統(tǒng)結構2)數(shù)據(jù)結構及數(shù)據(jù)庫設計3)編寫概要設計文檔4)概要設計文檔評審軟件結構設計工具—結構圖(程序結構圖)程序結構圖的基本圖符矩形表示模塊,箭頭表示模塊間的調(diào)用關系用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息
實心圓箭頭表示控制信息,空心圓箭頭表示數(shù)據(jù)信息2.6結構化設計方法—總體設計軟件結構設計工具—結構圖(程序結構圖)常用結構圖的四種模塊類型傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級模塊。傳出模塊:從上級模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。變換模塊:從上級模塊取得數(shù)據(jù),進行特定的處理,轉(zhuǎn)換成其他形式,再傳送給上級模塊。協(xié)調(diào)模塊:對所有下屬模塊進行協(xié)調(diào)和管理的模塊。2.6結構化設計方法—總體設計軟件結構設計工具—結構圖(程序結構圖)結構圖例及術語深度:表示控制的層數(shù)。寬度:整體控制跨度扇入:調(diào)用一個給定模塊的模塊個數(shù)。扇出:一個模塊直接調(diào)用的其他模塊數(shù)。上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級模塊,b是從屬模塊。原子模塊:樹中位于葉子結點的模塊。
2.6結構化設計方法—總體設計軟件結構設計工具—結構圖(程序結構圖)
面向數(shù)據(jù)流的設計方法定義了一些不同的映射方法,利用這些方法可以把數(shù)據(jù)流圖變換成結構圖表示軟件的結構。
數(shù)據(jù)流類型:變換型和事務型
變換型:變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。變換型系統(tǒng)結構圖由輸入、中心變換、輸出三部分組成。事務型:事務型數(shù)據(jù)處理問題的工作機理是接受一項事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧?,然后給出結果。2.6結構化設計方法—詳細設計詳細設計基本任務為軟件結構圖中的每個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構,用某種選定的表達工具表示算法和數(shù)據(jù)結構的細節(jié)常用設計工具圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語言工具:PDL(偽碼)2.7軟件測試目的、意義、人員通過合理的設計測試用例以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷保證系統(tǒng)質(zhì)量(滿足需求規(guī)格)和可靠性由開發(fā)人員、用戶一起完成測試基本方法人工測試(靜態(tài)測試):評審軟件文檔或程序,包括代碼檢查、靜態(tài)結構分析、代碼質(zhì)量度量。不實際運行軟件,主要通過人工進行。機器測試(動態(tài)測試):通過運行軟件,來檢驗結果的正確性。主要包括白盒測試方法和黑盒測試方法。
2.7軟件測試—白盒測試白盒測試(結構測試、邏輯驅(qū)動測試)將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結構和邏輯結構來設計測試例子,對程序的路徑和過程進行測試,檢查是否滿足設計的要求白盒測試基本原則保證所測模塊中每一獨立路徑至少執(zhí)行一次;保證所測模塊所有判斷的每一分支至少執(zhí)行一次;保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗證所有內(nèi)部數(shù)據(jù)結構的有效性。
2.7軟件測試—白盒測試測試用例根據(jù)程序內(nèi)部邏輯設計,主要用于軟件的單元測試。用例主要設計方法有邏輯覆蓋:指一系列以程序內(nèi)部的邏輯結構為基礎的測試用例設計技術?;韭窂綔y試:根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)路復雜性度量,用此度量定義基本路徑集合,并由此導出一組測試用例,對每一條獨立執(zhí)行路徑進行測試。2.7軟件測試—白盒測試邏輯覆蓋設計的基本內(nèi)容(利用測試用例)語句覆蓋:使得程序每一個語句至少都能被執(zhí)行一次。路徑覆蓋:使程序中所有的可能的路徑都至少經(jīng)歷一次。判定覆蓋:保證程序中每個判斷的每個取值分支(T或F)至少經(jīng)歷一次。條件覆蓋:保證程序中每個判斷的每個條件的可能取值至少執(zhí)行一次。判斷-條件覆蓋:使判斷中每個條件的所有可能取值至少執(zhí)行一次,同時每個判斷的所有可能取值分支至少執(zhí)行一次。邏輯覆蓋強度依次是:語句覆蓋<路徑覆蓋<判定覆蓋<條件覆蓋<判斷-條件覆蓋黑盒測試(功能測試)將軟件看成黑盒子,不考慮程序內(nèi)部細節(jié)、結構和實現(xiàn)方式,僅僅測試軟件的基本功能是否滿足需要。黑盒測試主要用于軟件的確認測試。根據(jù)程序的功能說明來設計測試用例,基本設計方法有等價類劃分法:典型黑盒測試方法,將程序的所有可能的輸入數(shù)據(jù)劃分成若干部分(及若干等價類),然后從每個等價類中選取數(shù)據(jù)作為測試用例。邊界值分析法:它是對各種輸入、輸出范圍的邊界情況設計測試用例的方法。錯誤推測法:人們可以靠經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的用例。
2.7軟件測試—黑盒測試
軟件測試分四個步驟:單元測試、集成測試、確認測試(驗收測試)、系統(tǒng)測試。單元測試:對軟件的最小單位—模塊進行測試,目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。
集成測試:將模塊組裝起來后進行測試,主要目的是發(fā)現(xiàn)與接口有關的錯誤。
確認測試:用戶根據(jù)合同進行,確認系統(tǒng)功能和性能的可接受性。系統(tǒng)測試:將軟件系統(tǒng)與硬件、外設及其他元素結合在一起,對整個軟件系統(tǒng)進行測試,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。
2.7軟件測試—基本步驟2.7軟件測試—基本步驟單元測試測試對象:對軟件的最小單位—模塊進行測試。目的:發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。
測試用例設計:根據(jù)程序的內(nèi)部結構,其依據(jù)是詳細設計說明書和源程序。
測試技術:通常以白盒測試為主,輔之以黑盒測試
單元測試內(nèi)容:模塊接口測試、局部數(shù)據(jù)結構測試、錯誤處理測試和邊界測試。2.7軟件測試—基本步驟集成測試測試對象:將模塊組裝起來后進行測試。目的:發(fā)現(xiàn)與接口有關的錯誤
測試用例設計:依據(jù)概要設計說明書
單元測試內(nèi)容:軟件單元的接口測試、全局數(shù)據(jù)結構測試、邊界條件和非法輸入的測試等集成測試通常采用兩種方式:非增量方式組裝與增量方式組裝。2.7軟件測試—基本步驟確認測試任務:驗證軟件的有效性,即驗證軟件的功能和性能及其他特性是否與用戶的要求一致。
測試用例設計:軟件需求規(guī)格說明書
測試方法:主要運用黑盒測試法系統(tǒng)測試任務:通過與系統(tǒng)的需求定義進行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。
測試用例設計:需求分析規(guī)格說明書
基本內(nèi)容:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等
基本任務根據(jù)測試時發(fā)現(xiàn)的錯誤,找出其原因和具體的位置,進行相應地更改。在開放階段,由開發(fā)人員來進行,誰開發(fā)的程序就由誰來進行調(diào)試?;静襟E①錯誤定位、②錯誤糾正、③回歸測試,防止引入新的錯誤軟件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的調(diào)試手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。
2.8軟件的調(diào)試調(diào)試的主要方法強行排錯:通過內(nèi)存全部打印來排錯;在程序特定部位設置打印語句;自動調(diào)試工具。
回溯法排錯:發(fā)現(xiàn)了錯誤,分析錯誤征兆,確定發(fā)現(xiàn)“癥狀”的位置。一般用于小程序。
原因排除法(演繹、歸納、二分法)演繹法:根據(jù)已有的測試用例,設想及枚舉出所有可能出錯的原因作為假設;然后再用原始測試數(shù)據(jù)或新的測試,從中逐個排除不可能正確的假設;最后,再用測試數(shù)據(jù)驗證余下的假設確定出錯的原因。歸納法:從錯誤征兆著手,通過分析它們之間的關系來找出錯誤。大致分四步:收集有關的數(shù)據(jù);組織數(shù)據(jù);提出假設;證明假設。二分法:在程序的關鍵點給變量賦正確值,然后運行程序并檢查程序的輸出。如果輸出結果正確,則錯誤原因在程序的前半部分;反之,錯誤原因在程序的后半部分。2.8軟件的調(diào)試什么是程序、程序設計的三種基本方法(結構化方法、原型法、面向?qū)ο螅┙Y構化程序設計方法的四個主要原則(自頂向下、逐步求精、模塊化、限制使用GOTO語句)結構化程序設計的三種基本結構(順序、選擇、循環(huán))什么是對象、類對象的三個基本組成(對象標識、屬性、操作)、及五個基本特點(標識唯一性、分類性、多態(tài)性、封裝性、模塊獨立性)計算機軟件的三部分組成(程序、數(shù)據(jù)、文檔),與程序的區(qū)別是什么?軟件的生命周期定義(從軟件提出、實現(xiàn)、運行到停止使用),三個階段()軟件定義、軟件開發(fā)、運行維護)各自設計的主要內(nèi)容軟件結構化分析方法的基本策略:自頂向下、逐步求精結構化分析常用工具:數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹、判定表本章重難點分析軟件設計的基本原理:抽象、信息隱藏、模塊化、模塊獨立性模塊劃分的基本原則:高內(nèi)聚性、低耦合性軟件測試目的(發(fā)現(xiàn)錯誤,看是否滿足設計要求)、參與人員(開發(fā)人員、用戶)、兩種基本測試方法(靜態(tài)、動態(tài)—黑、白盒)白盒測試用例的選擇依據(jù)(程序的內(nèi)部邏輯)、基本方法(邏輯覆蓋、路徑覆蓋)黑盒測試用例的選擇依據(jù)(模塊的基本功能)、基本方法(等價類劃分、邊界值分析、錯誤推測)軟件測試過程中的四個步驟:單元(內(nèi)部結構,白盒)、集成(模塊功能,黑盒)、確認(需求規(guī)格說明書)、系統(tǒng)測試(需求分析規(guī)格說明書)程序調(diào)試目的(診斷,改正程序中的錯誤),參與人員(程序員),基本步驟(錯誤定位、錯誤糾正、回歸測試)軟件調(diào)試基本方法:強行排錯、回溯法、原因排除法(演繹、歸納、二分)本章重難點分析過關練習—選擇題1.軟件是指()。
A.程序B.程序和文檔
C.算法加數(shù)據(jù)結構D.程序、數(shù)據(jù)與相關文檔2.下列描述中正確的是()。
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又說物理實體
D.程序、數(shù)據(jù)與相關文檔的集合3.造成軟件危機的主要原因是()。
A.由于用戶對軟件不了解造成使用不當
B.軟件本身的特點和缺乏好的開放方法和手段
C.對軟件認識的錯誤D.硬件不可靠過關練習—選擇題4.軟件的生命周期是指()的過程。
A.軟件系統(tǒng)開始測試到軟件系統(tǒng)被淘汰
B.軟件系統(tǒng)開始研制到軟件系統(tǒng)被淘汰
C.軟件系統(tǒng)開始研制到軟件系統(tǒng)投入試運行
D.軟件系統(tǒng)投入試運行到軟件系統(tǒng)被淘汰5.軟件工程的方法得以實施得主要保證是()。
A.軟件開發(fā)工具和環(huán)境B.軟件用戶的參與
C.開發(fā)人員的素質(zhì)D.硬件環(huán)境6.數(shù)據(jù)字典是軟件需求分析階段最重要的工具之一,其基本的功能是()。
A.數(shù)據(jù)通信B.數(shù)據(jù)庫設計C.數(shù)據(jù)維護D.數(shù)據(jù)定義過關練習—選擇題7.數(shù)據(jù)流圖是用于表示軟件模型的一種圖示方法,在下列可采用的繪制方法中,()是常采用的。
A.自頂向下B.自底向上C.分層繪制D.逐步求精8.在程序的描述和分析中,用于指明數(shù)據(jù)來源、數(shù)據(jù)流向和數(shù)據(jù)處理的輔助圖形是()。
A.瀑布模型圖B.數(shù)據(jù)流圖C.數(shù)據(jù)結構圖D.業(yè)務流9.在下列文檔中,屬于結構化分析階段的文檔是()。
A.設計說明書B.可行性分析報告C.項目計劃D.需求規(guī)格說明10.從工程管理角度,軟件設計分兩步完成,他們是()。
A.概要設計和詳細設計B.數(shù)據(jù)設計與接口設計
C.軟件結構設計與數(shù)據(jù)設計D.過程設計與數(shù)據(jù)設計過關練習—選擇題11.在機構化程序設計中,模塊劃分的原則是()。
A.各模塊應包括盡量多的功能
B.各模塊的規(guī)模應盡量大
C.各模塊之間的聯(lián)系應盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度12.兩個或兩個以上模塊之間關聯(lián)的緊密度稱為()。
A.耦合度B.內(nèi)聚度C.復雜度D.數(shù)據(jù)傳輸特性13.模塊獨立性是軟件模塊所提出的,衡量標準是()。
A.抽象和信息隱蔽B.局部化和封裝化
C.內(nèi)聚性和耦合性D.激活機制和控制方法14.軟件結構是模塊之間關系的表示,不屬于軟件結構的是()。
A.調(diào)用關系B.從屬關系C.嵌套關系D.主次關系過關練習—選擇題15.下列敘述中正確的是()。
A.軟件測試的主要目標是發(fā)現(xiàn)程序中的錯誤
B.軟件測試的主
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《對不良誘惑說不》學會拒絕課件-3
- 2025教師資格考試初中英語標準預測試卷答案及解析1-5
- 環(huán)境設計專業(yè)職業(yè)生涯規(guī)劃書
- 2025旗艦店裝修合同范本匯編
- 2025家庭裝飾企業(yè)家裝門窗銷售合同范本
- 置業(yè)顧問模擬培訓課件
- 2025物業(yè)服務合同租賃協(xié)議
- 視網(wǎng)膜病變病人的護理
- 鋁加工廠安全培訓
- 2025環(huán)保公司服務合同
- 2022-2023學年上海市徐匯區(qū)世界外國語中學八年級(下)期中物理試卷
- 控制器參數(shù)確定方法
- 2023年陜西西安經(jīng)開區(qū)管委會招聘160人(共500題含答案解析)筆試歷年難、易錯考點試題含答案附詳解
- 2023屆廣東省普通高中數(shù)學學業(yè)水平考試試卷及答案
- 釣魚中各種氨基酸誘食劑說明書及使用方法
- 幼升小上實機考題匯總
- 化工原理課程設計水吸收氨氣填料塔設計
- Excel水力計算展示-棱柱體渠道水面線計算演示
- 2013年廣東省中考語文試題及答案
- UPS蓄電池安裝施工方案(完整版無需過多修改)
- 數(shù)學建模案例分析-線性代數(shù)建模案例(20例)65959
評論
0/150
提交評論