随着信息技术的发展和网络教学的广泛应用,越来越多的教师选择让学生提交电子作业。提交电子作业的方式不仅方便简捷,还高效率,节省时间。但现在的许多大学,学生提交电子作业的形式,大都是通过发送邮件进行的,作业管理比较混乱,教师下载邮件中的作业也比较繁琐,工作量比较大。因此,开发一个省力,高效,方便地学生作业管理系统来解决作业管理混乱的局面就显得必要了。同时,学生作业管理系统可以让学生提交作业和老师批阅作业更加灵活,系统的规模可能不是很庞大,但功能完善后可以代替人工进行许多繁杂的劳动,节省资源,减轻教师的工作量和学生的学习任务,提高教师的工作效率和学生的学习效率。  现如今,国内外对作业管理的管理方式通常有两种:一种是通过U盘或邮箱,微信等方式完成作业,另一种则是存储在教师计算机上的共享目录中。然而,这两种方法都有各自的缺点:前者方法不便于携带以及易破损等;后一种方法虽然解决了上述问题。但是有一个更致命的缺点:学生可以随意检查、修改和删除其他学生的作业,造成很多事情,比如抄写作业,恶意删除或修改其他学生的作业。当老师帮助学生修改作业时,很难发现作业是否改正以及混淆新作业与旧作业。虽然有些可以用严格的纪律来实现管理,但仍然会给学生和老师带来很多麻烦。本作业管理系统可以有效地解决这一系列问题,使教师能够高效、科学地管理作业。  系统主要功能模块的具体描述: (1)管理员部分的主要功能:管理员登陆功能,根据权限进入管理员相应的页面的功能;管理员管理学生、教师、作业、课程,具有添加、删除、修改、查看的功能;管理员查看,管理公告的功能;管理员修改个人资料的功能。 (2)教师部分的主要功能:教师登录功能,根据权限进入教师页面;教师具有发布、管理公告、在线作业布置、批改作业功能、个人信息修改、查看学生名单、网上交流等功能。 (3)学生部分的主要功能:学生登录功能,根据权限进入学生相应的页面的功能;学生具有查看公告、下载教师布置的作业,提交作业的功能。查看老师对作业的批改和打分、个人信息修改、网上交流功能,学生必须在每个作业的有效期内提交,过期无法提交作业。
  环境需要 1.运行环境:微信开发者工具,最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。 2.IDE环境:IDEA,Eclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本或以上版本; 6.是否Maven项目:是; 技术栈 后端:Spring+SpringMVC+Mybatis+Springboot 小程序端:uni-app+微信开发者工具混合开发模式
 随着时代发展,传统的作业模式已经被组件的替代。当下很多学校都是通过微信等方式来进行作业布置,这样一方面可以让家长知道作业内容对学生进行监督和辅导作用,另一方面也减轻了教师的工作量。本学生作业管理系统是一个专门为学生和教师服务的,教师可以直接在本系统内发布作业,学生在看到作业之后进行完成,之后通过上传的方式交给老师进行审阅。为了能够使教师科学规范地管理学生作业并且及时地给学生反馈,提高学校的管理水平,一个实用的作业管理系统用来规范的管理作业就显得格外的重要。这样既可以简化教师的工作,也便于教师科学地管理作业,同时学生可以及时得到反馈。使学校的管理水平提高,实现资源效益的做大化。    

@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
userService.updateById(user);
return R.ok();
}
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 使用工具简介 4 2.2 环境配置 4 2.3 B/S结构简介 4 2.4 MySQL数据库 5 2.5 框架介绍 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.1.2技术可行性 6 3.1.3运行可行性 6 3.2系统现状分析 6 3.3功能需求分析 7 3.4系统设计规则与运行环境 8 3.5系统流程分析 8 3.5.1操作流程 8 3.5.2添加信息流程 9 3.5.3删除信息流程 10 4 系统设计 11 4.1系统设计主要功能 11 4.2数据库设计 11 4.2.1数据库设计规范 11 4.2.2 E/R图 11 4.2.3数据表 12 5 系统实现 25 5.1系统功能模块 25 5.2后台模块 27 5.2.1管理员功能模块 27 5.2.2用户功能模块 30 6 系统测试 33 6.1功能测试 33 6.2可用性测试 33 6.3性能测试 34 6.4测试结果分析 34 7结 论 35 参考文献 36 致 谢 37
|