一、 课题内容和要求
1.1课题内容:
完成学生作业管理系统web应用的开发环境配置、网站页面、后端数据库的设计和实现。
1.2课题要求:
(1)系统有管理员、教师、学生三类用户。每类用户都需要进行账户的登录认证。
(2)管理员用户负责对教师、学生等后台数据库内容进行增删改查。
(3)教师用户可以查看、删除已经布置的作业,发布新作业、查看学生提交的作业情况。
(3)学生用户可以查看对应班级的老师布置的作业,并且提交作业答案。
1.3针对人群:
学生作业管理系统主要针对学生和教师群体。
二、需求分析
2.1针对角色的功能设计:
(1)针对管理员:管理员可以在管理员界面增删改查学生信息、教师信息、课程信息、班级信息、课程信息、班级与课程关联信息。
(2)针对教师:教师可以在教师界面上查看已经发布的作业信息,也可以发布新作业。还能查看学生提交的作业情况并直观的了解学生的提交是否推迟。
(3)针对学生:学生可以在学生界面上查看对应与课程的老师发布的作业情况,并可以提交作业答案。
2.2主要功能:
(1)关系信息的操作:管理员具有本系统的最高权限,可以对学生、教师、班级、课程等任何信息进行增删改查。
(2)发布作业:教师可以发布新的作业。并查看修改新发布的作业信息情况。
(3)提交作业答案:学生可以查看相应作业的情况。并提交作业答案。
(4)查看学生答案:教师可以查看作业的提交内容并了解学生是否迟交、未交。
三、设计方案
3.1系统后台MySQL数据库设计
(1)系统建立了Student、Teacher、Class、Course、Course_Class、Homework、HandleHomework七张表。
(2)其中Student表的属性为StudentID、StudentName、StudentPassword、StudentClass四个属性。
(3)Class表、Course表、Teacher表同Student类似。
Course_Class表的属性为KeyID、CourseId、ClassId三个属性。这当中的CourseId、ClassId为外键。
(4)Homework表的属性为HomeworkId、TeacherId、Title、Content、HomeworkCreateTime、HomeworkDeadLine几个属性。
(5 )HandleHomework同Homework类似。
整个数据库的关系结构如下ER图1所示:
图1、ER图概念模型
3.2系统网页的设计
采用JSP技术。设计了动态网页方便用户与服务器的交互。脚本使用JS技术,实现XML的post方式与Tomcat服务器的Servlet进行数据的传输。后端采用JAVA的JDBC驱动连接MySQL数据库访问修改数据。
四、功能实现
4.1登录功能
(1)使用JSP写了一个动态网页,该网页可以实现用户名、密码、身份选择的录入,并有检查用户名和密码是否为空的判断。
(2)点击登录按钮时将数据传送至JS脚本,JS脚本对数据进行处理生成URL访问连接。
(3)访问Servlet类将HttpRequest进行处理,同时调用JDBC访问数据库验证是否有账户以及账户密码是否一致
(4)当账户名密码一致时返回success同时跳转界面,失败返回fail。返回登录界面。流程图如图2所示:

图2、登录流程
4.2各种账户的增删改查
(1)管理员界面可以对学生、教师、班级、课程、班级与课程关系进行增删改查。当管理员登陆时使用JSP的JDBC技术访问MySQL数据库得到各种账户的信息详情。
(2)在信息详情的右边页面上有删除按钮,当点击删除时可以调用JS脚本实现删除功能。
(3)在管理员界面的下半部分可以增加各种账户。根据提示的信息进行输入,即可增加账户。流程图如图3所示:

图3、各种账户的增删改查
4.3教师发布作业功能
教师可以在教师界面查看已发布的作业,也可以发布新作业。教师在输入作业标题,内容,时限后可以点击发布。后台可以实现调用JS脚本将数据INSERT到Homework表中。
关键代码如下图4所示。


图4、教师发布作业关键代码
4.4学生查看作业功能
学生可以在学生界面查看对应老师布置的作业。通过SQL中嵌套查询语句实现学生查看对应的课程的老师布置的作业情况。关键SQL代码如下:
select * from homework where Homework.TeacherId in (select Course.CourseTeacherId from course where course.courseid in (select course_class.CourseId from course_class where course_class.ClassId IN (select student.StudentClass from student where studentId = ‘"+StudentId+"’)));
4.5学生提交作业答案功能
学生可以在学生界面提交老师布置作业的答案。实现同教师布置新作业思路一致。
4.6教师查看学生提交作业答案功能
教师可以在教师页面上查看学生提交的作业。通过SQL查询表HandleHomework中属性HomeworkID和自己发布作业ID一致的元组得到学生提交的作业信息。关键SQL代码如下:
select * from handlehomework where homeworkid in( select homework.homeworkid from homework where homework.teacherid = ‘"+TeacherId+"’);
4.7教师查看学生提交作业是否超时功能
教师在查看学生提交作业答案页面下方设计一个检查超时按钮,当点击按钮将作业布置时间,学生提交作业时间与时限的小时数一起传给JS脚本处理。Servlet接受数据使用传统的SimpleDateFormat类进行处理判断是否超时。关键代码如图5所示:

