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

上传人:s****u 文档编号:12739948 上传时间:2020-05-20 格式:DOC 页数:22 大小:229.50KB
返回 下载 相关 举报
在线试题库系统的设计与实现.doc_第1页
第1页 / 共22页
在线试题库系统的设计与实现.doc_第2页
第2页 / 共22页
在线试题库系统的设计与实现.doc_第3页
第3页 / 共22页
点击查看更多>>
资源描述
2. 可行性研究2.1系统开发的目的和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教 育, 通过计算机网络实现异地教育和培训。 当前, 计算机硬件技术的发展已经达到了相当高 的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展, 就要求有更好、 更完善的软件系统应用到远程教育当中去, 这就给软件设计人员提出了更高 的设计要求。在线考试是现阶段研究开发的一个热点。 它是建立在国际互联网上的应用系统, 客户端 的配置可以极为简单, 使考试不受地域的局限。 一个完备的在线试题库系统可以使用户在网 上学习过后及时检验自己的学习效果, 并发现自己的不足, 使得学习效率得到很大提高。 考 试系统中题目的生成、 试卷的提交、 成绩的批阅等都可以在网络上自动完成。 只要形成一套 成熟的题库就可以实现考试的自动化, 这样一来, 教师所要做的只是精心设计题目、 维护题 库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。2.2技术可行性目前,网络应用软件运行的模式主要有两类:C/S模式, B/S模式。 C/S模式简单地讲 就是基于企业内部网络的应用系统。它和 B/S模式相比最大的好处是不依赖企业外网环境, 即无论企业是否能够上网, 都不影响应用。 但是它也有很多缺点,他必须安装客户端, 势必 造成维护、升级的麻烦。而 B/S模式则解决了这一问题, B/S模式是通过互联网来实现的, 它何以随时随地的进行查询和浏览业务, 维护简单, 只需改变网页, 即可实现所有用户的同 步更新,开发简单,共享性强。所以大多数软件都采用 B/S模式。服务器端采用 SQLServer 数据库系统和微软最新的 .net 平台及 ASP.net 技术来构成考试的应用服务系统;客户端采用 浏览器来完成考试全过程,同时可进行远程系统维护和管理。3. 需求分析本系统主要针对老师出题和学生考试而设计, 传统的考试都是首先由老师出题之后在组 织考试、 阅卷和发布成绩, 这样做就导致大量的人力、 物力和时间的浪费, 而且准确性也不 高。 为了克服这些问题, 我们将设计在线试题库系统, 将这一切在网上进行, 实现在线考试 和自动阅卷,方便管理和操作。解放老师的劳动力,方便学生自我检测。3.1软件的设计目标3.1.1设计目标系统应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握。系统非为前 台和后台两个部分,前台主要实现用户的登录、注册,信息的修改,学生的在线考试,可以 选题、答题、自动阅卷等功能;后台主要实现对试题的管理,对用户的管理,和试题的录入 等问题。3.1.2基本要求首先用户登录, 如果登陆成功则系统检测用户类型, 用户类型分两种:普通用户和管理 员。 普通用户登陆后只能进行在线答题和个人信息管理, 在线答题可以选择科目, 可以显示 和隐藏答案提示, 模拟测试后可以重做答错的题。 管理员身份登录功能较多, 除了以上功能 外,还可以进行科目、试题和用户信息的管理,管理员可以增加、删除、修改科目和试题, 还可以删除和修改用户信息,增加用户在用户功能中完成。我们可以把以上概述分为以下几个功能。1 用户注册2 在线答题3 科目管理功能4 试题管理功能5 用户管理功能6 个人信息管理3.2系统开发工具介绍SQL Server是一个后台数据库管理系统 , 它功能强大操作简便,日益为广大数据库用户 所喜爱,越来越多的开发工具提供了与 SQL Server的接口。 SQL Server 是一个关系数据库 管理系统,它最初是由 Microsoft 、 Sybase 和 Ashton-Tate 三家公司共同开发的。于 1988 年 推出了第一个 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不但可以应用于大中型数据库管理中, 建立分布式关系数据库, 并且也可以开发桌面数据库。 事实上, SQL Server数据库处理的基本结构, 采取关系型数据库模式, 尽管如此, 相信大家 都可以轻易的发现,在 SQL Server 的数据库处理方式,则是使用面向对象的操作理念与实 践精神。 也就是说, SQL Server的所有功能都可以基于系统已经建立好的一些对象来达成功 能,是相当 O (面向对象的一个系统结构。 SQL Server企业管理器是 SQL Server 的主要 管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以定义 SQL Server实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有 SQL Server 选项。在每个已注 册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。在每个已注 册的服务器上定义并执行所有 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#是微软公司在二 OOO 年六月发布的一种新的编程语言 , 并定于在微软职业开发者论坛 (PDC上登台亮相 .C#是微软公司研究员 Anders Hejlsberg的最新成果 .C#看起来与 Java 有着惊人的 相似 ; 它包括了诸如单一继承 , 界面 , 与 Java 几乎同样的语法 , 和编译成中间代码再运行的过程 . 但是 C#与 Java 有着明显的不同 , 它借鉴了 Delphi 的一个特点 , 与 COM(组件对象模型 是直接 集成的 , 而且它是微软公司 .NET windows网络框架的主角。3.3系统总体设计3.3.1系统结构设计本系统的结构主要分为三个部分, 用户的注册, 普通用户 (即学生 , 管理员 (即老师 。 普通用户通过登录到普通用户界面, 在此界面可以进行在线答题, 和个人信息修改。 管理员 通过登录可以进行在线答题,用户管理,科目管理和试题管理。3.3.2系统结构图 图 3.1 系统结构图3.4系统流程图本系统用户分为管理员和学生,在登陆后会进入相应的管理页面,流程图如下: 图 3.2 总流程图 图 3.3 学生操作流程图 图 3.4 管理员操作流程图4. 数据库设计作为网络的一个重要应用, 数据库在网站建设与网站营销中发挥着重要的作用, 与普通 网站相比而言, 具有数据库功能的网站和网页我们通常称之为动态页面, 也就是说页面不是 一成不变的, 页面上内容 (或部分内容 是动态生成的, 可以根据数据库中的相应部分内容 的调整而发生变化, 使网站内容更灵活, 维护更方便, 更新更便捷。 所以数据库设计是项目 开发中的一个非常重要的环节, 数据库设计的好坏直接影响到系统的效率和实现效果。 数据 库设计主要在于表的设计及各个表之间的关系设计。4.1概念设计概念结构设计是整个数据库设计的关键, 它通过 E-R 图来表示实体 (即数据对象 、 属 性和联系的方法, 用来描述现实世界的概念模型。 在此我们用 E-R 图来表示数据之间的关系。 图 4.1 角色信息 E-R 图 图 4.2 用户信息 E-R 图 图 4.3 课程信息 E-R 图 图 4.4 试题信息 E-R 图 图 4.5 填空题信息表 图 4.6 判断题信息表4.2逻辑设计经过分析初步确定在数据库中分别建立用户信息表、 角色信息表、 选择试题信息表填空 题信息表、判断题信息表、课程信息表等六张表,如下所示: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,panduanContent,Answer tiankong(tiankongID,coursed,tiankongContent,Answer4.3数据字典利用数据字典,可以进一步描述数据流图中的相关元素。下面列出了数据字典。 4.7 数据字典4.4物理设计本系统共有六张表,角色表(roleID 主要存放角色信息,用户表(user 存放用户信 息, 选择试题表 (question 存放试题信息, 判断信息表 (pamduan , 填空信息表 (tiankong , 课程表(course 存放课程信息。详细设计分别为下表所示:表 4.1 角色信息表字段 类型 字段长度 是否为空 是否为主键 说明 roleID Int 自增长 否 主键 角色编号 roleName V archar 20 否 否 角色名表 4.2 用户信息表字段 类型 字段长度 是否可为空 是否为主键 说明 UserName V archar 50 否 主键 用户名 Password V archar 50 否 否 密码 Sex V archar 2 可以 否 性别 Useridentity V archar 20 可以 否 身份证号码 E-mail V archar 50 可以 否 电子邮箱 roleID Int 否 外键 角色编号表 4.3 课程信息表字段 类型 字段长度 是否为空 是否为主键 说明 CourseID Int 自增长 否 主键 课程编号 courseName V archar 50 否 否 课程名 Temp1 V archar 100 可以 否 备用字段 1 Temp2 V archar 100 可以 否 备用字段 2表 4.4 选择试题信息表字段 类型 字段长度 是否为空 是否为主键 说明 questionID Int 自增长 否 主键 题号 courseID Int 否 否 课程编号 questionContent V archar 500 可以 否 题干 answer1 V archar 100 可以 否 A 答案 answer2 V archar 100 可以 否 B 答案 answer3 V archar 100 可以 否 C 答案 answer4 V archar 100 可以 否 D 答案 rightAnswer V archar 50 否 否 正确答案表 4.5 判断试题信息表字段 类型 字段长度 是否为空 是否为主键 说明 panduanID Int 自增长 否 主键 题号 courseID Int 否 否 课程编号 panduanContent Varchar 500 可以 否 题干 Answer Varchar 50 否 否 正确答案表 4.6 填空题信息表字段 类型 字段长度 是否为空 是否为主键 说明 tiankongID Int 自增长 否 主键 题号 courseID Int 否 否 课程表号 TiankongCentent Varchar 500 可以 否 题干 Answer Varchar 50 否 否 正确答案对应的数据库创建语句如下:create table roleID(roleID int identity(1,1 primary key,roleName varchar(20Gocreate 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,temp1 varchar(100,temp2 varchar(100Gocreate 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(50 not nullGocreate 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 nullGocreate table tiankong(tiankongID int identity(1,1 primary key,courseID int foreign key references course(courseID, tiankongContent varchar(500 not null,Answer varchar(50 not nullGo5. 系统实现系统框架和数据库设计完成之后,就可以开始进行系统的实现了,本系统采用 Visual Studio 2008 作为开发环境, Dreamweaver 作为辅助工具。下面将具体介绍在线试题库系统 的设计过程。5.1 登录模块新建登录模块页面 Login.aspx ,可以使用 dreamweaver 编辑编辑页面结构,并加入必要 的控件。表 5.1 登陆页面“ Login.aspx ”中添加的控件及属性设置控件 ID 控件类型 属性 值txtName TextBox ID txtNameTxtpassword TextBox ID txtPasswordtfvPassword RequiredFieldV alidator ID rfvName ControlToV alidate txtName ErrorMessage *rfvPassword RequiredFieldV alidator ID rfvPassword ErrorMessage * ControlToV alidator txtPasswordbtnLogin Button ID btnLogin Text 登录btnRegist Button ID btnRegist Text 取消 Causeslidation false在 Login.aspx.cx 文件中添加代码 , 主要分为连接数据库对用户名进行判断和将用户信息 存入 Session 中。5.2注册页面创建注册页面 Regist.aspx ,此页面中的控件众多,在这里主要采用 Regular*控件对用户 输入的信息进行判定,需要注意的有:1 验证控件 Regular*的 ControlToV alidator 属性需设置为相对应的 TextBox 的值;2 用户名、身份证和邮箱验证需用到正则表达式分别为 wd4,16$(用户名长度为 4-16位 w+(-+.w+*w+(-.w+*.w+(-.w+*(邮 箱 的 格 式 d17d|X|d15(身份证长度为 15或 18位 ;3 性别控件 RadioButton 应设置在同一个 group 中图 5.1 注册流程图5.3系统主页面用户登录以后就可以进入主页面了, 不同类型的用户登录, 页面呈现的功能不同, 普通 用户只能在线答题和修改个人信息;管理员则可以进行科目管理、试题管理和让用户管理。 主页面采用框架式结构设计,把页面分为上、下、左、右四个部分。框架页面无法使用设计 视图,只能使用源视图进行设置。主界面连接的四个页面,分别是“ top.htm ” 、 “ Left.aspx ” 、 “ Welcome.htm ” 、 “ Bottom.htm ” 。 “ top.htm ”页面中放置本网站的 log ; “ Welcome.htm ”页面 显示用户刚登陆时的页面; “ Bottom.htm ”页面为本网站的信息; “ Left.aspx ”页面要根据不 同类型的登录用户显示不同连接以实现不同的功能。 “ Left.aspx ”的设计如图所示: 图 5.2 “ Left.aspx ”页面的设计视图页面中只有 3个控件:1个 Lable 和 2个 Table 。 Lable 控件显示登录用户名, Table1控 件在管理员登陆时显示, Table2控件在普通用户登录时显示。5.4在线考试模块在线考试模块 (ShowQuestion.aspx 是本系统的核心模块, 无论管理员还是普通用户都 可以进行在线测试。在此页面中选择不同的试题进行测试,也可以显示或者隐藏答案提示。 本系统的试题都采用单选题的模式, 答题完毕后交卷即可显示答案正误情况, 可以重新答答 错了的题,也可以重新回答所有问题。在线考试页面的设计视图如下: 图 5.3在线考试页面的设计视图接下来通过编辑 DataList 控件的 ItemTemplate 模板显示数据。首先在代码隐藏文件 “ ShowQuestion.aspx.cs ”的 Page_Load中编写代码,实现页面第一次加载时,将 DataList 控件绑定到数据源。另外 DropDownList 控件要显示的科目名称也要从数据库中提取,同样 需要绑定数据源。在 ItemTemplate 模板中添加控件属性设置如下表所示:表 5.2 DropDownList中控件的属性以及值控件 ID 控件类型 属性 值 lblQuestionContent Lable ID lblQuestionContentrbtn1 RadioButton ID Rbtn1 GroupName gnSelectRbtn2 Radiobutton ID Rbtn2 GroupName gnSelectRbtn3 Radiobutton ID Rbtn3 GroupName gnSelectrbtn4 Radiobutton ID Rbtn4 GroupName gnSelectlblAnswer Lable ID lblAnswer ForeColor Red V isible False表 5.3 对 ItemTemplate 模板添加对应的绑定表达式 控件 ID 绑定表达式lblQuestionContent 第 +(Container.ItemIndex+1+ 题 : +DataBinder.Eval(Container.DataItem,questionContentRbtn1 A: +DataBinder.Eval(Container.DataItem,answer1Rbtn2 B: +DataBinder.Eval(Container.DataItem,answer2Rbtn3 C: +DataBinder.Eval(Container.DataItem,answer3Rbtn4 D: +DataBinder.Eval(Container.DataItem,answer4lblAnswer 正确答案:+DataBinder.Eval(Container.DataItem,rightAnswer5.5科目管理模块拥有管理员权限的用户才可以进入科目管理模块 (SubjectManagement.aspx 。 在科目管 理模块中除了显示已有的科目外, 还要实现增加更改删除科目。 因科目总数有限, 无需查找 功能。设计视图如下: 图 5.4 科目管理模块设计视图为了在 GridView 中显示科目,还需要绑定数据,首先在代码隐藏文件中编写实现页面 第一次加载时将 GridView 控件绑定到数据源, 然后将数据库中的数据绑定到 GridView 控件, 接着为 GridView 控件分别添加 RowEditing、RowUpdating、RowCancelingEdit、RowDeleting 事件,这些事件分别在单击编辑更新取消删除时发生,为防止用户操作失误删除科目,在删 除时应提示是否删除,这个事件在 RowDataBound 事件中编写代码,实现对删除操作的判定 5.6 试题管理模块 拥有过管理员权限才可进入试题管理模块(QuestionManagement.aspx) ,设计图如下: 图 5.5 试题管理模块设计视图 首先要实现对第一次加载该页面时的绑定数据,然后对 GridView 控件进行绑定代码, 接着对修改和删除事件添加相应代码,修改和增加页面用同一个页面(AddQuestion.aspx) 。 修改时要将数据传入 AddQuestion.aspx 页面。代码如下: protected 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(; 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.ToString(.Trim(; string a4 = GridView1.Rowse.NewEditIndex.Cells5.Text.ToString(.Trim(; string rightAnswer = 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; AddQuestion.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.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.ParamscourseID = null/添加 sqlString = 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 = + questionContent + ,answer1= + a1 + , answer2= + a2 + , answer3= + a3 + , answer4= + a4 + , rightAnswer= + rightAnswer + where questionID= + Request.ParamsquestionID + ; SqlConnection con = new SqlConnection(connectionString; SqlCommand com = new SqlCommand(sqlString, con; con.Open(; com.ExecuteNonQuery(; 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 事件
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!