北航“軟件工程與項(xiàng)目管理”講義詳解_第1頁(yè)
北航“軟件工程與項(xiàng)目管理”講義詳解_第2頁(yè)
北航“軟件工程與項(xiàng)目管理”講義詳解_第3頁(yè)
北航“軟件工程與項(xiàng)目管理”講義詳解_第4頁(yè)
北航“軟件工程與項(xiàng)目管理”講義詳解_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程與項(xiàng)目管理Software Engineering and Project ManagementBeiHang College of Software康一梅 軟件開發(fā)過(guò)程第四講軟件工程過(guò)程軟件工程過(guò)程工程項(xiàng)目的PDCA循環(huán)(戴明環(huán))美國(guó)質(zhì)量管理專家戴明博士針對(duì)工程項(xiàng)目的質(zhì)量目標(biāo),將全面質(zhì)量管理思想引入工程項(xiàng)目過(guò)程,提出了PDCA循環(huán),也稱為戴明環(huán).即Plan(規(guī)劃)、Do(執(zhí)行)、Check(檢查)、Action(處理)等抽象活動(dòng)的循環(huán)。軟件工程過(guò)程軟件工程過(guò)程(Software Engineering Process)軟件工程過(guò)程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件工程師完成的一

2、系列軟件工程活動(dòng)。軟件工程過(guò)程遵循PDCA抽象活動(dòng),包含四種基本的過(guò)程活動(dòng):P (Plan) : 軟件規(guī)格說(shuō)明。規(guī)定軟件的功能及其運(yùn)行的限制;D (Do) : 軟件開發(fā)。產(chǎn)生滿足規(guī)格說(shuō)明的軟件;C (Check) : 軟件確認(rèn)。確認(rèn)軟件能夠完成客戶提出的要求;A (Action) : 軟件演進(jìn)。為滿足客戶的變更要求,軟件必須在使用的過(guò)程中演進(jìn)。事實(shí)上,軟件工程過(guò)程是一個(gè)軟件開發(fā)機(jī)構(gòu)針對(duì)某一類軟件產(chǎn)品為自己規(guī)定的工作步驟,它應(yīng)當(dāng)是科學(xué)的、合理的,否則必將影響到軟件產(chǎn)品的質(zhì)量。軟件生命周期軟件生命周期軟件生命周期(software life cycle )是指軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品

3、不再使用為止的整個(gè)時(shí)期,一般包括概念階段、分析與設(shè)計(jì)階段、構(gòu)造階段、移交階段等不同時(shí)期。在整個(gè)軟件生命周期中貫穿了軟件工程過(guò)程的六個(gè)基本活動(dòng):制定計(jì)劃: 確定要開發(fā)軟件系統(tǒng)的總目標(biāo),給出它的功能、性能、可靠性以及接口等方面的要求;研究完成該項(xiàng)軟件任務(wù)的可行性,探討解決問(wèn)題的可能方案;制定完成開發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門審查。軟件生命周期需求分析和定義:對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。編寫出軟件需求說(shuō)明書及初步的用戶手冊(cè),提交管理機(jī)構(gòu)評(píng)審。軟件設(shè)計(jì):設(shè)計(jì)是軟件工程的技術(shù)核心。把已確定了的各項(xiàng)需求轉(zhuǎn)換成一個(gè)相應(yīng)的體系結(jié)構(gòu)。進(jìn)而對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的

4、描述。編寫設(shè)計(jì)說(shuō)明書,提交評(píng)審。程序編寫:把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。軟件測(cè)試:在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。運(yùn)行維護(hù):已交付的軟件投入正式使用,并在運(yùn)行過(guò)程中進(jìn)行適當(dāng)?shù)木S護(hù)。軟件過(guò)程模型軟件過(guò)程模型軟件過(guò)程模型模型是實(shí)際事物、實(shí)際系統(tǒng)的抽象。 軟件過(guò)程模型是從一個(gè)特定角度提出的對(duì)軟件過(guò)程的簡(jiǎn)化描述,是對(duì)軟件開發(fā)實(shí)際過(guò)程的抽象,它包括構(gòu)成軟件過(guò)程的各種活動(dòng)、軟件工件(artifact)以及參與角色等。軟件過(guò)程模型從軟件過(guò)程的三個(gè)組成成分可以將軟件過(guò)程模型劃分為三種類型: 工作流(work flow)模型 這類模型描述軟件過(guò)程中各種活動(dòng)的序列、輸入和輸出,以及各種活

