UML 之 序列图和协作图

10 篇文章 1 订阅
序列图(Sequence Diagram)
    亦称为时序图或循序图,是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
    序列图展示对象之间的交互,这些交互是指在场景或用例的时间流中发生的。序列图属于动态建模。
    序列图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。


序列图中的事物

    参与者:与系统、子系统或类发生交互作用的外部用户。

                             

    对象:序列图的横轴上时与序列有关的对象。对象的表示方法是:矩形框中写有对象或类名,且名字下面有下划线。

                           

    生命线:坐标轴纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息,对象的活动)这条虚线称为对象的“生命线”。

                              

    消息符号:消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

                      

下面是一个简单的序列图例子

              





协作图(Collaboration Diagram )
    是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。


协作图中的事物

    参与者:发出主动操作的对象,负责发送出事消息,启动一个操作。

                             

    对象:对象是类的实例,负责发送和接收消息。与序列图中的符号相同,冒号前为对象名,冒号后为类名。

                           

    消息流:箭头指示消息的流向,从消息的发出者指向接受者。标签对消息作说明,其中,顺序号指出消息的发生顺序,并且指明了消息的嵌套关系,冒号后面是消息的名字。

                         






协作图与序列图的区别和联系
    协作图和序列图都表示出了对象间的交互作用,但是它们侧重点不同。
    序列图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
    协作图和序列图可以相互转化


乘坐电梯的协作图
                          

    参与者需要乘坐电梯,他从系统外部按下按钮,让电梯到达他想去的楼层。此时,电梯系统的操作被启动,电梯控制对象以循环的方式检查所有的电梯,从中选择一个工作队列长度最短的。然后,它创建一个作业命令,并将该命令放入对应电梯的工作队列,接着激活队列。电梯对象并发运行,从它的队列中选择一个作业并执行。电梯是一个活动对象,它与它的控制线程并发执行。


下面是我自己画的机房收费系统中上下机的序列图,仅供参考,有不足之处,希望大家给我指出来

                






UML(统一建模语言)是一种用于软件系统设计的标准化图形语言。在网购系统的设计序列图协作图是两种常用的图表,用于描述系统不同的对象之间的交互方式。 序列图主要用于描述对象之间按照特定顺序进行的消息传递。它以垂直方向的时间轴为基础,在上方显示参与交互的对象名称,在下方按特定顺序展示对象之间的消息传递过程。以网购系统为例,序列图可以展示用户登录、浏览商品、添加购物车、下单、生成订单等过程。例如,序列图的用户对象可以向购物车对象发送添加商品消息,购物车对象接收并处理消息后向订单对象发送生成订单消息,最后订单对象会向用户对象发送订单详细信息。 协作图则更关注对象之间的组织结构和合作关系。它以对象之间的关系为基础,展示了对象之间的通信和合作方式。在网购系统协作图可以展示用户、商品列表、购物车、订单等对象之间的协作关系。例如,协作图可以展示用户对象与购物车对象、购物车对象与订单对象之间的关系,以及这些对象之间的通信方式和消息传递。通过协作图,可以清晰地描述对象之间是如何协同工作的,从而确保系统的正常运行。 总之,序列图协作图是两种常用的UML图表,用于描述对象之间的交互和协作方式。在网购系统的设计序列图用于展示对象之间的消息传递过程,而协作图则用于展示对象之间的协作关系和通信方式。通过使用这两种图表,可以更好地理解系统的运行机制,从而进行系统设计和开发。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值