【网站项目】三省学堂-学习辅助系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。

  1. 代码可以私聊博主获取。🌹
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《python网站项目》600套

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目演示

摘要

三省学堂-学习辅助系统是学校是学习辅助管理必不可少的一个部分。在学校学习辅助管理的整个过程中,学习辅助系统担负着最重要的角色。为满足如今日益复杂的管理需求,各类学习辅助管理程序也在不断改进。本课题所设计的三省学堂-学习辅助系统,使用java技术进行开发,它的优点代码不能从浏览器查看,保密性非常好,比其他的系统更具安全性。java还容易修改和调试,毕竟学校是在不断发展过程中,难免有更多需求,这点很重要。而且,本系统对学习辅助的管理,是为了满足学校更深层次的需求。除了上述优势外,本系统还具有查询迅速,搜索资料方便,可靠性强等特点。

关键词:三省学堂-学习辅助系统;java;可靠性

1.绪论

1.1开发背景

近几年来,网络事业,特别是Internet发展速度之快是任何人都始料不及的。目前,由于Internet表现出来的便捷,快速等诸多优势,已经使它成为社会各行各业,甚至是平民大众工作,生活不可缺少的一个重要组成部分。

随着社会的发展,线下管理的方式已经不可避免的显示出它在时间与空间等方面的局限性,广大的人民群众迫切的需要打破这种局限性。在这种要求下,基于SSM框架的三省学堂-学习辅助系统产生了。它的出现不但解决了传统学习辅助管理方式的缺点,而且给了广大用户更大的选择空间,促进了学习辅助的优化管理,有效的避免了学习辅助管理缭乱的局面。所以像学习辅助系统这种管理方式的发展壮大也是不可避免的。

三省学堂-学习辅助系统作为一种典型的管理系统也迅速的发展并深入人们的日常生活中,它使用户足不出户就可以查看作业信息,在家学习等,最大化减缩了用户的管理时间,提高了管理效率。

1.2开发意义

人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。即三省学堂-学习辅助系统慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。

计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。

1.3课题研究现状

在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的网上管理系统开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的学习辅助系统,来实现行学习辅助管理的信息化。因此本课题以学习辅助管理为例,目的是开发一个实用的三省学堂-学习辅助系统。

三省学堂-学习辅助系统的开发运用java技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了学习辅助管理的信息化,使用户体验到更优秀的学习辅助管理,管理员管理操作将更加方便,实现目标。

1.4项目研究内容与结构

学习辅助管理方面的任务繁琐,以至于学校每年都在学习辅助管理这方面投入较多的精力却效果甚微,三省学堂-学习辅助系统的目标就是为了能够缓解学习辅助管理工作方面面临的压力,让学习辅助管理方面的工作变得更加高效准确。

本项目在开发和设计过程中涉及到原理和技术有:B/S架构、java技术、SSM框架和MySQL数据库等。将按以下章节进行开发设计;

  • 绪论;剖析项目背景,说明研究的内容。
  • 开发技术。系统主要使用了java技术,SSM框架、b/s模式和myspl数据库,并对此做了介绍。
  • 系统分析;包括了系统总体结构、对系统的性能、功能、流程图进行了分析。
  • 系统设计;对软件功能模块和数据库进行详细设计。
  • 系统总体设计;对系统管理员,教师,家长和学生的功能进行描述。
  • 对系统进行测试。
  • 系统维护。
  • 总结;在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢。

2.开发技术介绍

2.1B/S架构

随着软件系统的不断改进和升级,B/S结构产品更为方便的特征体现得十分明显。对于一个中等偏大的公司来说,如果系统管理员每天要在很多台电脑之间来回查看,不断奔走,那么效率和工作量就会变得很低,但是如果使用了B/S结构,那么管理员只要对服务器进行管理就够了。

