时序图 条件判断_UML建模(时序图)

一、时序图

时序图是一种强调消息时序的交互图,他由对象(Object)、消息(Message)、生命线(Lifeline)和Combined Fragments组成,它主要描述系统中对象和对象之间的交互,它将这些交互建模成消息交换。

时序图将交互关系展示成了一个平面二维图,其中纵向标示时间轴,时间沿竖线从上向下进行。横向轴标示了交互中各各个对象。对象的的用生命线表示。消息从一个对象的生命线到另一个对象生命线的箭头表示,箭头以时间顺序在图中从上到下排列,从左到右排列。

对象(Object)和生命线(Lifeline)

生命线头上那个方正的框里面存放的就是对象,对象有自己的名字,生命线其实就是从上到下的一个虚线。生命线标示一个对象存在的生命周期,两条生命线中间通过消息连接起来,

fb766dac1520e0bf18dbe9840057a849.png

image.png

消息(Message)

消息用于对象间传递信息,对象之间的信息�互通就是通过消息,消息按照分类可分为:同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message) 自关联消息(Self-Message)

  • 同步消息:发送消息的对象在发送消息后会挂住,等消息接受对象接受消息返回后才会解除挂住的状态继续自己的工作。
  • 异步消息:发送消息的对象在发送消息后会继续自己的工作,而不等消息接受对象接受消息返回。
  • 返回消息:标示发送消息后返回的动作
  • 自关联消息:一个对象内自调用的情况。
eb7abfbd70cdfdc02789a6e016b87679.png
  • image.png

Combined Fragments

标示有一定条件的消息发送,

  • Alternative fragment(denoted “alt”) 标示 if…then…else
  • Option fragment (denoted “opt”) 标示Switch
  • Parallel fragment (denoted “par”) 标示同时发生
  • Loop fragment(denoted “loop”) 标示for
  • Break标示退出循环

1.loop:

当没有指定循环边界默认范围为[0,无穷大]:

0b2f56069f80f86bcce29668eb7c7acd.png

image.png

如果只指定了一个值,那么默认执行该值次数:

181de6388b8c11056868ae4a923e3d7c.png

image.png

指定了循环边界,则最少执行最小值值,最多执行最大值次数:

0795a152fc1d94ce28bc5d64e4de40a9.png

image.png

实现dowhile方式,至少执行一次,如果size<0则退出:

497567509b3ed6188da219dadd5fadd1.png

image.png

2. alt:

条件判断,如果n>0则执行agree函数否者执行reject函数

f41463a356bcc56ae78cc6b321a18ca1.png

image.png

3. opt:

switch,当满足不同条件执行不同方法:

da49f7faed7883f2c37da612f4ac466b.png

image.png

4. break:

n=10时候执行save并退出循环

1cf80eac2bfa5a2bc5fe461d71fce369.png

image.png

5. par:

同时进行,比如多个线程同时执行任务

444f4e8b1f92abd816368215463016b8.png

image.png

一个例子

4d6ecbb96858c22e8d71ed6ff98bd9f0.png

image.png

欢迎关注微信公众号:技术原始积累 获取更多技术干货

  • 14
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 创建模时序图(sequence diagram)的步骤包括: 1. 确定模型中的对象和活动:首先需要确定模型中需要出现的各个对象,以及这些对象在模型中扮演的角色,进而确定模型中需要描述的各个活动。 2. 确定对象之间的关系:在模型中,各个对象之间存在着各种不同的关系,例如,调用、引用、继承等,需要根据实际情况确定各个对象之间的关系,并用适当的箭头表示。 3. 绘制时序图:在确定了模型中的对象和它们之间的关系之后,可以开始绘制时序图时序图一般由多个水平方向排列的 lifeline(生命线)构成,每个 lifeline 代表一个对象,在它上面可以出对象的各个操作,用垂直的带箭头的线表示。 4. 补充详细信息:最后,需要根据实际情况添加时序图的详细信息,例如各个操作的参数和返回值等,进一步完善模型的表达能力。 ### 回答2: 时序图也是UML建模中非常重要的一种图形,它主要用来描述对象之间的交互关系和消息通信。它能够清晰地展示对象之间的动态关系,对于分析和设计系统非常有帮助。 时序图的主要元素包括对象、生命线、消息、激活条和控制流。在时序图中,每个对象都表示一个状态或实体,生命线表示对象在一定时间段内的存在。消息则表示对象间的交互,包括同步消息、异步消息、返回消息等。激活条则表示在消息发送或者接收时,接收方的响应时间。控制流则表示消息之间的流向和顺序。 时序图的绘制可以根据具体的需求进行制定,一般分为三个步骤。第一步是确定参与交互的对象,包括系统、人员、组件等。第二步是建立生命线和激活条,确定对象的存活期和响应时间。第三步是建立消息和控制流,清晰地展示对象之间的消息交互关系。 时序图的优点在于能够以非常直观的方式展示对象间的交互行为,可以帮助开发人员更好地理解系统的交互方式,从而更好地设计出系统的结构和功能。同时,它还能够帮助进行调试和测试,方便开发人员对交互流程进行分析和优化。 总之,时序图UML建模中非常重要的一种图形,可以用来描述对象之间的交互关系和消息通信。在系统分析和设计中具有广泛的应用,是开发人员必须掌握的技能之一。 ### 回答3: 时序图UML建模中用于表示系统中对象之间交互行为的一种图示方法。时序图通常是用来表示系统中对象之间的交互行为,也可用于描述系统中对象的一般行为。 时序图展示了一系列对象在一段时间内的相互关系、相互交互。时序图就像一个类的活动图,这里就是一个方法的调用过程。时序图由对象、生命线、消息和控制流组成。 在时序图中,对象被表示为矩形,矩形上方是对象的名称,下方是对象类型。生命线通常是垂直线,表示对象在某段时间内的存在。消息是表示对象之间的通信,有同步消息和异步消息。同步消息是表示调用一个方法并在返回之前等待结果,而异步消息表示调用一个方法并立即返回。 时序图还包括控制流和逆食流,在控制流中,消息从一个生命线流向另一个生命线。逆流控制是一条带箭头的曲线,表示消息的回传。 时序图的优点在于它是一种高度形式化的语言,理解时序图需要一定的技能和专业知识。但是它的优点是,它能够在开发过程的任何阶段使用,并且能够提供完整的交互细节,帮助开发人员精确定义系统的行为,并且帮助测试人员准确地测试和验证系统的行为。在实现新系统、更改或调整现有系统或维护现有系统的过程中,时序图都可以提供实用的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值