UML学习(一)

我怕爱的太早我们不能终老 提交于 2020-02-04 04:53:22

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与模式

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!