B/S结构最大的优点它不需要安装任何的软件,它所有的客户端就只是浏览器,所以只要有一台电脑并且可以上网就可以解决所有问题,客户端可以完全地不用管理员维护。无论使用系统的使用者是什么样的规模,也不管分支有多么的庞大,都不会对维护和升级的工作量造成影响,所有的维护和升级只需要操作服务器。随着B/S结构的不断发展,使用的人也不断增加,从而带动了AJAX技术的发展,和B/S结构一样,它也能在客户端上处理程序,这便缓解了服务器的负担,提高了交互性,而且实现了局部实时刷新。

2.2Java语言简介

Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。

Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:

1.面向对象

面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。

2.平台无关性

Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。

3.可靠性和安全性

Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。

4.多线程

Java提供了多线程功能,利用编程实现同一时间同时工作的功能。

2.3 SSM框架

开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。

2.4 MySql数据库

在软件项目,通过经营性数据的数据库,可以保证其安全,独立和数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。

MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbc和tcp/ip,以各种形式连接到MySQL;功能方面表现欠缺,规模小,但对于这个系统就足够了。

因为MySQL是源代码对外开放的,所以任何人都可以通过相应的方法下载,并根据个性化需求进行修改。由于MySQL的速度,可靠性和适应性,MySQL受到重视。

MySQL虽然功能可能不是很强大,但由于其开源,广泛传播,导致很多人都意识到这个数据库。

2.5MySQL环境配置

本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

3系统分析

3.1可行性分析

在开发系统之前要进行系统可行性分析,目的是在用最简单的方法去解决最大的问题,程序一旦开发出来满足了用户的需要,所带来的利益也很多。下面我们将从技术、操作、经济等方面来选择这个系统最终是否开发。

3.1.1技术可行性

本系统开发选择Java技术,SSM框架,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑是此系统最佳的选择。所以后台设计选择使用MySQL数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

依据上述目标来分析本系统的硬件如下:

奔腾3的处理器;

内存是 2G;

硬盘是50G;

操作系统是Window 10;

在软件方面的话,安装了Visul Studio 0 和MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。

3.1.2经济可行性

基于SSM框架的三省学堂-学习辅助系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的学习辅助管理,同时还能实现对人力资源和管理资源的有效节约,该三省学堂-学习辅助系统在经济上完全可行。

3.1.3操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.1.4 运行可行性

本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。

经过总结,本系统在经济方面、技术方面、操作方面和运行方面的条件都得以满足,为此系统的开发具备了可行性条件。

3.2系统性能需求分析

对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析:

系统反应度:同时上万人在线时反应时间应该在两三秒以内。

界面简洁清晰:系统界面要求简单明了,操作简单,用户操作容易上手。

储存性能高:三省学堂-学习辅助系统中需要存储的信息有很多,所以对系统的存储量要求很高,因此数据库就应该很强大,才能保证信息能安全稳定的进行存储;

易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

稳定性:要求三省学堂-学习辅助系统运行要稳定,界面清楚、字体清晰等。

3.3系统功能分析

考虑到实际生活中学习辅助管理方面的需要以及对该平台认真的分析,将系统权限按管理员,教师,家长和学生这四类涉及用户划分。

(a) 管理员;管理员使用本系统涉到的功能主要有:首页,个人中心,学生管理,家长管理,教师管理,作业信息管理,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理,家校留言板,系统管理等功能。管理员用例图如图3-1所示。

图3-1管理员用例图

(b)教师;教师进入系统可以实现首页,个人中心,作业信息管理,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能。教师用例图如图3-2所示。

图3-2教师用例图

(c)家长;家长进入系统可以实现首页,个人中心,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能。家长用例图如图3-3所示。

图3-3家长用例图

 (d)学生;学生进入系统可以实现首页,个人中心,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能。学生用例图如图3-4所示。

图3-4学生用例图

3.4系统流程的分析

由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户权限下的系统业务流程来分析,如下图所展示:

3.4.1 用户管理的流程

图3-5 用户管理流程

3.4.2个人中心管理流程

图3-6 个人中心管理流程

3.4.3登录流程

4系统设计

4.1 软件功能模块设计

系统整体功能如下图所示:

图 4-1 系统总体功能模块图

4.2数据库设计与实现

在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。

4.2.1概念模型设计

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

