天津师范大学论文打印样本样本.docx

上传人:b****8 文档编号:9307760 上传时间:2023-02-04 格式:DOCX 页数:34 大小:1.09MB
下载 相关 举报
天津师范大学论文打印样本样本.docx_第1页
第1页 / 共34页
天津师范大学论文打印样本样本.docx_第2页
第2页 / 共34页
天津师范大学论文打印样本样本.docx_第3页
第3页 / 共34页
天津师范大学论文打印样本样本.docx_第4页
第4页 / 共34页
天津师范大学论文打印样本样本.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

天津师范大学论文打印样本样本.docx

《天津师范大学论文打印样本样本.docx》由会员分享,可在线阅读,更多相关《天津师范大学论文打印样本样本.docx(34页珍藏版)》请在冰豆网上搜索。

天津师范大学论文打印样本样本.docx

天津师范大学论文打印样本样本

 

天津师范大学

本科毕业论文(设计)

 

题目:

基于web的在线测试系统的研究与实现

 

学院:

数学科学学院

学生姓名:

刘文龙

学号:

06505155

专业:

信息与计算科学

年级:

2007级

完成日期:

2011年5月16日

指导教师:

尚春虹

基于web的在线测试系统的研究与实现

 

摘要:

测试是现代教育中的一个重要环节,在教学实际中起着重要作用。

利用计算机和网络开发测试系统,一方面可以辅助教师进行随堂测试和阶段考查,从而全面了解学生的学习情况,及时调整教学规划与策略;另一方面可以辅助学生进行随机、分类测试,从而了解自身的学习现状,及时查漏补遗,使学习更加有的放矢。

针对上述教学与学习的需要,本课题采用ASP.net、C#、JavaScript和MS-SQL数据库等技术,应用VisualStudio2008,SQLSERVER2008等软件,研制开发了基于Web的在线测试系统,实现以下主要功能。

第一,学生可智能化地按章、节、知识点选择题目进行随时、随机的网上测试,并可查阅每道测试题目的解析;第二,收集、记忆前次测试数据,进行科学分析,按照错误率比重修改出题比例,智能化地组成下次测试题目,并给出相应的反馈和提示信息,为学生进行有针对性的学习提供帮助;第三,为教师组织试题、收集信息、自动阅卷提供直观、便捷的管理平台,从而提高测试的时效性和效率。

本课题可推广到多门课程中应用。

本论文在上述课题的研制与开发基础上,就其研究目的与意义、系统实现、相关技术、安全性等方面进行了阐述。

关键词:

在线测试;抽题;数据整理;智能反馈;ASP.net;三层架构

On the Research and Implementation of Web-based online test system

 

Abstract:

Testingisanimportantpartofmoderneducationandplayanimportantroleinteachingpractice.Byusingcomputerandnetworktodeveloptestsystem,ontheonehand,itcanhelpteachertohaveclassroomtestandperiodexaminationfordeeplyunderstandingofstudentlearningandadjustteachingplanningandstrategytimely;ontheotherhand,italsocanhelpstudentstohaverandomandclassificationtestsforunderstandingtheirownlearningsituationandfindsomeshortcomingwhichmaketheirlearningmoreefficiency.Referringtotheteachingandlearningrequirements,thesubjectusingASP.net,C#,JavaScript,MS-SQLdatabasetechnology,VisualStudio2008,SQLSERVER2008andothersoftwaretodevelopedWeb-basedonlinetestmanagementsystemwhichachievethefollowingmainfunctions:

first,studentscanintelligentlyselectthetopicsofknowledgepointsbychapter,section,,onlinetestatrandomatanytimeandplace;second,collecttestdataforscientificanalysiswhichgivefeedbackandtipsofscientificinformationtohelpstudentspointedlearning;third,organizequestionsandgatherinformationforteachers,provideconvenientmanagementplatformforpapermarkingintelligently;fourth,providealargenumberofstandardizedtests,checkedandmarkedbycomputerswhichcanimprovetestefficiency.Thistopiccanbeextendedtouseinthemultiplecoursesofteaching.

Thepaperdescribedthepurposeandsignificance,systemrealization,techniquesonbasedofsubjectresearchanddevelopment,Securityandsoon.

