根据契约进行分析--录像店案例研究06

示例场景

拷贝的状态模型表明,有三个操作触发状态从“保留”到“待出租”。如果会员取消预订,保留的拷贝就可以出租。如果时间超过期限,预订失效,保留的拷贝也可以出租。操作“出租”使拷贝从“保留”变为“待出租”,在后面对比进行解释。

以下场景解释这种转变是怎么发生的。场景由三部分组成:开始状态的描述,场景步骤,结果状态。

开始状态

在场景的开始状态,我们有4 个会员对象(m1,m2,m3,m4),我们有一个片名对象(t),有3 个拷贝对象c1,c2和c3 处于出租状态。会员m4 有一个影片t 的预订。以下是这种情况的一个快照。

场景步骤

会员m1 还回拷贝c1。
拷贝c1 为m4 的预订保留,预订v 变为可满足。
会员m2 还回拷贝c2。
没有等待的预订,因此,拷贝c2 被放回货架。
会员m4 进入店中,看到c2 在货架。
会员m4 取下c2,告诉店员租借该拷贝。
拷贝c2 被m4 借走。
为m4 预留的拷贝c1,被放到货架。

最终状态

会员m4 租了拷贝c2(而不是预留的拷贝c1)拷贝c1 在货架上。
连接将场景与状态模型
当一个会员m 租借拷贝c:
如果
会员m 获得了Cr
并且
有另一个拷贝Ch 为会员m 保留
那么
拷贝Cr 从状态“待出租”到“已出租”
拷贝Ch 从状态“保留”到“待出租”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值