news 2026/4/30 18:52:20

交互概览图是UML中交互图的一种变体,它将多个交互片段进行连接,抽象掉了具体的消息和生命线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
交互概览图是UML中交互图的一种变体,它将多个交互片段进行连接,抽象掉了具体的消息和生命线

交互概览图是UML中交互图的一种变体,它将多个交互片段进行连接,抽象掉了具体的消息和生命线,仅展示交互的整体流程和控制关系。本次案例中“显示一篇已分配的稿件”场景的交互概览图包含两个核心步骤:

第一步:Retrieve list of assigned papers(获取已分配的稿件列表)

第二步:Display selected paper(显示选中的稿件)

该图清晰展示了业务的高层执行顺序,适用于需求分析阶段梳理整体交互流程,帮助开发人员快速理解业务逻辑的宏观框架。

2.2 序列图(顺序图)核心概念

序列图是UML动态建模的核心图之一,以图形化的方式描述了在一个用例或操作的执行过程中,对象如何通过消息相互交互,重点说明消息在对象之间被发送和接收的顺序。其核心作用包括:

可视化展示对象间交互的时间顺序,明确消息传递的先后关系

帮助开发人员识别参与交互的对象、对象职责以及调用关系

作为系统详细设计阶段的重要产出,指导后续代码开发与测试用例设计

在实际开发过程中,通常首先绘制系统序列图,即描述角色和系统在用例场景下交互的高层图形,有助于确定进入和退出系统的边界信息,再逐步细化为具体对象级别的序列图。

2.3 审稿人获取稿件场景建模示例

本次案例以“审稿人获取分配给自己的稿件”业务场景为例,梳理了完整的执行序列:

审稿人浏览会议主页(ConferenceHomepage)

通过导航栏(NavigationBar)浏览已分配给自己的稿件列表(ListOfAssignedPapers)

循环选择(select)目标稿件(Paper)

系统创建(create)已分配稿件实例并显示给审稿人

该场景涉及的对象和操作如下表所示:

三、配套试题及答案解析

3.1 单项选择题

  1. 下列UML图中,用于描述对象之间消息传递的时间顺序的是( )
    A. 类图
    B. 用例图
    C. 序列图
    D. 部署图

答案:C
解析:类图描述系统静态结构;用例图描述系统功能需求;序列图重点展示对象交互的时间顺序;部署图描述系统硬件部署结构。

  1. 序列图中,垂直方向代表的含义是( )
    A. 对象的层次关系
    B. 时间轴,从上到下表示时间流逝
    C. 消息的传递方向
    D. 类的继承关系

答案:B
解析:序列图的纵向为时间轴,时间沿竖线向下延伸,每个对象对应一条垂直的生命线,横向代表不同的对象/参与者。

  1. 在审稿场景中,“ListOfAssignedPapers”对象的核心职责是( )
    A. 存储单个稿件的详细信息
    B. 维护已分配给审稿人的稿件集合
    C. 处理页面导航逻辑
    D. 渲染会议主页面

答案:B
解析:根据对象定义,ListOfAssignedPapers即“分配的稿件列表”,用于存储和管理多个已分配稿件的集合,是业务逻辑层的核心数据容器。

  1. 序列图中,表示对象存在周期的元素是( )
    A. 消息箭头
    B. 生命线
    C. 激活条
    D. 组合片段

答案:B
解析:生命线是序列图中对象下方的垂直虚线,代表对象在交互过程中的存在时间;激活条表示对象正在执行某个操作;消息箭头表示对象间的通信。

  1. 下列关于交互概览图的说法,错误的是( )
    A. 可以展示多个交互片段的整体流程
    B. 需要详细标注每个消息的参数和返回值
    C. 适合梳理业务的高层执行顺序
    D. 是交互图的一种变体

答案:B
解析:交互概览图会抽象掉具体的消息和生命线,仅展示宏观流程,不需要标注消息的具体细节,因此B选项错误。

3.2 多项选择题

  1. 序列图的核心组成元素包括( )
    A. 对象/参与者
    B. 生命线
    C. 消息
    D. 激活(控制焦点)

答案:ABCD
解析:序列图由对象(顶部矩形框)、生命线(垂直虚线)、消息(带箭头的线)和激活条(生命线中的矩形)四个核心元素构成。

  1. 在审稿人获取稿件的场景中,属于交互操作的有( )
    A. navigate(导航)
    B. browse(浏览)
    C. select(选择)
    D. create(创建)

