1. 系统简介
本系统实现用户根据不同的难度需求提供不同难度的试卷进行作答练习和最终的考试训练
2. 功能需求
功能分析:
1、 用户注册、账号密码登录功能
运用Hibernate实现数据库链接,通过登录界面进行注册,将数据插入数据库表格,使用账号密码正确即可登录进入下一步操作,若账号或密码错误则会在界面显示错误提示
2、 选择练习模式或者考试模式
通过界面选择模式,分别检索对应的数据库表格
3、 练习模式选择试卷类型和难度功能
通过试卷类型检索对应的试卷类型数据库表格,通过难度选择对应难度数据库表格
4、 试题难度分类
试题难度主要通过用户对试题的难度设定,通过文本输入试题难度,正则控制文本输入内容已达到数据库获取正确的试题难度并且保存的目的,利用试题难度分类实现试卷自动生成过程用户选择难度比例选择和试题录入过程的试题难度分类。难度值在0至1之间,P>0.8试题太易,P<0.8试题太难,根据P值选择各个难度试题占比的不同,自动生成试卷算出平均难度。P=K/N(K为答对该题的人数,N为参加测试的总人数)
5、 试卷自动生成
随机法:结合本系统的设定即根据用户设定的各项条件,在满足各项条件指标的情况下随机地从数据库中调取满足需求的题目,随机获取一条后,通过这条信息的主键确定确定一条数据库数据并且读取出来,记录到出题的题目集合中去,每随机戴一道题目对象,就会与已经调用的题目集合进行循环比较,若该值相同的话就不予采用并退出继续调用下一个,若不相同的话即给予调用,直到题目数量达到要求为止
6、 试卷答案自动生成
系统中的每一道题都有且只有唯一的一个ID作为主键,通过读取生成试卷的试题ID从数据库中提取出对应的答案生成
7、 自动改卷功能
系统在用户点击提交试卷后会根据用户的作答情况给出相应的分数,在给出之前,系统会对用户在文本中的答案与标准答案进行对比,主要原理是采用了通过提取用户作题文本中的数据与数据库答案数据进行对比的方式进行等值判断,若相等,则得分追加,若不相等,则得分不追加。对于填空题的判断,会在数据库答案数据中添加多个答案或正确答案的关键词,若用户答案中存在与之相符的关键词,则基本可以判断为正确,得分追加
8、 成绩分析功能
通过计算对题数量Q/题数T得出总体正确率,通过计算对应难度试题正确对题Q/对应难度题数T分别得出不同难度试题的正确率
9、 题库维护和增删、查阅功能,增删即包括试题录入,答案录入
系统中的每一道题都有且只有唯一的一个ID作为主键,本系统采用删除数据库ID字段的方式直接对数据进行添加与删除
使用界面输入关键字的字段,通过Javascript对其进行代码的读取,提取关键字,对比input框中输入的数据从而得出符合条件的试题
具体步骤:
1、 数据库的设计
在程序制作初始,将数据库所需要用到的表一一罗列出来有利于帮助整个程序的设计思路和需求分析。本系统主要用到的数据表有用户表、选择题表,判断题表,填空题表等。用户表主要用于不同用户登录进行自定义题库操作时候对于每个用户的区分和数据保存;选择、判断、填空表主要用于用户对试题的修改和提取以及试卷自动生成功能的使用。主要通过Javascript来进行算法的关联
2、 试卷自动生成系统的设计
系统的主要两大块分别为“试题处理”和“在线考试”,用户通过登录系统进入主界面选择查看试题或在线考试。查看题库是一个非常庞大的功能构造,进入查看题库的界面之后,用户可以根据需要查看的试题类型选择选择题、填空题以及简答题,并结合数据库对齐进行增加试题、删除试题、查找试题、编辑试题等功能。若用户选择增加试题功能,那么用户将进入到新增试题的界面,对其题目、类型、难度以及分数等等数据进行填写,最终保存数据到数据库,新增试题成功。在线答题作为两大功能模块之一,同样的拥有强大的功能体系。用户选择在线答题选项之后,将会跳转到考试试题需求选择的界面,用户会对选择题、填空题、简答题中需要用到的试题类型的数量、单题分数、难度系数进行设定,系统会自动根据单题分数统计出总分数,帮助使用者合理地判断和安排自己的总分数。
3、 界面设计
本系统主要由8个主要的界面组成,分别是用户登录界面、系统主界面、查看题库界面、在线答题界面、编辑题库界面、新增试题界面、选择试题要求界面以及开始作答界面
4、 系统算法设计
随机法:随机法顾名思义就是随机的选取,结合本系统的设定即根据用户设定的各项条件,在满足各项条件指标的情况下随机地从数据库中调取满足需求的题目。简单地说就好比在关联确认了用户生成哪种类型的题目之后,根据这种题目的难度系数,结合特定的随机计算方法生成一个在该难度系数试题中随机获取一条,然后通过这条信息的主键确定一条数据库数据并且读取出来,记录到出题的题目集合当中去。每随机到一道题目对象,就会与已经调用的题目集合进行循环比较,若该值相等的话就不予采用并退出继续调用下一个,若不相等的话即以调用的试题中还未出现过该题,给予调用。
试题难度算法:主要通过用户对试题的难度设定,通过文本输入试题难度,正则控制文本输入内容已达到数据库获取正确的试题难度并且保存的目的,利用试题难度分类实现试卷自动生成过程用户选择难度比例选择和试题录入过程的试题难度分类。难度值在0至1之间,P>0.8试题太易,P<0.8试题太难,根据P值选择各个难度试题占比的不同,自动生成试卷算出平均难度。P=K/N(K为答对该题的人数,N为参加测试的总人数)
试题分数算法:系统在用户点击提交试卷后会根据用户的作答情况给出相应的分数,在给出之前,系统会对用户在文本中的答案与标准答案进行对比,主要原理是采用了通过提取用户作题文本中的数据与数据库答案数据进行对比的方式进行等值判断,若相等,则得分追加,若不相等,则得分不追加。对于填空题的判断,会在数据库答案数据中添加多个答案或正确答案的关键词,若用户答案中存在与之相符的关键词,则基本可以判断为正确,得分追加
成绩分析算法:通过计算对题数量Q/题数T得出总体正确率,通过计算对应难度试题正确对题Q/对应难度题数T分别得出不同难度试题的正确率
3. 设计分析
N
Y
Y
N
Y
N
用户通过登陆界面进行注册后正确输入账号密码登陆成功进入功能选择界面,如果账号或密码输入错误则登陆失败,选择练习模式或考试模式或试题查询功能 ,选择试卷类型和难度进入考试,考试结束试卷提交后系统自动结算出考试分数和成绩分析,选择是否继续,若继续则返回功能界面,若不继续则程序结束,选择试题查询功能进入试题查询,进行试题查询,增删,结束可选择返回功能选择界面或程序结束
4. 相关技术介绍
1、 sql数据库的应用
2、 数据库链接
3、 Java核心编程技术