收藏 分销(赏)

在线试题库系统的设计与实现.doc

上传人:快乐****生活 文档编号:2627831 上传时间:2024-06-03 格式:DOC 页数:23 大小:777.54KB
下载 相关 举报
在线试题库系统的设计与实现.doc_第1页
第1页 / 共23页
在线试题库系统的设计与实现.doc_第2页
第2页 / 共23页
在线试题库系统的设计与实现.doc_第3页
第3页 / 共23页
在线试题库系统的设计与实现.doc_第4页
第4页 / 共23页
在线试题库系统的设计与实现.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、在线试题库系统的设计与实现 作者: 日期:23 个人收集整理 勿做商业用途2。可行性研究2.1系统开发的目的和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训.当前,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求.在线考试是现阶段研究开发的一个热点.它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线试题库系统可以使用户在网上学

2、习过后及时检验自己的学习效果,并发现自己的不足,使得学习效率得到很大提高。考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化,这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的.2.2技术可行性目前,网络应用软件运行的模式主要有两类:C/S模式,B/S模式。C/S模式简单地讲就是基于企业内部网络的应用系统。它和B/S模式相比最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。但是它也有很多缺点,他必须安装客户端,势必造成维护、升级的麻烦.而B/S

3、模式则解决了这一问题,B/S模式是通过互联网来实现的,它何以随时随地的进行查询和浏览业务,维护简单,只需改变网页,即可实现所有用户的同步更新,开发简单,共享性强.所以大多数软件都采用B/S模式。服务器端采用SQLServer数据库系统和微软最新的。net平台及ASP。net技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。3。需求分析本系统主要针对老师出题和学生考试而设计,传统的考试都是首先由老师出题之后在组织考试、阅卷和发布成绩,这样做就导致大量的人力、物力和时间的浪费,而且准确性也不高。为了克服这些问题,我们将设计在线试题库系统,将这一切在网上进

4、行,实现在线考试和自动阅卷,方便管理和操作.解放老师的劳动力,方便学生自我检测。3.1软件的设计目标3.1.1设计目标系统应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握。系统非为前台和后台两个部分,前台主要实现用户的登录、注册,信息的修改,学生的在线考试,可以选题、答题、自动阅卷等功能;后台主要实现对试题的管理,对用户的管理,和试题的录入等问题。3。1.2基本要求首先用户登录,如果登陆成功则系统检测用户类型,用户类型分两种:普通用户和管理员.普通用户登陆后只能进行在线答题和个人信息管理,在线答题可以选择科目,可以显示和隐藏答案提示,模拟测试后可以重做答错的题。管理员身份登录功能较

5、多,除了以上功能外,还可以进行科目、试题和用户信息的管理,管理员可以增加、删除、修改科目和试题,还可以删除和修改用户信息,增加用户在用户功能中完成。我们可以把以上概述分为以下几个功能。1)用户注册2)在线答题3)科目管理功能4)试题管理功能5)用户管理功能6)个人信息管理3。2系统开发工具介绍SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQL Server的接口.SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和AshtonTate三家公司共同开发的。于1988 年推出了第

6、一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本.SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点.SQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据

7、库,并且也可以开发桌面数据库.事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作理念与实践精神。也就是说,SQL Server的所有功能都可以基于系统已经建立好的一些对象来达成功能,是相当O(面向对象)的一个系统结构。SQL Server企业管理器是SQL Server 的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以定义SQL Server实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有SQL Server选项。在每个已注册的服务器中创建并管理所

8、有SQL Server数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有SQL Server管理任务。通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。唤醒调用为SQL Server定义的各种向导。本文为互联网收集,请勿用作商业用途个人收集整理,勿做商业用途C(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有C/C+的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Componentoriented)的程序语言,和C+与Java一样亦为对象导向(object-oriented)程

9、序语言。C sharp(又被简称为C”)是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。C是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司。NET windows网络框架的主角.个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途3。3系统总体设计3。3。1系统结构设计本系统的结构主要分为三