答案:ABCD
解析:根据案例中的操作定义,四个选项均为该场景下对象间的交互操作,覆盖了从页面导航到稿件创建的全流程。

  1. 下列属于UML动态建模图的有( )
    A. 序列图
    B. 活动图
    C. 状态图
    D. 组件图

答案:ABC
解析:组件图属于静态结构图,用于描述系统组件的依赖关系;序列图、活动图、状态图均属于动态行为图,描述系统的运行时行为。

  1. 序列图可以表达的消息类型包括( )
    A. 同步消息
    B. 异步消息
    C. 返回消息
    D. 自我调用消息

答案:ABCD
解析:序列图支持多种消息类型:同步消息(实心箭头)、异步消息(半箭头)、返回消息(虚线箭头)、自我调用(指向自身生命线的箭头)。

  1. 关于序列图的应用场景,下列说法正确的有( )
    A. 可用于梳理用例的具体执行流程
    B. 可帮助识别对象的职责和接口
    C. 可作为系统测试用例设计的参考
    D. 可用于描述系统的硬件部署架构

答案:ABC
解析:描述硬件部署架构是部署图的作用,其余选项均为序列图的典型应用场景。

3.3 判断题

  1. 序列图中的消息顺序是按照从右到左的顺序排列的。( )

答案:错误
解析:序列图的消息顺序按照纵向时间轴从上到下排列,横向为不同对象,消息箭头从发送者指向接收者。

  1. 交互概览图比序列图更适合展示复杂交互的宏观流程。( )

答案:正确
解析:交互概览图抽象了具体消息细节,仅展示交互片段的执行顺序,更适合宏观流程梳理。

  1. 序列图中一个对象只能向其他对象发送消息,不能向自身发送消息。( )

答案:错误
解析:序列图支持自我调用消息,即对象可以调用自身的方法,表现为箭头指向自身的生命线。

  1. 在审稿场景中,“Reviewer”是与系统交互的外部参与者。( )

答案:正确
解析:Reviewer即审稿人,是使用系统的外部用户,属于序列图中的参与者角色。

  1. 序列图只能描述线性的交互流程,无法表达循环和分支逻辑。( )

答案:错误
解析:UML2.0中序列图通过组合片段(Combined Fragment)可以表达循环(loop)、条件分支(alt/opt)等复杂逻辑。

3.4 简答题

  1. 请简述序列图和协作图(通信图)的异同点。

答:
相同点:二者都属于UML交互图,都用于描述对象之间的交互关系,表达的语义是等价的,可以相互转换。
不同点:
(1)侧重点不同:序列图重点强调交互的时间顺序,通过纵向时间轴清晰展示消息的先后顺序;协作图重点强调参与交互的对象之间的组织结构和连接关系。
(2)布局不同:序列图按照时间顺序纵向布局,每个对象对应一条垂直生命线;协作图按照对象的关联关系空间布局,通过消息编号表示时间顺序。
(3)适用场景不同:序列图适合分析交互的时间顺序和调用流程;协作图适合梳理对象之间的协作关系和网络拓扑结构。

  1. 请结合本次审稿场景,说明绘制序列图的基本步骤。

答:绘制该场景序列图的步骤如下:
(1)识别交互参与者和对象:确定该场景的参与者为Reviewer(审稿人),涉及的对象包括ConferenceHomepage、NavigationBar、ListOfAssignedPapers、AssignedPapers、Paper。
(2)绘制生命线:在序列图顶部依次排列参与者和对象,向下绘制对应的垂直生命线。
(3)梳理消息顺序:按照业务流程依次添加消息:
① 审稿人向ConferenceHomepage发送navigate消息,访问会议主页;
② ConferenceHomepage返回show消息,显示主页内容;
③ 审稿人向NavigationBar发送browse消息,浏览已分配稿件;
④ NavigationBar请求ListOfAssignedPapers返回稿件列表;
⑤ 审稿人发送select消息选择目标稿件;
⑥ 系统调用create操作创建Paper实例并显示给审稿人。
(4)添加激活条:在每个对象执行操作的生命线段上添加激活条,表示对象正在处理请求。
(5)添加组合片段:对于循环选择稿件的逻辑,添加loop组合片段包裹select相关的消息。

3.5 案例分析题

