Thinking UML 之 时序图
2008-03-24 18:11
183 查看
朋友在网上发来一个急转弯题目,题目如下:
三个人去投宿,一晚30元.三个人每人掏出了10元,凑够30元交给老板.后来老板说今天优惠只要25元就够了.拿出5元命令服务生退还给他们.服务生偷偷藏起了2元.然后.把剩下的3元钱分给了那三个人,每人分到1元.这样,一开始每人掏了10元,现在又退回1元,也就是10-1=9,每人只花了9元钱.三个人每人9元.3×9=27元加服务生藏起的2元=29元.还有一元钱去了哪里?
建议先尝试自已想想再往下看,^_^.
我是想了快10分钟没头绪,唉,一个侧明说明了只是个普通人。于时我尝试用UML的序列图还原场景:
aPersonA aPersonB aPersonC aWaiter Boss
每个人拿10块钱交给老板 10 10 10 0 30
今天优惠,只要25块钱 10 10 10 5 25
服务员藏起2块,分给每人1块 9 9 9 2 25
从这幅图看出问题了吗?所有的场景都是正确的,这里有一个我们一开始就忽略的不变式:三个人出的钱跟店里赚钱的相等,三人出了27,老板25,服务员2 ,所以不存在那一块钱.呵,有点偏题了。
UML时序图的作用应该有想法了吧,时序图是提供一个动态交互视角去观察系统,至于你能观察什么东东就取决于你了。也从一个侧面说明了UML只是帮助我们了解我们要做什么。
三个人去投宿,一晚30元.三个人每人掏出了10元,凑够30元交给老板.后来老板说今天优惠只要25元就够了.拿出5元命令服务生退还给他们.服务生偷偷藏起了2元.然后.把剩下的3元钱分给了那三个人,每人分到1元.这样,一开始每人掏了10元,现在又退回1元,也就是10-1=9,每人只花了9元钱.三个人每人9元.3×9=27元加服务生藏起的2元=29元.还有一元钱去了哪里?
建议先尝试自已想想再往下看,^_^.
我是想了快10分钟没头绪,唉,一个侧明说明了只是个普通人。于时我尝试用UML的序列图还原场景:
aPersonA aPersonB aPersonC aWaiter Boss
每个人拿10块钱交给老板 10 10 10 0 30
今天优惠,只要25块钱 10 10 10 5 25
服务员藏起2块,分给每人1块 9 9 9 2 25
从这幅图看出问题了吗?所有的场景都是正确的,这里有一个我们一开始就忽略的不变式:三个人出的钱跟店里赚钱的相等,三人出了27,老板25,服务员2 ,所以不存在那一块钱.呵,有点偏题了。
UML时序图的作用应该有想法了吧,时序图是提供一个动态交互视角去观察系统,至于你能观察什么东东就取决于你了。也从一个侧面说明了UML只是帮助我们了解我们要做什么。
相关文章推荐
- 《大象 Thinking in UML》学习笔记(七)——UML核心视图之动态视图:活动图、时序图
- UML-时序图学习
- 大象:Thinking in UML(第2版)
- Thinking in UML 学习笔记(三)——UML核心视图之类图
- 《Thinking in UML》 笔记——1、为什么需要UML
- Thinking In UML《大象》
- Thinking In UML学习笔记一
- UML 序列图(时序图)
- 大象--Thinking in UML早知道 -- 002--面向过程方法与面向对象方法
- 大象--Thinking in UML早知道 -- 006 -- 非功能性需求
- 大象--Thinking in UML早知道 -- 007 -- 类图
- 《大象-Thinking in UML》三个月盘点
- Thinking In UML 的读书笔记(一)需求分析之前的准备工作
- UML的类图、时序图表示方法以及惯例
- Thinking in UML 学习笔记(一)——建立对象模型
- Thinking in UML 学习笔记(二)——UML核心视图之用例图
- [完全免费] 在线UML Sequence Diagram 时序图工具 - 教程第3部分
- Thinking in UML(一)从现实世界到设计模型
- UML——时序图
- UML入门之交互图——时序图与协作图重点区分