当前位置:首页 期刊杂志

基于微信小程序开发的高校校车订座系统的设计与实现

时间:2024-05-04

陈敏灵, 路子盈, 薛 静

(西安石油大学经济管理学院, 西安 710065)

0 引 言

随着移动互联网的快速发展,OTO(Online To Offline,让互联网成为线下交易的平台)的商业模式[1-2]已经日趋成熟,运用互联网的优势进行线上营销,然后在线下提供具体服务,这种模式在国内外各个领域都有应用。 预订服务就是OTO 模式的一种,其存在于众多行业中,如酒店、乘车、旅游、电影等都含有预订的功能,在线预订[3-4]功能的实现无疑给大众的各日常活动带来了便捷。 21 世纪以来,随着车辆数目的不断增加,传统的车辆管理系统存在各种各样的问题,故大数据下的车辆信息管理系统应运而生,然而目前推出的该类研发系统也仍难以满足人们随着生活水平的提升而不断增长的出行需求[5-7],所以基于OTO 模式下的网约车成为了时下的热门话题之一,如近年来颇为流行的“滴滴快车”等[8]。 众所皆知,网约车的出现给人们出行带来了便利。 但与此同时,各高校中学生群体的在校日常出行问题亦受到了广泛关注。

就各高校而言,校区规模多在逐年扩大,不止一家高校的校区已不再限于一处,而为了方便教师和学生在各个校区之间的往返,高校校车也成为必备选择,但与之相对应的高校校车管理系统[9]、订座系统却仍不多见,即使存在也与现存的车辆信息管理系统[10-12]、校车管理系统大同小异,只包括一些基本的管理功能模块,如车辆管理功能、司机管理功能、线上服务功能、用户管理功能、证件管理功能等[13-14],有些高校甚至未能推出一个完整的校车管理系统来管理学校校车,而只是在指定时间到达指定地点等待师生搭乘,这就导致乘坐校车时常会造成排队现象,甚至还会出现经过长时间排队、但却因车座有限而无法顺利上车的情况。 为解决这一问题,陈腾辉等学者[15]基于微信小程序进行了校车订座的设计与开发,主要是针对校车的日常线路和假期线路运用JavaScript 和MySQL 分别进行了车票的管理设计,提高了校车的利用率,并降低了运营成本。 而在校车订座类的App、小程序、管理系统等研究方面,还鲜有学者涉及。 综上论述都表明了现有的校车类管理系统、订座系统因尚未普及或者功能未臻至具体,并不能有效解决高校师生在各校区之间的日常出行问题。

故本文采用文献研究法、观察法、调查法等多种线上线下研究手段,基于微信设计开发出了高校校车订座小程序,旨在解决以下问题:

(1)帮助高校师生解决在校区之间的日常往返问题,避免排队现象的再出现。

(2)统计功能的实现帮助高校校车管理人员更好地掌握校车的派车、管理情况。

(3)帮助学生更好地掌握关于校车准确且及时的信息。

1 技术简介

小程序的开发过程中,系统后端选取SSM 框架,前端使用uni-app 框架,借助Java 语言完成后台程序编写,小程序端通过HBuilder X 完成界面设计和相关功能,并通过微信开发者工具进行运行,开发运行过程中所有的数据均存放至MySQL 数据库中。

SSM 框架集[16]由Spring 和MyBatis 两个开源框架整合而成,而SpringMVC[17]隶属于Spring 的部分内容。 MVC 指Model、View、Controller,该设计模块对于各种语言都能进行高效转换,无论是Java、还是C 语言对于MVC 设计模式来说都能很好地兼容,并且可以极大地减少运行时间。 不仅如此,MVC 对代码的重复不做过多的要求,还能对视图和模型进行分离分析。 前端开发过程中使用的uni-app 框架是目前市面上比较流行的一款框架,是基于VUE 框架衍生出来的一个可以搭配HBuilder X 编辑器封装生成小程序的版本,相较于VUE 的优势在于可以编译到所有(包括百度、微信、QQ 等)小程序、安卓版本、IOS 版本,通过打包封装实现一套程序的多处运行,而VUE 框架只局限于Web 页面的程序运行,用于其他页面会出现系统崩溃的状态。

小程序选用面向对象语言Java 作为本系统开发的主要核心语言。 Java 不仅吸收了此前编程语言的精髓,还在此基础上进行简化,使得代码更加易懂。 对于后台数据的存储与调用方面,本次设计选择了体量较小、且开源免费的MySQL 数据库,虽然体量较小、但其安全性不可小觑,而且不需要大量的开发资金,再加上Java 本身自带的类库,能使研发出的系统足够安全和稳定。 综上,MySQL 和Java 非常适合本次设计的开发。

