为什么需要顺序图建模
我们描述过程一般有2种方式:
1. 按照时间顺序,把活动编排顺序,这就是活动图。参见:活动图
2. 列出对象,按照时间的顺序,描述各个对象的交互,这就是交互图。
而顺序图属于交互图的一种(除此之外,还有:通信图、交互概览图、时间图,参见:UML概览)。描述活动的过程,大家一般想到的是活动图,为什么还需要顺序图呢?
这是因为只是描述过程,而不知道过程的各个活动由谁负责,这样的过程是无法执行的。所以,必须把过程分解为多个角色/类/模块的职责。类的关系和职责的描述用类图(参见:类图),而活动图和类图是完全不同的视角,这就需要一个以对象交互视角描述活动过程的图。
请看下面2个图例的对比:
下面是引入了顺序图的分析设计方法:
可见,借助顺序图,我们可以把活动清晰的分解为对象的交互,然后在定义类图,这样每个行为都有了负责者,这无论是对业务流程分析还是软件流程分析都是关键的一环:
顺序图有什么
任何UML图都有语义、元素、关系和用途,下面对顺序图做个列表描述:
图例:贪吃蛇游戏的顺序图
为了让读者看的更形象,采用图例的方式介绍顺序图的用法,下面是贪吃蛇游戏的顺序图:
顺序图说明:
对象的说明:
消息的说明:
顺序图的要素说明:
如下是顺序图中的对象的说明字典:
说明:本文的模型采用建模工具EA建模。