10、个部分,用户的注册,普通用户(即学生),管理员(即老师)。普通用户通过登录到普通用户界面,在此界面可以进行在线答题,和个人信息修改.管理员通过登录可以进行在线答题,用户管理,科目管理和试题管理。3。3.2系统结构图图 3。1 系统结构图3。4系统流程图本系统用户分为管理员和学生,在登陆后会进入相应的管理页面,流程图如下:图 3.2 总流程图图 3。3 学生操作流程图图 3.4 管理员操作流程图4。数据库设计作为网络的一个重要应用,数据库在网站建设与网站营销中发挥着重要的作用,与普通网站相比而言,具有数据库功能的网站和网页我们通常称之为动态页面,也就是说页面不是一成不变的,页面上内容(或部分内容

11、)是动态生成的,可以根据数据库中的相应部分内容的调整而发生变化,使网站内容更灵活,维护更方便,更新更便捷.所以数据库设计是项目开发中的一个非常重要的环节,数据库设计的好坏直接影响到系统的效率和实现效果。数据库设计主要在于表的设计及各个表之间的关系设计.4.1概念设计概念结构设计是整个数据库设计的关键,它通过E-R图来表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。在此我们用ER图来表示数据之间的关系。图 4.1 角色信息ER图图 4.2 用户信息E-R图图 4.3 课程信息E-R图图 4.4 试题信息ER图图 4.5 填空题信息表图 4.6 判断题信息表4。2逻辑设计经过

12、分析初步确定在数据库中分别建立用户信息表、角色信息表、选择试题信息表填空题信息表、判断题信息表、课程信息表等六张表,如下所示:roleID(roleID,roleName)question(questioneID,courseID,qusetionContent,answer1,answer2,answer3,answer4,rightAnswer)course(courseID,courseName,temp1,temp2)user(username,password,sex,userIdentity,Email,roleID)pamduan(panduanID,course,panduan

13、Content,Answer)tiankong(tiankongID,coursed,tiankongContent,Answer)4.3数据字典利用数据字典,可以进一步描述数据流图中的相关元素。下面列出了数据字典。名称 角色信息表别名 角色信息描述 用户角色信息,用于区分用户的操作权限定义 角色信息=角色编号+角色名位置 保存在数据库中名称 用户信息管理别名 用户信息描述 用户角色信息,用于记录用户的基本信息定义 用户信息=用户名+密码+性别+身份证号码+电子邮件位置 保存在数据库中 名称 课程信息管理别名 课程信息描述 用于管理课程信息定义 课程信息=课程编号+课程名位置 保存在数据库中名

14、称 选择题试题表别名 选择试题描述 用于对选择题的查询定义 选择题信息=题号+题干+答案+正确答案位置 保存在数据库中名称 填空题试题表别名 填空试题描述 用于对填空题的查询定义 填空题信息=题号+题干+正确答案位置 保存在数据库中名称 判断题试题表别名 判断试题描述 用于对判断题的查询定义 判断题信息=题号+题干+正确答案位置 保存在数据库中4.7 数据字典4.4物理设计本系统共有六张表,角色表(roleID)主要存放角色信息,用户表(user)存放用户信息,选择试题表(question)存放试题信息,判断信息表(pamduan),填空信息表(tiankong),课程表(course)存放课

15、程信息。详细设计分别为下表所示:表4.1 角色信息表字段类型字段长度是否为空是否为主键说明roleIDInt自增长否主键角色编号roleNameVarchar20否否角色名表4.2 用户信息表字段类型字段长度是否可为空是否为主键说明UserNameVarchar50否主键用户名PasswordVarchar50否否密码SexVarchar2可以否性别UseridentityVarchar20可以否身份证号码E-mailVarchar50可以否电子邮箱roleIDInt-否外键角色编号表4。3 课程信息表字段类型字段长度是否为空是否为主键说明CourseIDInt自增长否主键课程编号course

