軟件工程課堂筆記.精簡版.教學(xué)提綱_第1頁
軟件工程課堂筆記.精簡版.教學(xué)提綱_第2頁
軟件工程課堂筆記.精簡版.教學(xué)提綱_第3頁
軟件工程課堂筆記.精簡版.教學(xué)提綱_第4頁
軟件工程課堂筆記.精簡版.教學(xué)提綱_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程課堂筆記.精簡版.第一個增量模型往往是核心部分的產(chǎn)品,它實現(xiàn)了軟件的基本需求,但很多已經(jīng)明晰或者尚不明晰的補充特性還沒有發(fā)布。每個增量的開發(fā)可用瀑布或快速原型模型。和原型模型不一樣的是,增量模型雖然也具有“迭代”特征,但是每一個增量都發(fā)布一個可操作的產(chǎn)品,不妨稱之為“產(chǎn)品擴充迭代”。它的早期產(chǎn)品是最終產(chǎn)品的可拆卸版本,每一個版本都能夠提供給用戶實際使用。優(yōu)缺點優(yōu)缺點: 優(yōu)點:能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。用戶有較充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品。易于保證核心功能正確??梢曰谠缙诎姹緛慝@取需求。項目完全失敗的風(fēng)險小??梢詾槟切﹦?chuàng)新的功能開拓市場。規(guī)避了資源缺乏的風(fēng)險。 缺點:

2、把用戶需求轉(zhuǎn)化為功能遞增的不同版本可能比較難。以確定所有版本共需的公用模塊。存在問題: 如果你的客戶要求你在一個不可能完成的時間提交產(chǎn)品,向他建議只提交一個或幾個增量,此后再提交軟件的其他增量。 增量和原型的比較: 任何增量的處理流程均可結(jié)合原型實現(xiàn);增量模型與原型相同,本質(zhì)上都是迭代的;增量模型強調(diào)每個增量都 是可操作的;早期的增量是整體的一部分,而原型最終要被拋棄。4. 原型開發(fā):原型開發(fā):經(jīng)過的活動: 溝通快速策劃建??焖僭O(shè)計構(gòu)建原型部署交付及反饋(組成一個圓圈)優(yōu)缺點優(yōu)缺點:優(yōu)點:用戶能夠感受到實際系統(tǒng);開發(fā)者能很快建造出一些東西。存在問題:開發(fā)者沒有考慮整體軟件質(zhì)量和長期的可維護性;

3、開發(fā)者往往在實現(xiàn)過程中采用折中的手段。客戶提出了一些基本功能,但未詳細定義輸入、處理和輸出需求;開發(fā)人員可能對開發(fā)運行環(huán)境、算法效率、 操作系統(tǒng)的兼容性和人機交互等情況不確定。這些情況下,采用原型開發(fā)。對于要求把一個粗糙的原型系統(tǒng)變?yōu)楣ぷ鳟a(chǎn)品的壓力,建議盡量抵制。這樣做的結(jié)果往往是產(chǎn)品質(zhì)量受到損害。5. 螺旋模型螺旋模型經(jīng)過的活動: (五個關(guān)鍵詞形成一個螺旋)溝通。策劃:項目估算、制定進度計劃、風(fēng)險分析; 建模:分析、設(shè)計。構(gòu)建:編碼、測試。部署:交付、反饋。 優(yōu)缺點優(yōu)缺點:隨著過程進展演化,開發(fā)者和客戶能夠更好地理解和對待每個演化級別上的風(fēng)險,適合于大型系統(tǒng)及 軟件的開發(fā)。使用原型實現(xiàn)作為降

4、低風(fēng)險的機制,并在開發(fā)的任意階段均可使用原型實現(xiàn)。更真實的反映了現(xiàn)實世界。如應(yīng)用得當(dāng),能在風(fēng)險變成問題之前降低它。模型的成功依賴于風(fēng)險評估的專門技術(shù)。是一個較新的模型,功效的確定尚需若干年時間。存在問題:很難說服客戶演進的方法是可控的。依賴大量的風(fēng)險評估專家保證成功,如果風(fēng)險沒被發(fā)現(xiàn),會發(fā)生問題。6.協(xié)同開發(fā)模型協(xié)同開發(fā)模型:定義一系列事件,觸發(fā)軟件工作活動、動作或者任務(wù)的狀態(tài)轉(zhuǎn)換。更適合于client/server 應(yīng)用。定義一個過程網(wǎng)絡(luò)活動代替一個事件的序列。7. 各種模型的比較各種模型的比較:8.統(tǒng)一過程統(tǒng)一過程(UPUnified Process):宗旨:用例驅(qū)動,以架構(gòu)為核心,迭代并