微信开发者工具是由微信官方免费提供给开发者使用的一款针对微信小程序开发的工具,集合了程序开发、调试、预览、上传等所有功能[18]。 除了提供发布的各种微信开发者工具文档以外, 微信开发团队还给出完整的开发文件、设计和指导文档等,致力于协助开发人员能够更加简洁、更为快速、有效地设计开发出各种微信小程序。

2 系统分析

2.1 需求分析

系统的需求分析指开发人员经过各种方法得到各类用户对于该系统提出的问题,并进一步转化为系统的信息需求。 通过问卷星小程序对部分教师、学生进行了调查,得到了高校校车订座小程序需要解决的问题和预计的用户类型,并进一步转化为对应的信息需求。 高校校车订座小程序的用户类型有:管理员、教师学生、司机,详细的信息需求见表1。

表1 高校校车订座小程序需求分析Tab. 1 Demand analysis of college bus reservation applet

2.2 可行性分析

(1)技术可行性。 该系统的数据库采用了当前体量较小,但技术较为成熟、且功能也相对强大的MySQL 数据库,其优势在于对软、硬件和运行环境的要求都不高,具有较低的使用门槛。 Eclipse 工具的使用在Java 的编写过程中发挥了重要的辅助作用,并为Web 程序提供了可靠的运行环境。 前台采用HTML +CSS 技术完成页面美观度设计,后台MySQL 数据库强大的功能可以快捷准确地处理庞大的数据信息,并通过SSM 框架对其进行高效存储与调用,保障了系统的顺利运行和系统功能的重复实现。

(2)经济可行性。 该小程序开发过程简单,不会耗费过多的人力物力,避免了资源浪费。 开发过程中涉及到的软硬件及有关其他设备均无需费用,整体开发费用很低,而且小程序也无需安装、操作简便,后期维护起来也不复杂。 小程序含有一定的车辆信息管理功能,可以查看每辆车不同时间的运营成本,也可以查看不同时刻校车的满座率,方便管理员增减派车数量和派车时间,减少了不必要的中间环节及额外开销。 综上可知,小程序具有较好的经济可行性。

(3)营运可行性。 管理员在系统后台录入已有的校车信息及司机基本信息,司机在小程序端查看相关信息(主要查看自己需驾驶的校车及具体乘车点),随后开车去往指定乘车点,后期当有新的校车和司机加入时,管理员可以在后台添加,并为其授予权限;教师、学生只需要在小程序端通过注册登录就可以对校车座位进行预定,并通过出示该订单界面即可去指定乘车点乘车。 管理员仅需在电脑端操作,就可以在系统后台进行所有信息的增删改查处理。 整体流程不仅简单、易操作,而且还具有良好的营运可行性。

2.3 业务流程分析

高校校车订座小程序涉及到的业务包括信息管理、预订座位、留言反馈、管理统计、派车管理及公告管理。 其中,预订座位是小程序的主要业务,指教师、学生通过自己的工号/学号在微信注册该程序形成教师(学生)信息库。 不同于教师的是,学生在注册时需要选择对应的班级,班级是从管理员添加班级信息形成的班级信息库中得到,登录后可进行个人信息的修改完善;管理员在系统后台添加司机基本信息形成司机信息库,添加校车信息形成校车信息库,师生可通过小程序端查看管理员在后台从校车信息库中分离出来的派车信息,并选择合适的校车进行座位预订,预订成功会生成已支付订单(考虑到后期将根据实际情况可能会对乘坐校车进行适当收费,所以称已支付订单和已退款订单),若退款、就会形成已退款订单,兑换、则会形成已完成订单,所有订单会构成订单库。 师生在乘车点依凭订单界面来乘车,并由司机对已完成订单和师生订单界面进行核查。 用户也可以在小程序端乘车点页面查看到对应的运行路线及到达相应地点的大致时间。 留言反馈是指教师、学生、司机在小程序端可就校车管理及该系统的功能方面提出意见或者建议,形成留言库,管理员查看用户留言后进行回复,更新留言库。 公告管理是指管理员可在系统后台添加公告信息,教师、学生、司机则能在小程序端查看所有公告,实时掌握准确信息。 研发系统的业务流程如图1 所示。

图1 业务流程图Fig. 1 Business process diagram

3 系统功能设计

小程序主要包括6 个功能模块,具体功能结构如图2 所示。 由图2 可知,系统中的信息管理模块可分为6 个子模块,分别是:班级管理、学生管理、教师管理、司机管理、校车信息管理、乘车点管理;系统管理模块分为公告管理和轮播图管理;订座管理包括已完成订单、已退款订单和已支付订单;派车管理包括分别对应于小程序端师生、司机界面的派车师生和派车司机;管理统计功能模块分为统计信息管理和通过统计信息生成的柱状图表信息;留言反馈则是一个独立功能模块。 本文中,将对此做研究分述如下。