5、動(dòng)之間的相互依賴性。它強(qiáng)調(diào)軟件過(guò)程中活動(dòng)的組織控制策略。 數(shù)據(jù)流(data flow)模型 這類模型描述將軟件需求變換成軟件產(chǎn)品的整個(gè)過(guò)程中的活動(dòng),這些活動(dòng)完成將輸入工件變換成輸出工件的功能。它強(qiáng)調(diào)軟件過(guò)程中的工件的變換關(guān)系,對(duì)工件變換的具體實(shí)現(xiàn)措施沒(méi)有加以限定。 角色/動(dòng)作模型 這類模型描述了參與軟件過(guò)程的不同角色及其各自負(fù)責(zé)完成的動(dòng)作,即根據(jù)參與角色的不同將軟件過(guò)程應(yīng)該完成的任務(wù)劃分成不同的職能(function area)。它強(qiáng)調(diào)軟件過(guò)程中角色的劃分、角色之間的協(xié)作關(guān)系,并對(duì)角色的職責(zé)進(jìn)行了具體的確定。 傳統(tǒng)軟件生命周期模型傳統(tǒng)軟件生命周期模型傳統(tǒng)軟件生命周期模型軟件過(guò)程模型有時(shí)也稱軟件

6、生命周期模型,即描述從軟件需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存期的軟件開發(fā)、運(yùn)行和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架,同時(shí)描述生命周期不同階段產(chǎn)生的軟件工件,明確活動(dòng)的執(zhí)行角色等。九個(gè)傳統(tǒng)軟件生命周期模型:.瀑布模型.螺旋模型.V模型和W模型.噴泉模型.原型方法.構(gòu)件組裝模型.演化模型.快速應(yīng)用開發(fā)模型.增量模型傳統(tǒng)軟件生命周期模型1. 瀑布模型(waterfall model) 1970年,W.Royce提出瀑布模型。瀑布模型規(guī)定了軟件生命周期提出的六個(gè)基本工程活動(dòng),并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水傳統(tǒng)軟件生命周期模型瀑布模型中的每一個(gè)開發(fā)活動(dòng)具有下

7、列特征 本活動(dòng)的工作對(duì)象來(lái)自于上一項(xiàng)活動(dòng)的輸出 根據(jù)本階段的活動(dòng)規(guī)程執(zhí)行相應(yīng)的任務(wù)。 產(chǎn)生本階段活動(dòng)相關(guān)產(chǎn)出軟件工件,作為下一活動(dòng)的輸入。 對(duì)本階段活動(dòng)執(zhí)行情況進(jìn)行評(píng)審。 傳統(tǒng)軟件生命周期模型 瀑布模型中的運(yùn)行/維護(hù)活動(dòng),是一個(gè)具有最長(zhǎng)生命周期的循環(huán)往復(fù)階段。傳統(tǒng)軟件生命周期模型瀑布模型優(yōu)點(diǎn): 軟件生命周期的階段劃分不僅降低了軟件開發(fā)的復(fù)雜程度,而且提高了軟件開發(fā)過(guò)程的透明性,便于將軟件工程過(guò)程和軟件管理過(guò)程有機(jī)地融合在一起,從而提高軟件開發(fā)過(guò)程的可管理性。 推遲了軟件實(shí)現(xiàn),強(qiáng)調(diào)在軟件實(shí)現(xiàn)前必須進(jìn)行分析和設(shè)計(jì)工作。 瀑布模型以項(xiàng)目的階段評(píng)審和文檔控制為手段有效地對(duì)整個(gè)開發(fā)過(guò)程進(jìn)行指導(dǎo),保證了階

