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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac批量提取文件夹的名称,怎么操作?

mac批量提取文件夹的名称,怎么操作?很多小伙伴想知道在mac电脑上可以一键快速批量的将大量文件夹的名提取出来,而不是采用一个一个名称提取的方法,这是一个有利于提高工作效率的办法,这一项技能在网上几乎找不到解决办…

cloudwatch agent通过squid代理上传指标到cloudwatch

1.安装cloudwatch agent代理 1.1、安装cloudwatch代理包 2.2、更改程序包的目录 3.3.创建cloudwatch代理配置文件 运行以下命令配置向导 sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard 按照提示选择个性化服务 2.安装squid服务器 简…

Git基本操作命令

** 创建仓库 **,用于被git管理 第一步: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit第二步: 通过git init命令把这个目录变成Git可以管理的仓库: $ git init** 提交代码 **: 第一步&#xff…

JVM概述

1.什么是虚拟机? 虚拟机就是一台虚拟的计算机。它是一款软件,它分为系统虚拟机(比如VMware)和程序虚拟机(比如Java虚拟机)。 2.JVM的作用 Java虚拟机负责装载字节码文件到内部,编译为对应平台上的机器码指令来执行,还有自动的垃…

系统学习Linux-Rsync远程数据同步服务(三)

一、概述 rsync是linux 下一个远程数据同步工具 他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输 会对比两个文件的不同部分,传输差异部分,因此传输速度相当快 rsync可拷贝、显示目录属性&#xff0c…

透视表可视化简单案例

import pandas as pd import numpy as np import os basepath/Users/kangyongqing/Documents/kangyq/202307/标准版学期制C2/pathos.path.join(basepath,02freetime.csv) dtpd.read_csv(path,dtype{shifen:object}) print(dt.head()) import matplotlib.pyplot as pltfor i in …

自动化测试-selenium环境搭建

文章目录 1. 什么是自动化2. 自动化测试分类3. selenium的环境搭建4. 测试selenium 1. 什么是自动化 自动化是指使用软件工具、脚本或程序来执行一系列的任务、操作或流程,而无需人工干预或指导。 自动化测试:使用自动化工具和脚本来执行测试用例&#x…

奖牌数领跑是为何?解码长沙华中医卫科技中等职业学校的国防教育成功之道

近些年,越来越多的学生、家长、企业开始重新审视职业教育的价值。在产教融合的大背景下,职业教育已经成为了高新产业发展的人才引擎,职业教育的教学模式、软硬件配置乃至未来毕业生的就业情况,已完全变了模样。 实际上&#xff0…

Windows 组策略 部署打印机

一、服务端 1、打印机管理:添加打印机 2、选择打印机 3、第一次安装,选择这个 4、下载驱动,从磁盘安装 5、已成功安装 6、选中打印机右击属性:列出目录 7、创建一个组策略 8、组策略设置 用户设置 → 首选项 → 控制面板 → 打印…

shell脚本备份数据库

首先是在本地windows环境下尝试备份数据库 打开mysql的bin目录,然后在地址栏cmd,进入cmd界面,输入mysqldump命令,-u输入用户名,-p输入密码 还有数据库名称,以及后面要保存到的位置 mysqldump -uroot -p tes…

webpack插件compression-webpack-plugin

Vue配置compression-webpack-plugin实现Gzip压缩 1、为什么要压缩? 打包的时候开启gzip可以很大程度减少包的大小,页面大小可以变为原来的30%甚至更小,非常适合于上线部署。更小的体积对于用户体验来说就意味着更快的加载速度以及更好的用户…

Langchain-ChatGLM配置文件参数测试

1 已知可能影响对话效果的参数(位于configs/model_config.py文件): # 文本分句长度 SENTENCE_SIZE 100# 匹配后单段上下文长度 CHUNK_SIZE 250 # 传入LLM的历史记录长度 LLM_HISTORY_LEN 3 # 知识库检索时返回的匹配内容条数 VECTO…

python web开发之WSGI/uwsgi/uWSGI详解

1. 三者的定义 WSGI是一种通信协议。uwsgi是一种传输协议。uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。 2.三者的使用场景 WSGI,全称 Web Server Gateway Interface,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接…

基于微信小程序的求职招聘系统设计与实现(Java+spring boot+MySQL+微信小程序)

获取源码或者论文请私信博主 演示视频: 基于微信小程序的求职招聘系统设计与实现(Javaspring bootMySQL微信小程序) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java s…

如何为SoC做ARM CPU适配——以裸核使用malloc为例

本文任务:为陌生的SoC平台编写基础软件,适配 malloc() 函数 0 如何为SoC做ARM CPU适配 今时不同往日,我们平时开发/娱乐接触到的消费级MCU/MPU基本山都是包含处理核与一系列外设的SoC。如果熟悉裸片开发,一定会在厂家提供的标准…

铁电材料极化高压放大器ATA-7025技术指标及使用说明

铁电材料是一类具有特殊电学性质的材料,在现代电子技术和器件中具有广泛的应用。铁电材料的极化是其重要的特征之一,极化测试是评估铁电材料性能的关键方法之一。一般铁电极化测试,是通过根据外电场施加的电压变化来观察材料产生的极化效应。…

结构型模式 - 组合模式

概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理…

微信合并转发的图片如何批量保存

今天遇到一个场景:朋友给转发来了一个合并的聊天记录,里面是几十张图片,希望能打印出来。逐张保存太费手了。下面是批量保存图片的方法: 1、登录PC端微信; 2、将要保存图片的这条合并转发的聊天记录收藏;…

Camtasia Studio 2023怎么导出mp4格式的视频的详细教程介绍

很多用户刚接触Camtasia Studio 2023,不熟悉如何保存mp4格式的视频。在今天的文章中小编为大家带来了Camtasia Studio 2023保存为mp4格式的视频的详细教程介绍。 Camtasia Studio 2023保存为mp4格式的视频的详细教程 1、 打开Camtasia Studio。 Camtasia Studio- …

解决appium-doctor报ffmpeg cannot be found

一、下载ffmpeg安装包 https://ffmpeg.org/download.html 找到如图所示红框位置点击下载ffmpeg安装包。 二、配置ffmpeg环境变量 三、检查ffmpeg版本信息 重新管理员打开dos系统cmd命令提示符,输入ffmpeg查看是否出现版本信息,安装完好。 ffmpeg