首页 > 编程语言 >基于OJ的Java课程实验管理系统的设计与实现论文

基于OJ的Java课程实验管理系统的设计与实现论文

时间:2024-06-01 09:30:20浏览次数:30  
标签:Java OJ 管理系统 网站 数据库 系统 用户 课程 管理员

摘 要

课程实验网站是一个为课程提供全面、准确、及时课程实验的在线平台。它汇聚了各地的课程体验。
该网站通过丰富的图片形式展示课程,让课程者提前感受到社区的乐趣。同时,它还提供了详细的课程攻略和实用建议,帮助课程者避免社区中的陷阱和误区,确保行程顺利。
本课程实验网站使用最新目前比较火热和流行的SpringBoot框架,他可以用来简化Spring应用的初始化搭建以及开发过程。数据库方面选择的是免费、性能服务稳定的MySql数据库。缓存方面使用到的是非关系型数据库Redis。
本课程实验网站后台管理员模块使用了能够快速上手和使用的vue前端框架,vue的浏览器兼容性极高,界面也比较美观,其完整的官方文档可以使后端开发人员也能通过vue完成前端的开发。
关键词:课程实验;网站管理系统;B/S模式;软件架构

第1章 系统分析

3.1 概述
课程实验网站是指通过互联网提供课程相关信息的网站。网站通常包含目的地介绍、酒店预订、机票购买、课程线路规划、景点介绍、课程攻略等内容。它们的主要功能是为游客提供全面、准确的课程实验,帮助他们更好地规划行程,同时也为课程从业者提供一个展示和推广的平台。

3.2 功能需求
根据现实需要,此系统本文设计出以下功能,主要有以下功能模板。
(1)用户功能:首页、实验作业、公告资讯、个人中心等。
(2)管理员功能:首页、学生管理、管理员管理、试卷管理、试题管理、考试管理、实验作业管理、系统管理等。
在系统的功能设计方面,课程实验网站的设计目标是为用户提供全面、准确的课程实验,帮助他们更好地规划行程,因此抽取了满足管理员、用户基本业务需求的基本功能用例,如图3-1、3-2所示。
在这里插入图片描述

图3-1 管理员功能用例图
在这里插入图片描述

图3-2 用户功能用例图

3.3 非功能性需求
软件要有很好的可扩展性和兼容性,既要符合当前的业务需求,又要考虑未来的发展需求,而且要有一些弹性,以适应未来的需求。易于修改,调整,扩充。
安全:本站所有数据均采用 https传输,同时,测试者账号采用了更加高级的加密方式,更加安全。此外,本网站还为用户准备了备份资料,确保其资料不会因丢失而受损。
运行:根据用户手册,系统地管理系统,添加,修改,查找网站。用户可以登陆这个系统,然后通过这个网站来进行浏览。
实用:新产品的研发,不但可以提高销售,还可以为企业创造良好的经济效益。
易于操作:这个网站采用 B/S模式,任何电脑都可以访问这个网站的 URL。可以跨多个开发平台进行移植。
高度平行:这个架构可以允许多个用户在同一时刻访问同一个网站,而没有中断,显示了这个网站的承载能力。
兼容性:这个网站刚起步时,在不同的操作系统上都有大量的随机的;在不同的电脑软件上运行。
3.4 系统特色
在设计课程实验网站的时候,选用了 B/S结构模式,这也是为什么没有把 C/S结构模型考虑进去的原因。使用的人越多,对以后的开发和维护就越有好处,而 B/S浏览器的模式,可以让使用者不需要将用户端下载到自己的电脑上,这对于使用者来说,是非常方便的。用户可以在任何时间、任何地点、任何地点,通过移动终端浏览、平板、计算机等方式进行浏览。
另外,由于目前大多数的课程实验网站在设计的时候都比较简单,并没有考虑到用户的数量会越来越多。在此基础上,提出了一种基于前后端分离技术的课程实验网站,并对其进行了改进,以确保系统的负载性能。
3.5 可行性研究
方案的可行性分析就是要对一个方案进行多方面的全面的思考,并从三种不同的观点出发,从而保证方案顺利进行。
3.5.1财务的可行性
我们通过对现有的课程实验网站的所具备的功能进行调查,发现现有系统的优势与不足,并将这些不足记录下来进行总结,以期望在本系统中做出完善,尽量满足仓库管理员的各项需求。完善的系统是界面美观,操作简便的,使用者不需要投入额外的费用和额外的时间来学习操作该系统。并且相对于其他技术来说,基于Java语言的SpringBoot、MyBatis等框架是开源免费的,我们所使用的MySQL数据库和Tomcat等工具也是完全免费的,所以开发成本较低,同时系统对硬件的配置要求也不高,更重要的一点是系统操作简便,企业不需要雇佣专业的技术人员来操作该系统,减少了相应的费用。当然,既然采用人机结合的方式,那么就可以减少雇佣仓库管理人员的数量,节约了部分的雇佣费。所以,从经济的角度来看,公司所节省的费用远远高于该系统的开发成本和运营成本,那么该
技术具备经济可行性。
3.5.2技术上的可行性
课程实验网站采用了MVC的思想,MVC指的是模型层,视图层,从之前层。M对应model模型指的是用来存储数据和处理业务逻辑的entity实体对象。V对应view视图层即系统把数据库的数据展示到前端的界面与用户交互。C对controller控制器层即当前端用户发请求到系统通过controller负责响应到那个界面,通过视图解析器呈现给用户。运用用MVC思想可以解耦web层。
SpringBoot中的MyBatis的操作更加优化,在此课程实验网站系统中采用注解开发的方式,将简单的SQL采用注解。Mybatis对应用程序或数据库的现有设计产生的影响很少。SQL写在provide类中,再将此类注通过@Component注解入到Spring的IOC容器。十分有利于管理和优化。对数据库的所有操作都可以通过这些SQL完成。使用MyBatis可以分离业务逻辑和数据访问逻辑,将系统设计清晰化,同时简化以后的测试和维护,减少了维护成本。
MySql是一个免费的数据库管理系统,可以节省数据库服务方面的开销。MySql相对于其他数据库管理系统显得更加小巧,无需特别高的硬件配置。同时Mysql数据库再配合优秀的持久层框架MyBatis,避免了很多兼容性方面的错误,从而使开发过程变得更顺利。
3.5.3操作的可行性
本课程实验网站系统使用B/S模式,基于SpringBoot开发。随时随地都可以用电脑或者是移动设备进入该网站。可以随时随地登录此网站进行网络预定景区门票和酒店,以及查看景区的信息。

