展开章节目录
理论 04

重点画图与速背

围绕租车、APP 消息交互和账户取款题梳理画图对象、流程、关系及考前速记。

内容整理自 new_uml/UML.md

十二、几个重点画图题方向

1. 租车软件用例图

关键词:

  • 用户 / 租车司机

  • 门店店员

  • 线上选车

  • 线下租车

  • 支付

  • 使用优惠券

  • 微信支付

  • 支付宝支付

  • 按型号选车

  • 按品牌选车

重点关系:

  • 线上选车包含:按型号选车、按品牌选车

  • 支付可以扩展:使用优惠券

  • 支付方式可以泛化为:微信支付、支付宝支付

  • 线下租车需要用户和门店店员共同参与


2. APP 消息交互题

涉及对象:

  • 客户

  • APP 应用平台

  • 消息中心

  • 运营系统

流程:

  1. 客户登录或匿名访问。

  2. 客户通过 APP 发送消息。

  3. APP 将消息传给消息中心。

  4. 消息中心路由转发。

  5. 如果异常,反馈异常给 APP。

  6. 消息中心将消息推送给运营系统。

  7. 运营系统处理业务并给出应答。

  8. 运营系统把反馈和处理状态返回消息中心。

  9. 消息中心再次路由转发。

  10. 消息中心将反馈传给 APP。

  11. APP 将反馈传达给客户。

  12. 客户结束或退出会话。

这个题可能要求画:

  • 类图

  • 时序图

  • 协作图

  • 活动图


3. 账户取款状态图

重点概念:

  • Credit:初始状态

  • Withdrawal(m):取款事件

  • [条件]:守卫条件

  • / 后面:事件触发时执行的动作

  • AcceptWithdrawal:取款成功状态

  • RejectWithdrawal:取款失败状态

  • entry/:进入状态时执行的动作

常见正确逻辑:

Withdrawal(m) [m <= balance] / balance = balance - m

表示余额足够时,允许取款并扣除余额。

错误逻辑示例:

Withdrawal(m) [balance < m] / balance = balance - m

余额不足时还扣钱,这是逻辑错误。
修正建议:余额不足时不应该扣钱,应记录失败或提示余额不足。


十三、最重要的速背版

考试前可以重点背这几句:

  1. 用例图:描述系统功能需求,元素有参与者、用例、关系。

  2. 类图:描述类、属性、方法以及类之间的关系。

  3. 包图:对类和接口分组,方便维护、管理、版本控制和任务分配。

  4. 时序图:强调对象消息交互的时间顺序。

  5. 协作图:强调对象之间如何协作。

  6. 活动图:描述活动流程,能表示分支、并发、循环和泳道。

  7. 状态图:描述对象状态如何随事件发生转换。

  8. 构件图:描述软件构件、接口以及构件之间的依赖。

  9. 部署图:描述系统硬件结点和通信连接。

  10. 聚合和组合区别:整体没了,部分还在是聚合;整体没了,部分也没了是组合。