【图解软考八股034】深入解析 UML:识别标准建模图示

这是一篇为您准备的专业 CSDN 技术博客。


【图解软考八股034】深入解析 UML:识别标准建模图示

一、 题目展示

10. UML(Unified Modeling Language)是面向对象设计的建模工具,独立于任何具体程序设计语言,以下( )不属于 UML 中的模型。

A、用例图 (Use Case Diagram)

B、协作图 (Collaboration Diagram)

C、活动图 (Activity Diagram)

D、PAD 图 (Problem Analysis Diagram)


二、 正确答案


正确答案:D


三、 题目解析

本题考查的核心知识点是 UML(统一建模语言) 的组成体系。

1. 选项分析

  • A. 用例图 (Use Case Diagram):属于 UML 的行为图。它从用户的角度描述系统的功能,展示外部执行者(Actor)与系统用例之间的交互关系。
  • B. 协作图 (Collaboration Diagram) :属于 UML 的交互图。在 UML 2.0 及后续版本中,它也被称为通信图 (Communication Diagram)。它主要用于描述对象之间通过消息传递进行的协作关系,侧重于对象的结构组织。
  • C. 活动图 (Activity Diagram):属于 UML 的行为图。它描述了系统从一个活动到另一个活动的控制流,通常用于业务流程建模或算法逻辑的视觉表达。
  • D. PAD 图 (Problem Analysis Diagram)非 UML 模型 。PAD 图即"问题分析图",是由日本日立公司于 1973 年提出的一种结构化程序设计工具。它利用树状结构来表示程序的控制流,属于典型的结构化设计(Structured Design)范畴,而非面向对象设计(Object-Oriented Design)中的 UML 标准。

2. 结论

UML 是一套标准的图形化建模语言,旨在支持面向对象的开发。由于 PAD 图 是用于描述结构化逻辑的工具,且其诞生时间早于 UML 的标准化进程,因此它不包含在 UML 的 14 种标准图样之中。


四、 相关知识点深度总结

为了帮助读者构建完整的知识体系,我们需要深入理解 UML 的分类及其核心概念。

1. 什么是 UML?

UML (Unified Modeling Language) 称为"统一建模语言"。它并不是一种程序设计语言,而是一种可视化建模标准

  • 独立性:它独立于具体的编程语言(如 C++、Java、Python),也独立于具体的软件开发过程。
  • 目的:用于对软件系统进行规格说明、可视化表达、构造和文档化。

2. UML 图的分类体系

根据 UML 2.x 标准,建模图通常分为两大类:静态结构图动态行为图

(1) 结构图 (Structural Diagrams)

描述系统的静态方面,即系统由哪些部分组成。

  • 类图 (Class Diagram):核心图示,描述类、接口及它们之间的静态关系。
  • 对象图 (Object Diagram):描述某一时刻系统中对象的快照。
  • 组件图 (Component Diagram):描述软件组件及其相互依赖关系。
  • 部署图 (Deployment Diagram):描述硬件物理节点及其上的软件构件。
  • 包图 (Package Diagram):描述模型元素的分组组织。
(2) 行为图 (Behavioral Diagrams)

描述系统的动态方面,即系统如何随时间变化。

  • 用例图 (Use Case Diagram):确定系统的边界及功能。
  • 状态机图 (State Machine Diagram):描述对象在其生命周期内因事件触发的状态转换。
  • 活动图 (Activity Diagram):描述工作流或操作的步骤逻辑。
  • 交互图 (Interaction Diagrams)(子类):
  • 时序图 (Sequence Diagram):强调消息传递的时间顺序(开发中最常用)。
  • 通信/协作图 (Communication Diagram):强调对象间的组织结构。
  • 交互概览图计时图

3. 专业术语速查对照表

专业名词 英文全称 核心作用
Actor 执行者/角色 系统外部与系统交互的人或事
Use Case 用例 系统提供的、对执行者有价值的功能单元
Aggregation 聚合 "整体-部分"关系,部分可以脱离整体存在(如:班级与学生)
Composition 组合 强关联的"整体-部分"关系,部分生命周期随整体结束(如:公司与部门)
Generalization 泛化 面向对象中的"继承"关系

五、 结语

在软件工程中,选择正确的建模工具是成功的一半。UML 提供了从需求分析到系统部署的全方位视角,而像 PAD 图、流程图等传统工具,虽在特定逻辑描述中仍有价值,但不应与面向对象的 UML 标准混淆。

相关推荐
库玛西44 分钟前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
Chester_19997 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
会周易的程序员8 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
小灰灰搞电子9 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
QT界面美化性能优化9 小时前
QT+AI:使用AI技术为QT应用程序赋能
c++·人工智能·qt·opencv·qt教程·qt6.3
学习星球11 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
小灰灰搞电子12 小时前
C++ 引用折叠详解
c++
xierui12312312 小时前
OpenAI 拟停止向 Cursor供模:如何设计不绑供应商的AIAgent架构
人工智能·系统架构·软件工程
布莱克60512 小时前
数组详解:定义、作用、应用场景及与链表的区别(C/C++ 代码讲解)
c语言·开发语言·c++·数组
牛油果子哥q13 小时前
C++内存池与对象池精讲:内存碎片、自定义分配器、对象池实现、STL allocator原理、工程落地与性能对比
java·开发语言·c++