java 航空订票系统

综合课程设计报告

题目:航空订票系统

班级:网络092 姓名:徐德刚 徐浩彭 学号:200907076 200907122 指导教师: 李道全

完成日期: 2013 年 1 月 7日

一、设计内容

1. 课题背景和市场需求

因特网技术的飞速发展为航空公司带来了全新的售票方式。

航空客运订票系统的目的是解决航空公司全套网络信息化中的B2C 服 务。前各大航空公司的直销网点都采用的是航空公司内部使用的大型信息化网络系统 由于其牵涉面太广一般不会轻易改换其他系统软件。随着我国航空业务的迅速扩张 各航空公司在全国各大、中城市的直销网点显然不能满足其业务发展的需要。于是 一大批航空公司票务区域代理商如雨后春笋繁荣起来。但传统的手工拿票、订票、送票方式已经远远不能满足其业务扩张的需要 如果其信息化建设不急时跟上 那么这种手工作坊将难以在目前这个信息化高度发达的社会立足而面临淘汰。这类区域代理商没有足够的经济实力也没有必要去购买航空公司所用的大型网络系统软件 但太小的网络系统管理软件有很难满足企业的可持续性发展需求。经调查很多区域性航空票务代理商都渴望在市场上能买到一种廉价且实用的中小型网络订票系统。

二、设计目标

图2.1 预定流程图

前台:1. 按每个用户的用户名和密码进行登录 2. 以管理员身份登录后则可以

对普通用户发布的订单,发布新航班信息。 3. 以普通用户身份登录后则可以进行用户操作 如个人资料修改 查询航班 订单等操作。前台流程如图2.1所示 后台:录入读取航班信息,保证信息的及时更新处理。

三、需求分析

1、报告编写目的

可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。

项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。

2、项目概述 2.1、项目背景

目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。配备一个安全、高效、灵活、可靠的客户服务中心系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。 2.2、项目意义

对国内航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义: a 、改善航空公司服务质量;

b 、创造和提升航空公司的品牌优势; c 、优化航空公司的服务流程; d 、提升信息化的水平; 2.3、项目目标

航空订票系统(Airline Reservation System )目的是为了方便国内航空营业的售票工作,提高国内航空公司服务质量和服务效率。 2.4、项目用途

航空订票系统(Airline Reservation System )的设计针对于国内航空预订票和管理情况,包含订票管理、网上退票业务。

3、技术可行性

3.1、可行性因素

a. 项目的效率远大于成本;

b. 技术可行,以现有技术完全可以承担起开发的任务;

c. 操作可行,软件的简单易用能被原有的工作人员快速接受; 3.2、技术条件

开发系统:Windows7 开发平台:MyEclipse8.5 开发语言:Java 服务器:Tomcat6.0

前台:jsp/Html/Javascript/Css 后台:Servlet 数据库:MySQL

JSP(JavaServer Pages) 是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似ASP 技术,它是在传统的网页HTML 文件 (*.htm,*.html)中插入Java 程序段(Scriptlet)和JSP 标记(tag),从而形成JSP 文件(*.jsp)。 用JSP 开发的Web 应用是跨平台的,即能在Linux 下运行,也能在其他操作系统上运行。

JSP 技术使用Java 编程语言编写类XML 的tags 和scriptlets ,来封装产生动态网页的处理逻辑。网页还能通过tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件中的HTML 代码一起返回给客户。插入的Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

我们将使用HTML 、JSP 、css 等技术来编辑网页,并运用JDBC 技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解航空售票的情况。

在数据库访问对象中我们使用了预处理,预编语句(PreparedStatement)接口是继承Statement 接口的,它和Statement 接口有两个不同之处:预编语句是包含已编译好的SQL 语句;而Statement 的SQL 语句是当程序要执行时,才会去编译它们。预编语句中的SQL 语句具有一个或多个参数,每个参数用问好“?”替代。每个问好的值必须在执行之前用setXXX 方法来设定它所代表的值。最后获得结果集。通过使用javabean ,分别建立javabean ,通过封装属性,用get 、set 方法来获取这些属性,通过javabean 作为页面与数据库的中间介质,用jsp 做视图层view ,在展示界面用到了css 样式,运用多个选择器,分别设计页面,使得页面美观整洁。用servlet 做控制层

