基于javaweb学生作业管理系统设计与实现(论文+程序设计源码+数据库文件)
Posted weixin_40228600
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于javaweb学生作业管理系统设计与实现(论文+程序设计源码+数据库文件)相关的知识,希望对你有一定的参考价值。
1 绪论 3
1.1 项目开发背景 3
1.2 项目开发意义 4
1.3 项目主要的内容 4
2 相关技术介绍及系统环境开发条件 5
2.1相关技术介绍 5
2.2系统环境开发条件 6
3 系统的需求分析与设计 7
3.1可行性分析 7
3.2需求分析 7
3.2.1系统总体概述 8
3.2.2功能性需求 8
3.2.3非功能性需求 9
3.2.4流程图设计 9
3.2.5系统ER图设计 10
3.3 数据库设计 11
3.3.1数据库设计的原则 11
3.3.3数据库表的设计 11
4系统功能模块实现 12
4.1 页面功能实现 13
4.1.1登陆模块实现 13
4.1.2学员列表模块实现 14
4.1.3题库列表模块实现 15
4.1.4做题列表模块实现 16
4.2日志功能模块 16
4.3安装部署 17
5 系统测试 18
5.1系统调试的目的和意义 18
5.2功能测试用例 18
6总结 20
参考文献: 21
致 谢 22摘要:本论文是按照软件工程中软件设计的要求,采用自顶向下的结构分析方法统筹分析学生作业管理系统中的业务流程,描述系统开发的过程和关键技术的实现。本论文首先对项目的需求进行了概述,简略介绍项目开发的背景、项目开发的意义以及项目的主要特征,然后在规划系统阶段,根据软件工程中对软件设计的要求,经过跟学生和老师的了解,并且在网络上查找当今学生作业管理的现状。完成了本系统的需求分析,并且对现行业务流程进行了优化处理之后是系统分析完成了数据流的分析与数据字典的分析,在系统的设计阶段主要是实现学生上交作业、老师下发作业,管理员对系统维护的功能。
在实现功能的同时还要对系统界面的设计做了细致的规划本系统主要采用spring开发框架制。使用的技术有mysql数据库、mybatis驱动框架以及tomcat服务端部署,用到的集成开发工具主要是IDEA和jdk1.8。
关键词: 作业管理系统; springboot; 设计;mysql
Absrtact: according to the requirements of software design in software engineering, this paper adopts the top-down structure analysis method to analyze the business process of student homework management system, and describes the process of system development and the realization of key technologies. This paper first summarizes the requirements of the project, briefly introduces the background of project development, the significance of project development and the main characteristics of the project, and then in the planning system stage, according to the requirements of software design in software engineering, through understanding with students and teachers, and looking up the current situation of students’ homework management on the network. After completing the demand analysis of the system and optimizing the current business process, the system analysis completes the data flow analysis and data dictionary analysis. In the design phase of the system, it mainly realizes the functions of students handing in homework, teachers distributing homework and administrators maintaining the system.
At the same time, we also make a detailed planning for the design of the system interface. This system mainly uses the spring development framework. The technologies used include MySQL database, mybatis driver framework and Tomcat server deployment. The integrated development tools used are mainly idea and JDK1.8.
Key words: job management system; springboot; Design; mysql
1 绪论
1.1项目开发背景
现如今计算机技术飞速发展,计算机管理在很多行业中的所占的比重越来越重要。这也就是在信息管理系统中计算机被广泛使用的原因。伴随着不断成熟完善的科学技术,计算机科学技术已经被人们深刻认识到了它的强大的功能。并且在人类生活的各个领域都有了计算机的影子,计算机正在人们的生活中发挥着越来越重要的作用。在计算机应用中,学生作业使用计算机对其进行管理,相对于手工管理来说,有着其无法比拟的优势。学生作业管理系统主要是管理一系列学生作业的业务,本系统的设计与开发目的是为了更加系统化的管理学生作业,并且使其查询方式更加的方便。因此,学生作业管理系统必将成为实现学校现代化和信息化管理教学的重要手段。当今,国内外对于学生作业的管理方式主要有一下几种方式:1、是将作业存到优盘上上交,带来的弊端就是成本过大,容易出现优盘丢失的现象;2、利用 FTP 技术,老师在机房开辟一个共享目录,学生们将作业上传到该目录中,带来的弊端是学生们只有上传和下载没有修改的权限从安全层次方面可以保证每个人作业的完整性,但是容易出现学生由于操作失误,上传错误作业而无法删除的现象,并且在同一个文件夹中存在不能同命名的问题,加大了学生操作的难度;3、通过电子邮件的方式,发送到老师的邮箱带来的弊端是由于网络的原因,老师会收不到学生的作业;4、学生们上交纸质的作业,这是现如今最普遍的方式,带来最大的弊端就是浪费资源,尤其是对环境资源的浪费。以上几点都会带来一些相似的问题,例如老师批改作业时很容易搞不清楚作业是否被批阅新作业旧作业混在一块很难区分开来不容易统计学生作业的完成情况。学生可以很容易的查看到别人的作业,很容易发生抄袭现象。不利于学生们的学习。对于上交纸质作业的传统方式,步骤繁琐,效率低下,老师布置作业,学生写在作业本上,之后交给老师,等待老师批改完成之后在发还给学生。
针对上述提到的种种弊端,很多人也开始开发专门针对学生的作业管理系
统,但是由于一个人的技术有限,很难能够设计出学生老师都满意的系统。比如
说设计的系统操作过于繁琐,用户权限分配混乱等等。
1.2项目开发意义
学生作业管理系统开发的目的就是让传统手工教学方式转换为信息化管理
方式,使学校的教学模式发生新的变革,为学生乃至老师在教学方面提供方便的
条件。通过对学校的实际情况进行调查研究,不断完善的高校信息管理系统,必
将促使信息化管理在学校教学管理中所占的比重越来越重。本系统专门针对学校
教学工作的实际情况,开发学生老师真正想用的作业管理系统,使之能最大限度
的满足学生老师的需求。
学生作业管理系统开发的现实意义就是能够减轻老师的工作量,方便学生提
交作业,最大限度的节约资源,适应时代的潮流,无纸化办公是一种无法阻挡的
趋势。对于提交之后的作业。学生和老师能够很方便的浏览查看,计算机的使用
使录入方式变得更加的方便和快捷,最终实现了学生作业的无纸化。
1.3项目主要的内容
本文根据该软件的特性需求进行研究分析主要内容:首先介绍项目的开发的背景和研究的意义;二是介绍了对项目开发过程中所用到的相关技术的理论知识,及开发环境的介绍;三是对系统开发进行了必要的分析,为系统设计环节提供了相应的理论基础。四是实现系统开发的主要环节和前提条件,对项目系统的主要模块进行了详细的分析和设计,为后续的具体实现奠定基础。五是简要介绍了测试用例,让我们在顺利地完成程序的开发工作后,通过这些测试,快速有效地找出了系统存在的不足之处并及时对其进行改动和完善。
2 相关技术介绍及系统环境开发条件
2.1相关技术介绍
微信开发者工具是由腾讯官方专门为微信小程序量身打造的开发者工具,它不仅轻巧、方便,主要是的对于电脑要求不是很高,所以在一般的电脑上都可以完成相应的开发,在系统调试测试过程中,也不要下载第三方插件,就可以完成系统测试环节,通过制定好的debug调试器就可以完成。
该系统基于浏览器的方式进行访问,采用springboot集成快速开发框架,前端使用vue方式,基于es5的语法,开发工具IntelliJ IDEA 2020.1.1 x64,因为该开发工具,内嵌了Tomcat服务运行机制,可不用单独下载Tomcat server服务器。
Java作为面向对象的开发开言,它不仅吸收了很多语言的各种优点,而且它的整个生态在所有语言中开放性是最好的,在学习上,可以找到很多类似的功能代码,供以后参考学习,像目前asp.net开发语言在很大程度上都在模仿java的思维,如果学会java编程,在去掌握另一门语言,学起来就非常的快,因为它的简单性、面向结构性,减少了代码管理的复杂度,让编程过程更加的清晰、逻辑解耦性也更加分层化。
Maven作为了一款项目版本管理软件,可以更好管理jar包的使用,以前在没有出现Maven管理工具,需要在网上下载很多版本的jar包类,有时候版本间不兼容性,影响系统的使用发挥,有时会出现不同的bug出现,使用Mavern工程项目后,就可以很好的杜绝这一难度题。
MySQL是开源的关系型数据库,因为是开源所以没有版权的纠纷,现在很多公司都在利用mysql作为数据库的存储,不仅它的存储速率比较快,而且还可以在它的基础上进行二次开发,定制出更适合公司的数据库。
Vue的语法底层实现了双向数据绑定的原理,在重新更细或发布项目时候,不需要额外的重启项目,代码功能模块的实现,就可以在浏览器上反映出来,实现快速响应,不像有些可编译的语言,需要加载很多的插件,才能启动。
Spring封装了很多的java类库文件,在开发过程中,不需要写太多复杂的类文件,只需要引用spring这个框架,就可以完成快速开发的需要,所以Java编程的逻辑代码就变得比较清晰,各层之间的解耦性也比较强,可重用性也得到了很好的发挥,使得开发难度也更加轻松容易,它的主要两个特性就是依赖注入、面向接口思想;(AOP)切面思想;
IntelliJ IDE与eclipse对比,这两款都是java编程语言开发工具,与之不同之处,IDEA与第三方插件市场接入更多,开发效率与智能提示方面比eclipse更智能,在环境配置生成上IDEA也比较快,界面设计也比较干净简单。
HBuilder 是基于html、js、css的等H5语法的开发技术,使得开发者很容易上手学习,里面涉及的数据绑定基于Vue语法涉及,在开发效率上也比传统的jquery快,当然HBuilder 也保留了对jquery的支持,两种语法可以结合项目的需要,可以混合开发。该开发工具本身是由java编写完成,所以对原生项目的插件也有很好的兼容性。
2.2系统环境开发条件
该系统采用B/S架构,前端框架使用微信开发者工具开发,后台数据实现使用MYSQL
序号 软件环境 版本 备注
1 windows操作系统 10
2 数据库MYSQL 8.0
3 编程开发工具软件IDEA 2020.2
4 微信开发者工具 1.05
3 系统的需求分析与设计
作为软件前期开发过程中,需要对项目进行需求分析,首先要了解业务具体做什么,实现什么样的功能,在功能模块中细分每个功能模块的使用背景,只有这样在软件开发中,才不会重复出现因为架构设计的缺陷,导致在次设计底层数据结构的发生,此外,有些非功能的特细,比如数据库性能、安全性的考虑、网速的反映时间都是作为需求分析的约束条件,也是项目开发完成后,在运行时需要分析的目标。
3.1可行性分析
在系统开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。
3.1.1技术性:本项目设计的系统主要采用layui前端开发,后端使用java语言以及springboot集成开发性框架,采用mysql数据库,根据自身所学专业,结合网上查阅案列及图书馆资料,开发实现是没有太大问题的。
3.1.2经济性:开发一套成熟的软件,都需要经过一段漫长的过程,这里设计到软件的需求分析、制定计划,开发人员、测试环节、调试过程,都需要资金及人力的投入。而这套软件的开发,可以通过网上开源源码及相关资料的学习,在硬件及电脑使用上,都是自己所用,所以在开发成本上可以忽略不计。
3.1.3操作性:本系统设计到的功能主要有登陆模块、学员信息管理模块、题目管理模块,作业下发模块,这些功能模块的相关知识,都是平常所设计到的常用功能,在操作上都是可以实现的。
3.2需求分析
通过了解用户的需求,可以知道操作简单的系统更易受到用户青睐,同时能够准确、完整的对信息进行管理。作业管理平台在对需求做相应的分析后,得出结论,系统主要分为两个角色:管理员和学员用户以及教师。
管理员模块主要进行数据的更新管理,功能分为系统用户管理、用户注册管理、题库设置管理、作业下发管理;教师模块主要有题库设置管理、作业下发管理;学员角色只能有作业完成模块。
3.2.1系统总体概述
该项目管理系统主要基于B/S设计模式,系统设计的功能有:学员信息管理模块、登陆注册模块、题库管理模块、下发作业模块。其系统结构如图3-1所示:
3.2.2功能性需求
本系统是利用现代化的计算机网络技术将传统信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个学生作业管理系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:
( 1) 管理员登录模块
管理员有权进行超市系统的管理,但所有的注册以及权限的使用,都需经过超级管理员授权,管理员进入主页后可以对用户进行相关功能的授权,比如:题库管理、用户管理、作业管理。
( 2)用户管理模块
拥有一定管理权限管理员,可进行用户列表的查看,以及对应的用户增加、删除、修改、查询操作。
( 3) 题库管理模块
拥有一定管理权限管理员,可进行 题库列表的数据查看,以及 题库的商品增加、删除、修改、查询操作。
3.2.3非功能性需求
该系统不仅要满足功能性需求,还需要满足看不到的非功能性需求,比如系统的兼容性、用户界面整体性、网页访问的流畅性,主要归纳如下几点:类别 需求描述
兼容性 支持多浏览器访问。
界面性 网站整体美观、元素搭配协调。
安全性 访问控制不受到攻击,防止sql注入。3.2.4流程图设计
作业管理系统工作流程为。以下是总体的流程图设计如图3-2:登陆管理流程图:登陆管理功能是系统的管理入口,当然也是系统防护级别最高层,如果没有好的安全防控机制,系统就会很容易遭受攻击;对此在设计时,主要会考虑以下几个方面。如下:1、验证用户名和密码是否在数据库表中存在记录;2检验用户名和密码输入是否合法,尤其是sql注入,防止入侵系统,篡改权限;3在用户登陆系统时,会为每一个用户提供一个seesionID,过期时间为30分钟,如果用户长期不使用系统,超出30分钟后,系统会自动跳转到登录页。以下是部分流程图设计,如下:
3.2.5系统ER图设计
如图3-3系统ER图:
3.3 数据库设计
3.3.1数据库设计的原则
在建表时,表的主键要尽量的少,在表与表之间建立外键关系时,也要尽量的少,尽量减少数据库查询和CRUD操作的复杂度;系统恢复性操作,在设计数据库文件中考虑到表如果出现损坏,在短时间内可以快速的恢复,减少成本的支出。在数据库系统开发过程中,一般都需要满足以下几个特点:字段冗余少,就是在设计表字段时,尽量减少不必要多余的字段出现,在设置表的参数类型时,合理控制参数字段长度;保密性和安全性要强,不要把系统关键字设置在表中,防止sql注入攻击;表与表之间的管理性要合理化,尽量减少三张以上的管理表查询,减少sql查询带来的系统性能的下降。
3.3.3数据库表的设计
用户表(user_name):用户编号、用户名称、、用户密码、性别、用户类型、电话、邮箱、院系、专业、班级
表3-1用户表(user_name)
字段名 字段描述 类型/长度 约束 备注
user_id 用户编号 Bigint PK
username 用户名称 Varchar(20) NOT NULL
password 用户密码 Varchar(20) NOT NULL
sex 性别 Varchar(20)
type 用户类型 Tinyint
mobile 电话 Varchar(20)
email 邮箱 Varchar(20)
Yuanxi 院系 Varchar(20)
Zhuanye 专业 Varchar(20)
banji 班级 Varchar(20)
学生题目信息表(userSubject):用户ID、姓名、题库ID、题目内容、回答作答、完成状态
表3-2题目信息表(userSubject)
字段名 字段描述 类型/长度 约束 备注
id id Bigint PK
User_name 姓名 Varchar(20) NOT NULL
Subject_id 题库ID Int NOT NULL
Subject_contetn 题目内容 Varchar(20)
Replay_conten 回答作答 Text
Suceesss_state 完成状态 Text
Datetime 创建时间 Datetime
题库信息表(stu_quest):题库id、题库名、题库内容
表3-3题库信息表(order)
字段名 字段描述 类型/长度 约束 备注
id id Bigint PK
Quest_name 题库名 Varchar(20) NOT NULL
Quest_contetn 题目内容 Text NOT NULL
4系统功能模块实现
本次系统采用 java 和 mysql 相互结合的架构来进行开发微信系统程序的应用,系统中所有与微信小程序密切相关的事情和操作都时间上通过一个与数据库相关的类文件来进行实现,很大程度上增强了代码的耦合度,当得到数据库的类型等信息发生变化后直接进行修改与其相关的类别和文件就完全可以了,不再因为此而需要每一个页面都进行任何修改。除此之外,本系统还很好地解决了简体中文的困难,也就是在配置文件中添加了编码语言方式的多种形式来得到解决的,本系统另外一个重要的特征就是,该系统对于数据库的所有操作都单独地被写在一个分类里,这样只需要访问这个分类就能够对系统的所有数据库进行操作,不用对每个分类的页面去做一个写数据库的分类操作,很大程度的从而增强系统的整体集成度。
4.1 页面功能实现
4.1.1登陆模块实现
管理员输入账号和密码时,前端页面会根据账号和密码的合法性进行效验,查看有没特殊字符,后端会通过数据库检索有没匹配的账号和密码,如搜索到记录,则返回200,并生成相应的seesionID,然后进入操作主页面,如没有搜索到,则提示登陆失败。管理员登陆界面如图4-1所示:
算法实现:
关于用户登录逻辑的实现,系统首先设置了一个用于监听登录接口的拦截器,该拦截器主要用于实现验证码的验证功能。当用户打开登录界面,系统生成图形验证码并显示,同时创建session,将对应的字符串验证码存入session。当用户点击登录按钮后,前端会将其填写的登录信息和验证码信息一并发送至后端,后端的验证码拦截器会先拦截该请求,然后检测其中验证码字段(captcha)与session中的字符串验证码是否一致,若不一致,则发送错误报告至前端,若一致,则放行该请求,请求继续传递至后端登录逻辑层,进行账号密码的验证判断。
被放行的请求送至后端逻辑层,进行账号密码的验证,系统会在数据库中根据账号名搜索对应的密码和权限信息,接下来将库中的密码与用户输入的密码进行比较,根据可能出现的情况分为密码错误,密码正确,用户不存在,3种结果。其中密码正确的情况下,允许用户登录。同时后端将会使用JWT(Json web token)为该用户生成一个token,将用户的相关权限信息(Authorization)存放在该token中,最后将这个包含了权限信息的token存储在用户的cookie中,反送给前端。供后续用户访问其他功能模块时进行权限验证之用。4.1.2学员列表模块实现
该功能模块主要由用户名、姓名、班级、专业、院系、邮箱等相关内容组成。
主要代码如下:
4.1.3题库列表模块实现
该功能模块主要由题库、题库内容等相关内容组成。
以上是关于基于javaweb学生作业管理系统设计与实现(论文+程序设计源码+数据库文件)的主要内容,如果未能解决你的问题,请参考以下文章
javaweb大学生毕业设计基于SSM助农农产品销售系统设计与实现(论文+程序源码)
基于javaweb图书馆座位预约管理系统的设计与实现.rar(论文+项目源码)
javaweb学生宿舍管理系统设计与实现.rar(论文+项目源码)