网络技术科研与创新能力实践.docx
- 文档编号:1628419
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:41
- 大小:1.40MB
网络技术科研与创新能力实践.docx
《网络技术科研与创新能力实践.docx》由会员分享,可在线阅读,更多相关《网络技术科研与创新能力实践.docx(41页珍藏版)》请在冰点文库上搜索。
网络技术科研与创新能力实践
摘要
在计算机网络飞速发展的今天,互联网应用在人们政治、经济、生活等各个方面发挥着重要的作用,然而在教育方面却没有得到充分的利用。
在追求效率与公平的时代,为了使学校、教师以及学生在考试过程减少时间、金钱的投入,因此设计开发了这个在线考试系统。
本文论述了一个以Internet为网络平台、三层架构(B/S)的在线考试系统的设计原理、设计思想及具体的实现过程,对在设计过程中涉及到的关键算法及重要作业流程作了具体分析和介绍,并对各个模块的设计思想及设计过程作了详细阐述。
本系统采用Jsp+Servlet等技术,设法为学校创建一个便捷公平的在线考试平台。
本论文阐述了系统所要实现的功能,其中包括学生考试,人员管理,题库管理等多个功能,对各功能模块的实现流程以及后台数据库的设计进行说明,并详细介绍了在线考试系统主要业务的实现方式。
对于不同用户角色,本文将分别关于功能结构进行介绍,并对其逻辑和代码实现进行解释和说明。
关键词:
在线考试;Oracle数据库;Jsp;MVC
1引 言
1.1课题的背景
从计算机网络的诞生至今天,计算机网络应用已进入人类社会的各个方面并发挥着越来越重要的作用,我们发现我们的生活、工作、学习等越来越离不开网络。
在线考试系统是一款基于网络浏览器的适用于学校以及教育培训机构等的实用型系统,他一改传统的考试模式为我们的考试带来新的体验,是计算机网络应用的标准体现。
众所周知,教育是治国之本,因此如何更好的做好教育工作是大家一直都很关注的问题。
只有率先认识到网络技术在当今教育中的重要作用,用它解决教育中的问题,把它作为教育的基本工具,才能在全球教育竞争中立于不败之地。
如今,越来越多的学校、教育培训机构等都将网络技术应用于教育,通过计算机网络实现在线教育或培训,网络教学便由此而生。
目前我国网络教学系统的开发和使用还处于发展阶段,各项功能的实现还不够完善。
网络教学包括很多环节,例如选课系统、教学系统、问答系统和考试系统等等。
其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。
目前大多数学校和社会上的考试依然采用传统的考试模式,在此模式下,组织一次考试一般需要经过人工出题、复印试卷、考生考试、人工阅卷和成绩统计等五个环节。
显然,教师和考务工作人员的工作量很大,效率也很低,并且难免会出现各种各样的错误,严重影响了教学的效率和质量,可以说传统的考试模式已经逐渐满足不了当今的考试需求。
人们迫切需要一种自动化程度相当高的计算机系统来进行在线考试,并进行题库信息的管理。
在此背景下,我们需要开发一款在线考试系统。
1.2课题的目的和意义
在线考试系统将使学校的考试管理工作更加规范化,自动化,简单化。
一方面方便考生考试;另一方面减轻教师及考务人员的工作负担,提高工作效率。
从而提高教学质量。
基于网络技术的在线考试系统可借助校园局域网进行。
将试题内容放在服务器上,考生通过帐号和密码进行登录参加考试,考试答案也存放在服务器上,这样考试的公平性、答案的安全性可以得到有效的保证。
试题可以根据题库中的内容随机生成,可有效避免考试前的押题;同时每个人的考试题目都不会完全一样,这样可有效避免考试抄袭;而且可以采用大量标准格式化的试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排名等操作,便于对考试结果进行分析。
可见,采用在线考试模式将是未来考试发展的趋势。
因此,结合我校教学考试现状,我设计并开发了在线考试系统。
1.3本文的内容安排
在本论文中,首先论述了在线考试系统的研究背景及其意义;然后对要开发的在线考试系统进行了较为详细的分析(包括需求分析、流程分析、系统可行性分析等);对本系统所使用的开发语言、相关技术以及开发环境和开发工具进行了简单的介绍;对本系统进行了功能模块设计(包括考生考试模块、教师管理模块、管理员管理等);在对系统分析与设计的基础上,运用Jsp+Servlet和Oracle开发了在线考试系统;最后对已经开发的系统进行了测试。
本论文的内容安排如下:
第一章、引言,其中介绍了课题研究的背景,课题的目的和意义。
第二章、系统开发工具及相关技术介绍,其中包括对B/S结构、CSS+DIV网页布局、JSP、Servlet、Oracle等的简单介绍。
第三章、系统分析,其中包括需求分析、系统流程分析、可行性分析等。
第四章、系统设计,其中包括功能设计、数据库设计等。
第五章、系统实施,对系统的各个模块的实现做详细的介绍。
第六章、系统测试,其中包括对测试的目的和方法、简单的测试用例等。
第七章、结束语,对在写整篇论文过程中的感受和收获进行总结。
2开发工具及相关技术
在线考试系统是基于B/S模式设计的,它选择的前台使用JSP,后台数据库管理工具为Oracle11G,开发工具为Eclipse,其Web服务器为Tomcat7.0。
2.1系统的B/S结构简述
B/S结构(Browser/Server,浏览器/服务器模式)是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
B/S结构的优点:
具有分布性特点,可以随时随地进行查询、浏览等业务处理;业务扩展简单方便,通过增加网页即可增加服务器功能;维护简单方便,只需要改变网页,即可实现所有用户的同步更新;开发简单,共享性强。
2.2开发环境及开发工具
本系统开发环境选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;令一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。
以下简单介绍本系统所使用的开发工具:
2.2.1Dreamweaver
Dreamweaver是MACROMEDIA公司开发(后被Adobe公司收购)的集网页制作和管理网站于一身的所见即所得网页编辑器。
Dreamweaver可以用最快速的方式将,,或等档案移至上。
使用检色选择荧幕上的颜色可设定最接近的网页安全色。
对于选单,与格式控制,都只要一个简单步骤便可完成。
Dreamweaver能与您喜爱的设计工具,如PlaybackFlash,和外挂模组等搭配,不需离开Dreamweaver便可完成,整体运用流程自然顺畅。
除此之外,只要单击便可使Dreamweaver自动开启Firework或Photoshop来进行编辑与设定图档的最佳化。
本系统采用DreamweaverCS4版本,其特点是界面设计紧凑,使用方便。
2.2.2Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
本系统采用的是Eclipse4.4版本,其特点是性能稳定。
2.2.3Oracle数据库
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
Oracle数据库具有数据的大量性、数据的保存的持久性、数据的共享性和数据的可靠性等特点。
本系统采用的是Oracle11G数据库。
Oracle11G数据库相对于以前版本关键提高有二:
1降低管理开销,2提高性能。
Oracle11G有对高可用性的增强、新的Flashback能力、支持回滚更新操作;对安全性的增强,便于管理大量的用户;BI方面的增强,包括改进的SQL能力、分析功能、OLAP、数据挖掘的能力等;对非关系型数据存储的能力得到了改进;XML的能力;对开发能力支持的加强,对生物信息学(Bioinformatics)的支持。
2.2.4Tomcat服务器
本系统运行环境为Tomcat7.0。
Tomcat是Apache基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
2.3相关技术
2.3.1CSS+DIV
CSS是层叠样式表(CascadingStyleSheets)的缩写,用于定义HTML元素的显示形式,是W3C推出的格式化网页内容的标准技术。
CSS+DIV是网站标准设计中常用术语之一,是一种比较成熟的网页布局方法。
可实现网页页面内容与表现相分离,即在不改变Html源代码的同时,能够根据CSS中对标签的的不同定义而显示出不同的页面效果。
能够实现传统的表格(Table)布局定位方式所不能实现的效果。
当然,本人在使用中并没有完全摒弃表格(Table),而是DIV与之相结合使用,使页面灵活、工整、多层次的显示。
2.3.2JavaScript和jQuery
JavaScript是一种能让你的更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。
你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示停留的时间。
让这些特殊效果提高网页的可观性。
本系统中主要使用JavaScript的表单验证功能以及对时间的控制。
jQuery是一个优秀的Javascript框架。
它是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
在使用过程中本人发现jQuery与传统的JavaScript相比,优势之一在于JavaScript是单线程的,而jQuery可以实现多线程,即点击一个按钮可以同时触发多个事件,使用起来更加方便。
2.3.3Servlet和JSP
Servlet是JavaServlet的简称,是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种技术标准。
JSP是在Servlet技术基础上发展而来的,但在实际使用中功能又有很大的区别,JSP技术有点类似ASP技术,它是在传统的HTML文件中插入Java(Scriptlet)和JSP标记(Tag),从而形成JSP文件(*.jsp)。
另外用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他上运行。
JSP技术不是JavaServlet技术的全部,它只是JavaServlet技术的一个成功应用。
JSP技术屏蔽了Servlet对象创建的过程,使得Web程序设计者只须关心JSP页面本身的结构、设计好各种标记。
有效地分离页面的视图和数据处理等,不必再用println语句来输出每一行HTML代码。
更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:
,由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。
2.3.4MVC模式
MVC是三个单词的缩写,分别为:
模型(Model),(View)和控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
使用MVC设计模式,应用程序将被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
本系统将使用第一种常见的MVC设计模式Jsp+Servlet+JavaBean进行开发,即通过创建一些Servlet对象,配合JSP页面来完成整个Web系统。
其数据传递过程如图2-1所示:
图2-1MVC(Jsp+Servlet+JavaBean)设计模式原理图
2.3.5JDBC
JDBC(JavaDataBaseConnectivity,java连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用编写的类和接口组成。
JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问专门写一个程序,为访问又专门写一个程序,或为访问Mysql数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
2.4本章小结
本章主要介绍了在线考试系统所用的开发环境、开发工具以及相关技术。
对系统所运用的B/S结构进行了介绍,并结合本系统对将要使用的Eclipse、Oracle开发软件和JSP及MVC等相关技术进行了详细介绍。
3系统分析
系统分析对于在线考试系统的设计至关重要,在本章中对在线考试系统进行了需求分析、系统流程分析、可行性分析。
3.1系统需求分析
系统需求分析是为了深入描述系统的功能和性能,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。
主要分为功能的需求和性能的需求。
3.1.1系统功能的需求
在线考试系统的设计目的是方便考生及管理人员,所以其整体要求清晰实用、界面亲和、操作简单、运行流畅。
系统应该具备以下的基本功能:
用户类别:
登录系统的身份定为三种,一是管理员,二是教师,三是学生,只有被授权的用户才可以使用本系统。
权限管理:
系统需要经过有效的身份验证可以登录。
用户的身份不同,使用的系统资源也不同。
考生只可以参加在线考试;普通教师可以管理题库,控制考试、成绩查询、添加试题、阅卷等。
管理员可添加、修改学生、教师、考试科目等信息,可以查询考生成绩。
在线考试功能:
考生输入帐号和密码登陆系统后,选择考试科目可进行考试,科目有考试时间设置,未到考试时间或考试已结束将不能参加考试。
答题中,有倒计时的功能,考试结束时还没提交就自动交卷,系统将自动对客观题进行评分。
如果有主观题,能将主观题答案返回至该科目教师页面。
试卷管理:
由管理员设置考试时间,教师设置题型并向题库中添加试题,试卷随机从题库中抽取试题组合而成。
3.1.2系统性能的需求
在线考试系统的性能要求在稳定的基础上快速反应,操作系统以WindowsXP或WIN7为标准,硬件配置以RAM:
2.00GB为标准。
基本信息的添加,修改部分反应时间应控制在3秒以内,查询部分应控制在5秒以内,生成试卷的信息量较大,处理的流程较多响应时间会较慢,添加、修改部分的响应时间不应该太长。
3.2系统可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
3.2.1经济可行性分析
主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适应当今教学管理的方式。
开发一套能满足网上考试系统的软件是十分必要的,实现试卷管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也可以使教师减少工作量。
本系统在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。
所以本系统在经济上是可行的。
3.2.2技术可行性分析
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,网络化考试需要的各种软件环境都已具备,数据库方面我们选择的Oracle,能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
其灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
服务器方面服务器端:
由于在线考试是多人同时操作,对服务器的需求是必须考虑的问题。
根据我校在校生人数,服务器要求能承受3000-5000人同时在线。
300个并发操作响应时间不得超过5秒。
由于单纯的Tomcat支持的并发量较小。
因此在实际部署系统时服务器端可采用Apache+Tomcat*3的模式加大并发数。
服务器端操作系统为Linux,硬件配置为8G内存,2.0GHz、8核CPU。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
3.3系统流程分析
在线考试系统流程简单,主要是教师向题库中添加试题,管理员设置考试科目信息,学生登录系统选择科目进行考试。
下面从业务流程和数据流程两方面对系统进行分析。
3.3.1业务流程分析
业务流程分析,是对系统业务功能的进一步细化,从而得到业务流程图即TFD(TransactionFlowDiagram),是一个反映系统业务处理过程的“流水帐本”。
图3-1表示在线考试系统核心业务流程图。
图3-1系统业务流程图
3.3.2数据流程分析
数据流程分析就是把数据在现行系统内部的流动情况抽象出来,舍去了具体组织机构、信息载体、处理工作等物理组成,单纯从数据流动过程来考察实际业务的数据处理模式。
图3-2表示在线考试系统数据流程图。
图3-2系统数据流程图
3.4本章小结
软件开发过程中系统分析是很重要的一部分,为了开发出真正满足用户需求的软件产品,本章对系统进行了详细的分析,其中包括对系统的需求分析、可行性分析以及流程分析,从而能够更全面的掌握整个系统的设计流程并且判断系统是否可行。
4系统设计
对在线考试系统进行详细的系统分析之后,需要对其进行功能模块和数据库的设计。
在本章中,我将会对即将开发的在线考试系统进行详细设计。
4.1系统总体规划
在线考试系统按用户角色分为三大模块:
管理员模块:
实现教师信息,学生信息,考试科目信息的添加、修改、删除、查询等功能;教师模块:
实现题库管理、试卷管理、学生成绩查询等;学生模块:
包括查询考试科目、开始考试、个人成绩查询等功能。
对于在线考试统进行整体功能分析之后,可以设计出该系统的功能模块总体框架如图4-1所示:
图4-1系统总体规划图
三种角色通过同一登录界面进入不同操作页面:
其中管理员帐号和密码由系统后台添加。
教师和学生帐号和密码由管理员添加,个人不能注册。
1.管理员:
(1)学生信息管理:
管理每个学生的个人信息,包括学号、姓名、院系、专业、班级等。
管理员可以对学生信息进行添加、修改、删除、查询等操作。
并且可以查询所有考生的考试成绩。
(2)教师信息管理:
管理每个教师的个人信息,包括工号、院系、所教科目等。
管理员可以对教师信息进行添加、修改、删除、查询等操作。
(3)考试信息管理:
管理考试安排,包括考试科目、考试日期、考试开始时间、考试结束时间等。
管理员可以对考试科目进行添加、修改、删除、查询等操作。
2.教师:
(1)题库管理:
题型包括选择题、填空题、问答题。
教师可以对各种题型进行增加、修改、删除、查询。
添加试题时可以设置试题难度。
教师只能对所教科目的题库进行操作。
(2)试卷管理:
可以设置考试题型,包括各种题型的数目和每道题的分值。
如果出问答题,则可查询到学生的答案,进行手工批改,并提交成绩至数据库。
(3)成绩查询:
教师可以查看可以查询所教科目的学生成绩。
3.学生:
(1)考试科目:
可以显示全部考试科目,考生也可以根据关键字搜索想要考试的科目。
科目有时间设置,未到考试时间或考试已结束将不能参加考试。
(2)考试进行:
从考试科目页面进入考试页面,考试页面按照教师所设置的考试题型以及题目的难度随机生成试卷并显示考试倒计时。
(3)成绩查询:
考生可以查询考试过的科目的成绩,包括各种题型的成绩以及总成绩。
4.2数据库设计
4.2.1概念结构设计
概念结构设计的任务是在系统分析的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。
概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。
概念数据模型,是结合将要开打的系统按照用户的观点来对数据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性的静态描述.概念结构设计的方法一般是先画出组织的局部E-R图,然后将其合并,在此基础进行优化和美化。
在考试系统中,共分10个实体:
分别为管理员信息、教师信息、学生信息、科目信息、题库信息(包括选择题信息、填空题信息、问答题信息)、试卷信息、答案信息、成绩信息,它们之间相互都有联系。
由于实体数量较多,不一一画出实体属性E-R图,仅分别列举说明:
管理员信息(管理员帐号、管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络技术 科研 创新 能力 实践
![提示](https://static.bingdoc.com/images/bang_tan.gif)