Keywords:

testonline;pumpingtitle;dataanalysis;intelligentfeedback;ASP.net;MVC.

 

目录

1绪论

(1)

1.1引言

(1)

1.2研究的目的与意义

(1)

2系统技术实现

(2)

2.1软件环境

(2)

2.2系统体系架构

(2)

2.3B/S开发模式(3)

2.4系统关键技术(3)

2.5数据流图(5)

2.6数据库设计(6)

2.7抽题页面的JavaScript实现(11)

2.8C#对EXCEL的控制(12)

2.9抽题算法的实现(13)

3系统各功能模块(15)

3.1系统总体流程图(15)

3.2系统主要功能模块(16)

3.2.1新增试题模块(16)

3.2.2题库管理模块(17)

3.2.3教师组卷模块(17)

3.2.4测试抽题模块(18)

3.2.5课堂练兵与在线考试模块(19)

4系统安全性分析与设计(19)

4.1用户权限(19)

4.2地址栏路径非法访问(20)

4.3SQL注入式攻击(20)

4.4敏感数据加密(21)

5系统调试(22)

6思考与展望(23)

参考文献(24)

致谢(25)

1绪论

1.1引言

在计算机科技高速发展的今天,基于网络环境下的信息技术以惊人的速度改变着人们的思维方式与工作模式。

在教育领域中,为适应时代的发展,通过各种信息技术改革传统教学模式,突破传统教学理念和教学方法的束缚已成为当今教育教学改革的热点区域,本课题即是上述问题的一种有益尝试。

1.2研究的目的与意义

在教学的各项活动中,测试是检验学生掌握所学知识和能力的重要手段之一。

在传统的测试环节中,通过教师出题、课后习题以及考试试卷等方式给予学生测试内容,

一方面,学生只是机械地完成教师部署的题目,不知答题的正确与否,不能查阅每个疑难问题的详细解析,只能被动地等待教师在习题课上进行部分讲解,更不能对有疑问的内容进行有针对性、加强性的后续训练;另一方面,教师需要多次进行组题、组卷、阅卷,由于需要耗费大量时间与精力,因此不能实现对讲授内容按难易程度、涉及知识点等内容进行随机整理、随意组卷和自动阅卷。

基于以上原因,传统的测试模式直接制约了整体教学水平的提升,成为教改过程中不可避免的阻碍。

因此,对于传统的测试方式进行改革成为必然,而计算机网络、数据库等技术的迅猛发展和日益成熟,为这一教学环节的革新创造了客观条件。

本课题采用ASP.net、C#、JavaScript和MS-SQL数据库等技术,应用VisualStudio2008,SQLSERVER2008等软件,研制开发基于Web的在线测试系统,即是在上述背景下产生,它的工作方式大致如下:

第一,将专家与经验丰富的教师经过严格编审、精心挑选的试题收集起来,按章、节、知识点等分类,存储在网络数据库中。

任课教师可通过试题管理系统,基于网络,对试题进行在线添加、修改、删除等操作,也可以在Excel中进行试题编辑,再一并上传到网络数据库中,从而形成有序的网络在线试题库,供学生进行各类测试使用。

第二,以数据库和前台页面的有效结合,为学生提供“课堂练兵”、“自我测试”和“在线考试”功能,学生可以根据自己的学习需要,任意选择章、节、知识点内容,组成网上在线测试题目进行练习,同时可随时查阅每一道测试题目的详细解析,进行有针对性的学习。

第三,利用计算机的数据挖掘和智能化分析技术,对学生每次的测试结果进行统计与分析,给出反馈信息,同时记忆每位学生前次的测试结果,并在下次测试时增大前次错误率较高的试题题目,形成新的出题比例,进行智能化抽题,实现针对每个学生的不同情况,出不同题目的个性化学习目标,使学生对知识掌握的薄弱环节进行加强性训练,提升测试的实际意义。

第四,将网络与数据库高端技术有机结合,使教师可以充分利用本测试系统进行在线考试。

首先,可按照教师设定的组卷条件自动选取试题并生成试卷,在线发布试卷供学生考试,从而一方面保证了组卷的效率与成功率,另一方面保证组卷的随机性、科学性与合理性。

