JavaSwing+MySQL的飞机订票系统(内含oracle版本)

点击以下链接获取源码:
https://download.csdn.net/download/qq_64505944/88055544

JDK1.8

MySQL5.7

功能:接收客户端发来的数据、处理客户端发来的数据、发送数据包到客户端;客户端:查询所有航班的信息、查看自己所定的票、订票、退票、改票、取票

(ppt+ER图+流程图+需求背景数据库+架构说明有lun文视频源码齐全)

机票预订系统需求分析

单 位: 卓京科技有限公司

项目名称: 机票预定系统

团 队: 蜗 牛 组

报告日期: 2012年1月26日

指导老师: 陈 凤

摘 要

为了更好的巩固和加强书本所学的知识,把所学的东西转化为实际应用。我们学习了ORACLE应用程序的使用。并应用了SQL语言。对数据库的创建、修改、删除方法有了一定的了解。通过导入表和删除表、更改表学会了对于表的一些操作。为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

当我们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

通过机票预定系统的构造以及购票人的信息还有机票的相关信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与机票预定系统执行相同的操作。需求分析阶段就是要研究我所作的机票预定系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式并且把我输入的七张表结合在一起完成一个总关系表。最后就是要运行和实施数据库。

第一章 引言

1.1、 编写的目的

为了巩固java第一阶段的学习,模拟一个飞机订票系统来实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。

1.2 、背景

开发软件名称:机票预订系统。

项目任务提出者:马利娜

项 目 组 长:欧阳健

项目开发者: 欧阳健 马利娜 秦国文 薛勇军。

用 户:所有客户

运行环境:win8/win7/xp/vista

开发平台:MyEclipse 7.0 Mysql数据库。

系统架构:该系统采用java完成,用AWT开发系统界面设计。

1.3、定义

ORACLE: 系统服务器所使用的数据库管理系统(DBMS)

SQL: 一种用于访问查询数据库的语言

事务流:数据进入模块后可能有多种路径进行处理

第二章 任务概述

2.1 目标

《网上机票预订系统》本是在Internet环境下运行的,但根据课程需求在此我们先将它做为一个c/s程序。该项软件开发的意图是为了方便航空公司进行乘客预定票的管理,减少管理中出现的麻烦,它主要在某一航空公司内部进行使用,再加之这是一项独立的软件,全部内容自含,所以不会涉及到与其它系统、产品的联系和接口问题。

2.2 用户特点

管理员(维护人员):熟练掌握Java语言。熟悉掌握 sql语句的使用。

普通用户:能够熟练地使用桌面程序,有一定的电脑基础。

2.3 假定和约束

普通管理员,只能对库(航班库和客户库)中的信息进行查询操作;超级管理员,可以根据具体需要进行适当的数据管理(增、删、改、更)。

客户只能对航班信息库中的内容进行查询操作,客户进入到页面之后在不进行登录的情况下只能进行航班信息查询操作,要预订机票就必须要先注册登录提交自己的基本信息;系统会根据管理员和客户的各种操作做出相应的返回信息进行提示。

第三章 需求规定

3.1系统功能需求

本系统用于远程机票预订,包括远程航班信息查询、机票预订与确认等;主要分为四大功能:查询、订票、退票和管理。

管理员登录、注销 到系统并进行插入、删除、更新以及查看机票后台数据库操作

插入:机票的插入可以按照航班号、班期、公司、座位号、起飞地以及抵达地等等插入数据库。

删除:机票可以按照航班号、起止城市、星期进行删除

3.1.1客户端系统功能

1.普通用户:

查询:根据航班号、航空公司以及目的地查询出票类信息

订票: 根据出发日期和第一航班号预订机票,机票类型分为单程和往返,一份订单可订多张机票 。

退票:要填写订单号、身份证、客户姓名以及航班信息等等。

后台管理系统:

航班动态:可以根据出发城市、到达城市(或者是航班号)查看这个航班的最新动态

2.机场人员:

查询:根据航班号、航空公司以及目的地查询出票类信息

订票: 根据出发日期和第一航班号预订机票,机票类型分为单程和往返,一份订单可订多张机票 。

退票:要填写订单号、身份证、客户姓名以及航班信息等等。

后台管理系统:

销售统计:根据年份、月份统计总共买出的票数

