軟件過程的教學(xué)實(shí)例_第1頁
軟件過程的教學(xué)實(shí)例_第2頁
軟件過程的教學(xué)實(shí)例_第3頁
軟件過程的教學(xué)實(shí)例_第4頁
軟件過程的教學(xué)實(shí)例_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、本章講述在軟件生命周期全過程中應(yīng)該完成本章講述在軟件生命周期全過程中應(yīng)該完成的基本任務(wù),并介紹各種常用的過程模型。的基本任務(wù),并介紹各種常用的過程模型。 過程(過程(ISO 9000):): 把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動。把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動。 軟件過程:軟件過程: 是一個(gè)將用戶需求轉(zhuǎn)化為軟件系統(tǒng)所需要的活動集合是一個(gè)將用戶需求轉(zhuǎn)化為軟件系統(tǒng)所需要的活動集合 過程模型:過程模型: 經(jīng)典模型、現(xiàn)代模型、敏捷過程、專業(yè)過程模型經(jīng)典模型、現(xiàn)代模型、敏捷過程、專業(yè)過程模型第二章第二章 軟件過程軟件過程過程模型過程模型 過程模型過程模型 經(jīng)典模型:瀑布、原型、增量、螺

2、旋、噴泉經(jīng)典模型:瀑布、原型、增量、螺旋、噴泉 現(xiàn)代模型:統(tǒng)一過程、能力成熟度模型現(xiàn)代模型:統(tǒng)一過程、能力成熟度模型 敏捷過程:極限編程、敏捷過程:極限編程、SCRUM 專業(yè)過程模型:專業(yè)過程模型: 基于構(gòu)件的開發(fā)基于構(gòu)件的開發(fā)復(fù)用構(gòu)件復(fù)用構(gòu)件 形式化方法模型形式化方法模型無缺陷產(chǎn)品無缺陷產(chǎn)品 面向方面的軟件開發(fā)面向方面的軟件開發(fā)橫向切片橫向切片2.1 2.1 軟件生命周期的基本任務(wù)軟件生命周期的基本任務(wù) 軟件生命周期軟件生命周期(Software Life Cycle) 即軟件從定義、開發(fā)、維護(hù)直到報(bào)廢、結(jié)束其使用的即軟件從定義、開發(fā)、維護(hù)直到報(bào)廢、結(jié)束其使用的全過程。全過程。 由軟件定義、

3、軟件開發(fā)和運(yùn)行維護(hù)三個(gè)時(shí)期組成。由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)三個(gè)時(shí)期組成。 軟件生命周期各階段的基本任務(wù)軟件生命周期各階段的基本任務(wù)軟件生命周期的基本任務(wù)軟件生命周期的基本任務(wù) 軟件定義:軟件定義:確定軟件開發(fā)工程必須完成的總目標(biāo)確定軟件開發(fā)工程必須完成的總目標(biāo) 問題定義:要解決的問題是什么?問題定義:要解決的問題是什么? 可行性研究:上階段所確定的問題是否有可行的解決辦可行性研究:上階段所確定的問題是否有可行的解決辦法?法? 需求分析:目標(biāo)系統(tǒng)必須做什么?需求分析:目標(biāo)系統(tǒng)必須做什么? 軟件開發(fā)軟件開發(fā):具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件。具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件。 概要設(shè)計(jì)

4、:怎樣宏觀地解決問題?概要設(shè)計(jì):怎樣宏觀地解決問題? 詳細(xì)設(shè)計(jì):應(yīng)如何具體地實(shí)現(xiàn)這個(gè)系統(tǒng)?詳細(xì)設(shè)計(jì):應(yīng)如何具體地實(shí)現(xiàn)這個(gè)系統(tǒng)? 編碼和單元測試:寫出正確的、易理解、易維護(hù)的程序編碼和單元測試:寫出正確的、易理解、易維護(hù)的程序 綜合測試:通過各類型測試使達(dá)到預(yù)定要求。綜合測試:通過各類型測試使達(dá)到預(yù)定要求。軟件生命周期的基本任務(wù)(續(xù))軟件生命周期的基本任務(wù)(續(xù)) 運(yùn)行維護(hù):運(yùn)行維護(hù):修正錯(cuò)誤,使軟件持久地滿足用戶需要。修正錯(cuò)誤,使軟件持久地滿足用戶需要。 改正性維護(hù):診斷和改正使用中的錯(cuò)誤改正性維護(hù):診斷和改正使用中的錯(cuò)誤 適應(yīng)性維護(hù):修改以適應(yīng)環(huán)境變化適應(yīng)性維護(hù):修改以適應(yīng)環(huán)境變化 完善性維護(hù)

