軟件工程課件:第2章 軟件過(guò)程_第1頁(yè)
軟件工程課件:第2章 軟件過(guò)程_第2頁(yè)
軟件工程課件:第2章 軟件過(guò)程_第3頁(yè)
軟件工程課件:第2章 軟件過(guò)程_第4頁(yè)
軟件工程課件:第2章 軟件過(guò)程_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章軟件過(guò)程1軟件工程 - 2013 - 第二章 軟件過(guò)程第二章內(nèi)容概要過(guò)程、軟件過(guò)程經(jīng)典軟件過(guò)程模型2軟件工程 - 2013 - 第二章 軟件過(guò)程過(guò)程:產(chǎn)生某種預(yù)定輸出的一系列可預(yù)測(cè)的步驟,包含一組活動(dòng)(activities)、約束(constraints)、資源(resources)。ISO 9000對(duì)過(guò)程的定義: 使用資源將輸入轉(zhuǎn)化為輸出的活動(dòng)所構(gòu)成的系統(tǒng)。過(guò)程(Process)3軟件工程 - 2013 - 第二章 軟件過(guò)程過(guò)程使用一定的資源,受一定的約束,并生成一定的中間及最終產(chǎn)品;過(guò)程中所包含的活動(dòng)事先都規(guī)定好了;過(guò)程中每個(gè)活動(dòng)的開(kāi)始、結(jié)束有明確的規(guī)定;每項(xiàng)活動(dòng)都有相應(yīng)的指導(dǎo)原則,

2、用以明確其目標(biāo);各活動(dòng)之間以某種順序組織;過(guò)程可能包括若干相互關(guān)聯(lián)的子過(guò)程;過(guò)程中的活動(dòng)、資源以及產(chǎn)品都可能受到約束。過(guò)程的特性4軟件工程 - 2013 - 第二章 軟件過(guò)程過(guò)程能使一組活動(dòng)具有一致性和質(zhì)量:不同的人使用同一過(guò)程能獲得在某一層次上一致的產(chǎn)品;一致性并不排斥靈活性,一致性是在某一層次上實(shí)現(xiàn)的;過(guò)程可被檢查、理解、控制和改進(jìn);過(guò)程也是傳授經(jīng)驗(yàn)的一種途徑。為何使用過(guò)程5軟件工程 - 2013 - 第二章 軟件過(guò)程軟件過(guò)程:為建造高質(zhì)量軟件所需完成的任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程與軟件工程6軟件工程 - 2013 - 第二章 軟件過(guò)程第二章內(nèi)容概要過(guò)程、軟件過(guò)程和

3、軟件生命周期經(jīng)典軟件過(guò)程模型7軟件工程 - 2013 - 第二章 軟件過(guò)程軟件過(guò)程模型是對(duì)被描述的實(shí)際過(guò)程的抽象,即是從某種特定角度提出的對(duì)軟件過(guò)程的簡(jiǎn)化描述。經(jīng)典軟件過(guò)程模型可為我們提供一些范例軟件過(guò)程模型8軟件工程 - 2013 - 第二章 軟件過(guò)程也叫線性順序模型或傳統(tǒng)生存周期模型;它將軟件開(kāi)發(fā)過(guò)程劃分成若干相互區(qū)別而又彼此聯(lián)系的階段,每個(gè)階段中的工作都以上一個(gè)階段工作的結(jié)果為依據(jù),同時(shí)為下一個(gè)階段的工作提供了前提;瀑布模型的本質(zhì)是“一次通過(guò)”;它是一種文檔驅(qū)動(dòng)模型,在可運(yùn)行產(chǎn)品交付之前,客戶(hù)只能通過(guò)文檔來(lái)了解最終的產(chǎn)品會(huì)是什么樣子。瀑布模型9軟件工程 - 2013 - 第二章 軟件過(guò)程

4、瀑布模型10軟件工程 - 2013 - 第二章 軟件過(guò)程階段間具有順序性和依賴(lài)性必須等前一階段的工作完成之后,才能開(kāi)始后一階段的工作前一階段的輸出文檔就是后一階段的輸入文檔瀑布模型的特點(diǎn)11軟件工程 - 2013 - 第二章 軟件過(guò)程推遲實(shí)現(xiàn)的觀點(diǎn)對(duì)于規(guī)模較大的軟件項(xiàng)目來(lái)說(shuō),編碼開(kāi)始得越早,最終完成開(kāi)發(fā)工作所需要的時(shí)間反而越長(zhǎng)。瀑布模型在編碼之前設(shè)置了系統(tǒng)分析與系統(tǒng)設(shè)計(jì)階段,在這兩個(gè)階段主要考慮目標(biāo)系統(tǒng)的邏輯模型,不涉及軟件的物理實(shí)現(xiàn)。清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn),是瀑布模型開(kāi)發(fā)軟件的一條重要的指導(dǎo)思想。瀑布模型的特點(diǎn)12軟件工程 - 2013 - 第二章 軟件過(guò)程質(zhì)

5、量保證的觀點(diǎn)每個(gè)階段都必須完成規(guī)定的文檔,沒(méi)有交出合格的文檔就是沒(méi)有完成該階段的任務(wù)。每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。瀑布模型的特點(diǎn)13軟件工程 - 2013 - 第二章 軟件過(guò)程可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù))嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔,使軟件的維護(hù)易于進(jìn)行。要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證,能夠保證軟件產(chǎn)品的質(zhì)量。 瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動(dòng)的模型瀑布模型的優(yōu)點(diǎn)14軟件工程 - 2013 - 第二章 軟件過(guò)程將本來(lái)非線性的軟件開(kāi)發(fā)過(guò)程人為地加以線性化,不符合實(shí)際中的軟件開(kāi)發(fā)情

6、況;在項(xiàng)目的開(kāi)始階段難以清楚地給出所有需求;軟件開(kāi)發(fā)耗時(shí)長(zhǎng),可運(yùn)行版本要等到項(xiàng)目后期才能得到,一旦在后期發(fā)現(xiàn)錯(cuò)誤,付出的代價(jià)將是巨大的?!坝晌臋n驅(qū)動(dòng)”的這個(gè)事實(shí)也是瀑布模型的一個(gè)主要缺點(diǎn),這可能導(dǎo)致最終開(kāi)發(fā)出的軟件產(chǎn)品不能真正滿(mǎn)足用戶(hù)的需要。瀑布模型的缺點(diǎn)15軟件工程 - 2013 - 第二章 軟件過(guò)程V模型16軟件工程 - 2013 - 第二章 軟件過(guò)程瀑布模型的改進(jìn),強(qiáng)調(diào)測(cè)試活動(dòng)與分析和設(shè)計(jì)之間的關(guān)聯(lián):?jiǎn)卧獪y(cè)試校驗(yàn)程序設(shè)計(jì);集成測(cè)試校驗(yàn)系統(tǒng)設(shè)計(jì);確認(rèn)測(cè)試確認(rèn)需求;與瀑布模型關(guān)注文檔和工作產(chǎn)品不同,V模型的關(guān)注點(diǎn)是軟件開(kāi)發(fā)各階段的活動(dòng)以及正確性,因此V模型是以活動(dòng)驅(qū)動(dòng)的。V模型17軟件工程

