只需四步,輕松學習UML
本節向大家介紹一下學習UML的方法,這里介紹的方法主要有四步,希望通過本節的學習你能夠快速掌握,下面就讓我們一起來學習UML吧。
學習UML之四步走戰略
最近幾年,隨著UML(UnifiedModelingLanguage,統一建模語言)的不斷完善,其已被廣泛運用于軟件行業。掌握UML是每一個軟件開發人提升自己能力的一個重要內容。下面,我想談一談我對UML學習的一些想法。
UML是建立在面向對象的基礎之上的,如果你是一名面向對象語言的軟件開發人員,那么,學習UML將相對的容易。容易是指其中的很多概念我們已經很熟悉了,比如類、屬性、抽象等等。如果不是一名面向對象語言的開發人員,那么學習UML可能會相對的抽象,難度可能也就大一點。
學習UML的***步是從網上找一些培訓材料,在OMG(ObjectManagementGroup,UML規范的制定組織)的網站上就能找到一些很好的培訓材料,一定要學習針對UML2.x的材料,請不要學習針對UML1.x的材料。在這些培訓材料中,通常不是講授UML的全部內容,但是作為UML的實學者,這些內容作為開始是足夠了的。通過學習,掌握UML有幾種圖,每種圖的作用和應有場合是什么,每一種圖有哪些元素,等等。
第二步是,我們需要將學到的UML知識運用到我們的工作中。可能,我們的工作單位并不要求我們去用UML,但作為學習,我們需要自己找機會去練習。任何一種東西,只有用多了(或說是模仿多了),我們才能更好的理解它,進而駕馭它。想想我們所使用的開發語言,我們一開始也不熟悉,但使用長了以后,對于應用問題,我們很自然的(自然到成了自覺)知道如何用語言去實現所需的應用功能。在這一點上學習UML也是同樣的,還是那句話“熟能生巧”。這一階段我們可能需要花較長的時間,而且,我們會碰到很多情況下,不知道所要表達的內容在UML中應當如何表達,這可以說是比較痛苦的過程,但別忘了,只有痛苦了我們才能真正的學會。對于這一步,很重要的一點是,我們需要一個UML的工具,我知道的開源的有StarUML,但好像很長時間沒有維護了,這一工具,可能不能很好的遵循***的UML規范。至于商業軟件,那就多了,我比較喜歡用的比如VisualParadigmforUML就很不錯。其它的還有來自IBM的RoseSoftwareModeler(是RationalRose的升級產品,其于Eclipse的),TelelogicTAU(現在也被IBM收購了)。對了,RationalRose名氣比較的大,我記得還有一本書是專門講RationalRose的,但這個工具太垃圾了,建議不要用,可以用前面提到的升級產品RoseSoftwareModeler。對于工具,需要注意的是:一定要求這一工具遵循UML2.x規范。對于工具,需要注意的是工具只是工具,其跟本還是UML,一旦掌握了UML,其實什么工具用起來都一樣。
第三步是,由于我們對于UML已經有了一定的基礎,此時,我們可以通過查看UML規范來解惑。UML的規范主要分為兩大部分:一步分是Infrastructure,即基礎結構;另一部分是Superstructure,即上層結構。規范可以從www.OMG.com上下載。在這一步中,我們查看Superstructure就行了,對于我們所不知的內容,我們可以查看圖所對應的章節,里面會解釋每一個概念的意思是什么。UML規范組織得還是很好的,很方便我們查看。另外,最為有用的是:每個個章節,都會有一個Diagram的小節,里面會給出一些例子,這有助于我們去學習。對了UML2.x***的變化除了對于圖的種類有些變化外,還有一點就是給出了很多的例子,對于這一點OMG的解釋是“給出大量的例子將有利于大家學習UML”。
第四部是,如果你想進一步的了解UML,可以系統性的看一下UML的兩部分規范。在閱讀規范時,有一點需要注意的是,UML規范是用UML語言自己來描述自己的,所以看起來一開始會有一點不習慣。如果對于UML沒有基本的了解,請不要去看規范,否則你會發現一個“雞和蛋的問題”:我們是因為不了解UML才看UML規范的,可是UML規范卻用UML語言解釋UML規范。系統性的了解UML有利于我們掌握其它的以UML為基礎的建模語言,比如,SysUML就是取了UML當中的一步分進行擴展的一個建模語言。
我相信,看過了UML的規范后你對于面向對象當中的一些東西會有一個更為清晰、準確的理解,因為UML幾乎解釋了面向對象中的所有術語,這一點很有意思!
【編輯推薦】