5、且增量。統(tǒng)一過程的階段:起始階段包括客戶溝通和策劃活動。細化階段包括溝通和通用過程模型的建模活動。構(gòu)建階段與通用軟件過程中的構(gòu)建活動相同。轉(zhuǎn)換階段包括通用構(gòu)建活動的后期階段以及通用部署(交付和反饋)活動的第一部分。生產(chǎn)階段與通用過程的部署活動一致。5個過程并非順序進行,而是階段性并發(fā)進行。例題:以下情況下應(yīng)該采用什么過程模型?例題:以下情況下應(yīng)該采用什么過程模型?(1)客戶不太清楚待開發(fā)的系統(tǒng)需要提供什么服務(wù)。答:原型(2)開發(fā)團隊了解待開發(fā)軟件的相關(guān)領(lǐng)域知識,盡管此系統(tǒng)龐大,但其較已經(jīng)開發(fā)的系統(tǒng)差異并不大。答:瀑布(3)軟件的功能是把讀入的浮點數(shù)開平方,所得到的結(jié)果應(yīng)該精確到小數(shù)點后 4 位

6、。答:瀑布(4)開發(fā)一個已發(fā)布軟件的新版本,公司規(guī)定了嚴(yán)格的完成期限,并對外公布。答:增量(5)汽車防鎖死剎車控制系統(tǒng)。答:螺旋(6)大學(xué)記賬系統(tǒng),準(zhǔn)備替換一個已存在的系統(tǒng)。答:瀑布(7)一個位于火車站的交互式火車車次查詢系統(tǒng)。答: 原型CH03 敏捷開發(fā)敏捷開發(fā)1. 敏捷的概念敏捷的概念:它是一種軟件開發(fā)方法論,可以應(yīng)對客戶快速變更的需求。它強調(diào)以人為核心,采用迭代的方式, 循序漸進的開發(fā)軟件。特別適用于 web 應(yīng)用開發(fā)。2. 敏捷原則敏捷原則:通過盡早、持續(xù)交付有價值的軟件來使客戶滿意。即使在開發(fā)后期,也歡迎需求變更。經(jīng)常交付可工作軟件。業(yè)務(wù)人員和開發(fā)人員必須在一起。圍繞受激勵的個人構(gòu)建

7、項目。最有效的信息傳遞方法是面對面交談。3. 敏捷的特點敏捷的特點:工作軟件是進度的首要度量標(biāo)準(zhǔn)。提倡可持續(xù)的開發(fā)速度。不斷關(guān)注優(yōu)秀的技能和設(shè)計。簡單是必要的。好的架構(gòu)、需求和設(shè)計出于自組織團隊。定期反省,并相應(yīng)調(diào)整自己的行為。允許項目團隊調(diào)整并合理安排任務(wù);理解敏捷開發(fā)方法的易變性并制定計劃;精簡并維持最基本的工作產(chǎn)品; 強調(diào)增量交付策略;快速向用戶提供適應(yīng)產(chǎn)品和運行環(huán)境的可運行軟件。4.極限編程極限編程 XP(eXtreme Programming)為實施XP的全部工作定義了五個有重要意義的要素:溝通、簡明、反饋、鼓勵和尊重。策劃:建立一系列描述待開發(fā)軟件必要特征與功能的“故事”評估每一個