通知公告实体图如图4-2所示:

图4-2通知公告实体图

错题练习实体图如图4-3所示:

图4-3错题练习实体图

4.2.2数据库逻辑结构设计

根据E-R得出数据库包含了以下几张数据表来实现了对数据库的存储、调用。以下分别列出数据表的每个字段名、数据类型、主外键及备注。

4-1错题练习

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

cuotibianhao

varchar

200

错题编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

zuoyemingcheng

varchar

200

作业名称

lianxishijian

date

练习时间

lianxijieguo

longtext

4294967295

练习结果

xuehao

varchar

200

学号

xingming

varchar

200

姓名

4-2完成作业

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zuoyebianhao

varchar

200

作业编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

zuoyemingcheng

varchar

200

作业名称

zuoyefujian

varchar

200

作业附件

tijiaoshijian

date

提交时间

zuoyebeizhu

varchar

200

作业备注

xuehao

varchar

200

学号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

4-3错题反馈

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

cuotibianhao

varchar

200

错题编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

zuoyemingcheng

varchar

200

作业名称

faburiqi

date

发布日期

cuotileixing

varchar

200

错题类型

cuotineirong

longtext

4294967295

错题内容

xuehao

varchar

200

学号

xingming

varchar

200

姓名

4-4用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

4-5配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

4-6token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

4-7收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

4-8通知公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

4-9家长

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiazhangzhanghao

varchar

200

家长账号

mima

varchar

200

密码

jiazhangxingming

varchar

200

家长姓名

xingbie

varchar

200

性别

jiazhangdianhua

varchar

200

家长电话

touxiang

varchar

200

头像

4-10教师提醒

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tixingbianhao

varchar

200

提醒编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

biaoti

varchar

200

标题

fabushijian

date

发布时间

fabuneirong

longtext

4294967295

发布内容

xuehao

varchar

200

学号

xingming

varchar

200

姓名

4-11教师

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiaoshigonghao

varchar

200

教师工号

mima

varchar

200

密码

jiaoshixingming

varchar

200

教师姓名

xingbie

varchar

200

性别

jiaoshidianhua

varchar

200

教师电话

touxiang

varchar

200

头像

4-12作业信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zuoyebianhao

varchar

200

作业编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

zuoyemingcheng

varchar

200

作业名称

tupian

varchar

200

图片

zuoyeyaoqiu

varchar

200

作业要求

zuoyeneirong

longtext

4294967295

作业内容

faburiqi

date

发布日期

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

4-13学生

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

xuehao

varchar

200

学号

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

xueshengdianhua

varchar

200

学生电话

touxiang

varchar

200

头像

4-14家校留言板

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

帖子标题

content

longtext

4294967295

帖子内容

parentid

bigint

父节点id

userid

bigint

用户id

username

varchar

200

用户名

isdone

varchar

200

状态

4-15作业信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

4-16选择作业

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zuoyebianhao

varchar

200

作业编号

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

zuoyemingcheng

varchar

200

作业名称

xuanzeriqi

date

选择日期

zuoyeyaoqiu

varchar

200

作业要求

xuehao

varchar

200

学号

xingming

varchar

200

姓名

zhuangtai

varchar

200

状态

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

5 系统详细设计

5.1系统功能模块

三省学堂-学习辅助系统,在系统首页可以查看首页,作业信息,家校留言板,通知公告,个人中心,后台管理等内容,并进行详细操作;如图5-1所示。

图5-1系统首页界面图

学生注册,在学生注册页面通过填写学号,密码,确认密码,姓名,学生电话等信息进行注册操作,如图5-2所示。

图5-2学生注册界面图

作业信息,在作业信息页面可以查看作业编号,教师工号,教师姓名,作业要求,发布日期,点击次数等内容,并进行选择作业,评论和收藏等操作,如图5-3所示。

图5-3作业信息界面图

个人中心,在个人中心页面通过填写学号,密码,姓名,性别,学生电话,上传图片等内容进行更新信息,还可以根据需要对我的发布,我的收藏进行相对应操作,如图5-4所示。