后台管理:管理员可以根据总部要求去创建航班、取消航班、航班查询

下面以结构图来描述机票预定系统的软件总体结构

3.1.2 服务器端系统功能

查询:当有旅客查询机票时,接收其数据信息,并能返回查询结果

统计:对售出的机票作出统计

更新航班信息:当客户端发来请求信息,服务器进行接收,

流程图:

航班信息更新:系统的管理员通过对航班信息的修改,使数据库中的信息发生变化。

航班取消:当由于某种原因某航班被取消了,系统的管理人员要第一时间的更改数据库中的航班信息,使旅客能及时了解最新信息。

3.2 数据字典

系统中的数据元素:

名字:旅客信息

别名:

描述:旅客的个人信息,用于对旅客的确认

定义:旅客信息=姓名+性别+工作单位+身份证号码+旅行时间

+旅行目的地等等

名字:航班信息

别名:

描述:航班的起飞时间及上机时间等,让旅客能够查看和确认

定义:航班信息=编号+终点+起飞始点等等

名字:机票信息

别名:

描述:旅客的旅行时间和目的地等等,用于确定旅客的航班

定义:订票信息=旅客旅行时间+旅客旅行目的地等等

名字:机票订单

别名:

描述:旅客交付费用的凭证

定义:机票账单=旅客姓名+交付费+时间

名字:取票通知

别名:

描述:旅客领取机票的凭证

定义:取票通知=旅客姓名+领票时间

名字:打印机票信息

别名:

描述:旅客的航班机票的信息

定义:打印机票信息=旅客的航班机票

名字:航空公司数据库信息

别名:

描述:已订票的旅客在航空公司的记录和航班信息等等

定义:航空公司数据库信息=航班机票信息+也订票旅客的信息等等

3.3 项目模块划分

第四章 数据库设计

4.1 E-R图

4.2 数据表的设计

1.用户表(users)

字段名称 类型 记录内容 是否为空 备注

u_id Varchar2(20) 用户名 0 主键

u_password Varchar2(20) 密码 0

u_name Varchar2(20) 用户姓名 1

u_telephone Varchar2(20) 手机号码 1

u_address Varchar2(100) 用户地址 1

u_email Varchar2(20) Email 1

u_idcard Varchar2(20) 身份证 1

u_power number 权限 1 1表示机场人员

0表示旅客

1.登录表(login)(统计记录的人数,供服务器查看 共有多少人访问该网站)

字段名称 类型 记录内容 是否为空 备注

l_uid Varchar2(20) 用户名 0

l_password Varchar2(20) 密码 0

2.订单表(order)

字段名称 类型 记录内容 是否为空 备注

o_id Vachar2(100) 订单编号 0 自增长

o_uid Varchar2(20) 用户名 0

o_tid Varchar2(40) 票编号 0

o_time Varchar2(40) 下单时间 0

3.票务信息(tickets)

字段名称 类型 记录内容 是否为空 备注

t_id Vachar2(100) 机票编号 0 主键

t_f_id number 航班id 号 0

t_uid Varchar2(20) 用户Id 0

t_seatId Number 座位号 0

t_date Varchar2(20) 该票的日期 0 这是一个出发的日期

t_type Varchar2(30) 座位类型 1 这是一个座位的类型

t_price Number 票价 1 这个舱位的价格

4.航班信息表(flight_info)

字段名称 类型 记录内容 是否为空 备注

f_id number 航班id 号 0 航班起飞的ID号(主键)

f_number Vachar2(30) 航班号 0

f_start_time Varchar2(40) 出发时间 0

f_end_time Varchar2(40) 到达时间 0

f_departure Varchar2(40) 始发地 0

f_destination Varchar2(40) 目的地 0

f_company Varchar2(30) 航空公司 0

7.航空仓类型------座位表(seat)-------

字段名称 类型 记录内容 是否为空 备注

s_id Number 座位唯一Id 0 标识 能够以下得到信息

f_id number 航班id 0 航班id(外键)

s_ type Varchar2(30) 舱位类型 0 舱位类型

s_number Number 舱位数量 0 舱位数量

s_price Number 舱位价格 0 舱位价格

8.用户操作记录表(deal_log)

字段名称 类型 记录内容 是否为空 备注

