基于JSP网上作业管理系统的设计与实现_第1页
基于JSP网上作业管理系统的设计与实现_第2页
基于JSP网上作业管理系统的设计与实现_第3页
基于JSP网上作业管理系统的设计与实现_第4页
基于JSP网上作业管理系统的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档倾情为你奉上精选优质文档倾情为你奉上专心专注专业专心专注专业精选优质文档倾情为你奉上专心专注专业目 录TOC o 1-2 h u 第1章 概述 从20世纪90年代以来,Internet逐步走上信息时代的历史舞台,它为人民提供了一种崭新的信息交流方式。同时,也随着信息技术、网络技术和多媒体技术的飞速发展,网络与教育的有机结合逐步成为教育领域的一种发展趋势。美国思科集丽总裁约翰钱伯斯访问中国期间发表演讲时曾指出“是网络和教育决定了我们的未来”。他认为,作为推进社会经济发展的两个核心动力一一“网络和教育”将深刻地改变一个民族的历史和命运,改变一个国家、企业、个人在未来时代的竞争力。在方兴

2、未艾的大潮中,谁把握了前沿的信息,谁就把握了未来,谁开创了面向未来的现代教育体系,谁将具有持续发展的能力! 在网络的推动下,教育也走上了信息化的时代。从单机的CAI、ICAI、卫星电视、多媒体到教育网络,这无不说明整个教育界都在努力地运用各种最新的信息技术手段来优化教育与教学过程。在这样的需要下,以Internet和多媒体为标志的现代远程教学就以一种全新的教学形式呈现在了世人面前。它作为一种新型的教学模式,将最大限度利用现有教育资源,它是实现教育的大众化、现代化、终身化和国际化的新型教育形式。现代远程教育是随着现代信息技术的发展而产生的一种新型教育形式,是构筑知识经济时代人们终身学习体系的主要

3、手段。我国真正意义上的现代远程教育是从1998年9月教育部批准清华大学、湖南大学、浙江大学、北京邮电大学作为现代远程教育首批试点高校开始的。现代远程教育具有传统教学模式无可比拟的优点,它创造了一种全新的教学模式,打破了传统教学模式在时空上的限制,采用先进的教学手段和教学方法,可以实现适合学生个体发展的教学。因此,这种与网络相结合的学习系统的开发与利用越来越受到世界各国的广泛重视。软件工程的基本思想就是将软件当作一种工程产品来处理,从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个相对独立的阶段,并给每个阶段赋予明确而有限的任务。从控制论的角度来说,这种思想就是在

4、改造原有系统,设置系统状态观测点和系统控制点,以便了解当前所处的状态和控制系统的状态。另外,软件工程在每个阶段结束时都进行严格的技术审查和管理审查,这实际上就是在比较当前状态与预想状态的差别,并根据这些差别来反馈调整该阶段的设计。软件开发的一个共识,是把一个大的项目划分成一些小的模块,再把小的模块划分成更小的模块。如果这些小模块是独立的(或者原来就是一个独立的项目),那么软件工程至少可以提高它的重用性。 任何软件系统要想获得较好的质量和较高的开发效率都必须遵循软件开发的一般规律。开发一项系统工程所涉及的技术面较广,特别是诧此类与教学相关的系统,除了相关课程专业知识,还必须掌握各类实现技术,需要

5、考虑的问题也较多,使软件开发的工作量加大,开发周期加长,需要提供一种手段来控制整个开发进程,以提高开发的成功率。由于教学对象的变更,经常需要增加或修改部分功能,维护量大,因此要求软件系统的可维护性高。另外,为了尽量减少系统开发与维护人员的交接问题,避免无形的浪赞,该软件系统必须具有较高的可读性。这就需要软件工程来有效合理的组织整个软件开发过程,这是一种指导软件开发的一种工程思想,软件工程的思想和原则可以明显提高软件的可靠性、可维护性及软件开发的成功率,是解决以上问题的有效方法。本文就是在软件工程的思想和原则的基础上分析设计了一套网上作业系统,以此来探讨相关实现技术。第2章 系统技术概述2.1分

