重点画图与速背
围绕租车、APP 消息交互和账户取款题梳理画图对象、流程、关系及考前速记。
内容整理自 new_uml/UML.md。
十二、几个重点画图题方向
1. 租车软件用例图
关键词:
用户 / 租车司机
门店店员
线上选车
线下租车
支付
使用优惠券
微信支付
支付宝支付
按型号选车
按品牌选车
重点关系:
线上选车包含:按型号选车、按品牌选车
支付可以扩展:使用优惠券
支付方式可以泛化为:微信支付、支付宝支付
线下租车需要用户和门店店员共同参与
2. APP 消息交互题
涉及对象:
客户
APP 应用平台
消息中心
运营系统
流程:
客户登录或匿名访问。
客户通过 APP 发送消息。
APP 将消息传给消息中心。
消息中心路由转发。
如果异常,反馈异常给 APP。
消息中心将消息推送给运营系统。
运营系统处理业务并给出应答。
运营系统把反馈和处理状态返回消息中心。
消息中心再次路由转发。
消息中心将反馈传给 APP。
APP 将反馈传达给客户。
客户结束或退出会话。
这个题可能要求画:
类图
时序图
协作图
活动图
3. 账户取款状态图
重点概念:
Credit:初始状态Withdrawal(m):取款事件[条件]:守卫条件/后面:事件触发时执行的动作AcceptWithdrawal:取款成功状态RejectWithdrawal:取款失败状态entry/:进入状态时执行的动作
常见正确逻辑:
Withdrawal(m) [m <= balance] / balance = balance - m
表示余额足够时,允许取款并扣除余额。
错误逻辑示例:
Withdrawal(m) [balance < m] / balance = balance - m
余额不足时还扣钱,这是逻辑错误。
修正建议:余额不足时不应该扣钱,应记录失败或提示余额不足。
十三、最重要的速背版
考试前可以重点背这几句:
用例图:描述系统功能需求,元素有参与者、用例、关系。
类图:描述类、属性、方法以及类之间的关系。
包图:对类和接口分组,方便维护、管理、版本控制和任务分配。
时序图:强调对象消息交互的时间顺序。
协作图:强调对象之间如何协作。
活动图:描述活动流程,能表示分支、并发、循环和泳道。
状态图:描述对象状态如何随事件发生转换。
构件图:描述软件构件、接口以及构件之间的依赖。
部署图:描述系统硬件结点和通信连接。
聚合和组合区别:整体没了,部分还在是聚合;整体没了,部分也没了是组合。