第2章 系统总体设计

4.1 系统架构设计
4.1.1体系结构
软件测试平台,就是由人,计算机等构成的集采集,存储;是一种集成化的处理、传输等功能。该系统可以帮助决策者快速地找到问题所在,并及时地向决策者反馈有关信息,使其能够及时地掌握目前的情况,并作出进一步的计划。
当前管理信息系统的架构主要有两种,一种是 C/S,一种是 B/S。
B/S体系结构是指通过客户端访问应用体系结构,并在此基础上运行和维护应用。本课题提出一种基于 B/S架构的架构,该架构具有多平台架构、多平台架构等特点,这大大降低了架构开发人员对使用者的工作负担,使其能够专注于信息的管理。为客户做好计划。B/S结构是一种以用户为中心的浏览器,它为用户提供了很好的解决方案,为开发人员提供了一个方便快捷的解决方案。使用户操作更加方便。在 B/S架构下,无论是浏览器还是操作系统,都需要使用者对自己的数据执行不同的操作。相对于 C/S体系结构,用户计算机对内存的需求较小,便于测试和维护。B/S体系结构能够在各种计算机网络和平台上透明地运行,能够实现各种信息的无缝集成,与 C/S体系结构相比, B/S体系结构有如下明显的优点:容易维护,升级容易,成本低;能够提供多种选择。而C/S架构的问题在于其维护费用较高、需要大量投资。本项目体系结构图如图4-1所示。
在这里插入图片描述

图4-1 体系结构图
4.1.2 系统功能结构设计
本系统设计时,确定详细功能,这些功能主要通过需求阶段的调研分析得来的,具体功能模块如下图,如图4-1所示。

在这里插入图片描述

图4.1系统功能结构图

课程实验网站功能模块需要包括:用户管理模块、管理员管理模块具体研究内容如下:
用户管理模块功能如下:
(1)用户可以进行账号注册、登录、对个人信息编辑等功能。
(2)用户可以查看课程景点信息。
(3)用户可以查看课程信息及发表评论。
(4)用户可以查看课程路线信息。
(5)用户可以查看课程资讯信息。
管理员管理模块功能如下:
(1)管理员可以对用户信息进行增删改查操作。
(2)管理员可以对景点分类进行增删改查操作。
(3)管理员可以对酒店信息进行增删改查操作。
(4)管理员可以课程路线进行增删改查操作。
(5)管理员可以课程资讯进行增删改查操作。
(6)管理员可以课程进行增删改查操作。
(7)管理员可以路线预订进行增删改查操作。

