JAVA航空订票系统.docx

上传人:b****0 文档编号:9341413 上传时间:2023-05-18 格式:DOCX 页数:27 大小:3.66MB
下载 相关 举报
JAVA航空订票系统.docx_第1页
第1页 / 共27页
JAVA航空订票系统.docx_第2页
第2页 / 共27页
JAVA航空订票系统.docx_第3页
第3页 / 共27页
JAVA航空订票系统.docx_第4页
第4页 / 共27页
JAVA航空订票系统.docx_第5页
第5页 / 共27页
JAVA航空订票系统.docx_第6页
第6页 / 共27页
JAVA航空订票系统.docx_第7页
第7页 / 共27页
JAVA航空订票系统.docx_第8页
第8页 / 共27页
JAVA航空订票系统.docx_第9页
第9页 / 共27页
JAVA航空订票系统.docx_第10页
第10页 / 共27页
JAVA航空订票系统.docx_第11页
第11页 / 共27页
JAVA航空订票系统.docx_第12页
第12页 / 共27页
JAVA航空订票系统.docx_第13页
第13页 / 共27页
JAVA航空订票系统.docx_第14页
第14页 / 共27页
JAVA航空订票系统.docx_第15页
第15页 / 共27页
JAVA航空订票系统.docx_第16页
第16页 / 共27页
JAVA航空订票系统.docx_第17页
第17页 / 共27页
JAVA航空订票系统.docx_第18页
第18页 / 共27页
JAVA航空订票系统.docx_第19页
第19页 / 共27页
JAVA航空订票系统.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA航空订票系统.docx

《JAVA航空订票系统.docx》由会员分享,可在线阅读,更多相关《JAVA航空订票系统.docx(27页珍藏版)》请在冰点文库上搜索。

JAVA航空订票系统.docx

JAVA航空订票系统

 

2013暑期java认识实训

航空订票系统

 

 

1前言

本航空订票系统是基于java开发的,根据现今航空业的飞速发展,为了缓解航空公司对机票管理的压力而开发的这个订票系统。

1.1编写目的

本需求分析是为了开发‘航空售票系统’而编写,使分析员、程序员、测试员、和最终用户能更好的理解和使用该系统。

本需求分析不仅是整个软件开发的依据,对以后的维护工作也起着指导性作用,同时也是测试计划和用户手册的编写依据。

1.2编写背景

1.软件系统名称:

航空售票系统

2.任务提出者:

3.用户:

XX航空公司,旅客

4.实现:

XX航空公司数据库

5.构建平台:

WindowsXP及以上系统,其数据库mysqlSEVER5.2。

1.3目标

该软件开发是为了提高公司员工的工作效率和更好的对乘客服务。

1、提高日常售票事务处理速度;

2、节省人力资源;

3、人员利用率提高;

4、实现现代化的管理;

5、使乘客更好的了解旅行相关的信息;

6、更有利于乘客的订票和取票。

1.4用户的特点

本系统面向广大的群众,只需要群众能进行基本的操作,能够完成订票过程。

航空公司的管理员能够熟练的操作本系统并且进行基本的管理和维护。

1.5课题研究背景

伴随着人们更多的使用飞机作为交通工具,国内机票票务市场也在快速发展。

及此同时,人们希望机票销售手段也能相应地有所调整,并对如何能经济、方便和及时地购买到自己所需要的机票表现出极大的关注,于是,传统的购票方式开始面临变革。

机票代理窗口购买机票是最传统的方式,但随着人们工作和生活节奏的加快,到代理点购买机票就显得有些耗费时间了,而且机票价格及航班的选择对于消费者来说仍然不是透明的,所有相关信息都是单向传递的缺陷,即购票者只能被动的接受机票代理所提供信息,这种缺陷是导致机票订购市场一些不规范代理现象出现的原因——个别机票代理可以利用订票流程中这种信息单向传递的缺陷,误导消费者,从中渔利,例如优先销售高价机票等等。

因此,每到春节、五一、十一黄金周,总有一些“买机票难,弄清票价难,讨个说法更难”投诉频见报端。

一言以蔽之,就是“消费者想要获得知情权难”。

可见,票务市场已产生诚信危机,对传统机票销售模式的改革已是大势所趋,也由此引发了对民航网上订票系统的研究和开发。

1.6课题研究意义

航空售票系统作为面向广大用户的售票的终端,具有操作简单、流程顺畅、效率高、完善严谨的特点,是根据市场的实际需要,融合机场的实际业务运作特点和管理需要,推出的体现当前行业最先进管理思想的解决方案。

通过实时、透明的航班价格及信息的提供,使用户及机票代理均可获得诸多的益处:

