在前面的文章中,我们建立了类图模型,类图模型描述了系统的类及类之间的关系。类图模型也称为系统的静态结构,因此从类图模型中我们还看不到业务的处理过程以及类与类交互的信息,在UML建模语言中,这些信息是通过顺序图来描述的。

顺序图用于描述在业务处理过程中类之间的交互顺序,这些交互顺序是在场景或用例的信息流中发生的。由于描述的是动态行为,顺序图中类被称为对象,也就是实例化后的类。

在顺序图中共有四个基本符号:(1)参与者符号,由一个方框加一个小人图形表示,小人图形在方框之上,方框内写入参与者的名称;(2)对象符号,由一个方框表示,方框内写入对象的名称;(3)生命线符号,由虚线或狭窄的竖直方框表示;(4)消息符号,有带消息描述的方向箭头表示。下图是一个典型的顺序图,表明了顺序图要使用的通用格式和符号。

图 1 顺序图的符号

在上面的顺序图中,参与者是一个外部、物理的人,它扮演用户的角色,代表物理的人。对象是系统中被实例化的类,例如人脉系统的用户类在系统运行过程中,会创建多个对象,每个对象就是类的一个实例,一个实例对应一个外部参与者。

竖直的虚线称为生命线,每一个参与者和对象都有生命线,它用于描述场景内的参与者和对象的生命周期,时间是从上到下,生命线显示了消息的顺序,消息沿生命线从上到下依次发生。

对象生命线上的长条矩形框表示对象处于激活状态,当一条消息传递给对象的时候,对象响应该消息并触发对象的某个行为,这时该对象就处于激活状态。当对象没有被激活时,对象处于休眠状态,等待接收消息被激活。

在顺序图中,对象之间的交互是通过发送和接收消息来实现的。一个对象向另一个对象发送消息并希望得到回应时,会有两种情况,一种情况是暂停活动并等待消息的回应,直至收到消息回应后再开启活动,这是同步消息;另外一种情况是不管是否收到消息的回应,活动照样执行,即不需要暂停活动来等待消息的回应,这是异步消息。

在顺序图中,还有一种消息就是自关联消息,自关联消息就是对象向自己发送消息。例如,对象在活动中调用内部的方法或函数。

下图是各种消息的表示方法。

图 2 顺序图中消息的表示方法

在绘制顺序图模型时,可能需要绘制一些流程控制,例如循环和条件流程控制,消息机制无法绘制这些流程控制。顺序图另外提供了“片段”机制用于描述比较复杂的动作序列,支持的片段有循环片段、可选片段、备用片段和其他片段。

图 3 用户登录顺序图

上图是用户登录顺序图。用户在登录系统的过程中,可能会输错账号或密码,系统允许用户重新输入账号或密码再次登录。因此用户的登录过程是一个循环流程,在顺序图用循环片段来表示。

前面我们讨论了什么是顺序图以及顺序图的表示方法,了解了顺序图是描述系统业务执行过程中对象之间的交互顺序。后面的文章我们将利用这些知识,为人脉项目V1.0系统建立顺序图模型。

需求分析——掌握和使用UML建模语言顺序图模型相关推荐

  1. 需求分析——掌握UML建模语言的用例图

    在前面的课程中,我们主要讨论了人脉V1.0系统的角色及角色间的关系,也讨论了角色的属性和行为.在这节课中,我们将使用UML建模语言的用例图对人脉V1.0系统的角色及角色行为建立系统功能模型. 在建模之 ...

  2. UML测试题(顺序图建模)

    顺序图建模  相关文章: UML测试题(UML基础)_星星以外的博客-CSDN博客 UML测试题(用例图基础a)_星星以外的博客-CSDN博客 UML测试题(用例图基础b)_星星以外的博客-CSDN博 ...

  3. UML建模之时序图(Sequence Diagram)转

    UML建模之时序图(Sequence Diagram) 一.时序图简介(Brief introduction) 二.时序图元素(Sequence Diagram Elements) 角色(Actor) ...

  4. UML建模(三种模型)

    文章目录 一.UML建模(三种模型) 1.类模型 2.状态模型 3.交互模型 二.uml建模的步骤 一.UML建模(三种模型) 1.类模型 描述系统内部对象及其关系的静态结构.类模型由类图构建,类图中 ...

  5. 【设计模式】UML建模之包图、组件图和部署图学习笔记

    UML建模中包图.组件图和部署图学习笔记 对于较大的项目进行UML建模,由于有很多的类和用例,仅仅利用类图和用例图的话,常常会使结构变得更为复杂.此时如果可以以功能模块划将类图和用例图进行封装,可以很 ...

  6. UML学习笔记——顺序图(时序图)

    文章目录 顺序图(时序图) 顺序图的引入 顺序图的概念 顺序图的组成 ①对象( Object) ②生命线( Lifeline ) ③激活(Activation) (控制焦点focus of contr ...

  7. UML建模工具——活动图

    [面向对象分析UML建模工具全部文章] UML建模工具(1)--用例图 UML建模工具(2)--活动图 UML建模工具(3)--类图 UML建模工具(4)--顺序图 UML建模工具(5)--通信图 U ...

  8. 【UML】UML交互图(顺序图和通信图)

    UML交互图(顺序图和通信图) 1.交互图简介 2.前置--CRC cards(Class-Responsibility-Collaborator) 3.对比和优缺点 4.交互图详解 4.1 顺序图通 ...

  9. UML建模语言中的顺序图

    实验目的 通过上机实验,掌握顺序图的语法和规则,深入理解顺序图的概念 实验环境 Window下安装StarUML 实验内容 介绍顺序图的基本语法与规则(可以用图形表述): 顺序图描述了对象之间传递消息 ...

最新文章

  1. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
  2. Smartforms 设置纸张打印格式
  3. node nest 框架学习(一)
  4. AngularJS 无限滚动加载数据控件 ngInfiniteScroll
  5. php memcache 封装类,php 封装memcache类
  6. 锁相环环路滤波器计算公式_锁相环PLL的电路原理以及基本构成
  7. mysql常见字符串处理函数
  8. Sublime Text各种插件使用方法
  9. mysql load data 一行_MySQL LOAD DATA LOCAL INFILE仅导入一行
  10. Matlab入门变量篇
  11. ElasticJob‐Lite:扩展作业类型
  12. [c#]删除PDF权限密码
  13. C++ 排列组合问题
  14. IE 11下载文件中文乱码解决(go/php)
  15. html如何设置hr 标签的线条粗细,设置hr标签的粗细
  16. 计算机课件制作ppt,计算机应用基础_幻灯片制作ppt课件
  17. High-Frequency Strategies 高频交易策略介绍(译文)
  18. h5 农场游戏开源_下一个开源领域是农场
  19. 游戏编程十年总结(上)
  20. 大数据治理平台建设与应用解决方案

热门文章

  1. 设计模式(十一):从文Finder中认识组合模式(Composite Pattern)
  2. [修复] Firemonkey 使用 DrawPath 断线问题(Android iOS 平台)
  3. C#调用mciSendString播放音频文件
  4. 编译php,ldap问题
  5. 突然无法连接数据库了(解决了)
  6. linux下文件删除不了
  7. Oracle 怎么删除重复数据
  8. python 取日期_python取出所有的日期
  9. python卷子_Python试卷
  10. python实现推荐系统代码_推荐系统之矩阵分解及其Python代码实现