7、- 2013 - 第二章 軟件過(guò)程本質(zhì)是把瀑布模型中一些隱含的迭代過(guò)程明確出來(lái),使開(kāi)發(fā)活動(dòng)和驗(yàn)證活動(dòng)的相關(guān)性更加明顯;V模型使抽象等級(jí)的概念也更明顯:所有從需求到實(shí)現(xiàn)部分的活動(dòng)關(guān)注的是建立更多的系統(tǒng)詳細(xì)表述,而所有從實(shí)現(xiàn)到交付運(yùn)行的活動(dòng)關(guān)注的是對(duì)系統(tǒng)的驗(yàn)證和確認(rèn)。和瀑布模型一樣,都是對(duì)軟件開(kāi)發(fā)過(guò)程過(guò)分簡(jiǎn)單、理想化的抽象,對(duì)需求變化的適應(yīng)性差。V模型的改良之處與存在的問(wèn)題18軟件工程 - 2013 - 第二章 軟件過(guò)程所謂原型,是一個(gè)可以實(shí)際運(yùn)行的模型,它在功能上可以看作是最終產(chǎn)品的一個(gè)子集(展示了目標(biāo)系統(tǒng)的關(guān)鍵功能)。原型/快速原型模型19軟件工程 - 2013 - 第二章 軟件過(guò)程原型/快速

8、原型模型20軟件工程 - 2013 - 第二章 軟件過(guò)程原型/快速原型模型21軟件工程 - 2013 - 第二章 軟件過(guò)程原型模型的優(yōu)勢(shì):快速原型模型是不帶反饋環(huán)的,軟件產(chǎn)品的開(kāi)發(fā)基本上是線性順序進(jìn)行的:原型系統(tǒng)已經(jīng)通過(guò)與用戶(hù)交互而得到驗(yàn)證開(kāi)發(fā)人員通過(guò)建立原型系統(tǒng)已經(jīng)學(xué)到了許多東西利用原型能統(tǒng)一客戶(hù)和開(kāi)發(fā)人員對(duì)軟件項(xiàng)目需求的理解,有助于需求的定義和確認(rèn);可以考慮結(jié)合瀑布模型,二者互補(bǔ)性強(qiáng)。用快速原型做為需求分析的一種技術(shù),用于收集客戶(hù)的真實(shí)需求,然后把客戶(hù)滿(mǎn)意了的原型再作為瀑布模型的輸入,從而達(dá)到優(yōu)勢(shì)互補(bǔ)。原型/快速原型模型22軟件工程 - 2013 - 第二章 軟件過(guò)程使用原型必須要注意的問(wèn)

9、題:由于要求能夠快速建立可供運(yùn)行的模型,原型不可能象最終產(chǎn)品一樣面面俱到;客戶(hù):不可把原型當(dāng)作軟件的正式運(yùn)行版本;開(kāi)發(fā)人員:同上。還必須牢記原型中沒(méi)有考慮質(zhì)量因素的部分;使用前要與用戶(hù)達(dá)成一致:原型只是模型而已。原型/快速原型模型23軟件工程 - 2013 - 第二章 軟件過(guò)程階段式開(kāi)發(fā)(演化模型)24軟件工程 - 2013 - 第二章 軟件過(guò)程軟件系統(tǒng)和其他所有復(fù)雜系統(tǒng)一樣,是隨著時(shí)間不斷演化的。業(yè)務(wù)需求和產(chǎn)品需求隨著開(kāi)發(fā)向前推進(jìn)經(jīng)常發(fā)生改變,這使得直線式的開(kāi)發(fā)模型不切實(shí)際。來(lái)自時(shí)間、成本、人力以及技術(shù)等方面的壓力往往使得演化成為軟件開(kāi)發(fā)的必經(jīng)之路。階段式開(kāi)發(fā)大體分為兩種:漸增式開(kāi)發(fā)迭代式開(kāi)

10、發(fā)階段式開(kāi)發(fā)(演化模型)25軟件工程 - 2013 - 第二章 軟件過(guò)程階段式開(kāi)發(fā)(演化模型)增量開(kāi)發(fā)迭代開(kāi)發(fā)增量和迭代模型26軟件工程 - 2013 - 第二章 軟件過(guò)程增量模型采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線性序列,每一個(gè)序列產(chǎn)生軟件的一個(gè)可發(fā)布的“增量”;第一個(gè)增量往往是核心的產(chǎn)品,實(shí)現(xiàn)最基本需求,提供最基本功能;其他補(bǔ)充的產(chǎn)品特征(包括已知的和未知的)留待后續(xù)發(fā)布;這個(gè)過(guò)程在每個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生最終完善的產(chǎn)品。增量模型(漸增模型)27軟件工程 - 2013 - 第二章 軟件過(guò)程增量模型(漸增模型)28軟件工程 - 2013 - 第二章 軟件過(guò)程增量模型的優(yōu)點(diǎn):適用于人員配備

11、不充裕、不能在軟件項(xiàng)目期限之前實(shí)現(xiàn)一個(gè)完全版本的軟件的情況;能有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn);每個(gè)增量都發(fā)布了一個(gè)可操作的版本,用戶(hù)能在較短時(shí)間內(nèi)使用上部分功能;可以提前開(kāi)始培訓(xùn)、提前開(kāi)拓市場(chǎng);使問(wèn)題修正易于進(jìn)行;逐步增加產(chǎn)品功能可以使用戶(hù)有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,減少一個(gè)全新的軟件可能給客戶(hù)帶來(lái)的沖擊;可以針對(duì)不同領(lǐng)域開(kāi)發(fā)不同版本。增量模型(漸增模型)29軟件工程 - 2013 - 第二章 軟件過(guò)程增量模型存在的困難:要求每個(gè)新的增量構(gòu)件能夠無(wú)縫地集成到現(xiàn)有的軟件體系結(jié)構(gòu)中,必須不破壞原來(lái)已經(jīng)開(kāi)發(fā)的產(chǎn)品;因此軟件體系結(jié)構(gòu)必須是開(kāi)放的,增加了設(shè)計(jì)階段的投入;本身具有矛盾性,一方面要求開(kāi)發(fā)人員把軟件