图5-4个人中心界面图

5.2管理员功能模块

管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-5所示。

图5-5管理员登录界面图

管理员登录系统后,可以对首页,个人中心,学生管理,家长管理,教师管理,作业信息管理,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理,家校留言板,系统管理等功能进行相应的操作管理,如图5-6所示。

图5-6管理员功能界面图

学生管理,在学生管理页面可以对索引,学号,姓名,性别,学生电话,头像等内容进行详情,修改和删除等操作,如图5-7所示。

图5-7学生管理界面图

教师管理,在教师管理页面可以对索引,教师工号,教师姓名,性别,教师电话,头像等内容进行详情,修改和删除等操作,如图5-8所示。

图5-8教师管理界面图

完成作业管理,在完成作业管理页面可以对索引,作业编号,教师工号,教师姓名,作业名称,作业附件,提交时间,作业备注,学号,姓名,审核回复,审核状态等内容进行详情,修改和删除操作;如图5-9所示。

图5-9完成作业管理界面图

5.3学生功能模块

学生登录进入三省学堂-学习辅助系统可以对首页,个人中心,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能进行相应操作,如图5-10所示。

图5-10学生功能界面图

选择作业管理,在选择作业管理页面可以对索引,作业编号,教师工号,教师姓名,作业名称,选择日期,作业要求,学号,姓名,状态,审核回复,审核状态等内容进行详情,完成作业,修改和删除等操作,如图5-11所示。

图5-11选择作业管理界面图

错题反馈管理,在错题反馈管理页面可以对索引,错题编号,教师工号,教师姓名,作业名称,发布日期,错题类型,学号,姓名等内容进行详情和错题练习操作;如图5-12所示。

图5-12错题反馈管理界面图

5.4家长功能模块

家长登录进入三省学堂-学习辅助系统可以对首页,个人中心,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能进行相应操作,如图5-13所示。

图5-13家长功能界面图

选择作业管理,在选择作业管理页面可以对索引,作业编号,教师工号,教师姓名,作业名称,选择日期,作业要求,学号,姓名,状态,审核回复,审核状态等内容进行详情操作,如图5-14所示。

图5-14选择作业管理界面图

错题练习管理,在错题练习管理页面可以对索引,错题编号,教师工号,教师姓名,作业名称,练习时间,学号,姓名等内容进行详情操作;如图5-15所示。

图5-15错题练习管理界面图

5.5教师功能模块

教师登录进入三省学堂-学习辅助系统可以对首页,个人中心,作业信息管理,选择作业管理,完成作业管理,错题反馈管理,错题练习管理,教师提醒管理等功能进行相应操作,如图5-16所示。

图5-16教师功能界面图

完成作业管理,在完成作业管理页面可以对索引,作业编号,教师工号,教师姓名,作业名称,作业附件,提交时间,作业备注,学号,姓名,审核回复,审核状态,审核等内容进行详情,错题反馈,修改和删除等操作,如图5-17所示。

图5-17完成作业管理界面图

教师提醒管理,在教师提醒管理页面可以对索引,提醒编号,教师工号,教师姓名,标题,发布时间,学号,姓名等内容进行详情,修改和删除操作;如图5-18所示。

图5-18教师提醒管理界面图

6 系统测试

6.1 测试目的

在开发的过程中,开发人员会使用许多的测试工具来测试系统的质量,使得系统能够顺利的运行起来。软件的测试就是用来检测系统的完成情况,对各方面功能进行测试即便是使用正确的方法来进行分析和设计,但是开发过程中难免会出现错误。软件的测试就是用来检测系统的完成情况,对各方面功能进行测试。而测试的目的,就是让我们去发现这些错误,并将其纠正过来,防止在以后系统在运行和使用的过程中出现错误。在进行软件测试的过程中,我们要将这些错误改正过来,将软件的缺陷进行修复,最后成功的开发出系统。

6.2 测试的步骤

与开发的步骤差不多,测试的步骤也一定要一步一步的进行,每一个步骤在逻辑上面都是紧接上一步的。主要对本系统进行了数据测试和功能测试。