(control ),用来处理页面提交的逻辑处理,用javabean 做模型(model )层;这样的开发更容易对系统进行升级和修改,对数据库的操作方法通过建立数据库连接对象后,在方法中获得该对象,从而对数据库进行处理和预处理,处理后的结果返回结果集,供页面进行调用。 3.3、用户使用可行性

系统涉及管理人员、网上订票的网民等用户。

a 、使用本管理系统人员需要有一定的计算机基础知识; b 、相关员工对本管理系统的应用进行浅层的培训; c 、网上订票网民能够通过简要的操作进行预订票; 3.4、系统可行性简要描述

在终端机是用户可操作的网络平台,需要安装浏览器(FireFox 、360、IE 均可),主要向航空公司的服务器传递数据。

b 、当管理员在浏览器上进行客户管理或者客户订票时,终端机向服务器发出查询、订票、退票等请求。服务器根据请求,反馈给终端机航班信息、订票成功与否、退票成功与否的实时数据,显示在终端机的浏览器上。

c 、当客户在浏览器上进行预订票时,终端机向服务器发出查询、订票、退票、报表信息等请求,服务器根据请求,反馈给终端机航班信息、订票成功与否、退票成功与否的实时数据,显示在终端机的浏览器上。

4、项目开发计划 4.1、工作内容

为完成本项目,需要按照需求分析、设计、评审、编码、测试、安装和维护等不同的阶段来进行,其中,本计划不考虑维护阶段所做的工作。

需求分析明确本项目所开发产品的特性,并对不同的功能组进行划分,得到用户方的确认。

设计阶段将需求转换为计算机的模型,并且对实现的功能进行分配,详细设计还提供各模块、任务、功能点的详细规划。

评审分布在项目的阶段点,是质量保证的一部分,评审活动用于确定和调整与需求的偏差,以确保最后的产品符合初始提出的要求。

编码实现将按照软件产品设计所描述的内容,编写代码实现软件各部分的功能。 测试部分包括对实现过程的错误的修改、功能的改进的一些活动,同时各包括了各子系统、模块、功能点的组合和连调。

以上的过程中,包含了不同阶段的文档输出工作,并且上一阶段的输出,通常作为下一阶段的输入而存在。

4.3、产品

最后完成的软件将交付相关的软件包、设计文档、软件操作手册。

a 、完成的航空订票系统(Airline Reservation System )以.rar 格式进行压缩打包成软件包;

b 、软件包里附带数据库系统的脚本程序;

c 、设计文档将提供软件的整个开发流程、开发技术的准备工作等详细的资料。 d 、操作手册提供用户对软件系统的操作指导,要求同时以.html 或.doc 格式的电子文档;

e 、操作手册同时包含整个软件的使用指南; 4.4、完成项目的期限

项目启动:2012年12月15日 项目结束:2013年1月7日 5、需求规格说明书 5.1、用户需求 (暂时无特殊需求) 5.2、功能性需求 5.2.1、运行环境 a 、客户端

操作系统:不限

浏览器:IE6.0以上、Firefox 、360 b 、应用服务端

操作系统:Windows XP、Windows Vista、Windows 7、Linux 、Unix 应用服务器:Tomcat 6.0或更高更新版本 数据库访问:JDBC c 、数据库服务器端

操作系统:Windows XP、Windows Vista、Windows 7 数据库系统:MySQL

注册帐户管理

注册帐户管理包含增加帐户信息、修改帐户信息、查看帐户信息。具体有 a 、增加帐户信息、修改帐户信息、查询帐户信息共有的信息 帐户帐号、帐号密码、性别、联系号码、邮箱; b 、查询帐户信息附加的信息 帐户可用订票(有效期内); 机票信息查询

机票信息查询包含查询航班、查询订票、统计分析表。具体有 a 、查询航班包含的信息 航班号、(航班提供的航线)起始地、抵达地(不同航班可以有相同的航线)、航班所用时间;

b 、查询订票包含的信息

订票价格、航班号、航班所用时间、(航班提供的航线)起始地、抵达地、剩余票数; c 、退票