用户可以自己选择航班、时刻、舱位,使航班价格及信息透明化,最大限度地消除了目前机票销售市场上存在的散、乱、黑等现象,从而使用户明明白白“订”票,机票代理人明明白白售票,使用户及机票代理人的合法权益得到最大保障。

打印电子票单功能,使购票过程大大简化,不仅降低了成本,而且提升了客户的服务响应速度和满意度,真正实现了现代化管理。

2需求分析

2.1任务和要求

2.1.1系统的总体设计

本系统采用的BS结构,因此,此系统可分成页面的设计,包括管理员页面和用户页面;业务层的设计,主要是一些关于处理页面发过来的请求的方法。

2.1.2系统功能

5.2.1用户端:

1.用户注册

2.修改用户信息

3.查询航班

4.预订机票

5.订单改签

6.退票

7.出票

5.2.2管理员:

1.航班查询

2.航班删除

3.修改航班

4.添加航班

2.1.3任务详情

a)注册

注册信息:

用户名,密码,姓名,身份证号,性别,手机号,电子邮箱,地址,

用户名:

由数字、下划线或字母组成,长度为6—16位,

密码:

由字母、下划线或数字组成,长度为6—16位,并且两次输入的密码必须一致,

手机号码:

为11位

电子邮箱:

可选择是否填写

地址:

可选择是否填写

b)登陆

登陆账号、密码,验证是否正确,正确则登陆成功,否则失败。

c)修改信息

修改个人信息

d)查询

1)按出发地、目的地和日期查询

2)按航班号查询

e)订票

乘客信息(身份证号,姓名,手机号)

机票信息(航班号,出发地,目的地,出发时间,座位号)

f)改签

在已购买的航班起飞两小时之前可办理改签,否则不予受理。

g)退票

取消订单,扣除票价费5%的手续费,返回剩余的机票费用,

h)出票(打印机票信息)

订单号,航班号,座位号,

出发地,目的地,时间,

乘客信息:

身份证号,姓名

机票类型:

头等舱,经济舱

2.1.4任务分配

 

2.2运行环境

●操作系统:

WindwosXP/7/8

2.3开发工具

●操作系统:

WindwosXP/7/8

●软件:

MySQLSever5.2Eclipse

3分析和设计

3.1系统分析及设计思路

3.1.1系统的理论基础

3.1.2系统的可行性

任何系统的存在都必然有它存在的一面,民航订票系统是为了缓解航空业对于这几年飞速发展的机票的紧张管理。

民航系统是面向群体的不订向用户的一个系统,因此,这个系统就要求安全,高效率和稳订的特点,鉴于这些因素,我作了以下的分析。

3.1.3语言可行性的分析

Java是一种简单的面象对象的分布式的解释的健壮的安全的结构中立的可移植的性能很优异的多线程的动态的语言。

将它作为本系统的主要开发语言主要体现在以下几点:

1、简单

Java语言是简单的,它摒弃了C++中很好使用很难理解也很容易出错的特性,如操作符重载,多继承等,特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧,因而它是简单易学的,它可以让我们放心的来关注我们的业务流程而不需要考虑各种内存溢出的情况。

  2、面向对象

  Java语言的设计完全是面向对象的,提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类及接口之间的实现机制(关键字为implements)。

  3、分布式

  Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。

因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式及访问本地文件系统几乎完全相同。

本系统是BS模式的,用户的访问主要是通过Internet来访问和实现其业务的。

使用Java语言能很好的满足本系统的需要。

  4、健壮

  Java致力于检查程序在编译和运行时的错误。

类型检查帮助检查出许多开发早期出现的错误。

Java自已操纵内存减少了内存出错的可能性。

Java提供Null指针检测数组边页检测异常出口字节代码校验。

本系统是一个长期运行型的系统,Java语言的健壮性让我们的系统能够很好的来维护和管理我们的系统。

 5、安全

  Java的安全性可从两个方面得到保证。

一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。

另一方面,当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。

本系统是一个WEB系统,安全性尤其重要,采用Java能够让我们的系统处于一个安全的环境,不受外来的非法操作而崩溃。

 6、网络应用系统

Java是一种及平台无关的语言,因此用Java开发的网络应用系统可以在各种平台上运行,大大增加了开发效率,减少重复劳动。

而且,Java集成的网络功能分有利于开发网络应用系统。

本系统就是一个基于网络环境的开发,使用Java可以很好的满足本系统的要求。

3.1.2系统的设计

----------------------

3.2主要类图

通过以上实体数据的逻辑设计,用E-R图分别表示实体和属性,以及用E-R图表示实体之间的关系,如图3-1~图3-4所示。

图3-1管理

图3-2用户

 

图3-3航班

 

图3-4出票

3.3系统流程图

3.3.1用户登录功能的流程图

