学生作业管理系统(IDEA项目下载即用)
一、 课题内容和要求 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所示。