收藏 分销(赏)

题库管理系统课程设计报告.doc

上传人:精*** 文档编号:2853333 上传时间:2024-06-07 格式:DOC 页数:26 大小:708.50KB
下载 相关 举报
题库管理系统课程设计报告.doc_第1页
第1页 / 共26页
题库管理系统课程设计报告.doc_第2页
第2页 / 共26页
题库管理系统课程设计报告.doc_第3页
第3页 / 共26页
题库管理系统课程设计报告.doc_第4页
第4页 / 共26页
题库管理系统课程设计报告.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、东北石油大学本科生课程设计目 录第1章 系统分析11.1 开发背景11.2 需求分析11.3 开发环境2第2章 系统设计32.1 系统总体示意图32.2 系统数据流图32.3数据库设计42.4 功能模块图9第3章 系统实现113.1 系统登录界面113.2系统注册界面123.3 教师主界面133.4 试题管理界面143.5 试卷生成界面173.6 科目添加界面193.7 个人密码修改界面193.8 用户信息管理界面21第4章 系统测试234.1 软件测试基础理论234.2 系统测试23第5章 结论24参考文献25 第1章 系统分析1.1 开发背景题库管理的信息处理,包含很多的信息数据的管理,现

2、今,在很多的地方都是初步开始使用计算机文档管理系统进行信息管理,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于人事情况的统计和核实等往往采用对员工的人工检查进行,对员工的实际情况、以及职位等情况用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有些单位有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。1.2 需求分析目前,大部分学校期末考试仍采用任课教师考前集中出题的方式。为解决考前透题、漏

3、题、补(缓)考试题与正式考试试题题量及难度差异等问题,教务管理部门通常要求教师同时出A、B两套试卷,其题量与难度要求相同。这样做虽然能够解决一些问题,但给教师增加了很大的工作负担。若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷;若由不同教师出题,则上下届学生的成绩之间又不具有可比性。基于此问题若建立题库,每次考试前由题库中随机抽取题目生成试卷,则可较好地解决教考分离的问题,充分调动学校教学积极性,客观评价教学质量,有效提高工作效率,也可将广大教师从每学期末繁重的命题工作中解放出来。主要功能:一、用户管理:用户可以进行注册,注册时,已注册过的用户名不能被重复注册。注册成功后

4、根据不同的用户类型进行登录。用户类型分为:管理员、教师和学生三类。用户登录时根据不同的用户类型进入不同的操作界面。二、课程信息管理:用户可以在根据需要修改密码,修改密码前要输入旧密码,旧密码输入正确才可修改密码,密码修改成功后要返回登录界面从新登录。同时也可以查看自己的注册信息。三、试题库管理:可以对选择、判断、填空、问答题四种题型试题库进行管理,功能包括增加试题、删除试题、修改试题。同时还可以增加科目。四、试卷生成:可以指定试卷的所属科目、试卷编号和试卷包含的各题型的数量,从试题库里随机或按指定方式抽取试题生成一份原始试卷。五、学生在线测试:当用户登陆试题库管理系统后通过在线测试子系统利用组

5、卷模式可以对已学过的知识进行在线测试,可以分单元分章节也可以对整个学科进行模拟测试1.3 开发环境开发所用机器是台式机;所配置的系统为windows XP 系统;开发所用的数据库为:Microsoft SQL server 2000 数据库 ;开发工具为Microsoft Visual Studio 2005 开发工具。数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。由于SQL Serve

6、r是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQL Server数据库。应用服务器运行数据负荷较轻。数据库应用由两部分组成,即客户应用程序和数据库服务器程序2。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器3。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻4。第2章 系统设计2.1 系统总体示意图

