航空订票系统详细设计 联系客服

发布时间 : 星期四 文章航空订票系统详细设计更新完毕开始阅读44fc25f40622192e453610661ed9ad51f11d54ef

consumerTelephone consumerMailBox VARCHAR2(11) VARCHAR2(20) N N 联系电话 电子邮箱 用已与用户取得联系 用已与用户取得联系 管理员(Manager) 是默否字段类型 认字段含义 为值 空 VARCHAR2(10) VARCHAR2(20) VARCHAR2(20) N N N 管理员编号 管理员名称 管理员密码 字段名 注释 managerId managerName managerPassword 用以标示不同管理员。 管理员自己取的名字有利于其记忆,可以用来登录等。 用于确定管理员身份。 航班表(FLIGHT)

是默否字段类型 认字段含义 为值 空 CHAR(6) DATE DATE VARCHAR2(20) VARCHAR2(20) DATE DATE CHAR(7) NUMBER(5) N N N N N N N N N 飞机编号 出发日期 到达日期 出发地点 到达地点 出发时间 到达时间 班期 航程 字段名 注释 flightId startDate endDate fromAddress toAddress startTime endTime scheduler sailLength

PRIMARY KEY 飞机起飞的日期 飞机到达的日期 飞机起飞地点 飞机目的地 起飞时间 到达目的地时间 座位表(FLIGHT) 是默否字段类型 认字段含义 为值 空 CHAR(6) N 飞机编号 字段名 注释 flightId flight_number first_class_remain_seats business_class_remain _seats economy_class_remain _seats priceoff calendar

3.4、流程图:

CHAR(6) NUMBER(3) NUMBER(3) NUMBER(3) NUMBER(4,2) DATE N N N N N N 航班号 头等舱剩余座位数 公务舱剩余座位数 经济舱剩余座位数 季节折扣 出发日期 PRIMARY KEY 飞机到达的日期

客户端启登录 No 有效数yes 出票 No 已查航航班查输入查询条No 验证有修改密输入新密码 输入乘客信yes No 验证有验证有yes No yes 封装request对将request对象写向服务分拣请求 出票请求 查询航班请求 修改密码请调用BranchDao 登陆请求 调用BranchDao 调用TicketOrderDAO 调用FligthDao 封装response对象 将response对象写往客解析request对象将结果显示在客图5流程图

3.5 DAO 接口设计

设计了通用的DAO接口,而不是直接写访问数据库的实现类,这样可以创建不同的实现类来实现接口,使标准制定和标准实现分离。当换了数据库,或者换了数据库访问技术,就可以写新的实现类,不用改变原来的代码。如定义FlightDAO接口,若从文件中读取数据可以定义FlightDaoFromFile实现类,若利用JDBC访问数据可以定义FlightDaoFromJDBC实现类,若利用hibernate访问数据可以定义FlightDaoFromHibernate实现类等。

3.5.1 FlightDAO

flightDAO用来航班计划,航班的数据访问。 package com.tarena.abs.dao; import com.tarena.abs.model.*; import java.util.*;

//对航班和航班计划数据访问的接口。 public interface FlightDAO{

// 根据指定出发地,目的地和出发日期在底层数据源中查找 //得到所有的航班对象的集合。

public Set getAllFlights(String fromAddr,String toAddr,Calendar date);

//执行出票的操作。

public boolean order(Order ord);

//添加指定的航班计划对象。

public boolean addFlightSchedular(FlightSchedular fs); //根据给定的航班编号在底层数据源中删除该航班计划, //以及该计划下的所有航班。

}

public boolean removeFlightSchedular(String flightNumber);

// 得到所有航班计划对象

public Set getAllFlightSchedulars();

//添加航班

public boolean addFlight(Flight fl);

3.5.2 TicketOrderDAO

TicketOrderDAO用来访问票单数据。 package com.tarena.abs.dao; import java.util.Set;