12、看作一個(gè)整體,另一方面要求開(kāi)發(fā)人員把軟件看作構(gòu)件序列,且構(gòu)件間彼此獨(dú)立。需要開(kāi)發(fā)人員協(xié)調(diào)這一矛盾。增量模型(漸增模型)30軟件工程 - 2013 - 第二章 軟件過(guò)程增量模型(漸增模型)風(fēng)險(xiǎn)更大的增量模型31軟件工程 - 2013 - 第二章 軟件過(guò)程軟件項(xiàng)目中的風(fēng)險(xiǎn):人員硬件設(shè)備項(xiàng)目的生存能力等通過(guò)使用原型或其他手段降低風(fēng)險(xiǎn),是螺旋模型中蘊(yùn)涵的基本思想;可以把螺旋模型簡(jiǎn)單地理解為在每一個(gè)階段之前都增加了風(fēng)險(xiǎn)分析的快速原型模型。螺旋模型32軟件工程 - 2013 - 第二章 軟件過(guò)程螺旋模型33軟件工程 - 2013 - 第二章 軟件過(guò)程螺旋模型制定計(jì)劃確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開(kāi)發(fā)

13、的限制;風(fēng)險(xiǎn)分析分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);實(shí)施工程實(shí)施軟件開(kāi)發(fā);客戶(hù)評(píng)估評(píng)價(jià)開(kāi)發(fā)工作,提出修正建議,并計(jì)劃下一個(gè)階段的任務(wù);34軟件工程 - 2013 - 第二章 軟件過(guò)程螺旋模型是對(duì)瀑布模型的發(fā)展,并由客戶(hù)對(duì)階段性產(chǎn)品做出評(píng)審,這對(duì)保證軟件產(chǎn)品質(zhì)量十分有利;由于引入風(fēng)險(xiǎn)分析等活動(dòng),測(cè)試活動(dòng)的確定性增強(qiáng)了;螺旋模型最外層代表維護(hù),開(kāi)發(fā)與維護(hù)采用同樣方式,使維護(hù)得到與開(kāi)發(fā)同樣的重視。螺旋模型的優(yōu)點(diǎn)35軟件工程 - 2013 - 第二章 軟件過(guò)程主要適合內(nèi)部開(kāi)發(fā),否則風(fēng)險(xiǎn)分析必須在簽訂合同前完成,或者爭(zhēng)取客戶(hù)的最大理解;只適合大型軟件項(xiàng)目的開(kāi)發(fā),否則,每個(gè)階段的風(fēng)險(xiǎn)分析將占用很大一部分

14、資源,增加成本;對(duì)開(kāi)發(fā)人員的風(fēng)險(xiǎn)分析能力是極大的考驗(yàn),否則,模型將退化到瀑布模型,甚至更糟。螺旋模型的缺點(diǎn)36軟件工程 - 2013 - 第二章 軟件過(guò)程噴泉模型進(jìn)一步開(kāi)發(fā)運(yùn)行狀態(tài)集成和測(cè)試階段編碼階段面向?qū)ο笤O(shè)計(jì)階段面向?qū)ο蠓治鲭A段需求階段維護(hù)期“噴泉”體現(xiàn)了面向?qū)ο筌浖_(kāi)發(fā)過(guò)程迭代和無(wú)縫的特性37軟件工程 - 2013 - 第二章 軟件過(guò)程注意事項(xiàng) 為避免使用噴泉模型開(kāi)發(fā)軟件時(shí)開(kāi)發(fā)過(guò)程過(guò)于無(wú)序,應(yīng)該把一個(gè)線形過(guò)程作為總目標(biāo)面向?qū)ο蠓缎捅旧硪蠼?jīng)常對(duì)開(kāi)發(fā)活動(dòng)進(jìn)行迭代或求精噴泉模型38軟件工程 - 2013 - 第二章 軟件過(guò)程軟件過(guò)程模式從成功或失敗的軟件開(kāi)發(fā)實(shí)踐中總結(jié)而成,是軟件過(guò)程中生命

15、周期、人員、方法、產(chǎn)品四大類(lèi)要素相互關(guān)聯(lián)的有機(jī)整體:人員:誰(shuí)產(chǎn)品:為實(shí)現(xiàn)什么方法:如何生命周期:(何時(shí))做什么幾種典型的軟件過(guò)程模式:Rational統(tǒng)一過(guò)程、敏捷過(guò)程、微軟過(guò)程軟件過(guò)程模式39軟件工程 - 2013 - 第二章 軟件過(guò)程由Rational公司提出并維護(hù),具有多功能性和廣泛的適用性生命周期:迭代與增量的二維生命周期結(jié)構(gòu)人員:按“角色”進(jìn)行劃分方法:UML建模、基于用例驅(qū)動(dòng)和以架構(gòu)為中心的分析設(shè)計(jì),并提供了一整套支持工具產(chǎn)品:工件Rational統(tǒng)一過(guò)程( Rational Unified Process, RUP)40軟件工程 - 2013 - 第二章 軟件過(guò)程迭代式開(kāi)發(fā) 容納

16、需求變更/減少風(fēng)險(xiǎn)管理需求 使用用例和腳本使用基于構(gòu)件的體系結(jié)構(gòu) 功能清晰的模塊和子系統(tǒng)可視化建模模型可為文字、圖形、數(shù)學(xué)表達(dá)式驗(yàn)證軟件質(zhì)量 質(zhì)量評(píng)估內(nèi)建在貫穿于整個(gè)開(kāi)發(fā)過(guò)程的、由全體成員參與的所有活動(dòng)中控制軟件變更 控制、跟蹤、監(jiān)控修改RUP開(kāi)發(fā)經(jīng)驗(yàn)(最佳實(shí)踐)41軟件工程 - 2013 - 第二章 軟件過(guò)程1. 用戶(hù)(user):用戶(hù)代表與所開(kāi)發(fā)的系統(tǒng)進(jìn)行交互的某個(gè)人或某個(gè)系統(tǒng)。2. 用例(use case):能夠向用戶(hù)提供有價(jià)值的結(jié)果的一項(xiàng)系統(tǒng)功能。“用例驅(qū)動(dòng)”3. 架構(gòu)(architecture):系統(tǒng)在其所處的環(huán)境中最高層次的概念。軟件系統(tǒng)的架構(gòu)是指通過(guò)接口交互的重要構(gòu)件的組織和結(jié)構(gòu)

17、?!耙约軜?gòu)為中心”4. 工作流程(workflow):在業(yè)務(wù)中執(zhí)行的活動(dòng)序列,它相對(duì)于業(yè)務(wù)主角個(gè)體生成一個(gè)可見(jiàn)值結(jié)果。5. 角色(worker):在軟件過(guò)程組織的環(huán)境中,個(gè)人或協(xié)同工作的小組的行為和職責(zé)定義為角色。RUP 術(shù)語(yǔ)(一)42軟件工程 - 2013 - 第二章 軟件過(guò)程6. 迭代(iteration)與增量(increment):迭代是階段中的一個(gè)子項(xiàng)目,其結(jié)果是生成系統(tǒng)的一個(gè)內(nèi)部或外部的發(fā)布版本。增量是指在后續(xù)迭代結(jié)束后,兩個(gè)發(fā)布版本之間存在的差異或差值?!暗驮隽康倪^(guò)程”7. 活動(dòng)(activity):是要求角色執(zhí)行的工作單元。8. 工件(artifacts):是一條信息,有三

