第一重境界:霧里看花
屬于UML的初級應用,對UML有了初步的一點了解,知道了用例圖,類圖,能畫出簡單的時序圖、協作圖等。初入UML的世界,各種圖型的特性、適用范圍、圖形元素的功用都還一知半解,而UML龐大的體系足以讓初入者無從著手,就好比駕一扁舟,漂游于大海之上,“望盡天涯路”而不知所歸。在第一重境界的應用所要完成的目標是達到與客戶的需求溝通,即解決前文所說的“上不著天”的問題。在初級階段,如果能擁有扎實的面向對象設計基礎,同時配合以良好的UML工具,那么可以很快度過這個階段,來到下一重境界。
第二重境界:小樓一夜聽春雨
從第一重境界的迷茫中走過來了,當然這是一個痛苦的過程,不然為何“衣帶漸寬”呢。如果說在第一個階段的UML應用是屬于局部范圍的應用,那么到第二重境界,則是全局的利用UML了。在這個階段,開始初窺UML的奧妙,不僅可以借助于UML的用例圖、時序圖等完成與用戶的需求溝通,而且在此基礎上,可以使用UML的類圖、交互圖、部署圖、組件圖等指導程序員進行開發。在第二重境界下,解決了前文所說的“下不著地”的問題 。
第三重境界:如魚得水
隨著UML的項目實踐增加,軟件組織也在不斷的成長。明白了UML只是一種方法,而獨立于過程,在實踐中,UML是貫徹整個軟件開發過程,解決了“一盤散沙”的問題。通過在前期需求分析階段形成的業務用例模型,通過細化,進一步描述業務的細節,并且通過UML的類圖、交互圖等可以建立目標系統的邏輯模型。而UML應用的最高層次則是將UML作為一種“高高級”語言,實現從目標系統邏輯模型向物理模型的直接轉換。
通過在現有的高級語言基礎上描述業務過程,而UML編程語言的編譯器則可以實現UML語言的編譯執行,這也是當前MDA(Model Driven Architecture, 模型驅動架構)所追求的目標。
可以說,UML對系統模型的表達能力超出了以往任何一種面向對象的分析和設計方法。隨之出現的問題是,它的復雜性也超出了以往任何一種方法。由于UML的復雜性,對它的掌握和使用確實不是一件輕松的事。因此,從初入“霧里看花”的第一重境界,并逐步進入到“如魚得水”是一個循序漸進的過程,是一個逐步學習,逐步應用與提高的過程。
首先,UML是一個復雜的體系,而且為了能夠靈活的適應各種項目的需要,增加了很多符號,而并不是每一個項目都需要使用到這些符號。為了成功使用UML,在使用的過程中必須流程化使用,針對不同的項目實際情況,對UML符號進行裁剪。當然,這也意味著幾乎任何項目都可以使用UML來建模。
第二,需要保持項目組對UML的統一一致的理解,這是建模成功的保障。畢竟,現在大型項目都是幾十個甚至成百上千的人員牽涉其中,要確保負責設計與開發人員對UML的各種符號有統一的理解,不然,UML不但不能起到溝通橋梁的作用,反而會導致信息傳遞的失真?梢酝ㄟ^項目組的培訓等方式來實現。
第三,簡單有效才是最重要的。一般說來,項目組成員的設計分析能力、以及對UML的理解使用能力是層次不一的,即使通過培訓能提高部分程序員的水平,但是,經驗、閱歷這是不能通過培訓來解決的。因此,只有保持最簡單有效的過程,使用最簡單的UML圖形,才能使得UML的應用達到最佳的效果。而如果我們為了詳盡的描述一個用例,使用了一系列完整的時序圖、協作圖、狀態圖、部署圖、用例圖和類圖,這樣,可能導致一個團隊完全脫離面向對象分析和設計。
文章來源于領測軟件測試網 http://www.kjueaiud.com/