6、布式应用系统 纵观人类计算扭的发展历史,每隔十年至十五年,信息产业就公发生周期性的变革,1950年至1970年期间,主要采用大型主机一终端的体系结构,应用系统则采用单一、集中的方式为用户提供资源共享服务。80年代初期,开放系统与关系型数据库管理系统被大量采用,有别于集中式系统,应用程序逻辑分散在主从两端。随着Windows的普及,90年代则是图形化的应用时代,C1ient/Server体系结构也被广泛采用。90年代后期,信息产业出现了分布式对象技术,应用程序可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信。将企业已有系统集成于分布式系统,可以极大地提高企业应用系统的扩展性

7、。90年代末出现的多层分布式应用进一步简化应用系统的开发指明了方向。 目前国内外的各类系统较多,从结构上来看,主要是客户机/服务器结构(Client/Server)和浏览器/服务器(Browser/Server)结构。2.1.1 C/S结构与B/S结构1. C/S结构 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是C1ient/Server形式的两层结构,出于现在的软件应用系统正在向分布式的Web应用发展,

8、Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统。通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论烧Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。 2. B/S结构 B/S(Bro

9、wser/Server)结构即浏览器和服务器结构。就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器投术,结合多种Script语言(VBScript、JavaScript)和ActiveX技术,是一种全新的软件系统构造技术。B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(C1ient)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应

10、用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中闻件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务嚣间的连接和通信;实现应用与数据库的高效连接:提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返

11、回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。 B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,

12、Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全,B/S架构的管理软件更是方便、快捷、高效。 3. 管理软件主流技术管理软件的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软传其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器