8、段之間的正確銜接,能夠及時(shí)發(fā)現(xiàn)并糾正開發(fā)過(guò)程中存在的缺陷,從而能夠使產(chǎn)品達(dá)到預(yù)期的質(zhì)量要求。傳統(tǒng)軟件生命周期模型瀑布模型缺點(diǎn): 模型缺乏靈活性,特別是無(wú)法解決軟件需求不明確或不準(zhǔn)確的問(wèn)題,這是瀑布模型最突出的缺點(diǎn)。因此,瀑布模型只適合于需求明確的軟件項(xiàng)目。 模型的風(fēng)險(xiǎn)控制能力較弱。成品時(shí)間長(zhǎng);體系結(jié)構(gòu)的風(fēng)險(xiǎn)和錯(cuò)誤只有在測(cè)試階段才能發(fā)現(xiàn),返工導(dǎo)致項(xiàng)目延期。軟件活動(dòng)是文檔驅(qū)動(dòng)的,文檔過(guò)多會(huì)增加工作量,文檔完成情況會(huì)誤導(dǎo)管理人員。傳統(tǒng)軟件生命周期模型2. V模型和W模型(1) V模型瀑布模型的變種瀑布模型將測(cè)試作為軟件實(shí)現(xiàn)之后的一個(gè)獨(dú)立階段,沒(méi)有強(qiáng)調(diào)測(cè)試的重要性。針對(duì)瀑布模型這個(gè)缺點(diǎn),1980年代后

9、期Paul Rook提出了V模型。V模型的價(jià)值在于糾正了人們不重視測(cè)試階段重要性的錯(cuò)誤認(rèn)識(shí),將測(cè)試分等級(jí),并和前面的開發(fā)階段對(duì)應(yīng)起來(lái)。 傳統(tǒng)軟件生命周期模型 V模型示意圖 傳統(tǒng)軟件生命周期模型(2) W模型瀑布模型的變種V模型仍然將測(cè)試作為一個(gè)獨(dú)立的階段,所以并沒(méi)有提高模型抵抗風(fēng)險(xiǎn)的能力。Evolutif公司在V模型的基礎(chǔ)上提出了W模型,將測(cè)試廣義化,增加了確認(rèn)和驗(yàn)證內(nèi)容,并貫穿整個(gè)軟件生命周期。W模型由兩個(gè)V型模型組成,分別代表測(cè)試與開發(fā)過(guò)程 ,兩個(gè)過(guò)程是同步進(jìn)行的。 傳統(tǒng)軟件生命周期模型 W模型示意圖 傳統(tǒng)軟件生命周期模型3. 原型方法(prototyping) 完整準(zhǔn)確的需求規(guī)格說(shuō)明很難

10、得到早期用戶對(duì)系統(tǒng)只有一個(gè)模糊的想法;開發(fā)過(guò)程中用戶可能提出新的需求;環(huán)境的變化也要求開發(fā)過(guò)程中的系統(tǒng)隨之改變;預(yù)料之外的實(shí)際困難使得開發(fā)人員不得不改變需求來(lái)適應(yīng)。通過(guò)加強(qiáng)評(píng)審和確認(rèn)、全面測(cè)試也不能從根本上解決需求不穩(wěn)定帶來(lái)的問(wèn)題。為了解決這些問(wèn)題,逐漸形成了軟件系統(tǒng)的原型建設(shè)思想 傳統(tǒng)軟件生命周期模型(1) 原型方法概述原型:是指模擬某種產(chǎn)品的原始模型。軟件原型是一個(gè)早期可以運(yùn)行的版本,它反映最終系統(tǒng)的部分重要特性。原型方法構(gòu)造軟件系統(tǒng) 獲得一組基本的需求說(shuō)明,快速分析構(gòu)造出一個(gè)小型的軟件系統(tǒng),滿足用戶的基本要求;用戶試用原型系統(tǒng),對(duì)其進(jìn)行反應(yīng)和評(píng)價(jià);開發(fā)者根據(jù)用戶意見對(duì)原型進(jìn)行改進(jìn),獲得新

