UML-顺序图与通信图

     UML有两种表达形式的交互图:顺序图和通信图,均可以完整的表达对象之间信息的交互过程,区别在于关注点不同:

      顺序图:按时间顺序对消息的交互过程建模,展示的是按时间顺序发生的消息传送。

      通信图:按对象关联对消息的交互过程建模,强调消息交互传递中对象之间的关联。

一.顺序图(基于对象交互时的交互顺序)

1.顺序图概念

      用于捕获系统运行中对象之间有顺序的交互,强调的是消息交互的时间顺序。顺序图由生命线和消息组成:

      顺序图 = 生命线 + 消息

2.组成

      1)活动者(Actor)和对象(Object)

         活动者和对象按照从左到右的顺序排列。一般最多两个活动者,他们分列两端。启动这个用例的活动者往往排在最左边;接收消息的活动者则排在最右端; 对象从左到右按照重要性排列或按照消息先后顺序排列。

         对象的三种命名方式如下:

      2)消息(Message)

            面向对象方法中,消息是对象间交互信息的主要方式。 结构化程序设计中,模块间传递信息的方式主要是过程(或函数)调用。 对象A向对象B发送消息,可以简单地理解为对象A调用对象B的一个操作(operation)。

             顺序图中,尽力保持消息的顺序是从左到右排列的。 一个顺序图的消息流开始于左上方,消息2的位置比消息1低,这意味着消息2的顺序比消息1要迟。因为西方的阅读习惯是从左到右。 顺序图中消息编号可显示,也可不显示。协作图中必须显示。

         UML三种消息: 调用(Procedure Call) 异步(Asynchronous) 返回(Return) Rose扩充: 阻止(Balking) 超时(Time-out)

          调用: 发送者把消息发送后,等待直到接收者返回控制,可以表示同步; 实心箭头符号

           异步: 消息发送后,发送者继续操作,不等待,常用于并发

         返回:表示消息的返回。消息上方放置返回值 同步消息的返回可以画出(如果想明确表达返回值),也可以不画出,直接隐含。 异步消息可以有返回,也可以没有。(可以响应异步消息,也可以不响应该异步消息。) 如果顺序图上显示有编号,则返回消息的编号和当初发送消息的编号完全一样。 虚线箭头表示,和依赖关系不要混淆

          自调用(Self Call):某对象自己调用自己的操作 UML标记 (嵌套的矩形条)     Rose标记

 

        3)生命线( Life-lin e)

            每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时间内的存在 垂直的虚线 如果对象生命期结束,则用注销符号表示 对象默认的位置在图顶部,表示对象在交互之前已经存在 如果是在交互过程中由另外的对象所创建,则位于图的中间某处。

      4)激活器或控制焦点(Focus of control)

            激活期(activation)/控制焦点(focus of control) 对象在一段时间内获得了焦点,也称激活期 对象执行某个动作的时期 空心矩形条 激活期的长短意味着对象执行某个动作的时间有多长,可以通过约束{10ms}来限制执行时间的长短。

3.建立顺序图的步骤

      1)确定交互的范围;

      2)识别参与交互的对象和活动者;

      3)设置对象生命线开始和结束;

      4)设置消息;

      5)细化消息;

 

二.通信图(基于对象交互的行为建模)

1.通信概念

      强调对象之间在交互作用时的关联。

     通信图的消息发生顺序用图中的消息编号的方法来表示。表达式为:

     通信图 = 交互的参与者 + 通信链 + 消息

2.通信图的表示方法

1)交互的参与者

       交互的参与者用一个对象符号来表示,在矩形框中放置交互的参与者,显示交互的参与者的名称和它所属的类:参与者名:类名

2)链接

       链接表示两个对象间的连接路径,沿着这条路径,消息可以流动。UML用直线表示链接、

3)消息

       消息用依附于链接的带标记的箭头和带顺序号的消息表达式表示。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luckyliuqs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值