一、用户订票流程:
1. 用户出行会有一个行程,既是出发时间、出发地、目的地。
2. 用户根据行程搜索出来机票,机票包括 航班信息、行程信息、价格信息。
3. 用户选中机票后,输入乘机人信息,并且可以添加多个乘机人,订购多张机票。
4. 用户填写完乘机人信息后,还要输入订购机票的联系人。
5. 订购机票时,针对每个乘机人可以购买多份保险。
二、以上场景包括了一下对象:
订单、行程、航班信息、价格信息(机票政策)、乘机人、机票、联系人、保险
对象关系如下:
机票包含(行程+航班信息+价格)、
乘机人包含(机票、保险)
订单包括:(机票、乘机人、联系人)
为什么乘机人、机票是1对多的关系?
答:这里主要考虑到假往返的情况,如果是假往返每个乘机人对应两个票,
每个票对应一个政策(两张票的政策有可能是一个供应商也有可能是两个供应商,总之政策是不一样的)
由于:
a. 行程信息只包含出发地、目的地、时间已经包含在机票对象中,不需要单独建立实体。
b. 联系人和订单属于1:1关系,所以联系人直接作为订单属性。
c. 乘机人、机票之间已经包含1:n关系。
所以,模型还可以再次简化