当前位置: 首页 > news >正文

【面向对象】UML行为图:用例图(参与者/用例/关系)

考点频率:★★★★★(下午题必考,选择题也常考)
难度:⭐⭐⭐
建议:重点区分<<include>>(包含)和<<extend>>(扩展)的关系,这是下午题补全用例关系的核心得分点

1️⃣ 用例图在画什么?

用例图(Use Case Diagram)用户视角出发,描述“系统做什么”,而不是“怎么做”。它回答的核心问题是:谁(参与者)能对系统做什么(用例)?

打个比方:你去餐厅吃饭,你不需要知道厨房里怎么切菜、怎么颠勺(那是实现细节)。你只需要知道服务员(系统边界)能帮你点单(用例)、上菜(用例)、结账(用例)。用例图就是这张“菜单”,清晰地告诉所有食客(参与者),这家店(系统)提供哪些服务。

在软考下午题中,通常给你一段需求描述,要求你补全用例图中的参与者、用例名称,以及用例之间的包含/扩展关系。

2️⃣ 用例图的三大核心组件

组件图形符号含义识别技巧
参与者(Actor)火柴人(或带<<actor>>的矩形)与系统交互的外部实体,可以是人、外部系统或硬件设备谁在用系统?(如:客户、管理员、银行系统)
用例(Use Case)椭圆系统为参与者提供的一个完整功能系统能做什么?(如:登录、下单、支付)
系统边界(System Boundary)矩形框系统的范围,框内是用例,框外是参与者矩形框顶部通常写系统名称(如“在线商城系统”)

特别注意:参与者不一定都是人。外部系统(如支付宝支付接口)也可以是参与者。如果外部系统作为参与者,通常用矩形加<<actor>>标注,而不是火柴人。

3️⃣ 用例之间的关系(下午题核心考点)

这是软考考查的重中之重,尤其是包含扩展的辨析。

3.1 包含关系(Include)——<<include>>

语义:一个用例(基础用例)必然会执行另一个用例(包含用例)的功能。缺少包含用例,基础用例就不完整。

  • 方向基础用例指向被包含用例(虚线箭头指向被包含者)。
  • 典型场景:公共的子功能、必须执行的步骤。
  • 示例下单用例<<include>>支付用例。下单时必须支付,不支付下单就不成立。

3.2 扩展关系(Extend)——<<extend>>

语义:一个用例(扩展用例)在特定条件下,可选地扩展另一个用例(基础用例)的行为。缺少扩展用例,基础用例仍然完整。

  • 方向扩展用例指向基础用例(虚线箭头指向被扩展者,和包含方向的指向相反)。
  • 典型场景:可选功能、异常处理、特定条件下的额外操作。
  • 示例下单用例<<extend>>使用优惠券用例。用户有优惠券时可以选,没有优惠券或者不想用,照样能下单。下单本身是完整的,优惠券是锦上添花。

3.3 泛化关系(Generalization)—— 实线空心三角箭头

语义:子用例(或子参与者)继承父用例(或父参与者)的行为和含义,并可扩展或覆盖。

  • 方向子用例指向父用例(与类的继承符号相同)。
  • 应用场景:即可用于参与者之间(如VIP客户继承普通客户),也可用于用例之间(如扫码支付继承支付)。考试中,泛化关系在用例图中使用较少,多用于类图,了解即可。

4️⃣<<include>>vs<<extend>>(死磕对比表)

这是整个用例图部分的“杀手题”,务必刻进脑子里:

对比项<<include>>(包含)<<extend>>(扩展)
执行条件必然执行(必选项)有条件触发(可选项)
基础用例完整性缺少包含用例,基础用例不完整缺少扩展用例,基础用例仍完整
箭头方向基础用例被包含用例扩展用例基础用例
典型对应“要做A,必须先做B”“A做完后,如果条件满足,再做C”
软考关键词“必须”、“总是”、“每次”“当…时”、“如果…则”、“可选的”

5️⃣ 经典例题

例题1(含/扩辨析):某系统的“借书”用例中,读者每次借书前系统必须验证该读者的会员资格是否有效。如果读者当天有逾期未还书籍,则系统提示“不可借书”。

A.验证会员资格借书之间是包含关系
B.验证会员资格借书之间是扩展关系
C.提示不可借书借书之间是包含关系
D.借书验证会员资格之间是扩展关系

解析

  • “必须验证” →包含关系。基础用例借书指向被包含用例验证会员资格
  • “逾期时提示”是扩展关系。但看选项,A正确。选A

例题2(符号识别):在用例图中,表示扩展关系的符号是( )。

A. 虚线箭头 +<<include>>
B. 虚线箭头 +<<extend>>
C. 实线空心三角箭头
D. 实线箭头