其次,对学生的考试信息进行全面收集,对客观题进行自动阅卷,从而减轻教师阅卷的繁重劳动,提高了测试的客观性和时效性。

本课题以“数据库原理及应用”课程的试题题型为模板,分为“选择题”、“填空题”、“问答题”、“编程题”等。

稍作题型和章节修改,即可适用于其他课程,具有一定的推广价值。

2系统技术实现

2.1软件环境

本课题将系统构建于Microsoft的整套网络解决方案上,服务器端操作系统采用WindowsServer2003EnterpriseEditionServicePack2,数据库采用SQLServer2008,客户端使用IE或其他www浏览器。

系统程序用ASP(ActiveServerPages)实现,网页制作在Dreamweaver8下完成。

由于本系统采用B/S结构并与数据库紧密结合,而ASP是在服务器端执行脚本,因此能很好地保护系统源程序,实现数据库的安全性。

2.2系统体系架构

本系统采用三层架构开发,即界面层(UserInterfaceLayer——UL)、业务逻辑层(BusinessLogicLayer——BLL)和数据访问层(DataAccessLayer——DAL)。

界面层为用户提供输入数据、获取数据功能,用于用户与系统进行信息交互,教师通过该层进行试题添加与管理、组卷阅卷、成绩查看等,学生通过该层进行在线测试、成绩查看等。

业务逻辑层位于界面层和数据访问层之间,负责处理用户输入的信息,并将之发送至数据访问层进行保存,或者通过数据访问层从数据库中读出数据。

该层是界面层和数据访问层的桥梁,响应界面层的用户请求、执行任务并从数据层获取数据,再将必要的数据传送回界面层。

数据访问层实现对数据的保存和读取功能,该层负责定义、维护数据的完整性、安全性,响应逻辑层的请求,访问数据。

数据访问层通常由大型的数据库服务器实现,如Oracle、Sybase、MS-SQLServer等,本系统采用MS-SQLServer实现该项功能。

三层架构的结构如图1:

2.3B/S开发模式

目前比较流行的两种网络开发模式为客户机/服务器(Client/Server)C/S模式与浏览器/服务器(Browse/Server)B/S模式。

本系统采用B/S结构设计。

C/S结构将任务合理地分配到Client端和Server端,充分利用两端硬件环境的优势,降低系统的通讯开销。

但C/S体系结构采用的开放模式只具备系统级的开放性,在特定的应用中无论是Client端还是Server端,仍需要针对不同的操作系统开发不同版本的软件。

相对于C/S结构,B/S结构的前端以TCP/IP协议为基础,企业内的www服务器可以接受安装有Web浏览程序的Internet终端的访问。

在这种结构下,用户界面完全通过www浏览器实现,部分事务在前端实现,主要事务在服务器端实现。

终端用户只须通过Web浏览器,就可以调用系统资源来完成各种处理任务。

此外,由于是基于web,B/S结构具有分布性特点。

可随时、随地进行查询、浏览等业务处理。

因此,B/S结构能够实现原本需要复杂专用软件才能实现的强大功能,减轻了系统维护与升级的成本和工作量,降低了用户的成本,是一种全新的软件系统构造技术。

2.4系统关键技术

本系统使用的关键技术方面,前台用户界面层使用服务器端脚本语言ASP.NET3.0,后台BLL层与DAL层是基于C#语言开发的,数据操作依靠的是数据库存储过程,数据呈现依靠的是数据库视图,数据库设计与连接使用SQLSERVER2008。

本系统的界面层采用ASP.NET技术实现。

作为一种成熟稳定的服务器端脚本技术,ASP.NET可高效便捷地实现在线的动态交互需要。

ASP.NET基于ASP开发而成。

ASP的全称是ActiveServerPages,即活动服务器页面,它能够根据不同用户的需求,在不同的时间向用户显示不同的内容,因此,网站的内容更新变得简单而有趣,ASP也随之得到广泛应用。

ASP.NET是ASP的升级,提供全新而强大的服务器控件结构,其每一页、对象和HTML元素都是一个运行的组件对象,使ASP程序和网页的HTML分开,从而解决了程序繁琐混乱的问题。

