系统分析师-2025年5月试题二

案例

阅读以下关于该系统的叙述,回答问题1至问题 3。

【说明】

设计一个电力风险管理系统的类图。该系统管理以下核心风险信息:

电网风险信息(GridNetRisk):涉及电网运行中的风险评估和监控。

基建风险信息(InfraRisk):涉及电力基础设施(如变电站、输电线路)的风,险管理。

工作风险信息(WorkRisk):涉及现场作业安全和工作流程中的风险控制。

系统还提供/险分析功能(RiskAnalysis),并支持对分析结果的打印管理(PrintManager)和导出Excel管理(ExportManager)。此外,系统包含一个通用警报类(GeneralAlarm)用于处理风,险事件警报。所有风险信息通过一个主类(RiskManager)进行统一管理。

该系统类图如下图所示。

类名选项如下:

a:WorkRisk b:GridNetRisk c:InfraRisk d:RiskAnalysis

e:PrintManager f:ExportManager g:GeneralAlarm h: RiskManager

基于上述系统描述和类图,回答以下问题:

【问题 1】(8 分)

在类图中,从选项a~h中选择合适的类名填写1~6处空白位置。要求说明选择理由。

【问题 2】(11分)

类与类之间存在哪些关系?请按照耦合度从高到低排序。并基于类图描述,找出类图中箭头与类关系对应错误的地方(至少一处),说明错误原因及正确关系。

【问题 3】(6 分)

UML中有哪些主要视图?这些视图分别由哪些 UML图组成?

【答案】

【答案 1】

1:a(WorkRisk) 2:c (InfraRisk) 3:b (GridNetRisk)

4:e(PrintManager) 5:f(ExportManager) 6:d(RiskAnalysis)

【答案 2】

类之间有六种关系,耦合度从高到低排序及定义如下:

  • 实现。耦合度最高:实现类必须完全遵循接口的契约,接口的任何变更都会强制实现类修改。
  • 泛化。高耦合:子类继承父类的实现细节,父类修改可能直接破坏子类功能。
  • 组合。强依赖:部分对象的生命周期完全由整体对象控制(同生共死)。
  • 聚合。中度耦合:部分对象可独立于整体对象存在,但仍有从属关系。
  • 关联。低耦合:类间通过引用交互(如成员变量),但无生命周期依赖。
  • 依赖。耦合度最低:临时性使用(如方法参数、局部变量),无长期引用。

类图中箭头与关系对应错误及原因:

错误位置:

6(RiskAnalysis)到类GeneralAlarm的箭头表示泛化关系(继承)。

错误原因:系统描述中,GeneralAlarm是通用警报类,而 RiskAnalysis是险分析功能,两者无继承关系。RiskAnalysis 应使用GeneralAlarm(依赖或关联),而不是继承它。题干中,GeneralAlarm处理险事件警报,而 RiskAnalysis负责分析逻辑,继承关系不符合职责分离原则(RiskAnalysis不是一种警报)。

正确关系:应改为关联关系。

【答案 3】

UML有五种视图,其与UML图对应关系如下:

  • 逻辑视图:类图、对象图
  • 实现视图:构件图、复合结构图
  • 进程视图:时序图、活动图、状态图
  • 部署视图:部署图
  • 用例视图:用例图

往期推荐

统一建模语言UML(基本概念|UML2.0|SysML)https://shuaici.blog.csdn.net/article/details/140349590系统分析师论文写作要点https://shuaici.blog.csdn.net/article/details/154488580

相关推荐
Carl_奕然几秒前
【智能体】Loop 的四种设计模式之:Hill Climbing Loop(2026 最新版)
人工智能·python·设计模式
晚安code19 小时前
设计模式入门:吃透 SOLID 原则与迪米特法则,再学 5 个高频模式
后端·设计模式
染指11101 天前
135.Agent-多Agent框架-LangChain多智能体(SubAgents子代理)
数据库·人工智能·设计模式·langchain·agent·agents
路弥行至2 天前
【Head First 设计模式】第 2 章:观察者模式 —— 用现代 C++ 重新解读“交互对象的松耦合
c++·经验分享·笔记·观察者模式·设计模式·入门教程·headfirst
YYYing.2 天前
【设计模式系列 (九) 】装饰器模式
c++·后端·设计模式·装饰器模式·c/c++
沫璃染墨2 天前
《从零入门Linux系统篇(五十六):线程篇·九——生产者消费者模型:从条件变量到BlockingQueue实现》
linux·服务器·c++·驱动开发·设计模式·架构·系统架构
c萱3 天前
AI产品经理——01基础认知篇
设计模式·prompt·aigc·产品经理·ai编程·gitcode·ai-native
YYYing.3 天前
【设计模式系列 (八) 】组合模式
c++·后端·设计模式·组合模式·c/c++
ZhangJun953 天前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
geovindu4 天前
rust: Composite Pattern
开发语言·后端·设计模式·rust·组合模式