7、题库管理系统管理界面密码管理退出试题管理添加科目试题生成根据功能需求分析,和软件界面的设计思路。系统登录时根据用户类型进入三个不同的界面,分别为管理员操作界面、教师操作界面、学生操作界面。不同的用户界面的功能操作有所差别。大体把系统的结构示意图如图2-1所示:图2-1 系统总体示意图2.2 系统数据流图要画出系统数据流图,就要先进行数据分析,然后根据数据分析画出数据流图,分析出数据字典。2.2.1 数据分析用户登录题库管理系统前首先要进行注册,注册信息会保存到用户表里面。注册成功后根据相应的用户名密码,进入用户操作界面。同时对题库进行管理,可以对试题进行增加、修改、删除,试题信息将根据题型分别

8、保存在选择题、填空题、判断题、问答题四个不同的表中。在考试到来的时候用户可以生成试卷,生成试卷时选择试卷科目,试卷编号,各题的类型,系统会根据这些信息自动生成一份试卷保存到试卷表中。学生进入系统后可以进行考试。2.2.2 数据流图根据上述的数据分析,找出数据流动方向和存储过程。系统包括三个外部实体包括:管理员、教师、学生。系统包括8个主要处理:用户注、登录系统、个人密码修改、添加科目、试题生成、试题添加修改删除、考试。系统包括七个主要的信息表:用户信息表、科目表、选择题、填空题、判断题、问答题、试题。2.3数据库设计数据库设计是系统设计中的重要组成部分,模块的功能实现都离不开数据库的支持,在明

9、确功能模块与数据流程之后,下一步要进行的就是数据库的设计。数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。题库管理系统时序图如图2-2所示。图2-2题库管理系统专业管理时序图图2-2说明:管理员发出一个同步的对专业的操作(添加、修改、删除、检索)信息,请求系统对专业进行操作;向后台发送一个专业可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该专业进行操作,用户发出一个同步的提交操作信

10、息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。图2-3题库管理系统课程管理时序图图2-3说明:管理员发出一个同步的对课程的操作(添加、修改、删除、检索)信息,请求系统对课程进行操作;向后台发送一个课程可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该课程进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步

11、的请求信息给操作完成画面,显示操作结果。图2-4题库管理系统试题管理时序图图2-4说明:管理员发出一个同步的对试题的操作(添加、修改、删除、检索)信息,请求系统对试题进行操作;向后台发送一个试题可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台发送一个同步的通过验证信息,运行对该试题进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。图2-5题库管理系统试卷管理时序图图2-5说明:管理员发出一个同步的对试卷的

12、操作(查看、下载、删除)信息,请求系统对试卷进行操作;后台发送一个试卷可否进行该操作的同步信息,验证不通过时,后台发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该试卷进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。图2-6题库管理系统自动组卷时序图图2-6说明:管理员发出一个同步的操作信息,请求系统进行操作(查看、保存);画面会向后台发送一个可否进行该操作的同步信息,验证不通过时,后台向画面发送一个同步

13、的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该专业进行操作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。图2-7题库管理系统用户管理时序图图2-7说明:管理员发出一个同步的对用户的操作(添加、修改、删除)信息,请求系统对用户进行操作;画面会向后台发送一个用户可否进行该操作的同步信息,验证不通过时,后台向画面发送一个同步的信息,在画面上显示错误信息;若验证通过时,后台会向画面发送一个同步的通过验证信息,运行对该用户进行操

14、作,用户发出一个同步的提交操作信息,从而打开操作确认画面,用户确认操作,发出一个确认操作的同步信息给后台数据库,处理成功后,后台发送一个同步的请求信息给操作完成画面,显示操作结果。2.4 功能模块图根据系统总体结构,功能分析,可以将系统的功能模块划分为三个大模块。主要是管理员模块、教师模块和学生模块。在这些模块中教师模块为主要模块。教师模块主要实现试题管理模块,试卷管理功能为增加试题、修改试题、删除试题、查询试题模块。在增加试题的模块下还有:添加选择题、添加填空题、添加判断题、添加问答题等模块。通过这些功能来丰富试题管理系统增加题库中试题的数量,方便老师查询。在试题模块进行查询时要输入查询的科

