航空联盟管理系统
组员:李健豪 陈智暄 刘思博 李元皓
一、航空售票管理系统概述
航空售票管理系统旨在为订票用户、航空公司管理人员以及机场管理人员分别提供了必要的功能与服务,并实现了航班信息的高效管理以及用户的体验得到了显著提升。该系统采用多角色设计以满足各类用户的实际需求,并最终促进了航空售票与机场管理领域的现代化进程,并朝着智能化方向不断演进。
1.订票用户
该系统以核心客户群体为核心服务对象,在线提供便捷高效的订票解决方案。用户可方便地查询航班信息包括航班号起飞时间和降落时间起始地与目的地票价等详细资料根据个人需求选择合适的航班并完成订票与支付等操作流程系统还支持用户管理个人账户信息查询和维护历史订单在线办理登机手续选择座位以及取消与更改行程安排为了提升用户体验界面设计注重简洁直观操作流程流畅连贯
2.航空公司管理员
作为系统的管理人员,航空公司管理员负责对航班信息进行录入与维护。他们可通过系统实现航班信息的增删改查,并确保航班数据既准确又及时地进行更新。该系统具备强大的数据管理功能,在帮助管理员完成航班调度安排与优化配置的同时,还能够分析市场需求并制定更加符合市场需求的产品策略。
3.机场管理员
另一类重要的管理角色是机场管理员。他们的主要职责包括管理与协调机场的各种运作。为了满足这一需求, 系统特意设计并提供了丰富的航班运行数据, 其中包含了航班起飞时间和降落时间等多种详细信息。这些数据可以帮助管理人员合理分配登机口位置, 从而保证了整个机场运营的高效性和秩序性。此外, 管理人员还可以利用系统来合理分配登机口位置以及调整登机顺序, 这对于提升服务质量和效率至关重要
二、 实验环境
本系统开发平台及环境如下:
系统开发语言:Python
数据库管理软件:SQL Server 2017
平台:Windows7、10
三、 实验内容与步骤
3.1系统需求分析
3.1.1系统工作原理
先由用户向系统提交注册申请,在控制层面发起对数据逻辑层的操作以执行事务,并最终使得用户完成注册流程
// 注册。由注册申请人向机场服务人员申请注册,其后请业务逻辑层通过数据处理模块执行数据库操作以完成整个流程
在系统的启动流程中,请执行以下操作:首先,请您发送一次用户的登录请求;随后,在接收到用户的输入数据后,请对用户的输入内容进行身份验证;判断用户的账号类型、用户名以及密码与系统设置是否一致;若上述信息与系统设置存在差异,则授权失败;反之则可正常访问该系统
修改个人信息。用户对可以对个人信息进行查询及修改。
航班信息检索。在数据库中执行航班信息检索操作,在返回结果中展示符合用户需求筛选结果。
用户在获取自己所需的航班信息后可完成机票预订。首先,在获取自己享有的优惠折扣基础上计算并确认支付金额后, 系统将相关信息整合后发送至机票预订模块, 同时记录到订单信息数据库中以及积分模块中进行积分奖励积累。
此工作接收用户的修改信息,在用户指定的ID以及预订的具体航班号的基础上,在满足相关条件的情况下,则会对预定了该航班行程的有效机票进行相应的调整与变更操作。
此系统负责接收用户的退票申请,并基于账户ID和预订的航班信息对符合条件的已预订机票执行退票操作的同时退还相应的积分奖励
航班信息的收集工作由航空公司管理员负责完成。
该系统接收来自航空公司管理员收集的航班信息,并将其导入数据库中进行存储管理。
航班信息需进行定期更新。此工作将接受管理员关于特定航班信息的数据修改请求,并将其相关数据存入数据库中。
完成 orders. Users may search completed or pending shipments, while administrators may review all orders assigned to a specific user.
3.1.2表的设计
本系统基于MySQL数据库。为本系统创建了一个test数据库,其中包含了8张表。各个表的详细设计如下:
航空公司管理员信息表
表名:companyUser
航空公司管理员信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| userId | INT | No | 主键 | 用户编号 | 
| userName | VARCHAR(50) | Yes | 用户名 | |
| password | VARCHAR(50) | Yes | 密码 | |
| companyId | INT | Yes | 外键 | 所属公司 | 
机场管理员信息表
表名:airportUser
机场管理员信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| userId | INT | No | 主键 | 用户编号 | 
| userName | VARCHAR(50) | No | 用户名 | |
| password | VARCHAR(50) | No | 密码 | |
| airportId | INT | No | 外键 | 所属机场 | 
顾客信息表
表名:customerUser
顾客信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | |
|---|---|---|---|---|---|
| userId | INT | No | 主键 | 用户编号 | |
| userName | VARCHAR(50) | No | 用户名 | ||
| password | VARCHAR(50) | No | 密码 | ||
| Vip | INT | No | 是否注册用户 | ||
| Point | INT | No | 积分 | ||
| realName | VARCHAR(50) | Yes | 姓名 | ||
| phone | VARCHAR(50) | Yes | 手机号 | ||
| sex | VARCHAR(50) | Yes | 性别 | 
公告信息表
表名:board
公告信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| boardId | INT | No | 主键 | 公告编号 | 
| flightId | INT | No | 外键 | 涉及航班编号 | 
| dueTime | INT | No | 截止日期 | 
机场信息表
表名:airport
机场信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| airportId | INT | No | 主键 | 机场编号 | 
| airportName | VARCHAR(50) | No | 机场名称 | 
航空公司信息表
表名:company
航空公司信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| companyId | INT | No | 主键 | 公司编号 | 
| companyName | VARCHAR(50) | No | 公司名称 | 
机票销售信息表
表名:ticket
表3-4 机票销售信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| ticketId | INT | No | 主键 | 机票编号 | 
| userId | INT | No | 外键 | 顾客编号 | 
| flightId | INT | No | 外键 | 航班编号 | 
| companyId | INT | No | 外键 | 航班公司 | 
| seatNumber | INT | No | 座位号 | |
| passagerName | VARCHAR(50) | No | 乘客姓名 | |
| passagerPhone | VARCHAR(50) | No | 乘客手机号 | |
| paidMoney | INT | No | 付款金额 | |
| paidTime | VARCHAR(50) | No | 付款时间 | 
航班信息表
表名:flight
表3-5 航班信息表
| 属性名 | 类型 | 允许为空 | 主键 | 描述 | 
|---|---|---|---|---|
| flightID | INT | No | 主键 | 航班号 | 
| plane | VARCHAR(50) | No | 飞机机型 | |
| departure | INT | No | 外键 | 出发地编号 | 
| terminal | INT | No | 外键 | 目的地编号 | 
| leaveTime | VARCHAR(50) | No | 出发时间 | |
| arrivetime | VARCHAR(50) | No | 到达时间 | |
| leftTicket | INT | No | 余票数量 | |
| totalTicket | INT | No | 总票数 | |
| ticketMoneu | INT | No | 票价 | |
| companyID | INT | No | 外键 | 所属公司 | 
