民航订票管理系统设计

https://download.csdn.net/download/weixin_57836618/74003755


介绍

民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理 航班延误管理,已订票客户信息管理,会员信息管理等功能。

软件架构

开发工具:eclipse Intel idea sqlserver java swing jdbc


一、需求分析:

(1)问题描述:设计系统的简单描述

民航订票管理系统实现了航班信息查询,客户定票,客户退票,航班信息管理,航线管理

航班延误管理,已订票客户信息管理,会员信息管理等功能。

  1. 系统功能描述,对自己所负责的功能模块,可画出所设计模块的操作流程;并分析所需要存储的数据信息。 民航订票管理系统设计_第1张图片

用户登录

  1. 航班信息查询功能

该功能模块可以根据出发地和目的地以及拟定的出发时间查询在该出发时间之后的所有相关航班信息。民航订票管理系统设计_第2张图片

该功能需要存储一定数量的航班信息,检索到的符合查询要求的航班信息将以表格的形式显示出来。

  1. 客户定票功能

每一次订票过程首先生成一个订单界面,可以根据客户的要求向订单中增加客户订票信息。

点击添加旅客按钮,生成客户订票管理界面,该界面分为两个选项卡面板(普通客户,经常客户)要求客户完善自己的订票信息。

2.1、普通用户

普通用户即非会员客户订票,普通用户可以注册成为会员。当点击确定按钮时,会触发一个存储过程bookingTickets,该存储过程会先判断客户是否为会员,如果是则给予优惠折扣,即优惠折扣=(飞机票价-VIP等级*0.1-VIP积分*0.05)/飞机票价。如果不是则按照普通客户的标准,不打折。

    2.2、经常用户 

经常用户即会员用户,可根据会员等级和积分获得一定的机票优惠。当点击确定按钮时,会触发一个存储过程bookingTickets,该存储过程会先判断客户是否为会员,如果是则给予优惠折扣,即优惠折扣=(飞机票价-VIP等级*0.1-VIP积分*0.05)/飞机票价。如果不是则按照普通客户的标准,不打折。

2.3、会员注册

 民航订票管理系统设计_第3张图片

2.4、支付

每添加一条客户订票信息,该系统就会实时计算出该条订单的合计金额,当客户订票完成时,点击支付按钮并支付相应的票价金额,则该订单完成,客户订票信息成功导入数据库表CustomersBTInformation中,并刷新航班信息表FlightInformation中机票库存信息。民航订票管理系统设计_第4张图片

  1. 客户退票功能

根据客户的身份证号查询该客户的所有订票信息,选中需要退票的订票信息,单击退票按钮完成退票,并刷新数据库表CustomersBTInformation中的客户订票信息以及并刷新航班信息表FlightInformation中机票库存信息。

民航订票管理系统设计_第5张图片

管理员登录

1航班信息管理

(1)、添加

输入航班信息,向数据库表FlightInformation中插入航班信息民航订票管理系统设计_第6张图片

(2)、删除

根据航班号删除数据库表FlightInformation中相应航班信息

民航订票管理系统设计_第7张图片

2、航线管理

(1)、添加航线

输入航线信息,向数据库表Airline中插入航线信息

民航订票管理系统设计_第8张图片

  1. 、删除航线
  2. 民航订票管理系统设计_第9张图片

3、航班延误管理

在输入要修改的航班号,航线号,以及修改成的出发时间和到达时间。点击“修改”按钮,实现对该航班的延误修改即修改表FlightInformation并通过一个触发器同时修改表CustomersBTInformation中已订购该航班机票的客户订票信息。

民航订票管理系统设计_第10张图片

4、已订票客户信息管理

实现对客户信息的增删改查功能

(1)、查询客户信息

民航订票管理系统设计_第11张图片

  (2)、添加客户信息

民航订票管理系统设计_第12张图片

(3)、删除客户信息

民航订票管理系统设计_第13张图片

  1. 安全性与完整性方面要求
  1. 安全性要求

确保数据库运行安全以及确保数据库中的数据安全。

  1. 完整性要求

设置合理的约束以防止用户向数据库中添加不合语义的数据,完善主外键的设置。使得数据库运行流畅。

  1. 存储过程定义

定义一个购票存储过程,实现在客户购票时判断客户是否是会员如果是的话就根据会员等级和会员积分给与客户相应的机票优惠,如果不是则不给予优惠。

定义一个购票存储过程,如果客户购买了一张机票,则减少相应的机票库存并修改该班次的上座率。

定义一个退票存储过程,如果一个客户退票,则修改相应的机票库存,并修改该班次的上座率。

  1. 定义触发器

定义一个删除航线触发器,实现如果删除一条航线,则将该航线下的所有航班信息删除。

定义一个航班延误触发器,实现如果修改某航班的出发时间和到达时间,同时修改客户订票信息中相应航班的出发和到达时间,实现及时通知客户延误信息。

  • 概念结构设计

画出系统整体的 E-R 模型;并对模型中所出现的实体及属性等信息加以说明。

 

实体及属性说明