11、的原型版本;周而復(fù)始,直到產(chǎn)品滿足用戶的要求。原型化方法是在研究需求分析技術(shù)的過(guò)程中產(chǎn)生的,但也可以用于軟件開發(fā)的其他階段傳統(tǒng)軟件生命周期模型原型的種類(目的)探索型:弄清對(duì)目標(biāo)系統(tǒng)的要求實(shí)驗(yàn)型:系統(tǒng)實(shí)現(xiàn)前考察系統(tǒng)的可行性進(jìn)化型:將原型擴(kuò)展到開發(fā)過(guò)程,通過(guò)原型開發(fā)逐步實(shí)現(xiàn)所有系統(tǒng)功能。原型的使用策略廢棄策略:探索型和實(shí)驗(yàn)型追加策略:進(jìn)化型原型不同于最終的系統(tǒng),需要快速實(shí)現(xiàn)和運(yùn)行,因此,原型可以忽略一切暫時(shí)不必關(guān)心的部分(抽象)傳統(tǒng)軟件生命周期模型原型方法的優(yōu)點(diǎn)有助于增進(jìn)軟件人員和用戶對(duì)系統(tǒng)服務(wù)需求的理解 提供了一種有力的學(xué)習(xí)手段 容易確定系統(tǒng)的性能、服務(wù)的可應(yīng)用性、設(shè)計(jì)的可行性和產(chǎn)品的結(jié)果原型

12、的最終版本可作為最終產(chǎn)品或最終系統(tǒng)的一部分原型方法的缺點(diǎn)文檔容易被忽略 建立原型的許多工作會(huì)被浪費(fèi)掉 項(xiàng)目難以規(guī)劃和管理 傳統(tǒng)軟件生命周期模型(2) 原型方法應(yīng)用過(guò)程 傳統(tǒng)軟件生命周期模型快速分析快速構(gòu)造 盡快實(shí)現(xiàn)一個(gè)可運(yùn)行的系統(tǒng),可忽略目標(biāo)系統(tǒng)在某些細(xì)節(jié)(如安全性、健壯性、異常處理等)上的要求 。 用戶使用 評(píng)價(jià)反饋是否滿足規(guī)格說(shuō)明的要求;糾正分析過(guò)程中的一些誤解和錯(cuò)誤;增補(bǔ)新的要求 修改 反復(fù)迭代,直到形成最終產(chǎn)品傳統(tǒng)軟件生命周期模型(3) 原型方法支持的軟件生命周期原型方法可以支持軟件生命周期的不同階段輔助或代替分析階段 (確定需求)輔助設(shè)計(jì)階段 (確定設(shè)計(jì)方案的合理性)代替分析與設(shè)計(jì)階

13、段 代替分析、設(shè)計(jì)和實(shí)現(xiàn)階段 代替全部開發(fā)階段 (典型的演化模型 )傳統(tǒng)軟件生命周期模型 原型方法支持下的軟件生命周期 傳統(tǒng)軟件生命周期模型(4) 支持原型構(gòu)造的軟件復(fù)用技術(shù)(快速構(gòu)建)數(shù)據(jù)復(fù)用 模塊復(fù)用 結(jié)構(gòu)復(fù)用 設(shè)計(jì)復(fù)用 規(guī)格說(shuō)明復(fù)用 軟件復(fù)用兩種實(shí)現(xiàn)機(jī)制:合成復(fù)用技術(shù) (構(gòu)件)生成復(fù)用技術(shù) (模式)傳統(tǒng)軟件生命周期模型4. 演化模型項(xiàng)目開發(fā)初始階段對(duì)需求的認(rèn)識(shí)不夠清晰,使得開發(fā)工作出現(xiàn)再開發(fā)在所難免。經(jīng)驗(yàn)告訴我們:開發(fā)“兩次”后的軟件能較好地滿足用戶的要求。第一次:試驗(yàn)開發(fā),目的是探索可行性,弄清楚項(xiàng)目的需求。第一次得到的試驗(yàn)性產(chǎn)品稱為“原型”。第二次:在第一次的原型基礎(chǔ)上進(jìn)行開發(fā),從而

14、獲得較為滿意的軟件產(chǎn)品。傳統(tǒng)軟件生命周期模型 演化模型示意圖 傳統(tǒng)軟件生命周期模型演化模型主要針對(duì)需求不是很明確的軟件項(xiàng)目 演化模型缺點(diǎn)可能會(huì)拋棄瀑布模型的文檔控制優(yōu)點(diǎn),開發(fā)過(guò)程不透明 探索式演化模型可能會(huì)導(dǎo)致最后的軟件系統(tǒng)的系統(tǒng)結(jié)構(gòu)較差 可能會(huì)用到一些不符合主流、不符合要求或者不成熟的工具和技術(shù) 傳統(tǒng)軟件生命周期模型5. 增量模型增量模型首先由Mills等人于1980年提出,結(jié)合了瀑布模型和演化模型的優(yōu)點(diǎn)。允許客戶的需求可以逐步提出來(lái);每一次“增量”需求的劃分與“增量”實(shí)現(xiàn)的集成是以不影響系統(tǒng)體系結(jié)構(gòu)為前提的。 在增量模型中,客戶定義需求框架,確定系統(tǒng)需求實(shí)現(xiàn)的優(yōu)先級(jí);此后針對(duì)核心需求以及系

