作者:张克强 作者微博:张克强-敏捷307
序列图,也称时序图、顺序图,英文名Sequence Diagram。在雅各布森用例分析方法中鼓励使用各类图形来表达,但恰恰没有明确提到序列图。而科伯恩用例分析方法以结构化/半结构化文本用例为中心,强调基于目标的文本格式,对UML各类图所提甚少。
在RUP和OOAD中,UML序列图的最基本定位是用于识别类与类之间的信息传递,是识别类的方法的最佳场合。它是在得到用例之后初步识别了类之后发挥巨大作用的。序列图是交互图(interaction diagram)的一种,能够转换成协助图(Communication Diagram)。利用序列图的设置,能够精确定义类及类的方法,进而生成源代码。
在潘加宇的《软件方法》[7]中比较了活动图和序列图,推崇使用序列图来表达业务,称之为业务序列图,然后基于业务序列图来识别系统用例(区别于业务用例,即是本文所称用例)。可以发现当处理多个业务角色时,序列图确实拥有与活动图相当的表现力。
那么,序列图如果用在用例规约中,将是什么景象?
图片来源于网络
可以看到序列图表达的内容与基本流文字是一样的,更加直观,但显然的需要更多时间,而且并不能充分说明交互细节,毕竟在图片上不适宜打上密密麻麻的字。更关键的上述这幅图中有“银行主机”,这就超出了单个用例的范畴。
总的来说,序列图不是用例的标准配置,在用例规约中使用序列图可以更好的呈现事件流,但其将花费更多时间,如果在单个用例内再考虑其它角色和其它用例,那么所费时间更多,而且有可能与前期业务分析重复,也有可能与后续设计分析重复。
在编写有效用例一书中,明确指出在用例规约中画序列图是不合适的。
更多相关文章
需求用例分析之一:异常流
需求用例分析之二:级别设置
需求用例分析之三:补充规约
需求用例分析之九:序列图