图2 功能结构图Fig. 2 Functional structure diagram

(1)信息管理模块:班级管理是展示所有已注册的学生对应的班级并对班级总数加以汇总,用户(教师、学生、司机)管理是方便管理员对使用该小程序的所有用户信息进行查阅,乘车点管理对于不熟悉学校的用户来说可助其找到正确的乘车点位置,校车信息管理是对传统校车管理的融合,并将其作为该小程序的子功能之一,有利于后期校车的派车使用。

(2)管理统计功能:管理统计信息是从校车信息中提炼出的多种关键信息制成的数据视图,并不是存在于数据库中的实体表,其虚拟存在是为了帮助管理员更好地管理校车,可用来控制校车的派送频率;图表信息是根据管理统计信息中星期与满座率生成的柱状图。

(3)留言管理:教师、学生和司机可以针对校车提出意见或者建议,通过留言的形式在小程序端输入,管理员能在后台界面看到留言信息,并做出回复。 同时,管理员有权删除不恰当的言论、图片,从而维护小程序的良好运行。

(4)派车管理:用户在预订座位时看到的并不是一辆校车的全部信息、而是派车信息,派车师生和派车司机是由校车信息中提取得来,关系到数据库中的2 张视图,分别对应于小程序中的师生界面和司机界面。

(5)系统管理:该模块包括公告管理和轮播图管理。 公告信息管理指管理员可以在后台发布公告供用户在小程序端进行查看,以确保用户能得到及时、准确、有效的信息;轮播图管理指管理员在后台对小程序页面顶端的内容进行一些操作,主要是一些图片展示。

(6)订座管理:主要包括3 个部分。 其中,已支付是指用户在小程序端成功预订座位后,就会生成已支付订单,已支付订单的小程序端页面会有“兑换”与“退款”字样;点击“退款”会生成已退款订单;点击“兑换”则会转换为已完成订单,此时就不能再取消订单;管理员在系统后台可以对所有订单进行增删改查操作。

4 系统实现

4.1 功能模块实现

经过系统分析、功能设计、数据检验等一系列的研究设计,最终基本实现了登录功能、信息管理功能、留言管理功能、订座管理功能、派车管理功能、管理统计功能。 主要功能的实现界面如图3 ~图6 所示。 文中将给出剖析阐述如下。

图3 座位预订界面Fig. 3 Seat reservation interface

图4 公告信息界面Fig. 4 Announcement information interface

图5 管理统计界面Fig. 5 Management statistics interface

图6 留言界面Fig. 6 Message interface

(1)登录功能。 管理员的登录需要系统管理员在数据库添加管理员的账号、密码来实现,管理员获得登录权限后在系统后台添加教师、学生、司机的基本信息,并对不同用户赋予不同的权限。 这里的基本信息包括:账号(学生用的是学号、教师用的是工号)和密码。 用户获得权限后即可登录小程序界面,进行后续相关操作。

(2)信息管理模块。 主要由教师管理、学生管理、司机管理、班级管理、校车信息管理、乘车点信息管理6 个子模块共同构成。 教师、学生在小程序界面具有注册功能,仍需提及的是,学生在注册时需要选择所在班级才能注册成功。 教师、学生、司机登录进入小程序后,可以在个人界面对用户信息进行修改完善,而信息一旦修改,对应的后台管理系统数据也会随之变化。 管理员可以对用户信息进行增删改查,删除时可以选择批量删除或者逐条删除。 在查询方面,学生可以根据学号、班级、姓名进行信息查询,教师则可根据工号和联系电话来做查询,司机查询可以通过司机账号、姓名及司机状态(工作和休息)查询到所需要的司机信息,校车信息查询的选择控件包括车牌号、校车状态(派车、休息、故障、借入、外借)、司机代号、乘车点代号、星期,管理员可以通过乘车点代号来对乘车点的信息进行查询。

(3)留言管理。 主要指用户和管理员之间的留言,教师、学生和司机可以针对校车乘坐或者该系统发表意见和建议,在小程序端以留言形式发送给管理员,管理员会有针对性地做出留言回复。 此外,管理员还可以对所有的留言信息进行删除、查询操作,删除时可以批量删除所有不恰当的言论、图片,维护系统良好的运行环境;也可以基于用户账号进行查询操作,查询到该用户的留言次数。

