基于Web的远程辅助教学系统的研究与实现

时间:2022-03-24 07:02:08

基于Web的远程辅助教学系统的研究与实现

摘要:网络技术在教育领域的应用已非常广泛,创建一个基于工作流的远程辅助教学系统平台是现代信息技术发展在校园的必然体现。该系统是基于网络的,进行作业、收集、评价等任务的辅助教学服务系统,通过Web形式来实现网上的工作交互、文档流转。只需在IIS服务器安装本系统,便可以通过网络实现日常的作业布置、作业完成等功能。这种Web形式的教学活动,不需要在终端机器上安装任何软件,打开浏览器登录就可以展开。因此,使用方便、便于推广、维护成本低。而且升级简易,通用性好,接口简便。

关键词:WEB;远程;辅助教学;系统设计

中图分类号:G434文献标识码:A文章编号:1009-3044(2011)22-5504-03

Research and Implementation of Remote Asistant Teaching System Based on Web

CHEN Ri-li

(Department of Computer and Electronic Information Engineering, Shandong Yingcai University, Ji'nan 250104, China)

Abstract: Network technology has been very extensively applied in the field of education, creating a remote system platform based on workflow will reflect the development of modern information technology in the campus. It is an auxiliary teaching task service system based on the network, implementing operation release, collection and evaluation.It can achieving the online work interactive, document transfer through the Web. In case of installation of this system to server IIS, The daily work such as homework assignments, homework done can be achieved through network. This form of teaching activities based on Web, do not need to install any software in the terminal machine. It can be used by openning the browser and login in. Therefore, it is convenient to use, effortless promotion and maintenance cost is low. Otherwise, it is simply updating, universal and, has handy interfaces.

Key words: WEB; remote; assistant teaching; system design

1 系统开发背景

答疑和作业是教学过程中一个必要的环节。目前,一般高校布置作业的方式都是老师随堂布置,学生课后完成。交作业的形式大多是以纸质作业本的形式上交。但由于高校教师多数不坐班,以作业本的形式上交多有不便,负责收取作业的学生,需要经常和老师电话联系约定,送交和取回作业的时间地点。任课教师把大量的作业本带回家里批阅又很不现实。因此,任课教师批阅作业的时间也受到很大约束。

根据以上情况,如果我们能开发一个远程辅助教学系统来完成这些事情,那将给教师批阅作业的工作带来很大便利。随着网络技术的发展,网络在教育领域的应用已经非常广泛,从管理、经济和技术等各方面考虑,开发一个这样的系统都不是难题。

2 需求目标和功能概述

本文属于应用研究与实现,以面向学生日常作业为手段,以辅助教学为桥梁,以实现网络化教学为最终目标。采用积木式搭建,提供灵活的组合和良好的扩展性。系统主要功能如图1所示。

本系统是一个基于web面向作业的交互式平台,实现这一平台有效、稳定的运行,需要实现单位、人员、课程、题库等一系列数据的维护。系统完成后主要实现的功能有:在作业交互上辅助教学,即老师可以在线布置作业,评判作业,记录成绩,作各种度量统计;学生可以在线完成作业,查看历次作业成绩;学生在线和离线提问,教师在线或离线答疑;输出Excel或Word文档统计报表。

3 系统设计的基本方法

1)系统按纵向分层,横向分块的方式进行组织设计。纵向三个子系统模块层,横向实现功能模块。同一层中不同模块实现的方法基本相同,只是源数据和目标数据不同。

2)对系统的每个工作流程进行细化,得到每个操作的基本模块。

3)对各模块的数据结构进行综合评估,考察各模块的操作过程,对数据结构进一步优化,需要长期保存的数据建立数据库文件,临时数据则通过数组变量的形式体现。

4)按流程图构造功能模块。将系统细化成模块的目的,就是将系统的功能细化、分解,使最后形成的模块功能单一,容易实现。系统的功能模块定义好后,按照各子系统的功能组成,将各功能模块进行适当的连接和组合,形成各个子系统。功能模块由操作临时数据和对组件的调用构成。

5)按照各子系统的要求,将各功能模块组合成三个子系统,即数据维护子系统、功能子系统和数据访问接口模块,每个子系统又将会按照2)到4)的方法细化出若干个子系统。

6)最后将5中的三个子系统组合成系统。

3.1 系统设计的目标和原则

稳定高效、统一规范、安全可靠、便于扩展和二次开发以及数据一致性是本系统的设计目标和原则。

