基于轻量级框架SpringBoot的家教APP设计与实现

2021-05-17 17:24李竹林郭跃车雯雯
河南科技 2021年3期

李竹林 郭跃 车雯雯

摘 要:本研究设计了一款基于Android手机的家教APP,为了减轻APP的整体重量,采用了轻量级的SpringBoot微服务框架。本文阐述了系统的设计与开发过程,包括角色用例图、功能模块图、数据库设计与实现的主要页面,并总结了开发过程中遇到的主要问题及解决方法。目前,这款家教APP已投入试运行,效果良好。

关键词:Android;家教APP;SpringBoot;轻量级框架

中图分类号:TP393.09文献标识码:A文章编号:1003-5168(2021)03-0022-03

Design and Implementation of Tutor APP Based on Lightweight

Framework SpringBoot

LI Zhulin GUO Yue CHE Wenwen

(School of Mathematics and Computer Science, Yan'an University,Yan'an Shaanxi 716000)

Abstract: This research designed a tutor APP based on Android phones, and used a lightweight SpringBoot microservice framework, in order to reduce the overall weight of the APP. This paper described the design and development process of the system, including role use case diagrams, functional module diagrams, main pages of database design and implementation, and summarized the main problems encountered in the development process and solutions. At present, this tutor APP has been put into trial operation with good results.

Keywords: Android;tutor APP;SpringBoot;lightweight framework

随着国家对教育的重视,家长对孩子的期望越来越高,许多家长希望孩子在课后也能获取知识,而且有些家长认为,有大学生“哥哥姐姐”式的家庭教师辅导孩子完成作业、查漏补缺、一起娱乐,似乎对孩子的快乐成长更有益。因此,大学生兼职家教在社会上已是普遍现象且存在已久。随着时代的发展,家教系统、家教平台、家教微信群以及朋友圈、人托人等多种形式的服务模式应运而生,并发挥了积极的作用[1-2],其中人托人模式占比最大[3]。然而,这些渠道存在耗时、费力、不直接、不直观甚至收取中介费等缺点。

随着移动互联网与智能手机的高速发展与普及,手机APP(应用程序)已被赋予的新意义[4],已经成为方便人们日常生活的重要工具。本文根据大学生家教应用市场需求,利用SpringBoot、Dubbo等技术,设计了一款基于Android的轻量级家教APP,克服原有家教市场上信息获取存在的弊端,使得家教与学生用户之间的信息获取更加快速与便捷。

1 系统设计

1.1 角色及用例图

本系统作为一款家教APP,服务对象主要是学生用户和家教用户两类。学生通过该系统可以展示自己的优势,并可以通过家庭老师库查看家教信息并预约家教,还可以从平台上獲取一些优质的文章学习;家教老师可以通过平台发布自己的信息,并可以通过学生库查看学生信息并预约学生,上传一些优质文章;学生与家教老师通过家教学堂完成在线教学过程,家教通过快速问答在线为学生答疑。两类角色的用例图分别如图1、图2所示。

1.2 总体功能设计

本家教APP主要包括信息库、家教学堂、互动天地和个人中心四大模块,家教和学生对模块有不同权限与操作。其中,核心模块为家教学堂与互动天地,功能分别如图3、图4所示。从图3可以看出,通过家教学堂,家教可以在线完成课程教学、作业的布置与批阅;从图4可以看出,在互动天地模块,学生与家教均可发贴,不但实现了优质教学资源共享,而且可以进行问题的讨论与交流,可大大提高学习便利性。

1.3 数据库设计

本系统的主要实体有学员、家教、课程、视频、学习任务、作业和帖子等。它们的属性如表1所示。

根据实体及实体及实体间的联系,本文设计了login、student、teacher、Course、CourseVideo、HotCourse、HotCourseVideo、HotCourseSelection、StudyAssignment、Homework、JobSubmission、HomeworkReview等17个数据表。在设计的过程中,除了基本的数据表外,还充分考虑了课程的多样化与特色。

2 系统的实现页面

2.1 开发工具与技术

一款实用的手机APP,除了重要的功能外,也要确保性能稳定、整体轻便。为了达到此目的,本文采用以下主要工具与技术,如表2所示。其中,SpringBoot是一个去配置化的开源轻量级框架[5-6]。在Spring4.0的基础上,本研究对Spring框架进行整合,去掉原有的配置文件等众多烦琐操作。这不仅真正简化了开发过程,也使得项目对于依赖包之间的版本冲突、不稳定性等问题得到了很好的解决。

2.2 遇到的问题及解决方法

整个项目设计与实现的过程遇到大大小小的问题,下面分析两个主要问题及其解决方法。

由于项目使用的大部分为链接形式,包括图片链接、视频链接、文章链接,所以用户上传新资源时出现了SpringBoot访问不到新资源的情况。这个问题可以通过将该项目重启,让SpringBoot重新去读取resources文件夹下的静态资源文件来解决,但其不是最好的办法。最终采用的解决方法是:只需要使用自定义的类继承WebMvcConfigurer,并将该类中配置静态资源文件所需要存放的虚拟文件路径的映射注册在重写的addResourceHandlers()方法即可。究其原因,SpringBoot为了保护项目的安全,不将文件目录结构暴露,防止他人通过绝对路径完成注入或其他操作而危害整个服务器的安全。

在互动天地模块的讨论区板块使用发帖子功能时,出现了后端接收不到来自前端的文件流的现象。解决方法有两种。一是在进行参数传递之前利用formdata将所有需要传递的数据进行封装,然后传递即可。二是直接利用表单传递。

2.3 APP的主要页面

本教学APP共包含16个页面,其中的登录首页、学堂在线、互动天地等页面如图5所示。

3 结语

本文根据在校大学生兼职家教和中小学生需要家教的实际需求,设计并开发了一款基于Android智能手机的轻量级家教APP,不但消除了用户需要通过第三方引起的耗时、费力等缺点,而且可以实现教师教、学生学的过程跟踪,促进教师和学生的共同进步。当然,目前版本的APP也存在一些不足,后期将根据用户提供的反馈信息,从功能和性能角度对其进行维护与升级。

参考文献:

[1]廖立雄.基于J2EE平台的家教信息管理系统设计与实现[D].成都:电子科技大学,2014:22-23.

[2]赖权威,张涌,曾兴旺,等.基于微信公众号家教信息平台研发[J].软件工程,2018(7):46-49.

[3]陈小静.大学生兼职现状调查研究[J].山东农业工程學院学报,2019(12):64-65.

[4]杨慧波.浅谈APP的应用[J].中国科技信息,2012(23):79.

[5]桂晨晖.基于SpringBoot框架对P2P借贷平台的设计与实现[D].成都:电子科技大学,2019:28-29.

[6]王福强.SpringBoot揭秘:快速构建微服务体系[M].北京:机械工业出版社,2016:5.