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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/40344.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java学习路程之篇二、知识点、配置JAVA_HOME、跨平台、JVM、JRE、JDK

文章目录 1、Java背景介绍2、Java跨平台性3、JDK的下载和安装4、第一个Java程序5、HelloWorld案例详解6、JVM、JRE和JDK7、配置JAVA_HOME 1、Java背景介绍 2、Java跨平台性 3、JDK的下载和安装 4、第一个Java程序 5、HelloWorld案例详解 6、JVM、JRE和JDK 7、配置JAVA_HOME

Bash 第十行

195 第十行 给定一个文本文件 file.txt,请只打印这个文件中的第十行。 示例: 假设 file.txt 有如下内容: Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9 Line 10 你的脚本应当显示第十行: Line 10 来源:…

详解使用JAVA将Julian date(儒略日)日期转换为年月日

一、什么是Julian date 朱莉安日历和普通日历显示是不一样的我就举例演示一下 正常的日历显示 朱莉安的日历显示 174表示的是从2016年1月1日开始到今天已有174天了 普通日历是按月计数,朱莉安日历是按年计数 二、用java将julian日期转换为年月日 将2023199朱莉安…

【数据结构】24王道考研笔记——图

六、图 目录 六、图定义及基本术语图的定义有向图以及无向图简单图以及多重图度顶点-顶点间关系连通图、强连通图子图连通分量强连通分量生成树生成森林边的权、带权网/图特殊形态的图 图的存储及基本操作邻接矩阵邻接表法十字链表邻接多重表分析对比图的基本操作 图的遍历广度…

pytorch实现线性回归

转大佬笔记 代码: # -*- coding: utf-8 -*- # Time : 2023-07-14 14:57 # Author : yuer # FileName: exercise05.py # Software: PyCharm import matplotlib.pyplot as plt import torch# x,y是3行1列的矩阵,所以在[]中要分为3个[] x_data torch.…

系统学习Linux-SSH远程服务(二)

概念 安全外壳协议,提供安全可靠的远程连接 特点 ssh是工作在传输层和应用层的协议 ssh提供了一组管理命令 ssh 远程登陆 scp 远程拷贝 sftp 远程上传下载 ssh-copy-id ssh keygen 生成 提供了多种身份验证机制 身份验证机制 密码验证 需要提供密码 密…

Django实现接口自动化平台(十二)自定义函数模块DebugTalks 序列化器及视图【持续更新中】

上一章: Django实现接口自动化平台(十一)项目模块Projects序列化器及视图【持续更新中】_做测试的喵酱的博客-CSDN博客 本章是项目的一个分解,查看本章内容时,要结合整体项目代码来看: python django vue…

Python SMTP发送邮件

如何使用Python发送QQ邮件?如何发送带附件的邮件?这篇文章将详细说明 目录 一、发送邮件 二、发送HTML格式的邮件 三、在HTML中添加图片 四、发送带附件的邮件 五、最终整合版 六、配置指引 一、发送邮件 import smtplib from email.mime.text im…

【UE4 塔防游戏系列】09-防御塔升级、击杀敌人增加金钱

目录 效果 步骤 一、控件蓝图文本控件内容绑定金钱数 二、防御塔改造 三、击杀敌人增加金钱 四、防御塔升级功能 效果 步骤 一、控件蓝图文本控件内容绑定金钱数 1. 打开“TaFangGameMode”,新增一个变量命名为“PlayerMoney”,默认值设为2…

【Maven三】——maven生命周期和插件

系列文章目录 Maven之POM介绍 maven命令上传jar包到nexus 【Maven二】——maven仓库 maven生命周期和插件 系列文章目录前言一、什么是生命周期&why1.三套生命周期2.clean生命周期3.default生命周期4.site生命周期5.命令行与生命周期 二、插件目标三、插件绑定1.内置绑定2…

软通动力与华秋达成生态共创合作,共同推动物联网硬件创新

7月11日,在2023慕尼黑上海电子展现场,软通动力信息技术(集团)股份有限公司(以下简称“软通动力”)与深圳华秋电子有限公司(以下简称“华秋”)签署了生态共创战略合作协议,共同推动物联网硬件生态繁荣发展。当前双方主要基于软通动力的产品及解…

GO语言GMP模型

目录 程序入口 协程主动让出: 被动让出: schedule 监控线程 程序入口 在执行一系列检查和初始化(创建多少个P,与M0关联)后,进入runtime.main,创建main goroutine,执行mian.mian。 一开始GO语言的调度只有M和G。每个M…

基于Selenium+Python的web自动化测试框架

一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firef…

Linux下Nginx升级

nginx版本升级不会覆盖配置文件,但以防万一升级前请先备份配置文件或者配置文件夹 默认配置文件地址:/usr/local/nginx/conf/nginx.conf 1.下载 wget -c http://nginx.org/download/nginx-1.24.0.tar.gz 2.解压 tar -xvf nginx-1.24.0.tar.gz 3.nginx…

Mac的docker安装redis

Mac的docker安装redis 1、docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 12205 …

git如何撤销commit(未push)

文章目录 前言undo commitreset current branch to here Undo Commit,Revert Commit,Drop Commit的区别 是否删除对代码的修改是否删除Commit记录是否会新增Commit记录Undo Commit不会未Push会,已Push不会不会Revert Commit会不会会Drop Com…

PHP与Golang对战:两种语言的比较与应用场景探讨

引言 在软件开发领域,选择一种合适的编程语言对于项目的成功至关重要。而在今天的文中,我们将探讨两个备受争议的编程语言——PHP与Golang之间的对战。通过比较它们的优势和应用场景,帮助开发者更好地了解如何选择适合自己项目的语言。 PHP的…

青翼科技自主研发4路AD子卡FMC137

FMC137是一款基于VITA57.4标准规范的JESD204B接口FMC子卡模块,该模块可以实现4路14-bit、2GSPS/2.6GSPS/3GSPS ADC采集功能。该板卡ADC器件采用ADI公司的AD9208芯片,,与ADI公司的AD9689可以实现PIN脚兼容。该ADC与FPGA的主机接口通过16通道的…

verilog实现数码管静态显示

文章目录 verilog实现数码管静态显示一、任务要求二、实验代码三、仿真代码四、仿真结果五、总结 verilog实现数码管静态显示 一、任务要求 六个数码管同时间隔0.5s显示0-f。要求:使用一个顶层模块,调用计时器模块和数码管静态显示模块。 二、实验代码…

分布式数据库HBase,它到底是怎么组成的?

原文链接:http://www.ibearzmblog.com/#/technology/info?id8ac4902f82f525e1456624d5d7a545dc 前言 大数据的核心问题无非就是存储和计算这两个。Hadoop中的HDFS解决了数据存储的问题,而HBase就是在HDFS上构建,因此Hbase既能解决大数据存…