




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北经贸大学毕业论文河北经贸大学经济管理学院毕业论文通用试题库系统的设计与实现专业名称: 计算机科学与技术 班 级: 学生姓名: 指导老师: 完成时间: 2015年5月 河北经贸大学经济管理学院毕业论文摘要 传统的试卷管理,通过人工方式,不仅人工成本高,工作效率低,而且不利于现代化教学管理。主要存在的缺点是:试题的分类比较繁琐、试题存储不集中、大型手动操作。为了有效避免这些缺点,我们需要用计算机管理的试题题库系统来克服传统人工组卷的缺点。基于JSP的通用试题库系统,分为教师登录和管理员登录。管理员登录可以实现添加和删除教师,管理课程的功能。教师登录可以实现个人密码重置,添加删除课程、试题管理以及试卷生成等功能。试卷生成又包含自动生成试卷和手动生成试卷。自动生成试卷只需要选择考试课程,各个考试题数量,考试时间即可生成试卷;手动生成试卷需要添加自己想要添加的试题,填写考试时间。本文将从考试题库系统的背景出发,对试题库和试题库系统的发展现状。然后将着重描述基于B/S架构、运用JSP和SQL Server2005数据库建立的通用试题库系统的分析、设计、实现、测试等几个阶段。关键字:题库管理;JSP技术;SQL Server2005数据库全套设计加扣3012250582 AbstractThe traditional paper management, through the manual way, not only the artificial cost is high, the work efficiency is low, moreover is not advantageous for the modernized teaching management. The main shortcomings are: the classification of the examination questions is complicated, the examination questions storage is not concentrated, the large manual operation. In order to avoid these shortcomings effectively, we need to use computer management questions to overcome the shortcomings of the traditional manual test paper. The general examination system based on JSP is divided into the teacher login and administrator login. Administrator login can be achieved to add and delete the teacher, management courses function. Teacher login can achieve personal password reset, add delete courses, exam management and papers generating functions. Generating papers and generating papers automatically generated papers and manually generated papers. Automatic generation of test paper only need to select the exam at the end of the course, each test item number, examination time can generate papers; manually generated test need to add the item you want to add, fill in the examination time. This paper will start from the background of the examination questions library system, and the development of the examination questions and the question bank system. Then, it will focus on the analysis, design, implementation, and testing of the general examination questions database system based on B/S, SQL and Server2005 JSP database.Keyword: Bank management; JSP technology; SQL Server2005 database28目录1 绪论11.1 背景和意义11.2 通用试题库系统的优势11.3 本文组织结构12 需求分析32.1 可行性分析32.1.1 经济可行性分析32.1.2 操作可行性分析32.1.3 技术可行性分析32.2 功能需求分析32.2.1 个人中心32.2.2 课程管理32.2.3 题库管理32.2.4 生成试卷42.3 业务流程分析43 系统总体设计53.1 设计原则53.1.1 实用性原则53.1.2 可扩展性与可维护性原则53.1.3 安全可靠性原则53.1.4 用户界面设计原则53.1.5 数据库设计原则53.2 总体结构53.2.1 个人中心63.2.2 课程管理63.2.3 题库管理63.2.4 试卷管理63.3 数据库设计63.3.1 数据字典63.3.2 实体关系图73.3.3 系统结构表104 系统详细设计134.1 登陆界面134.2 系统主界面134.3 添加课程144.4 添加试题154.5 管理题库174.6 生成试题185 系统测试225.1 功能测试的主要内容225.1.1 登录功能测试225.1.2 用户修改密码功能测试225.1.3 试题管理功能测试235.1.4 试卷功能测试235.2 安全性能测试246 总结与展望266.1 课题总结266.2 进一步开发的展望26致谢27参考文献28通用试题库系统的设计与实现1 绪论1.1 背景和意义21世纪是信息化的时代,新兴的信息技术为我国的教育提供了新的学习环境,带来了新的学习体验。通用试题库系统恰是当前迅速发展起来的计算机辅助教学的一种非常有效的工具,在教学活动中具有十分重要的意义。传统的考试,管理的题目是基于纸为载体。其缺点是试题分类问题,试题存储分散,劳动力成本高,资源不能共享,但也不规范,容易在管理上造成混乱。况且传统的题库对问题的搜索还停留在人力上,使得查找变成一项费时费力的事情。通用试题库系统的实现有利于实现现代化,规范化的教学管理,减少人力,使试题信息能共实现共享,快速准确的生成试卷,减少因主观因素造成的不公平性。1.2 通用试题库系统的优势在这样一个飞速发展的时代,各种考试比比皆是,而传统的人工组卷以无法满足这样的快节奏。本着这样的现状,我们应该积极转变组卷方式,通用试题库系统的优势体现在:1)实用性:通用试题库系统不需要人工的去选题,去分类,用户只需要在现有的题库中进行选择就可以,不仅加快工作效率,而且客观公正。试卷生成的同时,附有对应答案。2)快速性:通用试题库系统可以快速生成一套试卷,极大程度上减少了出题者的工作时间。1.3 本文组织结构本文围绕着为什么开发通用试题库系统,如何实现,以及实现通用试题库系统的意义来论述。全文分为六章:第一章 绪论,主要介绍试通用试题库系统的背景和实现的意义。第二章 系统的需求分析,主要做出系统的可行性分析和系统的功能需求分析。第三章 系统总体设计,主要介绍系统各个模块的设计和数据库设计。第四章 系统详细设计,主要介绍系统各模块功能是如何实现的,实现了哪些功能以及部分功能的代码介绍。第五章 系统测试第六章 总结与展望 2 需求分析2.1 可行性分析2.1.1 经济可行性分析经济可行性分析是评价计算机管理系统的可行性的最基本的方法,是投资的计量和成本的解决方案来管理系统。对于学校而言,本系统实施后可以减少老师的工作量,提高工作效率,同时减少学校的支出,加速资金周转。所以本系统在经济上是可行的。2.1.2 操作可行性分析二十一世纪,计算机已经普及到小的农村,人们普遍掌握了计算机的基础操作,而且我们的系统用户大部分是高等素质教育工作者,他们能更好的操作计算机,同时本系统有较好的人机交互,更是便于大众使用的。2.1.3 技术可行性分析该通用试题库管理系统采用了Browser/Server模式进行开发。SQL Server2005数据库服务器,采用安全审计功能,透明数据加密和外部应用程序配置调整高用户安全,同时SQL Server2005附带数据库镜像,提高了数据的可靠性。还能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。因此,符合技术可行性。综上所述,在经济、操作和技术等方面都可行,而且投入少、生效迅速。因此系统的开发是完全可行的。2.2 功能需求分析通用试题库系统是一套试题管理,基于Web应用的测试生成等功能于一体的数据库查询和管理系统。它方便教师组卷考试和管理题库。2.2.1 个人中心个人中心主要实现教师登录的密码修改。2.2.2 课程管理课程管理主要是指能够实现课程添加、删除。2.2.3 题库管理试题数据库管理是指可以实现对各种试题的输入,修改和删除等功能。题库包括单选题,多选题,填空题等多种题型,并且包括所属科目。2.2.4 生成试卷生成试卷包括手动生成试卷和自动生成试卷,手动生成主要通过选择试卷要考的科目和每种题的内容来生成试卷,自动生成主要是设置科目以及每个题目的数量来生成,生成的试卷以word文档形式显示且可以保存下载。2.3 业务流程分析首先教师对试题库维护,然后根据这些信息发布题目,再针对不同的年级和专业生成试卷。其主要业务流程如图2-1所示。图2-1 业务流程图3 系统总体设计3.1 设计原则3.1.1 实用性原则要求最大限度地满足教师组卷工作的需要,充分考虑各管理环节数据处理的准确性,把满足教师组卷,题库管理作为第一要素进行考虑。3.1.2 可扩展性与可维护性原则为了满足未来的发展,通用考试系统的开发过程中应考虑,并应在未来考虑其扩充性。例如,问题的信息的临时改变,用户查询的需求也将不断更新和完善。这就要求系统进行功能的调整和扩充。即系统的开放性。通过软件的修补、替换完成系统的升级和更新换代。在通用考试系统的数据检查的问题是很重要的,和系统应用于数据备份和日常安全管理维护提供方便的手段。系统崩溃时要有对数据的恢复工作。3.1.3 安全可靠性原则网站和数据库设计要注意安全可靠,以防非法的用户进入。同时数据库的备份要恰当合理,防止数据被非法人员操作,造成无法恢复的后果。3.1.4 用户界面设计原则用户的计算机水平需要在系统设计的时候考虑,用户界面应简洁明确,使得它易于使用,让用户可以快速完成试题组卷和数据库管理等功能。真正实现易学、易用、易管理。3.1.5 数据库设计原则数据库的设计应该是一致的,完整的,安全的,可扩展的和标准化的。3.2 总体结构该系统主要分成个人中心,课程管理、题库管理,试卷管理四个部分,参见图3-1。图3-1 系统结构图3.2.1 个人中心个人中心模块主要是用户修改密码。3.2.2 课程管理课程管理模块的设计主要方面用户添加,删除课程。3.2.3 题库管理题库管理模块主要包括试题添加以及试题管理,该模块可以实现添加单选题,添加多选题,添加判断题以及其他题等功能,可以对已添加的题目进行查询,删除以及修改等操作。管理同时可以查看对应试题的详细信息。3.2.4 试卷管理生成试卷包括手动生成试卷和自动生成试卷,手动生成主要通过选择试卷要考的科目和每种题的内容来生成试卷,自动生成主要是设置科目以及每个题目数量来生成,生成的试卷以word文档形式显示且可以保存下载。3.3 数据库设计3.3.1 数据字典经过对系统功能分析可知,通用试题库系统主要包括如下数据信息:用户,数据项包括:用户名,密码,登录时间,用户类型(2是普通用户,1是管理员,0是超级管理员),创建时间,用户类型,性别,联系姓名。课程,数据项包括:课程ID,课程名称。其中课程ID是课程表主键。试题,数据项包括:ID,分数,试题ID,课程,试题类型,问题,答案,选项17,其中题库ID是试题表主键。试卷,数据项包括:ID,单选题,多选题,判断题,问答题,填空题,辨析题,简述题,课程名称,问题ID,考试时间,其中试卷ID是试卷表主键。3.3.2 实体关系图根据分析系统主要有四个实体,分别是用户、课程、题库、试卷。下面一一介绍。用户:用户分为超级管理员,老师,普通用户。实体属性有用户名,密码,用户类型,以及联系方式等。实体属性图如图3-2所示。图3-2 用户实体属性图课程:课程表只有两个属性,一个是课程ID,一个是课程名称。实体属性图如图3-3所示。图3-3 课程实体属性图试题:试题含有ID,分数,试题ID,课程,试题类型,问题,答案,选项等属性,实体属性图如图3-4所示。图3-4 试题实体属性图试卷:试卷还有的属性有ID,单选题,多选题,判断题,问答题,填空题,辨析题,简述题,课程名称(试卷的名称),问题ID,考试时间,其实体属性图如图3-5所示。图3-5 试卷实体属性图根据分析,得出实体关系图,如图3-6所示。系统各实体之间的关系如下:超级管理员:普通管理员 1:N超级管理员:课程 1:N老师 :课程 M:N老师:试题 M:N老师:试卷 M:N试卷 : 课程 M:N试卷 : 试题 M :N图3-6 通用试题库系统ER图3.3.3 系统结构表根据数据字典的内容和实体关系图的逻辑,新建名为item的数据库,并为其新建表,试题表主要存储试题信息,如表3-7所示。表3-7 试题表序号字段数据类型长度主键允许空说明1idint11是否试题id2itemIdvarchar40是试题编号3subjectvarchar40是所属课程4itemTypevarchar2是试题类型5defaultCountint11是试题分数6questionvarchar2000是问题7resultvarchar1024是答案8optionAvarchar2000是选项A9optionBvarchar2000是选项B10optionCvarchar2000是选项C11optionDvarchar2000是选项D12optionEvarchar2000是选项E13optionFvarchar2000是选项F14optionGvarchar2000是选项G课程表主要存储课程信息,如表3-8所示。表3-8 课程表序号列名数据类型长度主键允许空说明1idint11是否课程id2namevarchar40是课程名用户表主要存储用户信息,如表3-9所示。表3-9 用户表序号列名数据类型长度主键允许空说明1usernamevarchar40是用户名2passwordvarchar40是密码3userTypevarchar1是用户类型4Phonevarchar40是电话5addressvarchar100是住址试卷表主要存储试卷信息,如表3-10所示。表3-10 试卷表序号列名数据类型长度主键允许空说明1idint11是否试卷id2allowTimesint11是考试时间3examIdvarchar40是考试课程4subjectvarchar40是试卷编号4 系统详细设计通过上一阶段的工作,我们已经对一个题库系统需要的功能,结构有了大致清晰的了解,并且对数据库设计有了初步的方案。将在这一阶段实现其功能。 4.1 登陆界面在该系统模块中,用户通过输入用户名和密码,如果和用户登陆数据表中的信息相同,则提示登陆成功信息,用户进入主界面窗口,如果结果不相同,提示用户输入信息错误需要用户重新输入再等了。系统登录界面如图4-1所示。 图4-1 系统登陆界面4.2 系统主界面本题库包括题库管理,题库查询,考卷生成等功能,是一个基于WEB应用的管理系统。它方便教师组卷和管理题库。系统主界面如图4-2所示。图4-2 系统主界面4.3 添加课程课程管理主要是指能够实现课程的添加、删除。添加科目如图4-3所示。图4-3 添加科目主要功能代码:public class SubjectAdd implements IAction Overridepublic void doAction(HttpServletRequest req, HttpServletResponse resp,ActionData data) throws Exception String subName = req.getParameter(subjectName);List subList = DAOFactory.getSubjectDAO().findByStringProperty(name, subName);if(subList.size() 0) throw new Exception(课程已经存在,不能添加相同的课程);String sql = insert into t_subject(name) values( + subName + );DAOFactory.getSubjectDAO().add(sql);4.4 添加试题添加试题包括添加单选题,多选题,填空题等多种题型,并且包括所属科目,用户可以通过添加试题功能分别输入对应题目,其添加单选题如图4-4所示。图4-4 添加单选题系统添加问答题、填空题、辨析题和简述题。其界面如图4-5所示。图4-5 添加其他题型主要功能代码如下:public class ExamSingleAdd implements IAction Overridepublic void doAction(HttpServletRequest req, HttpServletResponse resp,ActionData data) throws Exception String itemId = req.getParameter(itemId);String itemType = 0;String subject = req.getParameter(subject);String majors = req.getParameterValues(major);String clazzs = req.getParameterValues(adjustClazz);String count = req.getParameter(defaultCount);String itemLevel = req.getParameter(itemLevel);String question = req.getParameter(question);String result = req.getParameter(result);String optionA = req.getParameter(option1);String optionB = req.getParameter(option2);String optionC = req.getParameter(option3);String optionD = req.getParameter(option4);String optionE = req.getParameter(option5);String optionF = req.getParameter(option6);String optionG = req.getParameter(option7);StringBuffer sbSql = new StringBuffer();sbSql.append( values().append(itemId).append(,);sbSql.append(itemType).append(,);sbSql.append(itemLevel).append(,);sbSql.append(subject).append(,);sbSql.append(StringUtils.StringArr2String(majors).append(,);sbSql.append(StringUtils.StringArr2String(clazzs).append(,);sbSql.append(count).append(,);sbSql.append(question).append(,);sbSql.append(result).append(,);sbSql.append(optionA).append(,);sbSql.append(optionB).append(,);sbSql.append(optionC).append(,);sbSql.append(optionD).append(,);sbSql.append(optionE).append(,);sbSql.append(optionF).append(,);sbSql.append(optionG).append();sbSql.append();DAOFactory.getExamDAO().add(sbSql.toString();4.5 管理题库管理题库可以实现对试题的查看,删除和修改。其界面如图4-6所示。图4-6 管理题库4.6 生成试题生成试题包括手动生成试卷和自动生成试卷,手动生成主要通过选择试卷要考的科目和每种题的内容来生成试卷,自动生成主要是设置科目以及设置每个题目的数量来生成,生成的试卷以word文档形式显示且可以保存下载。其手动生成界面如图4-7所示,自动生成界面如图4-8所示,生成完的试卷如图4-9所示。图4-7手动生成图4-8 自动生成图4-9 导出word主要功能代码如下:public void doAction(HttpServletRequest req, HttpServletResponse resp,ActionData data) throws Exception String examTitle = req.getParameter(examTitle);String major = req.getParameter(major);String clazz = req.getParameter(clazz);String singleCount = req.getParameter(singleCount);String multiCount = req.getParameter(multiCount);String blankCount = req.getParameter(blankCount);StringBuffer sbSql1 = new StringBuffer();StringBuffer sbSql2 = new StringBuffer();StringBuffer sbSql3 = new StringBuffer();if(StringUtils.isEmpty(examTitle) examTitle = 请自己手动修改标题;if(StringUtils.isEmpty(singleCount) singleCount = 0;if(StringUtils.isEmpty(multiCount) multiCount = 0;if(StringUtils.isEmpty(blankCount) blankCount = 0;sbSql1.append(WHERE major like %).append(major).append(% and clazz like %);sbSql1.append(clazz).append(% and itemType=0);List ls1 = DAOFactory.getExamDAO().findByCondition(sbSql1.toString();int size1 = ls1.size();if(Integer.parseInt(singleCount) = size1) size1 = Integer.parseInt(singleCount);List newLs1 = new ArrayList();for(int i=0;isize1;i+) newLs1.add(ls1.get(i);5 系统测试5.1 功能测试的主要内容由于功能较多,本文只对登录功能,用户密码修改功能,试题管理功能,试卷管理功能等部分功能进行了测试。5.1.1 登录功能测试首先对系统进行登录功能测试,测试用例如表5-1所示。表5-1 登录功能测试用例测试用例步骤预期结果实际结果如果用户名和密码都为空,用户登录测试不输入用户和密码,点击登录按钮E.G.设置用户名和密码为空不能登录与预期相符如果用户名和密码都都正确,用户登录测试输入正确的用户名和密码,点击登录按钮E.G.用户名=admin密码=admin登录成功与预期相符如果用户名是正确的,密码是错误的,用户登录测试输入正确的用户名和不正确的密码,点击登录按钮E.G.用户名=admin密码=111不能登录与预期相符如果用户名是错误的,密码是正确的,用户登录测试输入错误的用户名和正确的密码,点击登录按钮E.G.用户名=111,密码=admin不能登录与预期相符5.1.2 用户修改密码功能测试对用户修改密码功能测试,测试用例如表5-2所示。表5-2 用户修改密码功能测试用例测试用例步骤预期结果实际结果如果用户输入错误原密码输入错误原密码,点击修改按钮E.G.设置原密码为888888不能修改与预期相符如果用户输入正确原密码,且新密码和原来不同输入正确的原密码和不同于原来的新密码,点击修改按钮E.G.原密码111111,新密码123123密码=admin修改成功与预期相符如果用户输入正确原密码,且新密码和原来相同输入正确的原密码和原密码相同的新密码,点击修改按钮E.G.原密码111111,新密码111111密码=admin不能修改与预期相符5.1.3 试题管理功能测试对试题管理功能测试,测试用例如表5-3所示。表5-3 试题管理功能测试用例测试用例步骤预期结果实际结果用户添加单选题选择科目,输入分值,题目,选项,对应答案添加成功与预期相符用户删除试题点击管理题库,查询试题,选择要删除的试题,点击删除删除成功与预期相符用户修改试题选择要修改的试题,点击编辑按钮,修改完成后点击保存修改按钮修改成功与预期相符5.1.4 试卷功能测试对试卷管理功能测试,测试用例如表5-4所示。表5-4 试卷管理功能测试用例测试用例步骤预期结果实际结果用户选择考试科目,填写考试时间,不选择题目选择考试科目,填写考试时间,点击生成试卷生成试卷失败与预期相符用户选择考试科目,填写考试时间,选择考试题选择考试科目,填写考试时间,点击生成试卷生成试卷成功与预期相符用户选择考试科目,不填写考试时间,选择考试题选择考试科目,不填写考试时间,点击生成试卷生成试卷失败与预期相符用户不选择考试科目,填写考试时间,选择考试题选择不考试科目,填写考试时间,点击生成试卷生成试卷失败与预期相符5.2 安全性能测试安全性测试主要包括两个方面:网页安全漏洞检测和SQL注入。安全性测试用例如表5-2所示。表5-2 安全性测试用例Stepinputoutputresultmemo1输入数据库中不存在的用户名,密码进行登录系统给出错误提示Pass2输入数据库中存在的用户名,错误的密码,进行登录系统给出错误提示Pass3输入数据库中存在的密码和存在的用户名,但是用户名和密码不匹配,进行登录系统给出错误提示Pass4对密码框中输入的密码进行复制粘贴复制粘贴不会成功Pass5在link后添加单引号,如http:/localhost:8080/WebBase?para=dfdf界面不会出现异常Pass6使用正确的用户名和密码进行登录之后,点击浏览器的back按钮页面跳转到登录界面,不记录密码信息Pass7在用户名和密码文本框中输入alter
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁押金协议合同书要求
- 运动干预神经保护作用-洞察及研究
- 餐饮前台服务合同协议书
- 餐饮员工保密合同协议书
- 餐饮鱼缸出售协议书范本
- 量子引力统一-洞察及研究
- 休闲教育健康促进-洞察及研究
- 环境心理学实证研究-洞察及研究
- 农业合作社水产养殖项目合同书
- 商品房买卖合同退房协议
- 人教版(2024)七年级下册英语各单元必会重点短语和句型默写版(含答案)
- 劳动合同标准合同(2025年版)
- 测量不确定度评定第2部分基础知识
- 输液反应应急预案及流程
- T-CDAA 003-2024 大数据应用平台 数据服务运营管理技术要求
- 针灸理疗院感风险评估与应对措施
- 铜矿石购销合同范本
- 小学生学习与发展课件
- 在家办公申请书
- 水库巡查基本知识
- 动火作业安全培训题库
评论
0/150
提交评论