版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JAVAEE的在线教育平台设计和实现摘要在当今这个通信网络飞速发展的时代,随着职业技能培训需求的不断增加,在线职业教育服务的市场应运而生。在线教育平台网站作为一个为网络计算机技术的日常学习和传播而设计和开发的系统网站,其设计初衷在于为广大有计算机职业培训需求的用户提供一个便利、高效、实用的互联网在线学习平台。基于JavaEE的在线教育平台是在查阅国内外有关在线教育系统的技术发展状况和趋势各类相关文献基础上,于IDEA环境下设计和开发出来的,其选用JavaEE中主流的SSM应用架构(即Spring+SpringMVC+MyBatis三大框架集合),并在VisualStudioCode环境下整合Vue框架来搭建前端页面。本在线教育平台系统基于各模块独立、防止数据交叉的原则,结合不同行业和用户的需要,在系统设计和功能实现的过程中,围绕管理员、教师、学生三个角色的关系进行划分,设计了用户信息管理子系统、数据统计子系统、课程讲师信息子系统和在线视频学习子系统。在线教育平台实现了课程点播、学习交流、信息管理、统计分析等功能。对其功能、性能以及兼容性进行的测试证明了系统运行的稳定性。综上所述,在线教育平台的开发是对在线职业教育发展的一次尝试,亦是推进职业教育现代化的一次尝试。关键词:职业技能培训;在线学习;JavaEE;B/S 目录1引言 引言1.1研究意义和背景在数字经济的新时代,大众对学习的个性化要求不断加剧,时间上的碎片化等问题日益增多,为线上语言教育行业提供了广阔的市场前景。互联网技术有效地突破了时间与空间对信息交流的限制,在高等院校教育中得到了更加深度的融合和运用,促进了各种高等院校教育信息资源的开放与共享。在线教育平台包含了在线课堂、疑难解答、个性互动等多种方案,为教师提供了个性化指导平台,有利于帮助学生们达成学习效率的跨越式提高。在当今在线教育领域新兴的线上学习模式专业化的新时代,在线教育平台借由互联网的优势和长处,利用网络教育课程,解决了专业教育资源在地区分布不均衡的困扰,并提供了在线教育全方位、多领域的职业技能培训服务。此外,教育已经广泛存在于人类社会以及日常生活的各个领域:早期的学前教育、课外辅导、少儿英语、专科留学教育、出国海外留学、商业硕士院校、移民等服务,在现代信息化教育技术实现爆发式进步的发展趋势下,线上的网络教育也越来越突显其优势:线上的网络教育既能够有效突破网络时间和信息空间的双重局限,提升人们学习的工作效率,又能够有效跨越因为学习地域等各个方面不同所带来的线上教育资源的不平等不均匀分配,使得线上教育资源的实时共享多样化,降低现代群众共同学习的难度[1]。1.2国内外研究现状1.2.1国外研究概况近代以来,现代科学技术高速发展,以高科技为主导的发达国家顺应各个行业的发展趋势,不断更新企业技术来提高技术工人的实际工作效率,进而取得行业优势。同时,企业因需要更多具有扎实理论基础,且对企业级项目有实际开发经验的高级职业技术人员,对人才培养愈发重视。在此市场环境中,发达国家的职业教育呈现出由传统教育向实践教育发展的趋势。在国外,尤其是信息技术高度发达的地区,已经开始通过充分利用互联网、电子设备(如iPad)和学习软件(app)等技术优势,来推动数字化教案和网络在线教学的发展,传统教育中的纸质教科书渐渐淡出大众视野,教师和学生面对面的课堂教学开始为网络在线教育所替代。显然,互联网和其他应用程序产品的普及和发展正渐渐改变社会的传统教育方式[2]。在信息科技高度发达的美国,网上学校、在线教育课程和网络化教育信息技术应用产品的市场发展速度极快,主要原因之一就是电脑和互联网的普及与线上教育成本的大幅下降。美国各州的网上学校在中小学推广和普及各类相关的网络化课程,线上课程也逐渐成为了每位中小学生的必选课程。由此可见,美国对线上网络教育的深度关注和重视。1.2.2国内研究概况近年来,职业培训无论是在发展社会经济建设,提升劳动就业率的现代化征程中,还是在增强全民族科学文化素养,推进教育民主化和教学大众化的前进道路上,都发挥着不可估量的作用。此外,政府还明确提出把大力发展职业技能教育作为推动我国教育结构调整的三个重要目标之一,与普及和巩固九年义务教育、提高高等教育质量摆在同样重要的位置,为我国职业培训发展提供了良好机遇和强大动力。然而,传统的线下职业培训依然存在成本高,周期长的缺点,学习者往往需要付出大量的时间精力才能获得成效,导致学习工作无法兼顾。结合当今信息时代下教育体系现代化的发展现状,在线职业技能培训逐渐成为国内市场竞争的核心舞台。基于职业技能培训的特点,以及在线学习系统的市场现状,在线教育软件未来会向以下几个方面发展:技术创新:在技术层面的创新体现在提升系统性能、平台并发访问控制中,旨在改善用户体验。智能交互:在继承传统教学系统中师生互相监督、答疑等优点的基础上提供个性化学习方式,达到学习效益最大化。信息保障:有效降低网络污染的风险,防止受到诸如广告、诈骗、网络暴力等不良信息的影响,并对师生信息安全进行确实保障。产权保护:加大知识产权保护力度,增强教师的职业责任感,保障教育企业的应得利益,进而提高教学质量和社会风气。1.3论文预期效果基于JavaEE的在线教育平台,是以计算机职业技能培训为核心,帮助学生实现学习渐进式进步的教育网站,其预期实现的具体功能如下:1、实现用户基础的登录、注册功能,其中包括使用微信扫码快捷登录,手机号快捷注册;2、实现用户查看课程信息、讲师信息功能,用户可以查询、购买付费课程;3、实现视频点播功能,用户可以在网页上在线学习,发布讨论信息;4、实现讲师创建课程、课程分类清单功能,能够在创建课程时编辑课程分类信息,以及上传相应视频,视频将保存至阿里云平台;5、实现管理员对课程分类清单、讲师信息的管理功能;6、实现系统对网页数据的统计功能,包括视频点击量、播放量,网站用户量的统计,统计结果以图形和表格的形式显示。本系统为学习教育系统的实际应用,以高级IT课程为教学核心,采用个性化、便利化的教育模式,围绕着课堂讲授、讨论、答疑等功能,为学员提供线上面对面的学习模式。2开发环境及技术介绍本系统基于B/S(Browser/Server浏览器/服务器)架构模式,采用前后端分离架构,并使用目前主流的JavaEE开发工具IDEA作为主要运行环境。后端的技术架构是基于JavaEE的SSM框架(Spring+SpringMVC+MyBatis),还使用了部分MyBatis-Plus以及SpringCloud的相关技术;前端则是用Node.js+Vue.js+Nuxt架构。在功能方面,利用阿里云OSS技术实现用户头像存储、阿里云视频点播功能保存课程视频、微信登录技术完成用户登录和注册。2.1前后端分离架构前后端分离架构是使项目的前后端开发能相对独立运行的开发模式。随着互联网技术的发展以及终端设备的不断增多,前后端分离技术已成为移动互联网领域不可或缺的技术。前后端分离技术的不断完善,让前后端的分工与系统边界划分越来越清晰,前端工程师和后端工程师不必过于关注后端或前端的框架,进而降低了开发成本和技术难度[3]。在前后端自动分离架构中,后端不再渲染HTML页面和控制前端的效果,而仅仅返回前端所需的数据。由前端单独控制前端页面效果,以及后端请求的数据加载到前端的方式。前后端分离架构对应的数据交互方式如图2-1所示。其中node.js在MVC中充当C(控制器)的角色,其主要作用是将前端静态页面代码转化为字符串形式并传递给客户端[4]。图2-1前后端分离架构2.2SSM框架2.2.1SpringSpring是JavaEE中的一种轻量级开源框架。使用Spring的开发者按需求编写好类对象、Dao(DataAccessObjects,数据访问层)和Service组件对象后,由Spring容器对程序进行综合管理。这样能使原本复杂的代码更加清晰有条理,也便于项目后期对代码的修改、扩展和维护[5]。Spring具有以下优良特性:1、轻量:具有全面的类资源库,且运行开销较小;2、控制反转:IOC——InversionofControl,通过此项技术使创建对象的操作者由开发者变为了Spring框架[6];3、依赖注入:DI——DependencyInjection,是指属于依赖的对象不再需要开发者通过set方法手动赋值而是由系统自动配置;4、容器:Spring是一个管理着所有应用对象的轻量级容器;5、组件化:Spring能简化组件配置以便于将程序注入复杂的应用环境中。Spring虽然具有降低开发复杂性的优势,但其处理事务的能力相对较弱,且没有能进行分布式管理的处理器。在SSM框架中Spring框架主要起衔接SpringMVC和MyBatis框架的作用,如图2-2所示[7]。图2-2Spring在SSM框架中的作用2.2.2SpringMVCSpringMVC框架以Servlet为核心,以请求为驱动,通过向控制器发送请求,借助分派器来显示结果视图[8]。SpringMVC与Struts有相似的功能,但其基本实现的工作原理有较大差异,其中的主要体现在拦截对象的级别不同。在SpringMVC中,方法既与request上下文一一对应,又跟URL(UniformResourceLocator统一资源定位系统)一一对应,这样便于实现RESTfulURL命名原则[9]。SpringMVC的大致工作流程如图2-3所示[10]。图2-3SpringMVC的大致工作流程2.2.3MyBatis-PlusMyBatis属于一种半自动式的持久层框架,MyBatis的存在使开发者能借助xml文件或注解的方式编写SQL语句[11],同时避免了开发者为获取结果集而大量使用JDBC(JavaDatabaseConnectivity)代码或手动设置参数的情况。在MyBatis中,SQL语句都必须手动编写,但在较大的企业项目中往往需要使用大量的SQL语句,这就会降低项目的开发效率。[12]MyBatis-Plus则是MyBatis的自动化版本,属于MyBatis的增强工具。MyBatis-Plus通过提供crud方法来实现SQL语句的功能,开发者只需调用相应的crud方法即可完成SQL语句的相关操作[13]。2.3Vue框架Vue是一种JavaScript框架,主要用于快速高效的构建用户界面。Vue拥有现代工具链和各种支持库,可以为复杂的单页应用程序SPA提供驱动[14]。Vue基于自底而上的设计理念,聚焦视图层,便于第三方库与现有项目相结合。拥有丰富的组件库是Vue的一大优点。优秀的后台组件可以极大地提高业务系统后端的开发效率。作为系统的前端业务解决模式,Vue基于前端业务管理系统的技术栈,提炼出完备的后台业务管理体系,为广大开发者提供了各类便捷实用的功能管理组件[15]。本业务管理组件系统选用vue2.0框架作为系统的前端开发框架,而后台管理的部分页面是借助vue-element-admin(基于Vue和element-ui的一种后台前端解决方案)来完成的。2.4本章小结本章介绍了在线教育系统中实用的核心的技术架构,其中包括普遍存在于企业开发中的SSM框架以及Vue框架。3需求分析本系统作为在线教育网站,考虑到计算机职业培训需求者在实际工作和学习中面临的效率低、操作复杂、沟通困难等问题,打造出一套现代化的学习教育体系,实现网络化学习,线上答疑,平台资源共享,在线视频点播等功能,构建起一套兼顾便捷和高效的学习模式。3.1系统可行性分析3.1.1目标可行性本系统是基于互联网+时代下用户对计算机职业培训日益增长的需求,而开发的为学员和教师提供便捷全面的学习平台的教育网站,旨在实现学院和讲师间的交流互通和资源共享,为用户营造高效的学习环境。3.1.2经济可行性本系统只需一台PC机即可配置完成。此外,视频和图像存储基于阿里云视频点播和OSS,按访客量计费,费用不高。部分网页缓存数据通过在linux虚拟机下搭建的redis(REmoteDIctionaryServer,一种跨平台的非关系型数据库)环境保存,没有额外经济需求。3.1.3技术可行性本系统使用企业级开发工具IDEA作为系统的后端开发环境,选用常规Web开发工具VisualStudioCode作为前端开发平台,采用MySQL作为持久层数据库。这些工具常常被软件公司所运用,具有稳定性和可靠性,可用于本系统的开发。3.1.4操作可行性本系统采用B/S架构,基于学员、讲师和管理员三类用户分别开发了前台用户页面和后端管理页面,用户直接通过浏览器操作即可。操作简捷,界面友好。3.2需求分析3.2.1总体需求通过调查分析发现,学生对计算机职业技能培训的实际需求主要包含以下几个方面:1、为更好地显示课程信息,系统首页应按热度包含热门课程和热门讲师显示,便于用户快速选择更高质量的适合自己的课程和讲师。2、考虑到计算机学习内容广、层次多,用户学习或讲师讲授的课程不尽相同。本系统后台需设立课程分类表单,将计算机课程按类型、章节、小节进行详细分类。3、视频课程是计算机学习和交流的核心部分,系统应实现在线视频点播、对课程发表评论等功能。4、作为在线教育的商业平台,秉持保护知识产权原则,网站需设立收费系统,讲师可以在创建课程时设立课程价格。用户可以试看部分小节,但完整学习需要支付费用,通过微信二维码付款。5、系统应具有后台管理功能,为管理员提供操作用户信息,管理课程和评论等相关功能。6、为分析视频热度,后台应配置统计管理功能,并能通过图表展示,便于管理员查看。3.2.2安全性需求本系统作为计算机学习者的学习平台,安全问题尤为重要。基本的系统安全应能有效防止非法登录、数据泄露等问题,既防止系统数据信息丢失亦确保用户信息财产安全。结合实际情况整合出了以下几点安全性需求:1、系统应包含身份验证功能。账号和密码是用户进入系统的凭证,要进行相关的网页操作必须先进行登录,用户可以通过注册来获取凭证。为简化操作并增强实用性,应满足用户可通过微信扫码进行登录注册的操作需要。2、账号和密码是用户登录的凭证,故应对密码加以保护。系统应包含数据加密存储功能,用户密码必须先通过一定的加密算法存入数据库,以防止管理员可随意操作用户密码信息以及数据库泄露导致的用户信息曝光等情况出现。3.2.3用户权限与角色分析管理员、讲师和学员是本在线学习系统中主要的用户角色。管理员能通过权限管理为系统添加不同权限的角色。管理员的业务流程:管理员进入后台管理页面使用账号密码登入后台系统,可以管理课程和讲师信息,查看网页统计数据和创建后台系统的访问角色。管理员的权限包括查询、增加、删除及修改学生和讲师信息,还可以设立其他不同权限的角色。讲师的业务流程:讲师能登录后台系统,管理维护本人信息,也可以创建课程、课程大纲以及上传教学视频。讲师有权限查询和管理学生的注册、学习情况等信息,可以发布评论,以及管理学生发言。学员的业务流程:学生使用账号和密码或是微信扫码认证来登录系统,可以查看课程和讲师简介信息,也可以在线播放课程视频,或在课程下方发表评论。3.2.4非功能性需求1、运行需求本系统服务器端的正常运行需要以下的软硬件环境配置作依托:①硬件环境处理器:Inteli5及以上;内存:8GB及以上;网卡:百兆以太网卡。②软件环境操作系统:Windows7及以上;Web服务器:Tomcat7.0.68及以上、Nginx;数据库:MYSQL5.5,阿里云mysql数据库;开发语言:Java语言(JDK1.8及以上);开发工具:IDEA专业版,VisualStudioCode;Maven环境及资源库。2、外部需求系统的外部需求基于系统应用的实际情况,在开发过程中普遍受用。主要的外部需求包含以下几方面:安全性需求该系统应确保数据和信息安全。其中数据和信息包含系统数据,如课程信息、视频文件、讲师信息等;以及用户信息,如手机号、IP地址、浏览记录等。可操作性该系统页面简洁,操作简单,易于上手。可扩展性该操作系统划分成多个包含不同功能的子系统,每个子系统都有对应的可扩展的数据接口,便于对系统进行功能扩展和技术升级。3.3本章小结本章从系统设计的角度出发,分别就系统的目标、经济、技术、操作四个方面的可行性进行了分析和阐述。在需求层面则是探讨了整体性需求,安全程度的需求,用户权限的需求以及非功能化的需求。4系统总体设计4.1系统设计目标在线学习系统的设计目的在于提高用户学习效率,优化传统学习模式以及实现学习资源共享。最终达到降低学习成本,推进学习资源共享,个性化教学方式的目标。4.2系统总体设计4.2.1系统软件架构基于系统的需求分析和可行性分析,系统的软件架构大致如图4-1所示。对于系统总体,引用的架构包含以下三层:图4-1系统的软件架构展示层:系统前端使用Vue框架,涉及到的技术包括HTML、CSS、JQuery。其中展示层使用Vue框架中封装的Ajex页面交互技术来进行POST和GET请求,接收前台页面数据并与业务层进行数据交互,通过模块引擎渲染将数据和图片显示到首页数据中去。业务层:采用Spring框架,实现视频播放、课程问答、讲师和课程展示等主要业务,并与数据层及数据库进行数据交互。数据层:以MyBatis-Plus作为持久层的框架,操作MySQL数据库,实现数据表和其它实体类的映射。能减少开发人员的工作量,使开发人员将工作重心投入系统核心功能的开发之中。此外,MySQL数据库还需要阿里云主机提供的第三方服务来存储和访问占用内存较大的数据,如头像和视频等。依靠第三方虚拟主机来存储网页缓存信息,增强页面的安全性。4.2.2子系统划分在线教育平台秉持各系统模块相互独立的原则,结合实际用户需求进行了子系统划分:1、各子系统之间应尽可能减少数据耦合,实现各子系统间的相互独立。在开发中按模块区分开,便于系统的维护和升级。2、为确保系统数据安全和运行正常,应避免出现数据交叉访问的情况。3、针对不同角色提供不同的功能。根据以上因素,划分出两大子系统:后台管理系统和前台用户系统。其中后台管理系统包含课程分类管理子系统、讲师管理子系统、统计分析子系统;前端页面系统则包含用户体验子系统、课程子系统、讲师子系统和问答子系统。子系统按详细功能划分如图4-2所示。4.3系统功能详细设计4.3.1用户体验子系统用户体验子系统面向学员,为用户提供登录和注册功能。此系统会依赖于redis存储缓存数据,实现微信扫码登录注册的功能。4.3.2课程管理子系统该子系统面向各类用户,用于存取有关课程信息的数据,便于课程资料的统一使用和管理。讲师可以在创建课程时上传课程相关课件,包括视频文件、图片文件、word文件等。4.3.3在线播放子系统此子系统服务于学员,为用户提供视频浏览、视频播放等功能。4.3.4系统管理子系统该子系统面向管理员,管理员用其进行权限分配和讲师管理。在本系统中管理员的权限最高,可管理注册过本系统的所有用户。4.3.5统计信息子系统图4-2子系统功能模块图该子系统可记录本系统中视频播放次数、页面浏览量等信息,并以图表形式显示,用于管理员和讲师分析数据。4.4数据库设计4.4.1数据库设计原则在本系统的数据库设计时,要充分考虑并遵循下列各类型数据库的设计基本原理,以便于构造一个稳定、安全、可靠的系统。1、一致性原则:对所有数据来源都要进行系统的分析和设计,协调好不同的数据来源。2、完整性原则:即确保数据信息的正确性与相容度。要防范合法用户在使用时的错误操作不会中断系统的正常运行,且有及时的审核和提醒。3、安全性原则:保障数据库安全性主要是为了保护数据,防止不正当的非法用户利用数据库或者由于合法的用户不正当使用而导致的数据库泄露、变更或者是破坏。必须具备认证与授权的机制。4、可伸缩性可扩展性原则:对数据库架构的设计应当充分考虑其发展需求、移植需求,并且具备良好的可伸缩性、延长能力和适度的冗余。5、规范化:规范化的企业数据库系统管理通过系统软件设计,可以有效地减少现有数据库在自动插入、删除、修改等操作时出现的异常和错误,降低数据冗余度等。4.4.2数据库设计思路JDBC是JavaEE项目开发中,系统后端连接数据库的常用方式。JDBC封装于MyBatis中。通过JDBC操作数据库的处理流程如图4-3所示。数据库设计时主要考虑三个方面:1、结合实际情况设置各类表和相应属性,以满足不同用户的需求。2、设计表时将实体的核心功能进一步抽象,以减少数据冗余。3、在尽可能减少数据库表数量的基础上实现各表中属性间的逻辑关系,提高业务处理效率。图4-3JDBC操作数据库的处理流程4.4.3概念设计本系统的用户分为讲师、学员、管理员三类。结合系统功能和三类用户的联系,设计了系统数据库。三类角色的关系可归纳为:管理员作为系统最高权限所有者,可以管理讲师和学员信息,还可以创建不同权限的角色,讲师与学生则通过子系统相互联系。角色间的实体关系图如图4-4所示。4-4角色实体关系图除用户角色外的部分实体如下:1、视频信息图4-5视频信息实体图视频信息实体包含视频ID、名称、所属课程分类等内容,如图4-5所示。2、评论信息评论信息与课程、用户有关,实体图如4-6所示。图4-6评论信息实体图3、角色信息由管理员创建的角色信息,被管理员依需求定义权限,增强系统管理的灵活性,方便管理员管理。实体图如4-7所示。图4-7角色信息实体图4.4.4逻辑设计由于篇幅有限,以下主要展示系统核心的数据表。1、课程信息表:存储相关课程信息,如表4-1所示。表4-1课程信息表序号字段名称数据类型默认值允许空值主键字段描述1idCHAR(19)无否PK课程ID2teacher_idCHAR(19)无否课程讲师ID3subject_idCHAR(19)无否课程专业ID4subject_parent_idCHAR(19)无是课程专业父级ID5titleVARCHAR(50)无否课程标题6priceDECIMAL(10,2)0.00否课程销售价格,设置为0则可免费观看7lesson_numINT(10)0否总课时8coverVARCHAR(255)无否课程封面图片路径9buy_countBIGINT(10)0否销售数量10view_countBIGINT(10)0否浏览数量11statusVARCHAR(10)Draft否课程状态,分为未发布和已发布12gmt_createDATETIME无否创建时间13gmt_modifiedDATETIME无否更新时间2、评论信息表:记录相关课程下师生的互动记录,如表4-2所示。表4-2评论信息表序号字段名称数据类型默认值允许空值主键字段描述1idCHAR(19)无否PK评论ID2course_idVARCHAR(19)无否课程ID3teacher_idCHAR(19)无否讲师ID4member_idVARCHAR(19)无否用户ID5nicknameVARCHAR(50)无是会员昵称6avatarVARCHAR(255)无是会员头像7contentVARCHAR(500)无是评论内容8is_deletedTINYINT(1)0否逻辑删除:1(true)已删除,0(false)未删除9gmt_createDATETIME无否创建时间10gmt_modifiedDATETIME无否更新时间3、讲师信息表:记录讲师信息,如表4-3所示。表4-3讲师信息表序号字段名称数据类型默认值允许空值主键字段描述1idCHAR(19)无否PK讲师ID2nameVARCHAR(20)无否讲师姓名3introVARCHAR(500)无否讲师简介4careerVARCHAR(500)无否讲师资历5levelINT(10)无是讲师头衔6avatarVARCHAR(255)无是讲师头像7sortINT(10)0否排序8is_deletedTINYINT(1)0否逻辑删除:1(true)已删除,0(false)未删除9gmt_createDATETIME无否创建时间10gmt_modifiedDATETIME无否更新时间4、学员信息表:用于保存学员用户的登录信息,如表4-4所示。表4-4学员信息表序号字段名称数据类型默认值允许空值主键字段描述1idCHAR(19)无否PK学员ID2openidVARCHAR(128)无是微信openid3mobileVARCHAR(11)无是电话号码4passwordVARCHAR(255)无否密码5nicknameVARCHAR(45)无是用户名6sexTINYINT(2)无否性别1女,2男7ageTINYINT(3)无否年龄8avatarVARCHAR(255)无是用户头像9signVARCHAR(100)无否用户签名10is_disabledTINYINT(1)0否是否禁用:1(true)已禁用,0(false)未禁用11is_deletedTINYINT(1)0否逻辑删除:1(true)已删除,0(false)未删除12gmt_createDATETIME无否创建时间13gmt_modifiedDATETIME无否更新时间5、视频信息表:保存视频相关信息的表,如图4-5所示。表4-5视频信息表序号字段名称数据类型默认值允许空值主键字段描述1idCHAR(19)无否PK学员ID2openidVARCHAR(128)无是微信openid3mobileVARCHAR(11)无是手机号4passwordVARCHAR(255)无否密码5nicknameVARCHAR(50)无是昵称6sexTINYINT(2)无否性别1女,2男7ageTINYINT(3)无否年龄8avatarVARCHAR(255)无是用户头像9signVARCHAR(100)无否用户签名10is_disabledTINYINT(1)0否是否禁用:1(true)已禁用,0(false)未禁用11is_deletedTINYINT(1)0否逻辑删除:1(true)已删除,0(false)未删除12gmt_createDATETIME无否创建时间13gmt_modifiedDATETIME无否更新时间4.5本章小结本章对系统的总体设计进行了详细的阐述。其中包括对系统子系统的划分的分析,各子系统的功能说明。还包括数据库的设计思路,各表的功能作用,表之间的联系以及表属性的展示。5系统实现与测试5.1系统部署方案本系统采用B/S架构模式,具体部署方案如图5-1所示。存储于Web服务器和数据库服务器的数据通过互联网实现在学员、教师和管理员之间的共享,用户则通过操作浏览器页面实现资源交互。图5-1系统部署方案5.2子系统实现5.2.1用户体验子系统学员用户的需求较高,但权限最低。用户体验子系统负责实现用户登录、注册、查看热门课程讲师等功能。在首页面中,用户可以选择适合的学习视频进行在线播放,并可以参与讨论和问答。用户体验子系统包含了前端页面中用户登录和注册操作,如图5-2所示。图5-2用户登录页面登录后用户可以进入首页观看学习视频、购买所需课程及参与问答和发表评论,也便于系统管理员记录用户行为和控制用户权限。登录后系统会保障用户的账号信息安全。用户注册页面如图5-3所示。图5-3用户注册页面AJAX的交互式网页开发技术在登录和注册页面得到了应用。AJAX(AsynchronousJavaScriptandXML)技术是一种为移动客户端后台创造快速的可动态优化网页的管理技术,其主要功能是使系统能在无须刷新页面的情况下将网页中部分内容进行实时更新。在登录和注册页面中,当用户进行不符合规范的输入时会立即出现提示信息。即在页面不刷新的情况下显示反馈信息,减少用户多余的操作,进而改善用户体验。登录和注册流程如图5-4所示。此外,用户还可以通过点击微信图标进行微信注册登录。登录后进入首页,用户的头像和昵称会显示在右上角。图5-4登录注册流程5.2.2课程管理子系统该子系统面向讲师和学生。讲师可通过该系统查看和编辑课程大纲,创建和发布课程。由于课程信息较多,发布课程过程在同一页面由三个步骤实现,讲师先填写课程标题、课时数等基本信息,并为课程设置封面和价格。如图5-5所示。图5-6发布课程过程二图5-5发布课程过程一填写完课程信息后进入课程大纲页面,用户根据需要添加章节和小节,在小节中上传教学视频。具体页面如图5-6所示。当完成信息填写和大纲编辑上述两步操作后,进入第三步,页面会显示课程的总体信息以供检查,用户可以随时返回上一步进行修改。页面效果如图5-7所示。图5-7发布课程过程三5.2.3在线播放子系统在线播放子系统为方便学员在线学习而设计,登录后的学员可以在课程信息中选择播放免费课程。讲师则通过课程上传页面在创建小节时上传视频。由于在线视频学习旨在在线,本地的数据库无法实现视频在服务器间的传输,故本子系统选择使用阿里云在线的视频点播功能,结合阿里云线上提供的接口,完成本地视频上传到阿里云服务器的操作,以及在网页播放视频的功能。在线播放效果如图5-8所示。图5-8在线播放演示5.2.4系统管理子系统系统管理平台面向所有管理员,管理员在系统中有对各类用户的管理权限,可以查询所有讲师和学员的个人信息记录,还能依需求创建带有不同权限的角色。本子系统是管理员用来管理讲师信息和角色权限的子系统。讲师管理管理员可以通过讲师管理对讲师的信息进行编辑和新增,根据实际情况设置讲师简介、资历,便于前端用户以真实情况了解名师信息。讲师信息的查询如图5-9所示。图5-9讲师信息管理2、权限管理管理员可以设立拥有不同权限的角色来访问后台管理系统,如讲师的权限仅限于管理课程信息,不能访问和修改其它讲师的信息。通过设置不同的角色权限,可以提高不同系统用户的学习操作体验,确保了用户个人信息的安全和系统数据的安全。图5-10权限管理演示管理员设立角色后,当用户以该角色身份登录后台管理系统时,管理系统页面只显示该角色权限下的可执行操作,从而实现系统的权限控制。实现效果如图5-10所示。权限设置的流程图如图5-11所示。图5-11权限设置流程图5.2.5统计信息子系统统计信息子系统旨在对前端页面的访问、注册、播放等操作进行记录和展示。在此系统模块中主要实现两个功能:生成数据和显示数据。生成数据时将某一天的数据生成并存入表中,再通过图表显示选择相应的日期后显示图表。实现效果如图5-12所示。生成图表使用了ECharts工具。ECharts是一个由JavaScript实现的开源可视化库,覆盖了各种类型的图形和图表,且完全兼容大多数浏览器(IE8/9/10/11,Chrome,Safari等)及多种图形设备,可随意展示。该子系统利于ECharts实现图表生成,包括拉伸和扩展等一些细节操作。图5-12统计信息实现5.3系统测试5.3.1功能测试1、用户登录测试系统对用户名和密码的输入格式有如下规定:用户名只能有英文和数字;用户名长度在6~14位之间;密码中不能有标点符号和空格。未创建过账号的用户可以进行注册操作。测试结果如表5-1所示。表5-1用户登录测试用例表测试项目过程叙述测试结果系统注册功能进入注册页面,并按格式进行正常注册功能正常、提示成功输入不符合格式的用户名或密码,系统出现提示信息,并无法完成注册功能正常、提示正常系统登录功能进入登录页面,并按格式进行正常登录功能正常、提示成功输入不符合格式的用户名或密码,系统出现提示信息,并无法进行登录功能正常、提示正常输入不存在的用户信息,系统出现提示信息功能正常、提示正常微信扫码登录(无须注册)点击微信图标,使用微信扫码登录功能正常、提示成功课程管理测试包括对课程上传、编辑以及视频在线播放功能的测试,测试结果如表5-2所示。表5-2课程管理测试用例表测试项目过程叙述测试结果课程创建在系统中进行新课程创建,并上传视频功能正常、提示成功系统上传的视频过大,提示视频上传失败功能正常、提示正常课程修改对系统中课程信息进行增删改查等操作功能正常、提示成功查看视频课程登录后选择课程,进行在线播放功能正常课程分类管理对系统中课程分类信息进行增删改查等操作功能正常、提示成功系统管理测试由于系统管理内容较多,主要展示讲师管理和权限管理,其余功能均可正常执行。测试效果如表5-3所示。表5-3登录、注册测试用例表测试项目过程叙述测试结果讲师创建访问讲师管理页面,正常添加讲师功能正常、提示成功访问讲师管理页面,添加讲师时不输入信息,显示创建失败后刷新页面功能正常、提示正常讲师编辑访问讲师管理页面,并进行讲师信息修改功能正常、提示成功菜单创建进入菜单管理页面,正常设置权限清单功能正常、提示成功角色创建进入角色管理页面,正常输入角色信息和选择角色权限功能正常、提示成功角色删除进入角色管理页面,选择删除角色功能正常、提示成功用户创建功能进入用户管理页面,正常输入用户信息和选择对应角色功能正常、提示成功用户删除进入用户管理页面,选择删除用户功能正常、提示成功生成统计信息访问统计信息页面,选择日期,点击生成功能正常、提示成功用户体验测试对用户可进行的主要操作进行了测试,包括查看视频、发表评论、参与问答等,如表5-4所示。表5-4用户体验用例表测试项目过程叙述测试结果查看视频课程登录后选择课程,进行在线播放功能正常查看讲师信息选择要查看的讲师,页面显示讲师简介和所讲课程功能正常参与课程评论在课程页面中对课程信息发表评论功能正常参与问答在问答页面中发表问题,并用其它账户回答功能正常5.3.2系统兼容性测试本次兼容性测试是将系统分别在Windows7、Windows8和Windows10的环境下运行,结果均运行正常。此外,分别使用Chrome、Microsoft、360浏览器访问系统,亦正常运行。综上,本系统的兼容性条件合格。5.4本章小结本章演示了系统的实现效果并阐述了系统性能的测试结果。结果表明系统表现良好。6总结与展望6.1总结在互联网+环境信息时代下,网络普及和便捷生活已经成为时代潮流,计算机技术作为新时代下科技和经济发展的宠儿,对科技进步发挥着举足轻重的作用。同时,越来越多的工作者选择投入计算机事业,其中不少有其它职业转行而来。传统的教学模式对学员门槛高,相对复杂,而线上的教学模式逐渐成为首选。线上的计算机培训可以同时满足大批计算机学习爱好者的需求,且操作便利,效益较高,更顺应时代潮流。本文首先阐述了计算机行业职业培训的背景和在线教育的优势,接着简述了该系统的开发技术、项目需求和系统设计说明,并进行系统测试,重点描述了核心功能。本系统分有五个子系统,分别为用户体验子系统、课程管理子系统、在线播放子系统、系统管理子系统和统计信息子系统。各子系统各司其职,共同实现了本系统的总体功能。本系统还面向三类用户角色,分别是讲师、学员和管理员,不同的角色使用不同的子系统,亦有着各自的权限。本文对各子系统及其功能和各用户角色的相关作用进行了详细说明。技术方面,本系统基于JavaEE框架,采用Spring+SpringMVC+MyBatis三大框架集成技术完成系统后端搭建,前端部分则主要以Vue框架为主,高效的构建出完整的前台体系,提高了系统的开发效率和简约便利性。本系统使用前后端分离架构,实现了系统中各模块间的相互独立,增强了系统的可维护性和可扩展性。6.2展望该学习系统主要应用于企业计算机技术专业人员职业资格培训班的在线课程学习。随着职业技能培训需求的不断增加,在线职业培训系统也需顺应时代潮流,不断推陈出新。在本系统的基础上,还有以下几个方面的需求应当满足并实现:1、准确高效地完善供需相匹配,实现更广泛范围的教育课程和更加个性化的教学;2、在课前课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脚手架高处坠落先期处置方案
- 2026年上半年专项行动生态环境排查报告
- 2026年预防接种资格证考试试题附答案
- 食品反复解冻处置方案
- 护理社会技术
- 突聋患者的听力保护
- 护理职业素养的体现
- 护理人际关系与患者康复
- 起重吊装平面规划方案
- 2026年窗口工作人员冒充工作人员诈骗题库
- 2026年青山湖区住房和城乡建设局下属事业单位招聘工作人员8人笔试备考题库及答案解析
- 2026年新版事故应急处置卡模板(新版27类事故分类依据YJT 32-2025要求编制)
- GB/T 214-2026煤中全硫的测定方法
- 2026年公共营养师三级月技能真题(附答案)
- 水泥基渗透结晶防水涂料安全交底
- 2026年上海市徐汇区高三下学期二模化学试卷和答案
- 会诊转诊服务中心工作制度
- 20S515 钢筋混凝土及砖砌排水检查井
- 烧伤整形科质控课件
- 2026湖北黄石市阳新县高中学校校园招聘教师26人备考题库(培优b卷)附答案详解
- 危重病人血液透析护理
评论
0/150
提交评论