在前面的文章中,我们建立了类图模型,类图模型描述了系统的类及类之间的关系。类图模型也称为系统的静态结构,因此从类图模型中我们还看不到业务的处理过程以及类与类交互的信息,在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. 正则表达式 字符转义
  2. Surf Gym - 100819S
  3. php限制小程序访问,PHP投票小程序,防超时,防IP限制
  4. 第十八课 色彩样式与滤镜
  5. jQuery修改页面元素的属性
  6. 10 3 java_10.3 UiPath如何调用Java
  7. HDU 1223 还是畅通工程(最小生成树prim模板)
  8. 张朝阳:选校草、跑马拉松、开5G峰会 搜狐最近要干这些事
  9. maven安装与配置等相关知识
  10. linux设备驱动之PCIE驱动开发
  11. 最新 Python 爬虫利器!
  12. PHP sql IN查询改成子查询
  13. nas神经网络架构搜索_神经建筑搜索(NAS)基础
  14. 小程序的发布并发布为Android App流程
  15. VSCode创建vue模板(快捷方便)
  16. MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释
  17. 超窄带通信系统UNB原理以及简单模拟
  18. redis 经纬度_【SpringBoot DB 系列】Redis 高级特性之 GEO
  19. 关于word的样式类型
  20. 阿里七年Java练习生,如今年薪50W,P7的大佬是怎么样的?

热门文章

  1. 4.openstack之mitaka搭建glance镜像服务
  2. insert sort
  3. 找出没有出现的数 题解
  4. Flash与.NET的通信(三):LoadVars对象的应用
  5. 蓝桥杯(java)基础练习 龟兔赛跑
  6. java对字符串归一化_搜索引擎中的字符串归一化 | 学步园
  7. 服务器里怎么更改网站图片大小,php实现在服务器端调整图片大小的方法
  8. jsoup 去除html标签,如何使用jsoup取消注释html标签
  9. 计算机组装虚拟实验,组装计算机的虚拟实验室
  10. python搭建webapi_怎么搭建Web Api