8、故事(即優(yōu)先級),并給出以開發(fā)周數(shù)為度量單位的成本客戶和 XP 團隊共同決定如何把故事分組并置于將要開發(fā)的下一個發(fā)行版本中(下一個軟件增量)形成關(guān)于一個發(fā)布版本的基本承諾在第一個版本發(fā)布之后,XP 團隊計算項目的速度。對待開發(fā)的故事排序方法:所有選定故事在幾周內(nèi)盡快實現(xiàn);具有最高權(quán)值的故事移到進度表前 面先實現(xiàn);高風(fēng)險故事將首先實現(xiàn)。項目速度:第一個發(fā)行版本中實現(xiàn)的客戶故事個數(shù)。用于后續(xù)發(fā)行版本的發(fā)布日期和進度安排,調(diào)整軟件發(fā)型內(nèi)容和最終交付日期。設(shè)計嚴(yán)格遵循 KIS(Keep it simple)原則鼓勵使用 CRC 卡,CRC(類-責(zé)任-協(xié)作者)卡確定和組織與當(dāng)前軟件增量相關(guān)的面向?qū)ο蟮念?/p>

9、。在某個故事設(shè)計中遇到困難時,立即建立這部分設(shè)計的可執(zhí)行原型,實現(xiàn)并評估設(shè)計原型(被稱為 Spike解決方案)鼓勵“重構(gòu)”,重構(gòu)是以不改變代碼外部行為(如函數(shù)的輸入輸出)而改進內(nèi)部結(jié)構(gòu)(如函數(shù)實現(xiàn)方法) 的方式來修改軟件系統(tǒng)的過程。重構(gòu)實質(zhì)就是在編碼完成之后改進代碼設(shè)計。編碼在編碼之前,確定檢測本次發(fā)布的所有故事的單元測試鼓勵結(jié)對編程,這提供了實時解決問題和實時保證質(zhì)量的機制。連續(xù)集成策略,有助于避免兼容性和接口問題。測試每天進行測試“驗收測試” 由客戶確定,根據(jù)本次軟件發(fā)布中所實現(xiàn)的用戶故事而確定。5.工業(yè)極限編程工業(yè)極限編程 IXP是XP的一種有機進化。更大的包容性、擴大用戶角色、升級技術(shù)

10、實踐。6.其他敏捷過程模型其他敏捷過程模型:自適應(yīng)軟件開發(fā)(ASD)。Scrum。精益開發(fā)(Lean Development)。動態(tài)系統(tǒng)開發(fā)方法(DSDM)。特征驅(qū)動開發(fā)FDD。水晶開發(fā)(Cristal Clear)。CH04/05/06 需求工程需求工程1. 需求工程過程需求工程過程(RERequirement Engineering)通過執(zhí)行7個活動來實現(xiàn):起始、導(dǎo)出、精化、協(xié)商、規(guī)格說明、確認、管理。起始階段的工作:確認共同利益者(直接或間接地從正在開發(fā)的系統(tǒng)中獲益的人)、識別多種觀點、協(xié)同合作、Q&A 會議 P68.2.CRC(類(類-責(zé)任責(zé)任-協(xié)作者)協(xié)作者)建模建模,提供了

11、一個簡單方法,用于識別和組織與系統(tǒng)或產(chǎn)品需求相關(guān)的類。CRC 模型實際上是表示類的標(biāo)準(zhǔn)索引卡片的集合。3.創(chuàng)建分析模型時應(yīng)該遵循的經(jīng)驗原則創(chuàng)建分析模型時應(yīng)該遵循的經(jīng)驗原則:模型應(yīng)關(guān)注在問題域或業(yè)務(wù)域內(nèi)可見的需求,抽象的級別應(yīng)該相對高一些。需求模型的每個元素都應(yīng)能增加對軟件需求的整體理解,并提供對信息域、功能和系統(tǒng)行為的深入理解。關(guān)于基礎(chǔ)結(jié)構(gòu)和其他非功能的模型應(yīng)推延到設(shè)計階段再考慮。最小化整個系統(tǒng)內(nèi)的聯(lián)系。確認需求模型為所有利益相關(guān)者都帶來價值。盡可能保持模型簡潔。4.給類分配職責(zé)時建議一下給類分配職責(zé)時建議一下5個指導(dǎo)原則:個指導(dǎo)原則:只能系統(tǒng)應(yīng)分布在所有類中以求最佳地滿足問題的需求。每個職責(zé)

