本节向大家介绍一下学习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几乎解释了面向对象中的所有术语,这一点很有意思!
【编辑推荐】