極限編程(Extreme Programming,XP)簡單地講是一些相互關聯的準則和慣例的集合,其中一些關注的是基本的活動,比如組態管理,但其中大多數關注的是團隊成員之間以及團隊與應用系統的企業團體之間的交流通訊和文化方面的相關問題。XP建議採用迴圈反覆式開發法方法。
建模是軟體開發中的一個重要組成部 分,一個模型描述的是軟體的某個方面的完整內容。通過建模能簡化軟體和軟體過程。往往一個圖形能抵得上數十行字,甚至是數百行文字的描述。通過圖形這一中 介媒體,你可以迅速地得到反饋資訊,並能及時地修改你的模型以滿足使用者的需求。極限建模(Extreme Modeling,XM)是建立在已有的且被證明是有效建模方法之上的輕量級建模方法。XM是XP的基礎。
在開發一個物件導向軟體的過程中, 軟體開發人員可能會應用到的基本的建模工具和建模過程見所示。為了簡單起見,圖中所示省略了專案管理方面的內容,比如測試案例等評估測試載入器內容。圖 中的方塊表示的是可能會用到的諸如基本的用例模型和活動圖表等之類的開發工具。圖中的線條則描述的是各工具間的主要關係,比如:分析階段的類模型所包含的信 息將影響到設計階段的類模型中的資訊的開發。這些關係揭示了不同工具在反覆式開發法過程中的相互影響關係。比如:當你修正用例模型時,它可能會影響到順序圖的 開發,接著就會影響到你的類模型。圖中的那些藍顏色方塊表示這些建模工具是由對象管理集團(http://www.omg.org)開發和維護的工業標準整合模組化語言(UML)中所描述的建模工具。
儘管中列出了許多建模工具,但 你不必在每個項目開發中都使用它們。你應該僅用那些能更好地展現你所開發的軟體的建模技術。比如,基本的使用者介面介面原型能使你更好地理解一個使用者的介面 需求,但是,如果你的使用者介面介面需求是顯而易見的,則該技術對你的團隊來說並不一定有多大的使用價值。同樣地,活動圖表對於洞悉那些複雜的事務邏輯流是很 有用處的,但是,如果業務流是簡單明了的,則它就不是很有價值了。但是需要注意的是:儘管你無需精通所有的建模工具,但是如果你所在的項目團隊在項目開發 中所需的建模技術中有一些是你所不熟悉的,而你沒有能力在工作的過程中馬上能掌握這些必要的技術,則你應自覺的要求從這個項目退出。
中的那些黃色方塊表明:在實際的應用開發中,僅通過應用UML來開發項目是不夠的。其中有些黃色塊所示的建模工具將會在以後的UML修 訂中被採納。同時也表明軟體開發過程是連續的,同時又是迭代的。說它是連續的,這是因為是從左向右貫穿了需求、分析、設計和實施等整個開發過程。 說開發是一個迭代的過程,這是因為你可以在各建模階段和建模工具中來回移動。在分析使用者需求和滿足和實現使用者需求的確定過程中,是一個不斷反覆迭代的過 程。從全域來看建模過程是一個連續的過程,而從局部上看,它是一個迭代的過程。
極限建模的基本原則是簡潔,亦即用 儘可能少和精鍊的圖形最大可能地覆蓋且能清晰有效地描述項目開發的全過程。極限建模的秘密並不在於建模技術本身,而是在於如何才能很好地把它們應用於軟體 項目的開發。作為一個優秀的軟體專業開發人員,他必須掌握能覆蓋整個開發過程的各種開發工具和技術,並且具有知曉何時使用哪種工具才是最有效率的能力。