飞机订票管理系统(java+数据库+MVC)

本文详细介绍了飞机订票管理系统的功能需求,包括用户和管理员两个角色的不同操作。用户可以注册、登录、查看航班、订票及找回密码,而管理员则能进行飞机、航班和机票信息的增删改查。同时,文章提供了数据库的设计,创建了users、Administrator、Airplane、Fight和Ticket等表,用于存储用户信息、管理员数据、飞机、航班和机票详情。
摘要由CSDN通过智能技术生成

飞机订票管理系统(一)

需求分析

项目简介

进入飞机订票管理系统后,可以选择身份类型,进入相应的用户管理系统,管理员管理系统。用户管理系统可以进行注册,登录,查看航班,订票,找回密码。管理员管理系统可以进行注册,登录,进入三个信息系统,进入飞机信息管理系统,对飞机的信息进行增删改查,航班系统,对航班信息进行增删改查,进入机票系统,对机票系统进行增删改查。

数据流图

项目总体数据流图

数据库的创建

  1. 创建users表
    创建users表,用于存放用户的信息,包含身份证号,姓名,密码,性别,电话号码,核酸检测结果,基于对项目的分析此处的数据类型都为varchar类型。
CREATE TABLE Users(
user_id VARCHAR(10) NOT NULL PRIMARY KEY COMMENT '身份证号',
user_name VARCHAR(10) NOT NULL COMMENT '姓名',
user_password VARCHAR(10) NOT NULL COMMENT '密码',
user_sex CHAR(1) NOT NULL COMMENT '性别',
user_phone VARCHAR(11) COMMENT '电话号码',
user_health VARCHAR(10) NOT NULL COMMENT '核酸检测'
)ENGINE = INNODB DEFAULT CHARSET = utf8;
  1. 创建Administrator表
    创建Administrator表,用于存放管理员数据,包含管理员名(varchar),管理员密码。
CREATE TABLE Administrator(
adm_name VARCHAR(10) NOT NULL PRIMARY KEY COMMENT '管理员名',
adm_password VARCHAR(10) NOT NULL COMMENT '管理员密码'
)ENGINE = INNODB DEFAULT CHARSET = utf8;
  1. 创建Airplane表
    创建airplane表,用于存放飞机数据,包含飞机编号,飞机型号,飞机总座位数,飞机飞行年份信息。
CREATE TABLE Airplane(
plane_id VARCHAR(10) NOT NULL PRIMARY KEY COMMENT '飞机编号',
plane_model VARCHAR(10) NOT NULL COMMENT '飞机型号',
plane_seatNum INT(255) NOT NULL COMMENT '飞机总座位数',
plane_age INT(100) NOT NULL COMMENT '飞机飞行年份'
)ENGINE = INNODB DEFAULT CHARSET = utf8;
  1. 创建Fight表
    创建fight表,用于存放航班数据信息,包含航班号,出发地,目的地,出发时间,到达时间,飞行时间,飞机型号。将所有设置为varchar类型与string
    相对应。
CREATE TABLE Fight(
fight_id VARCHAR(10) NOT NULL PRIMARY KEY COMMENT '航班号',
origin VARCHAR(10) NOT NULL COMMENT '出发地',
destination VARCHAR(10) NOT NULL COMMENT '目的地',
go_time VARCHAR(10) NOT NULL COMMENT '出发时间',
arr_time VARCHAR(10) NOT NULL COMMENT '到达时间',
fly_time VARCHAR(10) NOT NULL COMMENT '飞行时间',
planemodel VARCHAR(10) NOT NULL COMMENT '飞机型号'
)ENGINE = INNODB DEFAULT CHARSET = utf8;
  1. 创建Ticket表
    创建ticket表,用于存放机票信息,包含用户姓名,航班号,登机时间,登机口,航站楼,座位号,起飞日期,出发地,目的地,座位类型,托运口。将座位号设置成int类型,在java中相对应。
CREATE TABLE Ticket(
username VARCHAR(10) NOT NULL PRIMARY KEY COMMENT '用户姓名',
fight_id VARCHAR(10) NOT NULL COMMENT '航班号',
board_time VARCHAR(10) NOT NULL COMMENT '登机时间',
board_gate VARCHAR(10) NOT NULL COMMENT '登机口',
terminal VARCHAR(5) NOT NULL COMMENT '航站楼',
seat_num INT(255) NOT NULL COMMENT '座位号',
local_time VARCHAR(10) NOT NULL COMMENT '起飞日期',
origin VARCHAR(10) NOT NULL COMMENT '出发地',
ship_gate INT(255) NOT NULL COMMENT '托运口'
)ENGINE = INNODB DEFAULT CHARSET = utf8;
设计一个飞机管理系统,该系统尽可能模拟实际应用的票务系统,解决实际需求。至少包括如下功能: (1)航班基本信息管理包括但不限于以下信息的增填、删除、修改、查找:航班号,航空公司名称,航班起飞、降落、经停地点和时间,航班可售票数等; (2)航班动态管理:发布航班延误、取消等信息;当航班发生延误和取消等变更时,通知已经购买该航班机票的乘客,并推荐与该航班具有相同起飞降落地点且未延误的最近航班。 (3)票务管理:客户发出购票申请,如有余票则可以直接购票,如果该航班已经无票,提供预约抢票功能:一旦该航班发生退票,自动购买,如有多人预约,按照预约时间顺序按照先到先得原则分配;退票:退已购票。 (4)票务查询:查询某个两个城市间航班情况或某指定航班号的航班情况(如输入航班号,查询起、降时间,起飞、抵达城市,航班票价,所属航空公司,是否有余票等); (5)查询结果排序:票务查询到多个航班信息时,根据用户的选择,分别根据票价、飞行时间、余票数量等信息对相关航班进行排序; (6)航班推荐:输入两个城市名称,假设两城市间无直飞航班且存在多个转机航程,自行设计算法,推荐综合考虑如下因素的最优购票方案:价格、用时、余票数量。[测试数据]可以参考实际航空公司信息或者自行编制虚拟数据作为测试数据。要求城市数目不小于20,航线数目不小于300。 (7)每个组员选择功能(1)、(2)、(3)中的一个,独立设计完成,不同组员要求选择不同功能;若2人一组,可选其中一个功能合作完成。 (8)小组合作完成功能(4)、(5)、(6)中的至少1项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值