
通过上面的分析,建立了下列java售票系统实体类:
1、航班计划(Flight Scheduler):用来描述由某个航空公司执行的某个定期航班的计划表。例如:由中国国际航空公司执行的每天早上8:00从北京起飞,上午10:00到达上海的CA1202就是一个航班计划。
航班计划中包含如下属性:航班号、起始日期、结束日期、出发地、目的地、离港时间、到港时间、里程、飞机机型、班期、基准票价。主要属性介绍如下:
(1) 航班号:由航空公司给航班计划定义的唯一标识号码,该号码由2位英文字符和4位数字组成,2位英文字符是航空公司编码,4位数字是航班编码。例如:CA1202就是一个航班计划的航班号,其中CA代表中国国际航空公司,1202代表航班的编号。
(2) 出发地:用来描述某个航班计划的起飞城市和机场,所有国内机场均用三个英文字母的代码表示。
(3) 目的地:用来描述某个航班计划的到达城市和机场,所有国内机场均用三个英文字母的代码表示。
(4) 离港时间:用来描述某个航班计划的从出发地机场离开的时刻,离港时间一般代表飞机舱门关闭,不再接收乘客的时刻。该时间精确到分钟。
(5) 到港时间:用来描述某个航班计划到达目的地机场的时间,到港时间一般代表飞机舱门开启,允许乘客下飞机的时刻,该时间精确到分钟。
(6) 开始日期:用来描述某个航班计划的开始日期,该日期精确到某一天。
(7) 结束日期:用来描述某个航班计划的结束日期,该日期精确到某一天。
(8) 班期:用来描述某个航班计划在一周之内哪些天有航班,哪些天没有航班。
2、航班(Flight):用来描述在某个确定日期执行某个定期航班计划的一次航班。例如:2008年5月25日从北京飞上海的CA1202就是一个航班的实例。
属性:航班计划,出发日期,各舱剩余座位数,折扣。
3、营业网点(Branch):用来描述航空公司的某个分支机构,该机构能使用该系统为顾客提供查询航班和出票的服务。营业网点通过若干台终端机器与航空公司的服务器相连。营业网点包含以下属性:编号、名称、密码、城市、地址。
4、舱位等级(CabinClass):用来描述航班的不同舱位,一般分为三种:头等舱(F),公物舱(C),经济舱(Y)。不同的舱位等级具有不同的机票折扣。实际情况中航空公司定义的舱位等级可能更复杂,在本项目中为简化业务模型,只对舱位等级做上述三种划分。
5、 乘客类型(TicketType):用来描述乘坐航班的乘客的类型,一般分为三种:成人(A)(age>12),儿童(C) (2
6、 飞机机型(Plane Model):用来描述执行某个航班计划的飞机的型号,一般来讲,一个航班计划的各次航班都应该采用同种机型的飞机来执行。不同的飞机型号有不同的航程及 各舱座位数。实际情况中,各种机型的座位数是不一样的,同一机型还分好几个系列,如B737(波音737)有B737-200、 B737-300....B737-900等多个系列,每个系列座位数都不一样。即使是同一型号、同一系列的机型,所属的航空公司不同,座位数也会不同, 因为航空公司在购买飞机时,会根据自己的需要要求厂家采用不同的布局,不同的布局会有不同的头等舱、公务舱、经济舱座位数。在本项目中为简化业务模型,我 们认为同种型号的飞机各舱座位数是固定的。
7、机票订单(Ticket Order):一张成功出票的机票记录。