软件工程复习笔记 顺序图(时序图)

顺序图(时序图)

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

前言

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

顺序图

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

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

顺序图的组成元素

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

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


软件工程复习笔记 顺序图(时序图)_第1张图片

消息的分类

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

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

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

汽车和车钥匙的问题域
软件工程复习笔记 顺序图(时序图)_第2张图片

顺序图提供动态视角

       类图只是对CarOwner、CarKey、Car所构成的系统的静态视角描述。顺序图提供了一种动态的视角。
       它是如何做到的呢?是通过展示从一个实体传递到另一个实体的消息。
       顺序图的开始部分
软件工程复习笔记 顺序图(时序图)_第3张图片
锁车顺序图
       对消息建模后完成顺序图
软件工程复习笔记 顺序图(时序图)_第4张图片

例 饮料销售机问题域

软件工程复习笔记 顺序图(时序图)_第5张图片
1)买饮料的正常场景,下面是买到饮料的一般事件流:

  1. 顾客从机器的前端钱币口投入钱币,然后选择想要的饮料;
  2. 币到达钱币记录仪,记录仪更新自己的存储;
  3. 记录仪通知分配器分发饮料到机器前端;
    软件工程复习笔记 顺序图(时序图)_第6张图片
    2)饮料“已售完”的场景软件工程复习笔记 顺序图(时序图)_第7张图片
    3)机器没有合适的零钱
           顾客买饮料时,机器没有合适的零钱“找不开”的场景.
    软件工程复习笔记 顺序图(时序图)_第8张图片
    4)带有临时对象的顺序图
           该顺序图表示了发送消息2后,创建一个临时对象c, 其生命线的尾部的叉号,表示销毁对象c.
    软件工程复习笔记 顺序图(时序图)_第9张图片

例 带界面的简易计算器

软件工程复习笔记 顺序图(时序图)_第10张图片
时序图
软件工程复习笔记 顺序图(时序图)_第11张图片

应用程序框架结构

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

MVC设计模式

软件工程复习笔记 顺序图(时序图)_第12张图片

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

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

登录时序图
软件工程复习笔记 顺序图(时序图)_第13张图片
软件工程复习笔记 顺序图(时序图)_第14张图片

SSH

软件工程复习笔记 顺序图(时序图)_第15张图片

包图

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

  • 包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间.
  • 包所拥有的或者引用的所有元素称为包的内容, 包没有实例.
    软件工程复习笔记 顺序图(时序图)_第16张图片

你可能感兴趣的:(软件工程)