版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
概論軟件的定義軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的一個(gè)部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合.其中,程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文材料。軟件工程的定義和三要素IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法.三個(gè)要素:方法、工具和過(guò)程。方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù)。它包括了多方面的任務(wù),如項(xiàng)目計(jì)劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)、算法過(guò)程的設(shè)計(jì)、編碼、測(cè)試以及維護(hù)等。工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,這些軟件工具集成起來(lái),建立起稱(chēng)之為計(jì)算機(jī)輔助軟件工程(CASE)的軟件開(kāi)發(fā)支撐系統(tǒng)。CASE將各種軟件工具、開(kāi)發(fā)機(jī)器和一個(gè)存放開(kāi)發(fā)過(guò)程信息的工程數(shù)據(jù)庫(kù)組合起來(lái)形成一個(gè)軟件工程環(huán)境。過(guò)程則是將軟件工程的方法和工具綜合起來(lái)以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開(kāi)發(fā)的目的.過(guò)程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開(kāi)發(fā)各個(gè)階段完成的里程碑。軟件工程和軟件危機(jī)的關(guān)系現(xiàn)有軟件危機(jī)后有軟件工程為了解決軟件危機(jī),既要有技術(shù)支持措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)兩方面研究如何更好的開(kāi)發(fā)和維護(hù)計(jì)算機(jī)軟件的一門(mén)新興學(xué)科。軟件生命周期的概念,劃分的三個(gè)時(shí)期和八個(gè)階段概念:軟件生命周期是軟件的產(chǎn)生直到報(bào)廢的生命周期三個(gè)時(shí)期:軟件定義,軟件開(kāi)發(fā),運(yùn)行維護(hù)8個(gè)階段:?jiǎn)栴}定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄理解結(jié)構(gòu)化軟件開(kāi)發(fā)方法和面向?qū)ο筌浖_(kāi)發(fā)方法結(jié)構(gòu)化開(kāi)發(fā)方法:早期的程序開(kāi)發(fā),如C語(yǔ)言,都是用結(jié)構(gòu)化開(kāi)發(fā)方法。結(jié)構(gòu)化開(kāi)發(fā)又叫做面向過(guò)程開(kāi)發(fā),具體原理是將一個(gè)軟件分為多個(gè)過(guò)程(函數(shù))進(jìn)行開(kāi)發(fā),用結(jié)構(gòu)體管理數(shù)據(jù)。這種開(kāi)發(fā)方式使得代碼的可讀性變得很低,并且代碼難以移植。面向?qū)ο筌浖_(kāi)發(fā)方法:這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對(duì)象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu)。軟件生命周期模型(又稱(chēng)做過(guò)程模型)各自階段、特點(diǎn)和適用項(xiàng)目瀑布模型階段:特點(diǎn):1),階段間具有順序性和依賴(lài)性2),推遲實(shí)現(xiàn)的觀點(diǎn)3),質(zhì)量保證的觀點(diǎn)瀑布模型適用于結(jié)構(gòu)化方法,也就是面向過(guò)程的軟件開(kāi)發(fā)方法。規(guī)模小、需求明確、無(wú)須維護(hù)快速原型模型特點(diǎn):快速建立起能夠在計(jì)算機(jī)上運(yùn)行的程序。優(yōu)點(diǎn):軟件產(chǎn)品的開(kāi)發(fā)基本上是線(xiàn)性的缺點(diǎn):必須迅速地構(gòu)建原型然后根據(jù)用戶(hù)意見(jiàn)循序的修改原型適用范圍:用戶(hù)需求不明確,需要通過(guò)構(gòu)建原型來(lái)清楚的了解用戶(hù)的真實(shí)需求。無(wú)須維護(hù)增量模型特點(diǎn):增量模型的特點(diǎn)是引進(jìn)了增量包的概念,無(wú)須等到所有需求都出來(lái),只要某個(gè)需求的增量包出來(lái)即可進(jìn)行開(kāi)發(fā).雖然某個(gè)增量包可能還需要進(jìn)一步適應(yīng)客戶(hù)的需求并且更改,但只要這個(gè)增量包足夠小,其影響對(duì)整個(gè)項(xiàng)目來(lái)說(shuō)是可以承受的.增量模型具有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目螺旋模型螺旋模型最大的特點(diǎn)在于引入了其他模型不具備的風(fēng)險(xiǎn)分析,使軟件在無(wú)法排除重大風(fēng)險(xiǎn)時(shí)有機(jī)會(huì)停止,以減小損失。同時(shí),在每個(gè)迭代階段構(gòu)建原型是螺旋模型用以減小風(fēng)險(xiǎn)的途徑。螺旋模型更適合大型的昂貴的系統(tǒng)級(jí)的軟件應(yīng)用。噴泉模型噴泉模型適應(yīng)于面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程。特點(diǎn):相互迭代:軟件的某個(gè)部分常常被重復(fù)工作多次,相關(guān)對(duì)象在每次迭代中隨之加入漸進(jìn)的軟件成分無(wú)間隙性:它在各項(xiàng)活動(dòng)之間沒(méi)有明顯邊界RUP四個(gè)階段先啟階段:建立業(yè)務(wù)模型,定義最終產(chǎn)品視圖,并且確定項(xiàng)目的范圍。精化階段:設(shè)計(jì)并確定系統(tǒng)的體系結(jié)構(gòu),制定項(xiàng)目計(jì)劃,確定資源需求.構(gòu)建階段:開(kāi)發(fā)出所有構(gòu)件和應(yīng)用程序,把它們集成為客戶(hù)需要的產(chǎn)品,并且詳盡地測(cè)試所有功能。移交階段:把開(kāi)發(fā)出的產(chǎn)品提交給用戶(hù)使用。RUP最重要的它有三大特點(diǎn):軟件開(kāi)發(fā)是一個(gè)迭代過(guò)程軟件開(kāi)發(fā)是由UseCase驅(qū)動(dòng)的軟件開(kāi)發(fā)是以架構(gòu)設(shè)計(jì)(ArchitecturalDesign)為中心的。RUP適用于大型軟件團(tuán)隊(duì)開(kāi)發(fā)大型項(xiàng)目。敏捷過(guò)程特點(diǎn):具備可視、可集成和可運(yùn)行使用的特點(diǎn)敏捷過(guò)程的適用于:軟件需求經(jīng)常變化或者需求變化比較大;項(xiàng)目團(tuán)隊(duì)與用戶(hù)之間進(jìn)行溝通比較容易;項(xiàng)目的開(kāi)發(fā)風(fēng)險(xiǎn)比較高;規(guī)模比較小,一般項(xiàng)目組成員在50人之內(nèi);項(xiàng)目團(tuán)隊(duì)的成員能力比較強(qiáng),而且具有責(zé)任感;項(xiàng)目的可測(cè)試性比較好??尚行匝芯颗c需求分析可行性研究和需求分析要解決的問(wèn)題確定問(wèn)題是否值得去解決;目標(biāo)系統(tǒng)到底要做什么軟件需求的含義、分類(lèi)軟件需求:系統(tǒng)或系統(tǒng)部件要滿(mǎn)足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。分類(lèi):業(yè)務(wù)需求、用戶(hù)需求和功能需求,非功能需求。業(yè)務(wù)需求反映了組織機(jī)構(gòu)或客戶(hù)對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。用戶(hù)需求文檔描述了用戶(hù)使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例文檔或方案腳本說(shuō)明中予以說(shuō)明。功能需求定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶(hù)能完成他們的任務(wù),從而滿(mǎn)足了業(yè)務(wù)需求。所謂特性是指邏輯上相關(guān)的功能需求的集合,給用戶(hù)提供處理能力并滿(mǎn)足業(yè)務(wù)需求。非功能需求,描述了系統(tǒng)展現(xiàn)給用戶(hù)的行為和執(zhí)行的操作等。它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和合約;外部界面的具體細(xì)節(jié);性能要求;設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。所謂約束是指對(duì)開(kāi)發(fā)人員在軟件產(chǎn)品設(shè)計(jì)和構(gòu)造上的限制。質(zhì)量屬性是通過(guò)多種角度對(duì)產(chǎn)品的特點(diǎn)進(jìn)行描述,從而反映產(chǎn)品功能。多角度描述產(chǎn)品對(duì)用戶(hù)和開(kāi)發(fā)人員都極為重要.獲取用戶(hù)需求的常用方法電話(huà),即時(shí)通訊工具,電子郵件,面對(duì)面交談,會(huì)議討論,定性定量結(jié)合的調(diào)查問(wèn)卷,觀察,用戶(hù)日記分析法,將自己變成目標(biāo)用戶(hù)等需求分析的定義需求分析是在可行性研究的基礎(chǔ)上進(jìn)行的更細(xì)致的分析工作,是軟件定義時(shí)期的最后一個(gè)階段對(duì)軟件目標(biāo)及范圍的求精和細(xì)化。通過(guò)調(diào)查研究和分析,充分了解用戶(hù)對(duì)軟件系統(tǒng)的要求,把用戶(hù)要求表達(dá)出來(lái),解決“軟件系統(tǒng)必須做什么”的問(wèn)題。主流需求分析方法(結(jié)構(gòu)化分析建立的模型)1)步驟:確定系統(tǒng)邊界,畫(huà)出頂層DFD;自頂向下,對(duì)每個(gè)加工進(jìn)行內(nèi)部分解,畫(huà)出分層DFD;對(duì)數(shù)據(jù)流圖進(jìn)行復(fù)審求精。2)分層優(yōu)點(diǎn):便于實(shí)現(xiàn)采用逐步細(xì)化的擴(kuò)展方法,利于控制問(wèn)題復(fù)雜度;一組圖代替一張總圖,業(yè)務(wù)人員可選擇相關(guān)圖形.3)畫(huà)分層DFD圖的指導(dǎo)原則:注意父子圖的平衡;區(qū)分局部文件和局部外部項(xiàng);掌握分解速度;遵守加工編號(hào)規(guī)則;確定數(shù)據(jù)定義和加工策略.繪制數(shù)據(jù)流圖(DFD)按照軟件內(nèi)部數(shù)據(jù)傳遞、變換關(guān)系,自頂向下逐層分解軟件的功能,建立軟件系統(tǒng)的邏輯模型。數(shù)據(jù)流圖基本元素DFD實(shí)例:儲(chǔ)戶(hù)到銀行取款數(shù)據(jù)流圖的畫(huà)法:自外向內(nèi),自頂向下,逐層細(xì)化,逐步求精畫(huà)頂層數(shù)據(jù)流圖:包括系統(tǒng)的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流、I/O數(shù)據(jù)流的源點(diǎn)和終點(diǎn)、一個(gè)處理(代表整個(gè)系統(tǒng)).頂層DFD表示系統(tǒng)的范圍、系統(tǒng)和外界的數(shù)據(jù)交換關(guān)系。畫(huà)分層數(shù)據(jù)流圖:按功能將一個(gè)處理逐步細(xì)化成若干處理;最低層數(shù)據(jù)流圖中的處理稱(chēng)為“原子處理”,表示獨(dú)立的功能。l畫(huà)數(shù)據(jù)流圖的注意事項(xiàng):每個(gè)處理至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流。數(shù)據(jù)流圖的細(xì)化過(guò)程中,要保持信息的連續(xù)性(信息平衡)?當(dāng)把一個(gè)處理分解為一系列處理時(shí),分解前和分解后的輸入/輸出數(shù)據(jù)流必須相同。圖中每個(gè)元素都要恰當(dāng)命名。對(duì)處理進(jìn)行合理編號(hào)。數(shù)據(jù)流圖的繪制步驟(1)頂層DFD:確定整個(gè)系統(tǒng)的輸入數(shù)據(jù)流及其源點(diǎn)、輸出數(shù)據(jù)流及其終點(diǎn);把整個(gè)系統(tǒng)作為一個(gè)處理(加工)。(2)一層DFD:確定系統(tǒng)的主要處理功能,按此將整個(gè)系統(tǒng)(頂層DFD中的處理)分解成若干個(gè)處理(加工),確定每個(gè)處理的輸入與輸出數(shù)據(jù)流以及與這些處理有關(guān)的數(shù)據(jù)存儲(chǔ)。(3)根據(jù)自頂向下,逐層分解的原則,對(duì)上層圖中全部或部分處理進(jìn)行分解.(4)重復(fù)步驟(3),直到逐層分解結(jié)束。工具:MicrosoftOfficeVisio總體設(shè)計(jì)總體設(shè)計(jì)的概念,任務(wù)(DFD映射為MSD)將軟件需求轉(zhuǎn)化為系統(tǒng)結(jié)構(gòu)(程序結(jié)構(gòu)、接口)和數(shù)據(jù)結(jié)構(gòu)。通過(guò)仔細(xì)分析軟件需求規(guī)格說(shuō)明,確定組成系統(tǒng)的模塊及各模塊之間的關(guān)系,設(shè)計(jì)出完成預(yù)定功能的模塊結(jié)構(gòu)(軟件結(jié)構(gòu)),并建立接口.模塊和模塊化的含義模塊是由邊界元素限定的程序單元,是構(gòu)成程序的基本構(gòu)件,是指用一個(gè)名字可以調(diào)用的一段程序語(yǔ)句。例如子程序、函數(shù)、過(guò)程和宏等都可以作為模塊.模塊化就是將程序劃分成獨(dú)立命名且可獨(dú)立訪(fǎng)問(wèn)的若干模塊,每個(gè)模塊完成一個(gè)子功能;將模塊集成起來(lái)構(gòu)成一個(gè)整體,完成指定的系統(tǒng)功能。什么是模塊獨(dú)立性;如何度量和設(shè)計(jì)模塊獨(dú)立性(幾種內(nèi)聚和耦合的強(qiáng)弱,高內(nèi)聚低耦合)模塊獨(dú)立性是指模塊內(nèi)部各部分之間、以及模塊之間關(guān)系的一種度量標(biāo)準(zhǔn)。模塊獨(dú)立性的含義為:軟件結(jié)構(gòu)中的每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能,并且和其它模塊的接口是簡(jiǎn)單的。度量:模塊之間的耦合盡可能弱;每個(gè)模塊的內(nèi)聚盡可能強(qiáng)。內(nèi)聚:偶然內(nèi)聚:邏輯內(nèi)聚:時(shí)間內(nèi)聚:過(guò)程內(nèi)聚:通信內(nèi)聚:順序內(nèi)聚;功能內(nèi)聚變換分析設(shè)計(jì)方法和事務(wù)設(shè)計(jì)分析方法變換:(1)分析具有變換特征的數(shù)據(jù)流圖,確定輸入流和輸出流的邊界、孤立出變換中心(2)完成一級(jí)分解,設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第二層l頂層模塊Cm:代表系統(tǒng)l第二層模塊:輸入信息處理模塊Ca:協(xié)調(diào)對(duì)所有輸入數(shù)據(jù)的接收變換中心控制模塊Ct:管理對(duì)內(nèi)部形式的數(shù)據(jù)的所有操作輸出信息處理控制模塊Ce:協(xié)調(diào)輸出信息的產(chǎn)生過(guò)程3)完成二級(jí)分解:把數(shù)據(jù)流圖中的每個(gè)處理映射成軟件結(jié)構(gòu)中一個(gè)適當(dāng)?shù)哪K在數(shù)據(jù)流圖上,沿變換中心的輸入邊界開(kāi)始向外移動(dòng),將輸入通路中的每個(gè)處理映射成Ca模塊下的一個(gè)直接或間接低層模塊。在數(shù)據(jù)流圖上,沿變換中心的輸出邊界開(kāi)始向外移動(dòng),將輸出通路中的每個(gè)處理映射成Ce模塊下的一個(gè)直接或間接低層模塊.將變換中心內(nèi)的每個(gè)處理映射成Ct模塊下的一個(gè)直接或間接模塊。(4)精化軟件結(jié)構(gòu):適當(dāng)分解或合并模塊簡(jiǎn)要描述每個(gè)模塊(可以用IPO圖描述):①接口說(shuō)明②內(nèi)部邏輯描述③全局和局部數(shù)據(jù)結(jié)構(gòu)的說(shuō)明④設(shè)計(jì)約束和限制事務(wù):?由事務(wù)型數(shù)據(jù)流圖映射成的軟件結(jié)構(gòu)包括一個(gè)接收分支和一個(gè)發(fā)送分支.?映射出接收分支結(jié)構(gòu)的方法和變換分析映射出輸入結(jié)構(gòu)的方法很相像,即從事務(wù)中心的邊界開(kāi)始,把沿著接收流通路的處理映射成模塊.?發(fā)送分支的結(jié)構(gòu)包含一個(gè)調(diào)度模塊,它控制下層的所有活動(dòng)模塊;然后把數(shù)據(jù)流圖中的每個(gè)活動(dòng)流通路映射成與它的流特征相對(duì)應(yīng)的結(jié)構(gòu)。詳細(xì)設(shè)計(jì)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)的區(qū)別詳細(xì)地設(shè)計(jì)每個(gè)模塊,即確定完成每個(gè)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。1、總體設(shè)計(jì)的主要任務(wù)是把需求分析得到的系統(tǒng)擴(kuò)展用例圖轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)??傮w設(shè)計(jì)建立的是目標(biāo)系統(tǒng)的邏輯模型。2、詳細(xì)設(shè)計(jì)是軟件工程中軟件開(kāi)發(fā)的一個(gè)步驟,就是對(duì)總體設(shè)計(jì)的一個(gè)細(xì)化,就是詳細(xì)設(shè)計(jì)每個(gè)模塊實(shí)現(xiàn)算法,所需的局部結(jié)構(gòu).在詳細(xì)設(shè)計(jì)階段,主要是通過(guò)需求分析的結(jié)果,設(shè)計(jì)出滿(mǎn)足用戶(hù)需求的嵌入式系統(tǒng)產(chǎn)品。3、總體設(shè)計(jì)階段通常得到軟件結(jié)構(gòu)圖,詳細(xì)設(shè)計(jì)階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等。4、詳細(xì)設(shè)計(jì)階段就是為每個(gè)模塊完成的功能進(jìn)行具體的描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過(guò)程描述。掌握三種基本控制結(jié)構(gòu):順序、選擇和循環(huán)順序結(jié)構(gòu):順序結(jié)構(gòu)的程序設(shè)計(jì)是最簡(jiǎn)單的,只要按照解決問(wèn)題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。選擇結(jié)構(gòu):選擇程序結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來(lái)控制程序的流程。使用選擇結(jié)構(gòu)語(yǔ)句時(shí),要用條件表達(dá)式來(lái)描述條件。循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書(shū)寫(xiě)的工作量,用來(lái)描述重復(fù)執(zhí)行某段算法的問(wèn)題,這是程序設(shè)計(jì)中最能發(fā)揮計(jì)算機(jī)特長(zhǎng)的程序結(jié)構(gòu)。循環(huán)結(jié)構(gòu)可以看成是一個(gè)條件判斷語(yǔ)句和一個(gè)向回轉(zhuǎn)向語(yǔ)句的組合。循環(huán)結(jié)構(gòu)的三個(gè)要素:循環(huán)變量、循環(huán)體和循環(huán)終止條件?循環(huán)結(jié)構(gòu)在程序框圖中是利用判斷框來(lái)表示,判斷框內(nèi)寫(xiě)上條件,兩個(gè)出口分別對(duì)應(yīng)著條件成立和條件不成立時(shí)所執(zhí)行的不同指令,其中一個(gè)要指向循環(huán)體,然后再?gòu)难h(huán)體回到判斷框的入口處結(jié)構(gòu)化詳細(xì)設(shè)計(jì)的常見(jiàn)描述工具(1)圖形工具:程序流程圖、N-S圖、PAD圖(2)表格工具:判定表、判定樹(shù)(3)語(yǔ)言工具:過(guò)程設(shè)計(jì)語(yǔ)言(PDL)4.繪制程序流程圖(將盒圖、PDL轉(zhuǎn)換為程序流程圖)程序流程圖又稱(chēng)為程序框圖,它是歷史最悠久、使用最廣泛的一種描述程序邏輯結(jié)構(gòu)的工具,程序流程圖常用符號(hào)及基本控制結(jié)構(gòu)來(lái)描述.程序流程圖的基本符號(hào)編碼及測(cè)試白盒測(cè)試:邏輯覆蓋以程序內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),通過(guò)對(duì)程序邏輯結(jié)構(gòu)遍歷實(shí)現(xiàn)程序測(cè)試的覆蓋從覆蓋源程序語(yǔ)句的詳盡程度,可以分為語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、條件判定覆蓋、條件組合覆蓋和路徑覆蓋1)語(yǔ)句覆蓋:選擇足夠多的測(cè)試數(shù)據(jù),使被測(cè)程序中每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。執(zhí)行路徑(ace)可滿(mǎn)足要求,取條件:(A=2)and(B=0)測(cè)試用例:輸入數(shù)據(jù)(A,B,X)取值(2,0,4)輸出結(jié)果(A,B,X)的預(yù)期值為(2,0,3)2)判定覆蓋:使每個(gè)判定的每種可能結(jié)果至少執(zhí)行一次。執(zhí)行路徑(ace)和(abd)可滿(mǎn)足要求,取條件:(A=2)and(B=0)和(AWl)and(XWl)3)3)測(cè)試用例1:(A,B,X)的輸入值取(2,0,4);預(yù)期輸出值為(2,0,3)測(cè)試用例2:(A,B,X)的輸入值?。?,1,1);預(yù)期輸出值為(1,1,1)3)條件覆蓋:每個(gè)判定表達(dá)式中每個(gè)條件的可能取值至少執(zhí)行一次。每個(gè)判斷條件的可能取值:第一個(gè)判定表達(dá)式中條件1:AW1和A>1第一個(gè)判定表達(dá)式中條件2:B=0和BH0第二個(gè)判定表達(dá)式中條件1:AH2和A=2第二個(gè)判定表達(dá)式中條件2:X〉1和XW1測(cè)試用例1(取條件AW1、B=0、AH2、X〉1,通過(guò)路徑abe):(A,B,X)的輸入值取(1,0,3),預(yù)期輸出值為(1,0,4)測(cè)試用例2(取條件A〉1、BH0、A=2、XW1,通過(guò)路徑abe):(A,B,X)的輸入值取(2,1,1),預(yù)期輸出值為(2,1,2)4)判定/條件覆蓋:每個(gè)判定表達(dá)式中每個(gè)條件的可能取值至少執(zhí)行一次;同時(shí)每個(gè)判定表達(dá)式的可能判定結(jié)果至少執(zhí)行一次。每個(gè)判斷條件的可能取值:第一個(gè)判定表達(dá)式中條件1:AW1和A>1第一個(gè)判定表達(dá)式中條件2:B=0和BH0第二個(gè)判定表達(dá)式中條件1:AH2和A=2第二個(gè)判定表達(dá)式中條件2:X〉1和XW1測(cè)試用例1(取條件A〉1、B=0、A=2、X>1,通過(guò)路徑ace):(A,B,X)的輸入值?。?,0,4),預(yù)期輸出值為(2,0,3)測(cè)試用例2(取條件AW1、BH0、AH2、XW1,通過(guò)路徑abd):(A,B,X)的輸入值?。?,1,1),預(yù)期輸出值為(1,1,1)5)條件組合覆蓋:每個(gè)判定表達(dá)式中的所有可能的條件取值組合至少執(zhí)行一次。條件組合覆蓋:每個(gè)判定表達(dá)式中的所有可能的條件取值組合至少執(zhí)行一次.第一個(gè)判定表達(dá)式組合1:A>1和B=0;組合2:A〉1和BH0;組合3:AW1和B=0;組合4:AW1和BH0;第二個(gè)判定表達(dá)式組合5:A=2和X〉1;組合6:A=2和XW1;組合7:AH2和X〉1;組合8:AH2和XW1測(cè)試用例1(取組合1和5,執(zhí)行路徑ace):(A,B,X)的輸入值?。?,0,4),預(yù)期輸出值為(2,0,測(cè)試用例2(取組合2和6,執(zhí)行路徑abe):測(cè)試用例2(取組合2和6,執(zhí)行路徑a測(cè)試用例3(取組合3和7,執(zhí)行路徑abe):(A,B,X)的輸入值取(1,0,3),預(yù)期輸出值為(1,0,4)測(cè)試用例4(取組合4和8,執(zhí)行路徑abd):(A,B,X)的輸入值取(1,1,1),預(yù)期輸出值為(1,1,1)黑盒測(cè)試:邊界值劃分法經(jīng)驗(yàn)表明,程序在處理邊界情況時(shí)最容易發(fā)生錯(cuò)誤,從而設(shè)計(jì)使程序運(yùn)行在邊界情況附近的測(cè)試方案、暴露出程序錯(cuò)誤的可能性會(huì)更大些。邊界值分析法主要用來(lái)選擇等價(jià)類(lèi)的邊界值作為測(cè)試用例檢查程序邊界運(yùn)行情況,是一種補(bǔ)充等價(jià)分類(lèi)法的測(cè)試用例設(shè)計(jì)技術(shù)。取輸入等價(jià)類(lèi)和輸出等價(jià)類(lèi)的邊界值及邊界附近的值做測(cè)試用例:應(yīng)當(dāng)選取正好等于、剛剛大于、剛剛小于邊界的值作為測(cè)試數(shù)據(jù)。通常聯(lián)合使用等價(jià)劃分和邊界值分析兩種技術(shù)區(qū)分黑盒測(cè)試和白盒測(cè)試4.三個(gè)測(cè)試黑盒測(cè)試白盒測(cè)試階段,每個(gè)階段應(yīng)采用的測(cè)不涉及程序結(jié)構(gòu)考察程序邏輯結(jié)構(gòu)試方法1.單元測(cè)試:用軟件規(guī)格說(shuō)明書(shū)生成測(cè)試用例用程序結(jié)構(gòu)信息生成測(cè)試用例集中對(duì)用源代可適用于從單元測(cè)試到系統(tǒng)驗(yàn)收測(cè)試主要適用于單元測(cè)試和集成測(cè)試碼實(shí)現(xiàn)的每一個(gè)程序模塊進(jìn)某些代碼段得不到測(cè)試對(duì)所有邏輯路徑進(jìn)行測(cè)試行測(cè)試。?檢查每個(gè)單元(模塊)控制結(jié)構(gòu)中的特定路徑,以確保做到完全覆蓋并發(fā)現(xiàn)最大數(shù)量的錯(cuò)誤。?檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。?主要發(fā)現(xiàn)編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤.單元測(cè)試方法:主要使用白盒測(cè)試技術(shù)、輔助使用黑盒測(cè)試技術(shù)2?集成測(cè)試:把模塊裝配(即集成)在一起形成完整的軟件包,在裝配的同時(shí)進(jìn)行測(cè)試。?模塊相互間的協(xié)調(diào)和通信是集成測(cè)試過(guò)程中的主要問(wèn)題。?集成測(cè)試中將發(fā)現(xiàn)軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說(shuō)明中的錯(cuò)誤。集成測(cè)試常用黑盒測(cè)試方法,可能使用一定的白盒測(cè)試。3。確認(rèn)測(cè)試:驗(yàn)證軟件的有效性(功能和性能等)是否與用戶(hù)的要求一致,即軟件是否滿(mǎn)足需求規(guī)格說(shuō)明書(shū)中的確認(rèn)標(biāo)準(zhǔn)。確認(rèn)測(cè)試僅使用黑盒測(cè)試方法可靠性和可用性的區(qū)別軟件可靠性:程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說(shuō)明書(shū)的規(guī)定成功地運(yùn)行的概率。可靠性隨著給定的時(shí)間間隔的加大而減少軟件的可用性:程序在給定的時(shí)間點(diǎn),按照規(guī)格說(shuō)明書(shū)的規(guī)定成功地運(yùn)行的概率??煽啃砸馕吨?到t時(shí)間間隔內(nèi)系統(tǒng)沒(méi)有失效可用性意味著在時(shí)刻t,系統(tǒng)是正常運(yùn)行的面向?qū)ο蠓治觯?0A)三種面向?qū)ο竽P汀⒏髯员硎镜膬?nèi)容和表達(dá)工具對(duì)象模型對(duì)象模型描述了現(xiàn)實(shí)世界中的“類(lèi)與對(duì)象”以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。建立對(duì)象模型的信息來(lái)源:需求陳述、應(yīng)用領(lǐng)域知識(shí)及常識(shí)動(dòng)態(tài)模型在一些系統(tǒng)中,需要了解在所有時(shí)間內(nèi)對(duì)象的變化和對(duì)象之間關(guān)系的變遷,即時(shí)序關(guān)系.這就產(chǎn)生了一種與靜態(tài)結(jié)構(gòu)(對(duì)象模型)相對(duì)應(yīng)的、與時(shí)間和變化有關(guān)的內(nèi)容,即動(dòng)態(tài)模型。表達(dá)工具和步驟1、每個(gè)功能對(duì)應(yīng)的典型交互行為的腳本2、根據(jù)每個(gè)腳本畫(huà)事件追蹤圖3、根據(jù)事件追蹤圖畫(huà)每個(gè)類(lèi)(對(duì)象)的狀態(tài)圖功能模型功能模型由一組數(shù)據(jù)流圖或者一組用例圖組成功能模型表明一個(gè)計(jì)算如何從輸入值得到輸出值,它不考慮計(jì)算的次序。功能模型由多張數(shù)據(jù)流圖組成.數(shù)據(jù)流圖用來(lái)表示從源對(duì)象到目標(biāo)對(duì)象的數(shù)據(jù)值的流向,它不包含控制信息,控制信息在動(dòng)態(tài)模型中表示,同時(shí)數(shù)據(jù)流圖也不表示對(duì)象中值的組織,值的組織在對(duì)象模型中表示。系統(tǒng)數(shù)據(jù)流圖是一種表達(dá)功能模型的工具2。繪制類(lèi)圖、用例圖(用例之間《include》和《extend》關(guān)系)面向?qū)ο笤O(shè)計(jì)(OOD)OOA和OOD的聯(lián)系和區(qū)別。面向?qū)ο笤O(shè)計(jì)(00D)就是在面向?qū)ο蠓治瞿P突A(chǔ)上運(yùn)用面向?qū)ο蠓椒ㄟM(jìn)行系統(tǒng)設(shè)計(jì),目標(biāo)是產(chǎn)生一個(gè)符合具體實(shí)現(xiàn)條件的設(shè)計(jì)模型。00A和00D采用一致的概念與原則,但屬于軟件生命周期的不同階段,有不同的目標(biāo)。OOA目標(biāo)是建立一個(gè)直接映射問(wèn)題域的OOA模型OOD目標(biāo)是產(chǎn)生一個(gè)可以實(shí)現(xiàn)的OOD模型2。四個(gè)子系統(tǒng)都是什么?各自用什么圖表達(dá)?大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計(jì)模型,在邏輯上都可以劃分為:?jiǎn)栴}域子系統(tǒng):根據(jù)實(shí)現(xiàn)條件(編程語(yǔ)言、可復(fù)用構(gòu)件、設(shè)備性能、存儲(chǔ)方案等),對(duì)00A中建立的對(duì)象模型做必要的補(bǔ)充與調(diào)整。用類(lèi)圖表達(dá)人機(jī)交互子系統(tǒng):根據(jù)選用的圖形用戶(hù)界面(GUI)系統(tǒng)和特定用戶(hù)對(duì)人機(jī)界面的要求,定義關(guān)于人機(jī)界面的類(lèi)與對(duì)象及其關(guān)系.用界面類(lèi)圖表達(dá)任務(wù)管理子系統(tǒng):確定各類(lèi)任務(wù),并把任務(wù)分配給適當(dāng)?shù)挠布蜍浖?zhí)行。用集中式類(lèi)圖表達(dá)數(shù)據(jù)管理子系統(tǒng):根據(jù)選定的數(shù)據(jù)管理系統(tǒng),設(shè)計(jì)負(fù)責(zé)對(duì)象存儲(chǔ)和檢索的系統(tǒng)組成部分。用數(shù)據(jù)庫(kù)表表達(dá)面向?qū)ο髮?shí)現(xiàn)面向?qū)ο髥卧獪y(cè)試:最小的可測(cè)試單元(1)最小的可測(cè)試單元:封裝起來(lái)的類(lèi)&對(duì)象(2)不能孤立的測(cè)試單個(gè)操作,應(yīng)該把操作作為類(lèi)的一部分進(jìn)行測(cè)試2。面向?qū)ο鬁y(cè)試方法中:設(shè)計(jì)類(lèi)測(cè)試方法測(cè)試單個(gè)類(lèi)的方法主要有隨機(jī)測(cè)試、劃分測(cè)試和基于故障的測(cè)試3種。軟件項(xiàng)目管理軟件項(xiàng)目管理的任務(wù)通過(guò)計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以便在預(yù)定成本和期限內(nèi)開(kāi)發(fā)出符合既定需求的軟件的過(guò)程。主要職能:制定計(jì)劃:規(guī)定待完成的任務(wù)、要求、資源、人力和進(jìn)度等。建立組織:為實(shí)施計(jì)劃,保證任務(wù)的完成,需要建立分工明確的責(zé)任機(jī)構(gòu)。配備人員:任用各種層次的技術(shù)人員和管理人員。指導(dǎo):鼓勵(lì)、動(dòng)員、協(xié)調(diào)軟件人員完成所分配的任務(wù)?,F(xiàn)代程序員小組結(jié)構(gòu)(包含哪些類(lèi)人員)由行政組長(zhǎng),技術(shù)組長(zhǎng)和程序員組成度量軟件規(guī)模有哪兩種方法,各自的單位是什么?1。代碼行技術(shù):根據(jù)以往開(kāi)發(fā)類(lèi)似產(chǎn)品的經(jīng)驗(yàn)和數(shù)據(jù),估計(jì)實(shí)現(xiàn)軟件功能所需要的源程序行數(shù)。由多名有經(jīng)驗(yàn)的軟件工程師分別估計(jì)程序的最小規(guī)模a、最大規(guī)模b、最可能的規(guī)模m,分別算出這3種規(guī)模的平均值?則程序規(guī)模的估計(jì)值為:L=程序規(guī)模單位:代碼行數(shù)(LOC)或千行代碼數(shù)(KLOC)。2.功能點(diǎn)技術(shù):根據(jù)對(duì)軟件信息域特性和復(fù)雜性的評(píng)估結(jié)果,計(jì)算功能點(diǎn)數(shù),以此度量軟件規(guī)模。單位:功能點(diǎn)(FP)工作量估算單位,估算方法(3個(gè))靜態(tài)單變量模型:E=A+BX(ev)C,其中:E表示工作量;A、B、C是經(jīng)驗(yàn)常數(shù);ev表示軟件規(guī)模估算值(代碼行數(shù)或功能點(diǎn)數(shù))動(dòng)態(tài)多變量模型:E=[L0CXB0.333/P]3X(1/1)4其中:t是項(xiàng)目持續(xù)時(shí)間;B是技術(shù)因子(經(jīng)驗(yàn)常數(shù));P是生產(chǎn)率參數(shù)(經(jīng)驗(yàn)常數(shù));LOC表示軟件規(guī)模估算值(代碼行數(shù))?LOC值固定的情況下,通過(guò)延長(zhǎng)項(xiàng)目時(shí)間、可以降低工作量COCOMO2模型(COnstruetiveCOstModel構(gòu)造性成本模型):將軟件開(kāi)發(fā)工作量表示成代碼行數(shù)的非線(xiàn)性函數(shù)三個(gè)層次的估算模型:應(yīng)用系統(tǒng)組成模型:主要用于估算構(gòu)建原型的工作量、構(gòu)建原型時(shí)大量使用已有的構(gòu)件。早期設(shè)計(jì)模型:適用于體系結(jié)構(gòu)設(shè)計(jì)階段。后體系結(jié)構(gòu)模型:適用于完成體系結(jié)構(gòu)設(shè)計(jì)之后的軟件開(kāi)發(fā)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工車(chē)輛獎(jiǎng)勵(lì)合同范例
- 汕頭職業(yè)技術(shù)學(xué)院《Pthon數(shù)據(jù)分析與挖掘基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024至2030年身份證鑒別儀項(xiàng)目投資價(jià)值分析報(bào)告
- 超市貨品合同范例
- 2024至2030年梅香排骨項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年電感壓變器項(xiàng)目投資價(jià)值分析報(bào)告
- 窗簾合同范例照
- 涼亭鋼結(jié)構(gòu)施工合同范例
- 2024至2030年方形二次殺菌機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 陜西鐵路工程職業(yè)技術(shù)學(xué)院《工程地質(zhì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 鑄牢中華民族共同體意識(shí)-形考任務(wù)2-國(guó)開(kāi)(NMG)-參考資料
- 2025人教版九年級(jí)英語(yǔ)全冊(cè)知識(shí)點(diǎn)清單
- 交通運(yùn)輸行業(yè)員工安置方案
- 委托融資協(xié)議三篇
- 新《高等教育學(xué)》考試復(fù)習(xí)題及答案
- 山東省濟(jì)南市濟(jì)鋼高級(jí)中學(xué)2025屆物理高一上期末檢測(cè)試題含解析
- 黃山景區(qū)旅游客源消費(fèi)特征分析
- 生 物微生物的分布 課件-2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 2024年軍隊(duì)文職(教育學(xué))考前通關(guān)知識(shí)點(diǎn)必練題庫(kù)(含真題)
- LNG(天然氣)供氣站(氣化站)安全應(yīng)急救援預(yù)案
- 2024-2030年中國(guó)核醫(yī)學(xué)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論