16、NameVarchar50否否课程名Temp1Varchar100可以否备用字段1Temp2Varchar100可以否备用字段2表4。4 选择试题信息表字段类型字段长度是否为空是否为主键说明questionIDInt自增长否主键题号courseIDInt-否否课程编号questionContentVarchar500可以否题干answer1Varchar100可以否A答案answer2Varchar100可以否B答案answer3Varchar100可以否C答案answer4Varchar100可以否D答案rightAnswerVarchar50否否正确答案表4.5 判断试题信息表字段类型字段

17、长度是否为空是否为主键说明panduanIDInt自增长否主键题号courseIDInt-否否课程编号panduanContentVarchar500可以否题干AnswerVarchar50否否正确答案表4.6 填空题信息表字段类型字段长度是否为空是否为主键说明tiankongIDInt自增长否主键题号courseIDInt-否否课程表号TiankongCententVarchar500可以否题干AnswerVarchar50否否正确答案对应的数据库创建语句如下:create table roleID(roleID int identity(1,1) primary key,roleName

18、varchar(20))Gocreate table user(userName varchar(50) primary key,password varchar(50) not null,sex varchar(2),userIdentity varchar(20),Email varchar(50),roleID int foreign key references roleID(roleID)Gocreate table course (courseID int identity(1,1) primary key, courseName varchar(50) not null,temp

19、1 varchar(100), temp2 varchar(100)Gocreate table question(questionID int identity(1,1) primary key, courseID int foreign key references course(courseID), questionContent varchar(500) not null, answer1 varchar(100), answer2 varchar(100), answer3 varchar(100), answer4 varchar(100), rightAnswer varchar

20、(50) not null)Gocreate table pamduan(panduanID int identity(1,1) primary key, courseID int foreign key references course(courseID), panduanContent varchar(500) not null, Answer varchar(50) not null)Gocreate table tiankong(tiankongID int identity(1,1) primary key, courseID int foreign key references

21、course(courseID), tiankongContent varchar(500) not null, Answer varchar(50) not null)Go5.系统实现系统框架和数据库设计完成之后,就可以开始进行系统的实现了,本系统采用Visual Studio 2008 作为开发环境,Dreamweaver作为辅助工具。下面将具体介绍在线试题库系统的设计过程。5。1 登录模块新建登录模块页面Login.aspx,可以使用dreamweaver编辑编辑页面结构,并加入必要的控件。表5。1 登陆页面“Login.aspx中添加的控件及属性设置控件ID控件类型属性值txtName

22、TextBoxIDtxtNameTxtpasswordTextBoxIDtxtPasswordtfvPasswordRequiredFieldValidatorIDrfvNameControlToValidatetxtNameErrorMessage*rfvPasswordRequiredFieldValidatorIDrfvPasswordErrorMessageControlToValidatortxtPasswordbtnLoginButtonIDbtnLoginText登录btnRegistButtonIDbtnRegistText取消Causeslidationfalse在Login

23、.aspx.cx文件中添加代码,主要分为连接数据库对用户名进行判断和将用户信息存入Session中。5。2注册页面创建注册页面Regist.aspx,此页面中的控件众多,在这里主要采用Regular*控件对用户输入的信息进行判定,需要注意的有:1) 验证控件Regular的ControlToValidator属性需设置为相对应的TextBox的值;2) 用户名、身份证和邮箱验证需用到正则表达式分别为wd4,16(用户名长度为416位) w+(+.w+)*w+(-.w+).w+(.w+)*(邮箱的格式)d17d|X|d15(身份证长度为15或18位);3) 性别控件RadioButton应设置在

