时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。最后,以课程创建功能演示一时序图实例。

一、时序图简介(Brief introduction)

二、时序图元素(Sequence Diagram Elements)

角色(Actor)

对象(Object)

生命线(Lifeline)

控制焦点(Focus of Control)

消息(Message)

自关联消息(Self-Message)

Combined Fragments

三、时序图实例分析(Sequece Diagram Example Analysis)

时序图场景

时序图实例

时序图实例分析

四、总结(Summary)

一、时序图简介(Brief introduction)

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。

二、时序图元素(Sequence Diagram Elements)

角色(Actor)

系统角色,可以是人、及其甚至其他的系统或者子系统。

对象(Object)

对象包括三种命名方式:

第一种方式包括对象名和类名;

第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;

第三种方式只显示对象名不显示类明。

生命线(Lifeline)

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

控制焦点(Focus of Control)

控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示,如下图。

消息(Message)

消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message).如下图所示:

  同步消息=调用消息(Synchronous Message

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

 

  异步消息(Asynchronous Message

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

  返回消息(Return Message

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

自关联消息(Self-Message)

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

Combined Fragments

Ø         Alternative fragment(denoted “alt”) 与 if…then…else对应

Ø         Option fragment (denoted “opt”) 与 Switch对应

Ø         Parallel fragment (denoted “par”) 表示同时发生

Ø         Loop fragment(denoted “loop”) 与 for 或者 Foreach对应

三、时序图实例分析(Sequece Diagram Example Analysis)

时序图场景

完成课程创建功能,主要流程有:

1、请求添加课程页面,填写课程表单,点击【create】按钮

2、添加课程信息到数据库

3、向课程对象追加主题信息

4、为课程指派教师

5、完成课程创建功能

时序图实例

时序图实例分析

1、序号1.0-1.3  完成页面的初始化

2、序号1.4-1.5  课程管理员填充课程表单

3、序号1.6-1.7  课程管理员点击【Create】按钮,并响应点击事件

4、序号1.8     Service层创建课程

5、序号1.9-1.10 添加课程到数据库,并返回课程编号CourseId

6、序号1.11-1.12 添加课程主题到数据库,并返回主题编号topicId

7、序号1.13         给课程指派教师

8、序号1.14         向界面抛创建课程成功与否的消息

四、总结(Summary)

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。最后,以课程创建功能演示一时序图实例。

UML时序图-软件需求分析与设计相关推荐

  1. UML类图-软件需求分析与设计(很详细,很详细,很详细)

    UML之类图 类图的定义:是显示一组类.接口.协作以及它们之间关系的图. 类图主要包含7种元素:.类.接口.协作.依赖关系.泛化关系.实现关系.关联关系. 类图:包.子系统,用来把模型元素聚集成更大的 ...

  2. UML时序图速查——架构设计必备技能

    目录 一.时序图概述 二.时序图元素 1. Actor(角色)& Object(对象) 2. Lifeline(生命线) 3. Message(消息) 4. Combined Fragment ...

  3. UML用例图-软件需求分析与设计(很详细,很详细,很详细)

    用例图 用例图是用来描述系统功能的技术,表示一个系统中用例与参与者及其关系的图,主要用于需求分析阶段. 用例图的基本组成元素:参与者.用例.元素之间的关系. 用例图使用范围:需求分析 1.捕获需求.描 ...

  4. uml 时序图_设计模式-UML

    定义 统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明.可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言.UML是面向对象设计 ...

  5. [全程建模]关于UML时序图箭头方向的问题

    饼子堂的一个老程序员2017/10/12 9:40:59 清润 请教个问题哦 青润 2017/10/129:44:47 说 咱们这边客气什么呀?有问题你直接说,只要我有时间,我就直接回复了. 饼子堂的 ...

  6. 【系统设计】:画UML时序图的技巧

    1 推荐办法 作为程序员,肯定是使用代码画图比较方便快捷. 以下推荐使用plantUML来画各种UML图. 以下网站是plantUML的官网: www.plantuml.com 网站提供了一个在线的I ...

  7. 根据文本自动生成UML时序图(draw.io格式)

    1. 前言 已有一些工具可以根据文本自动生成UML时序图,如PlantUML(https://plantuml.com/zh/).Mermaid(https://mermaid-js.github.i ...

  8. [转载]UML时序图总结

    前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...

  9. UML时序图(Sequence Diagram)学习笔记

    UML时序图(Sequence Diagram)学习笔记 原创 SuperMan-zhang 最后发布于2018-07-04 14:37:25 阅读数 94844 收藏 发布于2018-07-04 1 ...

最新文章

  1. 周末都花费在智能车实验室,结果......
  2. java keeplive,java http长链接(keep-alive)导致的问题
  3. 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
  4. Java基础之参数传递
  5. 史上最全换档讲解手动档汽车的换挡技巧
  6. android:gravity与android:layout_gravity
  7. Excel 取消身份证的科学计数法显示形式
  8. tp6 使用 redis
  9. Git学习8 Git分支操作
  10. pyftpdlib 创建ftpserver
  11. IP地址划分, 常见的CIDR划分,子网掩码对应表及在线CIDR工具
  12. 2020年第十一届蓝桥杯C/C++ B组第二场省赛真题
  13. 删除并清空应收应付模块 期初数据
  14. SD卡是如何通过“lock”键实现写保护的?SD卡lock键坏掉怎么才能用,插入笔记本老提示写保护?
  15. 前端工具:2015年我最喜欢的一些发现
  16. fio -enghelp中没有rbd、rados引擎解决方法
  17. 企微客户群都有哪些独特优势?
  18. Android画图drawText入门(一)-字体结构
  19. C语言——求s=a+aa+aaa+aaaa+aa...a的值
  20. python将csv文件转换为列表_如何将csv文件数据转换成列表?

热门文章

  1. 台达C2000变频器如何使用PID实现恒压供水功能及相关参数设置?
  2. 中国垃圾车产业运营模式分析及未来需求预测报告2021年版
  3. Win7/Win10安装AutoCAD+CASS
  4. 论文翻译(一):Stock-wise Technical Indicator Optimization with Stock Embedding
  5. 硬件: 高性价比的 工作站配置 列表
  6. 微信小程序分销拓展提高销量的设置方法
  7. AI开发之——Leonardo—账号注册(1)
  8. 字节跳动 火山引擎 机器翻译调用 C#详解
  9. C++中的数组和字符串,strlen函数,iostream头文件
  10. JSON(GSON)