Java项目实战之在线考试系统的实现(系统介绍)
1.本系统和现在有的考试系统有以下几种优势:
a.和现在有的系统比较起来,本系统有科目、章节、老师、学生、班级等信息的管理,还有批阅试卷查看已批阅试卷等。传统的考试系统划分并不细,业务功能简单。b.和学校的考试系统还有外面的考试系统比较起来,本系统是B/S结构,学校的考试系统一般为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑具有浏览器,在同一局域网就可以进行考试。c.从架构方面来讲,我们的系统为分布式架构,传统的考试系统没有我们的架构合理。
2.在线考试系统技术架构
主要技术
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、HTML、CSS、JS
Mysql
bootstrap
开发工具和环境
Eclipse
Maven
Tomcat7
JDK1.8
Mysql5.6
Win10操作系统
传统架构
传统考试系统采用该架构
3.系统功能介绍
4.本系统数据库表关系
/*为了方便查询,所以不满足范式要求,但是查询效率很高*/ /*因为表特别多,因此表之间的结构关系就不在详细说明了*/ --管理员 CREATETABLE`admin`( `id`varchar(20)NOTNULLCOMMENT'管理员账号id', `NAME`varchar(20)NOTNULLCOMMENT'姓名', `sex`varchar(2)NOTNULLCOMMENT'性别', `age`int(11)DEFAULTNULLCOMMENT'年龄', `idcard`varchar(20)NOTNULLCOMMENT'身份证号', `phone`varchar(20)NOTNULLCOMMENT'手机号', `QQ`varchar(20)DEFAULTNULLCOMMENT'QQ', `emai`varchar(20)DEFAULTNULLCOMMENT'邮箱', `PASSWORD`varchar(20)DEFAULTNULLCOMMENT'密码', PRIMARYKEY(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --老师 CREATETABLE`teacher`( `id`varchar(20)NOTNULL, `NAME`varchar(20)NOTNULL, `sex`varchar(2)NOTNULL, `age`int(11)DEFAULTNULL, `idcard`varchar(20)NOTNULL, `phone`varchar(20)NOTNULL, `QQ`varchar(20)DEFAULTNULL, `email`varchar(20)DEFAULTNULL, `PASSWORD`varchar(20)DEFAULTNULL, PRIMARYKEY(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --学生 CREATETABLE`student`( `id`varchar(20)NOTNULL, `classesId`int(11)DEFAULTNULL, `name`varchar(20)NOTNULL, `sex`varchar(2)NOTNULL, `age`int(11)DEFAULTNULL, `idcard`varchar(20)NOTNULL, `phone`varchar(20)NOTNULL, `QQ`varchar(20)DEFAULTNULL, `email`varchar(20)DEFAULTNULL, `password`varchar(20)DEFAULTNULL, `classesName`varchar(20)DEFAULTNULL, PRIMARYKEY(`id`), KEY`FK_studentClasses`(`classesId`), CONSTRAINT`FK_studentClasses`FOREIGNKEY(`classesId`)REFERENCES`classes`(`classesId`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --科目 CREATETABLE`subject`( `id`int(11)NOTNULLAUTO_INCREMENT, `NAME`varchar(20)NOTNULL, PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=29DEFAULTCHARSET=utf8 --章节 CREATETABLE`chapter`( `id`int(11)NOTNULLAUTO_INCREMENT, `sub_id`int(11)NOTNULL, `NAME`varchar(255)DEFAULTNULL, `title`varchar(255)DEFAULTNULL, PRIMARYKEY(`id`), KEY`FK_subjectChaper`(`sub_id`), CONSTRAINT`FK_subjectChaper`FOREIGNKEY(`sub_id`)REFERENCES`subject`(`id`) )ENGINE=InnoDBAUTO_INCREMENT=189DEFAULTCHARSET=utf8 --班级 CREATETABLE`classes`( `classesId`int(11)NOTNULLAUTO_INCREMENT, `classesName`varchar(20)NOTNULL, `grade`varchar(20)NOTNULL, PRIMARYKEY(`classesId`) )ENGINE=InnoDBAUTO_INCREMENT=6DEFAULTCHARSET=utf8 --科目班级映射表 CREATETABLE`subjectclasses`( `classesId`int(11)NOTNULL, `id`int(11)NOTNULL, PRIMARYKEY(`classesId`,`id`), KEY`FK_subjectClasses2`(`id`), CONSTRAINT`FK_subjectClasses`FOREIGNKEY(`classesId`)REFERENCES`classes`(`classesId`), CONSTRAINT`FK_subjectClasses2`FOREIGNKEY(`id`)REFERENCES`subject`(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --老师班级表 CREATETABLE`teacher_classes`( `id`varchar(20)NOTNULL, `classesId`int(11)NOTNULL, `subId`int(11)NOTNULL, PRIMARYKEY(`id`,`classesId`,`subId`), KEY`FK_teacher_classes2`(`classesId`), KEY`FK_teacher_classes3`(`subId`), CONSTRAINT`FK_teacher_classes`FOREIGNKEY(`id`)REFERENCES`teacher`(`id`), CONSTRAINT`FK_teacher_classes2`FOREIGNKEY(`classesId`)REFERENCES`classes`(`classesId`), CONSTRAINT`FK_teacher_classes3`FOREIGNKEY(`subId`)REFERENCES`subject`(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --老师科目表 CREATETABLE`teacher_subject`( `id`varchar(20)NOTNULL, `sub_id`int(11)NOTNULL, PRIMARYKEY(`id`,`sub_id`), KEY`FK_teacher_subject2`(`sub_id`), CONSTRAINT`FK_teacher_subject`FOREIGNKEY(`id`)REFERENCES`teacher`(`id`), CONSTRAINT`FK_teacher_subject2`FOREIGNKEY(`sub_id`)REFERENCES`subject`(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --发布考试表 CREATETABLE`publishexam`( `id`int(11)NOTNULLAUTO_INCREMENT, `admin_id`varchar(20)NOTNULL, `publishTime`datetimeNOTNULL, `subject_id`int(11)NOTNULL, `examTime`datetimeNOTNULL, `description`text, `exam`text, `examType`varchar(20)DEFAULTNULL, `STATUS`int(11)DEFAULTNULL, `admin_name`varchar(20)NOTNULL, `subject_name`varchar(20)NOTNULL, `examlength`int(11)NOTNULL, PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=14DEFAULTCHARSET=utf8 --学生考试记录表 CREATETABLE`examhis`( `studentId`varchar(20)NOTNULL, `studentName`varchar(20)DEFAULTNULL, `subjectId`int(11)NOTNULL, `subjectName`varchar(20)DEFAULTNULL, `classesId`int(11)DEFAULTNULL, `classesName`varchar(20)DEFAULTNULL, `examTime`datetimeNOTNULL, `score`int(11)DEFAULTNULL, `examTest`text, `status`int(11)NOTNULLDEFAULT'0', `publishExamId`int(11)NOTNULL, PRIMARYKEY(`studentId`,`subjectId`,`examTime`), CONSTRAINT`FK_stu_his`FOREIGNKEY(`studentId`)REFERENCES`student`(`id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8 --试题模块表(选择题,填空题等) CREATETABLE`textmodel`( `id`int(11)NOTNULLAUTO_INCREMENT, `textType`varchar(20)NOTNULL, PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=utf8 --试题表 CREATETABLE`text`( `id`int(11)NOTNULLAUTO_INCREMENT, `Tex_id`int(11)NOTNULL, `title`varchar(200)NOTNULL, `answer`varchar(200)NOTNULL, `diffculty`int(11)NOTNULL, `modelName`varchar(200)DEFAULTNULL, `subjectName`varchar(200)DEFAULTNULL, `subjectId`int(11)NOTNULL, `chapterId`int(11)DEFAULTNULL, `chapterName`varchar(200)NOTNULL, `type1`varchar(200)DEFAULTNULL, `type2`varchar(200)DEFAULTNULL, `type3`varchar(200)DEFAULTNULL, `type4`varchar(200)DEFAULTNULL, PRIMARYKEY(`id`), KEY`FK_text_type`(`Tex_id`), CONSTRAINT`FK_text_type`FOREIGNKEY(`Tex_id`)REFERENCES`textmodel`(`id`) )ENGINE=InnoDBAUTO_INCREMENT=306DEFAULTCHARSET=utf8
5.MAVEN系统依赖和工程结构
总结
以上所述是小编给大家介绍的Java项目实战之在线考试系统的实现(系统介绍),希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。