18、個(gè)特性:由過(guò)程生成、修改和使用;定義了職責(zé)范圍;受到版本控制。9. 階段(phase)和里程碑(milestone)里程碑是迭代正式結(jié)束的時(shí)間點(diǎn)。階段是項(xiàng)目中相鄰兩個(gè)主要里程碑之間的時(shí)間段,在此期間要實(shí)現(xiàn)一組既定的目標(biāo)、完成工件并決定是否進(jìn)入下一階段。RUP 術(shù)語(yǔ)(二)43軟件工程 - 2013 - 第二章 軟件過(guò)程RUP軟件開(kāi)發(fā)生命周期(二維結(jié)構(gòu)生命周期)初始精化構(gòu)建移交初始精化1精化2構(gòu)建1構(gòu)建2構(gòu)建3移交1移交2環(huán)境工作流業(yè)務(wù)建模需求分析與設(shè)計(jì)實(shí)現(xiàn)測(cè)試部署項(xiàng)目管理階段配置與變更管理44軟件工程 - 2013 - 第二章 軟件過(guò)程1. 業(yè)務(wù)建模:描述了如何擬定新目標(biāo)組織的前景,并基于該前景

19、來(lái)確定該組織在業(yè)務(wù)用例模型和業(yè)務(wù)對(duì)象模型中的流程、角色以及職責(zé)。主要角色:業(yè)務(wù)流程分析員、業(yè)務(wù)設(shè)計(jì)員、業(yè)務(wù)模型復(fù)審員主要工件:業(yè)務(wù)模型(包括業(yè)務(wù)用例模型和業(yè)務(wù)對(duì)象模型)2. 需求:描述系統(tǒng)應(yīng)該做什么,即捕獲需求,并使開(kāi)發(fā)人員和用戶(hù)就這一需求描述達(dá)成共識(shí)。主要角色:系統(tǒng)分析員、用戶(hù)界面設(shè)計(jì)員、需求復(fù)審員主要工件:用例模型和用戶(hù)界面模型生命周期的靜態(tài)結(jié)構(gòu)九個(gè)核心工作流程45軟件工程 - 2013 - 第二章 軟件過(guò)程3. 分析設(shè)計(jì):將需求轉(zhuǎn)化成對(duì)未來(lái)系統(tǒng)的設(shè)計(jì),為系統(tǒng)開(kāi)發(fā)一個(gè)健壯的結(jié)構(gòu),并調(diào)整設(shè)計(jì)使其與實(shí)現(xiàn)環(huán)境相匹配,優(yōu)化其性能。主要角色:架構(gòu)設(shè)計(jì)師、架構(gòu)復(fù)審員、設(shè)計(jì)員、數(shù)據(jù)庫(kù)設(shè)計(jì)員、設(shè)計(jì)復(fù)審員主

20、要工件:設(shè)計(jì)模型和可選的分析模型4. 實(shí)現(xiàn):以層次化的子系統(tǒng)形式化地定義代碼的組織結(jié)構(gòu);以構(gòu)件的形式實(shí)現(xiàn)類(lèi)和對(duì)象;將開(kāi)發(fā)出的構(gòu)件作為單元進(jìn)行測(cè)試;將各實(shí)施人員(或團(tuán)隊(duì))完成的結(jié)果集成到可執(zhí)行系統(tǒng)中。主要角色:架構(gòu)設(shè)計(jì)員、實(shí)施員、集成員、代碼復(fù)審員主要工件:實(shí)現(xiàn)模型生命周期的靜態(tài)結(jié)構(gòu)九個(gè)核心工作流程46軟件工程 - 2013 - 第二章 軟件過(guò)程5. 測(cè)試:檢驗(yàn)對(duì)象間的交互作用,驗(yàn)證軟件中所有構(gòu)件是否正確集成,檢驗(yàn)所有需求是否被正確的實(shí)現(xiàn),識(shí)別、確認(rèn)缺陷并確保在軟件部署之前將缺陷解決。主要角色:測(cè)試設(shè)計(jì)員、測(cè)試員主要工件:測(cè)試模型和測(cè)試結(jié)果6. 部署:成功地生成產(chǎn)品版本并將軟件分發(fā)給最終用戶(hù)。主

21、要角色:部署經(jīng)理、實(shí)施人員、技術(shù)文檔編寫(xiě)員、培訓(xùn)開(kāi)發(fā)員主要工件:產(chǎn)品的一個(gè)版本和文檔培訓(xùn)資料生命周期的靜態(tài)結(jié)構(gòu)九個(gè)核心工作流程47軟件工程 - 2013 - 第二章 軟件過(guò)程7. 配置和變更管理:描述了如何在多個(gè)成員組成的項(xiàng)目中控制大量的產(chǎn)品,并提供了相應(yīng)準(zhǔn)則來(lái)管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過(guò)程中的版本變更主要角色:配置經(jīng)理、變更控制經(jīng)理、集成員主要工件:配置管理計(jì)劃、變更請(qǐng)求、項(xiàng)目存儲(chǔ)庫(kù)和工作區(qū)8. 項(xiàng)目管理:平衡競(jìng)爭(zhēng)的目標(biāo)、管理風(fēng)險(xiǎn)并克服各種約束,從而成功交付使用戶(hù)滿(mǎn)意的產(chǎn)品主要角色:項(xiàng)目經(jīng)理、項(xiàng)目復(fù)審員主要工件:商業(yè)理由、迭代計(jì)劃、風(fēng)險(xiǎn)管理計(jì)劃、質(zhì)量保證計(jì)劃及相應(yīng)的評(píng)估文檔9.

22、環(huán)境:向軟件開(kāi)發(fā)組織提供軟件開(kāi)發(fā)的環(huán)境,包括過(guò)程和工具主要角色:過(guò)程工程師、工具專(zhuān)家主要工件:工作流程指南和工具、工具指南生命周期的靜態(tài)結(jié)構(gòu)九個(gè)核心工作流程48軟件工程 - 2013 - 第二章 軟件過(guò)程49軟件工程 - 2013 - 第二章 軟件過(guò)程50軟件工程 - 2013 - 第二章 軟件過(guò)程51軟件工程 - 2013 - 第二章 軟件過(guò)程52軟件工程 - 2013 - 第二章 軟件過(guò)程初始階段(Inception):建立業(yè)務(wù)用例和確定項(xiàng)目的范圍生命周期目標(biāo)里程碑主要項(xiàng)目干系人對(duì)系統(tǒng)的范圍達(dá)成一致意見(jiàn);對(duì)是否已經(jīng)獲得正確的需求集達(dá)成一致意見(jiàn),并且對(duì)這些需求的理解是共同的;對(duì)成本/進(jìn)度估算

