軟件工程導(dǎo)論概述_第1頁
軟件工程導(dǎo)論概述_第2頁
軟件工程導(dǎo)論概述_第3頁
軟件工程導(dǎo)論概述_第4頁
軟件工程導(dǎo)論概述_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程導(dǎo)論概述第1頁,共40頁,2023年,2月20日,星期日1.4.2快速原型模型RapidPrototypeModel定義:快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集步驟:快速建立一個(gè)能反映用戶主要需求的原型系統(tǒng)用戶試用原型系統(tǒng)之后會(huì)提出許多修改意見開發(fā)人員按照用戶的意見快速地修改原型系統(tǒng),返回上一步用戶認(rèn)為這個(gè)原型系統(tǒng)確實(shí)能做他們所需要的工作,開發(fā)人員便可據(jù)此書寫規(guī)格說明文檔,根據(jù)這份文檔開發(fā)出的軟件可以滿足用戶的真實(shí)需求第2頁,共40頁,2023年,2月20日,星期日

1.4.2快速原型模型第3頁,共40頁,2023年,2月20日,星期日1.4.2快速原型模型快速原型模型是不帶反饋環(huán)的,這是它的主要優(yōu)點(diǎn)。軟件產(chǎn)品的開發(fā)基本上是線性順序進(jìn)行的。線性開發(fā)的主要原因是:(1)原型系統(tǒng)已經(jīng)通過與用戶交互而得到驗(yàn)證,據(jù)此產(chǎn)生的規(guī)格說明文檔正確地描述了用戶需求(2)開發(fā)人員通過建立原型系統(tǒng)已經(jīng)學(xué)到了許多東西,因此,在設(shè)計(jì)和編碼階段發(fā)生錯(cuò)誤的可能性比較小,這自然減少了在后續(xù)階段修改前面階段所犯錯(cuò)誤的可能性一。第4頁,共40頁,2023年,2月20日,星期日快速原型驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼驗(yàn)證變化的需求驗(yàn)證綜合測(cè)試維護(hù)圖1.4快速原型模型維護(hù)時(shí)需要返回到各個(gè)階段如圖1.4所示第5頁,共40頁,2023年,2月20日,星期日1.4.3增量模型

IncrementalModel定義:把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。軟件產(chǎn)品分解成增量構(gòu)件要遵守的約束條件當(dāng)把新構(gòu)件集成到現(xiàn)有軟件中時(shí),所形成的產(chǎn)品必須是可測(cè)試的第6頁,共40頁,2023年,2月20日,星期日1.4.3增量模型

IncrementalModel增量模型分批地逐步向用戶提交產(chǎn)品,一個(gè)構(gòu)件一個(gè)構(gòu)件地向用戶提交產(chǎn)品這種方式產(chǎn)生的優(yōu)點(diǎn):在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的沖擊。第7頁,共40頁,2023年,2月20日,星期日1.4.3增量模型

IncrementalModel為了便于向軟件中增加新構(gòu)件要求軟件體系結(jié)構(gòu)必須是開放的,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡(jiǎn)單、方便需要更精心的設(shè)計(jì)增量模型的矛盾:把軟件看作一個(gè)整體,又把軟件看作構(gòu)件序列。要協(xié)調(diào)好整體與個(gè)別的矛盾,所以要精心設(shè)計(jì).第8頁,共40頁,2023年,2月20日,星期日?qǐng)D1.5增量模型圖1.5表明,必須在開始實(shí)現(xiàn)各個(gè)構(gòu)件之前就全部完成需求分析、規(guī)格說明和概要設(shè)計(jì)的工作,由于在開始構(gòu)建第一個(gè)構(gòu)件之前已經(jīng)有了總體設(shè)計(jì),因此風(fēng)險(xiǎn)較小。第9頁,共40頁,2023年,2月20日,星期日一旦確定了用戶需求之后,就著手?jǐn)M定第一個(gè)構(gòu)件的規(guī)格說明文檔,完成后規(guī)格說明組將轉(zhuǎn)向第二個(gè)構(gòu)件的規(guī)格說明,與此同時(shí)設(shè)計(jì)組開始設(shè)計(jì)第一個(gè)構(gòu)件……用這種方式開發(fā)軟件,不同的構(gòu)件將并行地構(gòu)建,因此有可能加快工程進(jìn)度。第10頁,共40頁,2023年,2月20日,星期日