订票信息(包含客户信息及航班信息)

客户信息(包含客户姓名,身份证号等基本资料)

航班信息(包含航线信息和航班基本信息)

航线信息(包含航空公司信息和航线基本信息

民航订票管理系统设计_第14张图片

三、逻辑结构设计

模式设计:按系统整体 E-R 模型,写出关系模式;并利用数据字典加以描述。(如每个关系模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、有何约束条件等信息)

1、模式设计

(1)、关系模式

航空公司(航空公司名称,地址,联系方式,描述)

航线(航线编号,起点,终点,里程,航空公司名称)

航班(航线号,航班号,出发地,目的地,起飞时间,到达时间,机型,余票量,票价,航空公司)

客户信息(姓名,身份证号,性别,年龄,手机,家庭住址,会员等级,会员积分)

订票信息(姓名,身份证号,性别,年龄,手机,家庭住址,会员等级,会员积分,航线号,航班号,出发地,目的地,起飞时间,到达时间,折扣,票价)

  

  1. 、数据字典

表名:Users

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

userName

varchar

20

用户名

password

varchar

20

密码

表名:Administrators

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

userName

varchar

20

用户名

password

varchar

20

密码

表名:AirCompany

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

name

varchar

30

航空公司名称

address

varchar

30

航空公司地址

tel

varchar

20

航空公司电话

description

varchar

100

航空公司描述

表名:Airline

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

airlineNo

varchar

20

航线编号

origin

varchar

20

出发地

destination

varchar

20

目的地

distance

float

航距

aircompany

varchar

30

航空公司名称

表名:VIPCustomers

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

name

varchar

20

姓名

sex

varchar

3

性别

age

int

年龄

id

varchar

20

身份证号

tel

varchar

20

电话

address

varchar

50

家庭地址

vipgrade

int

VIP等级

vipscore

int

VIP积分

表名:BookTicketOrder

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

name

varchar

20

姓名

sex

varchar

3

性别

age

int

年龄

id

varchar

20

身份证号

tel

varchar

20

电话

address

varchar

30

家庭地址

origin

varchar

20

出发地

destination

varchar

20

目的地

leaveTime

DateTime

出发时间

arriveTime

DateTime

到达时间

flightNo

varchar

20

航班号

airlineNo

varchar

20

航线号

seatType

varchar

10

座位类型

airCompany

varchar

30

航空公司名称

vipgrade

int

VIP等级

vipscore

int

VIP积分

ticketPrice

float

票价

discount

float

优惠折扣

actualPrice

float

实际票价

表名:FlightInformation

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

flightNo

varchar

20

航班号

airlineNo

varchar

20

航线号

origin

varchar

10

出发地

destination

varchar

10

目的地

leaveTime

DateTime

出发时间

arriveTime

DateTime

到达时间

totalSeats

int

总座位

firstPrice

float

头等舱票价

businessPrice

float

商务舱票价

economyPrice

float

经济舱票价

firstRemain

int

头等舱剩余

businessRemain

int

商务舱剩余

economyRemain

int

经济舱剩余

occupancy

float

占座率

planeModel

varchar

10

机型

airCompany

varchar

30

航空公司名称

表名:CustomersBTInformation

字段名

是否主键

字段类型

字段长度

是否允许为空

备注

flightNo

varchar

20

航班号

airlineNo

varchar

20

航线号

origin

varchar

10

出发地

destination

varchar

10

目的地

leaveTime

DateTime

出发时间

arriveTime

DateTime

到达时间

totalSeats

int

总座位

firstPrice

float

头等舱票价

businessPrice

float

商务舱票价

economyPrice

float

经济舱票价

firstRemain

int

头等舱剩余

businessRemain

int

商务舱剩余

economyRemain

int

经济舱剩余

occupancy

float

占座率

planeModel

varchar

10

机型

airCompany

varchar

30

航空公司名称

2、子模式设计

(1)、视图设计

创建一个视图用于存放根据身份证号码查询出来的客户信息。该视图的字段参照表CustomersBTInformation

四、数据库设计实现

(1)、数据库的创建

T-SQL 语句:create database CivilAviationTicketSystem

(2)、数据表的创建

T-SQL语句 :

/*用户信息*/

create table Users(

userName varchar(20) not null,

password varchar(20) not null)

/*管理员信息*/

create table Administrators(

userName varchar(20) not null,

password varchar(20) not null)

/*航空公司信息*/

create table AirCompany(name varchar(30) primary key not null,

address varchar(30) not null,

tel varchar(20) not null,

description varchar(100) not null)

/*航线信息*/

create table Airline(airlineNo varchar(20) primary key not null,

部分展示


民航订票管理系统设计_第15张图片


民航订票管理系统设计_第16张图片

 

民航订票管理系统设计_第17张图片

 

民航订票管理系统设计_第18张图片

 

民航订票管理系统设计_第19张图片

 

民航订票管理系统设计_第20张图片

 

民航订票管理系统设计_第21张图片

 

 

完整文档和源代码可以在我的资源里面下载

你可能感兴趣的:(java,java,sql)