UML中的九种图及画图技巧——序列图、协作图

      UML中的各种图是UML模型的重要组成部分。近期的几篇文章中我将陆续为大家介绍UML中比较重要的九种图。大致的内容如下目录所示。

       1、用例图、类图、对象图

       2、序列图、协作图

       3、活动图、状态图

       4、组件图、部署图

        

      在今天这篇博客中,主要讲下序列图、协作图。在上篇文章中,我们所描述的主要是UML中的静态视图。接下来需要分析和设计系统的动态视图,并且需要建立相应的动态模型。动态模型描述了系统随时间变化的行为,这些行为是从静态视图中抽取出来的。在UML中,动态模型主要是建立系统的交互图和行为图。而今天的博客中所描述的就是交互图,它包括序列图和协作图。下面我们将对这两种图以及其画图技巧进行一一阐述。

     

序列图

      序列图描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图。简单来说,就是按照时间顺序,来描述对象间是如何传递、完成消息的。序列图是按照时间展开的消息传送,因此它向UML用户提供了事件流随时间推移的、清晰的和可视化的轨迹。

     

      序列图画图技巧:非常有意思的是,序列图可以算成是UML所有图中较为特殊的一种图了,可以说只要一看到这个图形这么排列,就知道它是序列图。在序列图中,所有对象在图形的顶端都水平排列,即使你用鼠标任意拖动对象,它们还是会一致的排成一列。不仅这样,每个对象的底端都有一条垂直的虚线,消息之间的传递用箭头表示,水平放置并垂直于这些虚线。并且箭头月靠近顶端的消息越被早发送。说起这点,我曾经就吃过亏,没注意箭头放置的上下顺序,胡乱的放,结果发现真的好乱,别人都看不清楚更别说弄清消息发送的先后顺序了,这点值得注意。


协作图

      与序列图不同的是,协作图强调参加交互的各对象结构的信息。协作图是一种类图,可以看做是对象图的扩展,但与之不同的是,它除了展现对象间的关联外,还显示出对象间的消息传递。协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关。这句话是很重要的,可以说是协作图的关键。

     

      协作图画图技巧:首先,图形表示上,交互图的对象用矩形表示,对象之间用直线相连。这一点说过很多次,要注意不同的图用什么图形表示对象,描述对象间相互关系时用什么样的关系线表示。这点虽看起来很不起眼,但却是决定画每一张图成功与否的关键。其次,画协作图可以参看之前画过的对象图,但是要在对象图的基础上显示出对象间的消息传递,用箭头和相应的语言描述出来。其实协作图也是表示信息传递的时间顺序的,只是相对而言,它不是像序列图那样通过箭头摆放的位置顺序表示,而是通过给消息添加顺序号来实现的。

     

      序列图与协作图都能表示消息传递的时间顺序,而序列图却似乎更清晰、明了;但是协作图比序列图能显示更为复杂的分支;二者是互补关系,各有所长,各有所补,却又是各有神通。

     (下一篇文章我将给大家介绍行为图,也就是状态图和活动图)

     

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值