第11章 UML建模
📚 章节概述
UML建模是软考中级软件设计师考试的重要应用题内容,主要考查面向对象分析设计方法的应用。本章将通过典型案例学习UML各种图的绘制方法和建模技巧。
🎯 学习目标
通过本章学习,你将掌握:
- UML建模的基本方法和技巧
- 各种UML图的绘制和应用
- 面向对象分析设计的实践
- UML建模题的解题策略
- 典型建模问题的分析方法
📖 课程安排
11.1 UML建模概述 (1课时)
- UML建模的重要性 - 面向对象开发的核心工具
- 建模过程 - 需求分析、设计建模、实现
- UML图的分类 - 结构图、行为图、交互图
- 建模工具 - 常用的UML建模软件
11.2 UML考查形式介绍 (1课时)
- 考试题型分析 - 应用题的常见形式
- 解题步骤 - 分析需求、选择图形、绘制模型
- 评分标准 - 图形规范、逻辑正确、完整性
- 时间分配 - 合理安排答题时间
11.3 典型例题分析 (9课时)
11.3.1 例题1:用例图与类图 (3课时)
问题背景 - 在线购物系统的需求分析
用例图绘制
- 识别参与者:顾客、管理员、支付系统
- 确定用例:浏览商品、下订单、支付、管理库存
- 建立关系:包含、扩展、泛化关系
- 系统边界的确定
类图设计
- 识别核心类:商品、订单、顾客、购物车
- 确定属性:各类的关键属性
- 定义方法:类的主要操作
- 建立关联:类之间的关系和多重性
11.3.2 例题2:状态图与类图 (3课时)
问题背景 - 自动售货机系统的状态分析
状态图绘制
- 识别对象状态:待机、选择商品、投币、出货
- 确定状态转换:触发事件和条件
- 定义动作:进入、退出、内部动作
- 复合状态的处理
类图完善
- 状态相关的属性设计
- 状态转换的方法实现
- 状态模式的应用
- 类的职责分配
11.3.3 例题3:通信图与类图 (3课时)
问题背景 - 图书馆管理系统的交互分析
通信图绘制
- 识别参与对象:读者、图书、借阅记录
- 确定消息传递:借书、还书、查询流程
- 编号消息序列:时间顺序和嵌套调用
- 对象生命周期管理
类图设计
- 基于交互的类设计
- 方法的参数和返回值
- 类之间的依赖关系
- 接口的抽象设计
⏰ 学习时间安排
- 总学习时间:11课时
- 建议学习周期:1-2周
- 每日学习时间:1-2课时
- 重点练习:典型例题的反复建模
🔍 重点难点
重点内容
- 用例图建模 - 准确识别参与者和用例
- 类图设计 - 合理设计类的结构和关系
- 状态图绘制 - 正确表示对象的状态变化
- 交互图应用 - 清晰描述对象间的交互
- 图形规范 - 使用标准的UML符号
难点突破
- 用例关系 - 区分包含、扩展、泛化关系
- 类关联设计 - 确定正确的关联类型和多重性
- 状态转换 - 理解触发事件和守护条件
- 消息序列 - 正确编号和嵌套消息
📝 考试要点
应用题考点
- 用例图建模 (8-12分)
- 类图设计 (10-15分)
- 状态图绘制 (8-12分)
- 交互图应用 (8-12分)
评分要点
- 图形规范 - 使用正确的UML符号
- 逻辑正确 - 模型符合业务逻辑
- 完整性 - 包含所有必要元素
- 一致性 - 不同图之间保持一致
🎨 UML图形规范
用例图符号
参与者 (Actor)
符号:人形图标或矩形框
表示:与系统交互的外部实体
用例 (Use Case)
符号:椭圆形
表示:系统提供的功能
关系类型:
- 关联:参与者与用例之间的直线
- 包含:<<include>>,必须执行的子用例
- 扩展:<<extend>>,可选执行的子用例
- 泛化:空心三角箭头,继承关系类图符号
类 (Class)
符号:三层矩形框
内容:类名、属性、方法
关联类型:
- 关联:直线,表示类之间的联系
- 聚合:空心菱形,整体-部分关系
- 组合:实心菱形,强聚合关系
- 依赖:虚线箭头,使用关系
- 泛化:空心三角箭头,继承关系
- 实现:虚线空心三角箭头,接口实现
多重性:
1:一个
0..1:零个或一个
*:零个或多个
1..*:一个或多个📊 建模技巧
用例建模步骤
- 识别参与者 - 找出与系统交互的外部实体
- 确定用例 - 识别系统提供的主要功能
- 建立关联 - 连接参与者和相关用例
- 细化关系 - 添加包含、扩展、泛化关系
- 验证完整性 - 检查是否遗漏重要功能
类图设计原则
- 单一职责 - 每个类只负责一个职责
- 高内聚 - 类内部元素紧密相关
- 低耦合 - 类之间依赖关系最小
- 开闭原则 - 对扩展开放,对修改封闭
状态建模要点
- 状态识别 - 找出对象的所有重要状态
- 事件确定 - 识别引起状态变化的事件
- 条件设置 - 添加状态转换的守护条件
- 动作定义 - 指定状态转换时的动作
🔄 建模过程
需求分析阶段
1. 业务建模
- 用例图:系统功能概览
- 活动图:业务流程分析
2. 需求建模
- 用例图细化:详细用例描述
- 概念类图:领域模型设计阶段
1. 静态建模
- 类图:系统结构设计
- 对象图:实例关系
2. 动态建模
- 状态图:对象状态变化
- 序列图:时间顺序交互
- 通信图:对象协作关系实现阶段
1. 实现建模
- 构件图:物理组件结构
- 部署图:系统部署架构💡 解题策略
解题步骤
- 仔细阅读题目 - 理解业务背景和需求
- 分析建模要求 - 确定需要绘制的图形类型
- 识别关键元素 - 找出参与者、类、状态等
- 建立元素关系 - 确定元素之间的关联
- 绘制标准图形 - 使用规范的UML符号
- 检查完整性 - 验证模型的正确性
常见错误
- 符号使用错误 - 不符合UML标准
- 关系类型错误 - 混淆不同类型的关系
- 逻辑不一致 - 模型与需求不符
- 遗漏重要元素 - 缺少关键的类或关系
预计完成时间:11课时 | 难度等级:★★★★★