在前几篇文章中,对几种图有了一个介绍,九种图没有介绍完,是因为觉得后面的几种图相比用例图,类图还是比较简单的,这篇文章,着重从整体来说,九种图。
首先来谈UML,它是统一建模语言,是针对面向对象的。以前学习的VB是面向过程,所以现在学习UML是从面向过程向面向对象的一个过渡,那么什么是面向对象呢?举个例子来说,比如你要把大象赶到一个笼子里面去,如果是面向过程,应该是这样的,首先把笼子门打开,然后把大象赶进去,再然后把笼子门关掉。但是如果是面向对象的话,笼子这个对象,我们只写打开,关闭即可,对于大象,就写赶进去,这样就实现了将一只大象赶到了一个笼子里面。这就是面向过程和面向对象的区别。
UML包括事物,关系和图。图是由事物以及事物之间的关系组成的。
对于九种图,我是这样来分类的:用例图单一分出来;静态图包括类图,对象图和包图;交互图包括状态图,活动图,时序图和协作图;最后就是构件图和部署图。当然,每个人的分类方式都不同,只要利用自己理解就好。
在九种图中,特别要熟悉的就是用例图,类图,时序图。现在在看大话设计模式,有时候还会回来看看UML的一些东西,这是自己感受到的,这几种图,真的很重要,要弄明白。
在四种关系中,想要说一说组合和聚合。首先从字面上的意思来看,就知道组合相对于聚合来说,联系更紧密一些,聚合就是聚在一起,就像咱们每次都会有聚会一样,只是聚在了一起,但是每个人脱离了这个聚会,依然是独立存在的。但是组合就不一样了,组合,就像咱们说,“热”和“情”组合起来就是“热情”,但是组成这个词的每个字,单独拿出来,就没有了“热情”的意思。这是我的理解,希望能够给你一些启发。
在用例图中,有包含和扩展这两种关系,在include(包含)关系中,基用例必须和子用例一起使用才可以,比如要使用查询功能,但是只使用查询,没有子用例查询操作员工记录等的参与,就没办法查询出来。在extend(扩展)关系中,基用例即使没有子用例的参与,也可以完成,就像机房收费系统中,我要查2016年10月31日的账单,就算今天没有日结账单更新,但是依然不耽搁我查到那天的账单。我感觉这两种关系和组合与聚合的关系很类似。
以上就是关于UML的一次总结,在以后的学习中还会再来总结,因为学习就是一个反复的过程,这只是一次很浅的理解。
感谢您的阅读~