基于富客户端技术的交互式考试系统的设计与实现.docx
- 文档编号:7599823
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:27
- 大小:506.76KB
基于富客户端技术的交互式考试系统的设计与实现.docx
《基于富客户端技术的交互式考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于富客户端技术的交互式考试系统的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
基于富客户端技术的交互式考试系统的设计与实现
摘要
随着计算机软件的不断发展和网络的现代化普及,基于富客户端技术的交互式考试系统也得到了非常广泛的应用,这一技术的应用,大大降低了传统考试所需要的人力,物力和财力等资源,而且还提高了考试的公正性,很大程度上提高了阅卷的速度和准确度,因此得到了很大的发展。
本系统主要采用ASP及Ajax开发技术,实现了基于富客户端技术的交互式考试系统的一些基本功能,主要有:
用户的登录功能;客观性试题:
单选,多选,判断试题的生成和考生做答功能;系统评分功能;用户查看成绩功能,为了增加用户体验,减轻服务器负担,实现页面的无刷新功能,主要采用了Ajax技术,用它的一些设计思想完成此功能的实现。
本论文的研究课题《基于富客户端(Rich-Client)技术的交互式考试系统》是基于DreamWeaver开发工具和MicrosoftofficeAccess后台数据库进行开发的,重点阐述了ajax的设计方案,详细设计了系统中的各管理模块,实现了考试基本功能。
关键词:
DreamWearver,MicrosoftofficeAccess,Ajax
ABSTRACT
Withthecontinuousdevelopmentofcomputersoftwareandnetworkmodernizationpopularityofrichclienttechnology-basedinteractivetestsystemhasalsobeenverywidelyusedapplicationofthistechnologygreatlyreducestheneedfortraditionaltestthehuman,materialandfinancialresources andotherresources,butalsoimprovethefairnessoftheexamination,greatlyimprovedthespeedandaccuracyofscoring,sogetalotofdevelopment.
ThesystemismainlydevelopedusingASPandAjaxtechnology,technology-basedinteractiverichclienttestsystemsomeofthebasicfeaturesare:
user'sloginfunction;objectivityofquestions:
singlechoice,multiplechoice,determinequestionsofgenerationand Candidatespopstarfeatures;systemscorefunction;usertoviewperformancecapabilities,inordertoincreasetheuserexperienceandreduceserverburden,withoutpagerefreshfunctiontoachievethemainusesAjaxtechnology,withsomeofitsdesigntocompleteimplementationofthisfeature.
Thisthesisresearchprojecton"richclient-based(Rich-Client)technology,interactivetestsystem"isbasedonDreamWeaverdevelopmenttoolsandMicrosoftofficeAccessdatabasedevelopmentbackground,focusesonthedesignajax,detaileddesignofthesystem ofthemanagementmoduletoachievethebasicfunctiontest
Keywords:
DreamWearver,MicrosoftofficeAccess,Ajax
第一章绪论
1.1研究背景
在信息时代的今天,快捷、方便和实效已经成为主题。
伴随着计算机应用科学和互联网日新月异的发展,信息的掌握和分析已成为现代企业生产、经营过程中的重要因素。
信息量、信息传播的速度、信息处理的速度以及应用信息的程度等都以几何级数的方式在增长,使用计算机进行信息管理和控制,使工作效率得以有效地提高,尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
交互式考试系统是一个典型的计算机信息处理的管理模式,使用户能够方便、快捷:
方便学生与老师的交流并大大减少了教师的工作量。
该系统后台可以进行试题添加删除管理;前台只可以浏览本系统的所有试题,及作答,系统评分;本系统从基本需求出发,本着用户界面友好,数据处理快捷的原则,创建了一个具有良好实用性的交互式考试系统。
通过这次毕业设计的系统开发,使自己对面向对象技术、数据库应用系统和软件的开发过程有了更为深刻的认识和理解,同时也是对自己四年来计算机专业学习成果的一次检验和考核。
由于时间紧迫、水平有限,论文编写的过程中难免存在一些不足之处,敬请各位教师予以批语指正。
1.2国内外研究现状及发展趋势
“富客户端”(RichClient)简介富因特网应用程序(RichInternetApplications,RIA)利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。
RIA集成了桌面应用的交互性和传统Web应用的部署灵活性与成本分析,以创建单一而完整的用户体验。
富客户端技术使创建RIA成为可能,它提供一个运行时的环境以承载被编译的客户端应用程序,该客户端应用程序是一个使用HTTP协议发布的文件。
客户端应用程序使用异步的C/S结构连接到现有的应用服务器,这是一种安全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的Web服务驱动。
富客户端技术正在不断地完善中,但并不意味着会取代HTML。
相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。
许多RIA都在浏览器中运行,甚至它本身就是HTML的一部分,所以HTML将继续保持其原有的角色。
另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境.
RIA开发必须具备三个要素:
富客户端技术、服务器技术和开发工具。
富客户端技术充分利用本地机器的处理能力来处理数据,而不需要把某些数据发送到服务器处理,充分利用了本地机器的资源。
服务器技术提供了一种与富客户端的连接机制,作为RIA的服务器技术必须从现有的服务器技术继承,可以提供一个快速的脚本环境,支持数据库应用开发、双向数据通信、实时数据通信,甚至采用一种新的服务器,例如:
ColdFusionServer和FlashCommunicationServer等。
RIA实现必须有一组简单而高效的开发工具,如果没有一组简单而高效的开发工具,那么富客户端技术与服务器技术是毫无意义的。
正是由于RIA的C/S结构,它需要一组开发工具协同工作才可以完成。
尽管目前有许多富客户端技术,但是MacromediaFlashPlayer却被广泛采用,它已经逐渐成为富客户端技术的网络标准。
FlashPlayer已经是一个无处不在的富媒体客户端,它可以在不同的浏览器和操作系统上运行,所以它是一个跨平台、跨操作系统的网络客户端。
“富”的概念包含两方面,分别是指它具备丰富的用户界面和丰富的数据模型。
典型的富客户端模型
富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块。
这种将应用程序的设计从以一个个相对独立的页面为中心转移到以组件为中心的转变将会使客户层的设计提升到一个新的层次,并且会使客户层变得更加灵活。
富客户层不再成为服务器响应的最终端,这同时也使程序的性能得以提高,用户使用的感觉就好像程序不需要和服务器进行通信或者只是偶尔才需要进行通信。
不像传统的模型那样,服务器收到请求后由上至下的创建客户端界面,你不用预测事件的顺序。
既然每个组件都是独立的,就没有必要因为一个请求而做出影响整个视图的反应。
要使每个组件都具有向服务器传送信息的能力需要每个组建知道如何处理服务器传递回来的信息。
在RIA中,客户端和服务器端交互数据是不同步的,这样你就可以控制组件创建信息发送给服务器和处理服务器的响应,可以为更零散的控制去耦和分离程序功能并且组建面向服务的程序结构。
第二章开发环境与开发工具
2.1开发环境
本系统基于以下软件设备和硬件设备环境:
硬件设备:
Intel(R)Pentium(R)4CPU3.00GHz,2.0GB内存,80G硬盘,显示器分辨率为1280x1024。
软件设备:
操作系统采用WindowsXP作为系统软件。
2.2开发工具
2.2.1MacromediaDreamweaver8概述
MacromediaDreamweaver8是一款专业的HTML编辑器,用于对Web站点、Web页和Web应用程序进行设计、编码和开发。
可以直接编写HTML代码也可以在可视化编辑环境中工作,Dreamweaver都会为您提供帮助良多的工具,丰富您的Web创作体验。
利用Dreamweaver中的可视化编辑功能,您可以快速创建Web页面而无需编写任何代码。
您可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。
您可以在MacromediaFireworks或其它图形应用程序中创建和编辑图像,然后将它们直接导入Dreamweaver,从而优化您的开发工作流程。
除了可帮助您生成Web页的拖放功能外,Dreamweaver还提供了功能全面的编码环境,其中包括代码编辑工具(例如代码颜色、标签完成、“编码”工具栏和代码折叠);有关层叠样式表(CSS)、JavaScript、ColdFusion标记语言(CFML)和其它语言的语言参考资料。
Macromedia的可自由导入导出HTML技术可导入您手工编码的HTML文档而不会重新设置代码的格式,可以随后用首选的格式设置样式来重新设置代码的格式。
Dreamweaver还可以使用服务器技术(如CFML、ASP.NET、ASP、JSP和PHP)生成动态的、数据库驱动的Web应用程序。
如果您偏爱使用XML数据,Dreamweaver也提供了相关工具,可轻松创建XSLT页、附加XML文件并在Web页中显示XML数据。
Dreamweaver可以完全自定义。
可以创建自己的对象和命令,修改快捷键,甚至编写JavaScript代码,用新的行为、属性检查器和站点报告来扩展Dreamweaver的功能。
Dreamweaver8包括许多新增功能,使您只需花费最少的时间和精力便可生成Web站点和应用程序。
Dreamweaver使复杂的技术变得简单而方便,以帮助您达到事半功倍的效果。
2.2.2MicrosoftofficeAccess数据库概述
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的系统程式之一。
Assess能够存取Access/Jet、MicrosoftSQLServer、Oracle,或者任何ODBC相容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程式员和非程式员的进阶用户则能使用它来开发简单的应用软件。
虽然它支援部份面向对象技术,
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门。
喜爱编程的开发人员亦利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程式。
它的使用方便程度和强大的设计工具为初级程式员提供许多功能。
不过,方便性的宣传,常可能使人误解。
因此,过于乐观的误导下,让许多没有程序设计背景的办公室从业人员应用此软件,并以为能够创造可用的系统,但此工具本身的局限性,常常使这些使用者失败。
一些专业的应用程式开发人员使用Access内附的快速应用开发功能应用程式的工具。
2.2.3Ajax简介
AJAX是Ajax是AsynchronousJavaScriptandXML的缩写。
基于web标准(standards-basedpresentation)XHTML+CSS的表示;
使用DOM(DocumentObjectModel)进行动态显示及交互;
使用XML和XSLT进行数据交换及相关操作;
使用XMLHttpRequest进行异步数据查询、检索;
使用JavaScript将所有的东西绑定在一起。
英文参见Ajax的提出者JesseJamesGarrett的原文。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。
事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。
AJAX的应用使用支持以上技术的web浏览器作为运行平台。
这些浏览器目前包括:
Mozilla、Firefox、InternetExplorer、Opera、Konqueror及Safari。
但是Opera不支持XSL格式对象,也不支持XSLT。
与传统的web应用比较
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。
服务器接收并处理传来的表单,然后返回一个新的网页。
这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。
由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。
这导致了用户界面的响应比本地应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。
因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。
同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
Ajax应用程序的优势在于:
1.通过异步模式,提升了用户体验
2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3.Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
Ajax的工作原理:
Ajax的核心是JavaScript对象XmlHttpRequest。
该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。
简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。
下面是使用Ajax可以完成的功能:
动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。
第三章系统设计
3.1系统设计思想
基于富客户端技术的交互式考试系统主要采用AJAX技术进行相关功能模块的设计,整个系统采用B/S架构进行设计。
主要用户有:
学生和教师。
学生的权限有:
答题和查看成绩。
教师的权限有:
添加试题,删除试题以及查看学生的考试成绩等。
为了实现页面的无刷新和更好的用户体验使用xmlhttprequest对象进行异步数据读取,使用javascript绑定和处理所有数据,使用XHTML和css标准化呈现,使用dom实现动态显示和交互,使用xml和xstl进行数据交换与处理。
Ajax实质上也是遵循“客户端/服务器端”模式,所以这个框架基本的流程是:
xmlhttprequest对象初始化-》发送请求-》服务器接收-》服务器返回-》客户端接受-》修改客户端页面内容。
只不过这个过程是异步的,其周期如图3-1所示:
图3-1XMLHttprequest对象运行周期:
在这个运行周期当中Ajax中间层是本系统的设计重点和难点,通过其相关技术完成系统的功能模块设计,对其设计关系到系统的功能和性能。
设计系统除了要求功能的完备性之外,在性能指标上的要求包括:
系统运行的稳定性、系统处理的高效性、系统代码的可移植性、系统的安全性等等。
3.2系统功能模块划分
该系统的主要功能模块有:
登录模块,答题模块,成绩查询模块,试题添加模块,试题删除修改模块,学生各科成绩查询模块,各个模块之间存在交互性的调用和关系,所有功能模块可表述为图3-2
图3-2系统模块结构图
图3-3系统模块结构图
在每个更新模块中其中的更新功能包括修改、删除功能。
此外还包括,用户的登录,注销等功能
3.3系统过程设计
系统的过程设计又称系统的详细设计,系统设计要回答的中心问题是系统“怎么做”,即如何实现需求分析说明书中规定的系统功能。
在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。
系统总流程图参见图3-4
图3-4后台系统总流程图
3.3.1各模块流程设计
一、用户登录模块流程设计:
功能:
用户在登录界面登录后,可进入相应权限的工作界面。
用户登录流程图参见图3-5:
图3-5登录界面流程图
从流程图可以看出登录的时候首先要进行身份和密码验证,当这些都正确的时候用户就进入了自己所在权限的系统界面,可以进行相关操作,完成需要完成的任务。
二、考试信息管理模块流程设计:
功能:
后台:
管理人员登陆后可对考试进行添加,删除等操作进行维护与查询。
前台:
可使用户浏览所有考试的信息.
考试信息管理模块流程图参见图3-6
图3-6考试信息管理模块流程图
三、系统自动评分模块:
功能:
试卷提交后,系统会根据后台数据教师设定的正确答案来评分
系统自动评分功能模块流程见图3-7
图3-7系统自动评分功能流程图
系统自动评分功能是通过一个字符串匹配函数进行的,把考生的答案和教师所设置的正确答案进行匹配,在经过累加得分从而得出考生的考试成绩,学生在完成答题之后提交完成可以直接看到自己此次的考试成绩,比较的简洁方便。
四、成绩查询模块
把学生所选的答案和老师设定的答案进行匹配,如果匹配成功就是正确的,反之为错误的。
这个功能是通过一个字符串匹配函数完成的。
五、试卷生成模块
本系统的试卷生成模块是通过教师用户手动添加进去的,试卷的结构包括单选题,多选题,判断题等客观试题,在添加的同时把正确答案已经手动添加到了相应的文本框内,这样可以准确无误的进行试卷的改判,而且提高了老师的工作效率。
整个功能模块的流程图如图3-8
图3-8试卷生成模块流程图
这个模块主要完成的是试卷的制作功能,由于随机生成试卷比较的困难,所以本系统采用教师用户进行手动添加的方式进行试卷的制作,虽然比较麻烦但是在很大程度上页提高了教师的功能工作效率,和试卷的合理性和可用性,可以更好的完成老师的考试要求,在随机方面还需要进一步的改善。
第4章数据库设计
对于一个管理信息系统而言,可以将系统看成是一个对数据库进行一系列操作过程,可见数据库的重要性,它是一个系统正常运行的基础。
数据库设计一方面需要讲究科学与规范,另一面也需要丰富的经验指导。
数据库设计阶段总结一下,大致可以分为以下几步:
需求分析:
收集资料,准确了解并分析用户实际需求,。
从需求抽象出一般的实体,关系和它们的属性。
将这些实体,关系和属性按照一定的规则转化为二元表结构。
以上各个步骤所对应的分别是数据库需求分析,概念结构设计和逻辑结构设计,下面进行数据库需求分析。
4.1数据库需求分析
数据库需求分析也属于软件工程中的需求分析阶段,在这一过程中,主要是用来搜集用户的需求,然后指导数据库设计。
对于没有经验或者准确的说是没有项目负责经验的人来说,他们对于需求分析的重要程度往往是无法完全理解的。
在实际的项目开发中,开发者不能去臆测任何的客户需求,因为修改数据库所花费代价与开发几乎相同的代价,甚至影响可能为后期开发埋下错误的根源而难以寻找。
而数据库的修改可能引起一些程序代码的修改,甚至是系统的变动。
所以通常在设计数据库时常要考虑其可扩展性。
力求做到数据关系的局部性,使数据影响范围尽量小,即如果需求要改变,则只需要写该一小部分程序即可,而数据库设计不需要任何结构性的修改。
这也要求代码的复用技术。
4.2数据库概念结构设计
1.实体-联系方法(Entity-RelationshipApproach)简称E-R图,是描述数据实体及其关系的一种直观的描述工具。
这种图中包括:
(1)实体:
是指客观世界中存在的并可以相互区分的事物。
用方框表示,方框内为实体的名称;
(2)联系:
是指客观世界中的事物彼此间的联系。
用菱形表示,菱形内为联系的名称。
(3)属性:
是指实体或联系所具有的性质。
用椭圆表示,椭圆内为属性名称。
使用线段将其和相应的实体连接起来。
E-R模型比较接近于人的思维,浅显易懂,容易让人接受,所以使用E-R模型作为用户与系统分析之间的工具。
2.本课题要研究的实体及属性设计参见图4-1到图4-3,实体之间关系设计参见图2-12:
图4-1考试实体属性图
图4-2登录用户信息实体属性图
图4-3成绩表实体属性图
4.3数据逻辑结构设计
数据库的概念结构设计是独立于任何一种数据模型的信息结构。
在完成数据库的概念结构设计后,需要将数据概念结构转换成为数据库的逻辑结构。
数据库的逻辑结构设计的任务就是将概念结构设计阶段设计好的E-R图转换成为与特定的DBMS产品所支持的数据模型相符合的逻辑结构。
接下去的工作就是将数据库概念结构转化为数据库的逻辑结构。
交互式考试系统数据库中各个表的逻辑结构设计结果如(表4-1)~(表4-3)所示。
其中每个表格对应数据库中的一个表。
由测试题实体转换来的用户信息表如下(表4-1)
表4-1测试题信息表(plant)
字段名称
数据类型
字段大小
说明
是否可为空
Id
int
4
自增长唯一标识
NO
Kaoshititle
nvarchar
50
试卷标题
Yes
Timutitle
nvarchar
50
客观题类型
Yes
Wenti
nvarchar
50
问题
Yes
Answer1
nvarchar
50
A选项
Yes
Answer2
nvarchar
50
B选项
Yes
Answer3
nvarchar
50
C选项
Yes
Answer4
Nvarchar
50
D选项
Yes
Rightanswer
Nvarchar
50
正确答案
Yes
Fenshu
Nvarchar
50
分数
Yes
由登录
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 客户端 技术 交互式 考试 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)