15、目、题型、创建时间,然后再查到的试题中选择试题进行修改,修改后保存到数据库中。其中的科目添加没有的科目。个人密码修改模块用于个人密码修改防止密码泄露。退出功能安全退出系统,节约电脑资源。教师模块的另一个主要功能是试卷生成,试卷生成功能可以减轻教师的出题负担,只要输入要考试的科目,试卷编号,各类型题目的数量,系统会自动从题库中查找相应的数据随即生成一套试卷。管理员模块的主要功能是用户信息管理模块,主要是对用户信息的修改,删除和增加功能,根据学校的要求给予教师相应的功能,定时维护系统。本系统的功能模块图题库管理系统管理员模块教师模块学生模块个人密码修改模块用户信息管理模块退出模块退出模块个人密码修

16、改模块试题管理模块科目添加模块试题生成模块个人密码修改模块退出模块如图2-8所示:图2-8系统功能模块图第3章 系统实现3.1 系统登录界面用户进入系统的首界面,用户在用户名后面的textbox中输入用户名,在密码后边的textbook中输入密码,输入密码是密码显示“*”保证了密码的安全性,系统会根据用户输入的密码和用户名还有用户类型到数据库查找,如果有错误,系统会提示用户从新输入,用户输入正确系统会根据用户类型自动跳转到相应的页面并将用户名传递过去。当用户点击注册时,系统会跳转到注册界面。如图3-1所示:图3-1 系统登录界面主要代码实现如下: Dim cmd As New OleDbCom

