UP還是敏捷方法?

agile_boy發表於2008-07-16

hongkong2007

  目前UP或RUP軟體開發過程已經被很多企業所採用,敏捷方法也逐漸被很多公司使用,究竟是採用UP(RUP)還是敏捷方法呢?哪個更有效呢?

  最有效的方法其實是根據企業自身的實際情況,來綜合採用這兩種方法,選擇最適合你的最佳實踐。

  所謂最佳實踐,是指人們在多年的實踐過程中總結出來的最佳的開發軟體的一些方法。

  RUP中的最佳實踐有:迭代式的開發、管理需求、使用構件架構、視覺化建模、檢驗質量、控制變更,和使用Rational工具等。

  敏捷方法以XP為例:

  四大價值有:溝通(Communication)、簡單(Simplicity)、反饋(Feedback)、勇氣(Courage)。

  五個原則:提供快速反饋、簡單假設、製造增量式的變化、包容變化、質保工作。

  十二個實踐原則:計劃的制定、小版本、簡單設計、測試、持續整合、重構、配對程式設計、程式碼共享、每週只工作40小時、現場客戶、隱喻、編碼標準。

  從文字上看兩種方法中一致的有:迭代式開發、質量保證工作(檢驗質量,質保工作)。

  下面就來分析一下這些最佳實踐。

1. 視覺化建模

  XP雖然沒有明確指出,需要進行視覺化建模,但在實施過程中,編碼之前,一般會在紙上劃出要實現部分的草圖,而且也使用UML,儘管是簡單設計,但無論簡單設計與否,這實際上就是在進行視覺化建模。所以,在這點上與RUP是一致的。

2. 使用構件架構

  RUP提倡利用構件提高可重用性。

  XP提倡重構、配對程式設計,這實際上是利用這些手段來提高程式碼的質量,而提高可重用性,進行可重用的構件的設計,實際上是最主要的工作,包括設計模式的使用等等。

  所以,在這一點上,兩種方法的觀點是一致的。

3. 控制變更

  變更控制工具在軟體開發企業中已經廣泛使用,這一點不存在爭議。儘管XP沒有把它明確提出來。

4. 管理需求

  XP沒有管理需求的說法,但事實上對於關乎軟體專案的全域性的重要的功能需求,和非功能需求,是一定需要控制的,否則,如果專案進行到一半,然後推倒重來,即便是神仙恐怕也沒辦法讓專案成功;至於對全域性影響不大的變化,自然可以靈活處理,擁抱也好,放到下一個版本釋出都是可行的。

  所以,在這一點上兩種方法也並不矛盾。

5. CASE工具的使用

  RUP當然想讓你是用他們RATIONAL的工具了。

  XP擁護者中有人認為用紙和筆是最好的方法,但是如果用CASE工具可以提高效率的話,為什麼要拒絕使用呢?

  建議根據企業中員工都習慣的方式來決定是否使用,以及使用什麼工具。

6. 簡單設計

  這恐怕是爭議較多的一點,RUP提倡先進行系統分析,設計,然後再進行編碼;XP則覺得只要畫張草圖,就可以編碼了,之後就重構,擁抱變化吧。

  其實我們要根據專案的複雜情況來決定設計工作要進行的程度。如果專案很複雜,一張草圖恐怕真的沒有辦法闡述清楚,也沒有辦法成為涉眾之間進行交流的工作產品。這樣就必須對這個複雜的問題進行抽象,提取,簡化複雜程度,直到簡化到可以被人們容易理解,這個過程就是系統分析設計。

  對於簡單問題自然不需要進行詳細的分析設計。

7. 重構

  重構是提高程式碼質量的有效手段,因為迫於進度壓力等原因,通常一次就寫出優秀的程式碼確實不太可能,因此,重構可以發揮很好的促進作用。

  RUP中的程式碼審查,走查等手段從檢驗的角度來進行程式碼質量保證,當然這都是事後的手段,如果程式碼質量不合格,自然需要修改,這可以算作一種促進重構的推動力。

8. 配對程式設計

  兩個人的智慧勝一人,在這一條上得到了充分的體現,但對人員素質要求還是較高的,如果人員素質參差不齊,可能就變成一個人指導另一個人,或者兩個人沒辦法達成一致意見。

  所以,通過程式碼審查,走查等手段同樣可以起到對程式碼質量進行監督,檢驗的目的。

9. 測試

  XP中提倡的測試先行,的確可以在沒有良好的設計模型的情況下,起到一個明確思路的作用。但如果有設計模型,在功能和介面都已經明確設計好了的情況下,測試先行或後行區別可能並不大,但一定要有測試程式,這有利於進行迴歸測試。

10. 持續整合

  持續整合是檢驗工作成果的有效手段,在不影響正常工作進度的情況下,整合工作做得越早越好,這樣可以及時發現整合過程中的問題。

11. 小版本釋出

  RUP也提倡每個迭代週期釋出一個可以執行的版本,當然這個迭代週期是多長時間,可以根據專案的具體情況來決定。

  總之,要靈活使用這些最佳實踐,任何方法都不是簡單的教條,一定要具體問題具體分析,這樣才能保證軟體專案的成功。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14639675/viewspace-402109/,如需轉載,請註明出處,否則將追究法律責任。

相關文章