欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程在线考试系统.docx

    • 资源ID:9825882       资源大小:716.72KB        全文页数:28页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程在线考试系统.docx

    1、课程在线考试系统1主要数据库表的介绍根据系统需要和考试需要,设立了如下数据库表:试题类型表(questionType_table):其中包括了试题的类型的基本信息,如类型名称、答题方式、说明信息等字段;录入时,我们将答题方式确定为大概几种类型:填空方式,选择方式,问答方式,判断方式,综合方式。只实现了选择方式和判断方式。预留了其他之种方式的接口,备以后扩展之用。(预留)所属科目表(subject_table):用于录入试题相关的科目应用,它可以有不同的应用范围。如上所述,我们只需录入一次的科目,就可方便我们在录入试题时每次都录。(预留)题库表(question_table):我们采用几种类型的

    2、题存储在一个表中,包含题目、题目类型、难度系数、使用次数、试题的选项、试题的答案。试卷表(test_table):用于报存考试中试卷的基本信息,如出卷方式(有随机出卷、人工出卷)、试卷名称、试卷所属科目(与试题科目相对应)、试卷的状态、试题标题内容、试题个数、试题总ID、总分等基本信息。学生表(student_table):用于保存学生的考试的用户名及登陆密码。成绩表(scores_table):用于存储学生的考试成绩。管理员表(teacher_table):用于保存老师的登陆的基本信息。信息表(info_table):用于保存除了试卷以外的信息,主要是为了学生与教师更好的沟通。有信息类型(有

    3、公告、新闻、留言)、信息名称、信息内容等基本字段。3.3.2数据库ER图数据库设计的部分逻辑实体关系图表示如下:(这里表示的只是部分表的逻辑实体关系。) 3.3.3数据词典定义(数据词典):、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。、NN 表示not null 不填表可为空。、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。、长度

    4、定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。、输入方式表示数据的来源:生成表由程序或5Q设计网数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。3.3.4主要表结构如下: student:学生信息表(保存学生信息)字段名称类型可否为空长度缺省值主键外键外键参考表说明IDint否4是记录主键stuNovarchar否30是学号 stuNamevarchar否100姓名passwordvarchar否50密码phonevarchar50联系电

    5、话emailvarchar50email teacher:教师表(保存老师信息)字段名称类型可否为空长度缺省值主键外键外键参考表说明IDint否4是记录主键teacherNovarchar否50是教师编号teacherNamevarchar否100姓名passwordvarchar密码 subject:科目表(保存各年级的科目信息) 字段名称类型可否为空长度缺省值主键外键外键参考表说明IDint否4是记录主键subjectNovarchar否20是科目编号subjectNamevarchar否100科目名称 question:试题表(保存试题)字段名称类型可否为空长度缺省值主键外键外键参考表说

    6、明IDINTEGER否4是记录主键questNovarchar否20是试题编号 questTextTEXT否100试题的题干optionAvarcahr是50选项AoptionBvarchar是50选项BoptionCvarchar是50选项CoptionDvarchar是50选项DMarkFLOAT否试题分数AnswerTEXT否答案questTypeTINYINT4试题类型knowpointvarchar20知识点difficultyCHAR1难度系数usedCountINTEGER11使用次数试题类型:1单选,2判断,3多选,4填空,5主观题 test:试卷表(保存试卷信息) 字段名称类

    7、型可否为空长度缺省值主键外键外键参考表说明IDINTEGER否11是记录主键testNovarchar否试卷编号 titleVARCHAR否100试卷名称subjectNoMEDIUMINT否是Subject表的ID字段科目标识dateDATE考试日期statusTINYINT否试卷状态paperTEXT否试题编号数组testNumSMALLINT试卷包含的题数markFLOAT总分状态:1:未发布; 2:已发布;3:结束试题编号数组:试题编号的数组,由#分开ID errorpad:错题本表(保存试卷信息) 字段名称类型可否为空长度缺省值主键外键外键参考表说明IDINTEGER否11是记录主键

    8、 stuNoVARCHAR否50是student.id学生IDquestNoINTEGER否11是Question.ID试题标识errorcountSMALLINT11错误次数testNoINTEGER是Test.ID来源试卷ID scores:成绩表(保存试卷信息)字段名称类型可否为空长度缺省值主键外键外键参考表说明IDINTEGER否11是记录主键 stuNoVARCHAR否50是student.stuNo学生IDscoreFLOAT否分数testNoINTEGER是test.id试卷IDtest_dateDATE考试日期3.4系统模块部分设计试卷管理模块详细设计前台首页面:后台首页面:前

    9、台试卷查询页面:用户可以选择条件查询或者查询所有试卷,关键代码如下:/* * findtestByDate按日期查询试卷 */ public ActionForward findtestByDate(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws ParseException DynaActionForm testForm = (DynaActionForm) form; String date = testForm.get(date)

    10、.toString(); /获取首日期 String date2 = testForm.get(date2).toString(); /获取后日期 SimpleDateFormat format = new SimpleDateFormat(yyyy-MM-dd); /格式化日期 Date dateA = new Date(format.parse(date).getTime(); Date dateB = new Date(format.parse(date2).getTime(); List list = iBiz.findByDate(dateA, dateB); /查询日期 reque

    11、st.setAttribute(pageList, list); /将查询的结果放入request中 return mapping.findForward(findTest); /转发 /* * 查询所有试卷 * param mapping * param form * param request * param response * return ActionForward * throws ParseException */ public ActionForward findAll(ActionMapping mapping, ActionForm form,HttpServletRequ

    12、est request, HttpServletResponse response) throws ParseException List list = iBiz.findAll(); /查询日期 request.setAttribute(pageList, list); /将查询的结果放入request中 return mapping.findForward(findTest); /转发 查询结果如下:用户可以点击“预览”可以预览试卷/* * 查看试卷 */ public ActionForward view(ActionMapping mapping, ActionForm form,Ht

    13、tpServletRequest request, HttpServletResponse response) throws ParseException DynaActionForm testForm = (DynaActionForm) form; int id = Integer.parseInt(testForm.get(id).toString(); /获得id Test test = iBiz.findById(id); /按主键查询 String str = test.getPaper(); String s = str.split(#); /对字符进行处理将其转换成试题ID i

    14、nt queNo = new ints.length; /试题ID数组 for(int i=0;i s.length;i+) if(si.indexOf()=0) si = si.substring(1); queNoi = Integer.parseInt(si);/将String的试题数组转换成int Question que = new Question(); IQuestionDAO dao = new QuestionDAO(); IQuestionBiz qBiz = new QuestionBiz(dao); List chooseList = new ArrayList();

    15、List checkList = new ArrayList(); for(int i=0;i queNo.length; i+) que = qBiz.findById(queNoi); if(que.getQuestType()=1) chooseList.add(que); /根据试题编号将选择题放入list中 else checkList.add(que); /根据试题编号将判断题放入list中 request.setAttribute(test, test); /将试卷的信息放入request中request.setAttribute(chooseList,chooseList);/

    16、将选择题放入request中request.setAttribute(checkList, checkList); /将判断题放入request中return mapping.findForward(testShow); /转发 预览结果如下:用户可以点击“试题”可以查看当前试卷所包含的试题:关键代码如下:/* * 查询试题 */ public ActionForward findQueInfo(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) thr

    17、ows ParseException DynaActionForm testForm = (DynaActionForm) form; int id = Integer.parseInt(testForm.get(id).toString(); /获得id Test test = iBiz.findById(id); /按主键查询 String str = test.getPaper(); String s = str.split(#); /对字符进行处理将其转换成试题ID int queNo = new ints.length; /试题ID数组 for(int i=0;i s.length;

    18、i+) if(si.indexOf()=0) si = si.substring(1); queNoi = Integer.parseInt(si); /将String的试题数组转换成int Question que = new Question(); IQuestionDAO dao = new QuestionDAO(); IQuestionBiz qBiz = new QuestionBiz(dao); List list = new ArrayList(); for(int i=0;i queNo.length; i+) que = qBiz.findById(queNoi); lis

    19、t.add(que); /根据试题编号查询试题,放入list中 request.setAttribute(test, test); /将试卷的信息放入request中 request.setAttribute(pageList, list); /将试题list放入request中 return mapping.findForward(queShow); /转发删除试题信息:关键代码如下:/* * 删除试题 */ public ActionForward deleteQue(ActionMapping mapping, ActionForm form,HttpServletRequest req

    20、uest, HttpServletResponse response) throws ParseException DynaActionForm testForm = (DynaActionForm) form; int id = Integer.parseInt(testForm.get(id).toString(); /获得试卷id int qid = Integer.parseInt(testForm.get(qid).toString(); /获得试题id Test test = new Test(); test = iBiz.findById(id); String str = te

    21、st.getPaper(); String s = str.split(#); /对字符进行处理将其转换成试题ID int queNo = new ints.length; /试题ID数组 for(int i=0;i = chooseNum) /循环遍历,当大于选择题的个数时,则跳出 i=0;break; paperchooseNum = ; /添加选择题与判断题的分隔符 it = checkList.iterator();/迭代添加判断题 i = chooseNum+1; while(it.hasNext() que = (Question)it.next(); paperi = que.g

    22、etId().toString()+#; i+; if(i = checkNum + chooseNum + 1) /循环遍历,当大于判断题的个数时,则跳出 i = chooseNum+1; break; String paperStr = ; for(int j = 0; j paper.length;j+) paperStr +=paperj; Test test = new Test(); /实例化一个试卷对象,并填充数据 test.setTestNo(testNo); test.setTestNum(chooseNum + checkNum); /试卷的总题数 test.setDate(date); test.setTitle(title); test.setStatus(未使用); test.setMark(chooseNum*2.0f + checkNum*1.0f); test.setPaper(paperStr); iB


    注意事项

    本文(课程在线考试系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开