顺序图(时序图)

  • 前言
  • 顺序图
  • 顺序图的组成元素
    • 消息的分类
  • 顺序图提供动态视角
    • 例 饮料销售机问题域
    • 例 带界面的简易计算器
  • 应用程序框架结构
    • MVC设计模式
      • 例 用户登录(有时间再完善)
    • SSH
  • 包图

前言

copy自老师的PPT,不只有知识点,还有一些相关内容的介绍顺便复制进来了。 如有问题请多指教

顺序图

顺序图也称为时序图,它描述了系统中,对象间通过消息进行的交互,它强调了消息在时间轴上的先后顺序。

顺序图的作用
       顺序图常用来描述用例的实现,它表明了由哪些对象,通过消息相互协作来实现用例的功能,在顺序图中,标识了消息发生交互的先后顺序
       顺序图对于建模一个用例的场景很有用。

顺序图的组成元素

顺序图中的元素包括对象、生命线、控制焦点、消息。消息表示了对象间的通讯,生命线表示了对象的生存期, 控制焦点表示对象正在执行一些活动。
       对象:顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于顺序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。
       生命线:生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线,所用的时间取决于交互持续的时间。
       控制焦点:在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于激活状态的对象正在执行某个任务。对象在完成自己的工作后,被去激活,对象就处于空闲状态。
       消息:

  • 消息是从一个对象到另一个或者几个其他对象的信息传递,简单地说,消息就是对象与对象、或者对象与参与者之间的某种通信方式。
  • 消息可以是一个信号或一次操作调用,收到消息即为事件。可以有两种消息,一种是从发送者向接收者发送信号,另一种是由调用者调用接收者的操作。
  • 对象之间的协作通过相互发送消息实现。


消息的分类

在UML中,将对象之间的消息分为五种类型:调用、返回、发送、创建和销毁
1)调用(call):这是最常用的一种消息,它表示调用某个对象的一个操作(通常格式为“对象名.成员方法”)。可以是对象之间的调用,也可以是对象本身的调用(局部调用)。
2)返回(return):返回表示被调用的对象向调用者返回一个值。在UML的交互图中,将采用如虚线箭头线来表示,在箭头线上应标明返回值。
3)发送(Send):发送是指向对象发送一个信号。信号和调用不同,它是一种事件,用来表示各对象间进行通信的异步激发机制。
关于调用和信号的说明:

  • 调用是同步的机制,而信号是一种异步的机制。也就是说:当我们说对象A调用对象B时,A发送完消息之后是会等B执行完所调用的方法之后再继续执行;如果说对象A发送了一个信号给对象B,那么A在发送完信号之后,A就会继续执行自己的操作,不会等待B的执行。

4)创建(Create)和销毁(Destroy):也就是创建和销毁一个对象。创建对象通常是利用构造方法来实现的,对象一创建,生命线就开始;生命终止符号用一个较大的叉形符号表示。

汽车和车钥匙的问题域

顺序图提供动态视角

类图只是对CarOwner、CarKey、Car所构成的系统的静态视角描述。顺序图提供了一种动态的视角。
       它是如何做到的呢?是通过展示从一个实体传递到另一个实体的消息。
       顺序图的开始部分

锁车顺序图
       对消息建模后完成顺序图

例 饮料销售机问题域


1)买饮料的正常场景,下面是买到饮料的一般事件流:

  1. 顾客从机器的前端钱币口投入钱币,然后选择想要的饮料;
  2. 币到达钱币记录仪,记录仪更新自己的存储;
  3. 记录仪通知分配器分发饮料到机器前端;

    2)饮料“已售完”的场景
    3)机器没有合适的零钱
           顾客买饮料时,机器没有合适的零钱“找不开”的场景.

    4)带有临时对象的顺序图
           该顺序图表示了发送消息2后,创建一个临时对象c, 其生命线的尾部的叉号,表示销毁对象c.

例 带界面的简易计算器


时序图

应用程序框架结构

应用程序框架结构是一个可以重复使用的,大致完成的应用程序。可以通过对其进行定制开发成一个客户需要的真正的应用程序。

MVC设计模式

例 用户登录(有时间再完善)

  • 使用MVC模式实现
  • 基于Web的模式进行开发

登录时序图

SSH

包图

包图: 由包和包之间的关系组成. 包的图标就如同一个带标签的文件夹.

  • 包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间.
  • 包所拥有的或者引用的所有元素称为包的内容, 包没有实例.

