预定类面向对象设计
management RESTAURANT
CORE OBJECT
CASES
•Restaurant
-Findtable
-TakeOrder
-Checkout
•Mangement类常见usecase
Reserve:
Serve:
Checkout:
USE CASE
Usecase:Findtable
Restaurantfindanavailabletable,anchangethetabletobe
unavailable
Takeorder
-Restauranttakesanorder
Checkout
-Restaurantchecksoutatable/order,markthetableavailableagain
-Calculateorderprice
-Singleresponsibility principle
-ForceTable– Ordermapping
-Sharetableusecase
•How tomarkatableavailable?
-桌子大小不同?
Party && Table->Capacity
Findtablebasedoncapacity
Restaurant reservation system
-考虑预定的东西
例子:机票
机舱/座位号/…
•Usecase
-Search
-Select
-Cancel
Searchcriteria->Search()->List<Result>->Select()->Receipt
•Searchcriteria
•List
-当选择的时间段可以/不行时,系统应该给出什么反馈?
-可以预定:直接进入Confirm阶段
-不能预定:Throw exception/ Show message
-Design:Pair&