版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、概論1. 軟件的定義軟件是計算機系統(tǒng)中與硬件相互依存的一個部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。其中,程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護和使用有關(guān)的圖文材料。2. 軟件工程的定義和三要素IEEE:軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法。 Fritz Bauer:建立并使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。三個要素:方法、工具和過程。方法為軟件開發(fā)提供了“如何做”的技術(shù)。它包括了多方面的任務(wù),如項目計劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計、
2、算法過程的設(shè)計、編碼、測試以及維護等。 工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,這些軟件工具集成起來,建立起稱之為計算機輔助軟件工程(CASE)的軟件開發(fā)支撐系統(tǒng)。CASE將各種軟件工具、開發(fā)機器和一個存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來形成一個軟件工程環(huán)境。 過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理、及軟件開發(fā)各個階段完成的里程碑。3. 軟件工程和軟件危機的關(guān)系現(xiàn)有軟件危機后有軟件工程為了解決軟件危機,既要有技術(shù)支持措施(方法和工
3、具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)兩方面研究如何更好的開發(fā)和維護計算機軟件的一門新興學科。4. 軟件生命周期的概念,劃分的三個時期和八個階段概念:軟件生命周期是軟件的產(chǎn)生直到報廢的生命周期三個時期:軟件定義,軟件開發(fā),運行維護8個階段:問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計、編碼、調(diào)試和測試、驗收與運行、維護升級到廢棄5. 理解結(jié)構(gòu)化軟件開發(fā)方法和面向?qū)ο筌浖_發(fā)方法結(jié)構(gòu)化開發(fā)方法:早期的程序開發(fā),如C語言,都是用結(jié)構(gòu)化開發(fā)方法。結(jié)構(gòu)化開發(fā)又叫做面向過程開發(fā),具體原理是將一個軟件分為多個過程(函數(shù))進行開發(fā),用結(jié)構(gòu)體管理數(shù)據(jù)。這種開發(fā)方式使得代碼的可讀性變得很低,并且代
4、碼難以移植。面向?qū)ο筌浖_發(fā)方法:這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實際上也包含了所有對象的數(shù)據(jù)結(jié)構(gòu)。6. 軟件生命周期模型(又稱做過程模型)各自階段、特點和適用項目瀑布模型階段:特點:1),階段間具有順序性和依賴性 2),推遲實現(xiàn)的觀點 3),質(zhì)量保證的觀點 瀑布模型適用于結(jié)構(gòu)化方法,也就是面向過程的軟件開發(fā)方法。規(guī)模小、需求明確、無須維護快速原型模型特點: 快速建立起能夠在計算機上運行的程序。 優(yōu)點: 軟件產(chǎn)品的開發(fā)基本上是線性的 缺點: 必須迅速地構(gòu)建原型然后根據(jù)用戶意見循序的修改原型 適用范圍: 用戶需求不明確,需要通過構(gòu)
5、建原型來清楚的了解用戶的真實需求。無須維護增量模型特點:增量模型的特點是引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發(fā)。雖然某個增量包可能還需要進一步適應(yīng)客戶的需求并且更改,但只要這個增量包足夠小,其影響對整個項目來說是可以承受的。增量模型具有較大的靈活性,適合于軟件需求不明確、設(shè)計方案有一定風險的軟件項目螺旋模型螺旋模型最大的特點在于引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構(gòu)建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統(tǒng)級的軟件應(yīng)用。噴泉模型噴泉模型適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程
6、。特點:相互迭代:軟件的某個部分常常被重復工作多次,相關(guān)對象在每次迭代中隨之加入漸進的軟件成分無間隙性:它在各項活動之間沒有明顯邊界RUP四個階段先啟階段:建立業(yè)務(wù)模型,定義最終產(chǎn)品視圖,并且確定項目的范圍。精化階段:設(shè)計并確定系統(tǒng)的體系結(jié)構(gòu),制定項目計劃,確定資源需求。構(gòu)建階段:開發(fā)出所有構(gòu)件和應(yīng)用程序,把它們集成為客戶需要的產(chǎn)品,并且詳盡地測試所有功能。移交階段:把開發(fā)出的產(chǎn)品提交給用戶使用。RUP最重要的它有三大特點:軟件開發(fā)是一個迭代過程軟件開發(fā)是由Use Case驅(qū)動的軟件開發(fā)是以架構(gòu)設(shè)計(Architectural Design)為中心的。RUP適用于大型軟件團隊開發(fā)大型項目。敏捷
7、過程 特點:具備可視、可集成和可運行使用的特點敏捷過程的適用于:軟件需求經(jīng)常變化或者需求變化比較大; 項目團隊與用戶之間進行溝通比較容易; 項目的開發(fā)風險比較高; 規(guī)模比較小,一般項目組成員在50 人之內(nèi); 項目團隊的成員能力比較強,而且具有責任感; 項目的可測試性比較好??尚行匝芯颗c需求分析1. 可行性研究和需求分析要解決的問題確定問題是否值得去解決;目標系統(tǒng)到底要做什么2. 軟件需求的含義、分類軟件需求:系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能。分類:業(yè)務(wù)需求、用戶需求和功能需求,非功能需求。 業(yè)務(wù)需求反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求,它們
8、在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。所謂特性是指邏輯上相關(guān)的功能需求的集合,給用戶提供處理能力并滿足業(yè)務(wù)需求。非功能需求,描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等。它包括產(chǎn)品必須遵從的標準、規(guī)范和合約;外部界面的具體細節(jié);性能要求;設(shè)計或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。所謂約束是指對開發(fā)人員在軟件產(chǎn)品設(shè)計和構(gòu)造上的限制。質(zhì)量屬性是通過多種角度對產(chǎn)品的特點進行描述,從而反映產(chǎn)品功能。多角度描述產(chǎn)品對用戶和開發(fā)人員都極為重要。3.
9、獲取用戶需求的常用方法電話,即時通訊工具,電子郵件,面對面交談,會議討論,定性定量結(jié)合的調(diào)查問卷,觀察,用戶日記分析法,將自己變成目標用戶等4. 需求分析的定義 需求分析是在可行性研究的基礎(chǔ)上進行的更細致的分析工作,是軟件定義時期的最后一個階段對軟件目標及范圍的求精和細化。通過調(diào)查研究和分析,充分了解用戶對軟件系統(tǒng)的要求,把用戶要求表達出來,解決“軟件系統(tǒng)必須做什么”的問題。5. 主流需求分析方法(結(jié)構(gòu)化分析建立的模型)1)步驟:確定系統(tǒng)邊界,畫出頂層DFD;自頂向下,對每個加工進行內(nèi)部分解,畫出分層DFD; 對數(shù)據(jù)流圖進行復審求精。2)分層優(yōu)點:便于實現(xiàn)采用逐步細化的擴展方法,利于控制問題復
10、雜度;一組圖代替一張總圖,業(yè)務(wù)人員可選擇相關(guān)圖形。3)畫分層DFD圖的指導原則:注意父子圖的平衡;區(qū)分局部文件和局部外部項;掌握分解速度;遵守加工編號規(guī)則;確定數(shù)據(jù)定義和加工策略。6. 繪制數(shù)據(jù)流圖(DFD)按照軟件內(nèi)部數(shù)據(jù)傳遞、變換關(guān)系,自頂向下逐層分解軟件的功能,建立軟件系統(tǒng)的邏輯模型。數(shù)據(jù)流圖基本元素DFD實例:儲戶到銀行取款數(shù)據(jù)流圖的畫法: 自外向內(nèi),自頂向下,逐層細化,逐步求精 畫頂層數(shù)據(jù)流圖: 包括系統(tǒng)的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流、I/O數(shù)據(jù)流的源 點和終點、一個處理(代表整個系統(tǒng))。 l頂層DFD表示系統(tǒng)的范圍、系統(tǒng)和外界的數(shù)據(jù)交換關(guān)系。 畫分層數(shù)據(jù)流圖: 按功能將一個處理逐步細化成
11、若干處理;最低層數(shù)據(jù)流 圖中的處理稱為“原子處理”,表示獨立的功能。l畫數(shù)據(jù)流圖的注意事項: 每個處理至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流。 數(shù)據(jù)流圖的細化過程中,要保持信息的連續(xù)性(信息平衡) 當把一個處理分解為一系列處理時,分解前和分解后的輸入/輸出數(shù)據(jù)流必須相同。 圖中每個元素都要恰當命名。 對處理進行合理編號。數(shù)據(jù)流圖的繪制步驟 (1)頂層DFD: 確定整個系統(tǒng)的輸入數(shù)據(jù)流及其源點、輸出數(shù)據(jù)流及其 終點;把整個系統(tǒng)作為一個處理(加工)。 (2)一層DFD: 確定系統(tǒng)的主要處理功能,按此將整個系統(tǒng)(頂層DFD中 的處理)分解成若干個處理(加工),確定每個處理的 輸入與
12、輸出數(shù)據(jù)流以及與這些處理有關(guān)的數(shù)據(jù)存儲。 (3)根據(jù)自頂向下,逐層分解的原則,對上層圖中全部或部 分處理進行分解。 (4)重復步驟(3),直到逐層分解結(jié)束。工具:Microsoft Office Visio總體設(shè)計1. 總體設(shè)計的概念,任務(wù)(DFD映射為MSD)將軟件需求轉(zhuǎn)化為系統(tǒng)結(jié)構(gòu)(程序結(jié)構(gòu)、接口)和數(shù)據(jù)結(jié)構(gòu)。通過仔細分析軟件需求規(guī)格說明,確定組成系統(tǒng)的模塊及各模塊之間的關(guān)系,設(shè)計出完成預定功能的模塊結(jié)構(gòu)(軟件結(jié)構(gòu)),并建立接口。2. 模塊和模塊化的含義模塊是由邊界元素限定的程序單元,是構(gòu)成程序的基本構(gòu)件,是指用一個名字可以調(diào)用的一段程序語句。例如子程序、函數(shù)、過程
13、和宏等都可以作為模塊。模塊化就是將程序劃分成獨立命名且可獨立訪問的若干模塊,每個模塊完成一個子功能;將模塊集成起來構(gòu)成一個整體,完成指定的系統(tǒng)功能。3. 什么是模塊獨立性;如何度量和設(shè)計模塊獨立性(幾種內(nèi)聚和耦合的強弱,高內(nèi)聚低耦合)模塊獨立性是指模塊內(nèi)部各部分之間、以及模塊之間關(guān)系的一種度量標準。模塊獨立性的含義為:軟件結(jié)構(gòu)中的每個模塊完成一個相對獨立的特定子功能,并且和其它模塊的接口是簡單的。度量:模塊之間的耦合盡可能弱;每個模塊的內(nèi)聚盡可能強。內(nèi)聚:偶然內(nèi)聚:邏輯內(nèi)聚:時間內(nèi)聚:過程內(nèi)聚:通信內(nèi)聚:順序內(nèi)聚;功能內(nèi)聚4. 變換分析設(shè)計方法和事務(wù)設(shè)計分析方法變換:(1)分析具有變換特征的數(shù)
14、據(jù)流圖,確定輸入流和輸出流的邊界、孤立出變換中心(2) 完成一級分解,設(shè)計軟件結(jié)構(gòu)的頂層和第二層l 頂層模塊Cm :代表系統(tǒng) l 第二層模塊: 輸入信息處理模塊Ca :協(xié)調(diào)對所有輸入數(shù)據(jù)的接收 變換中心控制模塊Ct :管理對內(nèi)部形式的數(shù)據(jù)的所有 操作 輸出信息處理控制模塊Ce :協(xié)調(diào)輸出信息的產(chǎn)生過程 3)完成二級分解:把數(shù)據(jù)流圖中的每個處理映射成軟件結(jié)構(gòu)中一個適當?shù)哪K在數(shù)據(jù)流圖上,沿變換中心的輸入邊界開始向外移動,將輸入通路中的每個處理映射成Ca模塊下的一個直接或間接低層模塊。在數(shù)據(jù)流圖上,沿變換中心的輸出邊界開始向外移動,將輸出通路中的每個處理映射成Ce模塊下的一個直
15、接或間接低層模塊。將變換中心內(nèi)的每個處理映射成Ct模塊下的一個直接或間接模塊。(4)精化軟件結(jié)構(gòu):適當分解或合并模塊(5)簡要描述每個模塊(可以用IPO圖描述):接口說明 內(nèi)部邏輯描述 全局和局部數(shù)據(jù)結(jié)構(gòu)的說明 設(shè)計約束和限制事務(wù):由事務(wù)型數(shù)據(jù)流圖映射成的軟件結(jié)構(gòu)包括一個接收分支和一個發(fā)送分支。映射出接收分支結(jié)構(gòu)的方法和變換分析映射出輸入結(jié)構(gòu)的方法很相像,即從事務(wù)中心的邊界開始,把沿著接收流通路的處理映射成模塊。發(fā)送分支的結(jié)構(gòu)包含一個調(diào)度模塊,它控制下層的所有活動模塊;然后把數(shù)據(jù)流圖中的每個活動流通路映射成與它的流特征相對應(yīng)的結(jié)構(gòu)。詳細設(shè)計1. 總體設(shè)計和詳細設(shè)計的區(qū)別詳細地設(shè)計每個模塊,即確
16、定完成每個模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。1、總體設(shè)計的主要任務(wù)是把需求分析得到的系統(tǒng)擴展用例圖轉(zhuǎn)換為軟件結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)??傮w設(shè)計建立的是目標系統(tǒng)的邏輯模型.2、詳細設(shè)計是軟件工程中軟件開發(fā)的一個步驟,就是對總體設(shè)計的一個細化,就是詳細設(shè)計每個模塊實現(xiàn)算法,所需的局部結(jié)構(gòu)。在詳細設(shè)計階段,主要是通過需求分析的結(jié)果,設(shè)計出滿足用戶需求的嵌入式系統(tǒng)產(chǎn)品。3、總體設(shè)計階段通常得到軟件結(jié)構(gòu)圖,詳細設(shè)計階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等 。4、詳細設(shè)計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過程描述。2. 掌握三種基本控制結(jié)構(gòu):順序、選擇和循
17、環(huán)順序結(jié)構(gòu):順序結(jié)構(gòu)的程序設(shè)計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。選擇結(jié)構(gòu):選擇程序結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程。使用選擇結(jié)構(gòu)語句時,要用條件表達式來描述條件。循環(huán)結(jié)構(gòu) :循環(huán)結(jié)構(gòu)可以減少源程序重復書寫的工作量,用來描述重復執(zhí)行某段算法的問題,這是程序設(shè)計中最能發(fā)揮計算機特長的程序結(jié)構(gòu) 。循環(huán)結(jié)構(gòu)可以看成是一個條件判斷語句和一個向回轉(zhuǎn)向語句的組合。循環(huán)結(jié)構(gòu)的三個要素:循環(huán)變量、循環(huán)體和循環(huán)終止條件. 循環(huán)結(jié)構(gòu)在程序框圖中是利用判斷框來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件成立和條件
18、不成立時所執(zhí)行的不同指令,其中一個要指向循環(huán)體,然后再從循環(huán)體回到判斷框的入口處2. 結(jié)構(gòu)化詳細設(shè)計的常見描述工具(1)圖形工具:程序流程圖、N-S圖、PAD圖(2)表格工具:判定表 、判定樹 (3)語言工具:過程設(shè)計語言(PDL)4. 繪制程序流程圖(將盒圖、PDL轉(zhuǎn)換為程序流程圖) 程序流程圖又稱為程序框圖,它是歷史最悠久、使用最廣泛的一種描述程序邏輯結(jié)構(gòu)的工具,程序流程圖常用符號及基本控制結(jié)構(gòu)來描述。程序流程圖的基本符號編碼及測試1. 白盒測試:邏輯覆蓋以程序內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ),通過對程序邏輯結(jié)構(gòu)遍歷實現(xiàn)程序測試的覆蓋 從覆蓋源程序語句的詳盡程度,可以分為語句覆蓋、判定覆蓋、條件覆蓋、條
19、件判定覆蓋、條件組合覆蓋和路徑覆蓋 1) 語句覆蓋:選擇足夠多的測試數(shù)據(jù),使被測程序中每一可執(zhí)行語句至少執(zhí)行一次。執(zhí)行路徑(aàcàe)可滿足要求, 取條件: (A=2)and(B=0)測試用例:輸入數(shù)據(jù)(A,B,X)取值(2,0,4) 輸出結(jié)果(A,B,X)的預期值為(2,0,3)2)判定覆蓋:使每個判定的每種可能結(jié)果至少執(zhí)行一次。執(zhí)行路徑(aàcàe)和(aàbàd) 可滿足要求,取條件: (A=2)and(B=0)和(A1)and(X1) 測試用例1:(A,B,X)的輸入值取(2,0,4);預期輸出值為(2,0,3)
20、測試用例2:(A,B,X)的輸入值取(1,1,1);預期輸出值為(1,1,1)3)條件覆蓋:每個判定表達式中每個條件的可能取值至少執(zhí)行一次。 每個判斷條件的可能取值: 第一個判定表達式中條件1:A1 和 A>1 第一個判定表達式中條件2:B0 和 B0 第二個判定表達式中條件1:A2 和 A2 第二個判定表達式中條件2:X>1 和 X1 測試用例1 (取條件A1、B0、A2、X>1,通過路徑aàbàe ):(A,B,X)的輸入值取(1,0,3),預期輸出值為(1,0,4)測試用例2 (取條件A>1、B0、A=2、X1,通過路徑aà
21、bàe ):(A,B,X)的輸入值?。?,1,1),預期輸出值為(2,1,2)4)判定/條件覆蓋:每個判定表達式中每個條件的可能取值至少執(zhí)行一次;同時每個判定表達式的可能判定結(jié) 果至少執(zhí)行一次。每個判斷條件的可能取值:第一個判定表達式中條件1:A1 和 A>1 第一個判定表達式中條件2:B0 和 B0 第二個判定表達式中條件1:A2 和 A2第二個判定表達式中條件2:X>1 和 X1測試用例1(取條件A>1、B0、A=2、X>1,通過路徑aàcàe ):(A,B,X)的輸入值取(2,0,4),預期輸出值為(2,0,3)測試用例2(取條件A1
22、、B0、A2、X1,通過路徑aàbàd):(A,B,X)的輸入值?。?,1,1),預期輸出值為(1,1,1)5)條件組合覆蓋:每個判定表達式中的所有可能的條件取值組合至少執(zhí)行一次。 條件組合覆蓋:每個判定表達式中的所有可能的條件取值組合至少執(zhí)行一次。 第一個判定表達式 組合1:A>1和 B0; 組合2:A>1和 B0; 組合3:A1和 B0; 組合4:A1和 B0; 第二個判定表達式 組合5:A2和 X>1; 組合6:A=2和 X1; 組合7:A2和 X>1; 組合8:A2和 X1測試用例1(取組合1和5,執(zhí)行路徑aàcàe ):
23、(A,B,X)的輸入值?。?,0,4),預期輸出值為(2,0,3)測試用例2(取組合2和6,執(zhí)行路徑aàbàe ):(A,B,X)的輸入值取(2,1,1),預期輸出值為(2,1,2)測試用例3(取組合3和7 ,執(zhí)行路徑aàbàe ):(A,B,X)的輸入值?。?,0,3),預期輸出值為(1,0,4)測試用例4(取組合4和8 ,執(zhí)行路徑aàbàd):(A,B,X)的輸入值取(1,1,1),預期輸出值為(1,1,1)2. 黑盒測試:邊界值劃分法 經(jīng)驗表明,程序在處理邊界情況時最容易發(fā)生錯誤,從而設(shè)計使程序運行在邊界情況附近的測試方案、暴露
24、出程序錯誤的可能性會更大些。邊界值分析法主要用來選擇等價類的邊界值作為測試用例檢查程序邊界運行情況,是一種補充等價分類法的測試用例設(shè)計技術(shù)。取輸入等價類和輸出等價類的邊界值及邊界附近的值做測試用例:應(yīng)當選取正好等于、剛剛大于、剛剛小于邊界的值作為測試數(shù)據(jù)。通常聯(lián)合使用等價劃分和邊界值分析兩種技術(shù)3. 區(qū)分黑盒測試和白盒測試黑盒測試白盒測試不涉及程序結(jié)構(gòu)考察程序邏輯結(jié)構(gòu)用軟件規(guī)格說明書生成測試用例用程序結(jié)構(gòu)信息生成測試用例可適用于從單元測試到系統(tǒng)驗收測試主要適用于單元測試和集成測試某些代碼段得不到測試對所有邏輯路徑進行測試4. 三個測試階段,每個階段應(yīng)采用的測試方法1.單元測試:集中對用源代碼實
25、現(xiàn)的每一個程序模塊進行測試。 檢查每個單元(模塊)控制結(jié)構(gòu)中的特定路徑,以確保做到完全覆蓋并發(fā)現(xiàn)最大數(shù)量的錯誤。 檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。 主要發(fā)現(xiàn)編碼和詳細設(shè)計的錯誤。單元測試方法:主要使用白盒測試技術(shù)、輔助使用黑盒測試技術(shù)2.集成測試:把模塊裝配(即集成)在一起形成完整的軟件包,在裝配的同時進行測試。 模塊相互間的協(xié)調(diào)和通信是集成測試過程中的主要問題。 集成測試中將發(fā)現(xiàn)軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。集成測試常用黑盒測試方法,可能使用一定的白盒測試。3.確認測試:驗證軟件的有效性(功能和性能等)是否與用戶的要求一致,即軟件是否滿足需求規(guī)格說明書中的確認標準
26、。確認測試僅使用黑盒測試方法5. 可靠性和可用性的區(qū)別軟件可靠性:程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率??煽啃噪S著給定的時間間隔的加大而減少軟件的可用性:程序在給定的時間點,按照規(guī)格說明書的規(guī)定成功地運行的概率??煽啃砸馕吨?到t時間間隔內(nèi)系統(tǒng)沒有失效可用性意味著在時刻t,系統(tǒng)是正常運行的面向?qū)ο蠓治觯∣OA)1. 三種面向?qū)ο竽P?、各自表示的?nèi)容和表達工具對象模型對象模型描述了現(xiàn)實世界中的“類與對象”以及它們之間的關(guān)系,表示了目標系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。建立對象模型的信息來源:需求陳述、應(yīng)用領(lǐng)域知識及常識動態(tài)模型在一些系統(tǒng)中,需要了解在所有時間內(nèi)對象的變化和對象之間關(guān)系
27、的變遷,即時序關(guān)系。這就產(chǎn)生了一種與靜態(tài)結(jié)構(gòu)(對象模型)相對應(yīng)的、與時間和變化有關(guān)的內(nèi)容,即動態(tài)模型。表達工具和步驟1、每個功能對應(yīng)的典型交互行為的腳本2、根據(jù)每個腳本畫事件追蹤圖3、根據(jù)事件追蹤圖畫每個類(對象)的狀態(tài)圖功能模型功能模型由一組數(shù)據(jù)流圖或者一組用例圖組成功能模型表明一個計算如何從輸入值得到輸出值,它不考慮計算的次序。功能模型由多張 數(shù)據(jù)流圖組成。 數(shù)據(jù)流圖用來表示從源對象到目標對象的數(shù)據(jù)值的流向,它不包含控制信息,控制信息在 動態(tài)模型中表示,同時數(shù)據(jù)流圖也不表示對象中值的組織,值的組織在對象模型中表示。系統(tǒng)數(shù)據(jù)流圖是一種表達功能模型的工具2. 繪制類圖、用例圖(用例之間incl
28、ude和 extend關(guān)系)面向?qū)ο笤O(shè)計(OOD)1. OOA和OOD的聯(lián)系和區(qū)別。 面向?qū)ο笤O(shè)計(OOD)就是在面向?qū)ο蠓治瞿P突A(chǔ)上運用面向?qū)ο蠓椒ㄟM行系統(tǒng)設(shè)計,目標是產(chǎn)生一個符合具體實現(xiàn)條件的設(shè)計模型。OOA和OOD采用一致的概念與原則,但屬于軟件生命周期的不同階段,有不同的目標。 OOA目標是建立一個直接映射問題域的OOA模型OOD目標是產(chǎn)生一個可以實現(xiàn)的OOD模型2. 四個子系統(tǒng)都是什么?各自用什么圖表達?大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計模型,在邏輯上都可以劃分為:問題域子系統(tǒng): 根據(jù)實現(xiàn)條件(編程語言、可復用構(gòu)件、設(shè)備性能、存儲方案等),對OOA中建立的對象模型做必要的補充與調(diào)整。用類圖表
29、達人機交互子系統(tǒng): 根據(jù)選用的圖形用戶界面(GUI)系統(tǒng)和特定用戶對人機界面的要求,定義關(guān)于人機界面的類與對象及其關(guān)系。用界面類圖表達任務(wù)管理子系統(tǒng): 確定各類任務(wù),并把任務(wù)分配給適當?shù)挠布蜍浖?zhí)行。用集中式類圖表達數(shù)據(jù)管理子系統(tǒng):根據(jù)選定的數(shù)據(jù)管理系統(tǒng),設(shè)計負責對象存儲和檢索的系統(tǒng)組成部分。用數(shù)據(jù)庫表表達面向?qū)ο髮崿F(xiàn)1. 面向?qū)ο髥卧獪y試:最小的可測試單元 (1)最小的可測試單元:封裝起來的類&對象(2)不能孤立的測試單個操作,應(yīng)該把操作作為類的一部分進行測試2. 面向?qū)ο鬁y試方法中:設(shè)計類測試方法測試單個類的方法主要有隨機測試、劃分測試和基于故障的測試3種。軟件項目管理1. 軟
30、件項目管理的任務(wù) 通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以便在預定成本和期限內(nèi)開發(fā)出符合既定需求的軟件的過程。主要職能:制定計劃:規(guī)定待完成的任務(wù)、要求、資源、人力和進度等。建立組織:為實施計劃,保證任務(wù)的完成,需要建立分工明確的責任機構(gòu)。配備人員:任用各種層次的技術(shù)人員和管理人員。指導:鼓勵、動員、協(xié)調(diào)軟件人員完成所分配的任務(wù)。2. 現(xiàn)代程序員小組結(jié)構(gòu)(包含哪些類人員)由行政組長,技術(shù)組長和程序員組成3. 度量軟件規(guī)模有哪兩種方法,各自的單位是什么?1.代碼行技術(shù):根據(jù)以往開發(fā)類似產(chǎn)品的經(jīng)驗和數(shù)據(jù),估計實現(xiàn)軟件功能所需要的源程序行數(shù)。由多名有經(jīng)驗的軟件工程師分別估計程序
31、的最小規(guī)模a、最大規(guī)模b、最可能的規(guī)模m,分別算出這3種規(guī)模的平均值。則程序規(guī)模的估計值為:L= 程序規(guī)模單位:代碼行數(shù)(LOC) 或千行代碼數(shù)(KL0C) 。2功能點技術(shù):根據(jù)對軟件信息域特性和復雜性的評估結(jié)果,計算功能點數(shù),以此度量軟件規(guī)模。 單位:功能點(FP)4. 工作量估算單位,估算方法(3個)1. 靜態(tài)單變量模型: E=A+B×(ev)C,其中:E表示工作量;A、B、C是經(jīng)驗常數(shù); ev表示軟件規(guī)模估算值(代碼行數(shù)或功能點數(shù))2.動態(tài)多變量模型:E=LOC×B0.333/P3×(1/t)4其中:t是項目持續(xù)時間;B是技術(shù)因子(經(jīng)驗常數(shù)); P是生產(chǎn)率參數(shù)(經(jīng)驗常數(shù));LOC表示軟件規(guī)模估算值(代碼行數(shù))LOC值固定的情況下,通過延長項目時間、可以降低工作量3.COCOMO2模型(COnstructive COst Model 構(gòu)造性成本模型): 將軟件開發(fā)工作量表示成代碼行數(shù)的非線性函數(shù)三個層次的估算模型: (1)應(yīng)用系統(tǒng)組成模型:主要用于估算構(gòu)建原型的工作量、構(gòu)建原型時大量使用已有的構(gòu)件。 (2)早期設(shè)計模型:適用于體系結(jié)構(gòu)設(shè)計階段。 (3)后體系結(jié)構(gòu)模型:適用于完成體系結(jié)構(gòu)設(shè)計之后的軟件開發(fā)階段。5.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年高鐵施工現(xiàn)場食堂運營管理承包合同樣本3篇
- 二零二五年度煤炭運輸合同-煤炭運輸合同安全教育培訓協(xié)議4篇
- 2025年度房地產(chǎn)代理銷售服務(wù)合同4篇
- 2025年度煤炭開采居間代理合同示范文本16篇
- 2025年消防水電工程綠色施工與環(huán)保合同范本2篇
- 二零二五版農(nóng)業(yè)科技企業(yè)股東責任免除與鄉(xiāng)村振興協(xié)議3篇
- 2025年老舊小區(qū)物業(yè)改造及更新服務(wù)合同3篇
- 二零二五年度智能家居鋁合金門窗定制設(shè)計與施工合同4篇
- 二零二五年度綠色能源項目買賣合同標的分析4篇
- 2025年煙葉批發(fā)商專用運輸服務(wù)合同范本5篇
- 深圳2024-2025學年度四年級第一學期期末數(shù)學試題
- 中考語文復習說話要得體
- 《工商業(yè)儲能柜技術(shù)規(guī)范》
- 華中師范大學教育技術(shù)學碩士研究生培養(yǎng)方案
- 醫(yī)院醫(yī)學倫理委員會章程
- 風浪流耦合作用下錨泊式海上試驗平臺的水動力特性試驗
- 公司7s管理組織實施方案
- Q∕GDW 12147-2021 電網(wǎng)智能業(yè)務(wù)終端接入規(guī)范
- 仁愛英語單詞默寫本(全六冊)英譯漢
- 公園廣場綠地文化設(shè)施維修改造工程施工部署及進度計劃
- 塑料件缺陷匯總
評論
0/150
提交評論