15、統(tǒng)的性能要求確定系統(tǒng)的體系結(jié)構(gòu),并以此體系結(jié)構(gòu)指導(dǎo)增量的集成,保證在整個(gè)開發(fā)過(guò)程中體系結(jié)構(gòu)的穩(wěn)定性。傳統(tǒng)軟件生命周期模型 增量模型示意圖 傳統(tǒng)軟件生命周期模型增量模型優(yōu)點(diǎn)增強(qiáng)了客戶使用系統(tǒng)的信心,逐步提出對(duì)后續(xù)增量的需求 項(xiàng)目總體失敗的風(fēng)險(xiǎn)較低 增量從高到低的優(yōu)先級(jí)確定保障了系統(tǒng)重要功能部分的可靠性 同一個(gè)體系結(jié)構(gòu)提高了系統(tǒng)的穩(wěn)定性和可維護(hù)性 增量模型缺點(diǎn)增量的粒度選擇問(wèn)題 確定所有的基本業(yè)務(wù)服務(wù)比較困難 傳統(tǒng)軟件生命周期模型6. 螺旋模型螺旋模型是Boehm于1988年針對(duì)大型軟件項(xiàng)目的特點(diǎn)提出來(lái)的對(duì)于復(fù)雜的大型軟件而言,事先不能完整清晰地定義需求是常事,而且開發(fā)一個(gè)原型是遠(yuǎn)遠(yuǎn)不能解決問(wèn)題的

16、,需要開發(fā)內(nèi)容逐步豐富的多個(gè)原型。大型軟件項(xiàng)目往往存在著諸多風(fēng)險(xiǎn)因素,螺旋模型將瀑布模型與演化模型結(jié)合起來(lái),并加入了兩種模型均忽略了的風(fēng)險(xiǎn)分析。因?yàn)榇笮晚?xiàng)目的規(guī)模和復(fù)雜性增加,軟件開發(fā)過(guò)程中必然存在著許多風(fēng)險(xiǎn)問(wèn)題,風(fēng)險(xiǎn)分析是保證項(xiàng)目成功的必要手段。傳統(tǒng)軟件生命周期模型 螺旋模型示意圖 傳統(tǒng)軟件生命周期模型螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限上分別表達(dá)了四個(gè)方面的活動(dòng),即:制定計(jì)劃確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件風(fēng)險(xiǎn)分析分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)實(shí)施工程實(shí)施軟件開發(fā)客戶評(píng)估評(píng)價(jià)開發(fā)工作,提出修正建議螺旋模型適合于大型軟件的開發(fā);然而風(fēng)險(xiǎn)分析需要相當(dāng)豐富的評(píng)估經(jīng)驗(yàn),風(fēng)險(xiǎn)的規(guī)

17、避又需要深厚的專業(yè)知識(shí),這給螺旋模型的應(yīng)用增加了難度。 傳統(tǒng)軟件生命周期模型7. 噴泉模型(迭代模型)噴泉模型認(rèn)為軟件開發(fā)過(guò)程具有兩個(gè)固有的本質(zhì)特征:迭代 多次重復(fù)、演進(jìn)。無(wú)間隙 各階段間無(wú)明顯的界限。支持分析和設(shè)計(jì)結(jié)果的自然復(fù)用。適用:面向?qū)ο蟮能浖_發(fā)過(guò)程。對(duì)象概念的引入,對(duì)象及對(duì)象關(guān)系在分析、設(shè)計(jì)和實(shí)現(xiàn)階段的表達(dá)方式的統(tǒng)一,使得開發(fā)活動(dòng)之間的迭代和無(wú)間隙性能夠容易地實(shí)現(xiàn)。傳統(tǒng)軟件生命周期模型 噴泉模型示意圖 傳統(tǒng)軟件生命周期模型8. 構(gòu)件組裝模型構(gòu)件組裝模型本質(zhì)上是演化的,開發(fā)過(guò)程是迭代的。構(gòu)建組裝模型由五個(gè)階段組成:需求定義和分析軟件體系結(jié)構(gòu)設(shè)計(jì)構(gòu)件開發(fā)應(yīng)用軟件構(gòu)造測(cè)試和發(fā)布傳統(tǒng)軟件生

