UML有用例图、类图、包图、对象图、活动图、状态图、交互图、部署图、构件图、九种图,这九种图分为了两类,第一类是结构图;第二类是行为图。
结构图包括:
类图;部署图;包图;构件图;对象图
行为图包括:
用例图;协作图;状态图;活动图;时序图
一、结构图
(一)类图
(用于描述系统的静态结构)
类图中包括类名、属性和方法三个方面如图中所示。有以下四种关系:
1.关联:用实线箭头表示
1.1普通关联有多重性(0…*等);
1.2 聚合描述整体/部分关系,用空心菱形表示;
1.3组合描述部分依赖于整体,用实心菱形表示;
2.依赖:用虚线箭头表示,尾部依赖于头部;
3.泛化(继承):实现空心三角,尾部继承头部
3.1单重继承:一个或多个子类继承一个父类;
3.2多重继承:一个子类集成多个父类,JAVA中不可实现,可用接口实现;
4.实现:虚线空心箭头表示,尾部实现头部,一般用于类实现接口
(二)包图
(三)对象图
对象图一般描述了一个系统某个时刻某部分的对象之间的关系,一般用于系统在某个时刻运行的快照,一般用于建立系统原型。
(二)构件图
所谓构件就是指系统遵从同一组接口且提供其实现的物理的、可替换的部分;每个构件能实现一定的功能,为其他构件提供接口,实现软件复用,构件与接口的关系如下:
(三)部署图
部署图用于描述系统的软硬件分布关系,有节点进行关联,所谓节点就是指一个物理元素、它在运行时存在代表一个可计算资源,通常占用内存和具有处理能力。
二、行为图
(一)用例图
用例图描述一个用例执行时执行者和系统之间的交互过程,其分为概述级、用户目标级以及子功能级三类,详细程度递进,用例图重在应用,交流和事件流的描述,也有四种关系(关联,依赖,泛化,实现)。
(二)协作图
协作图又叫合作图,一般强调参与交互的对象的组织,主要侧重于对象之间的关系以及交互的信息关系。
(三)时序图
时序图有叫顺序图,一般按时间顺序先后对象之间的交互过程。其和协作图可等价亦可以相互转化。
(四)活动图
活动图和流程图相似,但其支持并行活动,但其难以描述动作和对象的关系,没有交互图直接。
其包括
起点(圆面)
终点(圆面和园)
泳道(竖线)
同步条(黑条)
状态判断(菱形)
活动状态(长椭圆)
状态转移(箭头)
(五)状态图
其和活动图的区别是活动图从行为动作上进行描述,状态图是在行为结果上进行描述,描述一个对象的所有可能状态以及各种事件发生引起的状态间的转移,状态图有以下几个元素组成:
状态(圆角矩形)
转移(箭头)
起点
终点
以上是对UML中九种图的理解和总结,由于自己画的图未保存,所以借鉴了小伙伴几张图,有什么问题,欢迎留言。