1.4.4螺旋模型SpiralModel軟件開發(fā)的風(fēng)險(xiǎn):用戶不滿意,未能按期完成,成本超預(yù)算,關(guān)鍵技術(shù)人員跳槽,相同產(chǎn)品的競(jìng)爭(zhēng)基本思想:使用原型及其他方法來盡量降低風(fēng)險(xiǎn)。

理解這種模型的一個(gè)簡(jiǎn)便方法,把它看作是在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型。如圖1.7所示第11頁,共40頁,2023年,2月20日,星期日第12頁,共40頁,2023年,2月20日,星期日完整的螺旋模型如圖1.8所示第13頁,共40頁,2023年,2月20日,星期日1.4.4螺旋模型SpiralModel螺旋模型的每一個(gè)周期都包括計(jì)劃(需求定義)、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審4個(gè)階段計(jì)劃(需求定義)第一周期開始利用需求分析技術(shù)理解應(yīng)用領(lǐng)域,獲取初步用戶需求,制定項(xiàng)目開發(fā)計(jì)劃(即整個(gè)軟件生命周期計(jì)劃)和需求分析計(jì)劃。經(jīng)過一個(gè)周期后,根據(jù)用戶和開發(fā)人員對(duì)上一周期工作成果評(píng)價(jià)和評(píng)審,修改、完善需求,明確下一周期軟件開發(fā)的目標(biāo)、約束條件,并據(jù)此制定新一輪的軟件開發(fā)計(jì)劃。第14頁,共40頁,2023年,2月20日,星期日1.4.4螺旋模型SpiralModel風(fēng)險(xiǎn)分析根據(jù)本輪制定的開發(fā)計(jì)劃,進(jìn)行風(fēng)險(xiǎn)分析,評(píng)估可選方案,并構(gòu)造原型進(jìn)一步分析風(fēng)險(xiǎn),給出消除或減少風(fēng)險(xiǎn)的途徑。此時(shí)根據(jù)風(fēng)險(xiǎn)分析的結(jié)果決策項(xiàng)目是否繼續(xù)。所以,螺旋模型是一個(gè)風(fēng)險(xiǎn)驅(qū)動(dòng)的模型。第15頁,共40頁,2023年,2月20日,星期日1.4.4螺旋模型SpiralModel工程實(shí)現(xiàn)利用構(gòu)造的原型進(jìn)行需求建?;蜻M(jìn)行系統(tǒng)模擬,…,直至實(shí)現(xiàn)軟件系統(tǒng)。用戶評(píng)價(jià)與階段評(píng)審將原型提交用戶使用并征求改進(jìn)意見。開發(fā)人員應(yīng)在用戶的密切配合下進(jìn)一步完善用戶需求,直到用戶認(rèn)為原型可滿足需求,或?qū)浖a(chǎn)品設(shè)計(jì)進(jìn)行評(píng)價(jià)或確認(rèn)等。第16頁,共40頁,2023年,2月20日,星期日1.4.4螺旋模型SpiralModel優(yōu)點(diǎn):對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo);減少了過多測(cè)試(浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來的風(fēng)險(xiǎn);隨著成本的增加,風(fēng)險(xiǎn)程度隨之降低風(fēng)險(xiǎn)驅(qū)動(dòng)在成本過大時(shí)可考慮中止項(xiàng)目。第17頁,共40頁,2023年,2月20日,星期日

1.4.5噴泉模型迭代是軟件開發(fā)過程中普遍存在內(nèi)在屬性面向?qū)ο蠓椒ㄓ玫酶嗍褂媒y(tǒng)一的軟件概念對(duì)象生命周期的各階段不明顯,產(chǎn)生重疊?!皣娙蹦P腕w現(xiàn)了面向?qū)ο筌浖_發(fā)過程的迭代和無縫的特性。圖1.9噴泉模型第18頁,共40頁,2023年,2月20日,星期日