13、(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。2.1.2 C/S与B/S之优劣 C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己的优势和劣势。 1.C/S架构软件的优势与劣势 应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则

14、做出应答,送回结果,应用服务器运行数据负荷较轻。 数据的储存管理功能较为透明。在数剧库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,麻烦的事情都交给了服务器和网络。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。 高昂的维护成本且投资大这是C/S结构的劣势。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这

15、样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 2B/S架构软件的优势与劣势 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力

16、、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人正常使用。应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过www浏览器

17、实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.1.3 C/S与B/S的区别 Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。 1. 硬件环境不同: C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强

18、的适应范围,一般只要有操作系统和浏览器就行。 2. 对安全要求不同 C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。 3. 对程序架构不同 C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000,Exchange2000等,全面支持网络的构件搭建的系统

19、。SUN和IBM推出的JavaBean构件技术等,使B/S更加成熟。4. 软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。B/S对的多重结构,要求构件相对独立的功能。能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。 5. 系统维护不同系统维护是软件生存周期中,开销大,相当重要。C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。B/S构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6. 处理问题不同C/S程序可以处理用户面

20、固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法做到的,与操作系统平台关系最小。 7. 用户接口不同C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。2.2 JSP技术2.2.1 简介JSP技术使用编写类XML的tags和scriptlets,来封装产生动态的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的。JSP将网页逻辑与和显示分离,支持可重用的基于组件的设

21、计,使基于Web的的开发变得迅速和容易。 Web在遇到访问JSP网页的请求时,首先执行其中的,然后将执行结果连同JSP文件中的HTML一起返回给客户。插入的程序段可以操作、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java一样,是在服务器端执行的,通常返回给的就是一个HTML文本,因此客户端只要有就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Jav

22、a技术的简单易用,完全的,具有平台无关性且安全可靠,主要面向的所有特点。 2.2.2 JSP内置对象 JSP提供了九个内建对象,供用户直接调用: request对象:该封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。 response对象:对客户的请求做出的响应,向客户端发送数据。 session对象:JSP的内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。 application对象:服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服

23、务器关闭。 out对象:out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。 page java.lang.Object:对应this关键字。JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。 Config:javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitParameter(String paramNarne) 及getInitParametern

24、arnes() 等方法。事实上,JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。 Exception:java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。 pageContext:javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServl

25、etContext()和getServletConfig()等。 2.2.3 JSP的技术方法 为了快速方便地进行的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。 1.将内容的生成和显示进行分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小来生成页面上的(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够

26、编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的的完全可用性。 2.可重用组件绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过

27、程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3.采用标识Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 4.适应平台几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java都是标准的与平台无关的。 5.数据库连接Java

28、中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBCODBC bridge,利用此技术Java程序可以访问带有的数据库,目前大多数都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。 此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。 JSP技术很容易整合到多种应用中,以利用现存的工具和技巧,并且能

29、扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。2.2.4 JSP的应用模型利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并

30、且生成JSP页面作为对客户端的响应。 JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGIBIN为每个生成一个新的进程的问题)。 JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页

31、面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。2.3 数据库的选择在本系统中,我选择MySQL关系数据库作为数据存储的工具。MySQL是一个小型关系型数据库管理系统。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL“”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL()。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数

32、据库。MySQL的系统特性: 1. 使用C和C+编写,并使用了多种进行测试,保证的可移植性 2. 支持AIX、HP-UX、Mac OS、Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种 3为多种提供了API。这些编程语言包括、C+、Java、Eiffel、Ruby和Tcl等。 4支持,充分利用CPU 5优化的查询算法,有效地提高查询速度 6既能够作为一个单独的应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名 7提供TCP/I

33、P、ODBC和JDBC等多种数据库连接途径 8提供用于管理、检查、优化数据库操作的 9可以处理拥有上千万条记录的大型数据库 10支持多种存储引擎2.4 Servlet技术2.4.1 简介 Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的J

34、ava虚拟机。2.4.2 Servlet的实现过程 最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为: 客户端发送请求至端; 服务器将请求信息发送至Servlet; Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求; 服务器将响应返回给客户端。 Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字

35、节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject。 一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。 第3章 需求分析和概要设计3.1系统设计的教育背景 基于JSP的网上辅助学习系统是现代远程教学的研究方向之一。它将计算机网络、多媒

36、体技术等相结合,形成新的教育模式。它使传统“传道、授业、解惑”过程不再受时间、地点限制,学生不但可以根据自身的实际情况灵活地安排自己的学习计划和进度,而且可以共享优秀的教育资源和教育方法,并且可以随时向教师请教或在网上查找相关的参考资料。这些都为学生提供了更为广阔的学习空间。学生由以前的被动接受知识,变为主动学习,成为学习的主体,实现了个性化学习。长期以来,学校的教学形成了以教师为中心,教师利用讲解、板书和各种媒体作为教学的手段和方法向学生传授知识;学生则在很大程度上被动地接受教师传授知识的课堂教学模式。如今处在一个同新月异的知识爆炸的时代,传统的教学模式已满足不了孩子求知的欲望,抑制了学生自

37、主学习。而时代的发展也要求学校培养出具有个性化的全面发展的人才,这样就必须对传统的课堂教学模式进行改革。应用计算机辅助教学手段激发学生求知欲和理智的好奇心,提高学生学习的主动性和积极性,减轻学生的负担,促进身心发展,提高课堂教学的效率。因此,我们提出,以现代教育思想作指导,正确地充分地应用计算机辅助教学手段,构建起以现代教育思想为理论核心,以计算机技术为技术核心的现代化课堂教学新模式。当今社会是网络化的信息社会,网络对于人们来说已成为获取信息不可缺少的途径,而且扮演着一种愈来愈重要的角色,尤其在教学过程中,如何让学生学得更有效?如何让学生学得更轻松?如何让学生学得更有个性化?这就要求我们现在的

38、教育不能死扣书本,要突破原有的教学模式,利用计算机为教学服务。因此开发出具有网上辅助学习功能的系统也是工作和社会所趋。3.2系统设计的教育理论基础现代远程教学系统是对传统教思想、教育观念的变革。远程教学模式的构建,必须在现代教育理论、学习理论的指导下完成,必须符合现代教育理论。著名心理学家斯金纳对于行为主义和程序教学方面的开创性贡献,奠定了行为主义心理学在现代教学软件设计中的主导地位。行为主义心理学认为,学习是由于经验的反复练习而引起的行为比较持久的变化。行为主义学习理论注意到学习起因是外界刺激的反应,而不关心刺激引起的内部心理过程。因此,它在解释行为为什么能发生时,受到了限制。在批判行为学习

39、理论的基础上,诞生了认知主义学习理论。1认知主义学习理论认知主义学习理论认为,人脑中的知识是以网状结构表达的,即知识点、链和由此形成的网络三部分构成。学习同一内容,需要在不同时间,在重新安排的情景下,带着不同目的以及从不同的角度多次进行,以此达到获得高级知识的目标。这意味着在教学中要对复杂主题作非线性的多维度的浏览,即在不同场合,从不同方向重返同一个概念。利用WWW技术中的超链接特性,可让学习者在学习时从一个知识点转到另一个相关知识点,知识点与知识点之间的网状拓扑结构,能让学习者在学习同一知识点的不同相关知识点时,方便地返回该知识点,由此从其它不同知识点的角度再来认识与学习该知识点。如果在远程

40、教学系统中单纯使用认知主义学习理论进行教与学,虽然可以实现超媒体的信息呈现,但学习者只是浏览各种教学资料,学习过程仍然属于被动接受学习,并不能有效地激发学习者的创造性。近年来,迅速发展的认知学理论的一个重要分支一一建构主义学习理论可以有效地解决此问题。2建构主义学习理论建构主义学习理论认为,知识不是通过教师传授得到,学习是在一定的情境即社会文化背景下,借助其他人的帮助即通过人际间的协作活动而实现的意义建构过程。建构主义作为对认知主义的发展,更加重视结构、建构和认知主体的核心地位,重视通过“情境创设”、“意义建构”、“协作”和“会话”等活动来建构知识的过程。因此,以建构主义理论为基础的远程教学系

41、统的软件设计应强调以下关键点:(1)强调“情境”的创设及其对意义建构的重要作用。(2)把学习者主动建构所学知识的意义即“意义建构”作为软件设计的目的。这要求把当前学习内容所反映的事物尽量和自己已经知道的事物相联系,并对这种联系加以认真思考,“联系”与“思考”是意义建构的关键。(3)使用探索法、发现法、随机访问教学法等能够充分发挥学生主体性的方法来建构知识的意义。(4)强调“协作”和“会话”。因为学习者与周围环境的交互作用,对予学习内容的理解起着关键作用。基于Internet的网络通信技术、多媒体技术等具有的多种特性特别适合于实现建构主义学习环境。计算视、网络、多媒体、超媒体等技术可以作为认知工

42、具和认知环境来构造学习的虚拟情景,构建一个人与人之间更为广阔的相互会话环境,由此进行协作活动而实现某种意义的建构过程。基于Web的远程教学系统应充分利用多媒体与网络特性加强“情境创设”、“协作”、“会话”等活动的建构,才能起到强化学习效果的功能。建构主义倡导的教学模式是数学生为中心、以过程为中心、以认知结构为中心。在学习过程中,充分发挥学生的主动性,让学生有多种机会在不同的情境下应用他们所学的知识,将知识“外化”,让学生能够根据自身行动的反馈信息形成对客观事物的认识和解决实际问题的方案。在整个教学过程中,教师不再是中心,他只起到组织前、帮助者和促进者的作用。各种教学资源应用来支持“学习”而不是

43、用来支持“教授”。在教与学的过程中,应充分利用“情境创设”、“意义建构”、“协作”和“会话”等活动发挥学生的主动性、积极性和创造性,达到对当前所学知识的意义建构的目的。3.3系统采取的远程教学模式在建构主义理论指导下,并辅以认知主义理论,本文所探讨的基予JSP的网上辅助学习系统采取了远程教学模式,即个别化教学模式。个别化教学即因材施教,是教学系统的一大优势。所谓个别化教学模式是指在学习过程中根据学习对象自身智力、学习进度和对知识点掌握牢固程度的不同,给出相应学习策略、学习进度、学习内容的教学模式。它是构建主义学习理论的一个重要应用。本系统的个别化教学模式主要通过在线浏览学习资料、学习资源下载和

44、在线测试来宓现。(1)在线浏览学习资料在本系统中,为了更好地辅助教师完成教学任务,为学生的自主学习提供良好的环境,需要使用有效的技术将教学内容呈现出来。认知主义理论认为,人脑中的知识以网状结构表达,即知识点、链和由此形成豹网络三部分构成网状结构。为便于人的学习,教学内容的呈现方式也应遵循人类记忆的网状结构。这种呈现方式就是超文本呈现方式。超文本呈现方式没有固定的顺序,也不要求学生按照一定的顺序进行学习。WWW技术提供的超文本环境。使用HTML等技术开发的教学网页,可融合文字、图形、动画、音频和视频等多种媒体朱表现教学内容,并生成相关知识点链接,将知识按网状结构呈现。(2)学习资源下载受Inte

45、rnet网络带宽限制,为减少服务器负载,提高效率,本系统将课件、教学资源打包压缩,通过HTML网页实现下载或在线播放。学生可以根据自己的学习状况选择需要的资源下载。学生将教学资源保存至本地机就可以在脱离网络的情况下进行单独的个别化学习。3.4网上作业系统总体模型通过对网络环境下教学特点的研究,建立了网上作业系统的总体模型,见图3.1,其中矩形框描述学生学习过程的各个环节,圆形框描述网上作业系统。从图上可以看出,网上辅助学习渗透到学生学习的各个环节,成为教师完成教学工作,学生完成学习任务不可缺少的组成部分。 根据图3.1所建立的模型,网上作业系统由以下功能组成:布置作业,完成作业,后台管理。根据

46、实际需要采用JSP技术,完成了网上作业系统的设计。图3.1网上作业模式3.5系统需求网上作业系统的目的是借助Internet的网络环境,建立一套功能齐全、使用方埂、效率高的网上辅助学习环境。在该环境下,学生可以学习、练习。该系统能很好地配合课堂教学,成为课堂教学的延伸和提高。结合软件工程中的模块化程序设计思想,整个系统主要由3个模块组成:教师模块,学生模块和管理员模块。网上作业系统里教师布置作业,学生查看教师所布置的作业并在客户机上完成作业,教师查看学生提交的作业和批阅作业,学生查看作业成绩和教师的评语。 以上三个模块都采用B/S模式,选用MySQL作为后台数据库,JSP作为前台的开发工具,服

47、务器端应用程序安装在Windows NT服务器上。学生可以在任何一个节点上使用本系统。3.6总体设计从管理到使用可以分为三种角色:系统管理员、教师以及学生,每一角色拥有的权限是不一样的。系统管理员:本系统为管理员提供了一个专门的管理平台。在该平台中,管理员拥有最高的权限,他对于系统所提供的基本功能都具有操作权限,而且管理员可以对学生、教师信息进行维护和更新。他的主要任务是对系统的正常维护和配置,对系统的整体情况进行统计分析以及用户管理。教师:本系统为教师提供了作业管理和教学资料共享的平台。教师的权限低于系统管理员,它的权限是系统管理员所赋予的,教师可以对学生的作业进行管理。另外,该系统允许教师

48、对所授课程的题库进行维护和更新,针对学生各自的学习情况布置不同的作业,查询学生作业的情况,掌握学生知识欠缺处,调整教学进度与内容。学生:学生是系统的最终使用者和受益者,是系统最大的用户群。本系统为学生提供了基于个人能力的个性化学习环境。学生登录到该系统后,可以查询教师根据自己的学习情况而布置的作业,完成作业并提交,等待教师的批阅。3.7 数据库设计图3.2 数据库实体关系图表3.1 admin表列名数据类型长度含义a_idint4管理员ID(标识列)namevarchar50管理员账户pwdvarchar50管理员密码表3.2 gonggao表列名数据类型长度含义g_idint4公告IDg_t

49、itlevarchar50公告标题g_contentvarchar200公告内容g_datedatetime10公告日期表3.3 state表列名数据类型长度含义s_idint4状态IDw_idint4作业IDs_noint10学生学号w_namevarchar50作业名w_statevarchar50作业状态表3.4 up表列名数据类型长度含义u_idint4用户IDs_idint4状态IDifupbit1是否提交adddatedatetime10添加时间表3.5 users表列名数据类型长度含义u_idint4用户IDs_noint10学生学号namevarchar10学生姓名pwdvar

50、char50用户密码emailvarchar50电子邮箱qqmsnvarchar50QQ或MSNphonevarchar50联系电话表3.6 works表列名数据类型长度含义w_idint4作业IDw_namevarchar50作业名w_datedatetime10作业日期w_memovarchar50作业说明3.8 系统的安全设计系统安全是非常重要的。开发Internet应用时,敏感信息必须受到保护,以防止无权访问它们的人查看它们,同时又必须准备接授权者访问。本文采取程序级的安全控制来保证系统安全。本文设计的网上作业系统拥有两级权限,一级系统管理员,二级教师和学生。系统管理员具有系统管理的最

51、高权限;教师具有布置作业、删除作业、批阅作业的权限;学生具有查看作业、提交作业、查看作业批改结果的权限。如果用户欲对受保护的网页或数据库进行操作时,用户必须在服务器上注册。用户注册成功,并被赋予权限之后,用户的登录名和口令得到确定。当用户首次进入系统时,用户必须进登录页面上输入正确的登录名和口令,通过登录验证,才允许进入相应的页面,进行学习和管理。第4章 系统实现4.1数据库连接字符串配置public static Connection getConn() Connection conn = null;try conn = (Connection) DriverManager.getConne

52、ction(url_base+host+:3306/+dbname+?+extra, username, password); catch(SQLException e)e.printStackTrace();return conn; 4.2 前后台页面工作流程图图4.1 前后台页面工作流程图图4.1说明:前台用户登录时,会向数据库进行查询,若有该用户且验证密码成功后就登录成功,否则返回让用户重新输入。登录成功后,用户可以进行查看公告,查询作业,提交作业等相关操作,操作完毕后用户可以退出登录,返回默认页面。后台管理员登录同样会验证用户的合法性,验证成功才能进入系统进行公告管理,用户管理等相关操

53、作。否则返回登录页面继续等待用户输入。4.3 输入输出设计图4.2 前台默认页面图4.2说明:前台登录时默认的页面,用户可以快速的浏览到最新的公告,当前日期,相关链接。左上角有登录功能,点击登录按钮,会触发Login1_Authenticate事件方法,验证学号和密码是否与数据库中的数据一致,若验证成功,则会跳转到LoginOk.aspx页面,即登录成功页面,并将用户信息存储在Session中。否则会返回当前页面,等待用户继续输入。点击create account按钮时,则会跳转到Reg.aspx页面,即用户注册页面,是用户能够注册一个新的帐号来进入系统。图4.3 用户注册页面图4.3说明:此

54、页面可以注册新的用户,通过验证控件保证用户输入数据的完整性。若输入的数据与数据库的约束不相符,则会返回错误信息,以此来保证数据的正确。注册用户的数据库添加操作:public static int register( Users u ) int res = 0;String sql = insert into dm_users(user_name, user_passwd, user_type, user_email) values( + u.getUser_name() + , + u.getUser_passwd() + , o, + u.getUser_email() +);res = D

55、bUtil.update(sql);return res;根据注册结果的不同servlet做不同的操作:if( action.equalsIgnoreCase(register) ) int res = UserBean.register(u);if ( res 0 ) request.setAttribute(status, 注册成功!请等待系统管理员验证之后登录并使用系统!); else request.setAttribute(error, 注册失败!请检查注册信息!);try request.getRequestDispatcher(index.jsp).forward(request

56、, response); catch ( Exception e ) e.printStackTrace();return;图4.4 学生登录成功页面图4.4说明: 学生登录成功后可以查看自己的作业情况和更改自己的信息。学生作业的所有情况获取:public static ArrayList showByStudent ( String student ) ArrayList res = new ArrayList();String sql = select * from dm_works where work_student_id= + student + order by work_id d

57、esc;res = DbUtil.query(sql, Works.class);return res;获取学生未完成的作业情况的数据库操作:public static ArrayList showByStudentAndWait ( String student ) ArrayList res = new ArrayList();String sql = select * from dm_works where work_student_id= + student + and work_status=wait order by work_id desc;res = DbUtil.query(

58、sql, Works.class);return res;图4.5 后台管理界面首页图4.5说明:后台管理员页面,管理员可以管理系统的公告,删除或新建系统用户审核用户,修改用户等。图4.6 添加作业图4.6说明:教师用户可以在此页面针对不同的学生添加不同的作业。图4.7 作业情况图4.7说明:在此界面下可以非常清楚的看到每个学生的作业完成情况,并可以对作业进行批阅、删除操作。作业的相关操作代码:public static int add( Works w ) /向作业表中添加新作业int res = 0;String sql = insert into dm_works(work_teache

59、r_id, work_student_id, work_title, work_content, work_status, work_date) values(+w.getWork_teacher_id()+, +w.getWork_student_id()+, +w.getWork_title()+, +w.getWork_content()+, +w.getWork_status()+, +TimeUtil.getLocale()+);res = DbUtil.update(sql);return res;public static int delete ( Works w ) /删除作业

60、操作int res = 0;String sql = delete from dm_works where work_id= + w.getWork_id();res = DbUtil.update(sql);return res;public static int update ( Works w ) /更新作业操作int res = 0;String sql = update dm_works set work_answer=+w.getWork_answer()+, work_answer_date=+TimeUtil.getLocale()+, work_status=+w.getWo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论