校车购票微信小程序的设计与实现

本文介绍了如何利用微信小程序技术和SSM框架开发一个校车购票系统,通过微信开发者工具构建用户界面,管理员后台管理学生、座位和乘车信息,同时详细描述了数据库设计、功能实现和系统测试过程。
摘要由CSDN通过智能技术生成

摘 要

由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软件都转向微信小程序。本次课题就运用了微信小程序技术开发一个校车购票微信小程序。
校车购票微信小程序借助微信开发者工具开发用户前端,使用SSM框架和Java语言开发管理员后台,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理学生,为学生安排车辆座位,管理车辆和座位以及学生乘车信息。学生查看,收藏,评论车辆,查看乘坐的车辆信息以及收藏的车辆信息。
总之,校车购票微信小程序可以更加方便学生查看车辆以及车辆乘坐信息,也方便了管理员在后台对车辆,车辆座位以及学生乘车信息进行统一管理。
关键词:校车购票微信小程序;微信开发者工具;SSM框架

Abstract

Due to the high cost of APP software development and operation, and the user’s mobile phone needs to install various APP software, it takes up too much mobile phone storage space of the user, causing the user’s mobile phone to run slowly, the experience is relatively poor, and the user will uninstall Non-essential APPs force managers to change their operating strategies. With the emergence of WeChat mini-programs, the pain point that users cannot access content from non-independent APPs has been solved, so many APP software have turned to WeChat mini-programs. This project used WeChat applet technology to develop a WeChat applet for school bus ticket purchase.
The school bus ticket purchase WeChat applet uses the WeChat developer tool to develop the user front end, uses the SSM framework and the Java language to develop the administrator backend, and uses Mysql to create a data table to save the data generated by the system. The system can provide information display and corresponding services. Its administrator manages students, arranges vehicle seats for students, manages vehicles and seats, and student ride information. Students view, bookmark, comment on vehicles, view the information of the vehicles they ride and the information of the vehicles they collect.
In short, the school bus ticket purchase WeChat applet can make it more convenient for students to view the vehicle and vehicle ride information, and it also facilitates the administrator to manage the vehicle, vehicle seat and student ride information in the background.
Key Words:School bus ticket purchase WeChat applet; WeChat developer tool; SSM framework

目 录

第1章 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 研究内容 1
第2章 开发环境与技术 3
2.1 MYSQL数据库 3
2.2 JSP技术 3
2.3 SSM框架 4
2.4 微信开发者工具 4
第3章 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性 6
3.1.2 经济可行性 6
3.1.3 操作可行性 6
3.2 系统流程 7
3.2.1 操作流程 7
3.2.2 登录流程 7
3.2.3 删除信息流程 8
3.2.4 添加信息流程 9
3.3 性能需求 9
3.4 功能需求 10
第4章 系统设计 12
4.1 设计原则 12
4.2 功能结构设计 12
4.3 数据库设计 14
4.3.1 数据库概念设计 14
4.3.2 数据库物理设计 17
第5章 系统实现 21
5.1 管理员功能实现 21
5.1.1 学生管理 21
5.1.2 乘车信息管理 21
5.1.3 车辆信息管理 22
5.1.4 座位管理 22
5.2 学生功能实现 23
5.2.1 车辆信息 23
5.2.2 我的乘车信息 24
5.2.3 我的收藏管理 25
5.2.4 修改个人信息 26
第6章 系统测试 28
6.1 功能测试 28
6.1.1 发布评论功能测试 28
6.1.2 收藏车辆功能测试 30
6.2 测试结果 32
结 论 33
致 谢 34
参考文献 35

第1章 系统设计

一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。
4.1 设计原则
本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则外,还有安全性原则,准确性原则。
第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。
第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。
第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。
4.2 功能结构设计
在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理学生,为学生安排车辆座位,管理车辆和座位以及学生乘车信息。
在这里插入图片描述

图4.1 管理员功能结构图
在前面分析的学生功能的基础上,进行接下来的设计工作,最终展示设计的学生结构图(见下图)。学生查看,收藏,评论车辆,查看乘坐的车辆信息以及收藏的车辆信息。
在这里插入图片描述

图4.2 学生功能结构图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是车辆实体和其具备的属性。
在这里插入图片描述

图4.4 车辆实体属性图
(2)下图是乘车信息实体和其具备的属性。
在这里插入图片描述

