在大二的时候就已经在课堂上对UML也就是统一建模语言有了初步的了解,但是却不怎么明白,虽然可以画图可以完成任务,但是有些糊里糊涂。所以特地把这门书作为精读书籍,想要更加深度地学习UML。很多内容只用语言是难以形容的,所以还需要通过图形来表达清楚,提高我们的软件开发水平。而统一建模语言(UML)就承担了这样的一个责任,作为一套来帮助做好软件开发的工作标准。
学习这本书的目标:(1)掌握UML的基本语法;(2)掌握面向对象的分析方法;(3)掌握应用UML进行需求分析的最佳实践;(4)掌握软件需求管理的最佳实践。希望我可以在这本书里学到更多关于UML的知识。
UML图分为结构型和行为型两种。结构型的图描述的是某种结构,而这种结构应该是静态的,比如需要哪些类、哪些构件、系统最后的部署等;而行为型的图描述的是某种行为,是动态的,比如考虑软件和用户交互,类、构件、模块之间如何联系等动态内容。
结构图中了解了几种比较熟悉的图。类图是分析业务概念的首选,也是使用率最高的UML图。对象图往往只在需要描述复杂算法时才会使用,在需求分析工作中基本上不需要使用对象图,而是选择类图来处理,可以更加简洁容易理解。构件图就是用来描述软件内部物理组成的一种图。就跟一辆汽车由轮子、发动机等物理部件组成是一样的道理。部署图,顾名思义就是用来描述系统如何部署、本系统与其他系统是什么关系的一种图。在软件系统需要基于当前的IT基础环境来规划时,我们需要使用部署图来做这个规划。包图主要是用于类图非常庞大、不利于阅读时,来组织业务概念,可以更加简便、简介。
行为型的图中,有几种已经学过的图,而且比较重要,我就使用了更多的时间去学习。活动图表达的是一个顺序流程,还可以表达分支结构,我们可以把活动图看作是另一种流程图,是表达流程的三种图之一。状态机图呢,是从某个物品的状态是如何变化的角度来展示流程,重点围绕某个物品进行。顺序图表达的就是整个流程的顺序,是由几个环节组成,并且每个环节都有不同的角色来负责,顺序图可以清晰地表达整个过程所参与的角色和角色与角色之间的关系以及角色的交互就是顺序图的好处。通信图也就是我们学过的协作图,和顺序图相似表达角色之间的关系和交互,但是协作图强调的是相互之间的关系,而顺序图更强调先后顺序,在这我学到的另一点就是顺序图实用性更好一些,比通信图表达更多,所以相比协作图可以多加使用顺序图。用例图表达的是角色可以做什么事情,可以表达出系统的大部分需求。
虽然通过学习对这几种图都有所接触并且可以画出相应的图,但是我却有所怀疑,觉得并没有起到沟通的作用。在学习了第一章以后,我发现这是对UML的认识误区,UML其实不难读懂,反而可以直观、形象、严谨地描述出业务概念,有很大的威力,我还没有见识到。希望这本书可以成为我在实际学习中应用UML的帮手。