5、:根據(jù)用戶的要求改進(jìn)和擴(kuò)充以完善完善性維護(hù):根據(jù)用戶的要求改進(jìn)和擴(kuò)充以完善 預(yù)防性維護(hù):修改以為將來的維護(hù)作準(zhǔn)備預(yù)防性維護(hù):修改以為將來的維護(hù)作準(zhǔn)備軟件生命周期模型軟件生命周期模型 軟件生命周期模型軟件生命周期模型 又稱軟件過程模型,是軟件開發(fā)模型的直觀表達(dá)。又稱軟件過程模型,是軟件開發(fā)模型的直觀表達(dá)。 規(guī)定了把生命周期劃分成哪些階段及各階段的執(zhí)行規(guī)定了把生命周期劃分成哪些階段及各階段的執(zhí)行順序。順序。 定義(定義(What)開發(fā)(開發(fā)(How)維護(hù)(維護(hù)(Change) 典型的軟件生命周期模型包括瀑布模型、原型模型、典型的軟件生命周期模型包括瀑布模型、原型模型、增量模型、螺旋模型等。增量模型

6、、螺旋模型等。2.2 瀑布模型(瀑布模型(Waterfall Model) 傳統(tǒng)的瀑布模型傳統(tǒng)的瀑布模型 模型:模型: 特點(diǎn):特點(diǎn): 階段間具有順序性和依賴性階段間具有順序性和依賴性 推遲實(shí)現(xiàn)推遲實(shí)現(xiàn) 質(zhì)量保證質(zhì)量保證 文檔文檔 缺點(diǎn):太理想化缺點(diǎn):太理想化2.2 瀑布模型(瀑布模型(Waterfall Model) 實(shí)際的瀑布模型實(shí)際的瀑布模型 模型:加入模型:加入“反饋環(huán)反饋環(huán)” 優(yōu)點(diǎn):優(yōu)點(diǎn): 強(qiáng)迫開發(fā)人員采用規(guī)范方法強(qiáng)迫開發(fā)人員采用規(guī)范方法 嚴(yán)格規(guī)定每階段必須提交的文檔嚴(yán)格規(guī)定每階段必須提交的文檔 “文檔驅(qū)動文檔驅(qū)動” 要求每階段的所有產(chǎn)品必須經(jīng)過質(zhì)量評審要求每階段的所有產(chǎn)品必須經(jīng)過質(zhì)量

7、評審 缺點(diǎn):缺點(diǎn): 幾乎完全依賴于書面規(guī)格說明,可能導(dǎo)致產(chǎn)品不能滿足需求。幾乎完全依賴于書面規(guī)格說明,可能導(dǎo)致產(chǎn)品不能滿足需求。如需回溯,則導(dǎo)致成本急劇上升。如需回溯,則導(dǎo)致成本急劇上升。2.2 瀑布模型(瀑布模型(Waterfall Model) 適用范圍適用范圍 一種整體開發(fā)模型一種整體開發(fā)模型 適用于適用于功能和性能明確、完整、無重大變化的軟件開功能和性能明確、完整、無重大變化的軟件開發(fā)發(fā)。例如:編譯系統(tǒng)、。例如:編譯系統(tǒng)、DBMS、OS等。等。 即在開發(fā)前均可完整、準(zhǔn)確、一致和無二義性地定義即在開發(fā)前均可完整、準(zhǔn)確、一致和無二義性地定義其目標(biāo)功能和性能等。其目標(biāo)功能和性能等。2.3 快

8、速原型模型快速原型模型(Rapid Prototype Model) 原型原型:是指模擬某種產(chǎn)品的:是指模擬某種產(chǎn)品的原始模型。原始模型。 原型系統(tǒng)原型系統(tǒng)僅包括未來系統(tǒng)的僅包括未來系統(tǒng)的主要功能,以及系統(tǒng)的重要主要功能,以及系統(tǒng)的重要接口。接口。 為了盡快向用戶提供原型,為了盡快向用戶提供原型,開發(fā)原型系統(tǒng)時(shí)應(yīng)盡量使用開發(fā)原型系統(tǒng)時(shí)應(yīng)盡量使用能縮短開發(fā)周期的語言和工能縮短開發(fā)周期的語言和工具。具。 快速原型模型快速原型模型是利用原型輔是利用原型輔助軟件開發(fā)的一種新思想。助軟件開發(fā)的一種新思想。加工加工原型原型原型原型快速分析快速分析和設(shè)計(jì)和設(shè)計(jì)建造建造原型原型客戶客戶評價(jià)原型評價(jià)原型快速原型

9、模型快速原型模型2.3 快速原型模型快速原型模型 特點(diǎn):特點(diǎn):快速快速 軟件產(chǎn)品開發(fā)基本上是線性順序進(jìn)行。軟件產(chǎn)品開發(fā)基本上是線性順序進(jìn)行。 降低了規(guī)格說明文檔變化的可能性。降低了規(guī)格說明文檔變化的可能性。 減少了后續(xù)階段錯(cuò)誤的可能性。減少了后續(xù)階段錯(cuò)誤的可能性。 運(yùn)用方式:運(yùn)用方式: 原型用途:用于獲知用戶的真正需求。原型用途:用于獲知用戶的真正需求。 運(yùn)用方式:拋棄策略。需求確定后,即拋棄原型。運(yùn)用方式:拋棄策略。需求確定后,即拋棄原型。 適用范圍:適用范圍: 一種非整體開發(fā)模型。一種非整體開發(fā)模型。 適合于初期用戶需求不明確、具有一定風(fēng)險(xiǎn)的軟件項(xiàng)目適合于初期用戶需求不明確、具有一定風(fēng)險(xiǎn)的

10、軟件項(xiàng)目的開發(fā)?;蚩蛻粲幸粋€(gè)合理的需求,但對細(xì)節(jié)沒有思路的開發(fā)?;蚩蛻粲幸粋€(gè)合理的需求,但對細(xì)節(jié)沒有思路2.4 增量模型(增量模型(Incremental Model) 融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原融合了瀑布模型的基本成分(重復(fù)應(yīng)用)和原型實(shí)現(xiàn)的迭代特征,采用隨著日程時(shí)間的進(jìn)展型實(shí)現(xiàn)的迭代特征,采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線性序列,每一個(gè)線性序列產(chǎn)生軟件而交錯(cuò)的線性序列,每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的的一個(gè)可發(fā)布的“增量增量”。當(dāng)使用增量模型時(shí),。當(dāng)使用增量模型時(shí),第第1個(gè)增量往往是核心的產(chǎn)品,即第個(gè)增量往往是核心的產(chǎn)品,即第1個(gè)增量個(gè)增量實(shí)現(xiàn)了基本的需求,但很多補(bǔ)充的特征

11、還沒有實(shí)現(xiàn)了基本的需求,但很多補(bǔ)充的特征還沒有發(fā)布。客戶對每一個(gè)增量的使用和評估都作為發(fā)布。客戶對每一個(gè)增量的使用和評估都作為下一個(gè)增量發(fā)布的新特征和功能,這個(gè)過程在下一個(gè)增量發(fā)布的新特征和功能,這個(gè)過程在每一個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終每一個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。的完善產(chǎn)品。增量模型表示增量模型表示2.4 增量模型增量模型 優(yōu)點(diǎn)優(yōu)點(diǎn): 人員分配靈活,剛開始不用投入大量人力資源。人員分配靈活,剛開始不用投入大量人力資源。 當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核心產(chǎn)品的途徑。提供了一種先推出核心產(chǎn)

12、品的途徑。 增量能夠有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn)。增量能夠有計(jì)劃地管理技術(shù)風(fēng)險(xiǎn)。 缺點(diǎn)缺點(diǎn): 要求構(gòu)件具備開放式的體系結(jié)構(gòu)。要求構(gòu)件具備開放式的體系結(jié)構(gòu)。 易退化為邊做邊改模型,從而使軟件過程的控制失易退化為邊做邊改模型,從而使軟件過程的控制失去整體性。去整體性。2.4 增量模型增量模型 適用范圍適用范圍: 一種非整體開發(fā)模型一種非整體開發(fā)模型 客戶要求在一個(gè)不可能完成的時(shí)間提供產(chǎn)品,故可客戶要求在一個(gè)不可能完成的時(shí)間提供產(chǎn)品,故可向他建議只提供一個(gè)或幾個(gè)增量,以后再提交軟件向他建議只提供一個(gè)或幾個(gè)增量,以后再提交軟件的其他增量。例如:文字處理軟件的其他增量。例如:文字處理軟件 如果在項(xiàng)目既定的商業(yè)期

13、限之前不可能找到足夠的如果在項(xiàng)目既定的商業(yè)期限之前不可能找到足夠的開發(fā)人員,這種情況下則特別有用。開發(fā)人員,這種情況下則特別有用。2.5 螺旋模型(螺旋模型(Spiral Model) 目的主要是克服瀑布模型的缺點(diǎn),在應(yīng)對變化的靈活目的主要是克服瀑布模型的缺點(diǎn),在應(yīng)對變化的靈活性上很有優(yōu)勢,并通過一系列瀑布模型的不斷循環(huán)來性上很有優(yōu)勢,并通過一系列瀑布模型的不斷循環(huán)來逐步規(guī)避風(fēng)險(xiǎn)。逐步規(guī)避風(fēng)險(xiǎn)。 采用一種采用一種周期性的方法周期性的方法來進(jìn)行系統(tǒng)開發(fā)。每個(gè)周期都來進(jìn)行系統(tǒng)開發(fā)。每個(gè)周期都包括制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程和客戶評估包括制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程和客戶評估4個(gè)階個(gè)階段,由這段,由

14、這4個(gè)階段進(jìn)行迭代。每迭代一次,軟件開發(fā)又個(gè)階段進(jìn)行迭代。每迭代一次,軟件開發(fā)又前進(jìn)一個(gè)層次。前進(jìn)一個(gè)層次。 風(fēng)險(xiǎn)驅(qū)動風(fēng)險(xiǎn)驅(qū)動。在每個(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之前,。在每個(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之前,都必須首先進(jìn)行風(fēng)險(xiǎn)評估。都必須首先進(jìn)行風(fēng)險(xiǎn)評估。 模型表示:模型表示:螺旋模型模型表示螺旋模型模型表示 采用一種采用一種周期性的方法周期性的方法來進(jìn)行系統(tǒng)開發(fā)。每個(gè)周期都來進(jìn)行系統(tǒng)開發(fā)。每個(gè)周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評審包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評審4個(gè)階段,個(gè)階段,由這由這4個(gè)階段進(jìn)行迭代。每迭代一次,軟件開發(fā)又前個(gè)階段進(jìn)行迭代。每迭代一次,軟件開發(fā)又前進(jìn)一個(gè)層次。進(jìn)一個(gè)

15、層次。 風(fēng)險(xiǎn)驅(qū)動風(fēng)險(xiǎn)驅(qū)動。在每個(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之前,。在每個(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之前,都必須首先進(jìn)行風(fēng)險(xiǎn)評估。都必須首先進(jìn)行風(fēng)險(xiǎn)評估。 模型表示:模型表示:螺旋模型的優(yōu)缺點(diǎn)螺旋模型的優(yōu)缺點(diǎn) 優(yōu)點(diǎn)優(yōu)點(diǎn): 客戶始終參與每個(gè)階段的開發(fā),保證了項(xiàng)目不偏離客戶始終參與每個(gè)階段的開發(fā),保證了項(xiàng)目不偏離正確方向以及項(xiàng)目的可控性。正確方向以及項(xiàng)目的可控性。 客戶認(rèn)可這種公司內(nèi)部的開發(fā)方式帶來的良好的溝客戶認(rèn)可這種公司內(nèi)部的開發(fā)方式帶來的良好的溝通和高質(zhì)量的產(chǎn)品。通和高質(zhì)量的產(chǎn)品。 缺點(diǎn)缺點(diǎn): 風(fēng)險(xiǎn)評估依賴專家。風(fēng)險(xiǎn)評估依賴專家。 建設(shè)周期長,而軟件技術(shù)發(fā)展比較快,所以經(jīng)常出建設(shè)周期長,而軟件技術(shù)

16、發(fā)展比較快,所以經(jīng)常出現(xiàn)軟件開發(fā)完畢后,和當(dāng)前的技術(shù)水平有了較大的現(xiàn)軟件開發(fā)完畢后,和當(dāng)前的技術(shù)水平有了較大的差距,無法滿足當(dāng)前用戶需求。差距,無法滿足當(dāng)前用戶需求。2.5 螺旋模型(螺旋模型(Spiral Model) 限制條件限制條件: 因強(qiáng)調(diào)風(fēng)險(xiǎn)分析,但要求許多客戶接受和相信這種因強(qiáng)調(diào)風(fēng)險(xiǎn)分析,但要求許多客戶接受和相信這種分析,并做出相關(guān)反應(yīng)是不容易的,因此,這種模分析,并做出相關(guān)反應(yīng)是不容易的,因此,這種模型往往適應(yīng)于型往往適應(yīng)于內(nèi)部的大規(guī)模軟件內(nèi)部的大規(guī)模軟件開發(fā)。開發(fā)。 如果執(zhí)行風(fēng)險(xiǎn)分析將大大影響項(xiàng)目的利潤,那么進(jìn)如果執(zhí)行風(fēng)險(xiǎn)分析將大大影響項(xiàng)目的利潤,那么進(jìn)行風(fēng)險(xiǎn)分析毫無意義,因此

17、,只適合于行風(fēng)險(xiǎn)分析毫無意義,因此,只適合于大規(guī)模大規(guī)模軟件軟件項(xiàng)目。項(xiàng)目。 軟件開發(fā)人員應(yīng)該擅長尋找可能的風(fēng)險(xiǎn),準(zhǔn)確地分軟件開發(fā)人員應(yīng)該擅長尋找可能的風(fēng)險(xiǎn),準(zhǔn)確地分析風(fēng)險(xiǎn),否則將會帶來更大的風(fēng)險(xiǎn)。析風(fēng)險(xiǎn),否則將會帶來更大的風(fēng)險(xiǎn)。 適用范圍適用范圍: 對于新近開發(fā),需求不明確的情況下,適合用螺旋對于新近開發(fā),需求不明確的情況下,適合用螺旋模型進(jìn)行開發(fā),便于風(fēng)險(xiǎn)控制和需求變更。模型進(jìn)行開發(fā),便于風(fēng)險(xiǎn)控制和需求變更。2.6 噴泉模型(噴泉模型(Fountain Model) 是一種是一種以用戶需求為動力,以對象為驅(qū)動的模型以用戶需求為動力,以對象為驅(qū)動的模型, 主主要要用于描述面向?qū)ο蟮能浖_發(fā)過

18、程用于描述面向?qū)ο蟮能浖_發(fā)過程。 該模型認(rèn)為軟件開發(fā)過程自下而上周期的各階段是相該模型認(rèn)為軟件開發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性?;サ蜔o間隙的特性。 軟件的某個(gè)部分常常被重復(fù)工作多次,相關(guān)對象在每次迭代軟件的某個(gè)部分常常被重復(fù)工作多次,相關(guān)對象在每次迭代中隨之加入漸進(jìn)的軟件成分。無間隙指在各項(xiàng)活動之間無明中隨之加入漸進(jìn)的軟件成分。無間隙指在各項(xiàng)活動之間無明顯邊界,如分析和設(shè)計(jì)活動之間沒有明顯的邊界,則于對象顯邊界,如分析和設(shè)計(jì)活動之間沒有明顯的邊界,則于對象概念的引入,表達(dá)分析、設(shè)計(jì)、實(shí)現(xiàn)等活動只用對象類和關(guān)概念的引入,表達(dá)分析、設(shè)計(jì)、實(shí)現(xiàn)等活動只用對象類和關(guān)系,從而可

19、以較為容易地實(shí)現(xiàn)活動的迭代和無間隙,使其開系,從而可以較為容易地實(shí)現(xiàn)活動的迭代和無間隙,使其開發(fā)自然地包括復(fù)用。發(fā)自然地包括復(fù)用。 模型表示:模型表示:噴泉模型的優(yōu)缺點(diǎn)噴泉模型的優(yōu)缺點(diǎn) 優(yōu)點(diǎn)優(yōu)點(diǎn): 各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行開發(fā)。開發(fā)。 可提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間??商岣哕浖?xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間。 缺點(diǎn)缺點(diǎn): 由于噴泉模型在各個(gè)開發(fā)階段是重疊的,因此在開由于噴泉模型在各個(gè)開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,因此不利于項(xiàng)目的發(fā)過程中需要大量的開發(fā)人員,因此不利于項(xiàng)目的管理。管理。 要求嚴(yán)格管理文檔,使

20、得審核的難度加大,尤其是要求嚴(yán)格管理文檔,使得審核的難度加大,尤其是面對可能隨時(shí)加入各種信息、需求與資料的情況。面對可能隨時(shí)加入各種信息、需求與資料的情況。 適用范圍適用范圍:適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。2.7 Rational統(tǒng)一過程統(tǒng)一過程 RUP(Rational Unified Process),是一個(gè)面向?qū)Γ?,是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論。象且基于網(wǎng)絡(luò)的程序開發(fā)方法論。 是軟件工程的過程。它提供了在開發(fā)組織中分派任務(wù)是軟件工程的過程。它提供了在開發(fā)組織中分派任務(wù)和責(zé)任的紀(jì)律化方法。它的目標(biāo)是在可預(yù)見的日程和和責(zé)任的紀(jì)律化方法。它的目標(biāo)是在可

21、預(yù)見的日程和預(yù)算前提下,確保滿足最終用戶需求的高質(zhì)量產(chǎn)品。預(yù)算前提下,確保滿足最終用戶需求的高質(zhì)量產(chǎn)品。 是一種是一種“用例驅(qū)動,以體系結(jié)構(gòu)為核心,迭代及增量用例驅(qū)動,以體系結(jié)構(gòu)為核心,迭代及增量”的軟件過程框架,由的軟件過程框架,由UML方法和工具支持。方法和工具支持。 主要分五個(gè)階段:起始階段,細(xì)化階段,構(gòu)建階段,主要分五個(gè)階段:起始階段,細(xì)化階段,構(gòu)建階段,轉(zhuǎn)化階段,生產(chǎn)階段。轉(zhuǎn)化階段,生產(chǎn)階段。Rational統(tǒng)一過程的五個(gè)階段統(tǒng)一過程的五個(gè)階段 起始階段:起始階段:包括用戶溝通和計(jì)劃活動兩個(gè)方面,強(qiáng)包括用戶溝通和計(jì)劃活動兩個(gè)方面,強(qiáng)調(diào)定義和細(xì)化用例,并將其作為主要模型。調(diào)定義和細(xì)化用

22、例,并將其作為主要模型。 細(xì)化階段:細(xì)化階段:包括用戶溝通和建?;顒?,重點(diǎn)是創(chuàng)建包括用戶溝通和建?;顒樱攸c(diǎn)是創(chuàng)建分析和設(shè)計(jì)模型,強(qiáng)調(diào)類的定義和體系結(jié)構(gòu)的表示。分析和設(shè)計(jì)模型,強(qiáng)調(diào)類的定義和體系結(jié)構(gòu)的表示。 構(gòu)建階段:構(gòu)建階段:細(xì)化設(shè)計(jì)模型,并將設(shè)計(jì)模型轉(zhuǎn)化為軟細(xì)化設(shè)計(jì)模型,并將設(shè)計(jì)模型轉(zhuǎn)化為軟件構(gòu)建實(shí)現(xiàn)。件構(gòu)建實(shí)現(xiàn)。 轉(zhuǎn)化階段:轉(zhuǎn)化階段:將軟件從開發(fā)人員傳遞給最終用戶,并將軟件從開發(fā)人員傳遞給最終用戶,并由用戶完成由用戶完成beta測試和驗(yàn)收測試。測試和驗(yàn)收測試。 生產(chǎn)階段:生產(chǎn)階段:持續(xù)地監(jiān)控軟件的運(yùn)作,并提供技術(shù)支持續(xù)地監(jiān)控軟件的運(yùn)作,并提供技術(shù)支持。持。Rational統(tǒng)一過程的優(yōu)缺點(diǎn)

23、統(tǒng)一過程的優(yōu)缺點(diǎn) 優(yōu)點(diǎn)優(yōu)點(diǎn):提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開發(fā)過程、需求管提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開發(fā)過程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對所有關(guān)鍵的開發(fā)活動質(zhì)量及控制軟件變更等方面,針對所有關(guān)鍵的開發(fā)活動為每個(gè)開發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),為每個(gè)開發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識基礎(chǔ)。它建立了簡潔和并確保全體成員共享相同的知識基礎(chǔ)。它建立了簡潔和清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。清晰的過程結(jié)構(gòu),為開發(fā)過程提供較大的通用性。 不足不足:RU

24、P只是一個(gè)開發(fā)過程,并沒有涵蓋軟件過程的只是一個(gè)開發(fā)過程,并沒有涵蓋軟件過程的全部內(nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)全部內(nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容;此外,它沒有支持多項(xiàng)目的開發(fā)結(jié)構(gòu),這在一定程容;此外,它沒有支持多項(xiàng)目的開發(fā)結(jié)構(gòu),這在一定程度上降低了在開發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性??啥壬辖档土嗽陂_發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性??梢哉f以說RUP是一個(gè)非常好的開端,但并不完美,在實(shí)際的是一個(gè)非常好的開端,但并不完美,在實(shí)際的應(yīng)用中可以根據(jù)需要對其進(jìn)行改進(jìn)并可以用應(yīng)用中可以根據(jù)需要對其進(jìn)行改進(jìn)并可以用OPEN和和OOSP等其他軟件過程的相關(guān)內(nèi)容對等其他軟件過程的相

25、關(guān)內(nèi)容對RUP進(jìn)行補(bǔ)充和完進(jìn)行補(bǔ)充和完善。善。 2.8 敏捷開發(fā)與極限編程敏捷開發(fā)與極限編程 敏捷開發(fā)敏捷開發(fā):是一種以人為核心、迭代、秩序漸進(jìn)的開發(fā)是一種以人為核心、迭代、秩序漸進(jìn)的開發(fā)方法。把一個(gè)大項(xiàng)目分為多個(gè)相互聯(lián)系,但也可獨(dú)立運(yùn)方法。把一個(gè)大項(xiàng)目分為多個(gè)相互聯(lián)系,但也可獨(dú)立運(yùn)行的小項(xiàng)目,并分別完成,在此過程中軟件一直處于可行的小項(xiàng)目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。使用狀態(tài)。 2001年,為了解決許多公司的軟件團(tuán)隊(duì)陷入不斷增長的年,為了解決許多公司的軟件團(tuán)隊(duì)陷入不斷增長的過程泥潭,一批業(yè)界專家一起概括出了一些可以讓軟件過程泥潭,一批業(yè)界專家一起概括出了一些可以讓軟件開發(fā)團(tuán)隊(duì)具有快速工作、響應(yīng)變化能力的價(jià)值觀和原則,開發(fā)團(tuán)隊(duì)具有快速工作、響應(yīng)變化能力的價(jià)值觀和原則,他們稱自己為敏捷聯(lián)盟,敏捷開發(fā)過程的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論