需求:计价由两个小时和半天为单位,不足两个小时以两个小时计。超过十个小时以半天计价。
背景:一般的大酒店标牌上是以天为单位标价,但计价可以半天计。过了晚上12点就算半天。有的客人要租总统套房谈生意签合同,一般就几个小时。反正总统套房空着也是空着,征得上司的同意也按小时出租,但这不多见。而小酒店的生意就比较灵活了。有些特殊的客人需要按小时开房间。如果房间一天出租了好几次,那么相应地就要打扫多次,清洁和管理的费用就会大大增加,所以酒店就想出租一个小时按两个小时收费。
分析:大酒店有着良好的声誉和稳定的客源,但是小酒店鉴于竞争激烈,生存不易,按小时收费接待特殊的客人也是没有办法,毕竟这种事情多了对酒店的声誉也有不良的影响。从生意上来说,一个小时的开房按两个小时收费也是一种平衡手段。如果系统按客户的要求做,那么以后如果竞争压力增大,要改成按一个半小时收费的话,则系统又要麻烦了。系统设计师和客户沟通后应该能预见到这些状况,所以要灵活的设计以适应未来的变化。
设计:基本的思路是以小时为单位。两个小时就是两个单位。小时选项从1到9,过了9个小时按半天计。另外加一个服务费的选项,从0%,5%,10%,15%到50%,为单价的百分比。目前,基本计价单位的缺省值是2,服务费缺省值是为0%,这样就能满足现状。如果以后需求发生变化,只有把缺省值调整一下即可,无需修改Code。如要改成一个半小时为一个单位,把单价的单位选成1,服务费选成50%即可。如果是熟客,变动服务费就可以起到打折的效果。
这样的设计使得系统的灵活性大大的增加,能适应一段时间之内的需求变化。一个大的系统是由这些一系列的小组件组成的。如果每个局部的组成部分都是100%完美的话,那么这个系统就战无不胜了。但是现实却做不到,下次我们再来谈谈这个话题。