在开发语言上,ASP.NET抛弃了VBSCRIPT和JSCRIPT,而使用.NETFramework所支持的VB.NET、C#.NET等语言作为其开发语言,生成的网页在后台被转换成类并编译成一个DLL。

它独立于浏览器,用户端只要使用可解释HTML代码的浏览器,即可浏览ASP所设计的主页;它使用ADO技术访问数据库并进行连接,为ASP提供完整的站点数据库访问方案;它具有面向对象性,在脚本中可方便引用系统组件和内置组件,还能通过定制ActiveX服务器组件(ActiveXServerComponent)扩充功能。

本系统的BLL层和DAL层主要采用C#编写。

C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言,是微软公司研究员AndersHejlsberg的最新成果。

C#是一种简洁、类型安全的面向对象的语言。

它运行于.NETFramework之上,性能稳定,安全性高且开发时有极其丰富的类库支持。

作为一种面向对象的语言,C#支持封装、继承和多态性概念。

所有的变量和方法,都封装在类定义中。

类可能直接从一个父类继承,但它可以实现任意数量的接口。

C#的生成过程比C和C++简单,比Java更为灵活。

没有单独的头文件,也不要求按照特定顺序声明方法和类型。

C#源文件可以定义任意数量的类、结构、接口和事件。

C#看起来与Java有着惊人的相似,它包括与Java几乎相同的单一继承、接口等语法和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,是微软公司.NETwindows网络框架的主角。

本系统后台数据库使用的是SQLSERVER2008。

SQLServer是一个关系数据库管理系统,它不仅本身功能强大稳定,而且与ASP.NET的兼容性良好,易于实现调试。

数据库的主要特点是实现数据共享、减少数据的冗余度、数据的独立性、数据实现集中控制、数据一致性和可维护性,以确保数据的安全性和可靠性以及故障恢复。

SQL是StructuredQueryLanguage结构化查询语言,它的主要功能是同各种数据库建立联系,进行沟通。

SQL语句可以用来执行各项操作。

目前,大多数流行的关系型数据库管理系统如Oracle,Sybase,MicrosoftSQLServer,Access等都采用SQL语言标准。

JavaScript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。

JavaScript使网页增加互动性,能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。

只要有创意,JavaScript的特点是无穷无尽的。

本系统大量应用JavaScript开发前台页面,大大提高了系统的人性化。

系统采用的VisualStudio2008开发工具支持JavaScript调试,使程序开发起来更加方便。

在信息系统中,由于往往有大量的表,在开发时存在大量的重复工作,尤其是采用多层开发时,这种机械化的任务可以用代码自动生成工具来完成,CodeSmith提供了强大的数据库信息获取能力,在语法上与ASP.NET基本一致,功能强大,使用简单,是很好的代码自动生成工具。

CodeSmith附带了许多模板,包括对应于所有.NET集合类型的模板以及用于生成存储过程的模板,同时,CodeSmith允许使用者创建自定义模板,模板越强大,代码就会越丰富。

本系统的DAL层和大部分数据操作存储过程都依赖CodeSmith生成,效率高且出错率低。

2.5数据流图

数据流图也称为数据流程图DateFlowDiagram,DFD,是一种便于用户理解和分析系统数据流程的图形工具,它摆脱系统和具体内容,在逻辑上精确描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。

数据流图的基本组成成分:

(1)数据流:

由一组固定成分的数据组成,表示数据的流向。

(2)加工:

描述输入数据流到输出数据之间的变换,即输入数据流经过何种处理变为输出数据。

(3)数据存储:

表示暂时存储的数据。

每个数据存储均有一个名称。

(4)外部实体:

表示存在于软件系统之外的人员或组织,指出数据所需要的发源地或系统所产生数据的归属地。

图2是随机本系统随机抽题的DFD:

2.6数据库设计

数据库中的数据是整个系统的重要内容,如何合理地进行信息建模和范式分解将直接影响到整个数据库系统的运行效率。

在数据库中,建立符合第三范式的若干表,建立视图作为前台页面的查询数据源,建立若干存储过程实现对数据的操作。

2.6.1数据库表设计

