UML 课程复习

第二章:UML 基础

填空题

  1. UML 中的 5 种关系是关联、实现、泛化、依赖和聚合 / 组合。(聚合、组合常归为关联的特殊形式;标准关系通常包括关联、泛化、依赖、实现、聚合。)
  2. UML 扩展机制分别是构造型、标记值和约束。
  3. UML 的公共机制分别是详述、修饰、通用划分和扩展机制。

选择题

  1. UML 中的事物包括结构事物、分组事物、注释事物和 C. 控制事物
  2. UML 中的 5 种关系是依赖、泛化、关联、扩展和 C. 实现
  3. 下面不是 UML 中静态视图的是 B. 用例图(用例图属于行为视图)。

第三章:用例图

简答题

1. 用例图中的主要元素有哪些?

主要元素包括参与者(Actor)、用例(Use Case)、系统边界、用例之间的关系(包含、扩展、泛化),以及参与者与用例之间的关联关系。

2. 用例图中的参与者属于系统的成员吗?

不属于。参与者是系统外部与系统进行交互的实体,可以是用户或其他系统,并非系统内部的组成部分。

3. 用例与场景之间是什么关系?

用例是一组相关场景的集合,场景是用例的一次具体执行实例。例如“登录 App”用例包含“账号密码正确,登录成功”“密码错误,登录失败”“账号未注册,登录失败”等场景。

4. 用例之间的 3 种关系

  • 包含关系:“网购下单”用例包含“支付”用例,下单流程必须执行支付。
  • 扩展关系:“外卖点餐”用例扩展“加购餐具”用例,只有用户主动选择时才触发。
  • 泛化关系:“支付”用例泛化为“微信支付”“支付宝支付”,后者是前者的具体形式。

5. 组织用例的全过程

以“图书馆管理系统”为例:

  1. 确定系统边界,明确系统的功能范围。
  2. 识别参与者,如读者、图书管理员和系统管理员。
  3. 识别用例,如读者借阅、归还图书,管理员入库、注销图书。
  4. 梳理用例关系,如“借阅图书”包含“验证读者身份”。
  5. 验证用例,确认所有核心功能都被覆盖。

6. 寻找参与者、用例的过程

以“外卖配送系统”为例:通过“谁或什么与系统交互”识别点单用户、商家、骑手和平台管理员;再通过“参与者需要系统提供什么功能”识别浏览商家、下单支付、接收订单、出餐、接单和配送等用例。

填空题

  1. 用例图描述参与者之间、用例与参与者之间的关系。
  2. 用例图主要用于对系统的功能建模。
  3. 参与者的名字要用角色表示,不能用具体的对象名表示。
  4. 场景是用例的一次完整执行实例。
  5. 用例之间有包含、扩展和泛化关系。
  6. 包含关系的构造型是 <<include>>,扩展关系的构造型是 <<extend>>
  7. 在包含关系中,箭头由基本用例指向被包含用例。
  8. 基本用例独立于扩展用例存在,满足某个条件时才调用扩展用例。
  9. 参与者和用例是双向关联关系,用一条实线表示双向通信。

第四章:类图

填空题

  1. 类之间的主要关系有关联、泛化、依赖和实现。
  2. 类在 UML 中用一个矩形表示,矩形由 3 部分构成。
  3. 方法的可见性包括公有(+)、私有(-)和受保护(#)。

问答题

1. 用实际例子绘制一个类

+---------------------+
|       Student       |  类名:标识该类的名称
+---------------------+
| - studentId: String |  属性:描述类的静态特征
| + name: String      |
| # age: int          |
+---------------------+
| + attendClass():void|  方法:描述类的动态行为
| - doHomework(): void|
+---------------------+
  • **类名:**标识类的唯一名称,代表一类具有共同特征的实体。
  • **属性:**描述实体的静态特征,如学生的学号、姓名。
  • **方法:**描述实体可执行的动态行为,如上课、写作业。

2. 类名、属性和方法的命名规则

  • 类名采用大驼峰命名法,每个单词首字母大写,见名知意并避免不常见缩写。例如 BookUserInfo
  • 属性和方法采用小驼峰命名法。属性通常使用名词,如 bookName;方法通常使用动词加名词,如 borrowBook()

第七章:顺序图与协作图

选择题

  1. 顺序图中的主要元素有 ABCD:对象、生命线、控制焦点、消息。
  2. UML 中强调消息时间顺序的交互图是 A. 顺序图
  3. 顺序图中的消息编号有 BC:多层次编号、嵌套编号。
  4. 返回消息使用 B. 虚线箭头

建模题:顺序图与协作图的区别

以“用户登录电商系统”为例:

  • 顺序图强调时间顺序,按“用户输入账号 → 输入密码 → 系统调用数据库验证 → 数据库返回结果 → 系统反馈用户”的时间流,用纵向生命线和消息箭头展示交互先后。
  • 协作图强调对象间的结构关系,用用户、系统、数据库等节点及关联线展示对象连接,再通过消息编号标注交互逻辑,更突出对象拓扑结构。

第八章:活动图

选择题

  1. 组成活动图的要素有 ABD:A. 泳道,B. 动作状态,D. 活动状态。
  2. 活动图中的开始状态使用 C. 黑色实心圆表示。
  3. UML 中的 B. 活动图用来描述过程或操作的工作步骤。
  4. A. 泳道技术将活动图中的活动状态分组,每组表示负责完成组内活动的特定类、人或部门。

原始资料

以上内容根据文件夹中的《课后题》整理。需要核对原版排版时,可直接打开原始 PDF