一、系统需求
1.1 用户信息管理用户:系统管理员、教师、学生
登录:用户进行账号、密码等信息填写登陆后,教师、学生可以查看账号信息或进行课程、教学资源、作业管理等操作,系统管理员登录后可以行使增删账号的权限
忘记密码:教师、学生填写学/工号和姓名,重置密码为学/工号后六位,系统管理员只允许后台操作重置密码
修改密码:填写账号、当前密码、新密码
1.2 课程管理
规定每名教师可以教授多门课程,一门课程可以由多名老师授课,学生可以选修多门课程,每门课程可以被多名学生选择,课程名可以相同,但课程号唯一,对应特定的授课教师。
1.3 教学资源的管理课件管理:教师每门课程只能有一个课件,每个课件可以有多个章节,教师可以上传/下载授课课程对应的课件。学生可以搜索、下载、在线查看其选修课程的课件
作业管理:每门课程每个课时有相应的作业,教师可以发布作业要求、查看学生作业提交状态、下载学生的作业、对作业进行评分、给出批改意见并做统计分析。学生可以查看课程的作业要求,进行作业的提交,查看作业的批改情况
1.4 教学信息发布
老师可以发布其教授课程的学生成绩,或对学生的成绩进行修改。学生可以查询自己选修课程的成绩,并对教师进行教学评价。
二、系统架构
2.1 构架
该系统采用表示层、业务逻辑层、数据访问层三层构架。
在系统主页面,用户可以通过已有的账号密码进行登录,验证成功则进入个人信息页面;也可以进行忘记密码之后的重置操作,验证成功则完成重置并返回系统主页面再次登录
在个人信息页面,用户可以修改当前账号密码,验证成功则完成修改则返回系统主页面。在此之外,不同身份的用户可以有不同的操作。
管理员:查看现有帐号信息,对帐号进行增、删等操作
教师:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传课件,下载作业,提交作业批改意见、评分,发布新作业要求,更新系统公告等
学生:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传作业等
2.2 系统流程表示层效果采用HTML5、CSS等语言和前端框架jQuery,实现用户交互界面。交互界面包括用户登录界面,个人信息展示页面,课程、课件、作业查看页面等
业务逻辑层利用Servlet,JSP来处理来自前端的请求,获取数据库数据,并作出相应的处理,将处理数据提交到前端,显示给用户
数据访问层利用Hibernate架构操作数据库,通过应用程序经过Hiberante持久层来访问数据库。数据访问层的关键是确定表结构和表属性,便于业务逻辑层进行对数据库的查询,良好的数据库结构,对数据操作有很大的用处
2.3 系统结构
三、数据库设计与构架
3.1 E-R图
3.2 物理设计
admin(管理员账号信息表)
adm_id
password
varchar
varchar
teacher(教师账号信息表)
tea_id
name
password
varchar
varchar
varchar
student(学生信息表)
stu_id
name
password
varchar
varchar
varchar
course(课程信息表)
course_no
title
credit
tea_id
varchar
varchar
decimal(3,1)
varchar
stu_course(选课信息表)
course_no
stu_id
grade
tea_evaluation
varchar
varchar
decimal(3,1)
decimal(3,1)
courseware(课件信息表)
course_no
file_title
varchar
varchar
tea_homework(发布作业情况表)
course_no
homework_no
varchar
varchar
stu_homework(提交作业评分表)
course_no
homework_no
stu_id
status
grade
opinion
varchar
varchar
varchar
bit
decimal(3,1)
varchar
四、模块设计
4.1 用户模块
4.2 教学信息模块
4.3 作业管理模块
4.4 课件管理模块