基于SSM框架下残疾家教平台的开发

2023-06-10 07:33周耀韦忠亮
电脑知识与技术 2023年12期

周耀 韦忠亮

关键词:家教平台;Vue;SSM;Java;MySQL

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)12-0060-04

0 引言

中国的残疾教育目前呈发展态势,从新中国成立初期时仅能对视觉障碍儿童和听觉障碍儿童提供最基本的教育到现在实现了全面覆盖,实现对不同的残疾儿童提供相对应的教育形式。与此同时残疾儿童义务教育的普及程度不断提高,普及程度的提高不仅表明接受基础义务教育的人数增加也包括接受教育的学生类别有所拓展。目前我国在现有的特殊教育体系层次上已经具备了学前教育、义务教育、高中教育及高等教育的所有阶段,同时也具备了基础教育、职业教育、成人教育等类型,保证了类型的全覆盖[1]。

由于特殊教育水平的不斷提高,由此也带来很多的问题。其中教育水平的差异成为一个较为突出的问题。问题产生的主要原因在于欠发达地区和发达地区所拥有的特殊教师数量和质量不匹配使得残疾儿童所受到的教育质量和水平也不匹配[2]。

残疾人家教服务平台(以下简称“家教平台”) 正是为了解决该问题而研究开发。家教平台为特殊学校的学生提供服务,通过家教平台,学生可以浏览各地的名师资源,寻找合适的教师。同时平台也为教师提供了就业的帮助。通过家教平台,可以在一定程度上缓解教育水平不平衡的矛盾。同时平台也提供网上教学或者线下教学。线上教学的流行,是一种辅助传统教学的手段,将信息技术应用到教学中,可以极大地拉近学生和老师的距离。为学生的学习和老师的教学提供便利[3]。家教平台将该理念引入,提供了线上的教学平台。

1 系统分析

1.1 业务分析

对于特殊家教的家教平台来说,其拥有三个主体,一是用户,二是教师,三是系统。用户将所需要的家教信息输入系统,系统会根据用户的具体权限以及其填写的家教信息进行相应的匹配,其中还会检测用户的账户信息,确定具体的价格范围,最后将匹配出的结果返回给用户并完成此次匹配。其中主要的交互为用户与系统的交互。

用户通过填写所需的家教信息向系统申请匹配,此时系统会获取用户的权限等级,接着接收申请,进行匹配,如果匹配成功则将信息展示给用户,用户进行选择合适的家教老师,用户选择之后提交给系统此时会产生订单,系统再将订单交给用户由用户进行付款,即调取用户的账户信息。用户付款之后,系统确认接受订单,并且通知教师该订单,最后活动结束,教师信息在最开始便已经添加至教师信息库。具体活动如图1所示。

1.2 需求分析

用户系统。当用户进入平台时,平台会检测用户的权限,初始的用户拥有最基本的权限即查看平台的教师信息以及发布家教信息,但是不具备加速寻找教师功能以及观看付费课程等功能。用户需要通过平台的权限升级系统进行相应的权限升级才可以使用上述功能。

教师系统。该模块的功能主要为教师管理。当用户选择成为教师时,可以通过填写教师申请,当平台通过教师申请时,会将该用户所填写的教师信息传输至服务器,由服务器进行保存至教师信息库,教师可以在该模块中修改自身的教师信息,以及查看自身的订单、评价等。

查询系统。该模块的功能为教师信息的查询,当用户需要在教师信息库查询信息时,可以借助该模块。用户可以通过教师名,教师ID进行指定教师的查询,也可以通过姓氏、教师的科目以及教师学历和教授年级进行范围内查找,找寻出的教师会通过列表的方式进行展示。

订单系统。该模块的功能为订单的生成、支付、确认以及通知。当用户通过查询子系统找到教师或者通过发布家教信息进入信息池找到教师,都需要经过订单管理系统进行生成订单,生成的订单会交付给用户,调用订单支付系统进行支付,当用户支付之后,订单系统会确认该订单,将此订单进行快照,将快照后的订单存入服务器端。具体用例图如图2所示。

2 系统设计

2.1 系统架构设计

家教平台用户视图使用Vue框架搭建。Vue框架是一套用于构建用户界面的渐进式框架。核心类库只被视图层使用[4]。服务器端由四个系统构成,分别为用户系统、教师系统、查询系统以及订单系统。每一个系统中又分为具体的子系统。例如用户系统分为权限验证系统、登录注册系统以及个人中心系统等。具体如图3所示。

