id 机票编号 NUMBER(10) PRIMARY KEY
flight_id 航班编号 NUMBER(8) NOT NULL FORIGN KEY
passengername 乘客姓名 VARCHAR(40) NOT NULL
passengerid 证件号码 VARCHAR(20) NOT NULL
calendar 出票日期 DATE NOT NULL
cabinclass 舱位等级 CHAR(1) NOT NULL CHECK IN(F,C,Y)
tickettype 乘客类型 CHAR(1) NOT NULL CHECK IN(A,C,I)
agent_id 代理商编号 NUMBER(4) NOT NULLFORIGN KEY
4.3 DAO接口设计
设计了通用的DAO接口,而不是直接写访问数据库的实现类,这样可以创建不同的实现类来实现接口,使标准制定和标准实现分离[8]。当换了数据库,或者换了数据库访问技术,就可以写新的实现类,不用改变原来的代码。如定义FlightDAO接口,若从文件中读取数据可以定义FlightDaoFromFile实现类,若利用JDBC访问数据可以定义FlightDaoFromJDBC实现类,若利用Hibernate访问数据可以定义FlightDaoFromHibernate实现类等。
4.3.1 航班接口
FlightDAO用来航班的数据访问。
public interface FlightDAO{
//根据指定出发地,目的地和出发日期在底层数据源中查找得到所有的
航班对象的集合。
public Set getSelectedAllFlights(String fromAddr,String toAddr,
MyDate date);
//获取所有的航班
public Set getAllFlights();
//执行出票的操作。
public boolean order(Order ord);
//添加指定的航班计划对象。
public boolean addFlight(Flight f);
//根据给定的航班编号在底层数据源中删除该航班计划,以及该计划
//下的所有航班。
public boolean removeFlight(String flightNumber);
//该方法删除过期航班。
public void removeOverDateFlights();
}
4.3.2 航班计划接口
FlightSchedularDAO用来访问航班计划数据。
public interface FlightSchedularDAO {
//增加航班计划
public boolean addFlightSchedular(FlightSchedular fs);
//删除航班计划
public boolean removeFlightSchedular(String flightNumber,
String airlineComanpanyName);
//获取要查询的指定航班计划
public ArrayList getFlightSchedular(String fromAddr, String toAddr);
// 获取所有的航班计划
public Set getAllFlightSchedular();
}
4.3.3 代理商接口
AgentDAO用来访问网点数据。
public interface AgentDAO{
//根据给定的姓名和密码在底层数据源中查找代理商的纪录,
//若找到,则返回该代理商对象,若没找到或密码错误则返回null。
public Agent getAgent(String name,String passwd);
//向底层数据中添加一个代理商纪录。
public boolean addAgent(Agent user);
//根据指定的代理商的姓名在底层数据源中删除该代理商。
public boolean removeAgent(String name);
//更新指定代理商的积分。在现有积分基础上增加或减少指定的积分。
public boolean updateScore(String name,int n);
//修改指定代理商的密码。
public boolean modifyPassword(String name,String newPassword);
}
4.3.4 航空公司接口
AirlineCompanyDAO用来访问航空公司数据。
//定义对航空公司的添加、删除、修改和查询功能
public interface AirlineCompanyDAO {
//添加航空公司
public boolean addAirlineCompany(AirlineCompany ac);
//删除航空公司
public boolean removeAirlineCompany(String airlineCompanyName);
//查询航空公司是否已经存在
public boolean hasComanyNameOrCode(String companyNameOrCode);
//获取所有的航空公司信息
public AirlineCompany getAirlineCompany(String companyName);
}
4.4 系统程序
4.4.1 服务器端
服务器端的功能包括服务器端提供的功能主要有:监听功能,服务器在运行后,创建线程一直监听客户端请求,添加或删除航班计划,添加或删除航班,添加或删除机型,添加或删除代理商,统计各代理商的业绩,显示各代理商信息。
(1)服务器主界面如图12所示。
图12中显示了从广州到长沙已正在执行的所有航班。
图12 服务器主界面转贴于 酷文网-论文下载中心 http://www.coolwen.net
共12页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] [9] [10] [11] [12] 下一页
网摘收藏: