基于B/S模式的网络教学系统的设计与实现

2009-03-10 09:50穆慧琳杨建峰刘川川
中国教育信息化·高教职教 2009年1期
关键词:数据库设计网络教学

穆慧琳 高 岭 杨建峰 刘川川

摘 要:针对目前网络教学系统存在的不足,提出并开发了一种新型的基于B/S模式的网络教学系统。文章着重介绍了基于B/S模式教学系统的设计、开发过程管理及实现系统的关键技术。通过新型网络教学系统的开发和设计,为网络教学的规模化、正规化提供了一种低成本、高效率的实现途径。

关键词:B/S 网络教学 数据库设计 版本管理

中图分类号:G434 文献标识码:B文章编号:1673-8454(2009)01-0048-04

一、引言

随着现代网络技术和Internet应用平台的发展,网络教学利用信息化技术克服了传统教育受时空制约的弊端,使得广大师生可以异步完成灵活交互式自主性教学活动,传统教育资源和教学方法的限制也被打破,教师可以依据自己的教学经验对课程进行设计,并通过教学平台收集教学效果;学生可以根据自己的学习水平安排计划和进度,实现个性化、自主化教育。

研究比较国内外流行的网络教学平台,如WebCL、E-learning、4A、中文版Blackboard、魔灯、南京易学的天空教室等国内教学平台和LearningSpace、WebCT、Topclass和Blackboard等国外教学平台后发现,国内教学平台虽然在教学设计工具和课程设计方面提供了一些资源,但其设计工具和模板不够简单和灵活;从交流和协作功能方面来看大多数教学平台重视通过网络进行教和学的沟通,但缺乏工作组的设计,很难模拟现实的大学教学场景;在管理方面,它把安全登录和技术支持功能放在十分重要的地位。课件点播是具有我国特色的一项教学平台功能,但是相比较国外教学平台而言,国内教学平台在课程单元管理、自测管理和作业评分管理方面仍有不足。[1]

围绕以上这些问题,本文提出的基于B/S模式的网络教学系统具有以下特点:在课程设计上提供了既符合教学设计系统化的思想,又能提供开放性设计思路的工具;在交流协作方面,P2P技术的引进让学习者像在现实中学习一样方便,网上虚拟大学社区的设计也解决了工作组的问题。在管理上,将与学习者学习相关的所有信息生成一定格式的文档,并与学校的相关数据库连接,便于教学管理人员进行分析和归纳;对课程资源建立统一的管理空间,并对其进行合理的划分,提供专门的人员进行分类管理。

二、网络教学系统分析与设计

1.系统目标和功能设计

教学工作涉及师生之间教与学的方方面面,因此网络教学系统的设计也要从教与学的工具和方法上考虑。该文设计的目标是基于因特网搭建一个虚拟的网络教学平台。通过网络教学系统,教师、管理员可以设计、提交与教学相关的资料和信息,学生则可以获得各自所需的教学资源,从而达到教学网络化和信息化的目的。[2]

基于网络的教学系统,在功能上主要包含以下几个方面:提供系统的课程开发、学生管理、系统用户的交流、测验、学习和教学跟踪工具、以及定期的统计功能。该文通过对网络教学系统功能的分析并结合课程、学生、教师三条主干线在教学过程中的设置和使用情况,设计和开发的基于B/S模式的网络教学系统主要包括三大模块和其下属的八个子模块,系统的功能如图1所示。

管理员通过课程管理模块设置课程类别、创建课程和任命与课程相关的教师;通过用户管理模块设置整个系统的注册方式、管理用户账号和用户权限;通过系统配置模块来管理站点信息、对系统的参数进行配置、插件设置和统筹系统界面风格。

教师通过教学设计模块来确定教学目标、教学大纲和教学计划,根据相应的课程来设计与之对应的教学活动、教学策略以及评价标准;通过教学活动模块完成教学准备和教学实施两个步骤,在教学准备中,教师上传或者设计相关的网络课程,导入课程素材和讲义等,在此期间将教学设计中的活动添加进来。在教学实施阶段教师将积极引导学生自主学习,展开相关的讨论,通过答疑来解决学生学习过程中的问题,通过布置作业巩固学习结果,最后通过测验考试查看教学效果;通过教学评价反馈模块对学生作业和发表的文章进行评定,也可采取相关专题的测试来检验教学效果,再结合网上教学活动的评定和记录来更好地设计、实施教学。

学生通过课程学习模块完成课程学习前的准备和相应课程的学习。学生浏览课程简介、课程大纲和课程公告后选定自己要学习的课程,注册和报名后通过系统的审核进入课程学习阶段,在此阶段学生查阅课程相关资料、课件等来确定自己的研究方向,通过提问、答疑、在线讨论、工作组等形式来完成相关课程问题,完成老师布置的作业、测试等教学活动,最后参加本门课程考试取得课程学分;通过教学评价模块来查看自己和整个课程学习人员的作业情况、测试成绩以及个人活动记录,然后将自己的学习情况反馈给老师。