功能测试

功能测试首先测试系统的所有功能页面,以确保每个功能可以实现所需的功能。例如,用户提交的数据是否准确,管理员对信息的添加,删除,修改是否正确,用户的各功能是否能成功等等。

数据测试

三省学堂-学习辅助系统,数据的正确性是十分重要的,主要测试的是用户注册时用户信息的有效性测试,搜索功能是否准确,以及用户提交的内容是否一致等等。

6.3测试结论

本三省学堂-学习辅助系统经测试和调试后能够按照需求正常运行,基本没有错误,能够满足开发者和用户的需求。在系统整体测试过程中,系统功能相对来说比较简单,数据源的配置,需进一步改善。

7 系统维护

为了清除系统在运行过程中发生的错误,必须定期的对系统进行完善和维护;这是为了使系统适应用户环境的变化,满足用户新提出的新要求。系统维护的任务是修复软件在运行过程中发现的错误,补充用户在使用过程中提出的新的功能需求。所以,为了保证计算机系统能够正常的运行,必须对系统进行定期检查。

维护内容有:

1)病毒防范与系统安全:当今社会,学校里最严重的安全威胁就是--木马与黑客。这些都会严重影响到学校的正常工作和发展,会对学校造成难以估量的危害。所以,必须加强系统安全,定期查杀木马,以及对系统漏洞进行修补。

2)数据维护。根据学校的需要对数据的需求有时候会发生变化,除了系统中的主要数据的定期更新外,还需根据学校需要进行变化调整,包括增加数据内容等等。除此之外,还必须对数据进行定期的备份等。

(3)代码维护。如果系统应用范围扩大,当前系统无法满足新的需求,那么必须大于系统中的代码进行必要的增加、修改、删除等等。

(4)硬件维护。主要就是指对主机以及外设的一些基本维护和管理,如对部件的保养清理,老化部件进行更换等,以此来保证三省学堂-学习辅助系统能够正常地工作。

8 结论

通过完成该三省学堂-学习辅助系统和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。

本网站所实现的是一个三省学堂-学习辅助系统,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

本系统具有以下优点:该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统;系统将用户权限进行划分,管理员,教师,家长和学生能看到及操作的信息不一样,四者具备不同的操作权限;该系统操作界面简单明了,大部分人都可以正常使用。

但也存在以下问题需要改进:运行时窗口不能被刷新,可以改进;系统过于简单,显示的信息有限;不能添加多个管理员账号,如果可以则将利于发展学习辅助系统规模,便于学习辅助信息集中管理;不能实时预约接待消息和学习辅助系统反馈建议,容易被忽视,不利于管理员服务客户。

参考文献

[1] 李盛恩,王珊.数据库基础与应用(第二版)[M].北京:人民邮电出版社,2009:14-78.

[2]孙卫琴:《精通Hibernate:Java对象持久化技术详解[M].电子工业出版社出版

[3]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2016.5:198-235.

[4]张孝祥.深入Java Web开发内幕——核心基础[M].北京:电子工业出版社.北京.2016.10.

[5] 舒红平.Web 数据库编程-java[M],西安电子科技大学出版社,2005:97-134.

[6] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.

[7]黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2017, 6(5):1148-1149

[8] 王玉英. 基于JSP的SQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66

[9] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49

[10] 肖英. 解决JSP/Servlet开发中的中文乱码问题[J]. 科技传播, 2011, (1)11-25

[11]石正喜. SQL数据库实用教程. 北京:北京师范大学出版社 2016

[12]孙卫琴. 基于MVC的JavaWeb设计与开发. 北京: 电子工业出版社 2014.

核心代码展示

/**
 * 公告通知
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-09 11:33:59
 */
