版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程緒論什么是軟件危機?為何會產(chǎn)生軟件危機?答:軟件危機是指在計算機軟件的開發(fā)和維護過程中碰到的一系列嚴重問題。(1).軟件維護費用急劇上升,直接威脅計算機應用的夸張。(2).軟件生產(chǎn)技術進步緩慢什么是軟件生產(chǎn)工程化?工程化生產(chǎn)措施與初期的程序設計措施重要差異在哪里?答:構造化程序設計地出現(xiàn),使許多產(chǎn)業(yè)界認識認識到必須把軟件生產(chǎn)從個人化方式變化為工程化。采用工程的概念、原理、技術和措施開發(fā)與維護軟件,把通過時間考驗而證明對的的管理技術和目前可以得到的最佳的技術措施結合起來,以經(jīng)濟地開發(fā)出高質量的軟件并有效地維護它,這就是軟件工程,同步這也是工程化生產(chǎn)措施。分別闡明(1)軟件開發(fā)措施與開發(fā)工具;(2)軟件技術與軟件管理的互相關系。答:(1)工具和措施,是軟件開發(fā)技術的兩大支柱,它們親密有關。當一種措施提出來并證明有效后,往往隨之研制出對應的工具,來協(xié)助實現(xiàn)和推行這種措施。新措施在推行初期,總有人不愿接受和采用。若將新措施融合于工具之中,使人們通過使用工具來理解新措施,就能更快增進新措施的推廣。
(2)在工業(yè)生產(chǎn)中,雖然有先進的技術和設備,管理不善的企業(yè)也不能獲得良好的效益。軟件在生產(chǎn)中不能按質準時完畢計劃,管理混亂往往是其中的重要原因。因此對于一種理想的軟件工程環(huán)境,應當同步具有技術和管理兩個方面。試從你的親身實踐,談談軟件工具在軟件開發(fā)中的作用。答:用C++開發(fā)一種軟件,是校園一卡通的模塊。首先,要在編輯程序支持下在計算機中輸入源程序。然后編譯程序,把源程序翻譯成目的程序。假如發(fā)現(xiàn)錯誤,就重新調入編輯程序對源程序進行修改。編譯通過后,再調用連接程序吧所有通過了編譯目的程序連同與之有關的程序連接起來,構成一種能在計算機上運行的可執(zhí)行軟件。編譯程序,編輯程序,連接程序以及支持他們的計算機操作系統(tǒng),都屬于軟件工具。離開這些工具,軟件開發(fā)就是去了支持,變得十分困難和低效,甚至不能運行。5.什么是軟件工程環(huán)境?談談你對環(huán)境重要性的認識。答:措施與工具相結合,再加上配套的軟、硬件支持就形成環(huán)境。例如在批處理時代,顧客開發(fā)的程序是分批送入計算機中心的計算機的,有了錯誤,就得下機修改。程序員對自己寫的程序只能繼續(xù)地跟蹤,思緒常常被迫中斷,效率難于提高。分時系統(tǒng)的使用,使開發(fā)人員從此能在自己的終端上跟蹤程序的開發(fā),僅此一點,就明顯提高了開發(fā)的效率。6.何謂面向對象軟件工程?簡述它與老式軟件工程在各型軟件開發(fā)中的作用。答:以面向對象程序設計為基礎。7.軟件按規(guī)模大小可提成哪幾類?簡述軟件工程中各型軟件開發(fā)中的作用。答:按規(guī)模分為極小、小、中、大、甚大、極大。(1)中小型軟件:軟件工程對改善軟件質量,提高程序員生產(chǎn)率和滿足顧客的需求,有很大的作用。(2)大型軟件:此類軟件必須從頭至尾堅持軟件工程的措施,嚴格遵守原則文檔格式和正規(guī)的復審制度,才能防止或減少混亂,真正開發(fā)出大型的軟件。8.什么是形式化軟件開發(fā)措施?實現(xiàn)此類開發(fā)的困難和出路在哪里?答:它是一種基于數(shù)學的開發(fā)技術,重要采用數(shù)學的措施來描述系統(tǒng)的性質(例如程序變換和程序驗證等)。形式化的措施加上自動化的開發(fā)環(huán)境,也許是處理這一難題的出路。軟件開發(fā)模型什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:軟件生存周期劃分為計劃、開發(fā)和運行3個時期;把整個生存周期劃分為較小的階段,給每個階段賦予確定而有限的任務,就可以化簡每一步的工作內容,使由于軟件規(guī)模而增長而大大增長了軟件復雜性變得交易控制和管理。老式的瀑布模型把生存周期分為哪些階段?瀑布模型軟件開發(fā)有哪些特點?答:瀑布模型在編碼此前安排了分析階段和設計階段;階段間具有次序性和依賴性。闡明文檔和復審對于軟件質量的控制的作用。答:每一階段都要完畢規(guī)定的文檔,沒有完畢文檔,就認為沒有完畢該階段的任務。軟件開發(fā)是許多人共同參與的計劃,完整與合格的文檔,不僅是開發(fā)時期軟件人員之間互相通信的媒介,也是運行時期對軟件進行維護的中要根據(jù)。每一階段都要對已完畢的文檔進行復審,以便盡早發(fā)現(xiàn)問題,消除隱患。愈是初期潛伏下來的故障,暴露出來的時間愈晚,排除故障需付出的代價也就愈高。及時復審是保證軟件質量,減少開發(fā)成本的重要措施。什么是迅速原型法?其迅速表目前哪里?答:首先建立一種可以反應顧客重要需求的原型,讓顧客實際看一看未來系統(tǒng)的概貌,以便判斷哪些功能是符合需要的,哪些方面還需要改善。然后將原型改善,最終建立完全符合顧客規(guī)定的新系統(tǒng)。它的迅速表目前可以縮短開發(fā)周期的語言和工具,能在短時間內提供出成品,但不包括成品中的細節(jié),然后讓客戶進行對比。5.實現(xiàn)迅速原型法的最終系統(tǒng)可以有幾種措施?請闡明并加以比較。答:原型系統(tǒng)僅包括未來系統(tǒng)的重要功能,以及系統(tǒng)的重要接口。為了盡快向顧客提供原型,開發(fā)原型系統(tǒng)時應盡量使用能縮短開發(fā)周期的語言和工具。最終系統(tǒng)的形成可以采用原型廢棄不用,另一措施是補充修改模型獲得最終系統(tǒng)。措施一不包括系統(tǒng)的細節(jié)。后一種措施在實際工作中,由于原型系統(tǒng)使用的語言往往存在效率不高等原因,除了少數(shù)簡樸的事務系統(tǒng)外,大多數(shù)原型都廢棄不用,僅把建立原型的過程當作協(xié)助定義軟件需求的一種手段。6.比較增量模型和螺旋模型的特點,有什么不一樣和相似的地方?答:增量模型是瀑布模型的次序特性與迅速原型法的迭代特性相結合的產(chǎn)物。螺旋模型是一種迭代模型,每迭代一次,螺旋線就前進一周。增量模型每個增量具有高內聚低耦合,高度的獨立性。而螺旋模型它在結合瀑布模型與迅速原型的基礎上還增長了風險分析。7.為何運用轉換模型開發(fā)軟件有一定難度?什么是凈室軟件工程?答:從理論上說,一種對的的,滿足客戶需要的形式化規(guī)格闡明,通過一系列對的的程序變化后,可以保證得到這樣一種形式化規(guī)格闡明,目前尚有較高的難度,同步,軟件開發(fā)者很少具有實用形式化措施所需的背景知識,況且,轉換模型開發(fā)軟件目前還很費時和昂貴!凈室基本思想是力爭在分析和設計階段就消除錯誤,保證對的,然后在無缺陷或“潔凈”的狀態(tài)下實現(xiàn)軟件的制作。8.哪些開發(fā)模型合用于面向對象的軟件開發(fā)?答:構件集成模型9.比較螺旋模型和構件集成模型的異同。答:構件集成模型運用預先對封裝好的軟件構件來構造應用軟件系統(tǒng),它融合了螺旋模型的諸多特性,支持軟件開發(fā)的迭代措施。軟件需求分析需求分析的任務是什么?怎樣理解分析階段的任務是決定“做什么”,而不是“怎么做”?答:需求分析重要有兩個任務:第一是通過對問題及其環(huán)境的理解、分析和綜合建立分析模型;第二是在完全弄清顧客對軟件系統(tǒng)確實切規(guī)定的基礎上,用“軟件需求規(guī)格闡明書”把顧客的需求體現(xiàn)出來。需求分析的任務就是為了明確要開發(fā)的是一種什么樣的系統(tǒng),而不是去怎么去實現(xiàn)這個系統(tǒng)。需求分析要通過哪些環(huán)節(jié)?答:需求獲取、需求提煉、需求描述、需求驗證。有哪兩種重要的分析模型,它們有什么聯(lián)絡?答:面向對象分析模型、構造化分析模型。前者是采用面向對象的思想進行軟件需求分析的建模過程,而后者模型的關鍵是DD,它是設計多種數(shù)據(jù)對象的總和。他們的模型分別起到了描述數(shù)據(jù)模型,功能模型與行為模型的作用。什么是構造化分析?它的“構造化”體目前哪里?答:是使用DFD、DD、構造化語言、鑒定表和鑒定樹等工具,來建立一種新的、稱為構造化闡明書的目的文檔。什么是面向對象分析?其重要思想是什么?答:OOA面向對象的分析是采用面向對象的思想進行軟件需求分析建模的過程.重要思想是采用面向對象的思想。需求闡明(或需求規(guī)格闡明書)由哪些部分構成?各部分的重要內容是什么?答:引言、信息描述、功能描述、行為描述、質量描述、接口描述、其他描述。引言:重要論述在文體定義階段確定的有關軟件的目的與范圍,簡要簡介系統(tǒng)背景、蓋帽、軟件項目約束和按考資料等。信息描述:給出對軟件所含信息的詳細描述,包括信息的內容、關系、數(shù)據(jù)流向、控制流向和構造等。功能描述:對軟件功能規(guī)定的闡明,包括系統(tǒng)功能劃分、每個功能的處理闡明、限制和控制描述等。行為描述:包括對系統(tǒng)狀態(tài)變化及事件和動作的描述,據(jù)此可以檢查外部事件和軟件內部的控制特性。質量描述:闡明在軟件交付使用前需要進行的共更能測試和性能測試,并且規(guī)定源程序和文檔應當遵守的多種原則。接口描述:包括系統(tǒng)的顧客界面、硬件接口、軟件接口和通信接口等的闡明。其他描述:論述系統(tǒng)設計和實現(xiàn)上的限制,系統(tǒng)的假設和依賴等其他需要闡明的內容。為何DFD要分層?畫分層DFD要遵照哪些原則?答:大型復雜的軟件系統(tǒng),其DFD也許具有數(shù)百乃至數(shù)千個加工,不能設想一次就將它們所有畫齊。對的的做法是:從系統(tǒng)的基本模型(把整個系統(tǒng)當作一種加工)開始,逐層地對系統(tǒng)進行分解。原則:由頂向下,逐漸細化。DFD和CFD有什么區(qū)別?什么是系統(tǒng)的行為模型,怎樣建立?答:類對象模型所示的是面向對象分析模型中的靜態(tài)部分,而對象行為模型則用于描述系統(tǒng)的動態(tài)行為,即系統(tǒng)怎樣對應外部事件---系統(tǒng)的行為模型。建立一種對象行為模型一般要經(jīng)歷某些過程:評估因此的用例來理解系統(tǒng)中的交互序列;找出驅動交互序列的事件;為每個用例創(chuàng)立事件軌跡;為對象創(chuàng)立狀態(tài)轉換圖。選一種系統(tǒng)(例如工資處理系統(tǒng)、飛機訂票系統(tǒng)、圖書館管理系統(tǒng)等),分別用SA措施和OOA措施對它進行分析,并給出分析模型。答:軟件設計概述1.老式軟件工程把設計過程提成2步:概要設計與詳細設計。試述這2個階段個字重要完畢的任務。答:概要設計,包括構造設計和接口設計,并編寫設計文檔。詳細設計,其任務是確定各個軟件組件的數(shù)據(jù)構造和操作,產(chǎn)生描述個軟件組件的詳細設計文檔。為何大型軟件設計必須提成兩步走?答:概要設計和詳細設計是軟件設計的兩步,概要設計確定模塊的劃分,模塊之間的調用關系,接口等;詳細設計細分模塊、數(shù)據(jù)構造等;大型系統(tǒng)中分兩步走是必要的,概要設計確定模塊劃分后,詳細設計可把各模塊交給不一樣的人做詳細設計,大型系統(tǒng)中這樣的分工是比較合理的,能提高效率,做到合理分工。2.解釋下列名詞:(1)模塊;(2)模塊化;(3)模塊化設計。答:模塊是一種擁有明確定義的、輸出和特性的程序實體。模塊化是指處理一種復雜問題時自頂向下逐層把軟件系統(tǒng)劃提成若干模塊的過程。每個模塊完畢一種特定的子功能,所有的模塊按某種措施組裝起來,成為一種整體,完畢整個系統(tǒng)所規(guī)定的功能。模塊化設計是把大型軟件按照規(guī)定的原則劃提成一種個較小的、相對獨立但又互相關聯(lián)的模塊。但又互相關聯(lián)的模塊。3.什么是模塊獨立性?用什么度量?答:模塊獨立性指每個模塊只完畢系統(tǒng)規(guī)定的獨立的子功能,并且與其他模塊的聯(lián)絡至少且接口簡樸。模塊獨立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接成果。獨立性可以從兩個方面來度量:模塊自身的內聚性(Cohesion)和模塊之間的耦合(Coupling)。4.詳細闡明“一種模塊,一種功能”的含義,并試討論此類模塊的長處。5.什么是自頂向下設計?為何說它尤其合用于大型軟件的開發(fā)?答:設計時首先對所設計的系統(tǒng)有一種全面的理解。然后從頂層開始,持續(xù)的逐層向下分解,直至系統(tǒng)的所有模塊都笑道便于掌握為止。自底向上設計反應了軟件規(guī)模較小的設計思想,伴隨軟件規(guī)模的增長,這種措施的缺陷逐漸暴露出來。而自頂向下的設計需要進行詳細的可行性論證,易于修改和擴展,整體測試較易通過。6.自頂向下逐漸細化的措施也合用于編寫教材。使用這種措施闡明編寫一本教材的過程。7.輸入三角形的3條邊長(假定這些邊確實能構成一種三角形),用它們來鑒別三角形的性質(等腰、等邊、任意或者直角),并輸出成果。試用逐漸細化的措施設計這一程序,并用構造化語言(漢語或英語)寫出細化過程中每一步的過程描述。8.比較概要設計復審和過程設計復審的評審內容,并闡明他們采用的復審方式有何異同。答:概要設計復審的重點放在系統(tǒng)的總體構造、模塊劃分、內外構造等方面。例如軟件構造與否滿足需求?構造形態(tài)與否合理?層次與否清晰?模塊的劃分是不是符合優(yōu)化原則?系統(tǒng)的人機界面、內外部接口、以及出錯處理是不是合理等。過程設計復審的重點放在模塊的詳細設計上。例如模塊設計能否滿足其功能與性能規(guī)定?選擇算法與數(shù)據(jù)構造與否合理,與否符合編程語言的特點?設計描述簡樸、清晰等。概要設計復審常用的復審方式是正式復審。老式的設計措施簡釋事務、事務型構造和變換型構造。答:一次動作、時間或狀態(tài)變化也可以成為一次事務。事務型構造由至少一條接受途徑、一種事務中心與若干條動作途徑構成。變換型構造由至少一條傳入途徑、變換中心和傳出途徑構成。簡述從DFD圖到SC圖的映射規(guī)則。答:(1)復審DFD圖,必要時可再次進行修改或細化;(2)鑒別DFD圖所示的軟件系統(tǒng)的構造特性,確定它所代表的軟件構造是屬于變換型還是事務型。(3)按照SD措施規(guī)定一組規(guī)則,把DFD圖轉換為初始的SC圖;(4)按照優(yōu)化設計的指導原則改善初始的SC圖,獲得最終SC圖。5.某事務系統(tǒng)具有下列功能:(1)讀入顧客命令,并檢查其有效性;(2)按照命令的編號(1-4號)進行分類處理(3)1號命令計算產(chǎn)品共識,能根據(jù)顧客給出的多種產(chǎn)品數(shù)量,計算出各工種的需要工時和缺額工時;(4)2號命令計算材料消耗,根據(jù)產(chǎn)品的材料定額和顧客給出的生產(chǎn)數(shù)量,計算多種材料的需求量(5)3號命令編制材料訂貨計劃(6)4號命令計算產(chǎn)品成品試用構造化分析和設計措施畫出該系統(tǒng)的DFD圖并據(jù)此到處系統(tǒng)的SC圖。對動作分支中的1號和2號命令要詳細描述和設計,3號命令和4號命令容許從略,可僅用示意圖表達。7.簡述過程(詳細)設計闡明書的重要內容,怎樣對它進行復審?答:(1)為每個模塊確定采用的算法。選擇某種合適的工詳細現(xiàn)算法的過程,寫出模塊的詳細過程描述;(2)確定每一模塊使用的數(shù)據(jù)構造;(3)確定模塊接口的細節(jié),包括對系統(tǒng)外部的接口和顧客界面,對系統(tǒng)內部其他模塊的接口,以及有關模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的所有細節(jié)。8.簡化比較本章講解的幾種過程設計體現(xiàn)工具的優(yōu)缺陷。答:流程圖和N-S圖,偽代碼和PDL語言。流程圖具有能隨意體現(xiàn)任何程序邏輯的有點,伴隨構造化程序設計措施的普及,流程圖在描述程序邏輯時的隨意性與靈活性恰恰變成了它的缺陷。N-S圖所有的程序構造均用方框來表達,無論并列或者嵌套,程序的構造清晰可見。輕易養(yǎng)成良好的程序設計風格。缺陷是當程序內嵌的層數(shù)增多時,內層的方塊越畫越小,不僅增長畫圖的困難,也使圖形的清晰性受到影響。偽代碼工作量比畫圖小,又輕易轉換為真正的代碼,PDL具有很強的描述功能,是一種十分靈活和有用的過程體現(xiàn)工具。9.任選一種排序(從小到大)算法,分別用流程圖、N-S圖和PDL語言描述其詳細過程。試將下列用PDL偽代碼表達的某種模塊的過程性描述改用N-S圖表達?!璄xecuteprocessaREPEATUNTILconditionX8ExecuteprocessbIFconditionX1
THENBEGIN
ExecuteprocessfIFconditionX6
THEN
REPEATUNTILconditionX7
Executeprocessi
ENDREPELSEBEGIN
ExecuteprocessgExecuteprocesshENDENDIFELSECASEOFXiWHENcontditionX2SELECT
DOWHILEcontitionX5executeprocessCENDDOWHENconditionX3SELECTprocessdWHENconditionX4SELECTprocesseENDCASEENDIFENDREPExecuteprocessjENDexecuteprocessa
executeprocessbTX1Fexecuteprocessf
TX3
FTX4
FTX6F
executeprocessd
executeprocesse
executeprocessiexecuteprocessgREPEATUNTIL
X7executeprocesshexecuteprocessjREPEATUNTILconditionX8圖5-63顯示了某倉庫零件收發(fā)管理程序的數(shù)據(jù)構造,用Jackson圖表達。圖中Part表達零件,Issue和Recept分別表達零件的出庫量和入庫量。現(xiàn)規(guī)定:(1)找出輸入構造與輸出構造之間的對應單元(2)畫出用Jackson圖表達的程序構造(3)列出程序所需要的操作,并加到第(2)步畫出的程序構造圖上(4)用偽代碼寫出收發(fā)管理程序的過程性表達Input
filepartgroup*receptMovementrecord*issueNetmovementline*bodyheadingOutputreport
13.某工資管理程序的輸入/輸出數(shù)據(jù)中包括:輸入數(shù)據(jù):職工姓名,日工資率,工作天數(shù),加班天數(shù),病事假天數(shù),補助變更,扣款變更等;輸出數(shù)據(jù):職工姓名,基本工資,各項補助,各項扣款,事發(fā)工資等;試用Jackson措施設計這一程序
。軟件測試1.軟件測試的基本任務是什么?測試與糾錯有什么不一樣?測試的目的是發(fā)現(xiàn)程序錯誤;測試的任務是通過在計算機上執(zhí)行程序,暴露程序中潛在的錯誤。糾錯的目的是定位和糾正錯誤;糾錯的任務是軟件故障,保證程序的可靠運行。一般把一次程序執(zhí)行需要的測試數(shù)據(jù)成為一種測試用例,每個測試用例產(chǎn)生一種對應的測試成果,假如它與期望成果不符,便闡明程序中存在錯誤,需要用糾錯來改正。2.怎樣理解下面的話所蘊含的意義:“程序測試只能證明錯誤的存在,但不能證明錯誤不存在”、“測試是為了證明程序有錯,而不是證明程序無錯”揭示了測試固有的一種重要性質——不徹底性。徹底測試就是讓被測程序在一切也許的輸入狀況下所有執(zhí)行一遍,又稱窮舉測試。在實際狀況中是主線無法實現(xiàn)的。這就注定了一切實際測試都是不徹底的,當然也就不能保證測試后的程序不存在遺留的錯誤?!魷y試的分類◆測試措施測試用例和測試成果測試用例={測試數(shù)據(jù)+期望成果}測試成果={測試數(shù)據(jù)+期望成果+實際成果}黑盒測試①
等價測試把輸入數(shù)據(jù)的也許值劃分為若干個等價類,使每類中的任何一種測試用例,都能代表同一等價類中的其他測試用例。采用等價測試注意如下兩點:劃分等價類不僅要考慮代表“有效”輸入值的有效等價類,還要考慮代表“無效”輸入值得無效等價類;每一無效等價類至少要用一種測試用例,否則也許遺漏某一類錯誤,但容許若干個有效等價類合用一種測試用例,以便深入減少測試的次數(shù)?!纠磕彻S公開招工,規(guī)定報名者年齡在16周歲至35周歲(在1967年2月到1986年3月)。假如出生年月不在上述范圍內,將拒絕接受,并顯示“年齡不合格”等出錯信息。試用等價分類法設計這一程序功能的測試用例。第一步:劃分等價類輸入數(shù)據(jù)有效等價類無效等價類出生年月(1)6位數(shù)字字符(2)有非數(shù)字字符(3)少于6個數(shù)字字符(4)多于6個數(shù)字字符對應數(shù)值(5)在19之間(6)<196702(7)>198603月份對應數(shù)值(8)在1-12之間(9)等于“0”(10)>12第二步:設計有效等價類需要的測試用例測試數(shù)據(jù)期望成果測試范圍197011輸入有效(1)、(5)、(8)第三步:為每一無效等價類設計一種測試用例測試數(shù)據(jù)期望成果測試范圍MAY,70輸入無效(2)19705輸入無效(3)1968011輸入無效(4)1955齡不合格(6)1960齡不合格(7)196200輸入無效(9)197222輸入無效(10)②
邊界測試程序員在處理邊界狀況時,很輕易因忽視或考慮不周發(fā)生編碼錯誤。例如,數(shù)組容量、循環(huán)次數(shù)以及輸入數(shù)據(jù)與輸出數(shù)據(jù)在邊界值附近程序出錯概率往往較大。采用邊界值分析法就是要這樣來選擇測試用例,使得被測試程序能在邊界值及其附近運行,從而更有效地暴露程序中潛在的錯誤。例如程序也許設有語句If(196702<=value(birthdate)<=198603)
thenread(birthdate)
elsewrite“invalidage”將上式<=寫成<,以上所有測試都不能發(fā)現(xiàn)該錯誤。【例】上題年月日的測試用例(邊界分析法)輸入等價類測試用例闡明測試數(shù)據(jù)期望成果選用理由出生年月1個數(shù)字字符5個數(shù)字字符7個數(shù)字字符有1個非數(shù)字字符全是非數(shù)字字符51119705AAUGUST輸入無效僅有一種合法字符比有效長度恰少一種字符比有效字符恰多一種字符非法字符至少非法字符最多6個數(shù)字字符196702輸入有效類型與長度均有效對應數(shù)值35周歲16周歲3合格年齡最大符合年齡最小符合年齡>35周歲<16周歲4不合格年齡恰不小于合格年齡恰不不小于合格年齡月份對應數(shù)值月份為1月份為122輸入有效最小月份最大月份月份<1月份>123輸入無效恰不不小于最小月份恰不小于最大月份③
錯誤猜測法猜錯就是猜測被測程序放在哪些地方輕易出錯,然后針對也許的微弱環(huán)節(jié)來設計測試用例。一般先用等價分類法和邊界值分析法設計測試用例,然后用猜錯法補充某些例子作為輔助的手段。白盒測試①
邏輯覆蓋測試:用流程圖來設計測計用例。重要考察的重點是圖中的鑒定框(選擇或循環(huán))。按照被測試程序所作測試的有效程度,邏輯測試可由弱到強辨別5種覆蓋原則:語句覆蓋:每條語句至少執(zhí)行一次。鑒定覆蓋:每一鑒定的每個分支至少執(zhí)行一次。條件覆蓋:每一鑒定中的每個條件,分別按“真”、“假”至少各執(zhí)行一次。鑒定/條件覆蓋:同步滿足鑒定覆蓋和條件覆蓋的規(guī)定。條件組合覆蓋:求出鑒定中所有條件的多種也許組合值,每一也許的條件子和至少執(zhí)行一次。覆蓋原則程序構造舉例測試用例應滿足的條件語句覆蓋AÙB=.T.鑒定覆蓋AÙB=.T.,AÙB=.F.條件覆蓋A=.T.,A=.F.B=.T.,B=.F.鑒定/條件覆蓋AÙB=.T.,AÙB=.F.A=.T.,A=.F.B=.T.,B=.F.條件組合覆蓋A=.T.ÙB=.T.A=.T.ÙB=.F.A=.F.ÙB=.T.A=.F.ÙB=.F.②途徑測試法程序圖:是一種簡化的流程圖。對程序圖中每一條也許的程序執(zhí)行途徑至少測試一次。假如程序中具有循環(huán)(在程序中體現(xiàn)為環(huán)),則每個循環(huán)至少執(zhí)行一次。途徑測試具有如下特性:滿足構造測試的最低規(guī)定。語句覆蓋加鑒定覆蓋是對白盒測試的最低規(guī)定,同步滿足這兩種原則的覆蓋為“完全覆蓋”。從對途徑測試的規(guī)定可見,它自身就包括了語句覆蓋和鑒定覆蓋(在程序圖上分別為點覆蓋與邊覆蓋)。
軟件復用什么是軟件復用?答:在構造新的軟件系統(tǒng)的過程中,對已存在的軟件人工制品的使用技術。什么是領域工程?簡述其活動內容。答:領域工程是指通過領域分析找出最優(yōu)復用,把它們設計和構造為可復用構件,進而建立大規(guī)模的軟件構件倉庫的過程。答:按復用活動所應用的領域范圍,復用可劃分為橫向復用和縱向復用。橫向復用是指復用不一樣應用領域中的軟件元素如數(shù)據(jù)構造、分類算法等。縱向復用是指在一類具有較多公共性的應用領域之間進行軟部分復用??v向復用包括如下幾種方面的活動:(1)實行領域分析:根據(jù)應用領域的特性及相似性,可預測軟構件的可復用性,發(fā)現(xiàn)并描述可復用實體,進而建立有關的模型和需求規(guī)約。(2)開發(fā)可復用構件:一旦確認了構件的復用價值,即可進行構件的開發(fā),并對具有復用價值的軟構件進行抽象、一般化和參數(shù)化,以便它們可以適應新的類似的應用領域。(3)建立可復用構件庫:將軟件構件及其文檔進行分類歸并,形成有關的分類檢索機制,成為可供后繼項目使用的可復用資源。什么是CBSD?實行軟件構件技術要處理哪些問題?答:基于構件的軟件開發(fā)(Component-BasedSoftwareDevelopment,簡稱CBSD)是在一定構件模型的支持下,復用構件庫中的一種或多種軟件構件,通過組合構件來構造應用軟件系統(tǒng)的開發(fā)過程。要處理的問題:構件應具有的特性:通用性、可變性、易組裝性。在建造構件時,必須考略應用領域的特性。領域構件設計框架:原則數(shù)據(jù)、原則接口協(xié)議、程序模板。軟件維護為何說軟件維護是不可防止的?答:滿足顧客對已開發(fā)產(chǎn)品的性能與運行環(huán)境不停提高的需要,進而到達延長軟件的壽命。糾錯和糾錯性維護有哪些異同?答:糾錯的目的是定位和糾正錯誤;糾錯的任務是軟件故障,保證程序的可靠運行。糾錯性維護是由于軟件測試的不徹底性,任何大型軟件交付使用后,都會繼續(xù)發(fā)現(xiàn)潛在的錯誤,對它們進行診斷和改正。目的在于糾正在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤。什么是軟件配置?闡明搞好維護時期配置的意義與措施。答:軟件配置是一種軟件在生存周期內,它的多種形式、多種版本的文檔與程序的總稱。對軟件配置進行科學的管理,是保證軟件質量的重要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國建筑門窗幕墻節(jié)能改造市場驅動因素分析及金融支持模式研究
- 中國建筑玻璃行業(yè)綠色轉型與技術創(chuàng)新發(fā)展路徑研究
- 中國建筑工程機械行業(yè)渠道變革與經(jīng)銷商管理體系優(yōu)化研究報告
- 中國建筑工程機械行業(yè)媒體傳播效果與品牌塑造研究報告
- 雨水斗防腐處理技術方案
- 保溫施工現(xiàn)場事故應急方案
- 2026年酒店服務與管理專業(yè)能力測試題
- 2026年心理學專業(yè)考研復習重點掌握題
- 2026年軟件測試工程師專業(yè)考試
- 2026年心理咨詢服務與心理健康管理測試題
- 服裝銷售年底總結
- 文物安全保護責任書范本
- 廣東省惠州市某中學2025-2026學年七年級歷史上學期期中考試題(含答案)
- 2025公文寫作考試真題及答案
- 停電施工方案優(yōu)化(3篇)
- DB64∕T 1279-2025 鹽堿地綜合改良技術規(guī)程
- 2025年度耳鼻喉科工作總結及2026年工作計劃
- 2024年執(zhí)業(yè)藥師《藥學專業(yè)知識(一)》試題及答案
- 高壓氧進修課件
- 2025年第三類醫(yī)療器械經(jīng)營企業(yè)質量管理自查報告
- 2025無人機物流配送網(wǎng)絡建設與運營效率提升研究報告
評論
0/150
提交評論