系统分析师 · 高频练习

支付成功与失败二选一,在 UML 时序图中应使用哪种组合片段?

高级 单选题 第 950 题 中等 系统分析师UML时序图组合片段altopt和loop
题目

分析人员绘制支付时序图:当网关返回成功时生成订单并扣减库存;返回失败时记录原因并提示用户。两个分支互斥且只会执行其中一个,最合适的组合片段是()。

A loop
B opt
C alt
D par
题目类型:原创高频练习题 用途:用于帮助理解系统分析师相关考点和答案解析,不等同于官方真题。
正确答案
C
答案解析

alt 表示带守卫条件的多个互斥分支,语义接近 if/else;本题成功和失败二选一,正适合使用 alt。

选项分析

A

错误。loop 用于按次数或条件重复一组消息,本题不是重复处理。

B

错误。opt 表示单个可选片段,适合只有“满足条件才执行”的一条支路。

C

正确。alt 用不同守卫条件划分互斥分支,能表达成功与失败二选一。

D

错误。par 表示多个操作可以并发交错执行,与互斥选择含义相反。

本题为什么容易错

最容易混的是 alt 和 opt。看到“有条件”不能立刻选 opt,还要看题目给了一条可选路径,还是给了多条互斥路径。

先看结论

简短答案

支付成功与失败二选一,在 UML 时序图中应使用哪种组合片段,正确答案是 C(alt)。alt 表示带守卫条件的多个互斥分支,语义接近 if/else;本题成功和失败二选一,正适合使用 alt。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
loop 本题干扰项 错误。loop 用于按次数或条件重复一组消息,本题不是重复处理。 看到该词不要急着选,先判断是否真正解决题干问题
opt 本题干扰项 错误。opt 表示单个可选片段,适合只有“满足条件才执行”的一条支路。 看到该词不要急着选,先判断是否真正解决题干问题
alt 本题正确答案 正确。alt 用不同守卫条件划分互斥分支,能表达成功与失败二选一。 看到题干核心场景时优先联想到它
par 本题干扰项 错误。par 表示多个操作可以并发交错执行,与互斥选择含义相反。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • loop:错误。loop 用于按次数或条件重复一组消息,本题不是重复处理。
  • opt:错误。opt 表示单个可选片段,适合只有“满足条件才执行”的一条支路。
  • par:错误。par 表示多个操作可以并发交错执行,与互斥选择含义相反。
复习

知识点详解

UML 时序图中的组合片段用于表达比顺序消息更复杂的控制逻辑。alt 含两个或多个操作数,每个操作数带守卫条件,通常互斥选择;opt 可视为只有一个有效分支的条件执行;loop 表达重复执行,常注明最小次数、最大次数或循环条件;par 表示不同区域中的消息可以并发交错。建模时应让片段边界覆盖完整行为,守卫条件也要可判断,避免只写模糊的“正常情况”。

备考速记

alt多选一,opt可做可不做,loop重复做,par一起做。

UML时序图 在opt和loop场景中的作用

UML时序图在本题中的核心价值,是解决“分析人员绘制支付时序图:当网关返回成功时生成订单并扣减库存;返回失败时记录原因并提示用户。两个分支互斥且只会执行其中一个,最合适的组合片段是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 根据业务条件选择组合片段类型。
  • 阅读时序图,判断守卫条件、循环范围或并发语义。
UML时序图 在系统分析师软考中的考法

软考选择题通常不会只考概念定义,还会把UML时序图放到opt和loop场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

不要先背英文,先把业务句子翻成控制结构。成功和失败是两个候选路径,而且一笔支付只落入其中一个,这就是 if/else,所以选 alt。若题目只有“支付失败时发送提醒”,没有另一条显式分支,才更像 opt;若写“对购物车中的每件商品检查库存”,才轮到 loop。

考点定位

alt 看“多路互斥”,opt 看“满足条件才做一次”,loop 看“条件成立时重复”,par 才是并发执行。

易错提醒

  • 只在分支标题写成功或失败,却没有写清守卫条件。
  • 把需要严格先后顺序的消息放进par片段。
  • 把循环边界画在单条消息上,未覆盖一次迭代需要执行的完整消息组。

备考提示

  • 把alt、opt、loop、par各写成一条伪代码,再与图形互译。
  • 练图时先标守卫条件,再检查不同分支能否同时成立。

你可能还想了解

  • alt 和 opt 在时序图中有什么区别?
  • 循环消息应该怎样画在loop片段里?
  • par组合片段是否表示固定执行顺序?

本文小结

支付成功与失败是两个互斥分支,应使用UML时序图的alt组合片段。opt表示单个可选行为,loop表示重复,par表示并发。