




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章軟件生存周期與軟件過程2.1軟件生存周期2.1軟件生存周期
一切的工業(yè)產(chǎn)品都有自己的生存周期,軟件(產(chǎn)品)也不例外。一個(gè)軟件從開始立項(xiàng)起,到廢棄不用止,統(tǒng)稱為軟件的生存周期(lifecycle)。軟件生存周期一般被劃分為設(shè)計(jì),開發(fā)和運(yùn)行3個(gè)時(shí)期。
需求分析軟件分析軟件設(shè)計(jì)編碼測(cè)試軟件測(cè)試運(yùn)行維護(hù)典型的軟件生存周期2.1.1軟件生存周期的主要活動(dòng)1.需求分析2.軟件分析3.軟件設(shè)計(jì)4.編碼5.軟件測(cè)試6.運(yùn)行維護(hù)以上六種活動(dòng)是軟件典型生命周期的活動(dòng)內(nèi)容。比較大型的軟件在開發(fā)前,還需要進(jìn)行一次可行性研究。
2.1.2生存周期與軟件的過程關(guān)系1.從軟件生存周期到過程模型
按照早期軟件工程的觀點(diǎn),軟件開發(fā)模型包含的階段與活動(dòng)同軟件生存周期劃分的階段與活動(dòng)基本上是一致的.2.軟件過程的演變
軟件需求頻繁的更改恰是開發(fā)大型復(fù)雜系統(tǒng)的特點(diǎn),而一律采用線性模型顯然是不合適的。2.2.1瀑布模型
(WaterfallModel)瀑布開發(fā)模型是一種基于軟件生命周期的線性開發(fā)模型,它與軟件生命周期的特點(diǎn)是一致的。2.2傳統(tǒng)的軟件過程瀑布模型開發(fā)軟件的特點(diǎn):1.階段間具有順序性和依性。2.推遲實(shí)現(xiàn)的觀點(diǎn)。3.保證質(zhì)量的觀點(diǎn)。4.存在的問題。
為保證軟件質(zhì)量,瀑布模型每一階段必須完成規(guī)定的文檔,并對(duì)文檔進(jìn)行復(fù)審,及早發(fā)現(xiàn)問題消除隱患。可參照下圖如:
用戶要求需求分析需求規(guī)格說明書軟件分析與總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼軟件結(jié)構(gòu)圖維模塊說明系統(tǒng)測(cè)試確認(rèn)測(cè)試綜合測(cè)試單元測(cè)試程序清單傳統(tǒng)瀑布模型存在什么問題?傳統(tǒng)的瀑布模型過于理想化。事實(shí)上,人在工作過程中不可能不犯錯(cuò)誤。在設(shè)計(jì)階段可能發(fā)生規(guī)格說明文檔中的錯(cuò)誤。而設(shè)計(jì)上的缺陷或錯(cuò)誤可能在實(shí)現(xiàn)過程中顯現(xiàn)出來。在綜合測(cè)試階段將發(fā)現(xiàn)需求分析、設(shè)計(jì)或編碼階段的許多錯(cuò)誤?!?/p>
實(shí)際的瀑布模型——
瀑布模型的優(yōu)缺點(diǎn)瀑布模型有許多優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動(dòng)的模型?!捌俨寄P褪怯晌臋n驅(qū)動(dòng)的”這個(gè)事實(shí)也是它的一個(gè)主要缺點(diǎn)。實(shí)際項(xiàng)目很少按照該模型給出的順序進(jìn)行;用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成;開發(fā)者常常被不必要地耽擱。2.2.2快速原型模型
1.原型開發(fā)的優(yōu)越性2.原型開發(fā)的方法3.原型模型的啟示4.應(yīng)該防止的方向快速原型模型工作過程原型模型從需求收集開始。開發(fā)者和用戶在一起定義軟件的總體目標(biāo),標(biāo)識(shí)出已知的需求,并規(guī)劃出進(jìn)一步定義的區(qū)域。然后是“快速設(shè)計(jì)”,快速設(shè)計(jì)集中于軟件那些對(duì)用戶可見部分的表示?!翱焖僭O(shè)計(jì)”導(dǎo)致原型的建造。原型由用戶評(píng)估,并進(jìn)一步精化待開發(fā)軟件的需求,逐步調(diào)整原型使其滿足客戶的要求。同時(shí)開發(fā)者對(duì)將要做的事情有更好的理解,這個(gè)過程是迭代的。按線性模型構(gòu)建軟件系統(tǒng)
聽取用戶意見建造/修改原型用戶測(cè)試運(yùn)行原型需求原型開發(fā)原型評(píng)價(jià)最終系統(tǒng)評(píng)價(jià)最終系統(tǒng)開發(fā)快速原型法的過程模型用戶反饋原型模型—
適用情況用戶定義了一組一般性目標(biāo),但不能標(biāo)識(shí)出詳細(xì)的輸入、處理及輸出需求;開發(fā)者可能不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的形式;……
原型模型可能是最好的選擇
2.3軟件演化周期2.3軟件演化模型
原型開發(fā)模型的出現(xiàn),使人們逐漸熟悉非線性的開發(fā)模型。隨著軟件規(guī)模的不斷增長,復(fù)雜軟件開始采用漸增式或迭代式的開發(fā)方式。于是,一種稱為演化模型(evolutionarymode)的漸進(jìn)式的開發(fā)模型應(yīng)運(yùn)而生。2.3.1增量模型(漸增模型)(IncrementalModel)先完成一個(gè)系統(tǒng)子集的開發(fā),再按同樣的開發(fā)步驟增加功能(系統(tǒng)子集),如此遞增下去直至滿足全部系統(tǒng)需求。系統(tǒng)的總體設(shè)計(jì)在初始子集設(shè)計(jì)階段就應(yīng)作出設(shè)想。需求需求需求需求設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)和設(shè)計(jì)實(shí)現(xiàn)和集成實(shí)現(xiàn)和集成實(shí)現(xiàn)和集成交付客戶交付客房交付客房交付客房增量1增量2增量3增量4規(guī)格說明組設(shè)計(jì)組實(shí)現(xiàn)和集成組增量模型圖增量模型的優(yōu)點(diǎn)在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個(gè)構(gòu)件交付之日起,用戶就能做一些有用的工作。整個(gè)軟件產(chǎn)品被分解成許多個(gè)增量構(gòu)件,開發(fā)人員可以一個(gè)構(gòu)件一個(gè)構(gòu)件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設(shè)計(jì),但在設(shè)計(jì)階段多付出的勞動(dòng)將在維護(hù)階段獲得回報(bào)。2.3.2螺旋模型(SpiralModel)螺旋模型為目前軟件開發(fā)中最常用的軟件快發(fā)模型,是在結(jié)合瀑布模型與快速原型模型基礎(chǔ)上演變而成的,尤其適用于大型軟件的開發(fā)。1.典型的迭代模型螺旋模型是一種典型的迭代模型,每迭代一次,螺旋線就前進(jìn)一周。每輪螺旋均包含計(jì)劃,風(fēng)險(xiǎn)分析,建立原型,用戶評(píng)審。圖1.8螺旋模型螺旋模型的基本思想使用原型及其他方法來盡量降低風(fēng)險(xiǎn)。產(chǎn)品交付給用戶后用戶可能不滿意;到了預(yù)定的交付日期軟件可能還未開發(fā)出來;實(shí)際的開發(fā)成本可能超過預(yù)算;產(chǎn)品完成前一些關(guān)鍵的開發(fā)人員
“跳槽”了;產(chǎn)品投入市場(chǎng)之前競(jìng)爭(zhēng)對(duì)手發(fā)布了一個(gè)功能相近、價(jià)格更低的軟件等。軟件風(fēng)險(xiǎn)是任何軟件開發(fā)項(xiàng)目中都普遍存在的實(shí)際問題,項(xiàng)目越大,軟件越復(fù)雜,承擔(dān)該項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。例如:快速原型驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析可看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型。簡(jiǎn)化的螺旋模型螺旋模型優(yōu)點(diǎn)對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo);減少了過多測(cè)試或測(cè)試不足;維護(hù)和開發(fā)之間并沒有本質(zhì)區(qū)別。特點(diǎn)風(fēng)險(xiǎn)驅(qū)動(dòng)主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目要有具有豐富風(fēng)險(xiǎn)評(píng)估專門知識(shí)的開發(fā)人員,否則風(fēng)險(xiǎn)更大。2.3.3構(gòu)件集成模型1.面向?qū)ο蟮幕靖拍?.什么是構(gòu)件3.構(gòu)件集成模型的特征1.面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮囊粋€(gè)簡(jiǎn)單的公式:面向?qū)ο?對(duì)象+分類+繼承+消息通信2。什么是構(gòu)件對(duì)象設(shè)計(jì)將事物封裝成包含數(shù)據(jù)和加工該數(shù)據(jù)的方法的對(duì)象,并抽象成為類.經(jīng)過適當(dāng)設(shè)計(jì)和實(shí)現(xiàn)的類,也可稱為構(gòu)件(component).它們?cè)谀硞€(gè)領(lǐng)域中具有一定的通用性,可以在不同的計(jì)算機(jī)軟件系統(tǒng)中復(fù)用.3。構(gòu)件集成模型的特點(diǎn)
構(gòu)件集成模型利用預(yù)先封裝好的構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng).它融合了螺旋模型的不少特征,也支持軟件開發(fā)的迭代方法.可重用部件組裝模型用戶通信計(jì)劃產(chǎn)品開發(fā)及發(fā)布用戶評(píng)估風(fēng)險(xiǎn)分析標(biāo)志候選構(gòu)件查找構(gòu)件若存在則提取構(gòu)件若不存在則構(gòu)造構(gòu)件進(jìn)行下一次迭代將新構(gòu)件存入庫中2.4形式化方法模型2.4.1轉(zhuǎn)換模型1.轉(zhuǎn)換模型的軟件開發(fā)過程
(1)確定形式化的需求規(guī)格說明書
(2)進(jìn)行自動(dòng)的程序變換(3)對(duì)形式化開發(fā)記錄進(jìn)行測(cè)試2.轉(zhuǎn)換模型的常用技術(shù)(1)基于模型的規(guī)格說明及其變換技術(shù)(2)基于代數(shù)結(jié)構(gòu)及其變換技術(shù)(3)基于時(shí)序邏輯的規(guī)格說明和驗(yàn)證技術(shù)(4)基于可視形式化技術(shù)形式化規(guī)格說明與需求比較后修正形式化開發(fā)記錄變換n變換2變換1測(cè)試系統(tǒng)需求目標(biāo)系統(tǒng)
……
轉(zhuǎn)換模型
2.4.2凈室模型(形式化的增量開發(fā)模型)基于思想:力求在分析和設(shè)計(jì)階段就消除錯(cuò)誤,確保正確,然后在無缺陷或“潔凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。三個(gè)關(guān)鍵技術(shù):置于統(tǒng)計(jì)過程控制之下的增量開發(fā)基于函數(shù)的規(guī)范、設(shè)計(jì)、驗(yàn)證統(tǒng)計(jì)測(cè)試和軟件認(rèn)證
凈室模型盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#1盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#2盒結(jié)構(gòu)規(guī)約需求收集形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試驗(yàn)證增量#1............2.5統(tǒng)一過程和敏捷過程2.5.1統(tǒng)一過程
統(tǒng)一過程描述了軟件開發(fā)中各個(gè)環(huán)節(jié)應(yīng)該做什么,怎么做,什么時(shí)候做以及為什么要做,描述了一組以某種順序完成的活動(dòng)。統(tǒng)一過程在一個(gè)二維空間中描述軟件開發(fā)活動(dòng),水平軸代表時(shí)間,顯示了動(dòng)態(tài)過程的一面。垂直軸代表過程靜態(tài)的一面其中活動(dòng)代表怎么做,用產(chǎn)品表示做什么,用人員表示誰來做,用工作流表示什么時(shí)候來描述。統(tǒng)一過程有四個(gè)階段1.初始階段本階段確定所設(shè)立的項(xiàng)目是否可行。2.細(xì)化階段識(shí)別出剩余的大多數(shù)用例。對(duì)當(dāng)前迭代的每個(gè)用例進(jìn)行細(xì)化,分析用例的處理流程,狀態(tài)細(xì)節(jié)以及可能發(fā)生的狀態(tài)變化。3.構(gòu)造階段識(shí)別出剩余的用例。每一次迭代開發(fā)都是針對(duì)用例進(jìn)行分析,設(shè)計(jì),編碼,測(cè)試和集成的過程,所得到的產(chǎn)品是滿足項(xiàng)目需求的一個(gè)子集。由于細(xì)化階段的軟件設(shè)計(jì)已經(jīng)完成,這樣各項(xiàng)目可以并行開發(fā)。2.5.2敏捷過程
敏捷開發(fā)(agiledevelopment)是一種以人為核心,以迭代方式循序漸進(jìn)開發(fā)的方法,其軟件開發(fā)的過程稱為I“敏捷過程”。在2001年年初,由一些業(yè)界專家成立了敏捷聯(lián)盟(agilesofewaredevelopmentalliance),起草了敏捷軟件開發(fā)宣言。1.敏捷開發(fā)的價(jià)值觀1).個(gè)人和交互勝過過程和工具.2).可以運(yùn)行的軟件勝過面面俱到的文檔.3).客戶合作勝過合同談判.4).響應(yīng)變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 亞馬遜加盟合同范本
- 2024年秋新滬教牛津版英語三年級(jí)上冊(cè) Unit 5 第3課時(shí)(Grammar in use) 教學(xué)課件
- 2025年數(shù)控銑工技能競(jìng)賽參考試指導(dǎo)題庫500題(含答案)
- 輸液港相關(guān)護(hù)理
- 產(chǎn)品品牌加盟合同范本
- 2025至2030年中國抗單鏈DNA數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國康婦特栓數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國左右后門內(nèi)飾板帶卡扣總成數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 小學(xué)生配音課課件視頻
- 2025至2030年中國雙歧因子奶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 成人重癥患者顱內(nèi)壓增高防控護(hù)理專家共識(shí)2024
- 物品消毒知識(shí)培訓(xùn)課件
- 少兒足球基礎(chǔ)知識(shí)
- 兒童家長非免疫規(guī)劃疫苗猶豫量表的編制及信效度檢驗(yàn)
- 咖啡店飲品配方保密協(xié)議
- 2025年岳陽市岳陽樓區(qū)招考網(wǎng)格管理員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國融通資產(chǎn)管理集團(tuán)限公司春季招聘(511人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- AIAG手冊(cè)FMEA第四版資料
- 2025下半年江蘇鹽城廣播電視總臺(tái)招聘7人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年纖維混合絮片項(xiàng)目可行性研究報(bào)告
- 白油供貨合同范例
評(píng)論
0/150
提交評(píng)論