23、、優(yōu)先級(jí)、風(fēng)險(xiǎn)和開(kāi)發(fā)流程達(dá)成一致意見(jiàn);已經(jīng)確定所有風(fēng)險(xiǎn)并且有針對(duì)每個(gè)風(fēng)險(xiǎn)的風(fēng)險(xiǎn)降低策略。生命周期的動(dòng)態(tài)結(jié)構(gòu)四個(gè)階段53軟件工程 - 2013 - 第二章 軟件過(guò)程精化階段(Elaboration):建立穩(wěn)定的架構(gòu)、編制項(xiàng)目計(jì)劃和淘汰項(xiàng)目中風(fēng)險(xiǎn)最高的元素生命周期架構(gòu)里程碑產(chǎn)品前景和需求是穩(wěn)定的;架構(gòu)是穩(wěn)定的;可執(zhí)行原型表明已經(jīng)找到了主要的風(fēng)險(xiǎn)元素,并且已得到妥善解決;構(gòu)建階段的迭代計(jì)劃足夠詳細(xì)和真實(shí),可以保證工作繼續(xù)進(jìn)行;構(gòu)建階段的迭代計(jì)劃有可靠的估算支持;所有項(xiàng)目干系人一致認(rèn)為,如果在當(dāng)前架構(gòu)環(huán)境中執(zhí)行當(dāng)前計(jì)劃來(lái)開(kāi)發(fā)完整的系統(tǒng),則當(dāng)前的前景可以實(shí)現(xiàn);實(shí)際的資源耗費(fèi)與計(jì)劃的耗費(fèi)相比是可以接受的。

24、生命周期的動(dòng)態(tài)結(jié)構(gòu)四個(gè)階段54軟件工程 - 2013 - 第二章 軟件過(guò)程構(gòu)建階段(Construction):所有構(gòu)件和應(yīng)用程序功能被開(kāi)發(fā)并集成為產(chǎn)品,所有的功能被詳盡地測(cè)試初始可操作性能里程碑該產(chǎn)品發(fā)布版已經(jīng)足夠穩(wěn)定和成熟,可部署在用戶(hù)群中;所有項(xiàng)目干系人已準(zhǔn)備好將產(chǎn)品發(fā)布到用戶(hù)群;實(shí)際的資源耗費(fèi)與計(jì)劃相比仍可以接受。移交階段(Transition):將軟件產(chǎn)品交付給用戶(hù)群體產(chǎn)品發(fā)布里程碑用戶(hù)滿(mǎn)意;實(shí)際的資源耗費(fèi)與計(jì)劃的耗費(fèi)相比可以接受。生命周期的動(dòng)態(tài)結(jié)構(gòu)四個(gè)階段55軟件工程 - 2013 - 第二章 軟件過(guò)程56軟件工程 - 2013 - 第二章 軟件過(guò)程與螺旋模型相比相似:重復(fù)一系列組

25、成系統(tǒng)生命周期的循環(huán)差異:RUP給出了每個(gè)階段內(nèi)的若干次迭代過(guò)程完成后交付的增量的具體要求,即 四個(gè)階段的里程碑RUP詳細(xì)闡述了不同階段的不同迭代過(guò)程經(jīng)歷的九大核心工作流程中活動(dòng)內(nèi)容的重點(diǎn)和強(qiáng)度不同RUP提供了對(duì)每次迭代過(guò)程中不同核心工作流程活動(dòng)的并行化支持優(yōu)點(diǎn):用于指導(dǎo)需求不明確、不穩(wěn)定的項(xiàng)目開(kāi)發(fā)時(shí)具有更強(qiáng)的可操作性。RUP生命周期的特點(diǎn)57軟件工程 - 2013 - 第二章 軟件過(guò)程與瀑布模型相比優(yōu)點(diǎn):RUP將成本風(fēng)險(xiǎn)進(jìn)一步降低為獲得一次增量所需的費(fèi)用RUP進(jìn)一步降低了產(chǎn)品不能按計(jì)劃投放市場(chǎng)的風(fēng)險(xiǎn)RUP使項(xiàng)目開(kāi)發(fā)更能適應(yīng)項(xiàng)目需求的變化RUP生命周期的特點(diǎn)58軟件工程 - 2013 - 第二

26、章 軟件過(guò)程角色的劃分及相關(guān)活動(dòng)RUP定義了五大類(lèi)角色集:分析員、開(kāi)發(fā)人員、測(cè)試員、經(jīng)理、其他角色。每一類(lèi)角色集又包括多個(gè)角色,并給出了每個(gè)角色對(duì)應(yīng)的活動(dòng)。角色的意義將角色和個(gè)體區(qū)分開(kāi)來(lái),有效提高了項(xiàng)目中人力資源的利用率。角色方面的缺陷未給出角色的組織管理方式、角色間的相互地位關(guān)系和交互方式。RUP的人員角色及其活動(dòng)59軟件工程 - 2013 - 第二章 軟件過(guò)程方法:用例及用例驅(qū)動(dòng)用例是捕獲需求的有效方法用例驅(qū)動(dòng)整個(gè)RUP過(guò)程以架構(gòu)為中心在面向?qū)ο蟮姆治鲈O(shè)計(jì)中采用UML進(jìn)行可視化建模面向?qū)ο蟮脑O(shè)計(jì)與構(gòu)件實(shí)現(xiàn)工具:Rational SolutionsRUP的方法方法與工具60軟件工程 - 20

27、13 - 第二章 軟件過(guò)程優(yōu)點(diǎn):用例驅(qū)動(dòng)、以架構(gòu)為中心、迭代和增量的;具有二維迭代性,有利于降低風(fēng)險(xiǎn)、適應(yīng)需求變化;是可配置的,具有通用性;缺點(diǎn):是在理想的項(xiàng)目開(kāi)發(fā)環(huán)境下軟件過(guò)程的一種完美模式;未給出具體的剪裁、擴(kuò)充等配置實(shí)施的方法準(zhǔn)則。RUP的特點(diǎn)61軟件工程 - 2013 - 第二章 軟件過(guò)程敏捷過(guò)程敏捷過(guò)程(2001/2敏捷軟件開(kāi)發(fā)宣言 The Manifesto of the Agile Alliance )強(qiáng)調(diào)適應(yīng)而非預(yù)測(cè)變化以人為中心相關(guān)流派:極限編程(eXtreme Programming)、SCRUM、動(dòng)態(tài)軟件開(kāi)發(fā)方法(Dynamic System Development Me

28、thod)、水晶系列方法(Crystal Methodologies)、適配性軟件開(kāi)發(fā)(Adaptive Software Development)、特征驅(qū)動(dòng)開(kāi)發(fā)(Feature Driven Development)、開(kāi)放式源碼(Open Source)等62軟件工程 - 2013 - 第二章 軟件過(guò)程敏捷過(guò)程的價(jià)值觀個(gè)體和交互勝過(guò)過(guò)程和工具可以工作的軟件勝過(guò)面面俱到的文檔客戶(hù)合作勝過(guò)合同談判響應(yīng)變化勝過(guò)遵循計(jì)劃敏捷過(guò)程的價(jià)值觀與原則63軟件工程 - 2013 - 第二章 軟件過(guò)程個(gè)體和交互勝過(guò)過(guò)程和工具人是軟件項(xiàng)目獲得成功最為重要的因素合作、溝通及交互能力比單純的軟件編程能力更為重要。合適