用户的登录功能包括了登录和注册2个功能,其功能的具体实现见图5-15。

图5-15用户登录流程图

1.用户登陆

●功能描述:

完成用户登陆

●输入元素:

用户名字、用户密码

●处理流程:

如果数据库中有该用户,登陆系统,没有,返回本页面重新输入

2.用户注册

●功能描述:

完成用户注册

●输入元素:

用户名字、用户密码以及一些相关信息

●处理流程:

如果数据库中没有该用户名,注册成功登陆系统,没有,返回本页面重新输入

3.3.2订票功能流程图

图5-16订票功能流程图

●功能描述:

完成用户订票功能

●输入元素:

乘客姓名,身份证号码,银行卡号和密码等

●处理流程:

进入乘客信息填写页面中,输入数据通过验证跳转到支付页面,失败返回本页面重新输入,在支付页面也是一样,输入的银行卡数据通过验证,而且在数据库中找到该银行卡,跳转到成功页面,失败返回本页面重新输入

3.3.3退票流程图

图5-17退票流程图

 

●功能描述:

完成用户退票功能

●输入元素:

银行卡号,银行卡密码

●处理流程:

如果数据库中有该银行卡,跳转到成功提示页面,失败返回本页面重新输入

3.3.4管理员登录流程图

图5-18管理员登录流程图

 

●功能描述:

完成管理员登陆功能

●输入元素:

管理员账号,管理员密码

●处理流程:

如果数据库中有该管理员,登陆系统,否则返回本页面重新输入

 

3.3.5修改航班流程图

图5-19修改航班流程图

●功能描述:

完成管理员修改航班的功能

●输入元素:

所要修改航班的信息

●处理流程:

输入的是数据通过验证,跳转到成功提示页面,失败返回本页面重新输入

3.3.6增加航班流程图

图5-20增加航班流程图

●功能描述:

完成管理员增加航班的功能

●输入元素:

所要增加航班的信息

●处理流程:

输入的航班信息通过验证,而且输入的航班编号数据库中不存在,添加成功,否则返回本页面重新输入

3.3.7业务流程图

本系统是民航订票系统,在客户端实现了用户的登录,注册,航班的查询和退订的功能的页面,在航空公司内部实现了管理员的登录,管理员对航班的增删查改等操作。

具体业务流程请参见图3-1。

图3-5业务流程图

3.4创建数据库

由前面的分析得知这个系统中需要建立8张数据表,它们分别如下:

管理员表:

用于存放管理员用户的数据记录。

用户表:

用于存放用户的基本信息。

航班表:

用于存放具体航班的基本信息。

出票记录表:

用户存放用户预订机票订单的基本信息。

3.5建表

5.5.1管理员信息表(用于登录时判断)

属性有:

姓名(name),用户名(userName,用于登录时判断),密码(pwd,登录时调用判断),身份证号(id),手机号(sellphone)

字段名

描述

类型

约束

id

身份证号

Varchar(18)

PRIMARYKEY

userName

用户名

VARCAHAR(20)

NOTNULL

password

密码

VARCAHAR(20)

NOTNULL

Name

姓名

VARCAHAR(20)

NOTNULL

phonenumber

手机号

VARCAHAR(20)

NOTNULL

5.5.2航班信息表

属性有:

航班号(fltghtNumber),出发时间(takeoffTime),到达时间(arrivedTime),出发地(startPlace),目的地(endPlace),是否有票(ifHaveTickets),舱位(cabinSeat),座位号(seatNumber)票价(price)

航班信息表(FlightTable):

字段名

描述

类型

约束

flightNumber

航班号

VARCHAR(10)

PRIMARYKEY

takeoffTime

出发时间

DATE

NOTNULL

arrivedTime

到达时间

DATE

NOTNULL

startPlace

出发地

VARCHAR(20)

NOTNULL

endPlace

目的地

VARCHAR(20)

NOTNULL

tickets

余票

Int

NOTNULL

cavinSeat

舱位

VARCHAR(10)

NOTNULL

price

票价

Float

NOTNULL

5.5.3会员信息表

属性:

身份证号(id),姓名(realName),用户名(name),密码(pwd),

性别(sex),手机号(sellphone),住址(address),

字段名

描述

类型

约束

id

身份证号

CHAR(18)

PRIMARYKEY

Name

姓名

VARCHAR(10)

NOTNULL

userName

用户名

VARCHAR(10)

NOTNULL

password

密码

VARCHAR(16)

NOTNULL

sex

性别

CHAR

(1)

NOTNULL

phonenumber

手机号

VARCHAR(11)

NOTNULL

5.5.4购票信息表

属性:

