




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第二章 軟件開發(fā)過程,軟件工程與開發(fā)過程 嚴格地說,軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。 通俗地說,軟件工程是實現(xiàn)一個大型程序的一套原則方法,即按工程化的原則和方法組織軟件開發(fā)工作。 軟件測試是軟件工程的一個重要環(huán)節(jié),相當于工程領域中的質(zhì)量檢驗部分,是確保軟件工程質(zhì)量的重要手段,對于軟件測試與軟件開發(fā)過程之間的關系,套用固定的模型不是聰明之舉。 比如“程序設計”與“測試”之間的關系,習慣上總以為程序設計在先,測試在后,如圖(a)所示。 而對于一些復雜的程序,將測試分為同步測試與總測試更有效,如圖(b)所示。,程序設計與測試的關系,軟件及其特征 軟件定義 軟件是由能夠完
2、成預定功能和性能的一組計算機程序、能被充分操作的數(shù)據(jù)結構、描述程序設計和使用的文檔三部分組成 軟件=程序+數(shù)據(jù)+文檔,軟件特征 軟件是一種邏輯實體,具有抽象性 軟件的生產(chǎn)不同于硬件的制造 軟件不會磨損 軟件開發(fā)和運行對計算機系統(tǒng)有依賴性 軟件的開發(fā)是一個復雜的過程,軟件生命周期 定義 一個軟件從它發(fā)生到消亡的過程 三個時期 軟件定義 軟件開發(fā) 軟件使用與維護,問題定義,可行性研究,需求分析,概要設計,詳細設計,編碼,測試,維護,生命周期的八個階段,測試步驟 測試步驟詳細規(guī)定 如何設置 執(zhí)行 評估特定的測試用例,軟件產(chǎn)品的組成 開發(fā)投入,客戶需求,產(chǎn)品說明 綜合描述 沒有統(tǒng)一標準格式,可根據(jù)具體
3、情況而定,設計文檔 設計方案/計劃 軟件設計文檔內(nèi)容 架構 數(shù)據(jù)流示意圖 狀態(tài)變化示意圖 流程圖 注釋代碼 測試文檔 開發(fā)進度表 軟件產(chǎn)品組成部分,軟件項目組成員 項目管理員 系統(tǒng)設計師 程序員 軟件測試人員 技術制作、用戶助手、用戶培訓員、手冊編寫和文件檔案專員 結構管理和制作人員,軟件開發(fā)模型 軟件開發(fā)模型 軟件開發(fā)全部過程、資源、活動和人物的結構框架,規(guī)定了完成各項任務的工作步驟 目前主要的六種軟件開發(fā)模型,1大棒模式 源于能量爆發(fā)創(chuàng)造宇宙,萬物都由能量和物質(zhì)積聚而成的理論,但如果不是遵循某種正確的排列和組合,形成的將不是預先期望的事物。 大棒模式與上述理論一樣:一大堆能量(這里指開發(fā)軟
4、件所需的人力和物力)放在一起,巨大的能量進行釋放,通常的結果可能是產(chǎn)生了優(yōu)秀的軟件產(chǎn)品或成為一堆“廢品”(不成功的軟件)。,優(yōu)點: 思路簡單, 通??赡苁情_發(fā)者的“突發(fā)奇想”。缺點: 開發(fā)過程是非工程化的,隨意性大。關于測試: 有的較簡單,有的則非常困難。,2.邊寫邊改模式 采用邊寫邊改法的軟件開發(fā)通常只是有了比較粗略的想法就開始進行簡單的設計、然后進行較長的反復編寫、測試與修復這樣一個循環(huán)的過程。 在認為無法更精細的描述軟件產(chǎn)品要求時,就發(fā)布產(chǎn)品。,優(yōu)點: 能夠較為迅速的展現(xiàn)成果,適合需要快速制作而且用完就扔的小項目,如示范程序、演示程序等。 缺點: 其編碼和測試可能將是長期的循環(huán)往復的過程
5、。,3.瀑布模式 瀑布過程模型反映了人們早期對軟件工程的認識水平,是人們所熟悉的一種線性思維的體現(xiàn)。 瀑布過程模型強調(diào)階段的劃分及其順序性、各階段工作及其文檔的完備性,是一種嚴格線性的、按階段順序的、逐步細化的開發(fā)模式。,瀑布過程模型,優(yōu)點: 1、易于理解; 2、調(diào)研開發(fā)的階段性; 3、強調(diào)早期計劃及需求調(diào)查; 4、確定何時能夠交付產(chǎn)品及何時進行評審與測試。,缺點: 1、需求調(diào)查分析只進行一次,不能適應需求變化; 2、順序的開發(fā)流程,使得開發(fā)中的經(jīng)驗教訓不能反饋到該項目的開發(fā)中去; 3、不能反映出軟件開發(fā)過程的反復與迭代性; 4、沒有包含任何類型的風險評估; 5、開發(fā)中出現(xiàn)的問題直到開發(fā)后期才
6、能夠顯露,因此失去及早糾正的機會。,Tom Gilb: “假如你不積極地解決你項目中存在的風險,它們就會積極地解決掉你” 瀑布方法會掩飾項目中真正的風險,當你太晚發(fā)現(xiàn)它們時已無濟于事。,4.快速原型開發(fā)模式 根據(jù)客戶需求在較短的時間內(nèi)解決用戶最迫切解決的問題,完成可演示的產(chǎn)品。這個產(chǎn)品只實現(xiàn)最重要功能,在得到用戶的更加明確的需求之后,原型將丟棄。,需求分析,原型開發(fā),原型評價,最終設計,系統(tǒng)實現(xiàn),用戶反饋,快速原型開發(fā)模式示意圖,5.螺旋模式 螺旋模式是瀑布模式與邊寫邊改演化模式相結合,并加入風險評估所建立的軟件開發(fā)模式。 主要思想是在開始時不必詳細定義所有細節(jié),而是從小開始,定義重要功能,盡
7、量實現(xiàn),接受客戶反饋,進入下一階段,并重復上述過程,直到獲得最終產(chǎn)品。,每一螺旋(開發(fā)階段)包括5個步驟: 確定目標,選擇方案和限制條件 對方案風險進行評估,并能解決風險 進行本階段的開發(fā)和測試 計劃下一階段 確定進入下階段的方法,優(yōu)點: 1、嚴格的全過程風險管理; 2、強調(diào)各開發(fā)階段的質(zhì)量; 3、提供機會評估項目是否有價值繼續(xù)下去; 4、引入嚴格的風險識別、分析和控制,要求風險管理技術水平很高,并需要較多的人員、資金和時間上的投入。,軟件開發(fā)的螺旋模式,6.V模式 與傳統(tǒng)的瀑布模型相比,V模式更加強調(diào)軟件測試過程與分析、設計等開發(fā)過程的關聯(lián)。 V模型反映了測試活動與分析設計活動的關系。,軟件
8、開發(fā)的V模式,7.噴泉模式 噴泉模式是一種以用戶需求為動力、以對象為驅(qū)動的模型,主要用于支持面向?qū)ο蟮能浖_發(fā)過程。,軟件開發(fā)的噴泉模式,軟件測試與軟件開發(fā)的關系,測試與開發(fā)各階段的關系,測試在開發(fā)階段的作用 項目規(guī)劃階段 負責從單元測試到系統(tǒng)測試的整個測試階段的監(jiān)控 需求分析階段 確定測試需求分析、系統(tǒng)測試計劃的制定、評審后成為管理項目 詳細設計和概要設計階段 確保集成測試計劃和單元測試計劃完成,編碼階段 由開發(fā)人員進行自己負責部分的測試代碼。在項目較大時,由專人進行編碼階段的測試任務 測試階段(單元、集成、系統(tǒng)測試) 依據(jù)測試代碼進行測試,并提交相應的測試狀態(tài)報告和測試結束報告,軟件測試的
9、發(fā)展歷程及趨勢 軟件測試是伴隨著軟件的產(chǎn)生而產(chǎn)生的,有了軟件的生成和運行就必然有軟件測試。 早期的軟件開發(fā)過程中,測試的含義比較窄,將測試等同于“調(diào)試” 目的是糾正軟件中已經(jīng)知道的故障,常常由軟件開發(fā)人員自己完成這部分工作 對測試的投入極少,測試介入得也晚,常常是等到形成代碼,產(chǎn)品已經(jīng)基本完成時才進行測試,直到1957年,軟件測試才開始與調(diào)試區(qū)別開來,成為一種發(fā)現(xiàn)軟件缺陷的活動。 直到20世紀80年代早期,“質(zhì)量”的號角才開始吹響。軟件測試的定義發(fā)生了改變,測試不單純是一個發(fā)現(xiàn)錯誤的過程,而且包含軟件質(zhì)量評價的內(nèi)容。軟件開發(fā)人員和測試人員開始坐在一起探討軟件工程和測試問題。制定了各類標準,包括
10、IEEE標準、美國ANSI標準和ISO國際標準。,20世紀90年代,測試工具終于盛行起來。到了2002年,Rich和Stefan在系統(tǒng)的軟件測試一書中對軟件測試做了進一步定義:“測試是為了度量和提高被測軟件的質(zhì)量,對測試軟件進行工程設計、實施和維護的整個生命周期過程”。這些經(jīng)典論著對軟件測試研究的理論化和體系化產(chǎn)生了巨大的影響。,近20年來,隨著計算機和軟件技術的飛速發(fā)展,軟件測試技術的研究也取得了很大的突破,測試專家總結了很好的測試模型,如著名的V模型,在單元測試、自動化測試等方面涌現(xiàn)了大量優(yōu)秀的軟件測試工具。,雖然軟件測試技術的發(fā)展很快,但是其發(fā)展速度仍落后于軟件開發(fā)技術的發(fā)展速度,使得軟
11、件測試在今天面臨著很大的挑戰(zhàn),主要體現(xiàn)在以下幾個方面。 軟件在國防現(xiàn)代化、社會信息化和國民經(jīng)濟信息化領域中的作用越來越重要,由此產(chǎn)生的測試任務越來越繁重。 軟件規(guī)模越來越大,功能越來越復雜,如何進行充分而有效的測試成為難題。, 面向?qū)ο蟮拈_發(fā)技術越來越普及,但是面向?qū)ο蟮臏y試技術卻剛剛起步。 對分布式系統(tǒng)的整體性能還不能進行很好的測試。 對實時系統(tǒng)缺乏有效的測試手段。 隨著安全問題的日益突出,對信息系統(tǒng)的安全性如何進行有效的測試與評估,成為世界性難題。,根據(jù)國內(nèi)外軟件測試的發(fā)展現(xiàn)狀,可以看到軟件測試有以下的發(fā)展趨勢。 測試工作將進一步前移。 軟件架構師、開發(fā)工程師、QA人員、測試工程師將進行更好的融合。 測試職業(yè)將得到充分的尊重。, 設置獨立的軟件測試部門將成為越來越多的軟件公司的共識。軟件測試部門將和開發(fā)部、質(zhì)量保證部一樣作為一個重要的獨立部門存在。 測試外包服務將快速增長。和軟件開發(fā)外
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 花茶創(chuàng)意美術課件
- 部門經(jīng)理培訓
- 電梯房樓頂施工方案
- 新疆交通職業(yè)技術學院《光電成像系統(tǒng)設計》2023-2024學年第二學期期末試卷
- 山東商業(yè)職業(yè)技術學院《油畫半身像》2023-2024學年第二學期期末試卷
- 遼寧體育運動職業(yè)技術學院《小型商住空間設計》2023-2024學年第二學期期末試卷
- 江西應用技術職業(yè)學院《工程管理與預算》2023-2024學年第二學期期末試卷
- 許昌陶瓷職業(yè)學院《商務英語閱讀III》2023-2024學年第一學期期末試卷
- 山東藥品食品職業(yè)學院《金融監(jiān)管學(雙語)》2023-2024學年第二學期期末試卷
- 皖西學院《微視頻制作》2023-2024學年第一學期期末試卷
- TSG 81-2022 場(廠)內(nèi)專用機動車輛安全技術規(guī)程
- 型鋼懸挑卸料平臺施工安全保證措施
- 中國嚴重膿毒癥膿毒性休克治療指南(2014)規(guī)范與實踐
- 客戶生命周期管理理論分析報告(共17頁).ppt
- 設計院管理制度及崗位職責
- 履帶式推土機設計
- 公路工程施工監(jiān)理規(guī)范(JTGG10-2006)
- 事業(yè)單位同意報考證明
- 音調(diào)控制電路課件
- “三會一課”記錄表
- 肺癌電子病歷
評論
0/150
提交評論