12、的說明應(yīng)盡可能具有普遍性。信息和與之相關(guān)的行為應(yīng)放在同一類中。某個事物的信息應(yīng)局限于一個雷中而不要分布在多個類中。適合時,職責(zé)應(yīng)由相關(guān)類共享。5.數(shù)據(jù)流圖DFGData Flow DiagramCH07 設(shè)計概念設(shè)計概念0.抽象:抽象:過程抽象是指具有明確和有限功能的指令序列;數(shù)據(jù)抽象是描述數(shù)據(jù)對象的冠名數(shù)據(jù)集合。部署級設(shè)計元素指明軟件功能和子系統(tǒng)將如何在支持軟件的物理計算環(huán)境內(nèi)分布。1.模塊化模塊化:將系統(tǒng)劃分為相對獨立但又有所關(guān)聯(lián)的多個部分。按照設(shè)計原則將系統(tǒng)劃分為若干個較小的模塊:相互獨立但又相互關(guān)聯(lián)。實際上是系統(tǒng)分解和抽象的過程。模塊是相對獨立的程序體是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮?/p>

13、集合。單獨命名的,并且可以通過名字來訪問例如:類、過程、函數(shù)、子程序、宏等。模塊化就是把程序劃分成獨立命名且可直接訪問的模塊,各個模塊完成一個子功能,這些模塊集成起來構(gòu)成一個整體,完成指定功能。對于一個給定的系統(tǒng),合適的模塊數(shù)量是多少?結(jié)論:適度的模塊化模塊數(shù)增加時,模塊間的關(guān)系也隨之增加,接口和集成的工作量也隨之增加。結(jié)論:尋找最佳模塊化程度平衡點。模塊化設(shè)計的好處:模塊化設(shè)計(以及由其產(chǎn)生的程序)使開發(fā)工作更易于規(guī)劃;可以定義和交付軟件增 量;更容易實施變更;能夠有效的開展測試和調(diào)試;可以進行長期維護而沒有嚴(yán)重的副作用。2.信息隱蔽信息隱蔽每個模塊都盡量對其他模塊隱藏自己的內(nèi)部實現(xiàn)細節(jié):模

14、塊內(nèi)部的數(shù)據(jù)和過程不允許其它不需要這些信息的模塊使用。定義和實施對模塊的過程細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。典型的信息隱藏:面向?qū)ο蟮脑L問控制符。信息隱藏是實現(xiàn)抽象/模塊化機制的基本支撐。信息隱蔽的目的:將數(shù)據(jù)結(jié)構(gòu)和處理過程的細節(jié)隱蔽在模塊接口之后。用戶不需要了解模塊內(nèi)部的具體細 節(jié)。3.功能獨立功能獨立:功能獨立是模塊化、抽象概念和信息隱藏的直接結(jié)果。功能獨立的表現(xiàn):內(nèi)聚度與耦合度 內(nèi)聚(cohesion):一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度盡量高耦合(coupling):模塊之間相互關(guān)聯(lián)的程度盡量低功能獨立的好處: 易開發(fā),易維護和測試,減少錯誤擴散,易復(fù)用。4. 重構(gòu)重構(gòu):為簡化設(shè)計而

15、進行的重組。使用這樣一種方式改變軟件系統(tǒng)的過程:不改變代碼設(shè)計的外部行為 而是改變其內(nèi)部結(jié)構(gòu)。5. 接口設(shè)計的接口設(shè)計的 3 個重要元素個重要元素:用戶界面 (UI)。和其他系統(tǒng)、設(shè)備、網(wǎng)絡(luò)或其他的信息生產(chǎn)者或使用者的外部接口。各種設(shè)計構(gòu)件之間的內(nèi)部接口.。接口定義:是類、構(gòu)件或其他分類的外部可見的(公共的)操作說明,而沒有內(nèi)部結(jié)構(gòu)的規(guī)格說明。包括: 一組描述類的部分行為的操作和提供操作的訪問方法。6.組織良好的設(shè)計類的四個特征:完整性與充分性、原始性、高內(nèi)聚性、低耦合性。CH08 體系結(jié)構(gòu)設(shè)計體系結(jié)構(gòu)設(shè)計1.體系結(jié)構(gòu)概念體系結(jié)構(gòu)概念:系統(tǒng)的一個或多個結(jié)構(gòu),它包括軟件構(gòu)件、這些構(gòu)件對外可見的屬

