预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于SSM框架的数据结构在线评测系统设计与实现冯丽露康耀龙高晓晶王涛摘要:本文基于JSP、Spring、Mybatis、Mysql等技术,设计实现了基于SSM框架的数据结构在线评测系统。本系统是一个在线评测网站,提供了丰富的算法题目以及必要的交流论坛,用户可以在网站内提交自己的程序代码,系统会自动进行编译并返回结果,管理员可以实现添加题库题目、查看学生答题记录、导出学生成绩等。本系统为用户提供了一个练习数据结构和算法的在线评测平台,方便学生在学习过程中更好地将理论同实践结合,进而充分发挥互联网优势,使学习效益最大化。关键词:在线评测;信息管理;数据结构中图分类号:G434文献标识码:A论文编号:1674-2117(2021)13-0086-04数据结构与算法的在线评测系统的主要用途是对用户提交的程序代码进行自动评测,并将评测结果告知用户。在线评测机对用户提交的代码进行编译、链接、执行,并将程序最终执行结果同预期输出进行比较。在线评测系统一般包括判题机、评测样例存储服务器、网页服务器。●相关开发技术本系统采用当下较为流行的JSP、Spring、Mybatis、Mysql技术,这些技术发展较为稳定,安全性高,容易上手编程。JSP可以访问Servlet、JavaBean,同时支持在网页中直接嵌入Java代码。Spring为Java企业级项目应用程序开发提供了集成的整合框架。Spring利用控制翻转和面向切面编程技术实现了低入侵式编程,降低代码之间的耦合度。[1-2]Mybatis不会对应用程序数据和数据库表中已有结构产生任何的负面影响,SQL语句在配置的Xml文件中管理,解除了原有设计过程中程序代码同SQL语句的耦合,使得业务层逻辑同SQL语句分离,从而提高了代码的可维护性和编程的易实现性。[3]●系统需求分析①为了方便教师和学生通过互联网进行访问,系统采用B/S进行架构,免去了C/S架构安装的麻烦。学生在网络环境良好的情况下就能进行在线提交和在线讨论。②数据信息的保存需要安全可靠,所以,在数据库选择方面选择关系型数据库Mysql,同时,为了应对后期数据量增多导致查询效率下降的问题,需要对数据进行分类存储,对数据量较大的表另做分库分表的设计。[4]数据库中的表主要用于存放用户信息、题目信息、提交记录、评论内容等。③对不同登录人员的权限控制。为了确保系统的安全性、稳定性,要避免非授权用户登录后台系统进行的非法操作。④系统对学生提交代码具有评测功能,能对学生的解答做出校验。同时将信息反馈至学生,以便其能根据反馈有针对性地完善代码,进而通过测试。[5]⑤系统具有统计、分析功能,能对学生提交的数据做出分析,能自动计算出学生成绩,数据信息应该方便教师查阅和导出。●数据结构在线评测系统的设计本系统从总体框架、基本功能、数据库三方面进行设计。总体框架设计是对系统整体功能的逻辑规划;基本功能设计是对详细功能的设计;数据库设计根据所需数据表建立。1.系统总体框架该在线评测系统划分为前台门户页面和教师后台管理两部分,整个系统的网络结构采用的是浏览器/服务器架构模式,用户通过网站域名进行登录访问,如图1所示。2.基本功能设计系统前台主要用于学生注册和登录系统、在线评测、查询评测结果、交流讨论、修改个人信息等;后台主要用于教师对学生的学习情况进行查阅,维护题目信息,添加评测数据等。①网站首页:将网站内容做一个整体的展示,具体包括题库信息、登录、注册模块、个人信息维护、在线评测等。②题库信息:主要包含待评测的数据结构和算法题目信息,点击相应的题目标题即可查看具体的题目描述。③交流论坛:该模块为学习者提供了交流平台,在学习的过程中学习者可以通过评论、问答的方式向教师或同伴提问。④个人信息维护:维护个人的账号信息,包括用户的头像、昵称、邮箱、班级等信息。⑤后台总体信息概览:查看题库系统总体信息,包括注册人数、题目数量、答题提交总量等。⑥学生信息管理:管理和查看学生在网站的学习情况,包括学生的答题情况、学期末总成绩等。⑦题目信息管理:完成对题库的维护,增加新题目或删除旧题目。3.平台数据库设计根据系统架构和需求分析,数据库中各类实体可概括为用户实体、题目实体、权限实体、提交记录实体等。用户实体主要用于保存用户个人信息;题目实体主要用于保存题目详细信息;权限实体主要用于记录用户权限信息;提交记录实体用于记录用户的个人提交信息。用户实体与权限实体之间存在权限关系,题目同用户、提交记录之间分别存在提交和答题关系。●数据结构在线评测系统的实现本文只介绍《数据结构》在线评测系统中的部分核心功能,包括题库搭建、评测逻辑、后台管理、答题统计、成绩分析。1.题库搭建在题库中展示了所有存儲在数据库中的评测题目信息,用户进入题库中点击题目的标题,进入题目的详情页面,进入后即可在题目右