29、的工具雖然重要,但不能過(guò)分夸大工具的作用。團(tuán)隊(duì)的構(gòu)建(包括個(gè)體、交互等)要比項(xiàng)目環(huán)境(包括過(guò)程、工具)的構(gòu)建更重要。敏捷過(guò)程的價(jià)值觀與原則64軟件工程 - 2013 - 第二章 軟件過(guò)程可以工作的軟件勝過(guò)面面俱到的文檔軟件開(kāi)發(fā)的主要目標(biāo)是交付可以工作的軟件。沒(méi)有文檔的軟件是一種災(zāi)難,但過(guò)多的面面俱到的文檔比過(guò)少的文檔更糟。軟件開(kāi)發(fā)的主要和中心活動(dòng)是創(chuàng)建可以工作的軟件?!爸钡狡惹行枰乙饬x重大時(shí),才進(jìn)行文檔編制”Martin文檔第一定律。編制的內(nèi)部文檔應(yīng)盡量短小并且主題突出。敏捷過(guò)程的價(jià)值觀與原則65軟件工程 - 2013 - 第二章 軟件過(guò)程客戶(hù)合作勝過(guò)合同談判需求、進(jìn)度和項(xiàng)目成本的合同在根本

30、上是存在缺陷的。為開(kāi)發(fā)團(tuán)隊(duì)和客戶(hù)的協(xié)同工作方式提供指導(dǎo)的合同才是最好的合同。敏捷過(guò)程的價(jià)值觀與原則66軟件工程 - 2013 - 第二章 軟件過(guò)程響應(yīng)變化勝過(guò)遵循計(jì)劃軟件過(guò)程必須有足夠的能力及時(shí)響應(yīng)變化。計(jì)劃必須有足夠的靈活性與可塑性制定細(xì)致度逐漸降低的計(jì)劃敏捷過(guò)程的價(jià)值觀與原則67軟件工程 - 2013 - 第二章 軟件過(guò)程敏捷過(guò)程的12條基本原則我們最優(yōu)先要做的是通過(guò)盡早的、持續(xù)的交付有價(jià)值的軟件來(lái)使客戶(hù)滿(mǎn)意。即使到了開(kāi)發(fā)的后期也歡迎改變需求。敏捷過(guò)程利用變化來(lái)為客戶(hù)創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)。經(jīng)常性地交付可以工作的軟件,交付的間隔可以從幾周到幾個(gè)月,交付的時(shí)間間隔越短越好。在整個(gè)項(xiàng)目開(kāi)發(fā)期間,業(yè)務(wù)人員

31、和開(kāi)發(fā)人員必須天天都在一起工作。圍繞被激勵(lì)起來(lái)的個(gè)人來(lái)構(gòu)建項(xiàng)目。給他們提供所需要的環(huán)境和支持,并且信任他們能夠完成工作。敏捷過(guò)程的價(jià)值觀與原則68軟件工程 - 2013 - 第二章 軟件過(guò)程敏捷過(guò)程的12條基本原則(續(xù))在團(tuán)隊(duì)內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對(duì)面的交談。工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)。敏捷過(guò)程提倡可持續(xù)的開(kāi)發(fā)速度。責(zé)任人、開(kāi)發(fā)者和用戶(hù)應(yīng)該能夠保持一個(gè)長(zhǎng)期的、恒定的開(kāi)發(fā)速度。不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力。簡(jiǎn)單是最根本的。最好的架構(gòu)、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)。每隔一段時(shí)間,團(tuán)隊(duì)會(huì)在如何才能更有效地工作方面進(jìn)行反省,然后相應(yīng)地對(duì)自己的行為進(jìn)行調(diào)

32、整。敏捷過(guò)程的價(jià)值觀與原則69軟件工程 - 2013 - 第二章 軟件過(guò)程極限編程是敏捷過(guò)程中最富盛名的一個(gè),其中“極限”的含義是指把最好的開(kāi)發(fā)實(shí)踐運(yùn)用到極致。目前極限編程已經(jīng)成為一個(gè)典型的開(kāi)發(fā)方法,廣泛應(yīng)用于需求模糊且經(jīng)常改變的場(chǎng)合。特點(diǎn):對(duì)變化和不確定性反應(yīng)更快速、更敏捷快速的同時(shí)保持可持續(xù)的開(kāi)發(fā)速度極限編程(eXtreme Programming, XP)70軟件工程 - 2013 - 第二章 軟件過(guò)程客戶(hù)作為開(kāi)發(fā)團(tuán)隊(duì)的成員使用用戶(hù)素材短交付周期(每?jī)芍芡瓿梢淮蔚?yàn)收測(cè)試結(jié)對(duì)編程測(cè)試驅(qū)動(dòng)開(kāi)發(fā)集體所有(程序代碼屬于整個(gè)開(kāi)發(fā)小組,每個(gè)成員都有修改代碼的權(quán)利,都對(duì)全部代碼負(fù)責(zé))極限編程的有

33、效實(shí)踐71軟件工程 - 2013 - 第二章 軟件過(guò)程持續(xù)集成(一日內(nèi)多次集成,不斷回歸測(cè)試)可持續(xù)的開(kāi)發(fā)速度(周工作時(shí)間不超過(guò)40小時(shí),連續(xù)加班不超過(guò)兩周)開(kāi)放的工作空間計(jì)劃游戲簡(jiǎn)單的設(shè)計(jì)重構(gòu)使用隱喻(隱喻是把整個(gè)系統(tǒng)聯(lián)系在一起的全局視圖,描述系統(tǒng)如何運(yùn)做,如何把新功能加入到系統(tǒng)中)極限編程的有效實(shí)踐72軟件工程 - 2013 - 第二章 軟件過(guò)程極限編程的整體開(kāi)發(fā)過(guò)程體系結(jié)構(gòu)試探制訂交付計(jì)劃難點(diǎn)試探驗(yàn)收測(cè)試迭代開(kāi)發(fā)不確定的估計(jì)確定的估計(jì)隱喻交付計(jì)劃最新版本需求新用戶(hù)故事差錯(cuò)下一次迭代用戶(hù)認(rèn)可小交付測(cè)試用例用戶(hù)故事73軟件工程 - 2013 - 第二章 軟件過(guò)程極限編程的迭代過(guò)程制訂迭代計(jì)劃

