每日一点tips
最近看微信支付的时候,顺便网上找了以下一篇文章介绍UML时序图的介绍,觉得还行。
原文地址: https://kb.cnblogs.com/page/129493/
序列图主要用于展示对象之间交互的顺序。
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
序列图中涉及的元素:
1. 生命线:
生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。
2. 同步消息
发送人在它继续之前,将等待同步消息响应。
3. 异步消息
在发送方继续之前,无需等待响应的消息。
4. 注释
5. 约束
约束的符号很简单;格式是: [Boolean Test]
6. 组合片段
组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。
常用的组合片段有:
抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。
抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。
选项(Opt)
包含一个可能发生或不发生的序列
循环(Loop)
片段重复一定次数。 可以在临界中指示片段重复的条件。
并行(Par)
下表列出了常用的组合片段:
片段类型 |
名称 |
说明 |
Opt |
选项 |
包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。 |
Alt |
抉择 |
包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。 |
Loop |
循环 |
片段重复一定次数。 可以在临界中指示片段重复的条件。 Loop 组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。 |
Break |
中断 |
如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。 |
Par |
并行 |
并行处理。 片段中的事件可以交错。 |
Critical |
关键 |
用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。 |
Seq |
弱顺序 |
有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。 |
Strict |
强顺序 |
有两个或更多操作数片段。 这些片段必须按给定顺序发生。 |
有关如何解释序列的片段
默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。
以下片段类型可用于更改此释义:
片段类型 |
名称 |
说明 |
Consider |
考虑 |
指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。 在“Messages”属性中键入该列表。 |
Ignore |
忽略 |
此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。 在“Messages”属性中键入该列表。 |
Assert |
断言 |
操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。 |
Neg |
否定 |
此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。 |
相关推荐
### UML学习总结—类图、序列图 #### UML简介 UML(Unified Modeling Language,统一建模语言)是一种标准化的图形表示方法,用于软件密集型系统的可视化、描述、构造以及文档化工作。UML提供了多种图表工具,能够...
### UML网上购物序列图详解 #### 一、实验背景及目的 本次实验旨在通过具体的网上购物场景,深入探讨和实践UML中的序列图和协作图。通过绘制这些图表,可以更好地理解系统的交互过程,以及不同类之间的关系,进而...
总结,用例图、协作图和序列图是UML中用于描绘系统行为的关键工具,它们帮助开发者从不同角度理解系统功能和动态。在构建选课系统这样的应用时,运用这些图可以清晰地展示系统的需求、参与者互动和执行流程,从而为...
### Tomcat请求处理UML序列图解析 #### 一、概述 Apache Tomcat是一个开源的Servlet容器,主要用于执行Java Servlet和展示JSP页面。在Tomcat中,HTTP请求的处理流程是一个复杂的过程,涉及到多个组件之间的交互。...
行为图关注系统的行为和动态过程,包括状态机图(State Machine Diagram)、活动图(Activity Diagram)和序列图(Sequence Diagram)。 - **状态机图**:描述了一个对象在其生命周期中的状态变化,以及事件如何...
6. **序列图/时序图(SequenceDiagrams)**:这是交互图的一种,重点在于消息传递的时间顺序。序列图展示了对象间的消息交换,包括: - **生命线(Lifeline)**:表示对象在时间轴上的存在。 - **同步消息**:发送...
总结来说,学生管理系统UML图是该系统设计的关键文档,它通过多种UML图解方式,从不同角度揭示了系统的功能、流程和结构。Reational Software的使用,使得这一过程更加规范和高效。理解和分析这些UML图,对于系统...
总结来说,UML的这些图共同构建了一个全面的建模工具箱,帮助我们理解和设计复杂的软件系统,从高层次的业务流程到低级别的类结构,再到执行时的动态行为。选择正确的图类型对于有效地传达系统设计至关重要。
包括了包图,状态图,活动图,时序图,协作图。 分管理员,老师,学生三个角色。 老师可以录入成绩,查看课程,查看评教结果。 学生可以选课,评教,查看课表。 管理员拥有老师和学生的功能,另外还可以注册学生,对...
UML包括类图、对象图、序列图、协作图、状态图、活动图等多种图形,它们分别对应着系统的不同层面。在图书馆借阅管理系统中,类图用于描述图书、用户、借阅记录等核心实体的属性和操作;对象图则展示了这些实体实例...
UML 概念和模型之 UML 九种图总结 UML(Unified Modeling Language)是一种软件设计语言,不仅仅是对软件设计的描述,而是整个软件开发过程中的一个重要组成部分。UML 通过九种图描述软件设计的各个方面,包括静态...
UML包括多种图表类型,如用例图、类图、序列图、状态图、活动图等,涵盖了软件开发过程中的不同层面。 **UML PAD的特点** 1. **轻量级**:UML PAD的体积小巧,下载安装快速,不占用大量系统资源,适合在各种环境下...
序列图的目的是显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。 协作图(Collaboration Diagrams) 协作图描述对象之间的合作关系,侧重对象之间的消息传递。协作图用于描述对象之间的交互关系...
首先,UML的基础知识涵盖了类图、对象图、序列图、协作图、状态图、活动图等核心概念。类图用于描述类与类之间的关系,如继承、关联、依赖等;对象图则展示特定时刻系统中对象的实例关系;序列图和协作图关注对象间...
**UML(统一建模语言)教程与总结** UML,全称为Unified Modeling Language,是软件工程领域一种广泛使用的建模语言,它为系统分析、设计以及软件开发提供了一种标准化的方法。UML通过图形化的表示方式,帮助开发者...
- 图(Diagram):具体图表形式展示系统的各个方面,如类图、序列图等。 - 构造型(Stereotype):特定类型的元素或关系,可以扩展UML的基本概念。 #### 二、对象建模 - **对象建模目标**:构建问题域的概念模型...
5. 协作图(Collaboration Diagram)或序列图(Sequence Diagram):展示各组件间的消息传递顺序,揭示游戏的执行顺序。 二、斗地主UML图分析 根据提供的“斗地主分析v2.1.uml”,我们可以看到游戏中的核心类和...
### UML图总结 #### 一、UML概述 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域内的标准化图形语言,它主要用于面向对象软件系统的建模。UML提供了一套标准符号集,使得软件工程师...