您的位置:首页 > 其它

UML总结(三)----序列图和协作图

2017-12-31 16:40 169 查看

前言

  为什么要在这里总结一下这个序列图和协作图这两个图呢?是因为感觉这两个图比较有趣,也是比较常用。(其实序列图比协作图常用)

为什么使用?

   和用例图、类图、包图一样,序列图和协作图也是UML建模中重要的两个图。你可能会问,要那么多图干嘛啊,有两个就可以可呗。但是和人一样,每个人都有他的优点和缺点,用例图之类的只能去描述静态的关系,而动态的就只能靠序列图这一类的图,这也是使用的原因。

浅谈序列图

  序列图描述了在时间上对对象交互的安排。

  图形展现了:1、多个交互对象2、信息交流的序列

  序列图中包括:1、对象的生命线2、按照顺序对象间的信息交流3、控制焦点

使用时序图对系统建模时,可以遵循如下策略。

(1)设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。

(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其从左向右的方向放在时序图中。

(3)设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。

(4)从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。

(5)设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。

(6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间和空间约束。

(7)给某控制流的每个消息附上前置或后置条件,这可以更详细地说明这个控制流。

  小小举例(机房收费系统上机功能的序列图):



应该是这个样子,如果有什么不正确的地方还请大家指出。

浅谈协作图

  协作图是方案定的另外一种图形代表

  协作图可以:1、独立地被建立2、直接从序列图中被建立

  协作图用来表现系统的对象的另一种交互,即时间和空间顺序上的交互。虽然和时序图表现交互的方式不同,但系统的时序图和协作图一般描述相同的内容。

  小小举例(还是以机房收费系统上机功能作为例子):



  在协作图中消息不能被移动或者插入,序列图可以。

总结

  无论是序列图还是协作图都是UML中比较重要的动态图,还请大家多多去练习。如果我总结的有什么不正确的地方还请大家指出。谢谢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: