软考高级:UML 图 结构图、行为图和交互图 概念和题目

2024-05-24 15:38:23 浏览数 (2)

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

一、AI 解读

UML(统一建模语言)是一种用于软件系统分析和设计的标准语言,它通过提供标准化的图形表示方法来帮助软件开发者定义、可视化、构建和文档化软件系统的各个部分。UML图形大体上可以分为三大类:结构图、行为图和交互图。每一类图又包括了几种特定的图形,用于展示系统的不同方面。

结构图

类型

描述

类图

展示了系统中类的结构及其相互关系,如继承、关联等。

对象图

类图的一个实例,展示了系统运行时对象之间的关系。

包图

描述了系统的分包结构,显示了包之间的依赖关系。

组件图

展示了软件组件的组织和依赖关系。

部署图

描述了物理层面的组件部署情况,如服务器、数据库等。

复合结构图

描述了类或组件的内部结构,包括它的部分和端口等。

信息流图

(较少使用)描述了信息流动的方式,展示了系统中信息的流动和处理过程。

行为图

类型

描述

用例图

描述了系统的功能以及外部用户(参与者)与这些功能的交互关系。

活动图

展示了业务流程或操作的工作流,描述了从开始到结束的活动序列。

状态图

展示了系统或对象的状态变化过程,反映了事件对对象状态的影响。

交互图

类型

描述

时序图

展示了对象之间交互的时间序列,强调消息交互的顺序。

通信图

类似于时序图,但强调对象之间的关系和消息交换,而不是时间顺序。

交互概览图

是活动图的特殊形式,展示了系统中的交互操作。

定时图

(较少使用)专注于时间约束,展示了对象状态和交互的时间表示。

通过这些图形,UML提供了一套全面的视图来表示软件系统的不同方面,包括它的结构、行为以及对象之间的交互方式。接下来,我会根据这些概念出几道选择题。

二、AI 出题

  1. UML中用于描述系统静态结构的图是哪一种? A. 用例图 B. 类图 C. 活动图 D. 时序图
  2. 下列关于UML的描述中,错误的是? A. 对象图是类图的一个实例,展示了对象之间的关系 B. 组件图用于展示软件组件的组织和依赖关系 C. 用例图用于展示系统的部署情况 D. 状态图展示了对象的状态变化过程
  3. 在UML中,展示业务流程或操作工作流的图是? A. 状态图 B. 活动图 C. 通信图 D. 部署图
  4. 描述物理层面组件部署情况的UML图是? A. 部署图 B. 组件图 C. 包图 D. 复合结构图
  5. 以下哪种UML图不属于交互图? A. 时序图 B. 通信图 C. 类图 D. 交互概览图
  6. 在UML中,用于描述信息流动的方式,展示系统中信息的流动和处理过程的图是? A. 信息流图 B. 活动图 C. 状态图 D. 用例图
答案及解析
  1. 答案:B. 类图 类图是UML中描述系统静态结构的主要图形,展示了类的结构及其之间的各种静态关系。
  2. 答案:C. 用例图用于展示系统的部署情况 用例图实际上是用于描述系统的功能以及外部用户(参与者)与这些功能的交互关系,而不是部署情况。描述部署情况的是部署图。
  3. 答案:B. 活动图 活动图用于展示业务流程或操作的工作流,描述了活动的序列,从开始到结束。
  4. 答案:A. 部署图 部署图用于描述物理层面的组件部署情况,如服务器、数据库等的部署。
  5. 答案:C. 类图 类图属于结构图的一种,而非交互图。交互图主要包括时序图、通信图和交互概览图。
  6. 答案:A. 信息流图 信息流图用于描述信息流动的方式,展示了系统中信息的流动和处理过程,虽然在实际应用中使用较少,但它属于UML的一种图形。

三、真题

拓展阅读: https://www.w3cschool.cn/uml_tutorial/uml_tutorial-jnf328y2.html

0 人点赞