下面簡述幾個(gè)軟件工程方面的概念: ?
? ?
? ? ? ? ? XP:eXtreme ? Programming ? 極限編程 ?
? ? ? ? ? 這是近幾年才時(shí)興起來的開發(fā)模型,國內(nèi)大致是01/02年開始有所宣傳。 ?
? ? ? ? ? 它主要是針對小型開發(fā)團(tuán)隊(duì)在開發(fā)時(shí)間要求緊、需求不穩(wěn)定的中小項(xiàng)目(大多數(shù)軟件項(xiàng)目都是這個(gè)情況)時(shí)使用。它打破了傳統(tǒng)軟件工程的框架,非常新巧。譬如整個(gè)開發(fā)過程中幾乎無文檔,大量使用“卡片”來描述開發(fā)計(jì)劃和內(nèi)容;沒有真正意義上的軟件功能規(guī)格說明書,取而代之的是一系列可測試的用例;沒有獨(dú)立的設(shè)計(jì)和測試階段,它們總是在迭代中增量反復(fù)進(jìn)行;設(shè)計(jì):盡可能小和簡單;一般沒有代碼復(fù)審(code ? review),大家共同擁有代碼。而它的最顯著的一個(gè)外在特征是它常使用“成對開發(fā)”,即一臺(tái)機(jī)器前坐兩個(gè)開發(fā)人員,共同開發(fā)(一個(gè)看,一個(gè)寫),這乍聽起來真是蠻有趣的:),它的基本出發(fā)點(diǎn)是認(rèn)為成對開發(fā)的效率在一定條件下要高于兩個(gè)人獨(dú)立開發(fā)的和。不要覺得天方夜譚,在很多項(xiàng)目中,這種做法的有效性已經(jīng)被證實(shí)。 ?
? ? ? ? ? XP的特點(diǎn)我看可以用“快、小、靈”來概括,它和傳統(tǒng)瀑布模型(自頂向下)的區(qū)別在于它使用迭代增量(設(shè)計(jì)->代碼->測試->設(shè)計(jì)->代碼...)的方式。想法很簡單:沒有什么目標(biāo)是可以一開始就容易確定的。用爬山來做一下比喻的話,傳統(tǒng)的是在山下研究地圖,選好一條路線,然后沿著此路前進(jìn),XP則是走一走,停一停,看一看,對一步作出新的選擇,在很多時(shí)候,這樣做會(huì)讓你選擇到更好的捷徑。 ?
? ?
? ? ? ? ? ICONIX: ?
? ? ? ? ? 這個(gè)字相信很多人都沒見過,我也記不清是什么字拼起來的了,作為開拓眼界,我還是提一下吧。這是一種界于XP和RUP(Rational ? Unified ? Process)之間的開發(fā)模型,換言之,它比XP“大”,比“Rup”要小。它采用了UML的一個(gè)子集,特點(diǎn)是用例驅(qū)動(dòng),保持良好的進(jìn)度跟蹤能力。它的目標(biāo)是用最短的時(shí)間來把用例變成代碼。具體來說,這種開發(fā)模型相對精簡的XP而言,更加強(qiáng)調(diào)用例的建立、分析和代碼化,用例是其中心地位。 ?
? ?
? ? ? ? ? RUP:Rational ? Unified ? Process ?
? ? ? ? ? 前面已經(jīng)提到了,相信你已經(jīng)感覺出它是一個(gè)極大極豐富的軟件開發(fā)模型。它使用完整的UML圖,對開發(fā)的各階段(需求、設(shè)計(jì)、代碼、測試、維護(hù))均有十分完善而復(fù)雜的標(biāo)準(zhǔn),就不詳述了。一般而言,除了IBM以外,不會(huì)有多少公司去完全實(shí)現(xiàn)這么一個(gè)龐大的模型,中小公司更是心有余而力不足,大多是吸其精華,去其"糟粕",使用其中的一個(gè)子集再結(jié)合自己公司實(shí)踐來做。 ?
? ?
? ? ? ? ? CMM:Capability ? Maturity ? Model ? 軟件成熟度模型 ?
? ? ? ? ? 這是卡內(nèi)基*梅隆大學(xué)軟件工程研究所(我的專業(yè)正是軟件工程,所以這也成為我心目中的圣地)的一大力作,一度曾形成了席卷全球軟件開發(fā)的CMM浪潮。CMM分為五級(jí),大多數(shù)軟件企業(yè)都處于第一級(jí),而得到第五級(jí)認(rèn)證的全球也沒有多少,國內(nèi)去除掉掛羊頭賣狗肉的,也是寥若星辰(嗯,比星辰是寥多了)。所以CMM實(shí)施一般是從第二級(jí)開始,能做到第三級(jí)的都是頗有實(shí)力的軟件公司了。CMM是以Process(過程)為中心的模型,從二級(jí)始每一級(jí)都有幾個(gè)Key ? Process(關(guān)鍵過程),每一個(gè)KP又分為若干Key ? Active(關(guān)鍵活動(dòng))。CMM的實(shí)施一般不能越級(jí)實(shí)施,并且每一級(jí)的實(shí)施通常都要一年以上,所以要達(dá)到較高等級(jí)是一級(jí)很困難的事。另,CMM不僅可用于較大規(guī)模公司,同樣也可實(shí)施于小公司,小項(xiàng)目組(這是很多人所不知道的)。實(shí)施視具體情況等級(jí)之間可交叉,譬如實(shí)施時(shí)采用二級(jí)的某些KP再加上三級(jí)甚至四級(jí)的KP,但你只有實(shí)施了所有二級(jí)的KP,你才能也只能通過二級(jí)認(rèn)證,即便你采用了某些四級(jí)的KP。CMM最新發(fā)展成果是CMMI(Integration),這主要是新考慮了軟件與非純軟件因素的關(guān)系(譬如系統(tǒng)),以及團(tuán)隊(duì)之間的協(xié)作問題。
posted on 2006-05-14 12:57
太極虎~宏 閱讀(153)
評(píng)論(0) 編輯 收藏 引用