由于本系统对实时性要求并不特别高,故而系统的稳定健壮性是最重要的性能指标。为此,系统的开发和使用一律使用Microsoft的产品。系统中的作业流程,接口力求统一规范。特别是数据访问接口的统一规范,以提高系统开发,管理效率。将高层次、复杂的开发工作,变成统一规范的编码工作,降低出错率。降低维护成本。系统在数据库设计和数据写接口设计时,加入防伪装和防木马写入等设计,主要是防木马引导脚本数据的写入。建立防木马引导脚本数据特征表和黑名单客户(IP)表。建立入侵报警模块和备份模块,实时监控写入数据的合法性,定期备份数据。系统除提供统一规范的dll接口外,还提供Web Servic 接口(现行的web接口是通过页面和参数完成的。Web Servic提供的函数结构,在编程时通过Web引用,得到提供Web Servic的站点,直接对函数调用),这样在继承和远程数据访问方面,也可简单的实现。为扩展和二次开发提供良好的SDK(Software Development Kit, 即软件开发工具包 ),降低开发成本。系统中一个完整的数据项,往往是来自于若干表或若干行。为确保一个数据项的一致性,可采用数据事务处理和异常事务回滚技术。

3.2 软件架构

软件架构由客户端、IIS服务器和数据服务器三层构成。软件系统架构组成图如图2所示。

客户端主要完成用户(教师、学生、管理员)通过IE调用客户端应用程序,实现数据录入、修改、删除和验证(身份和权限),以及系统功能应用;与用户交互,提交数据到IIS服务器,从IIS服务器读取数据呈现给用户;输出、打印报表。IIS服务器用于抽象客户端数据并验证其完整性,送入数据访问接口;从数据访问接口读取数据,并组织成客户端的显示数据。 数据服务器用于验证抽象数据的统一性和安全性,写入数据库;读取数据,通过数据访问接口,与IIS服务进行数据交换。

3.3 系统结构

整个系统被刻意地分成两个层次,资源层和应用层。资源层有文本、图形、图像、影像等原始的孤立数据,有抽象数据,也有例题、习题、试卷等复合数据,还有样表、工作数据、和行为数据等工作资源,以及一些资源维护。实际是一个数据结构层,是系统数据模型的实现体,是支持系统工作的基石。应用层是面向客户的,包括数据维护模块和功能模块(如图2所示),具体负责将资源层数据转换成可视形态,按客户要求显示或打印。同时负责原始数据的维护,抽象数据的分离,结构式(复合)数据的组织,行为数据的描述。这两个层次相对独立,相互依存,支持整个系统的工作。

3.4 数据库设计

数据部分必须完成的功能是,记录单位(学院、教研室、班级、行政单位)信息数据;记录人员(教师、学生、管理)信息数据;记录课程(课程、章、节、知识点)信息数据;记录作业题(填空、单选、多选、判断、简答)信息数据;记录作业流程(布置、完成、批改、评判)信息数据;完成数据级完整性和统一性校验;完成数据级安全性校验。

3.5 接口设计

为了提高数据访问的速度和数据统一的易维护性,设计时,将数据访问接口分割成两部分。一部分是二次封装的ADO类,另一部分就是负责数据读写的存储过程。建立存储过程可以提高数据的访问速度,简化程序代码设计,但为安装和部署系统增加了一些工作量。本系统中的每一个表都有对应的写入和修改存储过程,负责数据关系的校验和存储。所有表的删除过程是统一的。部分表还建立写入、修改和删除触发器,用于关键性数据的统一性维护。

4 核心模块工作流程

从图3的流程可以看出,主要是教师和学生两大类人员在平台上工作。

教师布置作业时登录,首先选择教授课程,然后根据章节或知识点选择作业题,再选择作业布置对象的班级,这样完成一次布置作业的流程。 批改作业时登录,首先选择作业班级对象,然后选择作业和学生,对须人工干预的作业题(如简答题)进行批改,最后综合评判结果。

学生登录后,首先选择当前作业,然后完成作业并提交。系统会对作业中的客观题进行自动评判。

4.1 建立数据表、以及存储过程

本系统用到20个数据表:单位表,人员表,用户表,课程表, 知识点表,出题点表,填空题表,单选题目表,单选题答案表,多选题表,多选题答案表,判断题表,简答题表,作业表,作业题表,教授课程关系表,教学关系表,布置作业关系表,作业成绩关系表,作业题完成关系表。

为了提高数据访问速度,和避免程序中对数据长度的纠缠。系统为每一个数据表建立一个写存储过程和一个修改存储过程[3]。对一些独立特殊的任务,建立专用存储过程,比如登陆和注销等存储过程。

4.2 数据访问接口

该组接口被定义成一系列数据访问类,完成数据的读写。该组接口是对[4]的进一步封装。主要有一个基类和对应数据表的子类组成。由它们直接和数据库进行数据交换,而其它代码只要通过该组接口类对象,就可实现数据访问。

4.3 开发工具

客户端,用html语言构建客户端文档及对象;用JavaScrip脚本语言控制客户端对象行为,实现各模块在客户端的功能;用CSS控制客户端对象外观表现。

服务器端,用C#语言控制IIS服务器的六大对象[5],实现各模块的服务器端操作。 它们在ASP.NET中已被进一步封装,在.NET极少直接操作这些对象本身。

数据库访问接口,用C#语言控制ADO.NET[4] 对象,实现数据库的连接和读写操作。

数据库,用SQL语言组织数据表以及相关对象[3],并加以控制。

5 系统测试