2.网络教学系统总体架构

网络教学系统运行在基于B/S的开放式Internet/Intranet环境中。其中,浏览器能向内/外部服务器发送请求,以此来获得信息;而服务器可以在网中任何位置,运行在任一种操作系统上,在后台处理请求后将结果发送给用户。[3] 系统的网络结构设计采用三层模式,即:表示层-业务层-数据层。在表示层,教师和学生利用主机上的浏览器,如IE、Firefox等任一种来访问教学系统提供的服务。在业务层,采用Apache作为Web服务器,其中,Web服务器接受用户申请,并通过执行数据库访问技术,将用户申请信息转换为数据库可识别的语句,连接数据库并取得信息,然后返回给用户。数据层采用MySQL作为数据库服务器,为方便数据管理拟定将数据分为教学资源数据库、教师信息数据库和学生信息数据库。这样,浏览器、Web服务器、数据库服务器就构成了一种开放式的B/S集成模式。网络教学系统的总体架构如图2所示。

3.数据库设计

开发网络教学系统首要任务就是设计系统的数据库模型。在开发过程中分别从概念数据库模型和物理数据库模型两个层次对数据库进行设计。首先对网络教学系统进行分析之后,采用Power Designer(PD)建立数据库的概念模型,再把概念模型转化成物理模型。MySQL可以通过物理模型自动生成数据库。下面介绍系统数据库具体建模过程。

(1)建立概念数据模型(CDM)

CDM也称为信息模型,从系统用户的角度出发对信息进行建模,以此来表现整个数据库的全局逻辑结构,在此期间不用考虑具体的计算机系统或者某个DBMS系统,只是为了展现现实的系统业务活动。建立CDM包括定义域、实体与实体间的关系等过程。采用PD所建立的网络教学系统CDM的部分模型如图3所示。

(2)由概念模型生成物理数据模型(PDM)

PDM是描述数据库的物理实现,目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,从而产生数据库中保存信息的存储结构,以保证数据在数据库中的完整性和一致性。PDM可以自动生成诸如“create table”之类的sql脚本。[4]

(3)采用正向工程和逆向工程进行迭代建模

正向工程是指先建立CDM再通过PDM产生一个关系数据库,或产生一个能在数据库系统环境中运行的数据库脚本。逆向工程是指将已存在的物理数据库结构导入到新的PDM 之内,包括表、索引、触发器、视图等。系统开发和系统的数据库建模都是一个反复迭代的过程,在开发过程根据用户的需求可能要不断地修改和添加数据库结构,在这种情况下,利用逆向工程把已经建立好的数据库系统的PDM模型生成出来,然后再把PDM模型逆向成CDM模型,对CDM模型进行相应的修改,修改完毕再通过正向工程重新生成数据库。

三、系统开发过程管理及系统实现的关键技术

1.系统开发过程中的版本管理

版本控制不仅能对正在研发的项目进行整体管理,使项目开发小组各成员之间以一种有效的机制进行协调工作,而且能对所开发的版本进行分支、合并和恢复管理,加之网络教学系统是一个信息频繁改变的地方,因此,使用版本控制系统尤为重要,图4为网络教学系统设计中版本控制系统的部署图。

图4中,一端保存所有纳入版本控制数据的svn版本库,在另一端是svn客户端程序,管理着所有纳入版本控制数据的工作拷贝,在这两极之间是各种各样的版本库访问层,使用网络通过服务器访问版本库,而本地的则可绕过服务器直接访问版本库。

2.系统权限访问控制

根据系统安全体系中用户权限管理需要,在系统的安全设计中将权限分为访问控制权限和用户角色两部分。

在定义这个权限时,访问控制权限可分为三种:一是页面权限,对于每一张页面都有一个页面权限,以便进行页面访问的控制;二是操作权限,它是只在一个功能块或页面内定义的权限,其下没有子权限,只有父权限(即操作权限所在页面的页面权限);三是链接权限,它是对每一个链接设定的权限,在定义这个权限时,必须有所在页面的页面权限(即父权限)和此链接到的页面的页面权限(即子权限)。这三种权限构成了访问权限的层次结构。在系统中只有一个根权限,就是首页的权限。其中每个页面有一个页面权限用于控制页面的访问控制,页面内的所有链接都有权限,它用于控制此链接的显示与否,页面内的各种操作权限是权限树中的叶子结点,其有一个父结点即其所在页面的页面权限。页面权限之间由链接权限连接起来。