服务器端相连接的数据库使用MyBatis技术进行管理。MyBatis技术是用来对数据进行持久化处理,代替了JDBC的功能,在SSM框架中也是非常重要的一环。利用XML文件配置即可定义相应的方法,并且简单,不依赖组件[5]。

现对家教平台系统的设计做详细阐述。

1) 用户系统架构设计

家教平台的核心是用户,所以用户系统是平台的核心系统之一。如何构建用户系统,需要进行分析。用户系统分为两个部分。首先是用户的登录和注册,虽然是基础的功能,但将其独立为一个部分是为了不让其受其他部分的影响。该部分完成用户信息的收集,同时也需要完成用户权限的验证。其次是用户的个人中心部分,该部分提供用户查询自身的资料,自身的订单以及自身的收藏等。同时需要提供以上信息的修改和删除操作,例如用户可以修改自身的资料,删除自身的订单以及收藏等。同时用户系统也提供了发布家教信息的功能,之所以将发布家教信息功能归类在用户系统架构中,一是为了节省系统资源,二是为了方便用户信息的统一管理和存储。

2) 查询系统架构设计

查询系统是平台的支撑系统,通过查询系统,用户才能从教师信息库中查询相应的教师,不管是自定义查询,还是范围内查询还是指定查询,都能够通过查询系统进行实现。查询系统主要是集合了很多的查询方法,通过用户的选择调用不同的查询方法,也是使用最频繁的一个功能。上述的用户系统也需要该系统的支持才能正常工作,因为用户系统的个人中心部分也是需要查询自身的资料、订单和收藏,所以查询系统是整个平台的支撑系统。那么查询系统如何组成呢?查询系统分为两部分,一部分是数据选择区,另一部分是数据查询区。数据选择区指的是用户所设置的查询条件。例如用户选择了指定查询,那么数据选择区就需要将其指定的条件获取,并且交付给数据查询区进行查询,数据查询区查询出结果之后将结果返回,最后交付前端页面进行相应的处理。

3) 订单系统架构设计

订单系统作为家教平台的核心系统之一,该部分提供了用户支付功能,同时提供了对订单的管理功能。订单系统是家教平台最为复杂的一个系统,其复杂的地方在于对订单进行监视并且需要对接第三方支付接口,同时需要处理订单在不同状态下系统的作为。订单系统分为以下几个部分:第一部分是订单生成部分。该部分的主要功能是生成订单,一般会在用户点击教师页面的下单按钮时触发该部分。

第二部分是订单支付管理部分,也是订单系统的核心部分。该部分对接了微信支付平台接口以及支付宝支付平台的接口。用户可以选择不同的支付平台进行支付。该部分同时监测订单的状态,订单是否已经超时,订单是否已经支付,订单是否已经提交等。当订单处于不同的状态时,该部分所操纵订单系统的行为是不同的。

订单系统的第三部分是订单交付部分。当订单支付管理部分提交已支付订单时,该部分被触发,該部分会接收已支付订单,并将其快照存储,然后通知用户订单处理成功,并且该部分会调用通知,通知教师已被下单,尽快地联系下单方所提供的联系方式。

订单系统的第四部分是订单异常处理部分。此部分当订单出现异常状况时才会被触发。例如当用户恶意地添加多个订单,但并不支付,这是在损耗系统的资源,在此状态下会触发该部分,该部分会关闭该用户的所有订单,并且全部进行清除,但不会清除已支付的订单。并对用户进行警告。

以上就是订单系统的四个部分。通过这四个部分的合作共同组成了一个完整的订单系统,同时订单系统会向其他的系统提供相应的数据,帮助其他系统完成其自身的业务功能。

4) 教师系统架构分析

教师系统作为平台的核心系统之一,主要的任务是管理教师的申请以及教师信息的更改。所以教师系统可以分成两个部分,第一部分是教师申请部分,第二部分是教师信息管理部分。用户可以通过第一部分进行教师的申请,通过后该部分会将用户所填写的信息交付教师信息库。成为教师后,可以通过第二部分进行教师信息的修改,该部分会将修改后的信息交付给教师信息库并更新该教师的数据。

2.2 系统数据库设计

1) 用户信息表(用户ID,用户名,密码,用户头像,昵称,真实姓名,用户手机,用户邮箱,性别,用户生日,注册时间,更新时间,用户角色,头像保存路径)

2) 教师信息表(教师ID,教师姓名,教龄,时薪,教授年级,教授学科,目前的学历,目前的职业,所学专业,毕业院校,简介,身份证号,是否通过验证,教师图片,教师的分类信息)