航班号(flightNumber),座位号(seatNo),出发地(offPlace),目的地(toPlace),出发时间(startTime)舱位(cabinSeat),票价(price),客户姓名(passagerName),客户身份证号(passengerId),舱位等级(cabinClass),乘客类型ticketType(ticketType)

表4出票记录表

字段名

描述

类型

约束

orderNumber

订单号

int

PRIMARYKEY

flightNumber

航班号

VARCHAR(10)

NOTNULL

seatNumber

座位号

VARCHAR(10)

NOTNULL

startPlace

出发地

VARCHAR(20)

NOTNULL

endPlace

目的地

VARCHAR(20)

NOTNULL

Price

票价

Float

NOTNULL

Name

乘客姓名

VARCHAR(40)

NOTNULL

userId

身份证号

VARCHAR(20)

NOTNULL

takeoffTime

出发时间

DATE

NOTNULL

cabinClass

舱位等级

CHAR(10)

NOTNULLCHECKIN(T,S,J)

4具体代码实现(主要源代码)

4.1接口

packageframe1;

importjava.util.ArrayList;

publicinterfaceIFlightSystemManager{

//添加用户

voidaddUser(StringuserId,StringName,Stringusername,Stringpassword,Stringsex,Stringphonenumber,StringAddress,StringEmail);

//用户登录

UserLogin(Stringusername,Stringpassword);

//修改个人信息

voidupdateUser(Stringpassword,StringName,Stringsex,Stringphonenumber,StringEmail,StringAddress,Stringusername);

//航班信息查询

flightflightselect(StringstartPlace,StringendPlace,StringtakeoffTime,StringflightNumber);

//预订飞机票

voidBookTickets(intorderNumber,StringflightNumber,StringseatNumber,StringstartPlace,StringendPlace,floatPrice,StringName,StringuserId,StringtakeoffTime,StringcabinClass);

//管理员登录

ManagerLogin2(Stringusername,Stringpassword);

//退票

TicketsTuiPiao(StringorderNumber);

//查询购票记录

TicketsselectGouPiaoJiLu(StringName);

//改签

TicketsGaiQian(StringorderNumber);

//管理员查询航班

ArrayListselectAll();

//添加航班

voidaddFlight(Stringnumber,Stringstart,Stringarrive,Stringtime,

Stringprice,Stringticket);

//删除航班

voiddeleteFlight(StringorderNumber);

//更新航班信息

flightgengXin(Stringflghtnumber);

}

5课程设计总结

5.1程序运行结果或预期运行结果

图5.1主界面

图5.2注册界面

图5.3会员登录界面

图5.4修改信息界面

图5.5查询航班界面

 

图5.6查询航班界面

图5.7查改签界面

图5.8退票界面

图5.9查询购票记录界面

图5.10添加航班界面

图5.11删除航班界面

图5.12更改航班界面

图5.13查询所有航班界面

5.2实训总结

本次暑假java认识实训已经圆满的完成了,在老师的细心教学下,我对java的认识更加深刻了,了解了java的历史,应用以及各种功能的实现,原本就对java语言感兴趣的我,更是深深地爱上了它,只有喜欢它,才能学好它。

实训前,对java不够了解,对java编程不够熟练,兴趣也并不大。

实训中老师要求我们做航空售票系统,小组分工合作,作为小组组长的我,需要对整个系统有深刻的了解,以及熟悉的java编程能力,还有组织能力,我在这段时间里理解老师教我们的知识,以及网上的查阅资料,总算是将基本的功能都实现了。

本次实训受益匪浅,让我认识了良好的团队合作的重要性,只有发挥好团队各个成员的特长,才能做出更好的程序。

当然在实训中我也有很多的不足,比如:

文本输入的约束条件的加入。

实训后,我觉得本次实训老师教的很好,告诉我们一些程序员应该注意的细节,因为有一句话叫做:

细节决定成败。

当我们都还不是很明白的时候,老师给我吗讲了一遍又一遍,并让我们跟着他一起做一遍,正是老师这样一遍一遍的细心教导,我对java的功能了解的越来越深。

但是我知道,我所学到的知识还只是很浅的,实训的时间是有限的,接下来还要我们自己去更加深入的学习。

我会好好努力学好专业知识,我相信自己在不久的将来,等我毕业了,会找到一份好的工作。

 

参考文献

1.耿祥义、张跃平编著Java2实用教程(第四版),清华大学出版社,2012年8月

 

致谢

经过了20天的java认识实习,使我学到了很多,首先巩固了我的基础知识,java,sql,jdbc等进行了完整的在学习。

理解了客户端服务器的应用,软件分层的设计理论,以及面向对象的分析及设计的思想。

并把学到的知识应用于实践。

我衷心的感谢我们的指导老师韦文老师和夏增明老师,还有和我奋斗多日的同组成员,以及感谢校领导对我们的的关心、支持和帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2