24、同一个group中图 5。1 注册流程图5.3系统主页面用户登录以后就可以进入主页面了,不同类型的用户登录,页面呈现的功能不同,普通用户只能在线答题和修改个人信息;管理员则可以进行科目管理、试题管理和让用户管理。主页面采用框架式结构设计,把页面分为上、下、左、右四个部分。框架页面无法使用设计视图,只能使用源视图进行设置。主界面连接的四个页面,分别是“top.htm、“Left.aspx”、“Welcome。htm、“Bottom。htm”。“top。htm页面中放置本网站的log;“Welcome。htm页面显示用户刚登陆时的页面;“Bottom.htm”页面为本网站的信息;“Left。asp

25、x”页面要根据不同类型的登录用户显示不同连接以实现不同的功能。“Left.aspx的设计如图所示:图 5。2 “Left.aspx页面的设计视图页面中只有3个控件:1个Lable和2个Table。Lable控件显示登录用户名,Table1控件在管理员登陆时显示,Table2控件在普通用户登录时显示。5。4在线考试模块在线考试模块(ShowQuestion.aspx)是本系统的核心模块,无论管理员还是普通用户都可以进行在线测试。在此页面中选择不同的试题进行测试,也可以显示或者隐藏答案提示.本系统的试题都采用单选题的模式,答题完毕后交卷即可显示答案正误情况,可以重新答答错了的题,也可以重新回答所有

26、问题。在线考试页面的设计视图如下:图 5.3在线考试页面的设计视图接下来通过编辑DataList控件的ItemTemplate模板显示数据。首先在代码隐藏文件“ShowQuestion。aspx。cs的Page_Load中编写代码,实现页面第一次加载时,将DataList控件绑定到数据源。另外DropDownList控件要显示的科目名称也要从数据库中提取,同样需要绑定数据源.在ItemTemplate模板中添加控件属性设置如下表所示:表5.2 DropDownList中控件的属性以及值控件ID控件类型属性值lblQuestionContentLableIDlblQuestionContentr

27、btn1RadioButtonIDRbtn1GroupNamegnSelectRbtn2RadiobuttonIDRbtn2GroupNamegnSelectRbtn3RadiobuttonIDRbtn3GroupNamegnSelectrbtn4RadiobuttonIDRbtn4GroupNamegnSelectlblAnswerLableIDlblAnswerForeColorRedVisibleFalse表5。3 对ItemTemplate模板添加对应的绑定表达式控件ID绑定表达式lblQuestionContent第”+(Container.ItemIndex+1)+ ”题: ”+D

28、ataBinder。Eval(Container.DataItem,”questionContent))Rbtn1”A: ”+DataBinder.Eval(Container。DataItem,answer1”)Rbtn2B: ”+DataBinder.Eval(Container。DataItem,”answer2)Rbtn3C: +DataBinder.Eval(Container.DataItem,”answer3”)Rbtn4”D: ”+DataBinder.Eval(Container.DataItem,answer4”)lblAnswer正确答案:+DataBinder。Eval

29、(Container.DataItem,rightAnswer”)5.5科目管理模块拥有管理员权限的用户才可以进入科目管理模块(SubjectManagement。aspx)。在科目管理模块中除了显示已有的科目外,还要实现增加更改删除科目.因科目总数有限,无需查找功能。设计视图如下:图 5。4 科目管理模块设计视图为了在GridView中显示科目,还需要绑定数据,首先在代码隐藏文件中编写实现页面第一次加载时将GridView控件绑定到数据源,然后将数据库中的数据绑定到GridView控件,接着为GridView控件分别添加RowEditing、RowUpdating、RowCancelingE

30、dit、RowDeleting事件,这些事件分别在单击编辑更新取消删除时发生,为防止用户操作失误删除科目,在删除时应提示是否删除,这个事件在RowDataBound事件中编写代码,实现对删除操作的判定5.6试题管理模块拥有过管理员权限才可进入试题管理模块(QuestionManagement.aspx),设计图如下:图 5.5 试题管理模块设计视图首先要实现对第一次加载该页面时的绑定数据,然后对GridView控件进行绑定代码,接着对修改和删除事件添加相应代码,修改和增加页面用同一个页面(AddQuestion。aspx)。修改时要将数据传入AddQuestion。aspx页面。代码如下:pr