根据需求分析,本系统定位在更好地适合各类人员的教学和学习需要,从而设计了试题表、试卷表、题型表、章节表、测试结果表等若干数据库表。

同时,为避免数据录入的无序状况,数据库表之间建立严格的参照完整性,确保数据库中的数据具有一致性和互操作性。

数据库系统关系如图3:

图3(数据库关系图)

表User(系统用户表)

表User用户信息,包括用户名、密码、姓名、班级和用户权限Role列,系统可根据用户的权限显示不同开始页面。

用户名是表的主键,一般为学生的学号,不能重复。

表tiku(题库表)

表tiku是数据库的核心表,用来存储测试题目,包括题干、各选项、答案、难度、分值、图片地址、增加时间、修改时间、所属章节、题型等信息,其中选项ABCD共4列可以为空。

因为除选择题外,简答、填空等题型也会存储于此表,此时选项ABCD列为空,查询数据时,主要根据chapterCode和subjectCode两列进行查询。

列imageURL存储与题目相关的图片信息,是绝对路径,当前台要显示题目图片时,通过逻辑代码将绝对路径改为相对路径,当删除图片时,调用的是绝对路径,从而保证服务器不必要的容量占用。

表chapter(章节表)

表chapter存放章节信息,包括章节ID(主键自增列),章节编号(chapterCode),章节名称(chapterName),备注信息(remark)。

chapterCode对应tiku表中的chapterCode。

表subject(题型表)

表subject存储题型的基本信息,包括选择、填空、简答、编程。

表UserTestResult(用户测试结果表)

表UserTestResult存储用户每次自我测试的结果。

其中UserTestId是标识列和主键。

ItemId对应的是tiku表中的tikuId,UserId对应User表中的UserId。

此外,该表还包含了测试时间,是否正确,用户答案等信息。

表Exams(考试题表)

表Exams存储教师组卷模块产生的考试题信息,包括考试题名称(ExamsName)、试题编号(ExamsCode)和建立的时间(CreateTime),其中试题编号用于在线考试,教师向学生发布试题编号,使学生在前台页面输入试题编号后,即可得到相应的试卷内容。

表ExamTiku(考试试题库)

表ExamTiku是考试题表的子表,ExamsId对Exams表中的ExamsId,其中Score(分值)列存储了每道测试题的分值,通过修改分值列使一套试卷的总分值为100分(若满分为100),体现了系统设计的人性化。

表UserTiku(用户题库表)

表UserTiku是专门为服务于抽题环节算法而建立。

包含用户Id、题库Id、次数列,其中次数列记录该用户测试过的每道题目的次数,默认值为0,当用户自我测试后,其中答对题目的Times列会自加1,而答错题目则不会,这样在下次抽题时答对题目被抽中的概率会减小,其算法在本文后面部分将做详细介绍。

2.6.2数据库存储过程设计

存储过程是Transact-SQL语句的集合,它是实现事务或业务规则的最佳途径.它是在数据库服务器上存储和执行的。

使用存储过程,可以大大减少网络传输流量,提高应用程序性能和安全性。

由于存储过程只在第一次执行时被优化、编译,因此,使用存储过程不仅可以降低应用程序的实现难度.而且还可以提高系统的运行速度和效率。

根据应用实际,本系统对一些常规、频繁使用的查询、插入数据等操作均使用存储过程实现。

共自我编制了32个存储过程,用于对系统基本数据的录入、修改、删除、查询操作、学生在线测试时动态生成测试题的操作、教师组卷时自动生成试卷的操作等。

本系统存储过程概括如下:

表1(系统存储过程)

 prAddQuestion

 USP_chapterInsert

 USP_CheckAnswer

 USP_ChouTi

 USP_ExamsDelete

 USP_ExamsGet

 USP_ExamsGetAll

 USP_ExamsGetByCode

 USP_ExamsInsert

 USP_ExamsUpdate

 USP_ExamTikuDelete

 USP_ExamTikuGet

 USP_ExamTikuGetAll

 USP_ExamTikuInsert

 USP_ExamTikuUpdate

 USP_TecherChouTi

 USP_tikuDelete

 USP_tikuGet

 USP_tikuGetAll

 USP_tikuInsert

 USP_tikuUpda

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1