题库管理系统课程设计报告.docx
- 文档编号:10731509
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:29
- 大小:364.86KB
题库管理系统课程设计报告.docx
《题库管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《题库管理系统课程设计报告.docx(29页珍藏版)》请在冰豆网上搜索。
题库管理系统课程设计报告
第1章系统分析
1.1开发背景
题库管理的信息处理,包含很多的信息数据的管理,现今,在很多的地方都是初步开始使用计算机文档管理系统进行信息管理,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于人事情况的统计和核实等往往采用对员工的人工检查进行,对员工的实际情况、以及职位等情况用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有些单位有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
1.2需求分析
目前,大部分学校期末考试仍采用任课教师考前集中出题的方式。
为解决考前透题、漏题、补(缓)考试题与正式考试试题题量及难度差异等问题,教务管理部门通常要求教师同时出A、B两套试卷,其题量与难度要求相同。
这样做虽然能够解决一些问题,但给教师增加了很大的工作负担。
若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷;若由不同教师出题,则上下届学生的成绩之间又不具有可比性。
基于此问题若建立题库,每次考试前由题库中随机抽取题目生成试卷,则可较好地解决教考分离的问题,充分调动学校教学积极性,客观评价教学质量,有效提高工作效率,也可将广大教师从每学期末繁重的命题工作中解放出来。
主要功能:
一、用户管理:
用户可以进行注册,注册时,已注册过的用户名不能被重复注册。
注册成功后根据不同的用户类型进行登录。
用户类型分为:
管理员、教师和学生三类。
用户登录时根据不同的用户类型进入不同的操作界面。
二、课程信息管理:
用户可以在根据需要修改密码,修改密码前要输入旧密码,旧密码输入正确才可修改密码,密码修改成功后要返回登录界面从新登录。
同时也可以查看自己的注册信息。
三、试题库管理:
可以对选择、判断、填空、问答题四种题型试题库进行管理,功能包括增加试题、删除试题、修改试题。
同时还可以增加科目。
四、试卷生成:
可以指定试卷的所属科目、试卷编号和试卷包含的各题型的数量,从试题库里随机或按指定方式抽取试题生成一份原始试卷。
五、学生在线测试:
当用户登陆试题库管理系统后通过在线测试子系统利用组卷模式可以对已学过的知识进行在线测试,可以分单元分章节也可以对整个学科进行模拟测试
1.3开发环境
开发所用机器是台式机;所配置的系统为windowsXP系统;开发所用的数据库为:
MicrosoftSQLserver2000数据库;开发工具为MicrosoftVisualStudio2005开发工具。
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。
由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。
应用服务器运行数据负荷较轻。
数据库应用由两部分组成,即客户应用程序和数据库服务器程序[2]。
二者可分别称为前台程序与后台程序。
运行数据库服务器程序的机器,也称为应用服务器[3]。
一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻[4]。
第2章系统设计
2.1系统总体示意图
根据功能需求分析,和软件界面的设计思路。
系统登录时根据用户类型进入三个不同的界面,分别为管理员操作界面、教师操作界面、学生操作界面。
不同的用户界面的功能操作有所差别。
大体把系统的结构示意图如图2-1所示:
图2-1系统总体示意图
2.2系统数据流图
要画出系统数据流图,就要先进行数据分析,然后根据数据分析画出数据流图,分析出数据字典。
2.2.1数据分析
用户登录题库管理系统前首先要进行注册,注册信息会保存到用户表里面。
注册成功后根据相应的用户名密码,进入用户操作界面。
同时对题库进行管理,可以对试题进行增加、修改、删除,试题信息将根据题型分别保存在选择题、填空题、判断题、问答题四个不同的表中。
在考试到来的时候用户可以生成试卷,生成试卷时选择试卷科目,试卷编号,各题的类型,系统会根据这些信息自动生成一份试卷保存到试卷表中。
学生进入系统后可以进行考试。
2.2.2数据流图
根据上述的数据分析,找出数据流动方向和存储过程。
系统包括三个外部实体包括:
管理员、教师、学生。
系统包括8个主要处理:
用户注、登录系统、个人密码修改、添加科目、试题生成、试题添加修改删除、考试。
系统包括七个主要的信息表:
用户信息表、科目表、选择题、填空题、判断题、问答题、试题。
2.3数据库设计
数据库设计是系统设计中的重要组成部分,模块的功能实现都离不开数据库的支持,在明确功能模块与数据流程之后,下一步要进行的就是数据库的设计。
数据库技术是信息资源管理最有效的手段。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
题库管理系统时序图如图2-2所示。
图2-2题库管理系统专业管理时序图
图2-2说明:
管理员发出一个同步的对专业的操作(添加、修改、删除、检索)信息,请求系统对专业进行操作;向后台发送一个专业可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该专业进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
图2-3题库管理系统课程管理时序图
图2-3说明:
管理员发出一个同步的对课程的操作(添加、修改、删除、检索)信息,请求系统对课程进行操作;向后台发送一个课程可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该课程进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
图2-4题库管理系统试题管理时序图
图2-4说明:
管理员发出一个同步的对试题的操作(添加、修改、删除、检索)信息,请求系统对试题进行操作;向后台发送一个试题可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台发送一个同步的通过验证信息,运行对该试题进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
图2-5题库管理系统试卷管理时序图
图2-5说明:
管理员发出一个同步的对试卷的操作(查看、下载、删除)信息,请求系统对试卷进行操作;后台发送一个试卷可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该试卷进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
图2-6题库管理系统自动组卷时序图
图2-6说明:
管理员发出一个同步的操作信息,请求系统进行操作(查看、保存);画面会向后台发送一个可否进行该操作的同步信息,验证不通过时,后台向画面发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该专业进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
图2-7题库管理系统用户管理时序图
图2-7说明:
管理员发出一个同步的对用户的操作(添加、修改、删除)信息,请求系统对用户进行操作;画面会向后台发送一个用户可否进行该操作的同步信息,验证不通过时,后台向画面发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该用户进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。
2.4功能模块图
根据系统总体结构,功能分析,可以将系统的功能模块划分为三个大模块。
主要是管理员模块、教师模块和学生模块。
在这些模块中教师模块为主要模块。
教师模块主要实现试题管理模块,试卷管理功能为增加试题、修改试题、删除试题、查询试题模块。
在增加试题的模块下还有:
添加选择题、添加填空题、添加判断题、添加问答题等模块。
通过这些功能来丰富试题管理系统增加题库中试题的数量,方便老师查询。
在试题模块进行查询时要输入查询的科目、题型、创建时间,然后再查到的试题中选择试题进行修改,修改后保存到数据库中。
其中的科目添加没有的科目。
个人密码修改模块用于个人密码修改防止密码泄露。
退出功能安全退出系统,节约电脑资源。
教师模块的另一个主要功能是试卷生成,试卷生成功能可以减轻教师的出题负担,只要输入要考试的科目,试卷编号,各类型题目的数量,系统会自动从题库中查找相应的数据随即生成一套试卷。
管理员模块的主要功能是用户信息管理模块,主要是对用户信息的修改,删除和增加功能,根据学校的要求给予教师相应的功能,定时维护系统。
本系统的功能模块图
如图2-8所示:
图2-8系统功能模块图
第3章系统实现
3.1系统登录界面
用户进入系统的首界面,用户在用户名后面的textbox中输入用户名,在密码后边的textbook中输入密码,输入密码是密码显示“*”保证了密码的安全性,系统会根据用户输入的密码和用户名还有用户类型到数据库查找,如果有错误,系统会提示用户从新输入,用户输入正确系统会根据用户类型自动跳转到相应的页面并将用户名传递过去。
当用户点击注册时,系统会跳转到注册界面。
如图3-1所示:
图3-1系统登录界面
主要代码实现如下:
DimcmdAsNewOleDbCommand(sql,conn)
DimdrAsOleDbDataReader=cmd.ExecuteReader()
Ifdr.Read()Then
IfusertypeIs"管理员"Then
fm=Newadmin()
fm.parentg=Me
fm.uid=userid1
fm.Visible=True
ElseIfusertypeIs"教师"Then
fm1=Newteacher()
fm1.uid=userid1
fm1.parentt=Me
fm1.Visible=True
ElseIfusertypeIs"学生"Then
fm2=Newstudent()
fm2.parentw=Me
fm2.uid=userid1
fm2.Visible=True
EndIf
MessageBox.Show("登录失败,用户名或密码错误!
请从新登陆!
","登陆失败",MessageBoxButtons.OK)
EndIf
3.2系统注册界面
没有账号的用户进入系统之前要先到注册界面进行注册,注册成功后才能进入系统。
用户必须按照要求正确填写注册信息。
注册时用户名不能重复,如果用户名已被注册系统会提示用户“此用户名已被注册”。
用户输入用户名时必须为3到6个字母或数字。
密码必须在6-16位之间,如果密码少于6位或者多于16位,系统会提时用户“您输入的密长度不符合要求,请从新输入”。
且用户输入确认密码的时候必须要于上面的密码一致,如果不一致的话系统会提示用户“两次输入的密码不一致,请重新输入”。
下面的信息也请正确填写,方便以后管理员管理。
当用户信息输入正确时,注册成功,系统会提示用户“注册成功,请登录系统”。
重置按钮可以重置输入的信息从新输入。
方便用户从新注册。
点击返回登录界面按钮,系统将返回到系统登录首届面。
注册界面如图3-2所示:
图3-2系统注册界面
系统注册界面的主要代码如下:
Ifpassword.Length>=6Andpassword.Length<=16Then
Ifpassword=password1Then
Ifdr.Read()Or(userid.Length<3Oruserid.Length>6)Then
MessageBox.Show("用户名已被注册或用户名不符合要求,请输入新的用户名!
","用户名错误",MessageBoxButtons.OK)
Else
cmd.ExecuteNonQuery()
MessageBox.Show("注册成功","注册信息",MessageBoxButtons.OK)
EndIf
Else
MessageBox.Show("两次密码输入不一致!
","密码错误",MessageBoxButtons.OK)
EndIf
Else
MessageBox.Show("密码长度不够6位或者超过16位","密码错误",MessageBoxButtons.OK)
EndIf
3.3教师主界面
教师主界面,此界面主要实现界面跳转功能,通过单击不同功能的按钮,跳转到相应功能的界面如图3-3所示:
图3-3教师管理界面
3.4试题管理界面
试题管理界面,是方便老师管理试题的界面,是系统的主要界面之一,界面展示的是查询的界面。
如图3-4所示:
图3-4试题管理界面
下面一段代码是试题管理中查询功能的部分代码:
sql1="select*fromexamselectwherecname='"+cname+"'andextime='"+adtime+"'"
Dimcmd2AsNewOleDbCommand(sql1,conn)
DimdrAsOleDbDataReader=cmd2.ExecuteReader()
Ifdr.Read()Then
DimcmdAsNewOleDbCommand(sql1,conn)
DimadpAsNewOleDbDataAdapter(cmd)
DimdsAsNewDataSet()
adp.Fill(ds,"link")
DataGridView1.DataSource=ds.Tables("link").DefaultView
DataGridView1.Columns(0).HeaderText="试题编号"
DataGridView1.Columns(0).DisplayIndex=0
DataGridView1.Columns(7).Visible=False
Else
MessageBox.Show("查询有错误,请输入正确的查询条件!
","查询错误",MessageBoxButtons.OK)
EndIf
拼接sql语句,用来从数据库查询相应的数据信息。
查询后如果数据库中不存在此类信息怎提示“查询错误请输入正确的查询条件”。
如果有信息,则存入ds中,然后与datagridview绑定,绑定后修改表头的名字和表头的索引。
将不需要显示的信息隐藏。
当查寻出试题以后点击删除按钮删除想要删除的试题,然后系统自动再次查询信息,然后与datagridview绑定,实现数据自动刷新。
试题管理界面中的试题添加功能的代码如下:
IfComboBox1.SelectedItem="选择题"Then
DimfmAsselecta
fm=Newselecta()
fm.parentww=Me
fm.Visible=True
Me.Visible=False
EndIf
此段代码是根据用户选择的题型进入相应题型的试题添加界面,以选择题为例选择题添加的界面如图3-5所示:
图3-5选择题添加
此选择题添加界面的主要代码如下:
IfRadioButton1.CheckedThen
answer1=RadioButton1.Text.Trim().ToString()
ElseIfRadioButton2.CheckedThen
answer1=RadioButton2.Text.Trim().ToString()
ElseIfRadioButton3.CheckedThen
answer1=RadioButton3.Text.Trim().ToString()
ElseIfRadioButton4.CheckedThen
answer1=RadioButton4.Text.Trim().ToString()
EndIf
Dimsql1AsString="select*fromexamselectwhereexno='"+exno+"'"
Dimsql2AsString="insertintoexamselect(exno,cname,question,aselection,bselection,cselection,dselection,answer,extime)values('"+exno+"','"+cname+"','"+question+"','"+aselection+"','"+bselection+"','"+cselection+"','"+dselection+"','"+answer1+"','"+extime+"')"
Dimcmd1AsNewOleDbCommand(sql1,conn)
Dimcmd2AsNewOleDbCommand(sql2,conn)
DimdrAsOleDbDataReader=cmd1.ExecuteReader()
Ifdr.Read()Then
MessageBox.Show("试题编号重复,添加失败!
","试题添加",MessageBoxButtons.OK)
Else
cmd2.ExecuteNonQuery()
MessageBox.Show("试题添加成功!
","试题添加",MessageBoxButtons.OK)
EndIf
此段代码从试题库中查询本题是否存在,如果存在提示用户试题编号重复请重新添加。
试题添加成功后会有“试题添加成功的提示”。
当一个radiobutton被选中的时候,试题的答案也就被选中。
在试题管理界面中,点击修改按钮的时候,系统会自动进入试题修改界面,修改界面和试题添加界面时一样的,代码也只是多了一段查询代码,把查出来的信息显示在界面上。
界面显示如图3-6所示:
图3-6试题修改界面
代码如下:
Label11.Text=theno
ComboBox1.Text=thename
TextBox2.Text=thetime
TextBox3.Text=thequestion
TextBox4.Text=thea
TextBox5.Text=theb
TextBox6.Text=thec
TextBox7.Text=thed
theanswer=theanswer.Trim()
Iftheanswer="A"Then
RadioButton1.Checked=True
ElseIftheanswer="B"Then
RadioButton2.Checked=True
ElseIftheanswer="C"Then
RadioButton3.Checked=True
ElseIftheanswer="D"Then
RadioButton4.Checked=True
EndIf
上段代码中的thename,thetime,thequestion等字段,都是通过设置全局变量,从试题管理界面传递过来的。
3.5试卷生成界面
试卷生成界面如图3-7所示:
图3-7试卷生成界面
此界面主要用到一个算法思想,用来随机生成试卷,用户输入科目、试卷编号、各类型试题的数量之后。
系统先检查题库中是否已经有此事卷如果有则显示试卷内容,并提示“次试卷已经存在。
”如果试卷不存在,则根据算法随机生成试题存到数据库中。
以随机生成C++科目试卷的选择题为例解释,随机选择选择题的部分代码如下:
sql1="select*fromexamselectwherecname='"+cname+"'"
Dimcmd1AsNewOleDbCommand(sql1,conn)
Dimdr1AsOleDbDataReader=cmd1.ExecuteReader()
Whiledr1.Read()
num1=num1+1
EndWhile
Fori=0Toselectsum-1
Randomize()
DimcnumAsInteger=Int((num1/selectsum)*Rnd())+Int((num1/selectsum)*i)
Dimtquestion,ta,tb,tc,td,tanswerAsString
tquestion=ds.Tables("1").Rows(cnum)
(2).trim().ToString()
ta=ds.Tables("1").Rows(cnum)(3).ToString().Trim()
tb=ds.Tables("1").Rows(cnum)(4).ToString().Trim()
tc=ds.Tables("1").Rows(cnum)(5).ToString().Trim()
td=ds.Tables("1").Rows(cnum)(6).ToString().Trim()
tanswer=ds.Tables("1").Rows(cnum)(7).ToString().Trim()
DimioiAsInteger=i+1
DimstrAsString=tquestion+"A."+ta+"B."+tb+"C."+tc+"D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 题库 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)