Java家教系统家教网站家教兼职系统
简介:
用户可以注册成为学员也可以是教员。教员发布家教信息,学员根据自己的要求查找符合自己的教员。学员预约教员的某一天去家教,教员可以在个人中心里查看,是否接受该预约。在教员接受或拒绝之前,学员随时可以取消该预约。若教员不处理改预约,则该预约到期会自动过期。若教员赴约,则到期自动结束该预约。可以根据地域自动定位某城市的教员信息。
演示视频: https://www.bilibili.com/video/BV18A41137kX/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156
调试讲解 https://www.bilibili.com/video/BV1qh411Q7nS/?share_source=copy_web&vd_source=ed0f04fbb713154db5cc611225d92156
角色:
学员,教员,管理员
前台功能:
-
首页: 广告轮播,找家教,优秀教师推荐
-
找家教列表展示: 分页(可自动定位用户当前城市,可以根据城市,科目,年级,补习时间来寻找符合自己的家教,并且显示教员今天是否有约),标记教师实名认证和优秀教师
-
优秀教师查找展示和分页: 功能同上
4.教员详情页: (预约,自动补全学员家教信息,只可以预约教员规定的科目和教员规定的最近一个月的时间,若教员在预约日期内有单,则不可预约,若教员当天预约个数超过2个,则不可预约,一天内不可重复预约),详情页还会展示教员发布的教育心得列表和分页,以及用户留言的发布和分页显示。收藏教师
-
公告列表分页和详情:
-
网站规章制度列表分页和详情:
-
用户注册: (用户名,密码,图片验证码)
-
登录
教员中心:
-
注册教员信息,上传电子照:
-
我的兼职预约: (可以查看用户预约的情况,根据自己的时间安排来决定是否接受该预约),预约分页;
-
实名认证: 实名认证分为两步,第一步填写姓名和身份证,第二步上传照片,提交之后不可更改,之后
由管理员审核,审核通过则不可更改,审核不通过则显示不通过的原因,用户重新实名认证。 -
教育心得: 发布图文,根据标题查询,分页展示,编辑图文
-
修改密码:
-
退出:
7.收藏教师列表: 分页,取消收藏
学员中心:
-
注册学员信息,上传头像:
-
我的辅导信息: (在教员处理之前,用户可以取消该预约,若教员不处理则自动过期,自动结束),分页;
-
修改密码;
4.退出
7.收藏教师列表: 分页,取消收藏
管理员:
-
教员管理: 分页,查询(根据姓名,科目,手机号查询),编辑,添加,删除,设置为优秀教师;
学员管理:分页,查询(根据姓名,科目,联系人手机号,联系人姓名查询),编辑,添加,删除; -
实名认证审核: 分页,查询(根据姓名、身份证号、审核状态查询),审核通过,不通过,弹框显示用户实名信息;
-
公告管理: 分页,查询(根据标题查询),编辑,图文添加,删除;
-
网站规章制度管理: 分页,查询(根据标题查询),图文编辑,添加,删除;
-
广告管理: 分页,查询(根据标题查询),编辑,添加,删除,上传图片;
-
教育心得管理: 分页,查询(根据标题,教员姓名查询),图文编辑,添加,删除;
-
留言管理: 分页,查询(根据标题查询),删除;
-
修改密码;
-
退出
部分截图
Java家教系统论文
基于Java的大学生家教平台系统的设计与实现
摘要:因“双减政策”实施,家长为孩子找补习老师困难。家教行业迎来了暂时的春天,但家教机构鱼龙混杂且收取高额“信息费”,令许多想做家教的大学生望而生怯。因此,设计一个家长和家教老师能直接信息交流的平台十分必要。
本文使用Java语言,前端采用Bootstrap框架,后端采用SSM框架,利用MySQL数据库和JSP编程技术等技术开发以B/S为架构的大学生上门服务家教平台系统。该系统有管理员、教员、学员三个角色:管理员负责管理整个网站信息,包括但不限于对教员、学员、公告以及广告等信息进行管理;教员角色主要负责管理教员信息,包括但不限于对教员信息、实名认证以及学员预约申请进行管理;学员角色主要负责管理学员信息,包括但不限于对学员信息、预约申请进行管理。本系统最大的亮点在于学员与教员之间的信息透明:学员可在教师详情中查看教员信息并发出预约申请;教员接受该申请后可获取学员的联系方式。不仅提高了双方效率,还避免了中间商赚差价。
关键词:家教平台;Java;MySQL数据库;B/S架构;SSM框架
Design and Implementation of College Students' Tutoring Platform System Based on Java
Abstract: It's tough for parents to find tutors for their children since the "double reduction policy" was implemented. The tutoring industry has had a brief revival, but tutoring agencies are mixed and charge exorbitant "information fees," discouraging many college students who want to be tutors from working with them. As a result, it is vital to create a platform through which parents and instructors can easily communicate information.
This paper develops a B/S architecture teaching platform system for college students using the Java language, the Bootstrap framework for the front-end, and the SSM framework for the back-end, as well as the MySQL database and JSP programming technology. The system is separated into three roles: administrator, tutor, and student. The administrator is responsible for managing the entire website information, including but not limited to managing user information, announcement information, and advertisement information; the tutor role is primarily responsible for managing tutor information, including but not limited to managing tutor information, real-name authentication, and student reservation application; and the student role is primarily responsible for managing student reservation application. The most notable feature of this system is the direct communication between students and tutors: students may access tutor information in tutor details and send appointment requests, while tutors can obtain students' contact information after approving the requests. This not only increases the efficiency of both parties, but also eliminates the need for a middleman to earn the price difference.
Key words:Homeschooling Platform; Java technology; MySQL database; B/S architecture; SSM framework
目 录
论文总页数:27页
1 引 言 1
1.1 课题研究背景 1
1.2 国内外研究现状 1
1.2.1国内研究现状 1
1.2.2国外研究现状 1
1.3 课题研究意义 1
1.4 本课题研究方法 2
1.4.1 基本思路 2
1.4.2 研究路线 2
1.4.3 工作重点 2
2 系统核心技术介绍 3
2.1开发工具环境介绍 3
2.1.1 IDEA介绍 3
2.1.2 MySQL数据库介绍 3
2.1.3 Tomcat介绍 3
2.1.4 B/S框架介绍 3
2.2开发程序技术介绍 3
2.2.1 Java语言技术介绍 3
2.2.2 Bootstrap框架介绍 4
2.2.3 SSM框架介绍 4
3 系统需求分析 5
3.1用户需求分析 5
3.1.1管理员用例图 5
3.1.2学员用例图 5
3.1.3教员用例图 5
3.2功能需求分析 7
3.3非功能需求分析 8
3.4可行性分析 8
4 系统设计 9
4.1系统数据库设计 9
4.1.1数据库E-R图 9
4.1.2数据表字段设计 11
4.2系统功能设计 13
5 系统实现 17
5.1学员预约功能实现 17
5.2教员接单功能实现 18
5.3实名认证功能实现 18
5.4添加广告功能实现 19
6 系统功能测试 20
6.1程序测试 20
6.1.1测试的重要性 20
6.1.2测试的步骤 20
6.2功能测试 20
6.2.1测试表 20
6.2.2测试截图 21
结 论 24
参考文献 25
致 谢 26
声 明 27
1 引 言
1.1课题研究背景
当今社会的显著特征之一就是网络化,几乎所有的事物都离不开互联网。一个组织想要在激烈的竞争中发展壮大就必须搭上互联网的快车,构建自己的网络体系。传统的上门家教机构多以线下招新、线下服务为主,鲜有机构利用互联网进行线上交流,由此产生了一些缺点:固定成本高,包括但不限于店面租赁成本,办公室硬件成本,人力资源成本;流动性差,家教服务局限于店面附近的小范围地区,很难覆盖全市乃至全省。另外,家长对孩子教育的重视程度也在不断提高,但教育局关于补习机构的治理政策不断收紧,内忧外患的情况下,上门家教受到越来越多的家长青睐。为了解决日益增长的家教需求与优质师资不充足之间的矛盾,充分利用大学生资源能够有效平衡市场对家教老师的需求。[1]
1.2国内外研究现状
1.2.1国内研究现状
随着中国教育事业的不断发展,学生的学习竞争愈发激烈。虽说现在的“双减”政策是为了给学生减负,但考试制度的存在以及许多父母“望子成龙,望女成凤”的想法导致学生的压力明减暗增。因此,补习机构层出不穷,其中不乏家教机构,目前国内比较有名的家教网站有三好家教网,轻轻家教网等。为了增强补习效果,越来越多的家长选择上门家教服务进行一对一补习。然而,专业老师资源有限且教育部规定在职老师不能进行私人补习,因此,综合素质较高,接受过高等教育的在校大学生成为家长的首要选择。
1.2.2国外研究现状
国外的兼职体系较为完善,家教服务行业趋于成熟,主要分为在线家教以及上门家教两种模式,比较有名的在线家教平台有MyTutor、Khan Academy等,线下上门家教方式则主要是通过熟人介绍或者去学校或社区的兼职中心寻找。
1.3课题研究意义
本课题研究的是一个线上的大学生家教信息交流平台,其目的在于提高家教效率:家长不必为了寻找合适的家教老师而花费太多时间,可以直接在平台按照需求筛选合适的家教老师并发出预约邀请。大学生也不必因为四处寻找家教兼职工作而浪费过多的时间和精力,只需要在平台注册登录后便可以看到学生的发出的预约详情以及学生的基本情况,届时根据自己的情况选择接受或拒绝该申请即可,十分便捷高效。与此同时,家长和家教老师可以直接利用平台进行信息交流,不仅降低了传统家教行业所需的场地、人力等成本,还大大减少了不良中介赚取信息费的机会。
1.4本课题研究方法
1.4.1基本思路
为了更全面更准确地了解大学生家教平台系统设计与实现的可行性以及线上家教平台基本结构,本次研究将先以线上线下实际调查的结果作为基础,了解目前各家长和家教老师对线上家教平台的需求与期望以及现存线上家教网站的基本结构和运行模式;其次,再根据实际的调查结果得出客观结论,同时也要结合自身情况,分析本系统设计与实现的现实可能性和技术可能性;第三,以网络为手段,在线上进行广泛的学术交流,在参考各前辈各学者对本课题的研究成果后,结合经典成功案例,提出可行性分析;第四,将这些分析应用于本次平台系统的开发设计中,并在此基础上不断完善;最后,通过软件测试的形式了解本次课题研究的成效。
1.4.2研究路线
(1)文献研究:登陆知网,百度学术等著名学术网站,查阅之前的学者对本课题进行了哪些方面的研究,推陈出新,拟定研究方向。
(2)访谈调查:实地走访线下家教机构,掌握其运行模式,了解线下机构的工作人员、教员、学员的需求以及对线上家教平台的认识与期望。
(3)网络调研:首先,登陆目前较受欢迎的线上家教平台,浏览其主要功能,再分析各个网站的优缺点并做好记录,最后,综合各大网站的优点搭建本系统的大致功能框架。
1.4.3工作重点
(1)基于Java的大学生家教平台系统是典型的Java Web应用,开发步骤包括系统的需求分析与设计、环境搭建、数据库设计、功能设计与实现以及后期数据库的数据更新。需求分析与设计要考虑用户的体验感,根据用户的不同需求进行分析。数据库的设计与开发要能实现数据的完整性和合理性。功能模块的设计重点要体现出功能的实用性与操作的简便性。
(2)根据用户的角色类型发放不同的用户权限。管理员权限可以在管理员菜单界面中增加、删除、修改和查询网站所有内容,再将新的数据写入到数据库中,并在前端页面中显示。对于教员和学员,他们的重点权限应该放在查询信息上,增加、删除和修改的权限要视情况而定。
(3)大学生家教平台系统的整体结构包括了两部分,一部分是前台网页展示,另一部分是后台管理员系统。前台的部分网页所有用户即包括未登录的游客均可以浏览,但还有部分页面例如用户的个人中心界面需根据不同用户的实际需求进行权限的发放。在系统开发过程中以及开发完成以后,要不断地对整个系统进行升级和优化,完善用户的功能,增强用户的体验感。
2 系统核心技术介绍
2.1开发工具环境介绍
2.1.1 IDEA介绍
IDEA(IntelliJ IDEA)是十分友好的Java开发平台,不仅支持代码审查、Junit测试等功能,而且它的UI布局清晰明了、利于开发人员操作,是目前最流行的集成开发平台。IDEA最大的特点在于它的调试功能强大,它的调试功能远强于Eclipse等开发平台。
2.1.2 MySQL数据库介绍
MySQL本质上讲是一个存储数据的仓库,支持目前大多数开发平台和开发语言,可移植性强。它是一个开源的关系型数据库,支持一种通用的结构化查询语言,即SQL语言。总的来说,MySQL具有免费、高效、安全性高以及性能稳定等特点。
2.1.3 Tomcat介绍
Tomcat本质就是一个轻量级的Web服务器,也是JSP和Servlet的容器。它的源代码同样是对外开放的,并且可以免费下载使用。用户启动Tomcat服务器时,Servlet对象会被初始化和实例化。当客户端向服务端发送请求信息后,Tomcat容器会生成Request以及Response对象,并将根据URL找到合适的Servlet并为本次访问分配线程。服务方法将根据HTTP协议的请求来决定是调用doPost方法还是doGet方法,执行doPost或者doGet方法之后,容器将通过Response对象响应服务器,然后销毁响应、请求和访问线程。所有的URL配置都在web.xml文件中配置。
2.1.4 B/S框架介绍
Browser/Server框架即浏览器/服务器框架,简称B/S框架,其运用广泛,优点在于不需要用户安装,只需要电脑上任意一款浏览器软件,以及“服务器”即本地安装的数据库就即可,拥有这两个软件电脑就可以自行搭建B/S架构。浏览器可以使用Web Server与数据库成功建立连接,进行开发过程中所需的所有数据相关操作。B/S架构的优点在于易于维护,操作简单,随启随用且迭代方便即B/S的升级方式简便。
2.2开发程序技术介绍
2.2.1 Java语言技术介绍
Java技术的核心思想是一切事物都可以看做成对象,是典型的面向对象编程语言。Java语言相比较C语言来说更加简单易学,原因在于其去掉了C语言中一些繁琐、难懂的编程方法,例如指针,让新手程序员更易上手。Java语言是一种跨平台的编程语言,其编写的相同程序集可以在不同的系统上运行,例如,在Windows系统上运行的程序也可以在Linux系统上运行。[2]同时,Java语言是目前最流行的计算机语言,以Java语言为核心的工具不计其数。因此,使用Java语言开发不仅简化了开发难度,而且还降低了开发和后续维护的成本。
2.2.2 Bootstrap框架介绍
Bootstrap是一个完全开源且较受欢迎的前端框架,它集成了HTML、CSS、JS等语言技术,多用于响应式布局的WEB项目。Bootstrap为开发者提供了一个友好的页面编辑插件,可以生成对应的CSS,Less文件,提高了开发效率。
2.2.3 SSM框架介绍
(1)Spring框架
在目前的Java Web网络编程里,Spring框架是最常用的框架。它承载着其他框架,例如Struts2、Hibernate、Spring MVC等框架,以及其他与前端或数据库交互的框架。使用Spring框架最常用的功能是IOC和AOP即依赖注入和控制反转。利用IOC将Spring框架产生的Java对象注入到另一个对象中,其本质意义是减少Java对象之间的强耦合关系,更有利于Java垃圾回收,使开发人员编写的程序更高效、简洁;AOP是一个面向方面的项目,它实际上是一个事物管理器。
(2)Spring MVC框架
Spring MVC是一个轻量级的Web框架,它基于Java使用MVC架构模式的思想实现了Web MVC设计模式,负责将Web层解耦,使用请求-响应模型请求驱动。使用框架的最主要目的就是帮助我们简化开发,Spring MVC就是要简化我们日常Web开发的通过注解的方式。[3]
(3)MyBatis框架
MyBatis是一个优秀的持久层框架,它不仅可以支持定制化SQL、存储过程,还支持高级映射。使用MyBatis框架可以避免编写过多JDBC代码,也简化了手动设置参数和获取结果集,对简化开发很有帮助。[4]MyBatis还可以对配置的和原生的Map通过简单的XML或注解方式将接口和Java的POJos映射成数据库中的记录。[5]
3 系统需求分析
3.1用户需求分析
3.1.1管理员用例图
本大学生家教平台系统中管理员角色拥有的权限最多。作为平台的管理者,管理员可以对用户信息、平台信息、预约信息和其他信息进行管理。管理员用例如图3.1所示。
图3.1 管理员用例图
3.1.2学员用例图
家长注册成功后,根据提示信息选择成为学员用户并填写学生的相关信息。登录后进入学员个人中心,可进行个人信息编辑、预约详情查看、修改密码以及退出登陆等功能。学员用例如图3.2所示。
3.1.3教员用例图
家教老师注册成功后,根据提示信息选择成为教员用户并填写个人信息。登录后进入教员个人中心,可进行个人信息编辑、预约详情查看、教育心得填写、实名认证、修改密码以及退出登陆等功能。教员用例如图3.3所示。
图3.2 学员用例图
图3.3 教员用例图
3.2功能需求分析
近年来,越来越多的家长选择上门一对一家教,同时许多大学生也愿意利用课余时间通过做家教的方式赚取零花钱。但是家长和家教老师之间存在一定的信息壁垒且通过线下家教机构获取家教信息效率较低,因此越来越多的家长和家教老师都发现需要一套现代化的线上家教平台来帮助彼此提高效率,该平台可帮助家长发布家教信息、筛选合适的老师以及帮助家教老师获取有效的家教招聘信息。本大学生家教平台就是根据这些因素来设计和开发的。通过对线上家教平台的需求分析,本大学生家教平台主要实现功能结构图如下图3.4所示。
图3.4 系统功能结构图
(1)网站分为前后台,前台页面有部分功能游客可见,如首页、教师详情、网站公告等,即不需要用户进行登陆就可以访问,但游客在访问预约信息时则会被拦截在外,页面自动跳转到登陆界面。在前台页面访问注册功能时,可选择教员或学员身份进行注册,注册成功后会登录到相关界面;后台界面只能由管理员查看,其他用户没有权限。
(2)管理员可以登录后台管理系统,负责管理整个网站,包括对用户信息管理,例如对教员和学员的信息进行修改;对预约信息管理,可以查看筛选预约详情;对网站信息管理,例如可以发布网站公告;对个人信息管理,例如修改管理员密码。
(3)教员权限登录后可以查看编辑教员的个人信息,包括对教授科目、家教时间等信息进行修改;管理学生预约信息,包括查看、接受或者拒绝预约申请;实名认证申请,上传个人身份证照片等待管理员审核;教育心得管理,可以上传教育心得体会,教员可在教师详情页查看。
(4)学员权限登录后可以在线修改个人用户信息,包括对补习科目、补习时间等信息进行编辑;预约心仪教师,进入教师详情页进行预约后等待教师接受;留言管理,学生可进入教师详情给老师留言评价。
3.3非功能需求分析
(1)可扩展性和可移植性
该系统应具备较好的可扩展性和可移植性。良好的可扩展性在应用需求发生改变时,能更加容易地进行调整,从而保护对系统之前进行的投资。[6]同时,系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。[7]另外,较好可移植性可以使得系统方便在其他平台运行或其他开发人员使用,有利于二次开发。
(2)系统简洁、易维护、适用非专业人员使用
基于Java的大学生家教平台系统的设计符合一般家教网站的需求,功能完善且实用,简单易上手,界面友好清晰,易于扩展。考虑到使用本系统的用户的背景具有复杂性,因此设计需要考虑用户的计算机水平,尽量做到简单易用,即使没有计算机专业背景的用户也可以轻松地使用本系统完成家教信息的发布或浏览。[8]
3.4可行性分析
(1)技术可行性分析
通过对大学期间学习的Java、C语言、Python等高级语言进行了对较后,笔者决定使用Java语言作为本系统的主要开发语言。同时,选择了最经典的SSM架构和B/S架构作为系统架构,用MySQL数据库进行前后端的数据交互,以及使用了较为熟悉的Tomcat 8.5作为服务器。
(2)经济可行性分析
从经济角度出发,开发本系统需要用到的设备仅一台中等配置的笔记本电脑,经济开销较小,系统功能较为简单日常,后期维护成本较低。
(3)社会可行性分析
如今大学生上门家教服务并不罕见,甚至越来越多家长愿意聘请素质较高的大学生为孩子补课,本系统的设计与开发符合社会规范且在一定程度上为大学生找家教兼职提供了方便,具有社会可行性。
4 系统设计
4.1系统数据库设计
4.1.1数据库E-R图
设计数据库时要对每个实体都进行深入的分析,根据分析结果构建概念模型,同时绘制利于理解的E-R图,图中用方块表示实体,椭圆表示实体的属性,菱形表示实体之间的关系。E-R图可以让开发人员快速理解系统的大致框架以及数据关系。下面展示出本系统中几个关键实体的E-R图。
(1)系统E-R图如图4.1所示。
图4.1 系统E-R图
(2)学员实体E-R图如图4.2所示,主键是用户id编号,其他还有姓名,性别,地址,补习科目,补习时间,联系人姓名、电话等属性。
图4.2 学员实体图
(3)教员实体E-R图如图4.3所示,主键是用户id编号,其他还有教员姓名,性别,出生日期,专业,教授科目,空闲时间,联系电话等属性。
图4.3 教员实体图
(4)预约表实体E-R图如图4.4所示,主键是id编号,其他还有预约状态,预约时间,预约地址等属性。
图4.4 预约表实体图
(5)留言板实体图E-R如图4.5所示,主键是留言板id编号,其他还有留言内容,评价人,被评价人等属性。
图4.5 留言板实体图
(6)广告实体图E-R如图4.6所示,主键是广告的id编号,其他主要有广告标题,广告内容,广告图片,广告描述等属性。