数据库课程设计报告
————火车票订票系统
学院:
专业:
班级:
姓名:
学号:
目录
一、系统开发平台
题目:火车票订票系统
开发工具:IntelliJ IDEA
数据库:MySQL数据库
操作系统:Windows 10
开发语言:Java,HTML,CSS,JavaScript
后端框架:SpringBoot
二、数据库规划
2.1 任务陈述
做一个火车票订票系统。主要功能:车票查询(单程、连续换乘)、车次管理(车次、起止地点、到达时间、开车时间)、订票(取消、支付、退票、改签)
2.2 任务目标
完成一个火车票订票系统,实现管理员对列车信息的设置、增添、删除,对订单的查看、删除,同时实现用户对车票信息的查询购买,以及对车票的取消、退票、改签。
三、系统定义
3.1 系统边界
管理员:对列车信息可以增删查改,对订单可以删除
用户:可以查询车票,预订车票等,不可以修改列车信息
3.2 用户视图
管理员:
(1)列车添加:编辑列车编号、起始站、终点站、发车日期、发车时间、到达时间来添加列车
(2)列车查询及删除:根据起始站、终点站、出发日期或三个信息的组合来查询已设置的列车,得到相对应的列车信息,进而可以对其进行删除操作,若该趟列车已有相关联的订单则不允许删除该列车
(3)订单查询及删除:可以查询到所有订单信息(取消支付订单、过期支付订单、改签订单、退票订单、未出行订单、已完成订单),可以对所有订单进行删除操作
用户:
(1)登陆:输入相关信息注册账号、根据用户名等信息找回账号密码、登陆账号
(2)单程查询:单程火车票查询:根据出发站、终点站、出发日期查询火车票
(3)连续换乘查询:连续换乘火车票查询:根据出发站、终点站、出发日期查询火车票,或根据出发站、终点站、换乘站、出发日期查询火车票
(4)余票查询/订票:火车票余票查询、预订:选择相应的火车查看余票信息,并选择座位类型、车票类型、乘车人进行火车票的预订
(5)个人信息:个人中心可以查看用户的基本信息:如用户类型、地址、电话号码、身份证号等
(6)乘车人管理:编辑相关信息添加乘车人、删除乘车人
(7)订单管理:未支付订单可以进行支付、取消操作,未出行订单可以进行退票、改签操作,还可以查看已失效订单(支付过期订单、已取消订单、已退票订单)和已完成订单
四、需求分析
4.1 数据需求
该项目主要包括了用户、乘车人、列车、订单等多个实体。这些实体都有其唯一的编号(如顾客对应的是 user_id)用于区分。用户类数据主要包括用户编号,用户密码,用户名称,用户类型,用户身份证号,联系方式等属性。乘车人实体主要包括了用户编号、乘车人身份证号、乘车人姓名、乘车人类型、乘车人电话号码等属性。列车实体则包括了列车编号、列车类型、起始站、终点站、出发日期、出发时间、到达时间等属性。订单实体是本项目中最重要的一环,其属性包括订单时间、下单用户、乘车人、乘车人身份证号、列车编号、列车出发站、终点站、出发日期、出发时间、到达时间、车票类型、车厢号、座位号等。根据订单编号我们可以在数据库中获取到各类相关信息:如是谁下的订单,订单中的列车信息是什么,什么时候下的订单,车票车厢、座位号是多少等
4.2 事务需求
■数据录入
a 新用户注册时录入相关信息
b 管理员添加列车时列车信息录入
c 用户添加订单时订单信息录入
■数据更新/删除
d 更新/删除用户的个人信息
e 更新/删除乘车人信息
f 更新/删除订单信息
g 更新列车座位信息
■数据查询
h 查询列车的相关信息
I 查询乘车人的相关信息
J 查询订单的相关信息
K 查询用户的相关信息
4.3 系统需求
4.3.1性能:
■单个记录 查询时间少于 3 秒
■多个记录查询时间少于 6 秒
■更新/保存记录时间少于 2 秒
4.3.2安全性:
■不同权限的用户所能访问到的数据库权限不同
4.3.3运行需求:
使用浏览器界面结构,采用导航栏界面方式,尽力带给操作用户便利,对用户友好;对鼠标和键盘单独支持。正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
4.3.4其他需求:
■系统的功能实现情况:
用户可在本系统下实现各种用户要求的功能
■系统的容错性:
用户输错数据都有提示信息,具有较好的容错性能。
■系统的封闭性:
用户的封闭性较好,用户基本上在提示信息下输数据。