0%

UML学习之听课

      听了《尚学堂》关于UML学习的两天的课,自己感觉这课还不错吧,关键是讲的人结合了软件开发中的具体的经验,UML是一门工具,只有结合具体的应用场景,才能看见其价值。   这让课程主要讲了这几个方面:类图,顺序图,状态图,用例编写,其它的也基本上只是提到了一下。虽然结合的是Java的开发讲的,结合了一些Java的具体的框架,自己在这方面有些不懂。   不同的图相当于一种分析的解度,类图是静态的建模,顺序图对动态的建模。状态图用来描述一个特定的对象的所有可能的状态,以及由各种事件发生而引起的状态之间的转化。活动图用来描述事物或对象的活动变化流程。

对于类图:关键是理解和分析各种类之间的关联关系。学习中应注重与思想,而不仅仅停留在图的表面上,图只不过是思想的一种反映罢了,对于程序设计,还要结合具体的代码,例如,每一种关系,代码上是如何表现的,相反,图能够直观的反映代码的结构,比如学习设计模式,如果把设计模式都用类图表示出来。非常的直观,也很好记忆,也能更好的理解,用到这一设计模式,首先想到的是这一设计模式的类组,然后跟据自己的特定的情况,写代码就是了。

对于顺序图:顺序图反映了一种动态的过程,比如在哪课程中举的”登陆“过程例子,用顺序图非常直观的分析了这一过程,分析了各个模块(类)之间要进行的哪些交互,通过对这一过程的分析,设计者了解了程序完成某一件事情都需要做些什么,通过对交互图的认真分析,对于设计者,也可以得出类的功能划分——这一点原来自己一直感到很困惑,看老师演示这一过程,感觉自己有一点认识吧。通过功能来设计类,通过类图来理解系统,从静态和动态两个不同的方面认识系统,不同的角度,但却是一个整体。对于交互图的另一种:协作图,课程中只是提到了一下,演示了一下顺序图和协作图通过Rose的转换,说是一般用在公司的白板描述中,为了节约白板空间,自己不知这个描术是不是准确。

对于状态图:状态图应该是很重要的,这是一种程序员和客户都能看懂的图,在程序的设计阶段分析系统的各种可能的状态非常重要,否则的话,可能在开发的后期会导制系统结构的大的修改。课程中用一个开发校园一卡通作为例子,分析卡在不同时刻的状态,和不同的时刻的状态转化关系,非常直观。同时也用DVD机在工作过程中的状态用了演示。状态图对于系统的分析应该很有帮助吧。

这门课程最后还重点讲了如何作需求分析,如何写用例文档。提了一下GRASP(基于职责设计对象)模式。