34、站立會(huì)議代碼共享編程交流與討論未完成的任務(wù)用戶(hù)故事交付計(jì)劃項(xiàng)目速率任務(wù)分配下一個(gè)任務(wù)或未通過(guò)驗(yàn)收的模塊差錯(cuò)共享的信息新用戶(hù)故事新項(xiàng)目速率新功能最新版本結(jié)對(duì)編程與人員輪換;持續(xù)地優(yōu)化設(shè)計(jì);循環(huán)冗余檢測(cè)消除差錯(cuò)每天74軟件工程 - 2013 - 第二章 軟件過(guò)程生命周期敏捷過(guò)程是一個(gè)一維的迭代過(guò)程RUP是一個(gè)二維、雙重的迭代過(guò)程敏捷過(guò)程相對(duì)RUP具有對(duì)變化和不確定性的“更快速、更敏捷”的反應(yīng)特性,且在快速的同時(shí)仍保持可持續(xù)性,該特性能較好地適應(yīng)商業(yè)競(jìng)爭(zhēng)環(huán)境下對(duì)小型項(xiàng)目提出的有限開(kāi)發(fā)時(shí)間的約束。敏捷過(guò)程的特點(diǎn)(與RUP比較)75軟件工程 - 2013 - 第二章 軟件過(guò)程人員敏捷過(guò)程突出強(qiáng)調(diào)了“客戶(hù)

35、”這一角色的重要性能夠全面、動(dòng)態(tài)地獲得用戶(hù)需求,將需求的持續(xù)反饋用以對(duì)過(guò)程進(jìn)行適應(yīng)性校正調(diào)整敏捷過(guò)程中各成員個(gè)體相互的地位關(guān)系是平等的,職責(zé)是共同的;個(gè)體間的首要協(xié)作交互方式為面對(duì)面的交談RUP中個(gè)體的職責(zé)是按照“角色”明確分工的,未給出個(gè)體間的地位關(guān)系RUP中主要協(xié)作交互方式是通過(guò)“形式化的文檔模型”理想方式:將上述兩種方式進(jìn)行結(jié)合敏捷過(guò)程的特點(diǎn)(與RUP比較)76軟件工程 - 2013 - 第二章 軟件過(guò)程方法動(dòng)態(tài)滿(mǎn)足需求從歡迎變化、與客戶(hù)合作到響應(yīng)變化簡(jiǎn)單化,與RUP的以架構(gòu)為中心的設(shè)計(jì)方法相比,是對(duì)產(chǎn)品不同質(zhì)量要求的不同的應(yīng)對(duì)策略團(tuán)隊(duì)持續(xù)自我反省理想方式:與RUP的三種方法在項(xiàng)目開(kāi)發(fā)的

36、不同階段同時(shí)使用整個(gè)過(guò)程建模使用UML在需求階段可同時(shí)采用用例驅(qū)動(dòng)方法和動(dòng)態(tài)滿(mǎn)足需求方法在設(shè)計(jì)階段根據(jù)不同的項(xiàng)目質(zhì)量要求選擇以架構(gòu)為中心和簡(jiǎn)單化兩種之一來(lái)實(shí)施敏捷過(guò)程的特點(diǎn)(與RUP比較)77軟件工程 - 2013 - 第二章 軟件過(guò)程產(chǎn)品RUP強(qiáng)調(diào)創(chuàng)建和維護(hù)形式化的文檔模型,但未論及模型與軟件兩者的優(yōu)先級(jí)敏捷過(guò)程認(rèn)為可以工作的軟件勝過(guò)面面俱到的文檔理想方式:二者融合軟件開(kāi)發(fā)的主要和中心活動(dòng)就是創(chuàng)建可以工作的軟件直到迫切需要且意義重大時(shí),才進(jìn)行文檔編制編制的內(nèi)部文檔應(yīng)盡量短小且主題突出,滿(mǎn)足這種要求的最好的文檔形式是模型敏捷過(guò)程的特點(diǎn)(與RUP比較)78軟件工程 - 2013 - 第二章 軟件

37、過(guò)程敏捷過(guò)程的總體特征是針對(duì)商業(yè)環(huán)境下通常具有有限資源和有限時(shí)間約束的小型項(xiàng)目,提出了一些獨(dú)具特色的、操作性較強(qiáng)的解決方案;RUP是理想開(kāi)發(fā)環(huán)境下軟件過(guò)程的一種完美的模式,但對(duì)商業(yè)環(huán)境具有有限資源和有限時(shí)間約束的項(xiàng)目沒(méi)有給出具體完整的配置方案。敏捷過(guò)程的特點(diǎn)(與RUP比較)Rational統(tǒng)一過(guò)程(RUP)敏捷過(guò)程(AP)其他過(guò)程XXX項(xiàng)目過(guò)程敏捷過(guò)程實(shí)施策略79軟件工程 - 2013 - 第二章 軟件過(guò)程Microsoft公司自己獨(dú)特的軟件開(kāi)發(fā)過(guò)程,綜合了RUP和XP的許多優(yōu)點(diǎn),是對(duì)眾多成功項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn)的正確總結(jié)。MSF的過(guò)程模型來(lái)自?xún)蓚€(gè)方面:微軟開(kāi)發(fā)應(yīng)用程序的過(guò)程;一些有效的、公認(rèn)的過(guò)程

38、模型;詳細(xì)論述參見(jiàn)微軟軟件開(kāi)發(fā)解決方案框架(第二版),麥中凡、陶偉編著,北京航空航天大學(xué)出版社微軟過(guò)程(Microsoft Process, MP)80軟件工程 - 2013 - 第二章 軟件過(guò)程項(xiàng)目前景(vision)與項(xiàng)目范圍(scope)項(xiàng)目前景是對(duì)項(xiàng)目要解決什么問(wèn)題的開(kāi)放性描述,它代表項(xiàng)目的遠(yuǎn)景目標(biāo)項(xiàng)目范圍描述的是在項(xiàng)目的限制條件內(nèi),需要完成哪些具體的目標(biāo),主要是指所有特定的近期目標(biāo)功能說(shuō)明書(shū)闡釋了軟件每一個(gè)特性的功能和執(zhí)行方式,以及所有特性的組合關(guān)系和整體架構(gòu)單頁(yè):概要性的描述所有產(chǎn)品特性的功能、性能及其在項(xiàng)目中的優(yōu)先級(jí)詳細(xì):從技術(shù)細(xì)節(jié)上詳細(xì)描述如何實(shí)現(xiàn)所有的產(chǎn)品特性程序經(jīng)理職責(zé)是在

39、規(guī)定的項(xiàng)目資源、期限等限制條件下,確保產(chǎn)品能夠如期發(fā)布。微軟過(guò)程術(shù)語(yǔ)81軟件工程 - 2013 - 第二章 軟件過(guò)程項(xiàng)目計(jì)劃應(yīng)該兼顧未來(lái)的不確定因素用有效的風(fēng)險(xiǎn)管理來(lái)減少不確定的因素的影響經(jīng)常生成過(guò)渡版本并快速地測(cè)試軟件來(lái)提高產(chǎn)品的穩(wěn)定性及可預(yù)測(cè)性采用快速循環(huán)、遞進(jìn)的開(kāi)發(fā)過(guò)程用創(chuàng)造性的工作來(lái)平衡產(chǎn)品特性和產(chǎn)品成本項(xiàng)目進(jìn)度表應(yīng)該具有較高的穩(wěn)定性和權(quán)威性使用小型項(xiàng)目組并發(fā)地完成開(kāi)發(fā)工作,并設(shè)置多個(gè)同步點(diǎn)微軟過(guò)程的過(guò)程原則82軟件工程 - 2013 - 第二章 軟件過(guò)程將大型項(xiàng)目分解成多個(gè)可管理的單元,以便更快地發(fā)布產(chǎn)品用產(chǎn)品的前景目標(biāo)和概要說(shuō)明指導(dǎo)項(xiàng)目開(kāi)發(fā)工作先基線化,后凍結(jié)避免產(chǎn)品走形使用原型驗(yàn)

