Java课程设计-----飞机航班管理系统.pdf
《Java课程设计-----飞机航班管理系统.pdf》由会员分享,可在线阅读,更多相关《Java课程设计-----飞机航班管理系统.pdf(57页珍藏版)》请在三一文库上搜索。
1、. 一 引言 1.1项目的名称 飞机航班信息管理系统 1.2项目背景和目标 飞机航班信息管理系统主要能够查询飞机的航班情况,飞行线路,票价, 折扣等等情况, 并能够在数据库中更新维护飞机航班的信息,对飞机航班 数据库进行管理, 如航班的增加, 删除和修改等。 我们的目标就是为该系 统提供后台连接数据库程序设计以及前台用户界面设计。 1.3项目的可行性研究 设计此系统需要java面向对象编程基础,数据库应用知识以及功能分 析。 根据目前所开设的课程, 学生已经具备这样的知识, 有能力综合 java 编程知识和数据库应用知识做出一个这样的飞机航班信息管理系统。 二、 需求分析 21 系统概述 此系
2、统提供给系统管理员和用户。 系统管理员登陆后可以对飞机航班信 息进行管理,如:添加飞机航班信息,删除飞机航班信息,修改飞机航班 属性。用户登陆后能进行飞机航班信息查询,订票以及退订。 22 系统运行环境 Java运行在 eclipse软件上,数据库用mysql 数据库 23 功能需求描述 用户选择相关的服务项目可以查看相关航班基本信息,并且可以根据自己 需求选择相应服务,系统的信息更新时,相关的信息经过相应处理后,会 存入到飞机航班数据库中的航班信息记录表中;系统管理员根据航空公司 实际情况可以更新航班信息,并通过修改信息处理后被保存到飞机航班表 中。 . 三、系统设计 3.1 开发与设计的总
3、体思想 飞机航班信息管理系统主要分为用户和系统管理员2 类, 因此也将该系 统分为 2个相应的大的功能模块。 用户可以通过服务项目选择查询相关航班情况,进行订票,退订等服务项 目。系统会将数据库中相应信息反馈给顾客。 系统管理员负责管系统信息的及时更新,可以根据航空公司航班的具体的 情况更新数据库。 3.2 系统模块结构图 飞机航班信息管理系统 系统管理员模块 用户模块 信 息 查 询 订 票 退 订 添 加 飞 机 航 班 信 息 删 除 飞 机 航 班 信 息 修 改 飞 机 航 班 信 息 系统管理员登录用户登录 . 33 数据库结构设计 为了支持此飞机航班信息管理系统,创建数据库air
4、plane manage,在这个数据库里 包含三个表: flight information表,passenger 表,managerlogin表,和 passengerlogin 表,它们的截图如下: 在 flight information(飞机航班信息)表中,有8 个属性列,分别为id (序列), stime(飞机起飞时间) , etime(飞机到达时间) , sadd (飞机起始点) , eadd (飞机终点) ,znum (总票数), snum(剩余票数)。其基本数据类型分别为:int ,char ,char ,char ,char , char 。当查询飞机航班基本信息时,从此表中
5、获取数据。截图如下: . 在 passenger 表中, 有两个属性列, 分别为: Pname(姓名 ),Psex( 性别 ) ,Page (年龄), Pplace( 籍贯 ) ,number(电话号码)其基本数据类型分别为:char,char,int ,char ,int 。 当管理员登录系统时从此表获取数据,其截图如下: . 在 managerlogin表中, 有两个属性列, 分别为: Mname( 管理员姓名 ),Mpassword( 密码 ) 其基本数据类型分别为:char,char。当管理员登录系统时从此表获取数据,其截图如下: 在 passengerlogin表中,有两个属性列,
6、分别为:Pname(用户姓名 ),Ppassword(密码 ) 其基本数据类型分别为:char,char。当教职工登录系统时从此表获取数据,其截图如下: . 34 模块设计 在整个系统主界面,可以选择登录方式,是用户登录还是系统管理员登录。 如果选择用户,则进入用户登录界面,在这个界面上要求输入用户姓名和密码。输入后单击“确认登 录”按钮,若密码正确,则转换到飞机航班信息查询页面,若密码不正确,这提示密码错误。 如果选择是系统管理员登录,则进入管理员登陆界面,在这个界面上输入管理员姓名和密码,输入后 单击“飞机航班信息管理”按钮,则进入管理员主界面。在管理员主界面可以选择添加操作,删除操作还
7、是修改操作。 若要查询用户的简介信息,点击查询菜单项则进入用户简介信息检索界面,在此界面的检索方式中选 择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“pname ”字段时,要输入某个用 户的姓名。输入后,单击“检索”按钮,则开始对数据库中数据进行查询。如果数据库检索到所需信息, 则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。 若要查询飞机航班信息,点击查询菜单项则进入飞机航班信息检索界面,在此界面的检索方式中选择 要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“飞机对应航班序号的相关信息” 字段时,要键入某个飞机航班序号。输入后,单击“检索
8、”按钮,则开始对数据库中数据进行查询。如果 数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。 如果管理员要对数据库中进行修改操作,则在管理员主界面上选择修改菜单项,在此项中,选择要修 . 改的具体内容,总共有三项修改操作:添加飞机航班信息,删除飞机航班信息,修改飞机航班信息。在添 加信息操作中,按照标签提示一次输入要添加的记录值,输入完毕后,单击“添加”按钮,若输入成功, 则提示成功,若输入失败,则提示失败。在删除信息操作中,输入要删除的信息,单击“删除”按钮,若 删除成功,则提示成功,若删除失败则提示失败。在修改信息操作中,输入要修改的信息,单击“修改”
9、 按钮,若修改成功,则提示成功,若修改失败则提示失败。 以上就是该飞机航班管理系统涉及的操作步骤。 35 系统流程描述 NO NO YES YES 开始 登陆 用户系 统 管 理 成 功 成功 信息 查询 飞机航 班主界 面 密 码 错误 密 码 错误 订 票 退 订 查 询 航班序号 修改 添 加 飞 机 航 班 信息 删除 飞机 航班 信息 修改 飞机 航班 信息 成功 成功 用户信息 航 班 信 息 选择检索方式和数据 成功 . NO NO NO NO NO YES YES YES YES YES 四、系统实现 1.Connection包中的类: (1)DBconnection类:此类设
10、置程序与数据库的连接,通过设置驱动类型和数据源来 确定要连接的数据库。若连接成功,提示:connection success,若连接失败,提示: connection failure DBconnection 类源代码 package connection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBconnection public static Connection con=null; public static Connec
11、tion getConnection() try String dbDriver=“com.mysql.jdbc.Driver“; Class.forName(dbDriver); System.out.println(“Driver Suceess“); catch (ClassNotFoundException e) System.out.println(“Driver not found“); e.printStackTrace(); try con=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/airplane mana
12、ge“,“root“,“123“); System.out.println(“Connection Suceess“); catch (SQLException e) System.out.println(“Connetion failure“); e.printStackTrace(); 成功 对 应 的 航 班 信 息 不显 示任 何信 息 成功 添 加 成 功 删 除 成功 修改 成功 失 败 失 败 失 败 对 应 的 用 户 信 息 不 显 示 任 何 信 息 . return con; public static void closeConnection() if(con!=nul
13、l) try con.close(); System.out.println(“database close success“); catch (SQLException e) System.out.println(“close failure“); e.printStackTrace(); public static void main(String args) 2.dao包中的类: (1)FlightDao类 : 在 该 类 中 有 四 个 方 法queryFlight, queryFlight1, addFlight, deleteFlight。 作用分别是为用户提供查询航班信息的功能,
14、为管理者用户提供查询航班信息,添加航班信 息,删除航班信息功能。 queryFlight()方法中,有一个参数, 传给 select语句中的Pname (用户姓名), 利用 select 语句,查询航班信息表中的内容。若查询成功, 则返回一个ArrayList类的对象lis (表格), 否则,异常处理 queryFlight1()方法中,有一个参数, 传给 select语句中的Pname (用户姓名), 这个 Pname 的用户登录是输入的姓名。即此类的作用是每个用户登陆只能查看本人的航班信息。若查询 成功,则返回一个ArrayList类的对象lis (表格),否则,异常处理 addFligh
15、t()方法中,有四个参数,分别传给insert语句中的id (序列),stime (飞机 起飞时间),etime (飞机到达时间) ,sadd(飞机起始点) ,eadd(飞机终点) ,znum(总票 数) ,snum (剩余票数) 。利用 insert语句,将这些记录写入flight表中。若插入成功返回 true, 否则返回 false deleteFlight() 方法中,有一个参数, 传给 delete语句中的Pname (用户姓名), 利用 delete 语句,把flight表中相关信息删除。若删除成功,返回 true ,否则返回false 。 FlightDao类源代码: packag
16、e dao; import java.sql.Connection; import java.sql.PreparedStatement; . import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import ui.PassengerLoginUI; import model.Flight; import model.Passenger; import connection.DBconnection; public clas
17、s FlightDao public ArrayList queryFlight(String key) ArrayList lis = new ArrayList(); Connection con = DBconnection.getConnection(); Statement stm; try stm = con.createStatement(); String sql = “select * from flight where Pname like %“ + key + “% “; System.out.println(sql); ResultSet rs = stm.execut
18、eQuery(sql); while (rs.next() Flight flight = new Flight(rs.getInt(1), rs.getString(2), rs .getString(3), rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8); lis.add(flight); catch (SQLException e) e.printStackTrace(); return lis; public ArrayList queryFlight1(String key) . ArrayList lis
19、= new ArrayList(); Connection con = DBconnection.getConnection(); Statement stm; try stm = con.createStatement(); String sql = “select * from flight where Pname like %“ + PassengerLoginUI.st1 + “% “; System.out.println(sql); ResultSet rs = stm.executeQuery(sql); while (rs.next() Flight flight = new
20、Flight(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8); lis.add(flight); catch (SQLException e) e.printStackTrace(); return lis; private Object getInt(int i) / TODO Auto-generated method stub return null; public boolean addFlight(int id,
21、String stime ,String etime, String sadd , String eadd,int price,int znum,int snum ) Connection con = DBconnection.getConnection(); PreparedStatement pst; try pst = con.prepareStatement(“insert into flight . values(?,?,?,?,?,?,?,?)“); pst.setInt(1, id); pst.setString(2, stime); pst.setString(3, etime
22、); pst.setString(4, sadd); pst.setString(5,eadd); pst.setInt(6,price); pst.setInt(7, znum); pst.setInt(8, snum); int count = pst.executeUpdate();/ 返回修改的记录数 if (count = 1) return true; else return false; catch (SQLException e) e.printStackTrace(); return false; public boolean deleteFlight(String key)
23、 Connection con = DBconnection.getConnection(); Statement stm; try stm = con.createStatement(); String sql = “delete from flight where Pname like %“ + key + “% “; System.out.println(sql); int count = stm.executeUpdate(sql); if (count = 1) return true; else return false; catch (SQLException e) e.prin
24、tStackTrace(); return false; . public boolean addFlight(String id, String stime, String etime, String sadd, String eadd, String price, String znum, String snum) / TODO Auto-generated method stub return false; ( 2) ManagerDao 类:此类中有一个方法:queryManager (),作用是控制管理员登陆 queryManager ()方法中,有两个参数,分别传给select语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 飞机 航班 管理 系统
链接地址:https://www.31doc.com/p-5595644.html