1.4.6Rational統(tǒng)一過程RationalUnifiedProcess,RUPRational公司推出的一種完整的軟件過程總結(jié)多年商業(yè)化驗(yàn)證的6條有效的開發(fā)經(jīng)驗(yàn),被稱為“最佳實(shí)踐”(1)迭代開發(fā)(可運(yùn)行版本):通過一系列的細(xì)化、若干個(gè)漸進(jìn)的反復(fù)過程得出有效解決方案第19頁,共40頁,2023年,2月20日,星期日

1.4.6Rational統(tǒng)一過程(2)管理需求:如何提取、組織系統(tǒng)的功能性需求和約束條件并文檔化;捕獲需求的有效方法包括用例、腳本。(3)使用基于構(gòu)件的體系結(jié)構(gòu):使得軟件重用可能,降低軟件開發(fā)的復(fù)雜性(4)可視化建模(UML)用UML語言建立起軟件系統(tǒng)的可視化模型,幫助管理復(fù)雜的軟件。第20頁,共40頁,2023年,2月20日,星期日

1.4.6Rational統(tǒng)一過程(5)驗(yàn)證軟件質(zhì)量:內(nèi)建的質(zhì)量評(píng)估過程,評(píng)估過程不再是事后型的軟件過程(6)控制軟件變更控制、跟蹤和監(jiān)控軟件修改,以保證迭代開發(fā)的成功。第21頁,共40頁,2023年,2月20日,星期日第22頁,共40頁,2023年,2月20日,星期日目前有上千家軟件公司在用RUP第23頁,共40頁,2023年,2月20日,星期日

1.4.7敏捷過程與極限編程捷過程與極限編程敏捷過程(AgileProcess,AP)敏捷方法(AgileMethodology,AM)敏捷建模(AgileModeling,AM)極限編程(eXtremeProgramming,XP)第24頁,共40頁,2023年,2月20日,星期日1.4.7敏捷過程與極限編程敏捷過程由來:2001.2月17位軟件方法學(xué)家聯(lián)合成立“敏捷軟件開發(fā)聯(lián)盟”,起草“敏捷軟件開發(fā)宣言”“敏捷軟件開發(fā)宣言”闡述的4條價(jià)值觀(1)

個(gè)體和交互勝過過程和工具:強(qiáng)調(diào)優(yōu)秀的團(tuán)隊(duì)成員是軟件開發(fā)項(xiàng)目獲得成功的最重要因素第25頁,共40頁,2023年,2月20日,星期日1.4.7敏捷過程與極限編程(2)可以工作的軟件勝過詳盡的文檔:軟件開發(fā)的主要目標(biāo)是向用戶提供可以工作的軟件而非文檔,需要時(shí)要編制簡(jiǎn)明扼要的文檔(3)與客戶協(xié)作勝過合同談判:能夠滿足用戶不斷變化的需求的切實(shí)途徑是與客戶密切合作(4)響應(yīng)計(jì)劃勝過遵循計(jì)劃:計(jì)劃必須有足夠的靈活性和可塑性,能迅速調(diào)整第26頁,共40頁,2023年,2月20日,星期日

2極限編程

eXtremeProgramming,XP(1)XP的12個(gè)有效實(shí)踐①客戶作為開發(fā)團(tuán)隊(duì)成員②使用用戶素材:正在進(jìn)行的關(guān)于需求談話內(nèi)容的助記符③短交付周期:一般每2周交付依次實(shí)現(xiàn)的用戶需求④驗(yàn)收測(cè)試:通過執(zhí)行由客戶指定的驗(yàn)收測(cè)試第27頁,共40頁,2023年,2月20日,星期日2極限編程

eXtremeProgramming,XP⑤結(jié)對(duì)編程:一人編碼一人審查⑥測(cè)試驅(qū)動(dòng)開發(fā):強(qiáng)調(diào)“測(cè)試先行”⑦集體所有:代碼屬于集體,每個(gè)成員都對(duì)代碼質(zhì)量負(fù)責(zé)⑧持續(xù)集成:一天之內(nèi)多次集成⑨可持續(xù)的開發(fā)速度:<40Hours/week,連續(xù)加班不超過2week⑩開放的工作空間:在一個(gè)開放的場(chǎng)所,自由討論第28頁,共40頁,2023年,2月20日,星期日2極限編程

