軟件過程續(xù)

過程模型介紹

瀑布模型:在需求明確確定的情況下很有用;

增量過程模型:增量模型以迭代的方式運(yùn)用瀑布模型,即每個(gè)增量都是一個(gè)瀑布,隨著每個(gè)版本交付,逐步為用戶提供更多的功能;

RAD模型,Rapid App Dev。RAD是瀑布模型的“Rapid”變體,通過基于構(gòu)件的構(gòu)建方法實(shí)現(xiàn)快速開發(fā);

演化過程模型:每次迭代產(chǎn)生軟件的一個(gè)更完整的版本;

原型開發(fā):當(dāng)需求很模糊的時(shí)候,原型開發(fā)泛型幫助軟件工程師和客戶更好地理解究竟需要做什么。如果你的客戶有一個(gè)合理的需求,但是對(duì)細(xì)節(jié)沒有思路, 那么不妨先開發(fā)一個(gè)原型。注意,客戶和開發(fā)者必須承認(rèn)原型是為定義需求服務(wù)的。

螺旋模型:它結(jié)合了原型的迭代性質(zhì)和瀑布模型的系統(tǒng)性和可控性特點(diǎn)。是一種風(fēng)險(xiǎn)驅(qū)動(dòng)型過程模型生成器。兩個(gè)特點(diǎn):逐步加深系統(tǒng)定義和確定一系列 里程碑。 螺旋模型是開發(fā)大型系統(tǒng)和軟件的理想方法。但它依賴大量的風(fēng)險(xiǎn)評(píng)估專家來保證成功。如果有較大的風(fēng)險(xiǎn)沒有被發(fā)現(xiàn)和管理,肯定會(huì)發(fā)生問題。

協(xié)同開發(fā)模型:協(xié)同模型更適合不同的工程團(tuán)隊(duì)共同開發(fā)的系統(tǒng)工程項(xiàng)目。 軟件過程應(yīng)該側(cè)重于靈活性和可擴(kuò)展性,而不是高質(zhì)量。這種說法聽起來很驚人。但是,我們必須優(yōu)先追求開發(fā)速度,而不是零缺陷??墒?,很多廣為人們尊重的軟件工程專家都這樣建議。

專用過程模型: a. 基于構(gòu)件的開發(fā)模型,具有許多螺旋模型的特點(diǎn),它本質(zhì)上市演化模型,需要以迭代方式構(gòu)件軟件。不同在于,基于構(gòu)件開發(fā)模型采用預(yù)先打包的軟件構(gòu)件開發(fā)程序。 b. 形式化方法模型,主要活動(dòng)是生成計(jì)算機(jī)軟件形式化的數(shù)學(xué)規(guī)格說明。意義在于可以提供無缺陷的軟件。 c. 面向方面的軟件開發(fā),

統(tǒng)一過程(UP,Unified Process):用例驅(qū)動(dòng),以架構(gòu)為核心,迭代并且增量的軟件過程。和UML是一對(duì)孿生兄弟。 細(xì)化階段擴(kuò)展了起始階段定義的用例,并擴(kuò)展體系結(jié)構(gòu)以包括了軟件的五種視圖——用例模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型和部署模型。

敏捷視角下的過程

敏捷軟件過程推崇讓客戶滿意和軟件盡早增量發(fā)布;小而高度自主的項(xiàng)目團(tuán)隊(duì);最小化軟件產(chǎn)品以及整體精簡開發(fā)。

在敏捷與軟件工程之間做選擇不是必須的。自定義一個(gè)敏捷軟件工程方式是最好的選擇。即使在敏捷學(xué)派內(nèi)部也有不同的敏捷方式。

有效的軟件團(tuán)隊(duì),其成員必須具備哪些顯著特點(diǎn)?

敏捷過程中人的因素:基本能力、共同目標(biāo)、精誠合作、決策能力、模糊問題解決能力、相互信任和尊重、自我組織。

敏捷過程模型

極限編程XP

XP是基于簡潔、交流、反饋和勇氣的軟件開發(fā)原則?!皊tory”、CRC卡,重構(gòu),KIS。測試驅(qū)動(dòng)開發(fā),在story設(shè)計(jì)完之后,團(tuán)隊(duì)并不直接開始編碼,而是開發(fā)一系列的包括所有story的單元測試,一旦建立起單元測試,開發(fā)者就可以更集中精力于必須實(shí)現(xiàn)的內(nèi)容以通過單元測試。不需要加任何額外的東西(KIS)。一旦編碼完成,便可立即完成單元測試,可及時(shí)反饋。 XP最關(guān)鍵的概念之一是結(jié)對(duì)編程

自適應(yīng)軟件開發(fā)

即ASD,Adaptive,著眼于人員協(xié)作和團(tuán)隊(duì)自我組織。Highsmith給ASD“生命周期”的定義包含思考、協(xié)作和學(xué)習(xí)三個(gè)階段。 值得一提的是,ASD中的協(xié)作的本質(zhì)就是現(xiàn)在最流行的JAD。只有在拋棄了“我們和他們”的觀念后,有效的協(xié)作才會(huì)出現(xiàn)。

動(dòng)態(tài)系統(tǒng)開發(fā)方法

DSDM,核心理念是,80%的應(yīng)用系統(tǒng)可以用20%的時(shí)間交付。像XP和ASD一樣,DSDM建議使用迭代軟件過程。

Scrum

由一系列強(qiáng)調(diào)項(xiàng)目優(yōu)先級(jí)、分離的工作單元、溝通、頻繁的客戶反饋等過程模式組成。

- 待定項(xiàng)(backlog,本質(zhì)是優(yōu)先級(jí)列表);

- 沖刺(sprint),必須在預(yù)定時(shí)間內(nèi)完成(一般為30天),沖刺過程中不允許有變更。給開發(fā)團(tuán)隊(duì)提供一個(gè)短期但穩(wěn)定的環(huán)境。

- Scrum例會(huì),上次例會(huì)后做了什么?遇到什么困難?下次例會(huì)前做些什么?

- 演示——向客戶交付軟件增量。

特征驅(qū)動(dòng)開發(fā)

FDD(和目前我司的FO比較像),特征是可以在2周或更短時(shí)間實(shí)現(xiàn)的具有客戶價(jià)值的功能。

敏捷建模,Agile Modeling,AM是一種用于對(duì)軟件系統(tǒng)有效建模和文檔化的實(shí)踐方法學(xué)。 AM獨(dú)具特色的是:

有目的的模型,在構(gòu)建模型之前,使用AM模型的開發(fā)者心中應(yīng)當(dāng)有明確的目標(biāo); 使用多個(gè)模型,AM建議從需要的角度看,每一種模型應(yīng)當(dāng)表達(dá)系統(tǒng)的不同側(cè)面; 前進(jìn)燈,是用于所有軟件工作的理念,即僅僅構(gòu)建能提供價(jià)值的模型——不多也不少;

代表性工具

Actif Extreme,由Microtool開發(fā)(www.microtool.com),提供對(duì)各種技術(shù)活動(dòng)的敏捷過程管理支持;

Ideogramic UML,由Ideogramic開發(fā)(www.ideogramic.coom),是特別為敏捷過程開發(fā)的UML工具集;

Together Tool Set,提供支持XP和其他敏捷過程中許多技術(shù)活動(dòng)的工具包。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容