计算机三级备考(五)——UML与数据库应用系统

一、重要知识点

1.DBAS建模

(1)统一建模语言(UML Unified Modeling Language)

UML是一种基于面向对象得可视化的通用建模语言,UML是一种建模语言而不是建模方法

建模方法应该包括建模语言(用于表示建模结果的符号)和建模过程(描述建模时需要遵循的步骤)

(2)UML的组成

由语义(自然语言)和表示法(可视化标准符号)组成

  1. 语义定义在四层建模概念框架

    1. 元元模型(Meta-Meta Model),代表要定义的所有事物

    2. 元模型(Meta Model)UML的基本元素,"事物"概念的实例

    3. 模型层(Model)UML的模型,类模型或者类型模型

    4. 用户模型(User Model)UML模型实例,对象模型或者实例模型

(3)UML的五种视图

结构、实现、行为、环境和用例视图。UML2.0分为静态结构图和行为图两类

  1. 业务流程与活动图:最适合描述系统或子系统的工作流程,有且只能有一个起点,可有多个结束点。
  • 系统需求与用例图:系统需求是用户心中的真正期望,用例模型是满足用户需求的所有功能表示出来的工具。用例模型由**用例(完整功能所有动作集合)角色(与系统交互的人或者其他实体)和系统(各种用例的集合)**三部分组成,其中处理等候队列是用例功能,总台服务员是角色

2.DBAS业务流程与需求表达

(1)角色之间的关系:

通用化关系:指的是将角色的行为抽取出来作为通用行为,将这些行为构成超类

(2)用例与角色之间的关系

连接关系(关联,通信关联):表明角色和用例之间一对一双向通信

(3)用例之间的关系

扩展:一个用例增加新内容成为另一个,包含(使用):一个用例使用另一个、关联(组合):将相关用例打包作为整体

3.DBAS系统内部结构的表达

(1)类图

系统内部结构一般分为静态结构(类图: 问题领域的概念模型,由类名、属性与操作组成**)和动态结构(顺序图和通信图)**

类与类之间的关系:关联(聚集弱的拥有关系)、继承(泛化)、依赖、精化(实现)、组成(强的拥有关系)

(2)顺序图(时间)

顺序图主要用于描述系统内对象之间的消息发送和接收序列

顺序图中所有的元素,都必须在类图中存在

(3)通信图(空间)

通信图是交互图的一种,称为协作图,显示对象间组织交互关系和链接。不侧重交互顺序,用序列号来确定消息及其并发线程的顺序。

4.DBAS系统微观设计的表达

(1)对象图

对象图是类图的实例:描述特定时间中所有对象在系统中的结构,是一个快照

(2)状态机图

状态图用来描述有关事件或对象的状态转移。状态图只能有一个起始状态和多个结束状态

状态间的转移由事件驱动

(3)时间图

当状态的转换由时间因素决定时,使用时间图来描述状态的变化。时间图中,整个矩形框就是一个生命线。

5.DBAS系统宏观设计的表达

研究比较大范围中的元素之间的联系,如包(盘符)、命名空间(文件夹)、子系统(源代码)等。一个良好的命名空间,便于开发人员理解,并使得各个命名空间之间能够松耦合,而命名空间内则可满足高内聚的要求。

(1)包图

表示系统中不同包、命名空间或不同项目间的彼此关系

(2)交互概述图

是将活动图和顺序图嫁接在一起的图,以活动图为基础在控制流间连接交互图

(3)复合结构图

复合结构图适用于系统间的沟通接口

6.DBAS系统实现与部署的表达

(1)组件图

用于表示系统的静态实现视图。组件是逻辑设计中定义的概念和功能在物理构架中的实现

(2)部署图(配置图)

描述系统中硬件和软件的物理配置情况与系统体系结构。部署图说明实体组件 ,如可执行程序,将如何部署到实际的计算机中。部署图要在项目进行集成测试前提供

二、重点题型

