UML视图入门

最近在学习UML,看了很多资料觉得眼花缭乱,自己用比较通俗的语言总结了一下它的视图,可能会有点土,哈哈。

 

UML简单结构:

 

 

 

类图:类的概念我就不鸡婆了,类图就是用矩形框图显示出类的属性及方法,说白就是类有什么特征,要做什么事。在UML类图中,关系用类框之间的连线来表示,连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承(泛化)、关联、聚合和组合。类图在软件具体设计中占有很重要的位置。

 

对象图:对象图就是类图的示例,个人觉得软件设计用到的不多。

 

用例图:就是表示用户(UML里叫动作者)及用户的动作(UML叫用例),比如以MIS系统里的用户登陆例子来说明:登陆者就是用户,登陆过程就是用例,用例图并不关心用例里的具体情景过程。当划分软件的系统功能,用例图是有强有力的工具。

 

协作图:用来体现对象间的消息往来,讲白了就是对象间的交互信息。具体看下图:

协作图在软件设计中也占重要位置,开发人员,测试人员,用户都可以看得懂,在设计阶段使用。

 

顺序图:顺序图有点类似于协作图,只是注重点不一样,协作图强调对象间的消息往来,而顺序图强调对象间传递消息的顺序,个人认为顺序图不如协作图来得简单明了,软件设计中不常用,除非有特殊的情况。

 

状态图:描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

 

活动图:相当于我们常说的流程图,用来描述一个用例的具体过程及业务流程。用不太严谨的表述来说,活动图是一种粒度比较粗的事件流程图,多在需求阶段使用。协作图跟活动图的区别是协作图的基本单位是对象,而活动图的基本单位是各个活动。

 

构件图:也叫组件图,组件图提供系统的物理视图,它的用途是显示系统中的软件与其他软件组件(例如,库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。通过组件图可以看到某个功能位于软件包的那个位置。

 

实施图:描述软件中各个组件位于什么硬件位置,及跟这些硬件的交互关系。

 

后话:虽然UML提供了一系列的建模标准,但是个人觉得在具体的软件需求分析及软件设计过程中不必死守规则不放,我个人是这样使用的,在需求分析阶段,视客户的素质,如果有专门的咨询团队(一般是花钱请来专门为软件开发服务的,也有的工厂有专门的信息部可能懂UML),可以用标准的UML活动图与之交流,否则我一般用最简单的流程图,要不客户会被“雷”倒,因为他根本看不懂那是啥东东(目前大部分客户都是这样),软件设计阶段用用例图、协作图、类图,至于其它图有特殊需要才用。

原文地址:https://www.cnblogs.com/qzfitsoft/p/1368638.html