軟件工程要點(diǎn)串講.doc_第1頁(yè)
軟件工程要點(diǎn)串講.doc_第2頁(yè)
軟件工程要點(diǎn)串講.doc_第3頁(yè)
軟件工程要點(diǎn)串講.doc_第4頁(yè)
軟件工程要點(diǎn)串講.doc_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一講 概 述1.1 軟件工程的研究?jī)?nèi)容(1)軟件工程要考慮專業(yè)軟件開(kāi)發(fā)所需要的理論、方法和工具-工程技術(shù)問(wèn)題(2)軟件工程要考慮如何有效的在軟件開(kāi)發(fā)中利用有限的成本資源-工程管理的問(wèn)題1.2 什么是軟件?(1)軟件包括:-軟件的內(nèi)涵 能夠提供客戶所需功能與性能的計(jì)算機(jī)程序; 使程序能夠適當(dāng)?shù)牟僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu); 用以描述程序開(kāi)發(fā)過(guò)程及使用的文檔。(2)軟件產(chǎn)品可以為一個(gè)特定的用戶設(shè)計(jì)開(kāi)發(fā),也可以為某一類通用的市場(chǎng)設(shè)計(jì)開(kāi)發(fā)。(3)軟件產(chǎn)品可以分成: 通用軟件(Generic Software)、 定制軟件(Bespoke Software)(4)一個(gè)新的軟件并不一定是全新開(kāi)發(fā),可以由現(xiàn)有軟件或可復(fù)用軟件成分配置形成。1.3 什么是軟件工程 ?(1)軟件工程是涉及軟件生產(chǎn)各個(gè)方面的一門工程學(xué)科(2)軟件工程涉及軟件生命周期的各個(gè)方面,從軟件需求的確定到軟件退役。(3)軟件工程:將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件;研究中的方法.1.4 什么是成功的軟件項(xiàng)目:按時(shí)交付、不超預(yù)算、滿足用戶要求。1.5 (1)所有的軟件過(guò)程中都包括四個(gè)基本活動(dòng):描述、開(kāi)發(fā)、有效性驗(yàn)證、進(jìn)化。(2) 軟件生命周期是軟件過(guò)程的另一種形象描述,包括:需求定義、分析與描述、軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、維護(hù)與退役等活動(dòng)。1.6什么是優(yōu)良軟件的屬性?可維護(hù)性、可依賴性、有效性和可用性(可接受性)。第二講 軟件過(guò)程2.1 瀑布模型(順序模型) 瀑布模型的缺點(diǎn)和適用情況 (1)這種模型生硬的把一個(gè)軟件過(guò)程劃分成幾個(gè)界限清晰的階段,而且這些階段前后有嚴(yán)格的順序,這導(dǎo)致它很難對(duì)用戶的需求變更做出及時(shí)的調(diào)整;(2)因此,瀑布模型只適合需求非常清楚和需求變更被嚴(yán)格限制的情況下。 2.2 進(jìn)化式開(kāi)發(fā)模型基本思想:通過(guò)開(kāi)發(fā)系統(tǒng)原型和用戶反復(fù)交互,以明確需求,使系統(tǒng)在不斷調(diào)整與修改中得以進(jìn)化成熟。又叫做原型式開(kāi)發(fā)方法。兩種基本類型:探索式開(kāi)發(fā)、拋棄式原型法 問(wèn)題:缺乏過(guò)程可見(jiàn)性、系統(tǒng)結(jié)構(gòu)通常會(huì)很差、需要一些特別的技術(shù)(如原型快速開(kāi)發(fā)技術(shù))、通常與主流技術(shù)不兼容.適用情況:適合中小規(guī)模的交互系統(tǒng)、可用于大型系統(tǒng)的局部開(kāi)發(fā)(如系統(tǒng)界面),可以和瀑布模型混合使用、生命周期較短的系統(tǒng)。 2.3 增量式開(kāi)發(fā) 增量式開(kāi)發(fā)的特點(diǎn) (1)在這種開(kāi)發(fā)方式中,系統(tǒng)不是作為一個(gè)整體交付,而是被分解成若干個(gè)增量,每個(gè)增量交付系統(tǒng)的部分功能。(2)用戶的需求按優(yōu)先級(jí)排隊(duì),優(yōu)先級(jí)最高的需求被放入最早交付的增量中。這樣,優(yōu)先級(jí)最高的系統(tǒng)功能就得到最多的測(cè)試,系統(tǒng)的可靠性較高。 2.4 基于構(gòu)件的軟件工程 (1)軟件復(fù)用是指在兩次或多次不同的軟件開(kāi)發(fā)過(guò)程中重復(fù)使用相同或相似軟件元素(通常稱為可復(fù)用構(gòu)件、組件或軟部件)的過(guò)程。(2)軟構(gòu)件是標(biāo)準(zhǔn)的、可以互換的、經(jīng)過(guò)裝配可隨時(shí)使用的軟件模塊。軟件復(fù)用的意義:(1)軟件復(fù)用的出發(fā)點(diǎn)是使軟件系統(tǒng)的開(kāi)發(fā)不再“一切從零開(kāi)始”,能夠充分利用已有的知識(shí)和經(jīng)驗(yàn)。(2)軟件復(fù)用能夠在軟件開(kāi)發(fā)中避免重復(fù)勞動(dòng),充分利用已有的開(kāi)發(fā)成果,提高開(kāi)發(fā)效率,降低開(kāi)發(fā)成本。(3)軟件復(fù)用還可以避免全新開(kāi)發(fā)可能引入的錯(cuò)誤,從而提高軟件的開(kāi)發(fā)質(zhì)量。第三講 需求工程3.1 需求工程過(guò)程需求工程過(guò)程并不具有唯一的模型,在所有的過(guò)程中都會(huì)涉及一些共同的活動(dòng),它們是:可行性研究、需求導(dǎo)出與分析、需求描述、需求有效性驗(yàn)證、需求管理。3.2 可行性研究:(1)可行性研究要決定被提議的系統(tǒng)是否值得去做。(2)進(jìn)行可行性研究包括信息評(píng)估、信息匯總和書(shū)寫報(bào)告三部分工作。3.3 需求的兩個(gè)不同層次的描述用戶需求:從客戶的角度,采用自然語(yǔ)言配合以圖表對(duì)目標(biāo)系統(tǒng)應(yīng)提供的服務(wù)以及系統(tǒng)操作要受到的約束進(jìn)行的聲明。系統(tǒng)需求:系統(tǒng)需求是一種結(jié)構(gòu)化文檔,要運(yùn)用一些專業(yè)的模型詳細(xì)的描述系統(tǒng)的功能及其約束。系統(tǒng)需求文檔有時(shí)也稱為功能描述,應(yīng)該是精確的,它可以成為雙方之間合同的重要內(nèi)容,同時(shí)作為開(kāi)發(fā)工作的依據(jù)。3.4 功能需求與非功能需求功能需求:對(duì)系統(tǒng)應(yīng)提供的功能,系統(tǒng)在特定的輸入下做出的反應(yīng)及特定條件下的行為的描述。某些情況下還要包括系統(tǒng)不應(yīng)做什么。非功能需求:對(duì)系統(tǒng)提供服務(wù)或功能時(shí)收到的約束進(jìn)行描述。如時(shí)間約束、開(kāi)發(fā)過(guò)程約束和標(biāo)準(zhǔn)等。領(lǐng)域需求:這種需求來(lái)自于系統(tǒng)的應(yīng)用領(lǐng)域,反映領(lǐng)域特征。可能是功能需求也可能是非功能需求。功能性需求與非功能性需求相比較,非功能需求往往更為關(guān)鍵,因?yàn)榉枪δ苄枨蟊硎镜氖窍到y(tǒng)的整體特征,而功能性需求描述的則是局部功能。3.7 需求導(dǎo)出與分析(1)這個(gè)階段在可行性研究之后進(jìn)行,通常與需求描述交叉進(jìn)行。(2)需求導(dǎo)出的過(guò)程活動(dòng)包括:需求發(fā)現(xiàn)、需求的分類與組織、優(yōu)先排序和沖突解決、需求文檔化。(3)需求的發(fā)現(xiàn)與識(shí)別是整個(gè)過(guò)程中最為關(guān)鍵的活動(dòng),負(fù)責(zé)收集目標(biāo)系統(tǒng)級(jí)現(xiàn)存系統(tǒng)的相關(guān)信息并從這些信息中提煉出用戶需求和系統(tǒng)需求。(4)信息的來(lái)源包括已有的文件,系統(tǒng)的信息持有者(stakeholders)以及相近系統(tǒng)的規(guī)約描述。(5)需求要從多個(gè)視點(diǎn)進(jìn)行分析(6)視點(diǎn)用來(lái)表述不同角度的需求來(lái)源(信息持有者、其它相關(guān)系統(tǒng)及領(lǐng)域)。每一個(gè)視點(diǎn)代表系統(tǒng)需求的一個(gè)子集。3.8 結(jié)構(gòu)化分析(SA)建模(1)結(jié)構(gòu)化分析方法是一種面向數(shù)據(jù)流的系統(tǒng)建模技術(shù),它從數(shù)據(jù)加工的角度對(duì)系統(tǒng)進(jìn)行規(guī)格描述;(2)SA幫助分析者理解系統(tǒng)的功能,并采用模型與用戶進(jìn)行交流;(3)不同的模型從不同的角度對(duì)系統(tǒng)進(jìn)行描述。 (4)結(jié)構(gòu)化分析模型的核心是數(shù)據(jù)詞典,它描述了所有的在目標(biāo)系統(tǒng)中使用的和生成的數(shù)據(jù)對(duì)象。(5)圍繞著這個(gè)核心的有三種圖:實(shí)體關(guān)系圖(ERD)描述數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系;數(shù)據(jù)流圖(DFD)描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能);狀態(tài)遷移圖(STD)描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作。(6)因此,ERD用于數(shù)據(jù)建模,DFD用于功能建模,STD用于行為建模。 3.9 UML與面向?qū)ο蠓治龇椒?.9.1 理解UML UML是一種標(biāo)準(zhǔn)的圖形化建模語(yǔ)言,它為不同領(lǐng)域的人們提供一種統(tǒng)一的交流標(biāo)準(zhǔn),這種標(biāo)準(zhǔn)使得系統(tǒng)構(gòu)造者能夠用標(biāo)準(zhǔn)的、易于理解的方式建立能表達(dá)出他們想象力的系統(tǒng)藍(lán)圖,并使客戶、分析員、設(shè)計(jì)人員、程序員和系統(tǒng)其它涉及者能夠相互理解和達(dá)成一致,從而能夠有效地共享和交流設(shè)計(jì)結(jié)果。3.10 需求有效性驗(yàn)證(1)需求有效性驗(yàn)證的目的是檢驗(yàn)需求描述是否正確地反映了客戶的意愿。(2)好的需求對(duì)軟件系統(tǒng)的開(kāi)發(fā)效率及軟件質(zhì)量起著至關(guān)重要的作用。一個(gè)錯(cuò)誤發(fā)現(xiàn)的越晚,修改它所付出的代價(jià)就越大。3.11 需求檢查幾個(gè)方面:有效性、一致性、完備性、現(xiàn)實(shí)性、可檢查性。需求有效性檢驗(yàn)技術(shù):需求評(píng)審、建立原型、測(cè)試用例生成。第四講 設(shè)計(jì)工程 4.1 軟件工程中的設(shè)計(jì)(1)設(shè)計(jì)是一個(gè)把問(wèn)題轉(zhuǎn)換成解決方案的創(chuàng)造性過(guò)程;(2)設(shè)計(jì)解決的是“如何實(shí)現(xiàn)系統(tǒng)”的問(wèn)題;(3)從工程管理的角度,軟件設(shè)計(jì)可以分成概要設(shè)計(jì)(總體設(shè)計(jì)、系統(tǒng)設(shè)計(jì))與細(xì)節(jié)設(shè)計(jì)(詳細(xì)設(shè)計(jì))4.2.1 模塊化(1)模塊化的思想,即把軟件劃分為可獨(dú)立命名和編址的構(gòu)件,每個(gè)構(gòu)件稱為一個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,當(dāng)把所有模塊組裝到一起成為一個(gè)整體時(shí),便可以完成指定的功能。(2)模塊組成系統(tǒng)或子系統(tǒng)。(3)“一個(gè)復(fù)雜問(wèn)題分割成若干個(gè)容易解決、容易管理的小問(wèn)題后更易于求解”,模塊化正是以此為依據(jù)把系統(tǒng)劃分成若干個(gè)模塊,各個(gè)擊破。 4.2.2 信息隱藏與獨(dú)立性(1)信息隱藏原理告訴我們,模塊應(yīng)該設(shè)計(jì)得使其所含信息(過(guò)程和數(shù)據(jù))對(duì)于那些不需要這些信息的模塊來(lái)說(shuō)不可訪問(wèn);每個(gè)模塊只完成一個(gè)相對(duì)獨(dú)立的特定功能;模塊之間僅交換那些為完成系統(tǒng)功能必須交換的信息,即模塊應(yīng)該功能獨(dú)立的。 (2)采用信息隱藏原理指導(dǎo)模塊設(shè)計(jì)有很多好處: 1)它支持模塊的并行開(kāi)發(fā); 2)減少測(cè)試和后期維護(hù)的工作量。因?yàn)闇y(cè)試和維護(hù)階段不可避免地要修改設(shè)計(jì)和代碼,模塊對(duì)大多數(shù)數(shù)據(jù)和過(guò)程處理細(xì)節(jié)的隱藏可以減少錯(cuò)誤向外傳播。 3)整個(gè)系統(tǒng)擴(kuò)充功能只需“插入”新模塊,原有的多數(shù)模塊無(wú)須改動(dòng)。 4.2.3 模塊獨(dú)立性(Independency)(1)模塊獨(dú)立性的概念是模塊化、抽象和信息隱藏概念的直接產(chǎn)物,模塊獨(dú)立性是通過(guò)開(kāi)發(fā)具有單一功能和與其他模塊沒(méi)有過(guò)多交互作用的模塊來(lái)達(dá)到的。(2)獨(dú)立性好的模塊對(duì)其它的模塊依賴性小,修改時(shí)對(duì)其它模塊的影響小,易于修改和擴(kuò)充,因此有良好的可維護(hù)性。(3)模塊獨(dú)立性可用兩個(gè)定性準(zhǔn)則來(lái)度量:耦合性(coupling)和內(nèi)聚性(cohesion)。 (4)耦合是模塊之間相對(duì)獨(dú)立性的量度,而內(nèi)聚則是模塊功能相對(duì)強(qiáng)度的量度。 (5)模塊的內(nèi)聚性越強(qiáng),耦合性越弱,獨(dú)立性越強(qiáng)。4.3 體系結(jié)構(gòu)設(shè)計(jì)(1)體系結(jié)構(gòu)(architecture,又稱架構(gòu))設(shè)計(jì)的任務(wù)是要識(shí)別出組成系統(tǒng)的子系統(tǒng)并建立子系統(tǒng)的控制和通信框架。(2)體系結(jié)構(gòu)設(shè)計(jì)是聯(lián)系需求描述與其他設(shè)計(jì)活動(dòng)的橋梁。系統(tǒng)的組成(1)系統(tǒng)的組成反映的是系統(tǒng)組織所采用的基本策略。三種應(yīng)用廣泛的組成類型:數(shù)據(jù)中心體系結(jié)構(gòu)(容器模型)、客戶/服務(wù)器體系結(jié)構(gòu)、抽象機(jī)或分層體系結(jié)構(gòu)。4.3.1 數(shù)據(jù)中心體系結(jié)構(gòu)(容器)數(shù)據(jù)中心體系結(jié)構(gòu)(容器模型)的基本特點(diǎn):(1)所有共享數(shù)據(jù)放到一個(gè)中心數(shù)據(jù)庫(kù)(容器)中,所有子系統(tǒng)都能從中存取數(shù)據(jù);(2)當(dāng)系統(tǒng)中存在大量的數(shù)據(jù)共享時(shí),數(shù)據(jù)中心(容器)模型是最為常用的體系結(jié)構(gòu)風(fēng)格。4.3.2 客戶/服務(wù)器體系結(jié)構(gòu)(1)客戶/服務(wù)器模型是一個(gè)分布式系統(tǒng)模型,數(shù)據(jù)和加工過(guò)程在多個(gè)處理器之間分配;(2)這種模型的主要組成:一組為其它子系統(tǒng)提供服務(wù)的單機(jī)服務(wù)器;一組向服務(wù)器請(qǐng)求服務(wù)的客戶機(jī);連接客戶機(jī)與服務(wù)器的網(wǎng)絡(luò)。4.3.3 分層(抽象機(jī))體系結(jié)構(gòu)(1)這種模型把系統(tǒng)組織成一系列的層次(抽象機(jī)),每一層提供一組服務(wù);(2)這種模型支持增量式的開(kāi)發(fā),不同層次的服務(wù)可以單獨(dú)交付;(3)層與層之間以接口相聯(lián)系,一個(gè)接口發(fā)生改變,只有毗鄰的層會(huì)受到影響;4.4 控制模型(1)控制模型考慮子系統(tǒng)之間的控制流,這是分解模型不考慮的問(wèn)題。(2)對(duì)控制流建模有兩種一般性的方法:1)集中式控制:一個(gè)子系統(tǒng)專門負(fù)責(zé)控制,控制其他子系統(tǒng)的啟動(dòng)與停止。2)基于事件的控制:不將控制信息集中在一個(gè)子系統(tǒng)內(nèi),每個(gè)子系統(tǒng)都能夠接受來(lái)自系統(tǒng)外部的事件并作出響應(yīng)。4.6 用戶界面設(shè)計(jì)過(guò)程4.7 界面設(shè)計(jì)的一般原則:用戶熟悉、一致性、意外最小化、可恢復(fù)性、用戶差異性4.8錯(cuò)誤消息:(1)錯(cuò)誤消息的設(shè)計(jì)對(duì)界面設(shè)計(jì)的成敗是非常關(guān)鍵的。 設(shè)計(jì)很差的錯(cuò)誤消息會(huì)導(dǎo)致用戶對(duì)整個(gè)系統(tǒng)反感。(2)錯(cuò)誤消息應(yīng)該是禮貌的、簡(jiǎn)明的、一致的和建設(shè)性的。4.9 幫助系統(tǒng)設(shè)計(jì):軟件幫助系統(tǒng)不能是用戶手冊(cè)的簡(jiǎn)單復(fù)制,應(yīng)該有一個(gè)合理的組織與結(jié)構(gòu),應(yīng)該為用戶提供不同的入口。第五講 軟件實(shí)現(xiàn)與驗(yàn)證5.1 程序設(shè)計(jì)與調(diào)試(1)程序設(shè)計(jì)的任務(wù)是把設(shè)計(jì)轉(zhuǎn)換成程序及在程序中去除錯(cuò)誤,包括編程與調(diào)試兩個(gè)過(guò)程。(2)通常,程序員要對(duì)自己開(kāi)發(fā)的程序進(jìn)行測(cè)試,這時(shí)程序中的一些明顯的錯(cuò)誤會(huì)暴露出來(lái)并被根除,這個(gè)過(guò)程叫調(diào)試。5.2 驗(yàn)證和有效性確認(rèn)( Verification & Validation)驗(yàn)證: 檢查軟件是否符合它的規(guī)格描述。有效性確認(rèn):檢查軟件是否滿足客戶的期待。5.3 驗(yàn)證和有效性確認(rèn)過(guò)程的兩種基本方法:軟件審查:通過(guò)對(duì)系統(tǒng)的各種靜態(tài)成果,如需求文檔、設(shè)計(jì)文檔、源代碼,進(jìn)行檢查和分析發(fā)現(xiàn)問(wèn)題。軟件測(cè)試: 通過(guò)使用測(cè)試數(shù)據(jù)執(zhí)行系統(tǒng),檢查運(yùn)行結(jié)果來(lái)發(fā)現(xiàn)問(wèn)題。5.4 程序測(cè)試與靜態(tài)審查:(1)測(cè)試的目的是為了揭示程序中存在錯(cuò)誤,而不是沒(méi)有錯(cuò)誤。(2)按照測(cè)試的不同目標(biāo)可以把測(cè)試分成有效性測(cè)試與缺陷測(cè)試。(3)靜態(tài)審查無(wú)法檢驗(yàn)軟件是否可用,也不能檢驗(yàn)非功能需求,因此程序測(cè)試是必不可少的,是起決定性作用的V & V技術(shù)。(4)在V & V過(guò)程中,程序測(cè)試和靜態(tài)審查通常是結(jié)合在一起使用的。測(cè)試和調(diào)試:測(cè)試和調(diào)試是不同的過(guò)程,通常交叉進(jìn)行。檢驗(yàn)和有效性驗(yàn)證的目的是確定系統(tǒng)中存在缺陷;調(diào)試考慮的是定位和修改缺陷。5.5 V & V 規(guī)劃(1)仔細(xì)的規(guī)劃能夠使程序檢查和測(cè)試的工作得到更多的回報(bào)。(2)V & V過(guò)程的規(guī)劃應(yīng)該從開(kāi)發(fā)過(guò)程的早期就開(kāi)始。(3)V & V規(guī)劃應(yīng)該明確的說(shuō)明靜態(tài)檢查與測(cè)試任務(wù)與分工。(4)測(cè)試規(guī)劃主要是制定測(cè)試過(guò)程標(biāo)準(zhǔn),而不是描述測(cè)試本身。系統(tǒng)開(kāi)發(fā)的 V 模型5.7 軟件測(cè)試階段活動(dòng)測(cè)試階段:組件測(cè)試、系統(tǒng)測(cè)試組件測(cè)試 :測(cè)試單個(gè)的程序組件;通常由程序開(kāi)發(fā)者完成(除了要求特別高的系統(tǒng));這個(gè)階段的測(cè)試大多依靠測(cè)試者的經(jīng)驗(yàn)。系統(tǒng)測(cè)試:測(cè)試由組件整合成的子系統(tǒng)和系統(tǒng);有專門的測(cè)試團(tuán)隊(duì)進(jìn)行測(cè)試;測(cè)試要依據(jù)需求規(guī)格說(shuō)明進(jìn)行。5.8 集成測(cè)試集成測(cè)試包括把組件集成為系統(tǒng)和對(duì)合成的系統(tǒng)進(jìn)行測(cè)試,以發(fā)現(xiàn)組件集成過(guò)程帶來(lái)的問(wèn)題,集成方式可以分為:自頂向下集成:從主控模塊開(kāi)始,沿著控制層次結(jié)構(gòu)逐步向下,利用深度優(yōu)先或廣度優(yōu)先的方式將從屬于主控模塊的其他模塊集成到系統(tǒng)結(jié)構(gòu)中。自底向上集成:從原子模塊開(kāi)始,從底層把模塊逐步向上集成為更大規(guī)模的子系統(tǒng)和系統(tǒng)。增量集成測(cè)試為了簡(jiǎn)化測(cè)試中錯(cuò)誤定位的問(wèn)題,可以采用增量集成的方法。5.9 測(cè)試用例設(shè)計(jì)(1)測(cè)試用例的基本構(gòu)成可以包括:設(shè)計(jì)的輸入、期望的輸出、測(cè)試環(huán)境和測(cè)試對(duì)象的描述。(2)設(shè)計(jì)測(cè)試用例是系統(tǒng)測(cè)試與組件測(cè)試的關(guān)鍵工作,主要是通過(guò)設(shè)計(jì)輸入數(shù)據(jù)與預(yù)計(jì)的輸出來(lái)測(cè)試系統(tǒng)。(3)測(cè)試用例設(shè)計(jì)的目的是建立一組測(cè)試用例集合,用盡可能少的測(cè)試代價(jià)有效的發(fā)現(xiàn)系統(tǒng)缺陷并證明系統(tǒng)能夠滿足需求。(4)設(shè)計(jì)測(cè)試用例的常用方法:劃分測(cè)試與邊界值分析、結(jié)構(gòu)化測(cè)試(白盒測(cè)試)。5.10 等價(jià)劃分測(cè)試 等價(jià)劃分測(cè)試是測(cè)試用例設(shè)計(jì)的一種方法。設(shè)計(jì)測(cè)試用例時(shí),可以按特征把數(shù)據(jù)輸入域劃分成若干等價(jià)類,等價(jià)類中的每個(gè)數(shù)據(jù)應(yīng)該以同樣的方式得到處理,因此對(duì)于揭露程序中的錯(cuò)誤是等效的。這樣,就可以選取少量有代表性的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù),以期用較小的代價(jià)暴露較多的程序錯(cuò)誤。5.11 結(jié)構(gòu)化測(cè)試結(jié)構(gòu)化測(cè)試是根據(jù)軟件的結(jié)構(gòu)知識(shí)導(dǎo)出測(cè)試用例的測(cè)試方法。又叫做“白盒測(cè)試法”。對(duì)組件中所用的算法結(jié)構(gòu)的理解可以幫助我們找出更多的測(cè)試用例。黑盒測(cè)試與白盒測(cè)試黑盒測(cè)試又叫做功能測(cè)試,測(cè)試者只關(guān)心系統(tǒng)的功能而不關(guān)心軟件的實(shí)現(xiàn)。也就是說(shuō)測(cè)試者不必了解有關(guān)系統(tǒng)的任何細(xì)節(jié),只把系統(tǒng)看成是一個(gè)能夠處理輸入,產(chǎn)生輸出的“黑盒子”,僅從功能的角度設(shè)計(jì)測(cè)試用例。白盒測(cè)試又叫做結(jié)構(gòu)測(cè)試,是一種根據(jù)軟件的結(jié)構(gòu)知識(shí)導(dǎo)出測(cè)試用例的設(shè)計(jì)方法。測(cè)試者把被測(cè)試組件看成是一個(gè)打開(kāi)的“白盒子”,組件的內(nèi)部結(jié)構(gòu)對(duì)測(cè)試者是透明的,通過(guò)對(duì)所用算法結(jié)構(gòu)的分析設(shè)計(jì)測(cè)試用例。結(jié)構(gòu)化測(cè)試的目標(biāo)1)保證一個(gè)模塊中的所有獨(dú)立路徑至少被執(zhí)行一次;(2)對(duì)所有的邏輯值均需測(cè)試真和假;(3)在上下邊界以及可操作的范圍內(nèi)執(zhí)行所有循環(huán);(4)檢驗(yàn)內(nèi)部結(jié)構(gòu)以確保其有效性。白盒測(cè)試能夠比黑盒測(cè)試發(fā)現(xiàn)更細(xì)小的缺陷。5.12 邏輯覆蓋法(1)邏輯覆蓋一系列測(cè)試過(guò)程的總稱,這組測(cè)試會(huì)逐漸進(jìn)行越來(lái)越完整的通路測(cè)試。(2)由于覆蓋測(cè)試的目標(biāo)不同,邏輯覆蓋又可分為:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋及路徑覆蓋。 其中語(yǔ)句覆蓋覆蓋度最弱,路徑覆蓋最強(qiáng)!5.13 基本路徑測(cè)試基本路徑測(cè)試的原理:“在程序控制流圖的基礎(chǔ)上,分析控制結(jié)構(gòu)的環(huán)路復(fù)雜度,并用這個(gè)復(fù)雜度為指南定義執(zhí)行路徑的基本集合,從而導(dǎo)出基本可執(zhí)行路徑集合,設(shè)計(jì)出測(cè)試用例并保證每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次,而且每個(gè)條件在執(zhí)行時(shí)都將分別取真、假兩種值?!被韭窂綔y(cè)試(ppt)第六講 軟件維護(hù)6.1 系統(tǒng)變更與進(jìn)化(1)軟件系統(tǒng)變更是不可避免的,軟件系統(tǒng)開(kāi)發(fā)的一個(gè)關(guān)鍵的問(wèn)題就是如何實(shí)現(xiàn)和管理現(xiàn)存軟件的變更;(2)軟件系統(tǒng)隨變更要求不斷更新改進(jìn)的過(guò)程就是系統(tǒng)進(jìn)化過(guò)程。理想的進(jìn)化模型(何謂“理想”?)6.2 軟件維護(hù)的本質(zhì)及類型(1)軟件維護(hù)是指在軟件交付使用之后,為了改正錯(cuò)誤和滿足新的需要而修改軟件的過(guò)程。(2)維護(hù)通常包括四種類型:糾正性維護(hù)修補(bǔ)系統(tǒng)缺陷的維護(hù),日常維護(hù)的主要工作。適應(yīng)性維護(hù)使軟件適應(yīng)不同的操作環(huán)境(軟硬件環(huán)境)的維護(hù)完善性維護(hù)增加或修改系統(tǒng)功能的維護(hù)(3)預(yù)防性維護(hù)(再工程)為預(yù)防系統(tǒng)后期可能的失效而做的維護(hù)。6.3 預(yù)防性維護(hù)/軟件再工程 預(yù)防性維護(hù),或再工程,是由Miller提出來(lái)的,他的想法是“結(jié)構(gòu)化翻新”。他把這種方法定義為:“把今天的方法學(xué)應(yīng)用到昨天的系統(tǒng)上,以支持明天的需求。 ”第七講 軟件項(xiàng)目管理7.1 軟件項(xiàng)目管理基礎(chǔ)(1)軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。(2)軟件項(xiàng)目管理主要考慮如何保證軟件能夠按時(shí)、按計(jì)劃并滿足用戶需求規(guī)格的交付,即如何用科學(xué)的管理手段保障

溫馨提示

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

評(píng)論

0/150

提交評(píng)論