1.UML的分类体系

sql 复制代码
UML图
├── 结构图(静态图)
│   ├── 类图
│   ├── 对象图
│   ├── 包图
│   ├── 组件图
│   ├── 部署图
│   └── 复合结构图
└── 行为图(动态图)
    ├── 用例图
    ├── 活动图
    ├── 状态图
    └── 交互图
        ├── 顺序图
        ├── 通信图(协作图)
        ├── 时序图
        └── 交互概览图
结构图:描述系统静态结构(类、对象、组件、部署)
行为图:描述系统动态行为(功能、流程、状态、消息)

2.各类UML图的核心特征

1. 活动图(Activity Diagram)

核心作用:

  • 陈述活动与活动之间流程控制的转移

  • 类似于流程图,但支持并行行为

  • 描述用例的具体工作流程

  • 强调控制流(从一个活动到另一个活动)

关键要素:

  • 控制流:标示控制路径,将执行从一个节点转移到下一个

  • 分叉与汇合:描述并发/并行活动

  • 初始节点→活动→决策节点→最终节点

与流程图的区别:

  • 流程图:着重处理过程,严格顺序和时间关系

  • 活动图:表现系统行为,支持并行活动


2. 用例图(Use Case Diagram)

核心作用:

  • 描述系统与外部系统及用户之间的交互

  • 展示系统功能与参与者(Actor)的关系

  • 从外部用户视角看待系统功能

关键元素:

  • 参与者(Actor):用户、组织、外部系统

  • 用例(Use Case):系统提供的功能单元

  • 系统边界:区分系统内部与外部环境


3. 通信图/协作图(Communication/Collaboration Diagram)

核心作用:

  • 描述对象在空间中如何交互

  • 显示对象如何链接在一起

  • 没有时间轴,消息按序号编号

  • 侧重对象间的合作关系和链接

与顺序图的区别:

  • 顺序图:强调时间顺序(垂直生命线+水平消息)

  • 通信图:强调空间结构(网状链接+编号消息)


4. 部署图(Deployment Diagram)

核心作用:

  • 表达系统与外部系统之间的整合或集成关系

  • 显示系统的物理架构(硬件、软件部署)

  • 展示节点间的物理连接和组件分布

关键元素:

  • 节点(Node):硬件设备、服务器、处理器

  • 构件(Component):软件组件、应用程序

  • 物理拓扑和通信关系


5. 顺序图(Sequence Diagram)

核心特征:

  • 对象生命线(垂直虚线)

  • 消息传递(水平箭头)

  • 时间从上到下流逝

  • 可描述对象创建和销毁

消息类型:

  • 同步消息:实心箭头

  • 异步消息:开放箭头

  • 返回消息:虚线箭头


6. 类图关系

整体-部分关系:

  • 聚合(Aggregation):空心菱形,弱关系(整体-部分可独立存在)

  • 组合(Composition):实心菱形,强关系(部分依赖整体存在)

其他关系:

  • 继承(泛化):实线+空心三角箭头(指向父类)

  • 实现(接口):虚线+空心三角箭头(指向接口)

  • 依赖:虚线+普通箭头

  • 关联:实线+普通箭头


3.ER图转UML类图

基数(Cardinality)转换规则:

从ER图到UML:

  • ER图的(min, max)表示参与约束

  • UML的多重性(Multiplicity)表示数量范围

sql 复制代码
ER图:职工 (1,1) ------ 属于 ------ (1,10) 部门

UML转换:
职工 1..1 ------ 属于 ------ 1..10 部门
(靠近部门的数字:1个职工对应几个部门)
(靠近职工的数字:1个部门对应几个职工)

职工管理职工:
- 下属 (0,1):一个职工最多有1个上司
- 领导 (1,*):一个领导可以有多个下属

UML表示:
职工 0..1 ------ 领导 ------ 1..* 职工

4.易错点