eXtremeProgramming,XP11即時(shí)調(diào)整計(jì)劃:靈活、循序漸進(jìn)12簡(jiǎn)單的設(shè)計(jì):設(shè)計(jì)與計(jì)劃與本次迭代相符,不需要考慮多余的設(shè)計(jì)13重構(gòu):不改變系統(tǒng)功能前提下優(yōu)化系統(tǒng)降低復(fù)雜性.不能過度以賴重構(gòu),要先做好設(shè)計(jì)14使用隱喻:整個(gè)系統(tǒng)聯(lián)系起來的全局視圖,它描寫系統(tǒng)如何動(dòng)作,怎樣增加新功能第29頁,共40頁,2023年,2月20日,星期日?qǐng)D1.11XP項(xiàng)目的整體開發(fā)過程第30頁,共40頁,2023年,2月20日,星期日第31頁,共40頁,2023年,2月20日,星期日

1.4.8微軟過程第32頁,共40頁,2023年,2月20日,星期日2微軟軟件生命周期微軟過程把軟件生命劃分成5個(gè)階段,如圖1.13所示規(guī)劃階段設(shè)計(jì)階段開發(fā)階段穩(wěn)定階段發(fā)布階段圖1.13微軟軟件生命周期和主要里程碑第33頁,共40頁,2023年,2月20日,星期日2微軟軟件生命周期(1)規(guī)劃階段:市場(chǎng)獲取用戶情況、客戶需求、競(jìng)爭(zhēng)對(duì)手等信息.在統(tǒng)計(jì)分析的基礎(chǔ)上完成下述工作.確定產(chǎn)品目標(biāo),獲取競(jìng)爭(zhēng)對(duì)手的信息完成對(duì)客戶和市場(chǎng)的調(diào)研分析確定新版本產(chǎn)品應(yīng)該具備的主要特殊性確定新版本應(yīng)該解決的問題和需要增加的功能第34頁,共40頁,2023年,2月20日,星期日2微軟軟件生命周期(2)設(shè)計(jì)階段:已經(jīng)確定了70%以上的需求,開始設(shè)計(jì),主要工作包括系統(tǒng)規(guī)格說明書、制訂設(shè)計(jì)方案、繪制系統(tǒng)結(jié)構(gòu)圖、劃分子系統(tǒng)、制定產(chǎn)品開發(fā)計(jì)劃書第35頁,共40頁,2023年,2月20日,星期日2微軟軟件生命周期(3)開發(fā)階段:完成編碼,書寫文檔,并進(jìn)行單元測(cè)試(4)穩(wěn)定階段:完整的進(jìn)行集成測(cè)試,確保真實(shí)環(huán)境下的使用和操作(5)發(fā)布:把項(xiàng)目移交給運(yùn)營(yíng)和支持人員,以獲得最終用戶對(duì)項(xiàng)目的認(rèn)可。第36頁,共40頁,2023年,2月20日,星期日3

3微軟過程模型圖1.14描繪了微軟過程的生命周期模型,微軟過程的每一個(gè)生命周期發(fā)布一個(gè)遞進(jìn)的軟件版本,各個(gè)生命周期持續(xù),快速地迭代循環(huán)。圖1.14微軟過程的生命周期模型第37頁,共40頁,2023年,2月20日,星期日2、主要參考資料:《軟件工程——原理、方法與應(yīng)用》史濟(jì)民等主編.高等教育出版社《軟件工程》(英)IanSommerville著,程成、陳霞等譯.機(jī)械工業(yè)出版社《軟件工程》.齊治昌等編著.高等教育出版社《軟件開發(fā)的過程與管理》,張湘輝編著,清華大學(xué)出版社,2005.《軟件工程原理與應(yīng)用》,陳世鴻編著,武漢大學(xué)出版社,2004.《軟件

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論