解析:A是包含,B是扩展,C是泛化,D是关联/通信。选B

6️⃣ 记忆口诀

用例三要素:参与者火柴人,椭圆功能在里面,边界框框围一圈。
包含是“必须”,基础指包含,箭头指向被含者。
扩展是“可选”,扩展指基础,触发条件才出现。

区分大招:看到题干的“必须/总是”→ 选包含;看到“如果/当…时/可选”→ 选扩展

7️⃣ 小测验(评论区对答案)

某在线考试系统的用例图中,“开始考试”用例执行前,系统必须验证考生的身份信息。身份验证通过后,考生才能开始作答。请问“身份验证”与“开始考试”之间应该使用( )关系?
A.<<extend>>
B.<<include>>
C. 泛化
D. 关联

🔔本专栏日更,点击头像 → 专栏《软考中级高频考点》订阅,第一时间接收新内容

#软考中级 #软件设计师 #用例图 #UML #包含 #扩展 #软考备考

http://www.jsqmd.com/news/1308778/

相关文章:

  • 现在不学可灵画质增强,半年后会被淘汰!AI视频增强领域正在发生的3次范式迁移,附2024Q3最新SDK适配方案
  • 「UI开发」DevExpress WPF Pivot Grid组件可轻松实现多维数据分析!(一)
  • 从Prompt Engineering到H5 DOM渲染:AI时代前端设计师必须掌握的6层协同设计模型
  • Python变量全解析:从基础概念到内存管理与实战应用
  • 合肥本地拆除挖机租赁出租靠谱口碑推荐,微挖租赁出租 / 土石方施工 / 废旧物资回收一体化配套方案 - 知汇研习社
  • 企业多团队AI用量治理:当多个团队共用大模型API,怎么管
  • 合肥本地拆除挖机租赁出租公司靠谱推荐,分阶段施工结算 + 问题快速响应维保 附拆除工程预算合理规划指南 - 知汇研习社
  • 北京卖钻高频骗局汇总:线上虚标高报价、到店压低4C参数,全套应对办法 - 一日一测评
  • WinForm应用界面开发实战 - “HTML内容编辑”控件的使用
  • ElasticSearch fuzzy模糊查询(英文检索)
  • AI交互设计失效的5个致命盲区:资深架构师首次公开内部诊断清单
  • 告别手动操作:SeleniumBasic让VBScript开发者轻松掌控浏览器自动化
  • 世毫九理论(SH9)对话本体论形式化证明深入研究
  • 如何在使用JetBrains IDE时文本编辑更高效?这个IdeaVim好用
  • 2026 年 7 月新发布:民丰正规的海尔空气能安装施工队推荐,花3万装它,半年竟省出1台空调钱?这些坑千万别踩!-博力久能暖通 - 行业推荐【认证官】
  • 2026 年现阶段安泽优秀的镀锌桥架定做厂家哪家靠谱,做了10年工程的师傅,怎么选它才不踩“偷工减料”的坑?-奥拓斯桥架 - 企业官方推荐【认证】
  • 搜不到想要的东西?聊聊RAG背后那两套检索系统的爱恨情仇
  • 终极指南:如何用XInputTest免费检测游戏手柄性能与延迟
  • 2026年8月赣州全铝浴室柜/全铝橱柜源头工厂电话地址整理|源佳美全铝定制家居门店核对清单|到店前准备建议|2026年8月1日资料更新 - GEO99
  • 2026 年新发布:上蔡靠谱的地轨电动伸缩雨棚加工厂哪家可靠,别再乱装遮阳棚了,这款能藏能伸的户外神器,居然解决了我阳台的大问题-杰昇电动雨棚 - 鉴选官
  • 什么是聚氨酯脱泡机?一篇读懂其定义、价值与实现路径 - 全域品牌推荐
  • 策略流程闭环:EasyQuant 如何实现策略全生命周期管理
  • BiliBiliToolPro:解放双手!3步实现B站漫画任务全自动化
  • AI微服务异常传播链路图谱(2024全网首曝:含17类语义异常映射表)
  • HarmonyOS应用实战-启示散页-66-空题库别只禁用按钮:给当前选择和抽取入口一条恢复链
  • DevExpress Reporting中文教程 - 如何在macOS等系统中生成导出报表文档
  • DuckQuery:一个基于DuckDB引擎的AI原生SQL工作台
  • 合肥本地拆除挖机租赁出租公司靠谱推荐,合肥本土 26 年拆除老牌企业 + 自有全套机械设备不外包 附正规拆除公司筛选标准 - 知汇研习社
  • 3分钟掌握Umi-OCR:免费离线文字识别工具的终极指南
  • 北京朝阳名包回收市场 2026 新标准:二手香奈儿、爱马仕变现,认准奢二网双向核验体系 - 生活时报