17、mand(sql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader() If dr.Read() Then If usertype Is 管理员 Then fm = New admin() fm.parentg = Me fm.uid = userid1 fm.Visible = True ElseIf usertype Is 教师 Then fm1 = New teacher() fm1.uid = userid1 fm1.parentt = Me fm1.Visible = True ElseIf usertype Is 学生 The

18、n fm2 = New student() fm2.parentw = Me fm2.uid = userid1 fm2.Visible = True End If MessageBox.Show(登录失败,用户名或密码错误!请从新登陆!, 登陆失败, MessageBoxButtons.OK) End If3.2系统注册界面没有账号的用户进入系统之前要先到注册界面进行注册,注册成功后才能进入系统。用户必须按照要求正确填写注册信息。注册时用户名不能重复,如果用户名已被注册系统会提示用户“此用户名已被注册”。用户输入用户名时必须为3到6个字母或数字。密码必须在6-16位之间,如果密码少于6位或者

19、多于16位,系统会提时用户“您输入的密长度不符合要求,请从新输入”。且用户输入确认密码的时候必须要于上面的密码一致,如果不一致的话系统会提示用户“两次输入的密码不一致,请重新输入”。 下面的信息也请正确填写,方便以后管理员管理。当用户信息输入正确时,注册成功,系统会提示用户“注册成功,请登录系统”。重置按钮可以重置输入的信息从新输入。方便用户从新注册。点击返回登录界面按钮,系统将返回到系统登录首届面。注册界面如图3-2所示:图3-2 系统注册界面系统注册界面的主要代码如下: If password.Length = 6 And password.Length = 16 Then If pass

20、word = password1 Then If dr.Read() Or (userid.Length 6) Then MessageBox.Show(用户名已被注册或用户名不符合要求,请输入新的用户名!, 用户名错误, MessageBoxButtons.OK) Else cmd.ExecuteNonQuery() MessageBox.Show(注册成功, 注册信息, MessageBoxButtons.OK) End If Else MessageBox.Show(两次密码输入不一致!, 密码错误, MessageBoxButtons.OK) End If Else MessageBo

21、x.Show(密码长度不够6位或者超过16位, 密码错误, MessageBoxButtons.OK) End If3.3 教师主界面教师主界面,此界面主要实现界面跳转功能,通过单击不同功能的按钮,跳转到相应功能的界面如图3-3所示:图3-3 教师管理界面3.4 试题管理界面试题管理界面,是方便老师管理试题的界面,是系统的主要界面之一,界面展示的是查询的界面。如图3-4所示:图3-4 试题管理界面下面一段代码是试题管理中查询功能的部分代码:sql1 = select * from examselect where cname = + cname + and extime= + adtime +

22、 Dim cmd2 As New OleDbCommand(sql1, conn) Dim dr As OleDbDataReader = cmd2.ExecuteReader() If dr.Read() Then Dim cmd As New OleDbCommand(sql1, conn) Dim adp As New OleDbDataAdapter(cmd) Dim ds As New DataSet() adp.Fill(ds, link) DataGridView1.DataSource = ds.Tables(link).DefaultView DataGridView1.Co

23、lumns(0).HeaderText = 试题编号 DataGridView1.Columns(0).DisplayIndex = 0 DataGridView1.Columns(7).Visible = False Else MessageBox.Show(查询有错误,请输入正确的查询条件!, 查询错误, MessageBoxButtons.OK) End If拼接sql语句,用来从数据库查询相应的数据信息。查询后如果数据库中不存在此类信息怎提示“查询错误请输入正确的查询条件”。如果有信息,则存入ds中,然后与datagridview绑定,绑定后修改表头的名字和表头的索引。将不需要显示的信

24、息隐藏。当查寻出试题以后点击删除按钮删除想要删除的试题,然后系统自动再次查询信息,然后与datagridview绑定,实现数据自动刷新。试题管理界面中的试题添加功能的代码如下:If ComboBox1.SelectedItem = 选择题 Then Dim fm As selecta fm = New selecta() fm.parentww = Me fm.Visible = True Me.Visible = False End If此段代码是根据用户选择的题型进入相应题型的试题添加界面,以选择题为例选择题添加的界面如图3-5所示:图3-5 选择题添加此选择题添加界面的主要代码如下:If

25、 RadioButton1.Checked Then answer1 = RadioButton1.Text.Trim().ToString() ElseIf RadioButton2.Checked Then answer1 = RadioButton2.Text.Trim().ToString() ElseIf RadioButton3.Checked Then answer1 = RadioButton3.Text.Trim().ToString() ElseIf RadioButton4.Checked Then answer1 = RadioButton4.Text.Trim().T

26、oString() End If Dim sql1 As String = select * from examselect where exno = + exno + Dim sql2 As String = insert into examselect(exno,cname,question,aselection,bselection,cselection,dselection,answer,extime) values( + exno + , + cname + , + question + , + aselection + , + bselection + , + cselection

27、 + , + dselection + , + answer1 + , + extime + ) Dim cmd1 As New OleDbCommand(sql1, conn) Dim cmd2 As New OleDbCommand(sql2, conn) Dim dr As OleDbDataReader = cmd1.ExecuteReader() If dr.Read() Then MessageBox.Show(试题编号重复,添加失败!, 试题添加, MessageBoxButtons.OK) Else cmd2.ExecuteNonQuery() MessageBox.Show(

28、试题添加成功!, 试题添加, MessageBoxButtons.OK) End If此段代码从试题库中查询本题是否存在,如果存在提示用户试题编号重复请重新添加。试题添加成功后会有“试题添加成功的提示”。当一个radiobutton被选中的时候,试题的答案也就被选中。在试题管理界面中,点击修改按钮的时候,系统会自动进入试题修改界面,修改界面和试题添加界面时一样的,代码也只是多了一段查询代码,把查出来的信息显示在界面上。界面显示如图3-6所示:图3-6 试题修改界面代码如下: Label11.Text = theno ComboBox1.Text = thename TextBox2.Text

29、= thetime TextBox3.Text = thequestion TextBox4.Text = thea TextBox5.Text = theb TextBox6.Text = thec TextBox7.Text = thed theanswer = theanswer.Trim() If theanswer = A Then RadioButton1.Checked = True ElseIf theanswer = B Then RadioButton2.Checked = True ElseIf theanswer = C Then RadioButton3.Checke

30、d = True ElseIf theanswer = D Then RadioButton4.Checked = True End If上段代码中的thename,thetime,thequestion等字段,都是通过设置全局变量,从试题管理界面传递过来的。3.5 试卷生成界面试卷生成界面如图3-7所示:图3-7 试卷生成界面此界面主要用到一个算法思想,用来随机生成试卷,用户输入科目、试卷编号、各类型试题的数量之后。系统先检查题库中是否已经有此事卷如果有则显示试卷内容,并提示“次试卷已经存在。”如果试卷不存在,则根据算法随机生成试题存到数据库中。以随机生成C+科目试卷的选择题为例解释,随机选

31、择选择题的部分代码如下:sql1 = select * from examselect where cname = + cname + Dim cmd1 As New OleDbCommand(sql1, conn)Dim dr1 As OleDbDataReader = cmd1.ExecuteReader()While dr1.Read() num1 = num1 + 1End WhileFor i = 0 To selectsum - 1 Randomize() Dim cnum As Integer = Int(num1 / selectsum) * Rnd() + Int(num1

32、/ selectsum) * i) Dim tquestion, ta, tb, tc, td, tanswer As String 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(cnu

33、m)(6).ToString().Trim() tanswer = ds.Tables(1).Rows(cnum)(7).ToString().Trim() Dim ioi As Integer = i + 1 Dim str As String = tquestion + A. + ta + B. + tb + C. + tc + D. + td + Dim sqlq As String = insert into sj values( + bno + , + cname + , & ioi & , + str + , + tanswer + , 选择题 ) Dim cmd As New O