在时间允许范围内可退票; 6、非功能性需求 6.1、性能需求

a 、客户端面响应时间不超过3秒

b 、支持并发性使用并保证性能不受影响

6.2、安全性需求

权限控制

预订票系统:一般网民通过注册能够进行订票、退票、查询等业务;

管理系统:通过管理人员通过管理员通道设置航班信息、设置航班时间、设置可购买票数,设置航班起飞时间; 6.3、可靠性和可用性需求 a 、方便操作,操作流程合理

b 、支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统; c 、控制必录入项 d 、容错能力

系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。 e 、操作完成时有统一规范的提示信息 6.4、出错处理需求

a 、当操作错误时,系统提供统一规范的操作错误提示信息。

b 、录入数据与实际数据类型不合时,系统提供相应的提示信息。

6.5、接口需求 a 、用户接口

本系统所有界面使用WEB 风格,用户界面的具体细节将在概要设计文档中描述。 b 、硬件接口

服务器建议使用专用服务器 c 、软件接口 (无特殊需求) d 、通信接口 (无特殊需求)

6.6、约束

(无特殊需求) 6.7、逆向需求 (无特殊需求)

6.8、将来可能提出的要求 (无特殊需求)

7、其他需求

本系统支持多浏览器,易于维护。

四、设计思想

1、开发模式

基于MVC 模式的管理系统。

MVC :MVC 全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 2、数据库逻辑设计

(1)用户信息表用来保存用户的所有信息,包括用户名,用户密码,姓名,性

(2

)航班信息表用来保存航班的所有信息,包括航班编号、出发地点、目的

图4.4

(4)三个表的联系航班ID

和用户ID 是航班信息表的外键,如图4.4所示

五、具体实现 1. 登陆页面

bgcolor ="#FFFFFF" hspace ="1" >

注册会员 会员登录 管理员通道

cellspacing ="0" >


background ="inmage/{1F427A01-3094-4793-BECB-181BB279573B}0.jpg">

     

2. 注册会员

主要实现代码:

3会员登陆

4预定机票

主要代码为:

public ArrayList quest(Connection connection)

{ ArrayList array=new ArrayList();

//查询所有定制航班的信息

// 将查询出的值放入ArrayList 动态数组中返回

String sql="select Hao,Qifei,Rqi,Mudi,Jiage,Piaosu from sch ";

Statement statement=null ;

ResultSet resultset=null ;

try

{

statement=connection.createStatement(); resultset=statement.executeQuery(sql);

while (resultset.next())

{

Sched sch=new Sched();

sch.setHao(resultset.getString("Hao" )); sch.setRqi(resultset.getString("Rqi" )); sch.setQifei(resultset.getString("Qifei" )); sch.setMudi(resultset.getString("Mudi" )); sch.setJiage(resultset.getInt("Jiage" )); sch.setPiaosu(resultset.getInt("Piaosu" )); array.add(sch);

}

return array;

}

catch (SQLException e)

{

}

finally

{

try

{

if (statement!=null ) statement.close();

if (resultset!=null ) resultset.close();

}

catch (SQLException ee)

{

}

}

return array;

}

5密码修改

6. 用户信息修改

主要实现代码为:

7.预定机票

8. 管理员通过管理员通道登陆后制定航班

主要实现代码为:

9. 管理员安排航班

10. 退票

六、附录

数据库访问对象包下目录(com.dao):

Anpai.java

DinDao.java

Sched.java

SchedDao.java

Tocom.java

User.java

UserDao.java

Servlet 包下目录(com.servlet ):

AdminServlet.java

AffirmServlet.java

ArrangeServlet.java

DestineServlet.java

ExamineServlet.java

FlightServlet.java

HavingServlet.java

IntercalateServet.java

InterServlet.java

LoginServlet.java

ModifyServlet.java

NewUser.java

NoparamServlet.java

PassServlet.java

PurchaseServlet.java

RecedeServlet.java

SchedServlet.java

数据库连接目录,获得一个连接对象并返回,供别的方法使用(com.test ): JDBconne.java

WebRoot 目录下的视图jsp 页面。

详细见附带的项目压缩包。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn