设计访谈 - 汽车预订系统

时间:2012-08-01 12:06:29

标签: oop

汽车预订系统是软件开发访谈中非常受欢迎的问题。 当我被问到这个时,我设计了以下ER结构/ OOP结构:

Car class / table有Car Id#,Type(Compact,Standard等),Make,Model 客户有客户ID#等 预约是一个关联表,存储Car Id#,Customer Id#和保留汽车的日期。为了简单起见,我们可以假设汽车只能在几天内保留。

这是我挣扎的棘手部分 - 当客户1在7月27日预订一辆装有Id Car 3的紧凑型轿车时会发生什么情况。如果3号车在3月24日合并,会发生什么情况。其他紧凑型轿车可供使用,但是在7月24日到27日之间他们都会被拿走。因此,当客户1在7月27日到达时,他最终没有车。

我认为这个缺陷与预订表中的Car和Customer相关联。有没有更好的方法来建立这种关系以及常规用例,例如找到特定日期的可用汽车,保留该日期等等。

1 个答案:

答案 0 :(得分:2)

您可以向名为boolean的{​​{1}}添加另一个Car字段。 如果总计Working,则

  • Car 3设为Working
  • false
  • 中搜索
  • 如果它在那里,则在Reservation中搜索该类型的另一辆车。
  • 如果找到,则将该车改为Car中的另一辆车。
  • 别给客户打电话。