产品案例
您当前的位置:主页 > 产品案例 >

快速学习时序图:时序图简介、画法及实例

来源:http://www.zqhuobao.com 责任编辑:www.ag88.com 2019-02-11 15:46

  时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中。下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做了更深入的讲解。

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

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

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

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

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

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

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

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

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

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

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

  对象的梳理是一个相对主观的过程,比如本例中,如何写好企业新闻稿帮助企业宣传达!课程以及成绩分别作为了对象存在,也可以合并为数据库这一个对象。

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

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

  作者,你好,最近我也在学UML,发现visio只有用例图,序列图,类图,状态图,活动图,(甘特图)。但是没有部署图,组件图,协作图这3个图,在想要不要学这3个图,产品经理工作中用不用得上。冒昧问下您的看法😊

  你好,Rose中有部署图、组件图和协作图,我在工作过程中,使用过部署图和协作图,没有使用过组件图。部署图主要是为了描述复杂的物理拓扑结构,比如我要做一个在线学习的平台,这个时候,就要事先考虑好视频、直播需要流媒体服务器,而PPT、PDF等文本文件需要文件服务器,这个时候用部署图来描述整个系统架构,就会很清晰。但是如果系统的拓扑结构并不复杂,就不需要画部署图了。协作图的话,在我看来,就是粗线条的流程图,在前期需求阶段可以帮助理解业务流程。我不太清楚组件图的使用,至少目前为止,工作中从未用到过。

  协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、招聘、社群为一体,全方位服务产品人和运营人,成立8年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里分享知识、招聘人才,与你一起成长。

在线客服
  • 点击这里给我发消息
  • 点击这里给我发消息