用户权限是用来管理哪些用户可以进行什么样的操作,且可以控制用户从哪些主机连接到服务器,是否允许用户对其他用户授予或者取消对他们可以访问的数据库表的权限。在此系统中,角色用户分为系统管理员用户、教师用户、学生用户和游客四个大类,其中前三个为系统正式用户,后一个为系统非正式用户。对于系统管理员则赋予了最大级别的权限,它可以授予或者取消其他用户对指定数据库的所有基本权限;教师用户则赋予了对课程数据进行相关操作的权限;学生用户则赋予了对所选课程进行相关操作的权限,游客则赋予只能浏览一些特定的网页的权限。

对于不同的用户角色根据要求赋予了不同的页面权限、操作权限和链接权限,这样就构成了对用户管理的多样化,保护了数据库的内容,提高了数据的安全性。

3.数据库分页查询技术实现

服务器端的Web 数据库根据每次从客户端传递的不同查询条件查出符合条件的记录,并把结果显示在网页上。如何快速而合理地把查询结果输出到浏览器,直接关系着网站的访问量。鉴于网络教学系统查询结果的数据量大,有几百条甚至上千条,一次将如此多的数据全部输出到客户端是不合理的,这样一来会使页面的显示方式不便于用户浏览;二来大量的数据查询因耗时较长,从而使得客户端等待的时间过长;三是多个用户同时访问数据库会使服务器的负载过重,利用数据库分页技术就可以解决这些问题。在系统设计中利用PHP服务器端的脚本语言来对MySQL数据库管理系统进行查询。[5] 系统采用zend MVC框架开发,在zend框架下Zend_Db_Table是Zend 框架表模块,它通过zend_db_adapter连接到MySQL数据库。数据库分页查询设计流程是连接数据库后先查询符合条件的记录总数、确定需要显示的每页记录数后计算出需要的总页数(即记录总数/每页记录数)、计算出每页的起点和每页记录数进行分页查询后显示到浏览器页面上。

4.采用XML技术配置用户功能界面

教学系统中涉及多种角色的用户,不同用户具有不同权限,因此不同角色登录系统后显示的是不同的功能界面。例如,教师登录到系统后应该能使用上传课程作业、教学资源和课程公告等功能,而学生登录后则可以提交作业、浏览课程公告等。XML是W3C组织提出的国际标准,是一套定义语义标记的规则。DOM可以采用分层次对象模型来访问存储在XML文档中的信息,可以将XML文档中的信息转化成一组树的节点。[6] 在网络教学平台系统中所有的功能菜单都采用树状结构设计,使用XML配置文件根据不同的用户权限来配置该菜单,使得用户获得与自己权限相符的功能,系统管理员在为用户创建账号时根据用户角色的不同来自动生成XML配置文件。

除此之外,系统在教学交互过程中还设计了路径类关联类,目的是为了控制目录缓存机制,用于提高对类的引用和访问速度;设计页面编辑器的目的是为了减轻页面设计者的工作负担。采用了p2p技术来延伸教学的内容;采用Smarty技术更好地解决模板设计问题;采用单点登录技术解决多次登录需要不同用户名和密码问题;采用数据仓库技术解决大量冗余数据和数据的不一致。

四、结束语

基于B/S模式的网络教学有着广阔的前景,必将对传统的教学模式产生深远影响。网络教学是一个系统工程,它涉及网络信息的很多领域,本文仅仅作了初步的探讨和尝试。怎样更好地结合校园网的资源优势,使得教师、学生相互之间的交流更加方便、快捷,还需要在教学理论、教学模式和教学方法上进行改进,这也是未来实施网络教学的必然要求。

参考文献:

[1]国外网络教学的发展.http://geo.cersp.com/sJxyj/jstd/200611/1345_2.html.

[2]刘卫国等.基于Struts与Hibernate的网络教学平台的设计与实现[J].教育信息化,2006(4):26-27.

[3]褚丽莉.基于Web和三层C/S结构的选课系统的设计[J].辽宁工学院学报,2001(12):11-12.

[4]姜江. PowerDesigner数据库系统分析设计与应用[M].北京:电子工业出版社,2004.

[5]唐汉明等. 深入浅出MySQL数据库开发、优化与管理维护[M].北京:人民邮电出版社,2008.

[6](美)WHITE C,QUNL,BURMANL.周生炳,宋浩,肖伟等译.XML从入门到精通[M].北京:电子工业出版社,2002.

[7]陈争航.PHP 5+MySQL 5 Web应用开发宝典[M].北京:电子工业出版社,2008.

猜你喜欢
数据库设计网络教学
试论数据库设计在网站开发中的应用
利用网络教学多样性 开展有效教学
面向等级考试,探讨高校理工科计算机基础课程教学改革