1,绪论
1.1 项目的目的与目标
项目目的:
设计并实现一个具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长等优点长途汽车网上售票系统。
项目目标:
- 用户可注册自己用户名和密码用于登录本系统;
- 用户在注册后可以实现车次查询、网上订票、网上支付、网上退票、历史订 票信息查询等功能;
- 用户车票生成包括两种形式:
发到用户提供的邮箱以便用户自己打印车票;
用户寻找管理员,管理员通过管理系统为其打印车票;
- 管理员可以根据不同的条件(不同季节、是否周末、是否是单程票还是往返 票、每天不同的发车时间、一次购票数量、提前购票天数间隔、是否儿童、是 否老年人)来设置不同的优惠幅度;可以管理长途汽车线路(包括发车时间)。
- 管理员还可以实现已售车票的统计和查询、打印功能,可以月度、季度、年度财务结算等功能。
1.2 系统功能范围及过程规划
计划采用“敏捷开发”的过程模型,以需求进化为核心,采用迭代、循序渐进的方法进行软件开发,每个需求分别对应不同的子模块的实现。
2,需求分析
- 乘客注册登录: 用户要求注册或登陆会员系统,用户输入账号密码进行注册,凭用户名和密码登陆并查询或修改个人信息;
- 乘客完善个人信息:用户要求完善个人相关,进入个人界面,输入姓名、性别、手机号、身份证号等相关信息,保存个人信息用于后续车票购买;
- 车次查询:用户要求查询指定出发地、目的地和指定日期的车次信息,显示车次日期、车次号、发到时间、发到地点、票价、余票等信息;
- 网上订票:用户要求购买车票,用户在车次信息查询界面选择车次,输入旅客信息和联系人信息,在余票充足的前提下,生成车票订单;
- 网上支付:用户要求支付预订车票,系统进入支付界面供用户支付车票订单,确认完成后生成车票;
- 网上退票:用户要求改签或退票,用户通过订单查询到车票信息,并更改原车票状态和相关信息;
- 历史订票信息查询:用户要求查询历史订票信息,在查询界面显示用户历史订单的车次信息以及订单状态;
- 车票生成:用户要求生成车票,可以选择邮箱和手机接收车票信息,或车站取票;
- 管理员设置优惠:用户可以根据不同的条件(不同季节、是否周末、是否是单程票还是往返票、每天不同的发车时间、一次购票数量、提前购票天数间隔、是否儿童、是否老年人)来设置不同的优惠幅度;
- 添加长途汽车信息:用户要求添加长途汽车信息,新增一条车次信息,完善车次号、车次日期、发到时间、发到地点、票价、余票等信息;
- 管理员管理长途汽车线路:用户要求管理长途汽车线路,可进入管理界面,对已有的长途汽车线路进行线路发车时间等信息的修改;
- 管理员用户管理:用户要求管理注册乘客信息,在管理界面选择需要管理的乘客,对其状态和信息等进行修改管理;
- 已售车票统计查询:用户要求统计查询已售车票,显示已售出车票的车次信息、订票人、订单状态等信息;
- 财务总结:用户要求结算财务,系统按照用户选择月、季、年的时间单位,进行选择时间内相关信息的汇总与结算,生成显示财务结算结果。
3,技术分析
后端技术
技术 |
说明 |
官网 |
SpringBoot |
Web应用开发框架 |
https://spring.io/projects/spring-boot |
SpringSecurity |
认证和授权框架 |
https://spring.io/projects/spring-security |
MyBatis |
ORM框架 |
http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator |
数据层代码生成器 |
http://www.mybatis.org/generator/index.html |
Druid |
数据库连接池 |
https://github.com/alibaba/druid |
JWT |
JWT登录支持 |
https://github.com/jwtk/jjwt |
Lombok |
Java语言增强库 |
https://github.com/rzwitserloot/lombok |
PageHelper |
MyBatis物理分页插件 |
http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI |
API文档生成工具 |
https://github.com/swagger-api/swagger-ui |
前端技术
技术 |
说明 |
官网 |
Thymeleaf |
现代的服务器端Java模板引擎 |
https://www.thymeleaf.org/ |
Bootstrap |
CSS/HTML框架 |
https://www.bootcss.com/ |
Swiper |
特效插件 |
https://www.swiper.com.cn/ |
Element |
前端UI框架 |
https://element.eleme.io |
Axios |
前端HTTP框架 |
https://github.com/axios/axios |
Chart.js |
图表工具 |
有源码 获取源码 |
AdminLTE |
管理模板 |
https://adminlte.io/ |
4,系统设计
用户用例图
管理员用例图:
5,用户端页面展示
登录
系统首页
购票页面
选择日期
购买流程
1,进入车票详情页
2,确认购票信息
3,付款
我的订单
个人中心
6,后台管理页面展示
首页
用户管理
新增/修改用户
车次管理
新增/修改车次
订单管理
修改订单状态
财务管理