某审稿系统新增“稿件驳回”功能,业务流程如下:

  1. 审稿人在稿件详情页点击“驳回”按钮;
  2. 系统显示驳回原因输入框;
  3. 审稿人输入驳回原因并提交;
  4. 系统验证驳回原因是否符合格式要求;
  5. 验证通过后,更新稿件状态为“已驳回”,并向作者发送驳回通知邮件;
  6. 系统返回操作成功提示给审稿人。
    请回答以下问题:
    (1)该流程需要新增哪些对象和操作?
    (2)画出该流程的高层交互概览图。
    (3)说明该流程中存在的条件分支逻辑应如何在序列图中表示。

答:
(1)新增的对象和操作:
新增对象:EmailService(邮件服务)、PaperStatus(稿件状态管理)
新增操作:reject(驳回)、inputReason(输入原因)、validate(验证)、updateStatus(更新状态)、sendEmail(发送邮件)、showSuccess(显示成功提示)

(2)高层交互概览图流程:
开始 → 执行“提交驳回请求”交互 → 执行“验证驳回原因”交互 → 条件判断:验证是否通过?
→ 验证通过:执行“更新稿件状态”交互 → 执行“发送驳回通知”交互 → 执行“返回成功提示”交互 → 结束
→ 验证不通过:执行“返回格式错误提示”交互 → 结束

(3)条件分支逻辑表示:
在序列图中使用alt(alternative)组合片段表示条件分支:
① 组合片段的守卫条件分别为[验证通过]和[验证不通过];
② [验证通过]分支内包含更新稿件状态、发送邮件、返回成功提示的消息序列;
③ [验证不通过]分支内包含返回错误提示的消息序列;
两个分支仅有一个会被执行,符合条件判断的逻辑语义。

四、考点总结

UML序列图是软件设计师考试的核心考点,在上午综合知识题和下午案例分析题中均有涉及,分值占比约3-5分,案例题中常作为独立大题出现(15分)。重点考查内容包括:

序列图的基本概念、组成元素和应用场景

消息类型、生命线、激活等元素的含义和表示方法

序列图与其他UML图的区别和联系

结合业务场景补全序列图的消息顺序和对象

组合片段(循环、分支、并行)的使用方法

备考时建议结合实际业务场景练习绘制序列图,重点理解消息的传递方向和顺序逻辑,掌握根据文字描述梳理交互流程的能力。

参考文献:

[1] 《软件设计师教程(第5版)》,清华大学出版社,2018

[2] 历年软件设计师考试UML相关真题及解析

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 18:51:27

HSTracker:macOS炉石传说玩家的智能对战助手与套牌管理神器

HSTracker:macOS炉石传说玩家的智能对战助手与套牌管理神器 【免费下载链接】HSTracker A deck tracker and deck manager for Hearthstone on macOS 项目地址: https://gitcode.com/gh_mirrors/hs/HSTracker 对于在macOS上享受《炉石传说》的玩家来说&#…

作者头像 李华
网站建设 2026/4/30 18:51:26

ARM GIC中断控制器PPI寄存器详解与优化

1. ARM GIC中断控制器PPI寄存器深度解析在ARM多核处理器架构中,通用中断控制器(GIC)是管理中断分发的核心组件。物理私有外设中断(PPI)作为GIC的重要特性,为每个处理器核提供专属的中断通道。理解PPI寄存器的工作原理,对开发高效可靠的中断处…

作者头像 李华
网站建设 2026/4/30 18:51:26

3分钟掌握:Windows电脑直接运行安卓应用的终极解决方案

3分钟掌握:Windows电脑直接运行安卓应用的终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为电脑上无法直接安装安卓应用而烦恼吗&#xf…

作者头像 李华
网站建设 2026/4/30 18:49:31

R包msigdbr安装总失败?别慌,试试这个本地安装的保姆级教程

R包msigdbr安装失败终极解决方案:从报错诊断到本地安装全流程指南 遇到R包安装失败时,那种反复尝试却无果的挫败感,相信每个R语言使用者都深有体会。特别是像msigdbr这样的生物信息学常用包,当网络连接不稳定或CRAN镜像服务器响应…

作者头像 李华
网站建设 2026/4/30 18:43:22

基于Go+Qt5的喜马拉雅音频资源本地化技术方案

基于GoQt5的喜马拉雅音频资源本地化技术方案 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 xmly-downloader-qt5是一款采用Go语言…

作者头像 李华