@RestController
@RequestMapping("/news")
public class NewsController {
    @Autowired
    private NewsService newsService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
        EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
		PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( NewsEntity news){
       	EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
      	ew.allEq(MPUtil.allEQMapPre( news, "news")); 
        return R.ok().put("data", newsService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(NewsEntity news){
        EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
 		ew.allEq(MPUtil.allEQMapPre( news, "news")); 
		NewsView newsView =  newsService.selectView(ew);
		return R.ok("查询公告通知成功").put("data", newsView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        NewsEntity news = newsService.selectById(id);
        return R.ok().put("data", news);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody NewsEntity news, HttpServletRequest request){
    	news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(news);
        newsService.insert(news);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody NewsEntity news, HttpServletRequest request){
        //ValidatorUtils.validateEntity(news);
        newsService.updateById(news);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        newsService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = newsService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/519947.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Win10 下 Vision Mamba(Vim-main)的环境配置(libcuda.so文件无法找到,windows系统运行失败)

目录 1、下载NVIDIA 驱动程序、cuda11.8、cudnn8.6.0 2、在Anaconda中创建环境并激活 3、下载gpu版本的torch 4、配置环境所需要的包 5、安装causal_conv1d和mamba-1p1p1 安装causal_conv1d 安装mamba-1p1p1 6、运行main.py失败 请直接拉到最后查看运行失败的原因&am…

【C++】vector模拟实现

目录 简介&#xff1a;私有成员&#xff1a;迭代器&#xff1a; 无参构造函数&#xff1a;push_back&#xff1a;reserve&#xff1a;resize:push_back: operator[]重载&#xff1a;begin && end:size && capacity:insert&#xff1a;erase&#xff1a;带参构造…

PyQt ui2py 使用PowerShell将ui文件转为py文件并且将导入模块PyQt或PySide转换为qtpy模块开箱即用

前言 由于需要使用不同的qt环境&#xff08;PySide&#xff0c;PyQt&#xff09;所以写了这个脚本&#xff0c;使用找到的随便一个uic命令去转换ui文件&#xff0c;然后将导入模块换成qtpy这个通用库(支持pyside2-6&#xff0c;pyqt5-6)&#xff0c;老版本的是Qt.py(支持pysid…

论文阅读——Sat2Vid

Sat2Vid: Street-view Panoramic Video Synthesis from a Single Satellite Image 提出了一种新颖的方法&#xff0c;用于从单个卫星图像和摄像机轨迹合成时间和几何一致的街景全景视频。 即根据单个卫星图像和给定的观看位置尽可能真实地、尽可能一致地合成街景全景视频序列。…

Python+Django+Html河道垃圾识别网页系统

程序示例精选 PythonDjangoHtml河道垃圾识别网页系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonDjangoHtml河道垃圾识别网页系统》编写代码&#xff0c;代码整洁&#xff0c;规…

如何编写属于自己的第一个exp

0x00 前言 在我们找到一个漏洞之后&#xff0c;可能会想着去fofa上搜语法进而扩大战果&#xff0c;而有些漏洞利用起来十分繁琐&#xff0c;这时候就需要一个exp来批量帮我们进行扫描工作&#xff0c;接下来就介绍一下如何进行exp的编写&#xff0c;这个过程中最重要的还是体现…

Docker简单介绍、特点、与虚拟机技术的区别、核心概念及在CentOS 7 中安装卸载Docker

目录 一、什么是Docker 二、特点 三、Docker与虚拟机技术的区别 四、Docker的核心概念 Docker仓库与仓库注册服务器的区别 五、CentOS7在线安装Docker 安装配置 卸载 一、什么是Docker Docker是一个开源的容器化平台&#xff0c;用于打包、部署和运行应用程序。它利用…

AI设计优化电机、电路与芯片?

一、AI进行电机本体设计 使用AI进行电机本体设计是一种前沿且具有潜力的方法&#xff0c;通过深度学习、强化学习、遗传算法等AI技术&#xff0c;可以实现电机设计的自动化和优化。具体应用可以包括以下几个方面&#xff1a; 此图片来源于网络 1. **参数优化**&#xff1a; …

硬件基础知识

CPU制作 cpu组成原理 CPU (Central Processing Unit - 中央处理单元): CPU 是计算机的核心&#xff0c;负责解释和执行程序指令以及处理数据。它由几个关键部分组成&#xff0c;如算术逻辑单元&#xff08;ALU&#xff09;、寄存器、和控制单元&#xff08;CU&#xff09;&…

游戏攻略|基于Springboot和vue的游戏分享平台系统设计与实现(源码+数据库+文档)

游戏攻略分享平台目录 基于Springboot的在线考试管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 2、后台 5.2.1管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; …

国际体育日,一起运动起来吧

今天是国际体育日&#xff0c;是时候动一动&#xff0c;燃烧我们的卡路里啦&#xff01;说到运动&#xff0c;我得提提最近刚入手华为WATCH GT4&#xff0c;真心不赖&#xff01; 这个手表特别适合喜欢运动的人&#xff0c;它有100的运动模式&#xff0c;无论你是喜欢跑步、…

数据结构初阶:顺序表和链表

线性表 线性表 ( linear list ) 是 n 个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串 ... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性…

Excel列匹配VLookUp功能使用

生活中很多关于excel多列数据进行匹配计算等场景,其中最常用的一个函数就是VLookUp了,下面直接上图: 得到结果如下: 得到结果如下: 注意: 1.在需要把计算完的数据粘贴到另一列或者另个sheet时,复制后,不要直接ctrlv粘贴,这样会把计算公式粘贴到对应的列.正确做法是:右键粘贴,选…

蓝桥杯每日一题:斐波那契(矩阵乘法)

在斐波那契数列中&#xff0c;Fib00,Fib11,FibnFibn−1Fibn−2(n>1) 给定整数 n&#xff0c;求 Fibnmod10000。 输入格式 输入包含不超过 100100 组测试用例。 每个测试用例占一行&#xff0c;包含一个整数 当输入用例 n−1时&#xff0c;表示输入终止&#xff0c;且该…

Python环境搭建—安装PyCharm开发工具

&#x1f947;作者简介&#xff1a;CSDN内容合伙人、新星计划第三季Python赛道Top1 &#x1f525;本文已收录于Python系列专栏&#xff1a; 零基础学Python &#x1f4ac;订阅专栏后可私信博主进入Python学习交流群&#xff0c;进群可领取Python视频教程以及Python相关电子书合…

JS详解-设计模式

工厂模式&#xff1a; 单例模式&#xff1a; // 1、定义一个类class SingleTon{// 2、添加私有静态属性static #instance// 3、添加静态方法static getInstance(){// 4、判断实例是否存在if(!this.#instance){// 5、实例不存在&#xff0c;创建实例this.#instance new Single…

rust项目组织结构和集成测试举例

概述 在学习rust的过程中&#xff0c;当项目结构略微复杂的时候&#xff0c;写集成测试的时候发现总是不能引用项目中的代码&#xff0c;导致编写测试用例失败。查阅了教程&#xff0c;一般举例都很简单。查阅了谷歌和百度以及ai&#xff0c;也没有找到满意的答案。这里记录一…

Spring Boot 接入 Redis

Spring Boot 接入 Redis 简介 Redis 是一种访问速度非常快的内存数据结构存储&#xff0c;用作数据库、缓存、消息代理和流引擎。提供 strings、hashes、lists、sets 等数据结构。可以解决会话缓存、消息队列、分布式锁、定期将数据集存储到硬盘等功能。 通过 Redis 设计实现…

win11 安全中心打开黑屏\白屏\打不开有效解决

文章目录 问题和解决思路解决方法 问题和解决思路 问题&#xff1a;在重装和或者初次安装系统后&#xff0c;win11安全中心无法成功启动解决思路&#xff1a;直接重装安全中心&#xff0c;解决问题&#xff08;作者尝试了修复和重置的功能–无效&#xff09;视频教程参考WIN11…

攻防世界:mfw[WriteUP]

根据题目提示考虑是git库泄露 这里在地址栏后加.git也可以验证是git库泄露 使用GitHack工具对git库进行恢复重建 在templates目录下存在flag.php文件&#xff0c;但里面并没有flag 有内容的只有主目录下的index.php index.php源码&#xff1a; <?phpif (isset($_GET[page…