版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-可编辑修改-可行性研究2.1系统开发的目的和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。当前,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线试题库系统可以使用户在网上学习过后及时检验自己的学习效果,并发现自己的不足,使得学习效率得到
2、很大提高。考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化,这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。2.2技术可行性目前,网络应用软件运行的模式主要有两类:C/S模式,B/S模式。C/S模式简单地讲就是基于企业内部网络的应用系统。它和B/S模式相比最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。但是它也有很多缺点,他必须安装客户端,势必造成维护、升级的麻烦。而B/S模式则解决了这一问题,B/S模式是通过互联网来实现的,它何以随时
3、随地的进行查询和浏览业务,维护简单,只需改变网页,即可实现所有用户的同步更新,开发简单,共享性强。所以大多数软件都采用B/S模式。服务器端采用SQLServer数据库系统和微软最新的.net平台及ASP.net技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。需求分析本系统主要针对老师出题和学生考试而设计,传统的考试都是首先由老师出题之后在组织考试、阅卷和发布成绩,这样做就导致大量的人力、物力和时间的浪费,而且准确性也不高。为了克服这些问题,我们将设计在线试题库系统,将这一切在网上进行,实现在线考试和自动阅卷,方便管理和操作。解放老师的劳动力,方便学
4、生自我检测。3.1软件的设计目标3.1.1设计目标系统应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握。系统非为前台和后台两个部分,前台主要实现用户的登录、注册,信息的修改,学生的在线考试,可以选题、答题、自动阅卷等功能;后台主要实现对试题的管理,对用户的管理,和试题的录入等问题。3.1.2基本要求首先用户登录,如果登陆成功则系统检测用户类型,用户类型分两种:普通用户和管理员。普通用户登陆后只能进行在线答题和个人信息管理,在线答题可以选择科目,可以显示和隐藏答案提示,模拟测试后可以重做答错的题。管理员身份登录功能较多,除了以上功能外,还可以进行科目、试题和用户信息的管理,管理员可以
5、增加、删除、修改科目和试题,还可以删除和修改用户信息,增加用户在用户功能中完成。我们可以把以上概述分为以下几个功能。1)用户注册2)在线答题3)科目管理功能4)试题管理功能5)用户管理功能6)个人信息管理3.2系统开发工具介绍SQLServer是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQLServer的接口。SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在
6、SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上专注于开发推广SQLServer的WindowsNT版本SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。SQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发
7、现,在SQLServer的数据库处理方式,则是使用面向对象的操作理念与实践精神。也就是说,SQLServer的所有功能都可以基于系统已经建立好的一些对象来达成功能,是相当O(面向对象)的一个系统结构。SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以定义SQLServer实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有SQLServer选项。在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有SQLServer管理任务。通过唤醒调用SQL查询分析器,交
8、互地设计并测试SQL语句、批处理和脚本。唤醒调用为SQLServer定义的各种向导。C#(CSharp)是微软(Microsoft)为.NETFramework量身订做的程序语言,C#拥有C/C+的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言和C+与Java样亦为对象导向(object-oriented)程序语言。Csharp(又被简称为C#)是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与Java有
9、着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。3.3系统总体设计3.3.1系统结构设计本系统的结构主要分为三个部分,用户的注册,普通用户(即学生),管理员(即老师)。普通用户通过登录到普通用户界面,在此界面可以进行在线答题,和个人信息修改。管理员通过登录可以进行在线答题,用户管理,科目管理和试题管理。3.3.2系统结构图注册用户在线答题修改个人信息在线答题管理用户管理科目管理试题图3.1系
10、统结构图3.4系统流程图本系统用户分为管理员和学生,在登陆后会进入相应的管理页面,流程图如下:图3.2总流程图图3.3学生操作流程图管理员界面答题测试科目管理题库管理用户管理VVT*T对录入的试卷增加、删除、增加、编辑、编辑、删除进行测试编辑科目删除试题用户V退出图3.4管理员操作流程图数据库设计作为网络的一个重要应用,数据库在网站建设与网站营销中发挥着重要的作用,与普通网站相比而言,具有数据库功能的网站和网页我们通常称之为动态页面,也就是说页面不是一成不变的,页面上内容(或部分内容)是动态生成的,可以根据数据库中的相应部分内容的调整而发生变化,使网站内容更灵活,维护更方便,更新更便捷。所以数
11、据库设计是项目开发中的一个非常重要的环节,数据库设计的好坏直接影响到系统的效率和实现效果。数据库设计主要在于表的设计及各个表之间的关系设计。4.1概念设计概念结构设计是整个数据库设计的关键,它通过E-R图来表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。在此我们用E-R图来表示数据之间的图4.1角色信息E-R图EmialpassworduserName.丿rolelDsexuser图4.2用户信息E-R图course图4.3课程信息E-R图图4.4试题信息E-R图tiankongIDtiankongcourselD.丿tiankongConI、tent/Answer图4.
12、5填空题信息表courselD图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,roleI
13、D)pamduan(panduanID,course,panduanContent,Answer)tiankong(tiankongID,coursed,tiankongContent,Answer)4.3数据字典利用数据字典,可以进一步描述数据流图中的相关元素。下面列出了数据字典。名称角色信息表别名角色信息描述用户角色信息,用于区分用户的操作权限定义角色信息=角色编号+角色名位置保存在数据库中名称用户信息管理别名用户信息描述用户角色信息,用于记录用户的基本信息定义用户信息=用户名+密码+性别+身份证号码+电子邮件位置保存在数据库中名称课程信息管理别名课程信息描述用于管理课程信息定义课程信息=
14、课程编号+课程名位置保存在数据库中名称选择题试题表别名选择试题描述用于对选择题的查询定义选择题信息=题号+题干+答案+正确答案位置保存在数据库中名称填空题试题表名称判断题试题表别名填空试题别名判断试题描述用于对填空题的查询描述用于对判断题的查询定义填空题信息=题号+题干+正确答定义判断题信息=题号+题干+正确答案案位置保存在数据库中位置保存在数据库中4.7数据字典4.4物理设计本系统共有六张表,角色表(rolelD)主要存放角色信息,用户表(user)存放用户信息,选择试题表(question)存放试题信息,判断信息表(pamduan),填空信息表(tiankong),课程表(course)存
15、放课程信息。详细设计分别为下表所示:表4.1角色信息表字段类型字段长度是否为空是否为主键说明roleIDInt自增长否主键角色编号roleNameVarchar20否否角色名表4.2用户信息表字段类型字段长度是否可为空是否为主键说明UserNameVarchar50否主键用户名PasswordVarchar50否否密码SexVarchar2可以否性别UseridentityVarchar20可以否身份证号码E-mailVarchar50可以否电子邮箱roleIDInt否外键角色编号表4.3课程信息表字段类型字段长度是否为空是否为主键说明CourseIDInt自增长否主键课程编号courseNa
16、meVarchar50否否课程名Temp1Varchar100可以否备用字段1Temp2Varchar100可以否备用字段2表4.4选择试题信息表字段类型字段长度是否为空是否为主键说明questionIDInt自增长否主键题号courseIDInt否否课程编号questionContentVarchar500可以否题干answerVarchar100可以否A答案answer2Varchar100可以否B答案answer3Varchar100可以否C答案answer4Varchar100可以否D答案rightAnswerVarchar50否否正确答案表4.5判断试题信息表字段类型字段长度是否为空
17、是否为主键说明panduanIDInt自增长否主键题号courseIDInt否否课程编号panduanContentVarchar500可以否题干AnswerVarchar50否否正确答案表4.6填空题信息表字段类型字段长度是否为空是否为主键说明tiankongIDInt自增长否主键题号courseIDInt否否课程表号TiankongCententVarchar500可以否题干AnswerVarchar50否否正确答案对应的数据库创建语句如下:createtableroleID(roleIDintidentity(1,1)primarykey,roleNamevarchar(20)Gocre
18、atetableuser(userNamevarchar(50)primarykey,passwordvarchar(50)notnull,sexvarchar(2),userIdentityvarchar(20),Emailvarchar(50),roleIDintforeignkeyreferencesroleID(roleID)Gocreatetablecourse(courseIDintidentity(1,1)primarykey,courseNamevarchar(50)notnull,temp1varchar(100),temp2varchar(100)Gocreatetable
19、question(questionIDintidentity(1,1)primarykey,courseIDintforeignkeyreferencescourse(courseID),questionContentvarchar(500)notnull,answer1varchar(100),answer2varchar(100),answer3varchar(100),answer4varchar(100),rightAnswervarchar(50)notnull)Gocreatetablepamduan(panduanIDintidentity(1,1)primarykey,cour
20、seIDintforeignkeyreferencescourse(courseID),panduanContentvarchar(500)notnull,Answervarchar(50)notnull)Gocreatetabletiankong(tiankongIDintidentity(1,1)primarykey,courseIDintforeignkeyreferencescourse(courseID),tiankongContentvarchar(500)notnull,Answervarchar(50)notnull)Go系统实现系统框架和数据库设计完成之后,就可以开始进行系统
21、的实现了,本系统采用VisualStudio2008作为开发环境,Dreamweaver作为辅助工具。下面将具体介绍在线试题库系统的设计过程。登录模块新建登录模块页面Login.aspx,可以使用dreamweaver编辑编辑页面结构,并加入必要的控件。表5.1登陆页面Login.aspx中添加的控件及属性设置控件ID控件类型属性值txtNameTextBoxIDtxtNameTxtpasswordTextBoxIDtxtPasswordIDrfvNametfvPasswordRequiredFieldValidatorControlToValidatetxtNameErrorMessage*
22、IDrfvPasswordrfvPasswordRequiredFieldValidatorErrorMessage*ControlToValidatortxtPasswordbtnLoginIDbtnLoginButtonText登录IDbtnRegistbtnRegistButtonText取消Causeslidationfalse在Login.aspx.cx文件中添加代码,主要分为连接数据库对用户名进行判断和将用户信息存入Session中。注册页面创建注册页面Regist.aspx,此页面中的控件众多,在这里主要采用Regular*控件对用户输入的信息进行判定,需要注意的有:1)验证控件
23、Regular*的ControlToValidator属性需设置为相对应的TextBox的值;2)用户名、身份证和邮箱验证需用到正则表达式分别为人wd4,16$(用户名长度为4-16位)w+(-+.w+)*w+(-.w+)*.w+(-.w+)*(邮箱的格式)d17d|X|d15(身份证长度为15或18位);3)性别控件RadioButton应设置在同一个group中开始J填写注册信息I丄Y判断表中是_否存在数据系统主页面用户登录以后就可以进入主页面了,不同类型的用户登录,页面呈现的功能不同,普通用户只能在线答题和修改个人信息;管理员则可以进行科目管理、试题管理和让用户管理。主页面采用框架式结构
24、设计,把页面分为上、下、左、右四个部分。框架页面无法使用设计视图,只能使用源视图进行设置。主界面连接的四个页面,分别是top.htm”、“Leftaspx”、Welcome.htm”、“Bottom.htmtop.htm页面中放置本网站的log“Welcome.htm”页面显示用户刚登陆时的页面“Bottom.htm”页面为本网站的信息;Left.aspx页面要根据不同类型的登录用户显示不同连接以实现不同的功能。“Leftaspx”的设计如图所示:Lab(?l答题测5不显示!用于显7F用lable:户登录1息table1?答题测试科目管瑾题库管理用户管理图5.2Left.aspx页面的设计视图
25、页面中只有3个控件:1个Lable和2个Table。Lable控件显示登录用户名,Table1控件在管理员登陆时显示,Table2控件在普通用户登录时显示。5.4在线考试模块在线考试模块(ShowQuestion.aspx)是本系统的核心模块,无论管理员还是普通用户都可以进行在线测试。在此页面中选择不同的试题进行测试,也可以显示或者隐藏答案提示。本系统的试题都采用单选题的模式,答题完毕后交卷即可显示答案正误情况,可以重新答答错了的题,也可以重新回答所有问题。Dat:=iLimt在线考试页面的设计视图如下:右击或舞囁辑模板“任务来编辑漠板内容需要使用ItemTemplate图5.3在线考试页面的
26、设计视图接下来通过编辑DataList控件的ItemTemplate模板显示数据。首先在代码隐藏文件“ShowQuestion.aspx.cs的Page_Load中编写代码实现页面第一次加载时将DataList控件绑定到数据源。另外DropDownList控件要显示的科目名称也要从数据库中提取,同样需要绑定数据源。在ItemTemplate模板中添加控件属性设置如下表所示:表5.2DropDownList中控件的属性以及值控件ID控件类型属性值lblQuestionContentLableIDlblQuestionContentIDRbtn1rbtn1RadioButtonGroupNameg
27、nSelectIDRbtn2Rbtn2RadiobuttonGroupNamegnSelectIDRbtn3Rbtn3RadiobuttonGroupNamegnSelectIDRbtn4rbtn4RadiobuttonGroupNamegnSelectIDlblAnswerlblAnswerLableForeColorRedVisibleFalse表5.3对ItemTemplate模板添加对应的绑定表达式控件ID绑定表达式lblQuestionContent第+(Containe匚ItemIndex+1)+题:+DataBinder.Eval(Container.DataItem,quest
28、ionContent)Rbtn1Rbtn2Rbtn3Rbtn4IblAnswerA:+DataBinder.Eval(Container.DataItem,answer1)B:+DataBinder.Eval(Container.DataItem,answer2)C:+DataBinder.Eval(Container.DataItem,answer3)D:+DataBinder.Eval(Container.DataItem,answer4)正确答案:+DataBinder.Eval(Container.DataItem,rightAnswer)5.5科目管理模块拥有管理员权限的用户才可以进
29、入科目管理模块(SubjectManagement.aspx)。在科目管理模块中除了显示已有的科目外,还要实现增加更改删除科目。因科目总数有限,无需查找功能。设计视图如下:图5.4科目管理模块设计视图为了在GridView中显示科目,还需要绑定数据,首先在代码隐藏文件中编写实现页面第一次加载时将GridView控件绑定到数据源,然后将数据库中的数据绑定到GridView控件,接着为GridView控件分别添加RowEditing、RowUpdating、RowCancelingEdit、RowDeleting事件,这些事件分别在单击编辑更新取消删除时发生,为防止用户操作失误删除科目,在删除时应
30、提示是否删除,这个事件在RowDataBound事件中编写代码,实现对删除操作的判定5.6试题管理模块拥有过管理员权限才可进入试题管理模块(QuestionManagement.aspx),设计图如下:增加试题SqlDataSource-TitleManagementColumnOColumn1Column2abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc图5.5试题管理模块设计视图首先要实现对第一次加载该页面时的绑定数据,然后对GridView控件进行绑定代码,接着对修改和删除事件添加相应代码,修改和增加页面用同一个页面(AddQuestion.as
31、px)修改时要将数据传入AddQuestion.aspx页面。代码如下:protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse)stringcourseID=ddlCourseName.SelectedValue.ToString();stringquestionID=GridView1.Rowse.NewEditIndex.Cells0.Text.ToString().Trim();stringquestionContent=GridView1.Rowse.NewEditIndex.Cells1.Text.T
32、oString().Trim();stringa1=GridView1.Rowse.NewEditIndex.Cells2.Text.ToString().Trim();stringa2=GridView1.Rowse.NewEditIndex.Cells3.Text.ToString().Trim();stringa3=GridView1.Rowse.NewEditIndex.Cells4.Text.ToString().Trim();stringa4=GridView1.Rowse.NewEditIndex.Cells5.Text.ToString().Trim();stringright
33、Answer=GridView1.Rowse.NewEditIndex.Cells6.Text.ToString().Trim();stringstr=AddQuestion.aspx?courseID=+courseID+&questionID=+questionID+&questionContent=+questionContent+&a1=+a1+&a2=+a2+&a3=+a3+&a4=+a4+&rightAnswer=+rightAnswer;Response.Redirect(str);AddQuestion.aspx页面的设计视图如下:4备选答取消C厂DL盘厂E题干萱选答案4負选答
34、*=软答题干最多500个字符,答案最多100个字符*專目名I数据绑定创SqlDataSource-courseName确定图5.6增加试题模块设计视图在AddQuestion.aspx.cs中编写代码,将修改前的信息加载到页面上。因为增加和修改页面在同一个页面中完成所以页面中的确定button要实现增加和修改两个功能,事件代码如下:protectedvoidbtnOK_Click(objectsender,EventArgse)stringcourseID=ddlCourseName.SelectedValue;stringquestionContent=txtQuestion.Text.Tr
35、im();stringa1=txtA.Text.Trim();stringa2=txtB.Text.Trim();stringa3=txtC.Text.Trim();stringa4=txtD.Text.Trim();stringrightAnswer=rblAnswer.SelectedItem.Text;stringconnectionString=server=.;InitialCatalog=WebTest;IntegratedSecurity=True;stringsqlString;if(Request.ParamscourseID=null)/忝加sqlString=insert
36、intoquestion(courseID,questionContent,answer1,answer2,answer3,answer4,rightAnswer)values(+courseID+,+questionContent+,+a1+,+a2+,+a3+,+a4+,+rightAnswer+);else/修改sqlString=updatequestionsetcourseID=+courseID+,questionContent=+questionContent+,answer1=+a1+,answer2=+a2+,answer3=+a3+,answer4=+a4+,rightAn
37、swer=+rightAnswer+wherequestionID=+Request.ParamsquestionID+;SqlConnectioncon=newSqlConnection(connectionString);SqlCommandcom=newSqlCommand(sqlString,con);con.Open();com.ExecuteNonQuery();con.Close();Response.Redirect(QuestionManagement.aspx);protectedvoidbtnCancel_Click(objectsender,EventArgse)Res
38、ponse.Redirect(QuestionManagement.aspx);5.7用户管理模块用户管理模块只有一个GridView控件直接为其编写页面加载代码和事件代码即可,在这里主要是更新用户信息的实现比较难。5.8个人信息修改模块此模块为普通用户登录后显示的模块,可进行用户的个人信息修改,此页面与用户注册页面非常相似,只有两点不同:一是用户名不能修改,要将所有显示用户名的textBox的Enable属性设置为false,二是为了确定操作者的身份,修改个人信息时要输入原用户名密码,这里设置了一个CustomValidator用户自定义验证控件,将Customvalidator控件的ID的属性设置为cvOldPassword,ContortionlToValidate属性设置为txtOldPassword,ErrorMessage属性设置为“原密码不正确”。最后实现确定修改和取消修改事件,双击进入隐藏代码文件编写Click事件。系统运行测试6.1运行环境Web服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB51T 1739-2023 规模鸭场建设规范
- DB51T 1110-2010 阿坝蜜蜂种蜂王
- DB51T 1051-2010 桑蚕一代杂交种保护技术规程
- DB51T 1027-2010 出口姬菇菌种
- 电刷生产加工项目可行性研究报告
- 软磁材料投资规划项目建议书
- 控制器生产加工项目可行性研究报告
- 无锡护肤课程设计公司
- 新建眼镜PVC袋项目立项申请报告
- 2024-2030年模温机公司技术改造及扩产项目可行性研究报告
- JGT266-2011 泡沫混凝土标准规范
- 配电室运行维护投标方案(技术标)
- 快手申诉文本
- 小学体育随班就读学生个别辅导表
- 感恩祖国主题班会通用课件
- 压力容器安全技术-压力容器的安全附件
- 《0~3岁婴幼儿动作发展与指导》项目一-0~3岁婴幼儿动作发展概述
- 个人晋升现实表现材料范文四篇
- 国标安全标志-中英文禁止标志标识
- 《动画鉴赏》教学大纲
- 三年级法制教育课件
评论
0/150
提交评论