1.軟件研發(fā)模型
????????在軟件生產(chǎn)過程中枢步,經(jīng)過多年實(shí)踐總結(jié),沉淀出目前幾種流行的軟件研發(fā)模型渐尿。軟件研發(fā)模型(software development model)是軟件生產(chǎn)過程中分析醉途、設(shè)計(jì)、研發(fā)活動(dòng)所遵循的框架模式砖茸。不同項(xiàng)目團(tuán)隊(duì)在不同業(yè)務(wù)背景下隘擎,采用合適的研發(fā)模型將會(huì)提高軟件研發(fā)效率,降低研發(fā)成本凉夯,提高產(chǎn)品質(zhì)量货葬。
2.常見的軟件研發(fā)模型
⑴.瀑布模型
⑵.原型模型
⑶.迭代模型
⑷.增量模型
⑸.敏捷模型
瀑布模型(后期不易改變)
嚴(yán)格遵循預(yù)先計(jì)劃的需求分析、設(shè)計(jì)劲够、編碼震桶、集成、測試征绎、維護(hù)的步驟順序進(jìn)行蹲姐。
主要的問題
嚴(yán)格分級(jí)導(dǎo)致的自由度降低;
開發(fā)成果輸出過晚人柿,風(fēng)險(xiǎn)高柴墩;
后期需求的變化難以調(diào)整,代價(jià)高昂凫岖;
瀑布式方法在需求不明并且在項(xiàng)目進(jìn)行過程中可能變化的情況下基本是不可行的江咳。
原型模型(在瀑布模型基礎(chǔ)上增加原型設(shè)計(jì))
????????用戶很難將需求表達(dá)得既具體又明確,用戶與需求開發(fā)人員的知識(shí)背景不同哥放。當(dāng)需求表述錯(cuò)誤時(shí)歼指,在瀑布模型下往往到后期才能發(fā)現(xiàn)。原型模型在很大程度上解決了這個(gè)問題婶芭。原型模型是在瀑布模型基礎(chǔ)上演進(jìn)的一種較為先進(jìn)的研發(fā)模型东臀。利用該模型,產(chǎn)品設(shè)計(jì)者實(shí)現(xiàn)用戶與軟件系統(tǒng)的交互犀农,當(dāng)原型研發(fā)生產(chǎn)完成后惰赋,由用戶根據(jù)自身的實(shí)際需求對(duì)原型進(jìn)行評(píng)價(jià),從而進(jìn)一步細(xì)化待開發(fā)軟件的需求。
迭代模型(需求不穩(wěn)定赁濒、多變)
迭代模型(iterative model)是由IBM公司提出的一種軟件開發(fā)方法轨奄,該方法包括一系列的增量的步驟或迭代,每個(gè)迭代都包括很多的開發(fā)活動(dòng)(需求拒炎、分析挪拟、設(shè)計(jì)、實(shí)現(xiàn)等)击你。
實(shí)現(xiàn)軟件的每項(xiàng)功能反復(fù)求精的過程玉组,是從模糊到清晰的開發(fā)過程。每次迭代是從功能的深度和細(xì)化程度來劃分的丁侄。
迭代模型最適合使用與前期需求不穩(wěn)定惯雳,需求多變的項(xiàng)目。
增量模型(需求穩(wěn)定鸿摇、分批次提交)
? ? ? ?增量模型是把待開發(fā)的軟件系統(tǒng)模塊化石景,將每個(gè)模塊作為一個(gè)增量組件,從而分批次地分析拙吉、設(shè)計(jì)潮孽、編碼和測試這些增量組件。運(yùn)用增量模型的軟件開發(fā)過程是遞增式的過程筷黔。相對(duì)于瀑布模型而言往史,采用增量模型進(jìn)行開發(fā),開發(fā)人員不需要一次性地把整個(gè)軟件產(chǎn)品提交給用戶必逆,而是可以分批次進(jìn)行提交怠堪。
敏捷模型(簡單揽乱、變化多名眉、及時(shí)反饋)
????????敏捷軟件開發(fā)又稱敏捷開發(fā), 是一種從1990年代開始逐漸引起廣泛關(guān)注的一些新型軟件開發(fā)方法凰棉,是一種應(yīng)對(duì)快速變化的需求的一種軟件開發(fā)能力损拢。
????????在敏捷開發(fā)中,軟件項(xiàng)目在構(gòu)建初期被切分成多個(gè)子項(xiàng)目撒犀,各個(gè)子項(xiàng)目的成果都經(jīng)過測試福压,具備可視、可集成和可運(yùn)行使用的特征或舞。換言之荆姆,就是把一個(gè)大項(xiàng)目分為多個(gè)相互聯(lián)系,但也可獨(dú)立運(yùn)行的小項(xiàng)目映凳,并分別完成胆筒,在此過程中軟件一直處于可使用狀態(tài)。
人和交互?? 重于過程和工具。
可以工作的軟件?? ? 重于求全而完備的文檔仆救。
客戶協(xié)作? ? 重于合同談判抒和。
隨時(shí)應(yīng)對(duì)變化? ? 重于循規(guī)蹈矩。
敏捷模型核心:
主張簡單
擁抱變化
遞增變化
快速反饋