图4.5 乘车信息实体属性图
(3)下图是学生实体和其具备的属性。
在这里插入图片描述

图4.6 学生实体属性图
(4)下图是管理员实体和其具备的属性。
在这里插入图片描述

图4.7 管理员实体属性图
(5)下图为上述各实体间相互之间的关系。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库物理设计
本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。
关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;
元组:元组就是数据表中的一行记录;
属性:属性就是数据表中的字段,也就是数据表中的一列;
域:域就是对数据表中属性的取值进行限定;
关键字:关键字就是数据表中的主键;
在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。

表4.1 车辆信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
chepaihaoma varchar(200) 是 NULL 车牌号码
cheliangmingcheng varchar(200) 是 NULL 车辆名称
cheliangzhaopian varchar(200) 是 NULL 车辆照片
zuoweishuliang int(11) 是 NULL 座位数量
cheliangxiangqing longtext 是 NULL 车辆详情
siji varchar(200) 是 NULL 司机
facheshijian datetime 是 NULL 发车时间
daodashijian datetime 是 NULL 到达时间
thumbsupnum int(11) 是 0 赞
crazilynum int(11) 是 0 踩
表4.2 车辆评论信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.3收藏信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.4 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.5 乘车信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
chelianghaoma varchar(200) 是 NULL 车辆号码
facheshijian datetime 是 NULL 发车时间
daodashijian datetime 是 NULL 到达时间
zuowei varchar(200) 是 NULL 座位
xuehao varchar(200) 是 NULL 学号
xueshengxingming varchar(200) 是 NULL 学生姓名
userid bigint(20) 是 NULL 用户id
表4.6 学生信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
xuehao varchar(200) 是 NULL 学号
mima varchar(200) 是 NULL 密码
xueshengxingming varchar(200) 是 NULL 学生姓名
xingbie varchar(200) 是 NULL 性别
banji varchar(200) 是 NULL 班级
zhuanye varchar(200) 是 NULL 专业
lianxifangshi varchar(200) 是 NULL 联系方式
youxiang varchar(200) 是 NULL 邮箱
tupian varchar(200) 是 NULL 图片
表4.7 座位信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
zuowei int(11) 是 NULL 座位

第2章 系统实现

进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。
5.1 管理员功能实现
5.1.1 学生管理
管理员进入指定功能操作区之后可以管理学生信息。其页面见下图。管理员增删改查学生信息,可以为学生进行校车排座操作。
在这里插入图片描述

图5.1 学生管理页面
5.1.2 乘车信息管理
管理员进入指定功能操作区之后可以管理乘车信息。其页面见下图。管理员查看学生的乘车信息,包括车辆号码,发车时间,到达时间以及学生的座位等信息。管理员可以修改学生乘车信息,也能删除指定的学生乘车信息。
在这里插入图片描述

图5.2 乘车信息管理页面
5.1.3 车辆信息管理
管理员进入指定功能操作区之后可以管理车辆信息。其页面见下图。管理员增删改查车辆信息,在本页面可以查看学生对各个车辆的评论信息。
在这里插入图片描述

图5.3 车辆信息管理页面
5.1.4 座位管理
管理员进入指定功能操作区之后可以管理座位信息。其页面见下图。管理员在当前页面新增座位信息,修改座位信息,删除指定的座位信息。
在这里插入图片描述

图5.4 座位管理页面
5.2 学生功能实现
5.2.1 车辆信息
学生进入指定功能操作区之后可以查看车辆信息。其页面见下图。学生查看车辆介绍,可以点击红色五角星收藏车辆,也能在本页面对车辆进行评论。
在这里插入图片描述

图5.6 车辆信息页面
5.2.2 我的乘车信息
学生进入指定功能操作区之后可以查看乘车信息。其页面见下图。学生查看乘坐的车辆以及座位信息,查看车辆的发车与到达时间。
在这里插入图片描述

图5.7 我的乘车信息页面
5.2.3 我的收藏管理
学生管理收藏的车辆信息。其页面见下图。学生收藏车辆之后,需要在本页面查看收藏的车辆,删除指定的车辆收藏信息。
在这里插入图片描述

图5.8 我的收藏管理页面
5.2.4 修改个人信息
学生进入指定功能操作区之后可以修改个人信息。其页面见下图。学生在当前页面核对个人信息,及时更改登记有误的个人介绍资料,包括联系方式,班级,专业等信息。
在这里插入图片描述

图5.9 修改个人信息页面

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值