5.1 测试的目的

系统测试的目的是为了发现程序中的错误。软件的错误根据其引发源的不同,有语法错误和逻辑错误;根据引发时机的不同,编译错误,连接错误,运行时错误。

以上两种分类不是孤立的,而是相互紧密关联的。就一般而言编译错误和连接错误是由语法错误(编程语法和配置语法)引起的,而运行时错误是由逻辑错误引起的。前者容易发现,后者则不易发现,有的逻辑错误甚至永远也不会被发现。

在C/S模式下程序一旦发行,编译和连接错误也就随之完结。但基于B/S的项目,即使项目投入了使用,同样还会出现这样或那样的错误。因为服务器端有个配置文件Web.config,第一次运行程序时,FrameWork会根据配置文件有一个“再编译”过程。如果配置的不合理,就会出现“编译”错误,甚至页面乱码。这些都需要非常专业的手段来处理,所以,投入使用项目需要一个详细的配置说明,和恢复原始配置的手段。

通常认为运行时错误是由逻辑错误造成的。但也有例外,如果发行时没有细心地将所用到的动态库同时打包发行,可能的结果是,运行时找不到动态库,这当然属于连接错误。同样,当运行环境版本不符,也属于连接错误。这些错误都不难处理,一个专业的程序员很快就可以解决这些问题。

真正难以对付的是那些藏在代码深处的逻辑错误,有些逻辑错误如果不能及时发现和及时处理,可能会给系统带来灭顶之灾。

5.2测试的方法

本系统测试分四个级别:单元测试、集成测试、确认测试和系统测试[1]。

单元测试用来测试程序的每一个小的模块,目的是保证每一个基本模块独立运行的正确性。单元测试是在每一个小模块或功能模块完成编码后随之进行的。存储过程测试、数据库访问接口测试、独立页面测试都属于这个范畴。

集成测试,也称综合测试。目的是为测试系统中每个模块或页面组织结构的合理性,以及它们之间的协调性。一般是在几个模块或页面协调完成的功能编写完成时,进行集成测试,窗口扭转的正确性,页面扭转的正确性都属于本测试范畴。

确认测试,也称验收测试。目的是检验已完成的功能模块或页面,乃至整个系统是否达到设计要求。可以和集成测试同步进行,但不是由编程人员自己测试,而是由系统设计者测试。例如功能目标测试、功能指标测试、性能指标测试等都属于这一类测试。

系统测试,也称上线测试,是在使用中测试。需要将系统实际安装到使用单位,进行实际运行测试,这就像很多的商业游戏上线测试一样。恢复测试、安全测试、强度测试均属于这类测试。

6 结束语

本系统采用B/S结构,每层独立处理,降低了调试和维护成本。数据访问的三层结构可适当提高数据的安全性,大大提高系统的灵活性。本系统是基于Intranet(园区网)的一个架构,组建简单,扩展和迁移都十分方便,利用现有的教学网络或办公网络均可搭建。本系统采用的是面向对象的数据处理技术,每个对象只向上负责。即使在最底层的数据层提出修改,也不会有很大影响,只需沿对象向上修改一条线或几条线。本系统在处理对象时,大量采用虚拟和多态,使得代码复用性大大的提高。例如,填空题、单选题、多选题、判断题和简答题这5个类,将他们从一个所谓的基类中继承下来,而这个基类并没有任何实际的操作,只是定义了一些虚拟函数。在实际使用时,只要将基类对象指向不同具体的类对象,调用同样的函数,却完成完全不同的操作。特别说明,本系统填空题采用的是关键字加比对方式的办法,应用结果表明,该算法能使得评判做到客观公证,迅速快捷,具有很好的实用性。

参考文献:

[1] 齐治昌,谭庆平,宁洪.软件工程[M].北京:高等教育出版社,2001.

[2] Perry W E.软件测试的有效方法[M].北京:清华大学出版社,2008.

[3] Microsoft.SQL Server 联机丛书[M].Microsoft Corporation,1998.

[4] Microsoft.MSDN Library - Visual Studio .NET 2003[M].Microsoft Corporation,2000.

[5] Johnson S.Active Server Pages 详解[M].北京:电子工业出版社,1999.

[6] 杨鹏,黄洪先,龚春秀.基于WWW的交互式远程教学系统及应用[J].北京科技大学学报,2001,23(1).

[7] 张广斌.交互式远程教学系统的设计与实现[J].电脑知识与技术,2008(13).

[8] 何业兰,袁志毅.基于网格的远程教学新模式探究[J].计算机技术与发展,2007,17(8):230-232.

[9] 杨学敏,高磊.Web模式下远程教学考试及练习系统的研究与设计[J].唐山师范学院学报,2007,29(5):107-109.

[10] 崔骏,苏中义,郭辉,王文.基于WWW的在线考试和答题系统的分析与实现[J].微型电脑应用,2001,17(10).

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于FLASH技术制作的拼图游戏 下一篇:运用ERP系统增强石油销售企业的财务管理水平