UML动态模型图描述了系统动态行为的各个方面,包括用例图、序列图、协作图、活动图和状态图。下面就每种图做一个简单介绍:

用例图

用例图描述系统外部的执行者与系统提供的用例之间的某种联系。所谓用例是指对系统提供的功能的一种描述。执行者是使用用例的人或外部系统,二者之间的联系描述了“谁使用哪个用例”。用例图着重于从系统外部执行者的角度来描述系统需要提供哪些功能,并指明该执行者是谁。在用例图中,椭圆表示用例,小人表示执行者。下图所示为一个普通用户进入某系统的用例图,该图描述了当普通用户进入系统时,“普通用户”为执行者,其具有密码修改、资料修改、订单查询、产品搜索等4个用例。


序列图

序列图又被称为时序图、顺序图,用于描述几个对象之间的动态协作关系。序列图由一组对象构成,每个对象分别带有一条竖线,代表时间轴,称为生命线。从一个对象的生命线指向另一个对象的生命线的水平箭头表示消息。序列图就是描述这些对象随着时间的推移互相之间交换消息的过程。下图示为一个模拟银行间资金转账的序列图,通过中心间联发起转账,描述了银行A、中心、银行B的交互过程,通过该模型图,可以比较清晰的了解整个交互过程及交互顺序。

协作图

与序列图相同,协作图也是用来描述系统中对象之间的动态协作关系。协作图侧重于描述各对象之间存在的消息收发关系,而不专门突出这些消息发送的时间顺序。下图是与上面序列图对应的协作图,对象之间的消息箭头表示它们之间的消息流向,消息上的标号说明这些消息发送的时序。

状态图

状态图是对类描述的补充,用于展示此类对象所具有可能的状态以及某些事件发生时其状态的转移情况。下图示一部电梯的状态图,圆角矩形表示状态,箭头表示状态的转移,而转移旁标出的是所发生的事件。如:当电梯处于上升状态时发生了“到达”的事件,则电梯转为空闲状态。

活动图 

活动图是一种特殊的状态图,活动图描述一个操作中要进行的各项活动的执行流程。同时,也常被用来描述一个用例的处理流程或者某种交互流程。下图所示是一台打印服务器的活动图。通过该模型图的描述,可以了解执行打印功能时需要涉及哪些活动及其活动顺序。图中的圆角矩形表示活动,活动图就是由一些活动组成的。当一个活动执行完毕之后,控制将沿箭头转向下一个活动直至结束。