在线试题库系统的设计与实现_第1页
在线试题库系统的设计与实现_第2页
在线试题库系统的设计与实现_第3页
在线试题库系统的设计与实现_第4页
在线试题库系统的设计与实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、随时随地的进行查询和浏览业务,维护简单,只需改变网页,即可实现所有用户的同步更新,开发简单,共享性强。所以大多数软件都采用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和Ashton-Tate三家公司共同开发的。于1988年推出了第一个 OS/2 版本,在 Windows NT

6、推出后,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的所有功能都可以基于系统已经建立好的一些对象来达成功 能,是相当0 (面向对象)的一个系统结构。SQL Server企业管理器是 SQL Server的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以定义SQL Server实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有SQL Server选项。在每个已注册的服务器中创建并管理所有SQL Server数据

8、库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有SQL Server管理任务。通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。唤醒调用为SQL Server定义的各种向导。C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有C/C+的强大功能以及 Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C+与Java一样亦为对象导向(object-oriented)程序语言。C sharp(又被简称为C#) 是微软公司在二000年六月发布的一种新

9、的编程语言,并定于在微软职业开发者论坛(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系统流程图TNf学生界面管理员界面结束图3.2总流程图图3.3学生操作流程图图3.4管理员操作流程图4. 数据库设计作为网络的一个重要应用,数据库在网站建设与网站营销中发挥着重要的作用,与普通网站相比而言,具有数据库功能的网站和网页我们通常称之为动态页面,也就是说页面不是一成不变的,页面上内容 (或部分内容)是动态生成的,可以根据数据库中的相应部分内容 的调整而发生变化, 使网站内容更灵活, 维护更方

11、便,更新更便捷。所以数据库设计是项目 开发中的一个非常重要的环节,数据库设计的好坏直接影响到系统的效率和实现效果。数据库设计主要在于表的设计及各个表之间的关系设计。4.1概念设计概念结构设计是整个数据库设计的关键,它通过E-R图来表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。 在此我们用E-R图来表示数据之间的关系。图4.1 角色信息E-R图图4.2 用户信息E-R图questi onlDcourselDquesti onan swer2an swer3rightAn sweran swer4an swer1图4.4 试题信息E-R图questionConenttia

12、nkongIDtia nkongcourselDtia nkongCon 、 tentAn swer填空题信息表图4.5图4.6判断题信息表4.2逻辑设计经过分析初步确定在数据库中分别建立用户信息表、角色信息表、选择试题信息表填空题信息表、判断题信息表、课程信息表等六张表,如下所示:rolelD(rolelD,roleName)questio n(questio nelD,courselD,qusetio nCon te nt,a nswer1,a nswer2,a nswer3,a nswer4,rightA nswer) course(courselD,courseName,temp1,t

13、emp2)user(user name,password,sex,userlde ntity,Email,rolelD) pamdua n(pan dua nlD,course,pa ndua nConten t,A nswer) tia nkon g(tia nkon gID,coursed,tia nkongConten t,A nswer)4.3数据字典利用数据字典,可以进一步描述数据流图中的相关元素。下面列出了数据字典。名称角色信息表名称用户信息管理别名角色信息别名用户信息描述 用户角色信息,用于区分用户的操描述 用户角色信息,用于记录用户的基作权限本信息定义 角色信息=角色编号+角色

14、名定义 用户信息=用户名+密码+性别+身位置保存在数据库中份证号码+电子邮件位置保存在数据库中名称课程信息管理名称选择题试题表别名课程信息别名选择试题描述用于管理课程信息描述 用于对选择题的查询定义 课程信息=课程编号+课程名定义 选择题信息=题号+题干+答案+正位置保存在数据库中确答案位置保存在数据库中名称填空题试题表名称判断题试题表别名填空试题别名判断试题描述 用于对填空题的查询描述用于对判断题的查询定义 填空题信息=题号+题干+正确答案定义 判断题信息=题号+题干+正确答案位置保存在数据库中位置保存在数据库中4.7数据字典4.4物理设计本系统共有六张表,角色表(rolelD )主要存放角

15、色信息,用户表(user)存放用户信息,选择试题表(question)存放试题信息,判断信息表(pamduan),填空信息表(tiankong), 课程表(course)存放课程信息。详细设计分别为下表所示:表4.1 角色信息表字段类型字段长度是否为空是否为主键说明roleIDInt自增长否主键角色编号roleNameVarchar20否否角色名表4.2用户信息表字段类型字段长度是否可为空是否为主键说明UserNameVarchar50否主键用户名PasswordVarchar50否否密码SexVarchar2可以否性别UseridentityVarchar20可以否身份证号码E-mailVa

16、rchar50可以否电子邮箱roleIDInt否外键角色编号表4.3课程信息表字段类型字段长度是否为空是否为主键说明CourseIDInt自增长否主键课程编号courseNameVarchar50否否课程名Temp1Varchar100可以否备用字段1Temp2Varchar100可以否备用字段2表4.4选择试题信息表字段类型字段长度是否为空是否为主键说明questionIDInt自增长否主键题号courseIDInt否否课程编号questionContentVarchar500可以否题干answer1Varchar100可以否A答案answer2Varchar100可以否B答案answer3

17、Varchar100可以否C答案answer4Varchar100可以否D答案rightAnswerVarchar50否否正确答案表4.5判断试题信息表字段类型字段长度是否为空是否为主键说明panduanIDInt自增长否主键题号courseIDInt否否课程编号panduanContentVarchar500可以否题干AnswerVarchar50否否正确答案表4.6填空题信息表字段类型字段长度是否为空是否为主键说明tiankongIDInt自增长否主键题号courseIDInt否否课程表号TiankongCententVarchar500可以否题干AnswerVarchar50否否正确答案

18、对应的数据库创建语句如下:create table rolelD(rolelD int identity(1,1) primary key, roleName varchar(20)Gocreate table user(userName varchar(50) primary key, password varchar(50) not n ull,sex varchar(2),useride ntity varchar(20),Email varchar(50),roleiD int foreig n key refere nces rolelD(rolelD)Gocreate table

19、course(courseiD int identity(1,1) primary key,courseName varchar(50) n ot n ull,tempi varchar(IOO),temp2 varchar(IOO)Gocreate table questi on(questioniD int identity(1,1) primary key,courseiD int foreig n key references course(courseiD), questi onContent varchar(500) not n ull, an swerl varchar(IOO)

20、,an swer2 varchar(IOO),an swer3 varchar(IOO),an swer4 varchar(IOO),rightA nswer varchar(50) not n ull)Gocreate table pamdua n(panduaniD int identity(1,1) primary key,courseiD int foreig n key references course(courseiD), pan dua nContent varchar(500) not n ull,An swer varchar(50) not n ull)Gocreate

21、table tia nkong(tiankongiD int identity(1,1) primary key,courseiD int foreig n key references course(courseiD), tia nkongContent varchar(500) not n ull,An swer varchar(50) not n ull)Go5. 系统实现系统框架和数据库设计完成之后,就可以开始进行系统的实现了,本系统采用VisualStudio 2008作为开发环境,Dreamweaver作为辅助工具。下面将具体介绍在线试题库系统 的设计过程。5.1登录模块新建登录模

22、块页面 Login.aspx,可以使用dreamweaver编辑编辑页面结构,并加入必要 的控件。表5.1登陆页面“ Login.aspx ”中添加的控件及属性设置控件ID控件类型属性值txtNameTextBoxIDtxtNameTxtpasswordTextBoxIDtxtPasswordIDrfvNametfvPasswordRequiredFieldValidatorControlToValidatetxtNameErrorMessage*IDrfvPasswordrfvPasswordRequiredFieldValidatorErrorMessage*ControlToValida

23、tortxtPasswordIDbtnLoginbtnLoginButtonText登录IDbtnRegistbtnRegistButtonText取消Causeslidationfalse在Login.aspx.cx文件中添加代码,主要分为连接数据库对用户名进行判断和将用户信息 存入Session中。5.2注册页面创建注册页面 Regist.aspx,此页面中的控件众多,在这里主要采用Regular*控件对用户输入的信息进行判定,需要注意的有:1) 验证控件 Regular*的ControlToValidator属性需设置为相对应的TextBox的值;2) 用户名、身份证和邮箱验证需用到正则

24、表达式分别为Awd4,16$ (用户名长度为4-16 位) w+(-+.w+)*w+(-.w+)*.w+(-.w+)*(邮箱的格式)d17d|X|d15(身份证长度为 15 或 18 位);3) 性别控件RadioButt on应设置在同一个 group中图5.1注册流程图5.3系统主页面用户登录以后就可以进入主页面了,不同类型的用户登录,页面呈现的功能不同,普通用户只能在线答题和修改个人信息;管理员则可以进行科目管理、试题管理和让用户管理。 主页面采用框架式结构设计,把页面分为上、下、左、右四个部分。框架页面无法使用设计 视图,只能使用源视图进行设置。主界面连接的四个页面,分别是top.ht

25、m”、Left.aspx”、“Welcome.htm ”、“Bottom.htm ”。“top.htm” 页面中放置本网站的log ; “Welcome.htm”页面显示用户刚登陆时的页面;“Bottom.htm ”页面为本网站的信息;Left.aspx”页面要根据不同类型的登录用户显示不同连接以实现不同的功能。Left.aspx ”的设计如图所示:Label答题测科目管理題率管理用户管理退出答题演试修改个人信息-退出图5.2“Left.aspx ”页面的设计视图页面中只有3个控件:1个Lable和2个Table。Lable控件显示登录用户名,Tablel控件在管理员登陆时显示,Table2控

26、件在普通用户登录时显示。5.4在线考试模块在线考试模块(ShowQuestion.aspx)是本系统的核心模块,无论管理员还是普通用户都可以进行在线测试。在此页面中选择不同的试题进行测试,也可以显示或者隐藏答案提示。 本系统的试题都采用单选题的模式,答题完毕后交卷即可显示答案正误情况,可以重新答答错了的题,也可以重新回答所有问题。在线考试页面的设计视图如下:Data List - DataList2右击或选择编輯模板”任务来编辑模扳内容。需要使用ItemTemplatefl叶皿訓图5.3在线考试页面的设计视图接下来通过编辑DataList控件的ItemTemplate模板显示数据。首先在代码隐

27、藏文件“ShowQuestion.aspx.cs”的 Page_Load中编写代码,实现页面第一次加载时,将DataList控件绑定到数据源。另外DropDownList控件要显示的科目名称也要从数据库中提取,同样需要绑定数据源。在ItemTemplate模板中添加控件属性设置如下表所示:表5.2 DropDownList 中控件的属性以及值控件ID控件类型属性值IbIQuestionContentLableIDlblQuestionContentIDRbtn1rbtn1RadioButtonGroupNamegnSelectIDRbtn2Rbtn2RadiobuttonGroupNamegn

28、SelectIDRbtn3Rbtn3RadiobuttonGroupNamegnSelectIDRbtn4rbtn4RadiobuttonGroupNamegnSelectIDlblAnswerlblAnswerLableForeColorRedVisibleFalse表 5.3 对 ItemTemplate模板添加对应的绑定表达式控件ID绑定表达式lblQuestionContent第+(Container.ltemlndex+1)+DataBinder.Eval(Container.Dataltem,questionContent)题:Rbtn1A: +DataBinder.Eval(Co

29、ntainer.Dataltem,answer1)Rbtn2B: +DataBinder.Eval(Container.DataItem,answer2)Rbtn3C: +DataBinder.Eval(Container.DataItem,answer3)Rbtn4D: +DataBinder.Eval(Container.DataItem,answer4)lblAnswer正确答案:+DataBinder.Eval(Container.Dataltem,rightAnswer)5.5科目管理模块拥有管理员权限的用户才可以进入科目管理模块(SubjectManagement.aspx)。在科

30、目管理模块中除了显示已有的科目外, 还要实现增加更改删除科目。 因科目总数有限,无需查找 功能。设计视图如下:增加科目确定|取消Coin mil 0Coinmnl Column2abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc图5.4 科目管理模块设计视图为了在GridView中显示科目,还需要绑定数据,首先在代码隐藏文件中编写实现页面 第一次加载时将 GridView控件绑定到数据源,然后将数据库中的数据绑定到GridView控件,接着为 GridView 控件分别添加 RowEditing、RowUpdating、RowCancelingEdit、

31、RowDeleting事件,这些事件分别在单击编辑更新取消删除时发生,为防止用户操作失误删除科目,在删除时应提示是否删除,这个事件在RowDataBou nd事件中编写代码,实现对删除操作的判定5.6试题管理模块拥有过管理员权限才可进入试题管理模块(QuestionManagement.aspx),设计图如下:増加试题SqlDataSource - TitleManagementColumnOColumol Column2abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc图5.5试题管理模块设计视图首先要实现对第一次加载该页面时的绑定数据,然后对 Gri

32、dView控件进行绑定代码,接着对修改和删除事件添加相应代码,修改和增加页面用同一个页面(AddQuestio n. aspx )。修改时要将数据传入AddQuestion.aspx页面。代码如下:protected void GridView1_RowEdit in g(object sen der, GridViewEditEve ntArgs e)stri ng courseID = ddICourseName.SelectedValue.ToStri ng();string questionID = GridView1.Rowse.NewEditlndex.Cells0.Text.To

33、String().Trim();string questionContent =GridView1.Rowse.NewEditI ndex.Cells1.Text.ToStri ng().Trim();string a1 = GridView1.Rowse.NewEditIndex.Cells2.Text.ToString().Trim();string a2 = GridView1.Rowse.NewEditIndex.Cells3.Text.ToString().Trim();string a3 = GridView1.Rowse.NewEditIndex.Cells4.Text.ToSt

34、ring().Trim();string a4 = GridView1.Rowse.NewEditIndex.Cells5.Text.ToString().Trim();stri ng rightA nswer =GridView1.Rowse.NewEditI ndex.Cells6.Text.ToStri ng().Trim();string str = AddQuestion.aspx?courseID= + courseID + &questionID= + questionlD+ &questio nConten t= + questio nCo nte nt + &a1= + a1

35、 + &a2= + a2 + &a3= + a3 +&a4= + a4 + &rightA nswer= + rightA nswer;Resp on se.Redirect(str);AddQuestion.aspx页面的设计视图如下:科目名I数据绑定二称 I SqlDataSource - courseName题千:鱼选笞案B:备选答 案D:+题干最多500个字符,答案最多100个字符*莹选答 案d备选答 案C:rA PB rc rD*确定I取消图5.6增加试题模块设计视图在AddQuestion.aspx.cs中编写代码,将修改前的信息加载到页面上。因为增加和修改页面在同一个页面中完成,

36、所以页面中的确定button要实现增加和修改两个功能,事件代码如下:protected void btnO K_Click(object sen der, Even tArgs e)stri ng courseID = ddICourseName.SelectedValue;string questionContent = txtQuestion.Text.Trim();string a1 = txtA.Text.Trim();stri ng a2 = txtB.Text.Trim();string a3 = txtC.Text.Trim();string a4 = txtD.Text.Tri

37、m();stri ng rightA nswer = rblA nswer.Selectedltem.Text;stri ng connection Stri ng = server=.;I nitial Catalog=WebTest; In tegrated Security=True; string sqlString;if (Request.ParamscourselD = null)/ 添加sqlStri ng = insert into questi on( courseID, questi onContent, an swer1, an swer2,an swer3, an sw

38、er4, rightA nswer) values( +courseID + , + questio nCo ntent + , + a1 + , + a2 + , + a3+ , + a4 + , + rightA nswer + );else 修改sqlStri ng = update questi on set courseID = + courseID + ,questi onContent =+ questio nContent +,a nswer仁+ a1 + , an swer2= + a2 + , an swer3= + a3 + , an swer4=+ a4 + , rig

39、htA nswer= +rightA nswer + where questio nID= + Request.Paramsquestio nID + ;SqlC onn ectio n con = new SqlC onn ectio n(c onn ectio nStri ng);SqlComma nd com = new SqlComma nd(sqlStri ng, con);con. Ope n();com.ExecuteN on Query();con.Close();Resp on se.Redirect(Questi onMan ageme nt.aspx);protected void btnCan cel_Click(object sen der, Even tArgs e)Resp on se.Redirect(Questi onMan ageme nt.aspx)

温馨提示

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

评论

0/150

提交评论