软件工程复习笔记 顺序图(时序图)相关推荐

  1. UML顺序图/序列图/时序图

    UML顺序图/序列图/时序图 UML时序图 什么是顺序图 基本元素 参与者 对象 生命线 激活框 消息 绘制工具 visio 亿图 UML时序图 什么是顺序图 为了实现系统功能,若干个对象之间需要交互 ...

  2. UML之顺序图(时序图)

    UML学习之顺序图(时序图绘制) 1. 什么是时序图 时序图(Sequence Diagram),又名顺序图.序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的 ...

  3. UML 建模步骤 用例图 类图 对象图 包图 顺序图/时序图 状态图 活动图 协作图

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

  4. 软件工程复习笔记 UML

    UML 概述 前言 软件设计.软件工程 模型 建模 建模的原则 软件建模的实现过程 为什么需要UML UML UML的特点 UML应用领域 UML包括 UML图 UML 中的关系 前言 copy自老师 ...

  5. UML 类图-时序图-用例图

    文章目录 1. UML类图 1.1 泛化(Generalization) 1.2 实现(Realization) 1.3 关联(Association) 1.4 聚合(Aggregation) 1.5 ...

  6. 机械动作时序图怎么画_快速学习时序图:时序图简介、画法及实例

    原标题:快速学习时序图:时序图简介.画法及实例 时序图作为常用的UML交互图,可以直观的传达系统内外之间的交互过程,经常用在详细设计文档中.下面本文综合参考了多篇时序图的教程,根据作者的思路将时序图做 ...

  7. 火车购票系统服务器端uml活动图,火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图.doc...

    火车购票完整系统UML类图时序图状态图协作图活动图对象图用例图 <UML面向对象分析>课程 实践项目报告 项目名称: 网上订购火车票系统 项目组成员: 学 号: 班 级: 指导 教师: 2 ...

  8. 软件工程复习笔记 类图

    类图 前言 1 类图的概念 1.类图 2.类图的作用 3.类图的组成元素 2 UML中的类 (1)类的定义 (2)类的表示 (3)类的命名 (4)类的属性 (5)类的操作 (6)类的职责 (7)类的约 ...

  9. UML 顺序图(时序图) sequence diagram

    1. 什么是顺序图 是强调消息时间顺序的交互图.时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换.时序图是一个模型,用于描述对象间如何随着时间在某些行为方面进行协作.(强调的是消息的时间 ...

最新文章

  1. 车牌识别的分类器文件目录
  2. 南阳汉诺塔 一 java_南阳明清移民记.pdf
  3. 机构押注ABS云平台 融资成本下降1%~3%
  4. qt 表格表头嵌入全选全不选_6个word表格基础操作,看了再说会不会
  5. 禁止复制的网页怎么复制
  6. 网络编程(part9)--socket套接字编程之TCP套接字
  7. node11---相册
  8. 又是一年毕业高峰期,分享下我的2年工作经验
  9. 分数加减法 http://acm.nyist.net/JudgeOnline/problem.php?pid=111
  10. ownCloud问题处理server replied 423 Locked to
  11. Introduce Parameter Object (引入参数对象)
  12. 阿里云盘进场,安全星球何以成为云盘界的一股清流
  13. Ubuntu16.04使用ninja编译安装LLVM
  14. [CS144] Lab 1: stitching substrings into a byte
  15. BJ模拟:医院(支配树)
  16. java判断扑克牌是否为顺子_程序算法设计题,判断扑克牌中的顺子
  17. OFDM 中的 IFFT/FFT 注意事项
  18. AngularJS/Angular官网
  19. 8倍的观察镜系统设计
  20. Hi-C辅助基因组组装技术以及其常用的软件介绍

热门文章

  1. 初三英语关于计算机的作文,关于介绍电脑的英语作文初三80词左右急
  2. python智慧树判断题_智慧树知到_大数据分析的python基础_判断题答案
  3. Kafka节点服役和退役
  4. 数字IC设计or数字验证,选哪个好?
  5. Robot Framework robot命令
  6. 微信小程序哪个能唱歌_微信K歌最实用的小程序有哪些?求推荐几个有意思的!...
  7. 谷歌手动强制同步个更新
  8. 更换ip软件安卓_掘金网告诉你稳定IP的神操作!
  9. cordic sinh matlab,利用FPGA进行基本运算及特殊函数定点运算
  10. 优化案例2:select标量子查询且主查询排序