31、otected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) string courseID = ddlCourseName。SelectedValue。ToString(); string questionID = GridView1.Rowse.NewEditIndex.Cells0.Text.ToString()。Trim(); string questionContent = GridView1。Rowse.NewEditIndex。Cells1。Text.ToString().Trim(); str

32、ing a1 = GridView1。Rowse.NewEditIndex.Cells2.Text.ToString()。Trim(); string a2 = GridView1。Rowse。NewEditIndex.Cells3。Text.ToString().Trim(); string a3 = GridView1.Rowse。NewEditIndex.Cells4。Text.ToString().Trim(); string a4 = GridView1。Rowse。NewEditIndex。Cells5。Text。ToString().Trim(); string rightAns

33、wer = GridView1.Rowse。NewEditIndex。Cells6。Text。ToString()。Trim(); string str = ”AddQuestion.aspx?courseID= + courseID + questionID=” + questionID + ”questionContent=” + questionContent + &a1=” + a1 + ”a2= + a2 + a3=” + a3 + ”&a4= + a4 + ”rightAnswer=” + rightAnswer; Response。Redirect(str); AddQuesti

34、on.aspx页面的设计视图如下:图 5.6 增加试题模块设计视图在AddQuestion。aspx。cs中编写代码,将修改前的信息加载到页面上.因为增加和修改页面在同一个页面中完成,所以页面中的确定button要实现增加和修改两个功能,事件代码如下:protected void btnOK_Click(object sender, EventArgs e) string courseID = ddlCourseName。SelectedValue; string questionContent = txtQuestion。Text.Trim(); string a1 = txtA。Text。

35、Trim(); string a2 = txtB.Text。Trim(); string a3 = txtC。Text.Trim(); string a4 = txtD.Text。Trim(); string rightAnswer = rblAnswer。SelectedItem。Text; string connectionString = server=.;Initial Catalog=WebTest;Integrated Security=True”; string sqlString; if (Request。Params”courseID = null)/添加 sqlString

36、 = insert into question(courseID, questionContent, answer1, answer2, answer3, answer4, rightAnswer) values(” + courseID + , + questionContent + ,” + a1 + , + a2 + ”,” + a3 + ,” + a4 + ”, + rightAnswer + ”); else /修改 sqlString = ”update question set courseID = + courseID + ,questionContent = + questi

37、onContent + ,answer1= + a1 + ”, answer2=” + a2 + , answer3=” + a3 + ”, answer4= + a4 + , rightAnswer= + rightAnswer + ” where questionID=” + Request。Params”questionID + ; SqlConnection con = new SqlConnection(connectionString); SqlCommand com = new SqlCommand(sqlString, con); con。Open(); com.Execute

38、NonQuery(); con。Close(); Response.Redirect(QuestionManagement.aspx); protected void btnCancel_Click(object sender, EventArgs e) Response.Redirect(”QuestionManagement。aspx”);5.7用户管理模块用户管理模块只有一个GridView控件直接为其编写页面加载代码和事件代码即可,在这里主要是更新用户信息的实现比较难。5.8个人信息修改模块此模块为普通用户登录后显示的模块,可进行用户的个人信息修改,此页面与用户注册页面非常相似,只有两点不同:一是用户名不能修改,要将所有显示用户名的textBox的Enable属性设置为false,二是为了确定操作者的身份,修改个人信息时要输入原用户名密码,这里设置了一个CustomValidator用户自定义验证控件,将Custom validator控件的ID的属性设置为cvOldPassword,ContortionlToValidate属性设置为txtOldPassword,ErrorMessage属性设置为“原密码不正确”.最后实现确定修改和取消修改事件,双击进入隐藏代码文件编写Click事件

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信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 

客服