基于JSP和SQL Server 2014实现的飞机售票管理系统
一、系统需求分析
1.1 引言
随着近年来,旅游热潮逐渐升温,人们经常利用节假日,进行旅行。这时航空公司对自身的销售系统进行提升,开发“机票预订系统”对自身的销售过程有相当大的帮助,所以有必要开发高效的机票预订系统。“机票预订系统”的主要功能是帮助航空公司对乘客的信息进行统计、更新。并对自己的航班做出相应的调整,来达到最好的运输效果。
其功能描述如下:
- 乘客访问本系统,查询航班和机票,最后预订
- 工作人员看到预订信息后与乘客联系,经确定后等待乘客支付
- 乘客付款后,系统印出取票通知和帐单给乘客或提供送票上门服务
- 航空公司为随时掌握各航向飞机的乘载情况,系统定期进行查询统计,以便适当调整
- 系统对旅客延误了取票时间的处理
- 系统对班机取消后的处理
- 乘客临时更改机票班次的处理
1.2 工作流程
本系统工作流程为:系统启动并进入登录界面,根据不同的用户进行登录,所有用户都可以浏览系统主页面。通过权限判断,普通用户只能浏览、阅读和查询信息,注册用户除了可以完成普通用户的操作外,还可以进行对自己注册资料的操作(包括对自己的资料的录入、修改和删除的操作)。管理员可以对系统信息进行添加、修改和删除的权限,及对系统管理的所有功能进行操作。所有用户均可以实现查询功能。
本系统是将现代化的计算机技术与管理服务模式相结合,按照销售管理的服务流程设计完成的。同时为扩展服务范围,初步设计一个销售平台以利于信息发布和管理。为了使系统在各项管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下系统开发目标:
-
操作简单、界面友好 :完全控件式的页面布局,使得信息的录入工作更简便;许多选项包括信息类别、来源、作者等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况
-
即时可见 :对信息的处理(包括添加、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能
-
功能完善 :不仅包括常见系统的信息管理的各个方面:信息录入、浏览、删除、修改、查询等各个方面,完整地实现了系统对即时信息的管理要求。而且,还能进行对会员的管理,对会员的资料进行审核,以及上传文件的管理。同时,为了能有效方面的更新系统的界面
-
方便移植 :系统应具有实用性、可靠性和适用性,同时注意到先进性。针对不同的用户,只需要稍作修改就可以开发出适合自己特点的网上书店。系统界面中所需的条目,图片等数据都存放于数据文件中,只要对该文件做部分修改,就能在系统界面上实现及时更新的效果,减少了更改系统源代码的复杂性
-
动态管理 :对系统数据库实行动态操作,能实现对数据库信息的动态查询、动态更新修改和动态录入数据
1.3 可行性分析
- 要求 :
- 能自动的预订出乘客的机票,安排好航班
-
输出如报告、文件或数据:取票通知和账单
-
目标 :
- 人力与设备费用的减少
- 处理速度的提高
- 管理信息服务的改进
- 自动决策系统的改进
- 人员利用率的改进
使用现有的技术能不能实现这个系统。由于本管理系统的对象单一,仅对航空公司机票进行管理。因此,这个管理系统比较适合采用数据库来设计。在计算机硬件和软件快速发展的今天,计算机硬件和软件已经远远满足本管理系统的要求。在数据库编程工具方面,各种可视化编程方法的出现,一改过去程序设计的概念和方法,用户用鼠标就可以快速、简捷地创建应用程序,极大地提高了编程效率。
1.4 软件设计需求分析
由 JSP 开发的机票预订系统具有界面友好,操作简单,使用方便的特点。在系统运作过程中,任何计算机专业与非专业人员都能轻松使用和管理。本系统是以 SQL Server 2014 的企业版作为数据库设计平台。SQL Server 2014 的企业管理器是图形化的集成管理工具,功能强大,而且使用比较简单。可以说,本系统在操作上是可行的。
开发工具
- 服务器端操作系统 : Windows 10
- 客户端操作系统 :Windows 10
- 开发工具 : Myeclipse
- 数据库 :SQL Server2014
二、系统设计
2.1 总体设计
2.1.1 系统设计总目标
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,该系统全面、正确、完整、及时地收集、加工、整理、清算在整个订票业务流程中所发生的各类资金、订单、机票等有关信息。
2.1.2 系统设计功能
-
条线贯穿着客户注册、查询、订票、更改、取消、留言、帮助等
-
条线管理着信息更新、资金帐户、机票、结算等,并进行监视分析
2.1.3 系统设计内容和要求
根据航空公司的需要,系统应当包含基本的功能有:用户注册、用户登录和管理员登录,航班查看等。用户则划分为基本乘客和管理员两大类,管理员还兼具有管理职能。功能模块图如下:
2.1.4 输入输出环节
出设计是系统设计中很容易被忽视的环节,又是一个重要的环节。一个好的输出系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出设计可以为管理者提供简捷、明了、有效、实用的管理和控制信息。本管理系统输入设计数据根据输出的要求来选择。输出类型设计是根据需求设计为打印输出,这是用户通常要求的最主要的形式。输入内容设计主要是根据数据库设计和输出设计的结果来确定的。外部输入主要是键盘输入,内部输入只要是数据库中调用的信息,如会员资料信息的注册,在后台对帖子管理,用户信息,重要通知的添加。5.代码设计
设计代码的目的是为了便于计算机和人识别和处理,更方便的进行分类和排序,使计算机对数据进行快速的查询。对客观实体,通过代码进行识别、分类。从计算机信息处理而言,使用代码节省处理时间与空间,提高处理速度与效率。代码设计在系统中,它是人与计算机的共同语言,起着沟通人与计算的作用。采用代码,可以使数据表达标准化、简化程序设计、加快输入、减少出错率、节省存储空间、提高处理速度。代码设计是一项重要的基础工作。因此,代码设计有他特有的意义。
2.2 系统详细设计
2.2.1 数据库整体设计(E-R 图)
数据库需求分析定义了数据本身的静态特征,但他们反映的仅是应用需求,并无反映出数据之间的本质联系。管理系统主要以管理员和用户来共同完成一个业务流程:
2.2.2 航班实体图、机票实体图及简单说明之间的关系。
机票实体图,如图 4-4 示,机票实体与航班实体是多对一的关系。
航班实体图,如图 3-3 所示,航班实体与机票实体为一对多关系。
2.2.3 数据库物理设计
本系统用到的数据表有:管理员表、航班表、机票表等。下面将对各个数据库表做介绍。
管理员表(ADMIN)
管理员表如表 4-1 所示,其中 ID 字段为主键且自动增长,此表只保存系统管理员的用户名和密码。
字段名称 | 字段类型 | 字段长度 | 字段说明 |
---|---|---|---|
ID | int | 4 | 唯一编号,主键 |
ADMIN | varchar | 15 | 用户名 |
PASSWORD | varchar | 50 | 密码 |
航班表(FLIGHT)
航班表如表 5-5 所示,此表描述的是航班信息,其中 ID 字段为主键且自动增长,航班编号(FLIGHT_CODE)唯一。
字段名称 | 字段类型 | 字段长度 | 字段说明 |
---|---|---|---|
ID | int | 4 | 唯一编号,主键 |
FLIGHT_CODE | varchar | 50 | 航班编号 |
FLIGHT_END | varchar | 50 | 目的城市 |
START_TIME | varhcar | 50 | 出发时间 |
ARRIVE_TIME | varchar | 50 | 到达时间 |
FLIGHT_DATE | varchar | 50 | 班期 |
FLIGHT_COMPANY | varchar | 50 | 航空公司 |
FLIGHT_PLANE | varchar | 50 | 机型 |
FLIGHT_TYPE | char | 1 | 类别 |
REMARK | varchar | 100 | 备注 |
机票表(NEWS)
机票表如表 5-7 所示,此表描述的是机票信息,其中 ID 字段为主键且自动增长,机票等级(GRADE)为 int 型,设 1 为经济仓,2 为头等仓。
字段名称 | 字段类型 | 字段长度 | 字段说明 |
---|---|---|---|
ID | int | 4 | 唯一编号,主键 |
FLIGHT_CODE | varchar | 50 | 航班号 |
START_DATE | datetime | 8 | 出发时间 |
GRADE | int | 4 | 1 为经济仓;2 为头等仓 |
NUMBER | int | 4 | 数量 |
PRICE | float | 8 | 价格 |
DISCOUNT | float | 8 | 折扣率 |
REMARK | varchar | 100 | 备注 |
2.3 系统模块化
由于本系统所涉及到的信息较多,所以可以按不同功能划分成以下 4 个模块:管理模块,航班管理模块,航空公司管理模块,订票管理模块。
设计系统功能模块
随着 JSP 技术的成熟,越来越多的开发人员开始使用 Web 应用框架。框架是一由一些类组成,这些类为应用程序提供了一个可重用的设计,或者应用程序中的一层。应用程序代码访问类库从而执行任务,而框架是调用应用程序代码,从而管理程序的流程。框架为 Web 应用提供了预备的软件架构和相关的软件包,它大大提高了开发 Web 应用的速度和效率。
2.4 连接数据库
数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:
java
Connection con = DriverManager.getConnection("jdbc:odbc:wombat", "login", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
2.5 设计登录及修改密码功能模块
登录为管理员,登录成功后可进行相应的操作界面,登录模块可在客户端和服务器端进行验证,无需写代码,也不需要写 JavaScript 脚本即可验证用户名、密码是否为空,密码长度等。如图 3-7 所示。
2.6 设计航班管理功能模块
航班管理同样也分为航班的增删改查,在/admin/文件夹下由 FlightAction.java、flightForm.java、FlightDAO.java、FlightDTO.java 实现,前台 JSP 页面有 flightManage.jsp、flightAdd.jsp、flightUpdate.jsp,添加航班时机型为数据库存在的机型,只能在下拉框中选择,如图 3-8 所示。
2.7 设计航空公司管理功能模块
航空公司管理由在/ WEROOT /文件夹下 TicketAction.java、ticketForm.java、TicketDAO.java、TicketDTO.java 实现,前台 JSP 页面有 ticketManage.jsp、ticketAdd.jsp、ticketUpdate.jsp、ticketQuery.jsp, 添加机票时航班为数据库存在的航班,只能在下拉框中选择,如图 3-9 所示。
航空公司管理实现机票的修改和删除,显示机票对应的航班某些信息及自身信息,具体如图 3-11 所示。
2.8 设计订票管理功能模块
订票管理分为订票信息的删除、修改、查询、增加,在/WEROOT/文件夹下文件路径 BespeakAction.java、bespeakForm.java、BespeakDAO.java、BespeakDTO.java,前台 JSP 页面有 bespeakManage.jsp、bespeakAdd.jsp、bespeakUpdate.jsp、bespeakQuery.jsp, 添加订票信息需要输入相关订票者信息,而不需要添加任何机票信息,系统会自动添加乘客选中的机票相关信息。为了防止恶意订票及时下网上存在的一些注册机进行批量注册,为此添加了注册码功能,如图 6-6 所示。
订票管理中增加了购买功能,乘客预订机票后,预订信息中显示的状态为预订,当乘客付款领取机票时,操作员会点击相应记录后的“购买”,然后订票信息状态发生改变,由预订变为购买,同时机票表中对应机票数量相应减少。如图 3-12 所示。
三、系统实现
3.1 系统测试的目的
- 软件测试是为了发现错误而执行程序的过程
- 测试是为了证明程序有错,而不是证明程序无错误
- 一个好的测试用例是在于它能发现至今未发现的错误
- 成功的测试是发现了至今未发现的错误的测试
3.2 系统测试的具体实现
3.2.1 登陆界面测试
进入登陆界面,输入错误的户名和密码,点击登陆,测试系统是否弹出错误提示,提示输入的用户名和密码错误。输入正确的普通用户名和密码点击登陆查看是否进入普通用户界面,输入管理员用户名和密码点击登陆查看是否进入管理员界面。点击退出系统按钮,是否弹出确认退出的对话框,点击“是”退出系统,点击“否”不作任何操作。发现问题,密码输入没有经过加密导致用户密码可见,通过对输入框属性的设定将密码加密,再次运行时输入密码显示为*号。
3.2.2 信息查询功能测试
进入查询界面,在区、镇、村的下拉列表中选择不同的区、镇、村和企业点击查看,看是否调出对应的信息。点击“退出”按钮,看是否有对话框弹出,提示是否退出系统。
在关键字查询对话框中输入查询信息的关键字,点击查询,测试系统是否显示相关的信息。
3.2.3 数据维护功能测试
进入数据维护界面,在选择需要维护数据的下拉列表框中选择要维护的表,测试系统是否显示对应的表格。选定表后在关键字查询中键入关键字,点击查询,测试系统是否成功在数据库表中检索到与关键字对应的信息。
点击“插入”测试是否在表格中出现新的可编辑行。编辑数据后点击保存,退出系统,再进入系统测试数据是否真的被保存
选中一条数据点击删除当前行,点击保存,退出系统,再进入系统后测试信息是否被删除
为了测试系统对于误操作的反应,点击全部删除后不点保存,直接退出系统。再次进入系统测试数据是否删除。为了保证系统操作的安全可靠,不点击保存操作的结果就不会被存入数据库。
3.2.4 用户信息维护功能测试
用户信息维护界面拥有与数据维护界面相同的插入、删除、清空功能,对这些功能的测试步骤同数据维护功能测试。对用户信息维护测试的关键在于权限的设定是否起作用。在用户表中添加两个用户信息分别将权限设定为普通用户和管理员,保存后在系统登陆界面分别以新的用户名登陆,测试系统是否将新用户信息存入数据库,并且能在登陆时根据新的用户信息登陆到对应的界面。
3.2.5 软件测试的结论
软件基本达到设计要求,软件功能完整,用户界面良好,错误处理正确,且能正确提示错误种类。
但是在测试中也发现软件的一些不足与缺陷, 如在数据维护界面中,当退出系统时系统只能提示是否退出系统,不能在未保存操作的情况下先提示用户保存操作再退出系统,所以,需要在此基础上进一步的予以纠正。
3.3 系统各项运行结果
3.3.1 首页效果图
关键代码如下:详见 index.jsp
```html
```
3.3.2 国内航班效果图
关键代码如下:详见 guonei.jsp
```html
国内航班 | |||||||||||||
|
```
3.3.3 用户注册个人信息效果图
关键代码如下:详见 personreg.jsp
```html
您现在的位置: 会员申请>> > 详细资料 |
|
```
3.3.4 注册成功效果图
核心代码如下:详见 login.jsp
```html
|
```
四、总结
经过精心设计,系统基本达到了前期所提出的要求,完成了对用户登录模块、主模块、用户信息管理模块、新闻管理模块、航班管理模块、机型管理模块、机票管理模块及订票管理模块的设计,实现了对各个信息的添加、查询、修改和删除等功能,能够满足用户对各个信息进行管理的目标,在界面设计上达到了简单、清晰、友好的目标。
在设计过程中也遇到了不少困难。在对用户需求进行分析阶段,对用户的需求没有掌握好,导致设计和建设数据库有些不合理,发现时很多地方需要修改甚至重做。由此才真正体会对用户需求分析是软件设计过程中不可缺少的部分,而且如果没有充分了解用户的需求时设计系统,最后将会导致软件不能满足用户的需求,甚至可以说。虽然说系统已经基本达到要求,但是由于时间和技术水平问题,还有些问题没有完善和解决,特别是添加新闻时没有嵌入编辑器,这是日后需要完善的地方。
参考文献
- 旅游电子商务预订管理系统的设计与实现(哈尔滨工业大学·曲靖雯)
- 电子商务平台航空订票系统的设计与实现(西安电子科技大学·王璐)
- 基于四层架构的联网售票网站后台管理系统(广东工业大学·邓源清)
- 基于Web的卷烟订单管理系统的设计与实现(南昌大学·雷登科)
- 船舶票务系统的设计与实现(大连海事大学·王经纬)
- 基于云计算模式的社会服务管理信息化平台项目设计与建设(吉林大学·杨刚)
- 电子商务平台航空订票系统的设计与实现(西安电子科技大学·王璐)
- 旅游管理系统的设计与实现(东北大学·王宇慧)
- 汽车客运信息系统的设计与实现(东华理工大学·王大鹏)
- 电子商务平台航空订票系统的设计与实现(西安电子科技大学·王璐)
- 基于JSP平台的汽车网站的研究与开发(中国海洋大学·盛锦玉)
- 电子商务平台航空订票系统的设计与实现(西安电子科技大学·王璐)
- 基于J2EE的通用电子票务管理系统设计与实现(吉林大学·李元杰)
- 基于Web的航空票务管理系统的设计与实现(西安电子科技大学·韩璐)
- 公园门票销售管理系统的设计与实现(吉林大学·曹晅箐)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计驿站 ,原文地址:https://bishedaima.com/yuanma/35420.html