3) 教师详细信息表(教师的订单量,教师的推荐指数,教师的评价指数)

4) 订单表(订单ID,订单状态,订单的用户名称快照,订单的用户地址快照,订单的用户手机快照,订单的发起时间,订单的确认时间,订单的价格,订单的优惠价格,订单的实际支付价格,订单号)

5) 订单项表(订单项ID,订单ID,下单教师名称,教学科目,教学年级,教学类型,教学起始时间,教学结束时间,时薪,备注)

6) 用户收藏表(收藏ID,用户ID,教师ID) 根据其逻辑结构将家教平台的数据库分为以下表,用户信息表(user) ,教师信息表(teacher_info) ,教师详细信息表(teachertParams) ,订单表(order) 以及用户的收藏表(collection) ,其主键均为ID。

3 系统实现

3.1 用户系统实现

对于基础的注册和登录功能,家教平台采用的是前后端分离模式,所以并不使用传统的方式进行验证。而是采用axios异步通信技术向后端服务器进行传值,通过后端服务器进行验证。无论验证成功或者失败都会向页面返回响应值,页面通过读取所返回的值来进行判断是否成功,再显示不同的内容。

个人中心是用户所管理自身数据的一个模块。在个人中心中,用户可以查看头像并且修改,也可以查看自己的基本资料并且可以修改自己的基本资料。同时,用户可以查看自己所收藏的老师和自己所发布的家教信息。三个查看功能的基本逻辑相同,都是将用户ID发送至服务器端,由服务器端持久层查询数据库中的数据并返回给前端页面。由前端页面进行展示。而修改资料则是通过前端页面将表单数据发送给服务器端,由服务器端持久层修改数据库中相应表的字段。具体流程如图4所示。

发布家教信息是用户寻找到家教老师的一个重要的手段。发布家教信息的流程是在表单的填写之后,将表单所填写的数据通过axios打包发送至服务器端,再通过一个实体类对象进行接收,在接收之后,通过持久层进行数据库的插入,插入成功后返回完成消息,前端页面接收后调用相应的函数进行弹窗提醒用户发布家教信息成功。

3.2 查询系统实现

作为家教平台的核心功能,查询教师信息库是用户寻找家教老师的另一重要手段。教师信息库的设定是通过主页的分类进行设计。在家教平台的主页面提供了教师的分类,该功能的实现较为烦琐。当用户在首页点击相应的分类时,需要跳转到教员库界面,同时在教员库中提供了搜索功能,通过用户所输入的教师姓名进行查询。具体流程图如图5所示。

3.3 订单系统实现

订单系统是家教平台的核心系统。通过订单系统用户可以支付订单,当用户点击相应的按钮时会触发系统生成相应的订单,并且交付给用户,用户支付之后订单系统会确认订单,并且将该订单存入数据库中,具体流程如图6所示。

3.4 教师系统实现

教师系统作为家教平台的核心系统,其主要功能是提交教师的申请以及修改教师信息,而教师信息的修改和个人中心信息的修改类似。如图7所示,为教师系统的流程图,展示了教师系统的工作方式。

教师个人中心的搭建和用户系统的个人中心相同,都是通过element-ui所提供的导航栏进行搭建。其同样需要查询系统的支持。通过查询系统查询教师自身的信息,订单以及展示用户对其的评价。评价高的可以在家教平台的首页进行展示推荐。

4 系统测试

白盒测试是用于对软件各部分的逻辑进行测试,将软件比作一个透明的盒子,其内部所有的运行逻辑和方式都展现在测试人员的面前,软件测试人员对软件的每一部分进行对应的测试,需要保证每一部分的逻辑都完全正确并且最终的结果也必须符合预期,该测试主要用于软件或程序验证。家教平台的具体流程图如图8所示。

由图可知该系统有11个可执行语句,有3个判断框,同时有11条路径。无论是用户还是教师都需要进行身份判定才能进入系统,系统的功能模块没有先后关系,只有权限的不同,但是不会使系统的功能模块出现先后顺序的调用。具体如表1所示。

5 结束语

本文对家教平台从概念设计到系统实现作出了一个简单明了的阐述,为实现该平台设计了系统模块的概念。通过不同系统之间的相互通信和分工合作,达到服务用户的目的。并且本系统的风格具有事件驱动风格以及管道-过滤器风格的结合。每一个系统都可以看作一个过滤器,而数据的传递则是通过管道进行实现。用户的每一个需求操作都将被转化为一个驱动事件,驱使系统执行相应的任务。