毕业设计(论文)-题库管理与在线测试.doc_第1页
毕业设计(论文)-题库管理与在线测试.doc_第2页
毕业设计(论文)-题库管理与在线测试.doc_第3页
毕业设计(论文)-题库管理与在线测试.doc_第4页
毕业设计(论文)-题库管理与在线测试.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 论 文(设计) 题 目: 题库管理与在线测试 题库管理与在线测试 指导教师:李怀成摘 要题库管理与在线测试系统是面向计算机本系学生对专业知识测试及学生课外知识自我学习的管理系统。本系统旨在实现测试的无纸化管理,对一些科目的测试可以通过互联网络或局域网进行,方便校方考试的管理,也方便了学生,改进不易集中的管理与教学。我主要开发系统的在线测试系统和数据库设计:在线测试系统,它包括学生的在线测试、成绩查询和教师的在线组卷、在线评卷等功能。本文介绍了一个基于网络环境的考试系统设计与实现过程,包括系统需求分析和系统的功能设计、数据库设计以及.net页面ui的设计。运用数据流图、e-r实体关系图、程序流程图等对在线测试系统的设计过程进行详细的说明。全文共分为系统概述、可行性分析、需求分析、数据库设计、系统总体设计、系统详细设计与测试等七个部分。系统叙述中主要介绍开发在线考试系统运用到的技术、开发框架与系统运行的环境等讲述;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统总体设计介绍了系统总体设计的框架图;系统详细设计是针对每一个功能模块的设计与实现说明。关键词: c#;sql server 2000;asp.net;题库管理; abstractlibrary management and online testing system is computer-oriented students, the test of professional knowledge and extra-curricular student self-learning knowledge management system. test the system to achieve paperless management of a number of test subjects through the internet or lan to facilitate the management of the school examinations, but also make it easier for students to improve the management of difficult to concentrate on teaching and learning. i mainly develop on-line testing systems and database design: on-line test system, which includes online testing of students, teachers, results of inquiries and online test papers, marking and other functions online. this paper introduces a web-based system design environment and implementation of the examination process, including system requirements analysis and system design, database design, as well as. net page ui design. the use of data flow diagram, er diagram entities, the program flow chart and so on-line test system design process detail. described in the text is divided into systems, feasibility analysis, needs analysis, database design, system design, detailed design and testing systems, such as seven parts. system described in the main development of online examination system introduced the use of technology, development framework and system operation on the environment; needs analysis to introduce an online examination system and system of aggregate demand functions of each module needs; system design of the system design framework map; the detailed design of the system is a functional module for each of the design and implementation of note.keywords:c#;sql server 2000;asp.net;question bank management; 目 录1 系统概述11.1 问题分析11.2 项目目的11.3 系统运行环境21.3.1 软件环境21.3.2 硬件环境22 系统的可行性性分析22.1 功能上的可行性22.2 经济上的可行性23 系统需求分析33.1 功能需求33.1.1 题库管理33.1.2 在线测试33.2 性能需求43.3 系统开发环境44 数据库设计44.1 数据库概念模型设计44.2 数据库逻辑模型设计64.3 数据库设计规范化94.4 数据库设计实现95 系统总体设计105.1 系统功能模块105.1.1 管理员功能模块105.1.2 教师功能模块115.1.3 学生功能模块125.2 系统数据流图125.2.1 系统顶层数据流125.2.2 第二层详细数据流136 系统的详细设计136.1 c/s模式的题库管理系统设计136.1.1 数据库链接136.1.2 用户登录146.1.3 用户管理156.1.4 题库管理196.1.5 信息管理227 程序测试25结 论26致 谢27参考文献28组内分工及评分情况如下:29题库管理与在线测试1 系统概述1.1 问题分析传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而在线测试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线测试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1.2 项目目的(1)在线测试系统的总体目标:、 在线测试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。、 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。、 考试数据的存放和处理必须对考试保密,需要一定的安全性保障。(2)对考试的系统目标:、 这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试。、 题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。、 考试的部分结果在考生考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由。(3)对教师的系统目标:、 提供一个功能全面的考核管理客户端,可以进行考试设计和安排。、 通过管理客户端,教师可以进行考试的身份管理。、 考生的考试结果可以被保存下来,供教师进行分析统计和察看。1.3 系统运行环境1.3.1 软件环境客户端: windows98/2000/xp、ie6.0以上。服务器端:windows nt/windows2000、windows 2000 server、iis 6.0及其以上版本。数据库:采用 sql server2000,运行于服务器端。1.3.2 硬件环境服务器 cpu:piii 500以上 、内存:512m以上。客户机 cpu:p200mmx以上、内存:256m以上。2 系统的可行性性分析2.1 功能上的可行性为了能实现学生在线考试,基于本校的实际情况,减少人力资源和课室资源,为学生提供一个可以自己随时检测学习成果的平台,也可供老师用来实现在线考试,此系统是聚测试与考试为一体的功能系统。为此开发了本系统,目的在于实现一个基于web的考试系统实现的主要功能。2.2 经济上的可行性本系统作为一个毕业设计,无需开发经费,目前对于我们来说在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理和同学们在线进行考试。所以本系统在经济上是可行的。3 系统需求分析3.1 功能需求题库管理与在线测试系统的用户分为管理员、教师、学生等三类用户。本系统共分成两个大部分:一个是由系统管理员进行操作的c/s模式的题库管理系统,主要负责进行基本数据的导入、基本数据的管理操作功能,例如增、删、改等;另外一部分是由学生和教师操作的在线测试系统,主要功能是学生可以进行在线测试、在线练习与历史成绩查询功能;教师可以进行在线制作试卷和试卷批阅功能等。3.1.1 题库管理(1) 个人信息修改:管理员身份验证成功后,进入了管理平台进行密码信息的修改确认;(2) 基础数据的导入:管理员可以对一些基础数据(学生信息、教师信息、课程科目信息、试题信息及考试信息等)直接通过管理平台导入数据库内,进行存储;(3) 基础数据的管理:可以对数据库中的基础数据进行增加、删除与修改等操作。3.1.2 在线测试(1) 在线测试:学生可以任选时间进行在线测试,测试结束后,系统会根据已有的标准答案进行客观题的在线判卷,用户可以立刻知道测试成绩;另外主观题被保存给教师进行评分,最终得到总成绩(客观题分数与主观题分数之和);(2) 试卷管理:教师进行身份验证进行在线测试平台。他就可进行二种方式组卷:随机组卷和人工组卷;(3) 评卷管理:系统能够自动对试卷的客观题进行评分,主观题由老师进行评分,最终总评分由自动评分和老师评分构成;(4) 成绩管理:对每次测试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。3.2 性能需求(1) 功能的完整性(2) 数据库的安全性(3) 软件的可维护、可靠性(4) 程序的可移植性3.3 系统开发环境开发环境:.net framework 2.0、visual studio 2005、sql server 2000。4 数据库设计4.1 数据库概念模型设计数据库概念模型设计是在需求分析的基础上进行的。根据分析的结果得出的以下几个实体:管理员、教师、学生、科目、题型、试题信息、考试成绩、新闻等。各个实体之间的e-r关系图与单个属性图如下:图4.2.1、实体之间的e-r关系图图4.2.2、 管理员实体e-r图图4.2.3、 教师实体e-r图图4.2.4、 学生实体e-r图图4.2.5、 系别实体e-r图图4.2.6、 年级实体e-r图图4.2.7、 科目实体e-r图图4.2.8、 题型实体e-r图图4.2.9、 试题实体e-r图图4.2.10、 试卷实体e-r图图4.2.11、 成绩实体e-r图图4.2.12、 年级实体e-r图4.2 数据库逻辑模型设计数据库表的结构具体情况如下:表4.2.1 tbadmin管理员表的结构字段名称数据类型参数大小说明adidint4idadnamevarchar50管理员名称adpwdvarchar50管理员密码ademailvarchar50管理员电子邮箱adphonevarchar50管理员联系方式adcodevarchar50管理员编号 主键表4.2.2 tbstudent学生表的结构字段名称数据类型参数大小说明stidint4idstnamevarchar50考生名称stpwdvarchar50考生密码stemailvarchar50考生电子邮箱decodevarchar50考生系别编号 外键grcode varchar50考生年级编号 外键stsexvarchar50考生性别staddressvarchar50考生地址stphonevarchar50考生联系方式ststatusvarchar50考生状态stcodevarchar50考生编号 主键表4.2.3 tbteacher教师表的结构字段名称数据类型参数大小说明teidint4idtenamevarchar50教师名称tepwdvarchar50教师密码teemailvarchar50教师电子邮箱decodevarchar50教师系别编号 外键grcode varchar50教师班级编号 外键tesexvarchar50教师性别teaddressvarchar50教师地址tephonevarchar50教师联系方式testatusvarchar50教师状态tecodevarchar50编号 主键表4.2.4 tbnews考试新闻表的结构字段名称数据类型参数大小说明neidint4新闻编号 主键netopicvarchar50新闻标题necontentvarchar50发布内容nedatevarchar50发布时间neusernamevarchar50发布人表4.2.5 tbdepartment系别表的结构字段名称数据类型参数大小说明deidint4iddenamevarchar50系别名称deintrovarchar50系别介绍decodevarchar50系别编号 主键表4.2.6 tbgrade年级表的结构字段名称数据类型参数大小说明gridint4idgrnamevarchar50年级名称grintrovarchar50年级介绍grcodevarchar50年级编号 主键表4.2.7 tbsubject科目表的结构字段名称数据类型参数大小说明subidint4idsubnamevarchar50科目名称subcodevarchar50科目编号 主键表4.2.8 tbtype 题型表的结构字段名称数据类型参数大小说明tyidint4idtynamevarchar50题型名称tycodevarchar50题型编号 主键表4.2.9 tbscore 成绩表的结构字段名称数据类型参数大小说明scidint4编号 主键paidint4试卷编号 外键subcodevarchar50科目编号 外键stcodevarchar50学生编号 外键tecodevarchar50教师编号 外键sc1float8客观题分数sc2float8主观题分数totlescorefloat8总分数sctimeint4考试花费时间表4.2.10 tbproblem试题表的结构字段名称数据类型参数大小说明pridint4题编号 主键tycodevarchar50题型编号 外键prquestionvarchar200问题muoption1varchar200选项1muoption2varchar200选项2muoption3varchar200选项3muoption4varchar200选项4pranswervarchar200答案subcodevarchar50科目编号 外键prtyplevarchar50难易程度(难、中、易三种类型)prscorefloat8计分表4.2.11 tbpaper试卷表的结构字段名称数据类型参数大小说明paidint4试卷编号 主键panamevarchar50试卷名称subcodevarchar50科目编号 外键tycodevarchar50题型编号 外键tecodevarchar50教师编号 外键patimedatatime8考试时间timelengthint4时长panumint4试卷题量4.3 数据库设计规范化在上述学生、教师、科目和成绩结构数据表中:存在f学生(学号=姓名,学号=密码)、f科目(学号=科目名称,科目名称学号)、f成绩(学号,科目=分数)。所以数据库设计中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,所以规范化程度较高,数据库设计合理。4.4 数据库设计实现服务器名称为“564c1f76d7d249c”,并按设计要求,在服务器上安装了windows xp2的操作系统和sqlserver 2000企业版的数据库管理系统。通过sqlserver 2000企业管理器创建一个名为“subject1”数据库如下图4.4.1、数据表设计图4.4.2。 图4.4.1、创建数据库 图4.4.2、数据表设计 题库管理与在线测试系统的所有表的物理实现关系图如下图4.4.3:图4.4.3、数据表关系图5 系统总体设计5.1 系统功能模块5.1.1 管理员功能模块图5.1.1、管理员功能层次图(1)、管理员密码修改:管理员首次登录到c/s模式的题库管理平台,会弹出一个提示框,要求管理员对密码进行修改;(2)、用户管理:管理员成功进行身份验证后,可以进行学生、教师、系别、年级等基础数据的导入;并且可以对导入的数据进行查询、修改、删除和增加等一些基本的操作;(3)、题库管理:管理员成功进行身份验证后,可以对科目、题型数据进行批量的导入;并且可以进行查询、修改、删除和增加等一些基本的操作,进行数据的管理;(4)、信息管理:管理员发布的考试新闻和管理新闻信息的功能;(5)、安全退出:退出题库管理系统信息管理平台。5.1.2 教师功能模块图5.1.2、教师功能层次图(1)、密码修改:教师首次登录到b/s模式的在线测试管理平台,会弹出一个提示框,要求教师对密码进行修改;(2)、在线组卷:教师成功进行身份验证后,可以对导入的试题基础数据进行人工组卷和系统自动组卷操作;(3)、在线评卷:教师成功进行身份验证后,可以查询试卷状态信息,如果标记为“否”,表示没有进行评卷,教师可以进行在线评卷;如果标记为“是”,表示进行了评卷;(4)、安全退出:退出在线测试管理平台。5.1.3 学生功能模块图5.1.3、学生功能层次图(1)、密码修改:考生首次登录到b/s模式的在线测试管理平台,会弹出一个提示框,要求考生对密码进行修改;(2)、在线测试:学生成功进行身份验证后,选定科目,点击“考试”按钮直接可以进行在线测试;(3)、在线练习:学生成功进行身份验证后,选定科目,点击“练习”按钮直接可以进行指定科目在线练习;(4)、成绩查询:考生对历史成绩的查询;(5)、安全退出:退出在线测试管理平台。5.2 系统数据流图5.2.1 系统顶层数据流图5.2.1、顶层数据流图系统的顶层数据流图反映了数据输入、数据处理和数据输出的过程。5.2.2 第二层详细数据流图5.2.2、第二层数据流图6 系统的详细设计6.1 c/s模式的题库管理系统设计6.1.1 数据库链接c#代码实现与server 2000进行数据库链接:(1)、创建一个字符串数据库链接“conn”类class conn public static sqlconnection returnconn() string connstr = server=.;uid=sa;pwd=wzhi520;database=subject1; sqlconnection conn = new sqlconnection(connstr); return conn; (2)、调用“conn”类的方法,返回一个链接sqlconnection conn = conn.returnconn(); try if (conn.state = connectionstate.closed) conn.open(); /操作代码. catch (exception ex) label3.text = ex.tostring(); finally conn.close(); 6.1.2 用户登录(1) 界面ui设计(2) 代码实现 if (conn.state = connectionstate.closed) conn.open(); string uid = textbox1.text.trim().tostring(); string pwd = textbox2.text.trim().tostring(); if (uid != & pwd != ) string sql = select adcode,adpwd from tbadmin where adcode like + uid + ; sqlcommand cmd = new sqlcommand(sql, conn); sqldatareader sdr = cmd.executereader(); if (sdr.read() string adcode = sdradcode.tostring(); string adpwd = sdradpwd.tostring(); if (sdradpwd.tostring() = pwd) messagebox.show(成功登录!); manage manage = new manage(); manage.windowstate = formwindowstate.maximized; manage.show(); messagebox.show(首次登录请修改密码!); this.visible = false; else messagebox.show(密码不对!); 6.1.3 用户管理(1) 基础数据管理 界面ui设计(例如学生信息的添加、管理) 代码实现/学生信息添加string sql = insert into tbstudent (stname,stpwd,stemail,decode,grcode ,stsex,staddress,stphone,ststatus,stcode) values( + stname + , + stpwd + , + stemail + , + decode + , + grcode + ,+stsex+,+staddress+,+stphone+,+ststatus+,+stcode+); sqlcommand cmd = new sqlcommand(sql,conn); cmd.executenonquery(); messagebox.show(添加成功!); /学生信息管理private void button1_click(object sender, eventargs e) string stcode = textbox1.text.trim().tostring(); /string stname = textbox2.text.trim().tostring(); sqlconnection conn = conn.returnconn(); try if (conn.state = connectionstate.closed) conn.open(); string sql = select stname,stemail,decode,grcode,stsex,staddress,stphone,ststatus,stcode from tbstudent where stcode like + stcode + ; sqlcommand cmd = new sqlcommand(sql, conn); sqldatareader sdr = cmd.executereader(); this.panel2.controls.add(datagrid2); datagrid2.columncount = 9; datagrid2.columnheadersdefaultcellstyle.backcolor = color.navy; datagrid2.columnheadersdefaultcellstyle.forecolor = color.white; datagrid2.columnheadersdefaultcellstyle.font = new font(datagrid2.font, fontstyle.bold); datagrid2.name = datagrid2; datagrid2.location = new point(8, 50); datagrid2.size = new size(350, 250); datagrid2.autosizerowsmode = datagridviewautosizerowsmode.displayedcellsexceptheaders; datagrid2.columnheadersborderstyle = datagridviewheaderborderstyle.single; datagrid2.cellborderstyle = datagridviewcellborderstyle.single; datagrid2.gridcolor = color.black; datagrid2.rowheadersvisible = false; datagrid2.columns0.name = 学号; datagrid2.columns1.name = 姓名; datagrid2.columns2.name = 性别; datagrid2.columns3.name = 系别编号; datagrid2.columns4.name = 班级编号; datagrid2.columns5.name = 地址; datagrid2.columns6.name = 联系方式; datagrid2.columns7.name = email; datagrid2.columns8.name = 状态; datagrid2.selectionmode = datagridviewselectionmode.fullrowselect; datagrid2.multiselect = false; datagrid2.dock = dockstyle.fill; while (sdr.read() string rows = sdrstcode.tostring(), sdrstname.tostring(), sdrstsex.tostring(), sdrdecode.tostring(), sdrgrcode.tostring(), sdrstaddress.tostring(), sdrstphone.tostring(), sdrstemail.tostring(), sdrststatus.tostring() ; datagrid2.rows.add(rows); catch (exception ex) label5.text = ex.tostring(); finally conn.close(); private void button4_click(object sender, eventargs e) if (this.datagrid2.selectedrows.count 0 & this.datagrid2.selectedrows0.index != this.datagrid2.rows.count - 1) int index1 = this.datagrid2.selectedrows0.index; this.datagrid2.rows.removeat(index1); sqlconnection conn = conn.returnconn(); try if (conn.state = connectionstate.closed) conn.open(); string sql = delete from tbstudent where stid= + index1 + 1; sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(信息删除成功!); catch (exception ex) label1.text = ex.tostring(); finally conn.close(); /学生信息修改if (conn.state = connectionstate.closed) conn.open(); string insstr = update tbstudent set stcode = + stcode + ,stname= + stname + ,stpwd= + stpwd + ,staddress= + staddress + ,stphone= + stphone + ,stemail= + stemail + ,ststatus= + ststatus + ,stsex= + stsex + ; sqlcommand cmd1 = new sqlcommand(insstr, conn); cmd1.executenonquery(); messagebox.show(修改成功!);(2)基础数据导入 面ui设计(例如) 代码实现sqlconnection conn = conn.returnconn(); if (conn.state = connectionstate.closed) conn.open(); try openfiledialog openfile = new openfiledialog();/打开文件对话框。 openfile.filter = (excel 文件(*.xls)|*.xls);/后缀名。 if (openfile.showdialog() = dialogresult.ok) string filename = openfile.filename; int index = filename.lastindexof();/截取文件的名字 filename = filename.substring(index + 1); string sql = insert into tbdepartment (decode,dename,deintro) values (select decode,dename,deintro from excel 8.0;database= + filename +.sh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论