在线考试系统思路总结.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线考试系统思路总结--第1页 在线考试系统思路总结 最近正在完成⼀个电⽹的在线考试系统,这个项⽬的整个业务部分和功能模块部分已经确定。 在这个项⽬中,主⼲部分主要难点是四个部分,分为:设计数据库、考试随机出题、提交试卷评分、页⾯上题下题提交试卷的JS。 下⾯就模拟⼀个⼩的考试系统,给⼤家演⽰: ⼀、数据库部分 在设计数据库时, 1、先设计题型的表,在这部分每个题型都是⼀张独⽴的表,主要是单选表、多选表、判断表、类型表。在表字段的设计上,都是类似的。 主要字段和⼀条虚拟数据如下 单选表: id | content | a | b | c | d | answer | 所属专业id radio01 | C语⾔重要不? | 重要 | 不重要 | 不了解 | 拒绝回答 | a | 1 多选表: id | content | a | b | c | d | e | answer | 所属专业id 类似 判断表: id | content | a | b | answer | 所属专业id 类似 专业类型表 id | content 1 | 配电 2、设计试卷参数表,⽤于设置不同专业出题的类型和数量,主要字段如下。 试卷参数表: id | 所属专业id | 单选题数量 | 多选题数量 | 判断题数量 | 答题时间 | 1 | 1 | 20 | 20 | 10 | 30 ⼆、考试随机出题部分 在项⽬中,业务要求每个考⽣登录考试,即使报考专业相同,得到的题⽬也是不同的,在这个模块,有两个思路。 1、在数据库试题表中存储⼀个⾃增的id作为主键,或者每次添加的时候获取最⼤的id数⽬,添加时原有id+1作为主键,不管怎么实现 最后在表中要形成不间断的数字,然后创建⼀个得到不重复数字的随机数⼯具类,获取的数字作为id进⾏获取试题。这种⽅法较第⼆ 种⽅法,效率较⾼,但当对某些进⾏删除后,处理相对⿇烦,因为不可以获取空的题。 2、第⼆种思路是在数据库试题表中存储的主键是具有⾃⼰填写规则的varchar类型的字符串,⽐如201701 ,在抽取试题时,将所有的单选、多选、判断分别存到三个集合中,然后使⽤随机数⼯具类,要求不同题型多少道就获取多少不重复的 随机数,然后分别在集合中获取试题。这种⽅式较笨重,但删除操作不会造成任何影响,适合题量较少、经常修改的考试系统、性能 较低。 在线考试系统思路总结--第1页 在线考试系统思路总结--第2页 /** * 随机指定范围内N个不重复的 * 在初始化的⽆重复待选数组中随机产⽣⼀个数放⼊结果中, * 将待选数组被随机到的数,⽤待选数组(len-1) 下标对应的数替换 * 然后从len-2⾥随机产⽣下⼀个随机数,如此类推 * @param max 指定范围最⼤值 * @param min 指定范围最⼩值 * @param n 随机数个 * @return int[] 随机数结果集 */ public class randomSet { public static int[] randomArray (int min, int max, int n){ int len = max-min+ 1; if(max min || n len){ return null; } //初始化给定范围的待选数组 int[] source = new int[len]; for ( int i = min; i min+len; i++){ source[i-min] = i;

您可能关注的文档

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档