(4)系统管理。 包含轮播图管理和公告管理。其中,轮播图管理是由管理员在后台进行设置的,输入需要轮播的图片,但有关图片名称和图片说明信息,用户则无权查看,而是供管理员自己分辨使用,当用户登录小程序后,在首页就可查看到轮播图;公告管理是管理员用于发布日常动态的,也可以在关键时刻发布重要信息供用户查看,使得用户可以掌握及时、准确的信息。 在小程序页面,用户也可以搜索查询一些公告。

(5)订座管理模块。 是指教师、学生登录进入系统后,可以根据车牌号等信息搜索查看不同的校车信息,选择合适的校车来预订座位形成“已支付订单”,点击退款生成“已退款订单”,点击“兑换”生成“已完成订单”后将不能再进行退款、即取消订座操作。 司机可以查看其所驾驶校车的全部订单,查看的页面展示与师生订单页面相一致;管理员可以增删修改所有的订单信息,也可以根据订单编号和车牌号查看所有的订单信息。

(6)派车管理。 包括派车司机和派车师生,分别对应于小程序师生登录得到的校车信息界面及司机得到的信息界面。 2 个界面展示的信息都是从校车信息中提取出来形成视图后再展示给师生和司机,避免了信息的冗余。

(7)统计信息管理。 是从校车信息库中提取的虚拟表,为了便于管理员查看所需要的信息,通过输入车牌号来查询对应的校车信息,也可以通过乘车点代号和星期的选择来查询校车信息。 管理统计信息的设置旨在方便管理员对该系统的使用,避免信息繁多造成的混乱。 图表信息是根据管理统计信息中的星期和满座率生成的每辆校车的满座率柱状图,便于管理员对校车时间、校车频率的灵活安排。

4.2 系统测试

在系统投入使用前,最后一个环节就是系统测试。 测试的目的在于找出系统现存缺陷与不足,及时修改以保证系统的顺利运行。 测试用例的存在是为了方便测试者确定软件系统是否能够付诸实践,待测功能很多,其中2 个核心功能的测试用例见表2、表3。

表2 学生登录及退出小程序用例表Tab. 2 Use case table of student login and exit applet

表3 用户订座用例表Tab. 3 Use case table of student seat reservation applet

4.3 系统评价

该系统由微信小程序的前台设计和后台管理系统两部分组成。 平台使用SSM 框架搭建系统的整体架构,前端使用HTML/CSS/JavaScript/VUE 技术,后台搭配Java 语言, 借助Eclipse 工具在Tomcat7 环境中实现了系统的后台管理,具体来说,共有6 个功能,即:系统的信息管理、订座管理、留言管理、系统管理、管理统计、派车管理。 信息管理包括管理员可以录入用户的所有信息、学生的班级信息、校车的基本信息及对校车的满座率、运营成本等的掌控,更好地调度校车的发车和运营。 小程序借助开发软件HBuilder X 使用uni-app 框架运行在微信开发者工具中,实现用户端的功能。 因而,师生登录小程序,可以进行订座、留言、查看公告,司机可以在小程序端查看到自己所要驾驶的校车,也可以进行留言及查看公告。 系统运行过程中使用及生成的所有数据信息均以表格的形式存放至MySQL 数据库中。

小程序基本实现了各项功能,但仍然存在一定局限性,要在后期不断加以完善。 具体阐述如下:

(1)该小程序在校车数量足够应对老师的情况下实则是为学生设计,因为在实际情况中,学生们都是在教师全部乘坐后仍有空位才能排队上车,但是如果直接让教师和学生都参与订座,就有可能出现学生订座成功而教师没有座位的情况,违背了设计初衷。 针对这个问题,在下一阶段工作中,可以尝试设计教师和学生订座的时间差、即提前开放教师的订座时间,教师在提前的时间内完成订座,其他时间则可供学生用于订座,这样就可以在不影响学生订座的情况下,也避免了教师订座不成功的问题。

(2)目前,教师、学生、班级信息都要管理员手动输入进系统,虽然可以通过注册得到教师、学生信息,但是校对起来也并不容易,而且手动输入也需要花费很长时间。 针对这个问题,在下一阶段工作中可以通过设置导入导出功能来解决。

5 结束语

本次研究中,基于微信小程序利用Java 语言设计开发了高校校车订座系统,系统通过校车订座功能解决师生出行时的排队等候问题;通过信息管理功能了解到乘坐校车的所有用户的信息;通过留言反馈功能及时掌握用户对于小程序的反馈意见或者建议;通过公告管理了解到关于校车的所有准确真实的信息;通过管理统计功能帮助管理员更好地管理校车及掌控派车频率。 该款小程序的研发帮助师生节省了出行时间,降低了校车管理过程中各环节产生的成本,有利于高效开展大学校园校车的管理工作。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!