16、性以及它們之間的相互關(guān)系。2.體系結(jié)構(gòu)風(fēng)格體系結(jié)構(gòu)風(fēng)格:1)以數(shù)據(jù)為中心的體系結(jié)構(gòu) 適用于可重用構(gòu)件庫、大型數(shù)據(jù)庫、搜索引擎等。2)數(shù)據(jù)流體系結(jié)構(gòu)3)調(diào)用和返回體系結(jié)構(gòu) 適用于分組交換網(wǎng)絡(luò)中或給予活動者的系統(tǒng)中。4) 面向?qū)ο篌w系結(jié)構(gòu)5)層次體系結(jié)構(gòu) 3.使用數(shù)據(jù)流進行體系結(jié)構(gòu)映射使用數(shù)據(jù)流進行體系結(jié)構(gòu)映射:1)變換型數(shù)據(jù)處理。2)事務(wù)型數(shù)據(jù)處理。3)混合型數(shù)據(jù)處理。4.變換映射變換映射是一組設(shè)計步驟,可以將具有變換流特征的DFD映射為某個特定的體系結(jié)構(gòu)風(fēng)格。CH09 構(gòu)件級設(shè)計構(gòu)件級設(shè)計1.構(gòu)件的概念構(gòu)件的概念:OMG 統(tǒng)一建模語言規(guī)范的定義:系統(tǒng)中模塊化的、可部署的和可替換的部件,該部件封

17、裝了實 現(xiàn)并暴露一組接口。構(gòu)件包括一組協(xié)作的類,也可以包含一個單獨的類。設(shè)計構(gòu)件的細構(gòu)件的細化:不斷補充類的全部屬性和操作。2.設(shè)計基于類的構(gòu)件1)基本設(shè)計原則基本設(shè)計原則(基于類):開閉原則開閉原則OCP:模塊應(yīng)該對外延具有開放性,對修改具有封閉性,即不應(yīng)把變更寫入代碼,從而不必進入代碼內(nèi)部修改。Liskov 替換原則替換原則ISP:子類可以替換它們的基類。用在有繼承時判斷有無濫用繼承。依賴倒置原則依賴倒置原則DIP:依賴于抽象,而非具體實現(xiàn)接口分離原則接口分離原則ISP:多個用戶專用接口比一個通用接口要好。降低接口間的耦合度。2)內(nèi)聚性內(nèi)聚性:一個模塊(構(gòu)件)內(nèi)部各成分之間相互關(guān)聯(lián)程度的度

18、量。 級別排序:功能內(nèi)聚功能內(nèi)聚:一個模塊內(nèi)各功能部分都使用了相同的輸入數(shù)據(jù),或產(chǎn)生了相同的輸出數(shù)據(jù)。分層內(nèi)聚分層內(nèi)聚:高層能訪問低層的服務(wù),但低層不能訪問高層的服務(wù)。通信內(nèi)聚通信內(nèi)聚:訪問相同數(shù)據(jù)的所有操作被定義在一個類中。3)耦合性耦合性:構(gòu)件之間聯(lián)系的緊密程度,面向?qū)ο螅侯愰g聯(lián)系的緊密程度。級別排序: 內(nèi)容耦合內(nèi)容耦合:包括(1)一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù),如 GOTO 跳轉(zhuǎn);(2)一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部;(3)兩個模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語言程序中); (4)一個模塊有多個入口。共用耦合共用耦合(公共耦合):大量構(gòu)件都要使用同一個全局變量???/p>

