1、什么是UML?
统一建模语言UML是OMG(Object Management Group)在1997年发表的图标式软件设计语言,它综合了多种当时已经存在的面向对象的建模语言、方法和过程。
2、特点:
对于一个软件系统而言,UML具有以下的重要功能:可视化功能、说明功能、建造功能和建文档功能。
2.1:可视化功能
可视化功能可以促进对问题的理解和解决,并且方便我们熟悉UML语言的设计师之间彼此的交流和沟通。
可以较容易的发现设计草图中可能的逻辑错误,保证最后完成的软件确实能按照要求运行,避免和减少错误。
2.2:说明功能
对于一个系统的说明应当通过一种通用的、精确的、没有歧义的通信机制进行,显然,UML特性使得UML很适合这种说明工作。
系统的整体设计可以指导软件的开发过程。由于重要的决定均可以在开始写代码之前就做出,因此可以减少底质量的代码,进一步降低开发成本。
2.3:建造功能
UML有它自己的开发规则,这使得人们可以通过建模软件对一个系统设计模型加以解释,并将设计模型映射到一种计算机语言上。这也就是说,使用一种建模工具可以大大加快建模和系统设计的过程。
可以通过UML可以看到总体的图像,这样一来可以均衡调配系统所消耗的资源,使系统更有效率。因为系统设计的首先完成,所以很容易就能发现可以复用的代码。代码能够高效率地实现复用,可以降低开发成本。
2.4、建文档功能
使用UML进行设计可以产生系统设计文档。
由于使用UML软件设计的系统在写出代码之前就有了专业化的设计和文档资料,所以程序员可以事先精确的指导他们的计划是什么。当需要修改一个已有的系统的时候,如果能找到当时那个系统的UML文档资料,则会节省学习时间,使工作事半功倍。这样可以降低维修成本。
如果在项目进行的过程中,有新的程序员参加项目的话,有些程序员可以借助UML图形文档资料很快熟悉开发中的系统。
3、UML包括什么?
UML包括以下图:
- 使用案例图
- 类图
- 序列图
- 合作图
- 状态图
- 活动图
- 构件图
- 部署图
在以上这些图中,案例图、类图、序列图是最为有用的。
根据这些图的用意,大体上可以分为结构型图和行为型图两种。结构型图描述了系统的静态结构,在显示一个系统已有的类及他们之间的静态关系时最为有用。行为型图描述一个系统的动态性质,在显示系统的元素如何协作产生满足要求的系统行为方面最为有用。
结构型图
图的名称 | 介绍 |
类图(Class Diagram) | 类图主要是描述一个类、包的静态结构和他们之间的静态关系 |
对象图(Class Diagram) | 对象图给出一个系统中的对象的快照 |
构件图(Class Diagram) | 描述可以部署的软件构件(比如jar文件、EJB等)之间的静态关系 |
部署图(Class Diagram) | 描述一个系统的拓扑结构 |
行为型图
图的名称 | 介绍 |
使用案例图(Use Cse Diagram) | 使用案例图描述一系列的角色和使用案例及他们之间的关系。可以用来对一个系统的最基本行为进行建模 |
活动图(Activity Diagram) | 描述不能过程之间的动态接触。活动图是使用案例图所描述的行为的具体变化 |
状态图(State Diagram) | 描述一系列对象的内部状态以及状态的变化和转移。注意两个类不能有两个不同的状态 |
时序图(Sequence Diagram) | 时序图是一种相互作用图,描述不同对象之前信息传递的时序 |
合作图(Collaboration Diagram) |
合作图是一种相互作用图,描述发出信息、接收信息的一系列对象的组织结构 |
显然,描述一个设计模式的行为特性,使用状态图和时序图 比较合适。
只要有意义,所有类型的UML图都可以混合在一起使用。比如一个对象图可以和一个类图同时出现在一个结构图中,一个构件图中可以有类图的出现等等(但是有的时候,UML建模软件并不一定允许这样做)。
类图、状态图和时序图是比较常见的图。
参考书籍:JAVA与模式
来源:CSDN
作者:mqs1990
链接:https://blog.csdn.net/mqs1990/article/details/104157382