18、命周期模型 構(gòu)件組裝模型 傳統(tǒng)軟件生命周期模型軟件的開發(fā)過(guò)程步驟如下:(1)定義和分析需求;(2)標(biāo)識(shí)本項(xiàng)目需要什么構(gòu)件;(3)從庫(kù)中查找構(gòu)件或相似的構(gòu)件;(4)如果可用轉(zhuǎn)(5),否則自行開發(fā)或修改,確認(rèn)后入庫(kù);(5)構(gòu)造為新系統(tǒng)作第m次迭代;(6)測(cè)試、確認(rèn)。傳統(tǒng)軟件生命周期模型9. 快速應(yīng)用開發(fā)(RAD)模型快速應(yīng)用開發(fā)(Rapid Application Development,RAD)是一個(gè)增量型的軟件開發(fā)過(guò)程模型,采用構(gòu)件組裝方法進(jìn)行快速開發(fā)。RAD模型包含如下階段:(1)業(yè)務(wù)建模:通過(guò)捕獲業(yè)務(wù)過(guò)程中信息流的流動(dòng)及處理情況描述業(yè)務(wù)處理系統(tǒng)應(yīng)該完成的功能?;卮鹨允裁葱畔Ⅱ?qū)動(dòng)業(yè)務(wù)過(guò)程運(yùn)作

19、? 要生成什么信息? 誰(shuí)生成它? 信息流的去向? 由誰(shuí)處理? 可以輔之以數(shù)據(jù)流圖。(2)數(shù)據(jù)建模:對(duì)于支持業(yè)務(wù)過(guò)程的數(shù)據(jù)流,建立數(shù)據(jù)對(duì)象集合,定義數(shù)據(jù)對(duì)象屬性,與其它數(shù)據(jù)對(duì)象的關(guān)系構(gòu)成數(shù)據(jù)模型,可輔之以E-R圖。傳統(tǒng)軟件生命周期模型(3)過(guò)程建模:定義如何使數(shù)據(jù)對(duì)象在信息流中完成各業(yè)務(wù)功能。描述數(shù)據(jù)對(duì)象的增加、修改、刪除、查找。即細(xì)化數(shù)據(jù)流圖中的處理框。(4)應(yīng)用生成:利用第四代語(yǔ)言(4GL)寫出處理程序,重用已有構(gòu)件或創(chuàng)建新的可重用構(gòu)件,利用環(huán)境提供的工具,自動(dòng)生成,構(gòu)造出整個(gè)的應(yīng)用系統(tǒng)。(5)測(cè)試及迭代:由于大量重用,一般只作總體測(cè)試,但新創(chuàng)建的構(gòu)件還是要測(cè)試的。當(dāng)一輪需求完成快速開發(fā)后,

20、可以迭代進(jìn)入下一輪需求的開發(fā)。傳統(tǒng)軟件生命周期模型 RAD模型示意圖 新型軟件生命周期模型新型軟件生命周期模型1. 統(tǒng)一軟件開發(fā)過(guò)程 (RUP)RUP(Rational Unified Process)是由Rational公司開發(fā)的一種軟件工程過(guò)程框架,是一個(gè)面向?qū)ο蟮幕趙eb的程序開發(fā)方法論。RUP既是一種軟件生命周期模型,又是一種支持面向?qū)ο筌浖_發(fā)的工具,它將軟件開發(fā)過(guò)程要素和軟件工件要素整合在統(tǒng)一的框架中。新型軟件生命周期模型(1) RUP的基本結(jié)構(gòu)RUP是一個(gè)二維的軟件開發(fā)模型。橫軸在時(shí)間上將生命周期過(guò)程展開成四個(gè)階段(Phase),每個(gè)階段特有的里程碑(Milestone)是該階