34、leDbCommand(sqlq, conn) cmd.ExecuteNonQuery()Next在上述代码中“Int(num1 / selectsum) * Rnd() + Int(num1 / selectsum) * i)”此表达式是核心算法。代码中变量selectsum代表输入的试卷中选择题的数量,变量num1为查处的题库中C+科目的选择题的数量,Randomize()函数时确保每一次随机产生的数时不同的。算法思想是把题库中的题目分成selectsum组,循环selectsum次每次随机数的范围位num1 / selectsum。根据for循环,每次产生的随机数加上循环次数*随机数范围

35、,得到的结果就是随机的题目在ds表中的位置,然后从ds表中把数据取出来添加到数据库中3.6 科目添加界面在科目添加界面中,主要是对科目的添加,如果题库中已经存在此科目,则提示“科目已存在”,如果科目不存在添加科目后提示科目添加成功。界面如图3-8所示:图3-8 科目添加界面主要代码如下:Dim conn As New OleDbConnection(Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=exammessage;Data Source=.) Dim cname A

36、s String = TextBox1.Text.Trim().ToString() Dim sql As String = select * from cs where cname= + cname + Dim sqll As String = insert into cs(cname) values( + cname + ) Dim cmd As New OleDbCommand(sql, conn) Dim cmd1 As New OleDbCommand(sqll, conn) conn.Open() Dim dr As OleDbDataReader = cmd.ExecuteRea

37、der() If dr.Read() Then MessageBox.Show(此科目已经存在,请重新添加!, 添加信息, MessageBoxButtons.OK) Else cmd1.ExecuteNonQuery() MessageBox.Show(添加成功!, 添加信息, MessageBoxButtons.OK) End If3.7 个人密码修改界面个人密码修改界面,主要实现修改密码的功能,同时也可查看个人信息。本界面的代码如下:If pss = ps Then Dim sql As String = update userform set password= + password1 + where userid= + uid + Dim cmd As New OleDbCommand(sql, conn) If password1.Length = 6 And password1.Length = 6 And password.Length = 16 Then

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服