d_number number 用户编号 0 主键,自增长

d_uid Varchar2(30) 用户名 0

d_opertype Varchar2(40) 操作类型 0 订票,退票,改签

d_tid Varchar2(40) 机票编号 0

d_time Varchar2(10) 时间 0 操作的时间

9.航班动态表(state)

字段名称 类型 记录内容 是否为空 备注

fs_number Varchar2(30) 航班号 0 航班号

fs_date Varchar2(10) 航班飞行日期 0 航班

fs_state Varchar2(300) 航班动态 0 航班动态

第五章 运行环境规定

5.1硬件要求:

服务器:CPU133M,64M或以上内存,300M硬盘空间;VGA显示器或更高

客户机:最低CUP133M,16MB内存;最少8MB的RAM存储器;VGA显示器或更高

5.2软件要求

服务器:Windows 2000 Server中文版或更高;oracle 8i或更高

客户机:Windows 95以上或以上;该软件运行于Windows系统,使用java语言开发

第六章 测试

6.1 单元测试/系统测试:

在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。

主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。

第七章 需求小结

在课程设计的过程中,我学到了很多,也找到了自己身上的不足。感受良多,获益匪浅。我们小组分工合作、齐心协力,一起完成了课程设计前的准备工作(阅读课程设计相关文档)、小组讨论分工、完成系统开发的各个文档、课程设计总结报告、,个人小结的任务。在课程设计中我们便对这次任务进行了规划和分工。我们组的成员一起努力,查阅资料、小组讨论、对资料进行分析,并在这段时间里完成了整个设计,并最后撰写课程设计报告及个人总结。

从这次的课程设计中,通过对需求分析说明书的报告很好的学习了软件工程的知识,对以后书写和学习课程设计留下了很好的经验。需求分析的书写要很正式,要根据实验指导书的模式来写,从中要写出对目标概述,对功能的规定,对性能的规定,运行环境的规定等等。

在课程设计的过程中,我们经历了感动,经历了一起奋斗的酸甜苦辣。也一起分享了成功的喜悦。这次的课程设计对我们每个人来说都是一个挑战。这时候小组的力量就体现出来了,各司其职,各尽其能。发挥了集体的效用。在这个过程,我受到了好多帮助,一让人有无比的动力和解决问题的决心。其实这次的课程设计我的最大的感受不是知识的获得,而是人格的磨练和交际的能力。课程设计这样集体的任务光靠团队里的一个人或几个人是不可能完成好的,合作的原则就是要利益均沾,责任公担。如果让任务交给一个人,那样既增加了他的压力,也增大了完成任务的风险,降低了工作的效率。

第八章:参考文献

[1] 张海藩.软件工程导论(第四版)[M].北京:清华大学出版社,2003

[2] 《基于项目的软件工程-面向对象研究方法》Cathie LeBlan&EvelynStiller机械工业出版社 2001.1

[3] 罗运模 等.SQL Server 数据库系统基础.北京:高等教育出版社,2002

[4]Computer Network A.S.Tanenbaun Prentice Hall 1996/01

[5]罗运模 等.SQL Server 数据库系统基础.北京:高等教育出版社,2002

相关推荐
猿小喵5 分钟前
DBA之路,始于足下
数据库·dba
tyler_download14 分钟前
golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证
开发语言·数据库·golang
weixin_4493108440 分钟前
高效集成:聚水潭采购数据同步到MySQL
android·数据库·mysql
CodingBrother40 分钟前
MySQL 和 PostgreSQL 的使用案例
mysql·adb·postgresql
Cachel wood2 小时前
Github配置ssh key原理及操作步骤
运维·开发语言·数据库·windows·postgresql·ssh·github
standxy2 小时前
如何将钉钉新收款单数据高效集成到MySQL
数据库·mysql·钉钉
汪小敏同学2 小时前
【Django进阶】django-rest-framework中文文档——快速入门
网络·windows·oracle
Narutolxy3 小时前
MySQL 权限困境:从权限丢失到权限重生的完整解决方案20241108
数据库·mysql
Venchill3 小时前
安装和卸载Mysql(压缩版)
数据库·mysql
Humbunklung3 小时前
一种EF(EntityFramework) MySQL修改表名去掉dbo前缀的方法
数据库·mysql·c#