19、制耦合控制耦合:一個模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,控制選擇另一模塊的功能。標(biāo)記耦合標(biāo)記耦合:類 B 被聲明為類 A 某一操作中的一個參數(shù)類型。數(shù)據(jù)耦合數(shù)據(jù)耦合:操作需要傳遞長串的數(shù)據(jù)參數(shù)。例程調(diào)用耦合例程調(diào)用耦合:一個操作調(diào)用另一個操作。類型使用耦合類型使用耦合:構(gòu)件 A 中使用了在構(gòu)件 B 中定義的一個數(shù)據(jù)類型。包含或者導(dǎo)入耦合包含或者導(dǎo)入耦合:構(gòu)件 A 引入或者包含一個構(gòu)件 B 的包(java)或者內(nèi)容(C 語言)時。外部耦合外部耦合:兩個構(gòu)件共享數(shù)據(jù)格式,通信協(xié)議或設(shè)備接口。程序設(shè)計語言(程序設(shè)計語言(PDL)也成為結(jié)構(gòu)化語言或偽代碼?;镜腜DL語法應(yīng)該包括多種構(gòu)造:構(gòu)建定義

20、、接口描述、數(shù)據(jù)聲明、塊結(jié)構(gòu)、條件結(jié)構(gòu)、重復(fù)結(jié)構(gòu)和I/O結(jié)構(gòu)。CH14 軟件測試策略軟件測試策略1.測試策略測試策略(4 個階段與開發(fā)階段的對應(yīng)關(guān)系,圍成一個螺旋)(單元測試-編碼)-(集成測試-設(shè)計)-(確認測試-需求)-(系統(tǒng)測試-系統(tǒng)工程)2.什么時候完成測試完成測試:1)永遠不能完成,測試的工作只會從軟件工程師身上轉(zhuǎn)移到最終用戶身上。用戶每次運行程序時,程序就在 經(jīng)受測試。2)當(dāng)時間或資金不夠時,測試就結(jié)束了。3)利用統(tǒng)計建模和軟件可靠性理論,建立以執(zhí)行時間為函數(shù)的軟件故障模型。3.集成測試集成測試 1)一次性組裝測試2)深度組裝測試/增值組裝測試:自頂向下&自底向上3)混合增

21、值組裝測試4) 回歸測試回歸測試:重新執(zhí)行已進行測試的某個子集,以確保變更沒有傳播不期望的副作用。只針對關(guān)鍵模塊。 關(guān)鍵模塊的特征:涉及幾個軟件需求;在程序的模塊結(jié)構(gòu)中位于較高層次;較復(fù)雜、較易發(fā)生錯誤;有明 確定義的性能要求。5) 冒煙測試冒煙測試的好處:降低集成風(fēng)險;提高最終產(chǎn)品的質(zhì)量;簡化錯誤的診斷和修正;易于評估進展?fàn)顩r。4.測試和測試和測試測試(會區(qū)分) 測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)部用戶在模擬實際操作環(huán)境下進行的測試。 測試在受控環(huán)境下進行。 測試是由軟件的多個用戶在實際使用環(huán)境下進行的測試。測試在一個或多個最終用戶場所進行,與測試不同,開發(fā)者通常不在場。

22、5.系統(tǒng)測試系統(tǒng)測試的概念:將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、某些 支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機系統(tǒng)進行一系列的組裝測試和確認測試。6.獨立測試組(ITG)的作用是為了避免開發(fā)人員進行測試所引發(fā)的固有問題。獨立測試可以消除利益沖突。CH15/16 測試傳統(tǒng)的測試傳統(tǒng)的/面向?qū)ο蟮膽?yīng)用系統(tǒng)面向?qū)ο蟮膽?yīng)用系統(tǒng)1.白盒測試白盒測試:把測試對象看做一個透明盒子,測試人員了解程序的內(nèi)部結(jié)構(gòu)。2.基本路徑測試基本路徑測試:程序環(huán)路復(fù)雜性:環(huán)路復(fù)雜度=最少獨立路徑數(shù)=域的數(shù)量。環(huán)復(fù)雜性 V(G)=P+1,其中 P 為包含在

23、流圖 G 中的簡單判定結(jié)點數(shù)。3.黑盒測試黑盒測試:把測試對象看做一個黑盒子,測試人員不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。主要發(fā)現(xiàn)以下錯誤:不正確或遺漏的功能;接口錯誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤;行為或性能錯誤;初始化和終止錯誤。1)等價類劃分等價類劃分:把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每個部分中選取少數(shù)有代 表性的數(shù)據(jù)作為測試用例。2)等價類劃分有等價類劃分有2種情況種情況:有效等價類:對程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價類:對程序的規(guī)格說明來說是不合理的,無意義的輸入