40、證概念,對(duì)項(xiàng)目進(jìn)行早期論證把零缺陷作為追求的目標(biāo)里程碑評(píng)審會(huì)強(qiáng)調(diào)改進(jìn)工作,避免相互指責(zé)微軟過(guò)程的過(guò)程原則(續(xù))83軟件工程 - 2013 - 第二章 軟件過(guò)程小型的、多元化的項(xiàng)目組角色依賴(lài)和職責(zé)共享專(zhuān)深的技術(shù)水平和業(yè)務(wù)技能以產(chǎn)品發(fā)布為中心明確的目標(biāo)客戶(hù)的主動(dòng)參與分享產(chǎn)品的前景所有人都參與設(shè)計(jì)認(rèn)真從過(guò)去的項(xiàng)目中吸取經(jīng)驗(yàn)共同管理、共同決策項(xiàng)目組成員在同一地點(diǎn)辦公大型項(xiàng)目組也像小型項(xiàng)目組一樣運(yùn)轉(zhuǎn)微軟過(guò)程的組隊(duì)原則84軟件工程 - 2013 - 第二章 軟件過(guò)程微軟過(guò)程的生命周期每個(gè)生命周期發(fā)布一個(gè)遞進(jìn)的軟件版本,各生命周期持續(xù)、快速地循環(huán)。每個(gè)生命周期分為五個(gè)階段,構(gòu)思階段(Envisioning

41、Phase)計(jì)劃階段(Planning Phase)開(kāi)發(fā)階段(Developing Phase)穩(wěn)定階段(Stabilizing Phase)部署階段(Deploying Phase)每個(gè)階段均涉及產(chǎn)品管理、程序管理、開(kāi)發(fā)、測(cè)試、發(fā)布各角色及其活動(dòng),各階段結(jié)束于一個(gè)重要里程碑。微軟過(guò)程的特點(diǎn)與AP、RUP比較85軟件工程 - 2013 - 第二章 軟件過(guò)程微軟軟件生命周期86軟件工程 - 2013 - 第二章 軟件過(guò)程87軟件工程 - 2013 - 第二章 軟件過(guò)程構(gòu)思階段前景/范圍認(rèn)可里程碑主要工作:確定產(chǎn)品目標(biāo)獲取競(jìng)爭(zhēng)對(duì)手的信息完成對(duì)客戶(hù)和市場(chǎng)的調(diào)研分析確定新版本產(chǎn)品應(yīng)該具備的主要特性確定

42、相對(duì)于前一版本而言,新版本應(yīng)該解決的問(wèn)題和需要增加的功能產(chǎn)品:前景/范圍說(shuō)明書(shū)風(fēng)險(xiǎn)評(píng)估說(shuō)明書(shū)項(xiàng)目組織結(jié)構(gòu)說(shuō)明書(shū)微軟軟件生命周期88軟件工程 - 2013 - 第二章 軟件過(guò)程計(jì)劃階段項(xiàng)目計(jì)劃認(rèn)可里程碑主要工作:根據(jù)產(chǎn)品目標(biāo)編寫(xiě)系統(tǒng)的特性規(guī)格說(shuō)明書(shū),這份說(shuō)明書(shū)主要描述軟件特性、系統(tǒng)結(jié)構(gòu)、各構(gòu)件之間的相關(guān)性以及接口標(biāo)準(zhǔn)從系統(tǒng)高層開(kāi)始著手進(jìn)行系統(tǒng)設(shè)計(jì)描述整個(gè)系統(tǒng)的設(shè)計(jì)方案繪制系統(tǒng)結(jié)構(gòu)圖確定系統(tǒng)中存在的風(fēng)險(xiǎn)因素分析系統(tǒng)的可重用性劃分出系統(tǒng)中的子系統(tǒng),給出各個(gè)子系統(tǒng)和各個(gè)構(gòu)件的規(guī)格說(shuō)明根據(jù)產(chǎn)品特性規(guī)格說(shuō)明書(shū)制定產(chǎn)品開(kāi)發(fā)計(jì)劃產(chǎn)品:功能說(shuō)明書(shū)風(fēng)險(xiǎn)管理計(jì)劃項(xiàng)目總體計(jì)劃書(shū)和總體進(jìn)度表微軟軟件生命周期89軟件工程

43、 - 2013 - 第二章 軟件過(guò)程開(kāi)發(fā)階段范圍完成里程碑主要工作:編寫(xiě)程序代碼和書(shū)寫(xiě)文檔產(chǎn)品:源代碼和可執(zhí)行程序安裝腳本和用于發(fā)布的配置信息已凍結(jié)的功能說(shuō)明書(shū)關(guān)于產(chǎn)品使用的支持要素測(cè)試說(shuō)明書(shū)和測(cè)試用例微軟軟件生命周期90軟件工程 - 2013 - 第二章 軟件過(guò)程穩(wěn)定階段發(fā)布就緒認(rèn)可里程碑主要工作:測(cè)試和調(diào)試產(chǎn)品:黃金版本版本注釋關(guān)于產(chǎn)品使用的支持要素測(cè)試結(jié)果和測(cè)試工具源代碼和可執(zhí)行程序項(xiàng)目文檔里程碑評(píng)審記錄微軟軟件生命周期91軟件工程 - 2013 - 第二章 軟件過(guò)程部署階段部署完成里程碑主要工作:發(fā)布產(chǎn)品和解決方案,把項(xiàng)目移交到運(yùn)營(yíng)和支持人員手中產(chǎn)品:運(yùn)營(yíng)與支持信息系統(tǒng)程序和過(guò)程知識(shí)庫(kù)、報(bào)告、日志文檔庫(kù),包含項(xiàng)目過(guò)程中產(chǎn)生的所有版本的文檔、資源所有項(xiàng)目文檔的最終版本下一步的工作計(jì)劃微軟軟件生命周期92軟件工程 - 2013 - 第二章 軟件過(guò)程相對(duì)RUP,微軟過(guò)程可視為RUP的一個(gè)精簡(jiǎn)配置版本。相對(duì)敏捷過(guò)程,微軟過(guò)程是它的一個(gè)擴(kuò)充版本,擴(kuò)充了其每個(gè)生命周期內(nèi)的各階段的具體運(yùn)作流程。微軟軟件生命周期特點(diǎn)93軟件工程 - 2013 - 第二章 軟件過(guò)程微軟過(guò)程中的人員的職責(zé)分配與任務(wù)分配是按照RUP中的“角色”概念

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論