易错点1:图的分类混淆
  • ❌ 包图是行为图

  • ✅ 包图是结构图(组织模型元素)

易错点2:图的用途混淆
  • ❌ 活动图描述对象状态变化

  • ✅ 状态图描述状态变化,活动图描述活动流程

易错点3:消息方向理解
  • ❌ 顺序图中垂直线是消息

  • ✅ 垂直线是生命线,水平线是消息

易错点4:聚合vs组合
  • ❌ 所有整体-部分关系都是聚合

  • ✅ 强依赖(生命周期绑定)用组合,弱依赖用聚合

三、复习题目

1. 【选择题】下列关于UML(统一建模语言)的说法中,错误的是( )。

A. UML是一种可视化的建模语言,而非具体的建模方法

B. UML由语义(自然语言)和表示法(可视化标准符号)组成

C. UML建模过程必须严格遵循特定的软件开发方法论(如瀑布模型)

D. UML 2.0将图主要分为静态结构图和动态行为图两大类

2. 【选择题】在UML 2.0的分类体系中,下列属于 结构图(静态图)的是( )。

A. 用例图

B. 活动图

C. 组件图

D. 状态图

3. 【填空题】UML中的______图主要用于描述活动与活动之间流程控制的转移,其作用类似于流程图,但与流程图不同的是它支持______行为。

4. 【选择题】在用例图中,与系统进行交互的人、组织或其他外部系统被称为( )。

A. 用例 (Use Case)

B. 角色 (Actor)

C. 参与者

D. 实体

5. 【选择题】在类图中,表示"整体-部分"关系,且部分不能脱离整体独立存在(即生命周期一致,强拥有关系)的是( )。

A. 关联 (Association)

B. 聚合 (Aggregation)

C. 组合 (Composition)

D. 依赖 (Dependency)

6. 【填空题】顺序图主要强调对象之间消息发送的______顺序;而通信图(协作图)主要强调对象在______上的交互关系(即对象是如何链接在一起的)。

7. 【选择题】将ER图转换为UML类图时,ER图中的基数 (1, 10) 表示一个实体实例关联另一个实体实例的数量范围是( )。

A. 0到10

B. 1到10

C. 1到1

D. 0到1

8. 【选择题】下列哪种图用于描述系统中硬件、软件组件的物理配置、节点分布以及系统体系结构?( )

A. 组件图

B. 部署图

C. 包图

D. 复合结构图

9. 【填空题】在UML状态机图中,一个状态图只能有______个起始状态,但可以有______个结束状态。

10. 【选择题】下列关于UML图的描述,错误的是( )。

A. 对象图是类图在某一特定时刻的实例(快照)

B. 包图属于行为图,用于描述系统的动态业务流程

C. 顺序图中的垂直虚线代表对象的生命线

D. 活动图可以有多个结束点,但只能有一个起点

相关推荐
rolt18 天前
二十四年前在UMLChina谈本体论-James Odell
产品经理·架构师·uml·本体论·palantir
我爱cope20 天前
【从0开始学设计模式-1| 设计模式简介、UML图】
设计模式·uml
rolt25 天前
DDD岁月史书之二:分层架构是DDD提出的吗
架构·产品经理·uml·领域驱动设计
Warren2Lynch1 个月前
C4 vs UML:从入门到结合使用的完整指南(含 Visual Paradigm AI 实操)
人工智能·机器学习·uml
Minilinux20181 个月前
工具使用系列之 PlantUML画UML时序图
uml·plantuml·统一建模语言·sequence·时序图
小湘西1 个月前
UML 用例图图中包含和扩展区别
uml·设计规范·设计语言
明洞日记1 个月前
【图解软考八股034】深入解析 UML:识别标准建模图示
c++·软件工程·软考·uml·面向对象·架构设计
奋斗的小方1 个月前
01 一文读懂UML类图:核心概念与关系详解
java·uml
钝挫力PROGRAMER1 个月前
UML构造块中的关系梳理
软件工程·uml