24、數(shù)據(jù)構(gòu)成的集合。3)邊界值分析邊界值分析:一種黑盒測試方法,對等價類劃分的補充。大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,所以采取邊界值分析。4.類級的劃分測試類級的劃分測試基于狀態(tài)劃分就是根據(jù)它們改變類狀態(tài)的能力對類操作進行分類;基于屬性劃分就是根據(jù)它們所使用的屬性對類操作進行分類。CH18/19 項目管理項目管理1.管理涉及范圍管理涉及范圍:4P:人員,產(chǎn)品,過程,項目。利益相關(guān)者利益相關(guān)者:高級管理者,項目技術(shù)管理者,開發(fā)人員,客戶,最終用戶。軟件團隊類型軟件團隊類型:封閉封閉范型范型(難以創(chuàng)新)、隨機隨機范型范型(松散)、開放開放范型范型(適合復(fù)雜問題)、同步式同步式范范型型(組員各自

25、解決問題的一部分)。2.W5HH原則原則: WHY、WHAT、 WHE、WHO、WHERE、 HOW 、HOWMUCH。3.了解 LOC(面向規(guī)模的度量)、FP(面向功能的度量)及其LOC&FP相互調(diào)和相互調(diào)和。4.測量質(zhì)量測量質(zhì)量:軟件質(zhì)量的事后度量,包括正確性、可維護性、完整性、可使用性正確性、可維護性、完整性、可使用性。1)正確性的度量是 KLOC 的差錯數(shù);2)可維護性的度量必須采取間接度量,通過平均變更等待時間 MTTC 來度量;3)完整性度量一個系統(tǒng)抗拒對它的安全性攻擊的能力,完整性=1-危險性*(1-安全性),其中危險性是特定類型的攻擊將在一給定時間內(nèi)發(fā)生的概率,安全性是

26、排除特定類型攻擊的概率;4)可使用性依據(jù) 4 個特征進行度量:為學(xué)習(xí)系統(tǒng)所需要的體力上和智力上的技能;為達到適度有效使用系統(tǒng)所需要的時間;當(dāng)軟件被某些人適度有效使用時所度量的在生產(chǎn)率方面的凈增值;用戶角度對系統(tǒng)的主觀評價。5.缺陷排除效率:缺陷排除效率:DRE=E/(E+D),其中 E 是軟件交付給最終用戶前發(fā)現(xiàn)的錯誤數(shù);D 是交付后發(fā)現(xiàn)的錯誤數(shù)。CH20 軟件項目估算軟件項目估算軟件規(guī)模估算:軟件規(guī)模估算:如果采用直接的方法,規(guī)??梢杂么a行(LOC)來測量;如果采用間接的方法,規(guī)模可以用功能點(FP)來表示。不同估算之間差別大的原因不同估算之間差別大的原因:(1)計劃人員沒有充分理解或是誤

27、解了項目范圍。(2)在基于問題的估算技術(shù)中所使用的生產(chǎn)率數(shù)據(jù)不適合本應(yīng)用系統(tǒng),過時了,或者是誤用了。COCOMOII 模型模型構(gòu)造性成本模型構(gòu)造性成本模型CH21 項目進度安排項目進度安排1.軟件項目進度安排的基本指導(dǎo)原則:指導(dǎo)原則:劃分;相互依賴性;時間分配;工作量確認;確定責(zé)任;明確輸出結(jié)果;確定里程碑。2.人員與工作量之間的關(guān)系人員與工作量之間的關(guān)系:通過在略微延長的時間內(nèi)使用較少的人員,可以實現(xiàn)同樣的目標(biāo)。3.進度計劃評估及評審技術(shù)(PERT)和關(guān)鍵路徑方法(關(guān)鍵路徑方法(CPM)就是兩種可以用于軟件開發(fā)的項目進度安排方法。4.項目跟蹤項目跟蹤可以通過以下方法實現(xiàn):定期舉行項目狀態(tài)會議;評估在軟件工程過程中所進行的所有評審的結(jié)果;判斷正式的項目里程碑是否在預(yù)定日期內(nèi)完成;比較項目表中列出的各項任務(wù)的實際開始日期與計劃日期;與開發(fā)人員進行非正式會談,獲取他們對項目進展及可能出現(xiàn)的問題的客觀評估;通過掙值分析來定量的評估項目進展。5.掙值、獲得值分析掙值、獲得值分析EVA

溫馨提示

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

評論

0/150

提交評論