4.2 系统数据库设计
4.2.1 数据库设计概述
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
用户信息实体图如图4-2所示:
在这里插入图片描述

在软件系统的开发过程中,最关键的一个步骤就是建立一个完整的表格,在这个表格中,首先要有一个完整的表格,然后才能决定各个表格的数量;通过对表格的组织、表格间的相互联系等进行分析,以确保整个体系的稳定。数据库的作用就是对工程中所有的数据进行保存,并保证其安全。一个完整的表格,包括了工程中的每个元素的字段和特性,本文经常使用概念模型进行设计,即为E-R模型。
在这里插入图片描述

图4-3 系统数据库

第3章 系统功能实现

5.1登录模块的实现
当管理员输入用户名称及密码后,按「登录」键,系统会比对资料库中储存的资料,若用户名称及密码符合资料库储存资料;系统会跳跃到使用者页面,如果不是,会有提示错误,将会出现登录页。图5.1系统登录界面。

在这里插入图片描述

图5.1系统登录界面
5.2管理员管理模块
管理员登录系统后,可以对首页、学生管理、管理员管理、试卷管理、试题管理、考试管理、实验作业管理、系统管理等功能进行相应操作,如图5-2所示。
图5.2首页信息界面
在这里插入图片描述

5.3试卷管理模块
管理员可以对测试名称是否通过的信息进行查看、删除、增加及更新操作。程序成效图如下图5-3所示:
在这里插入图片描述

图5.3 试卷信息界面

标签:Java,OJ,管理系统,网站,数据库,系统,用户,课程,管理员
From: https://blog.csdn.net/qq_1694456187/article/details/139298040

相关文章

  • [转帖]一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问
     https://segmentfault.com/a/1190000044152595 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存......
  • C++基础编程部分知识总结应用--图书管理系统
    C++基础编程部分知识总结应用–图书管理系统文章目录C++基础编程部分知识总结应用--图书管理系统1.代码结构和预处理命令2.定义图书结构体3.定义图书列表结构体4.后台控制函数5.显示主菜单6.添加图书函数7.查询图书函数8.显示所有图书函数9.修改图书信息函数10......
  • java通过冒泡排序对数组进行排序
    冒泡排序是从列表第一个元素开始,比较相邻两个元素大小,小的排在前面,大的排后面,循环反复,小的数据会像气泡那样上浮。packageproject;publicclassMaopaopaixu{ publicstaticvoidmain(String[]args){ //冒泡排序 int[]arr={9,8,3,5,2}; for(inti=0;i<arr.le......
  • Java循环结构while
    1.while是最基本的循环,它的结构为        while(布尔表达式){            //循环内容                }2.只要布尔表达式为true,循环就会一直执行下去3.我们大多数情况是会让循环停止下来的,我们需要一个让表达式时......
  • Java If选择结构
    1.if单选择结构    if(布尔表达式){        //如果布尔值表达式为true将执行的语句    }2.if双选择结构    if(布尔表达式){        //如果布尔表达式的值为true        }else{        ......
  • Java流程控制
    Java流程控制用户交互Scanner之前我们学的基础语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanners=newScanner(System.in)......
  • 【题解】UOJ#284 快乐游戏鸡
    题目大意给出一棵有\(n\)个节点的树,编号为\(i\)的点权为\(w_i\),在树上通过一条边需要花费时间\(1\),如果能通过一个点权为\(w_i\)的点当且仅当此时的死亡次数大于等于\(w_i\),否则会立即回到起点并且死亡次数加一。给出\(q\)组询问,每组询问给出起点\(s\)和终点\(t\),......
  • RxJava和LiveData两者优缺点的详细分析
    RxJava和LiveData两者优缺点的详细分析RxJava和LiveData都是用于处理异步数据流的工具,但它们各自有不同的特点和适用场景。下面是对两者优缺点的详细分析以及如何选择和使用的建议:RxJava优点:功能强大:RxJava提供了丰富的操作符,能够轻松实现复杂的数据流操作。灵活性高:可以用......
  • Java练习(综合运用继承性、多态性、接口)
    在这个练习中,我们定义了一个接口`Animal`,其中包含一个方法`sound()`。之后,我们创建了一个基类`Mammal`,实现了`Animal`接口,并提供了一个默认的`sound()`方法实现。接着,我们定义了两个继承自`Mammal`的子类`Dog`和`Cat`,分别重写了`sound()`方法。在`main`方法中,我们创建了一个......
  • 基于springboot实现毕业设计成绩管理系统项目【项目源码+论文说明】计算机毕业设计
    摘要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装毕业设计成绩管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,毕业设计......