图5、SimpleDateFormat判断两个时间的小时差
4.8实现环境的搭建
使用集成开发环境IntelliJ IDEA、Jdk8.04、Tomcat7本地服务器、JDBC驱动。
参考文章:
添加链接描述
添加链接描述
添加链接描述
附上github项目链接:
添加链接描述

学生作业管理系统(IDEA项目下载即用)相关推荐

  1. 基于PHP的学生作业管理系统

    基于PHP的学生作业管理系统 一 项目介绍 作业管理系统用户分为学生,教师和管理员.根据不同账号登录权限不同. 技术栈 php+mysql+jquery.js+bootstrap+phpstudy+v ...

  2. Springboot学生作业管理系统毕业设计-附源码251208

    摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代. ...

  3. Springboot+学生作业管理系统 毕业设计-附源码251208

    Springboot学生作业管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚 ...

  4. nodejs+vue+elementui学生作业管理系统thinkphp

    本系统设计了3种角色:管理员,学生和教师.系统主要包括个人中心.学院管理.专业管理.班级管理.学生管理.教师管理.课程信息管理.作业布置管理.作业提交管理.作业批改管理等功能模块.为了更好的去理清本系 ...

  5. 高校学生作业管理系统计算机毕业设计源码75601

    目  录 摘要 1 绪论 1.1引言 1.2课题研究背景 1.3springboot框架介绍 1.3论文结构与章节安排 2高校学生作业管理系统系统分析 2.1 可行性分析 2.2 系统业务流程分析 2 ...

  6. Review学生作业管理系统

    让后台立即响应前端,前端不等待处理过程 描述:学生作业管理系统里面有一个邮件提醒的功能,如果不加以处理前端就会一直等待返回结果不会弹出发送成功的提示,直到邮件已经发送出去. 1.使用try{}fina ...

  7. 基于python+django+vue学生作业管理系统

    学生作业管理考试系统可实现学生作业在线提交,管理员管理用户,系统管理维护,共分为五大主要子系统:管理员模块,登陆,教师模块,学生模块,后台管理.通过运行本系统,学生和管理员通过同一界面登陆,登陆后可各 ...

  8. 基于安卓/Android/微信小程序的学生作业管理系统

    本系统的主要功能是老师和学生之间的作业发布.提交.批改能够通过网络的形式进行.用户信息可以通过管理员维护,老师可以登录作业管理系统,在线发布和批改作业.学生通过登录作业管理系统,进行查看.下载作业,然 ...

  9. 请假代码java web_基于jsp的学生请假管理系统-JavaEE实现学生请假管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的学生请假管理系统, 该项目可用各类java课程设计大作业中, 学生请假管理系统的系统架构分为前后台两部分, 最终实 ...

最新文章

  1. 暑假想打比赛,小白怎么从0入门?
  2. 自动白平衡之完美反射算法原理及C++实现
  3. 网易云的朋友给我这份339页的Android面经,持续更新中
  4. eclipse xml文件报错_Maven教程6: Maven与Eclipse整合
  5. 第九届蓝桥杯-嵌入式比赛体会与备赛经验
  6. Spring使用经验之Listener综述
  7. 华为怎么授权位置服务器,华为手机设置位置服务器
  8. spoonwep下载地址
  9. win10退出微软账号
  10. Ubiquitous Religions 宗教信仰
  11. 电视台的收视率是怎么计算的
  12. Alpha 冲刺(3/10)
  13. Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs
  14. 力争群雄:2012年度IT博客大赛100强脱颖而出
  15. WOS(Web of Science)检索规则
  16. 初识Java-概述与环境搭建
  17. 爱普生Epson Expression Home XP-200 驱动
  18. [Vue源码解析] patching算法
  19. 第十讲 老子智慧与人际交往的识人
  20. 什么是SDWAN:起源背景

热门文章

  1. 黑马程序员18——OC之Fundation(NSSet)
  2. hibernate电子书免费下载
  3. freemarker模板引擎的使用教程
  4. xadmin2.0 下载和安装
  5. 谷得网诈骗 看了之后真的很震惊啊
  6. 软件测试nextdata函数决策表,Next Date 函数的决策表测试用例的设计
  7. AI产品经理从业指南
  8. 元宇宙成数字经济发展“排头兵”,中国移动咪咕“头雁先飞”
  9. CAD2018软件安装
  10. 口腔ct重建服务器原理,基于口腔CT重建数据的牙齿分割与可视化研究