21、段結(jié)束的標(biāo)志,每個(gè)階段里又劃分為不同的迭代(Iteration),體現(xiàn)了軟件開發(fā)過(guò)程的動(dòng)態(tài)結(jié)構(gòu)??v軸按照活動(dòng)的內(nèi)容進(jìn)行組織,包括活動(dòng)(activity)、活動(dòng)產(chǎn)出的工件(artifact)、活動(dòng)的執(zhí)行角色(worker)以及活動(dòng)執(zhí)行的工作流(workflow),體現(xiàn)軟件開發(fā)過(guò)程的靜態(tài)結(jié)構(gòu)。 新型軟件生命周期模型 RUP二維軟件開發(fā)模型 新型軟件生命周期模型RUP中的軟件生命周期的四個(gè)順序階段: 初始階段生命周期目標(biāo)(Lifecycle Objective)里程碑 細(xì)化階段生命周期體系結(jié)構(gòu)(Lifecycle Architecture)里程碑 構(gòu)造階段初始運(yùn)行能力(Initial Operati

22、onal Capability)里程碑 移交階段 產(chǎn)品發(fā)布(Product Release)里程碑 新型軟件生命周期模型(2) RUP的迭代增量開發(fā)思想RUP的每一個(gè)階段可以進(jìn)一步劃分為一個(gè)或多個(gè)迭代過(guò)程,從一個(gè)迭代過(guò)程到另一個(gè)迭代過(guò)程增量形成最終的系統(tǒng)。RUP是融合了噴泉模型和增量模型的一種綜合生命周期模型 。 RUP中的迭代增量開發(fā) 新型軟件生命周期模型RUP將整個(gè)項(xiàng)目的開發(fā)目標(biāo)劃分成一些更易于完成和達(dá)到的階段性小目標(biāo)。每一次迭代就是為了完成一定階段性小目標(biāo)而從事的一系列開發(fā)活動(dòng),包含需求、設(shè)計(jì)、實(shí)施(編碼)、部署、測(cè)試等。RUP中的迭代過(guò)程 新型軟件生命周期模型(3) RUP的核心工作流

23、6個(gè)核心過(guò)程工作流(Core Process Workflows)商業(yè)建模(Business Modeling) 需求(Requirements) 分析和設(shè)計(jì)(Analysis & Design) 實(shí)現(xiàn)(Implementation) 測(cè)試(Test) 部署(Deployment) 新型軟件生命周期模型3個(gè)核心支持工作流(Core Supporting Workflows)配置和變更管理(Configuration & Change Management) 項(xiàng)目管理(Project Management) 環(huán)境(Environment) 新型軟件生命周期模型(4) RUP的最佳實(shí)踐 短時(shí)間分區(qū)

24、式的迭代適應(yīng)性開發(fā)在早期迭代中解決高技術(shù)風(fēng)險(xiǎn)和高業(yè)務(wù)價(jià)值的問(wèn)題不斷地讓用戶參與迭代結(jié)果的評(píng)估在早期迭代中建立內(nèi)聚的核心架構(gòu)不斷地驗(yàn)證質(zhì)量;盡早、經(jīng)常和實(shí)際地測(cè)試使用用例驅(qū)動(dòng)軟件建模可視化軟件建模:使用UML進(jìn)行軟件建模仔細(xì)地管理需求實(shí)行變更請(qǐng)求和配置管理新型軟件生命周期模型2. 敏捷模型(Agile Modeling,AM)敏捷建模是由Scott W. Ambler從許多的軟件開發(fā)過(guò)程實(shí)踐中歸納總結(jié)出來(lái)的一些敏捷建模價(jià)值觀、原則和實(shí)踐等組成的 AM只是一種態(tài)度,不是一個(gè)說(shuō)明性過(guò)程,它描述了一種建模風(fēng)格 AM是對(duì)已有生命周期模型的補(bǔ)充,它本身不是一個(gè)完整的方法論,在應(yīng)用傳統(tǒng)的生命周期模型時(shí)可以借鑒AM的過(guò)程指導(dǎo)思想 新型軟件生命周期模型(1) 敏捷建模價(jià)值觀 溝通 簡(jiǎn)單反饋 勇氣 謙遜 新型軟件生命周期模型(2) 敏捷建模原則核心原則 1)主張簡(jiǎn)單 2)擁抱變化 3)軟件開發(fā)的第二個(gè)目標(biāo)應(yīng)是可持續(xù)性 4)遞增的變化 5)令項(xiàng)目干系人投資最大化 6)有目

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論