问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

时序图怎么画?

发布网友 发布时间:2022-04-21 05:57

我来回答

2个回答

热心网友 时间:2022-06-18 08:49

一、 什么是时序图?

时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。

二、 时序图的作用是什么?

1、展示对象之间交互的顺序。将交互行为建模为消息传递,通过描述消息是如何在对象间发送和接收的来动态展示对象之间的交互;

2、相对于其他UML图,时序图更强调交互的时间顺序;

3、可以直观的描述并发进程。

三、 组成元素有哪些?

1. 角色(Actor)

系统角色,可以是人、机器、其他系统、子系统;在时序图中用表示。

2. 对象(Object)

(1)对象的三种命名方式

第一种方式包括对象名和类名,例如:直播课时:课时,在时序图中,用“对象:类”表示;

第二种方式只显示类名,即表示它是一个匿名对象,例如: :课程;在时序图中,用“:类”表示;

第三种方式只显示对象名不显示类名,例如:讲师;在时序图中,用“对象”表示。

(2)命名方式的选择

三种命名方式均可,哪种最容易让阅读该时序图的人理解,就选择哪种。

(3)对象的排列顺序

对象的左右顺序并不重要,但是为了作图清晰整洁,通常应遵循以下两个原则:把交互频繁的对象尽可能的靠拢;2.把初始化整个交互活动的对象放置在最左端。

3. 生命线(Lifeline)

在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。

4. 控制焦点(Focus of Control)

又称为激活期,表示时间段的符号,在这个时间段内对象将执行相应的操作。它可以被理解成C语言语义中一对花括号{ }中的内容;用小矩形表示。

5. 消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。

消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;

消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

返回消息表示从过程调用返回。

6. 自关联消息

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。

7. 组合片段

组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下:


常用组合片段举例:

用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..

(1)抉择(Alt)

抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。

(2)选项(Opt)

包含一个可能发生或不发生的序列;

(3)循环(Loop)

片段重复一定次数,可以在临界中指示片段重复的条件。

(4)并行(Par)

四、 时序图的绘制工具

时序图的绘制工具有VISO、Rational Rose、StarUML、Web Sequence Diagrams、Timing Designer、Trufun Plato等,可任选其一。

五、 时序图的画法及实例

时序图的绘制步骤可简单总结如下:

划清边界,识别交互的语境;

将所要绘制的交互场景中的角色以及对象梳理出来;

从触发整个交互的某个消息开始,在生命线之间从上到下依次画出所有消息,并注明每个消息的特性(如参数等)。

接下来,我们按照上面所讲的时序图的绘制步骤,以学生在教务系统中查询其课程的成绩为例,来讲解时序图的绘制方法。

1、划清边界,识别交互的语境

所谓划清边界,就是要界定好自己所要画的时序图的范围,“学生在教务系统中查询其课程的成绩”就是所要绘制的时序图的交互内容,不用往上延伸到用户登录,也不要往下延伸到下载成绩单。

识别交互的语境,即是读懂所要画的时序图的前提和背景。比如本例中,既然学生可以查询成绩,那么该学生肯定已经注册并认证过其身份,并可选择其所考试的课程查询相应成绩。

2、梳理角色和对象

在本例中,角色有学生,对象有教务系统、课程、成绩。

对象的梳理是一个相对主观的过程,比如本例中,课程以及成绩分别作为了对象存在,也可以合并为数据库这一个对象。

请注意:角色以及对象,都为名词,动词不可作为角色和对象,如“成绩查询”不可作为对象。

3、添加消息

学生的登录验证作为本时序图的前置行为,可直接引用到本时序图中,也可忽略不画;学生进入成绩查询页面后,页面会加载本学生的成绩查询课程列表,并显示出课程对应的成绩;

热心网友 时间:2022-06-18 08:49

如图所示,这个就是当I0.0为ON了,Q0.0置位为ON,当I0.1为ON了,Q0.0复位为OFF。

望采纳。。。。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 怎么使用excle表做时序图 python怎么绘制imu时序图 怎么画时序图和工作过程? 管毅、苏烈是隋唐中的什么人物 “王”是什么字? 王者荣耀苏烈的台词都是什么? “王”是什么字? 苏烈三个灯都要踩吗 苏烈攻速阈值是多少? 《王者荣耀》s8苏烈打野玩法技巧说明介绍 王者荣耀中苏烈的被动是什么? 王者荣耀中盾山和苏烈哪一个厉害呢? 王者荣耀苏烈怎么玩? 王者荣耀中你认为苏烈适合打辅助还是适合打对抗路? 暴击流苏烈厉害吗?应该出哪几件装备比较好? 苏烈的军事指挥天赋,可以和李靖媲美吗? 苏烈这个英雄,在边路是否后期太过乏力? 《王者荣耀》苏烈踩灯啥意思? 苏烈连招技巧口诀是什么? 苏烈这个英雄伤害还是很高的,为何他的出场率那么低? 数字电子技术中时序逻辑电路中时序图怎么画 如何在excel中做时间序列图 这种时序图用什么软件画? 如何绘制用于Word的时序图 word文档如何做存款时序分析图? 这种时序图是用什么工具画的? R中如何绘制一个表格数据的时序图,自相关图? excel怎么自动画时序图 vba 数字逻辑中如何画电路的时序图,有什么规则吗? 根据状态图画时序图 通过分析时序图的特点,快速绘制时序图,计算节拍来指导顶层设计 没信号怎么弄? 梦见蚂蚁在头上 商人梦见蚂蚁在自己头顶怎么回事 梦到自己头上爬了好多蚂蚁怎么防范未然? 梦见很多蚂蚁在头发上是怎么回事5689 做梦梦见蚂蚁在头上成人字形 梦见头上有蚂蚁往下掉 梦见我睡觉时很多蚂蚁在我脸上和头上。 梦见孩子头上有蚂蚁