教育技术类选修课管理系统设计与研发:学生选课管理系统

  【摘要】文章介绍了北京工业大学开展教育技术选修课的基本情况和教育技术类选修课管理系统的主要作用;分析了该系统的前、后台系统设计、数据库设计,并着重介绍了导航菜单管理模块的分析与实现。
  【关键词】教育技术;选修课;数据库设计;导航
  【中图分类号】G40-057 【文献标识码】A 【论文编号】1009-8097(2012)03-0104-03
  在2005年北京工业大学深化学分制改革、重视学生实践能力培养、加快选修课建设、拓展学生知识面的大背景下,现代教育技术中心积极为学校本科生开设教育技术类选修课。至今有8名教师先后参与开设过5门课程,并己连续开展14个学期,学生达数千人。课程的开设既丰富了校选课的范围,又促进了本单位教师专业能力的提升。
  目前的视频编辑、图像处理和动画制作三门常态化课程具有共同的“三结合”的特点,即理论与实践结合(内容是基础知识与操作)、技术与艺术结合(载体是案例)、创意与设计结合(产品是学生作品)。根据课程特点,为突破传统教学模式、支持基于网络的任务式学习和自主学习、辅助常规课堂教学,实现基于课件、案例、教学视频、扩展资料、随堂练习、常见问题汇总和优秀作品展示内容的自主学习及任务驱动学习,我们开展课题研究,研发了多课程教学资源共享与管理平台。
  一、系统设计
  1.前、后台设计
  前台功能:前台显示课程列表和课程内容,课程内容包括课件、案例、视频、资料、常见问题、学生作品等。学生通过课程列表选择课程,根据内容导航浏览课程内容,并能够基于内容检索信息,便于查找资料。用例图如图1所示。
  后台管理:主要实现教师用户对课程列表、课程内容导航菜单和内容的统一管理,后台包括登录与退出模块、课程管理模块、导航菜单管理模块和资源上传模块。例图如图2所示。
  (1)登录与退出模块
  登录模块用于验证课程管理的教师身份,验证通过后跳转到课程管理页面,用户的登录状态在整个Session范围内有效。退出模块则是撤销用户登录状态信息,释放相应资源,并返回登录界面。
  (2)课程管理模块
  通过课程管理模块,教师管理多门课程信息。服务器接收JavaScript脚本作业流后,将其解释成相应数据操作,并通过Jdbc数据库连接引擎,完成对课程信息的增、删、改操作,实现对课程信息的管理。
  (3)导航菜单编辑模块
  导航菜单编辑模块的设计适应课程内容的动态变化需求,教师能够实时更新课程内容、调整导航菜单。课程内容导航菜单以树状结构形式直观显示,便于对应实现一级和二级菜单的增、删、改操作管理。
  (4)上传管理模块
  通过上传管理模块,教师进行课程内容更新、上传课件、案例、作业、作品、常见问题等。
  2.数据库设计
  数据库中共设计了四个数据表,即课程信息表、教师用户信息表、导航菜单信息表和页面信息表。其中后两个表设计如表1、2所示。
  3.技术路线和部署环境
  平台采用Browser/Web Server/Database的三层体系结构、Struts框架和基于MVC的设计模式,如图3所示。通过数据分离及其表示、分离逻辑控制和表现界面,降低模块间的耦合度,增加代码的可复用性和可维护性。
  Web服务器和数据库服务器部署在IBM2950中(内存16G,硬盘410G,操作系统为Solans 10),应用服务器软件使用Tomcat5.5+Apache 2.2.10,数据库软件采用SQLServer2008。
  二、导航模块的分析与实现
  1.导航菜单生成模块
  本模块用于根据多门课程的需要构建课程导航菜单。服务器通读取数据库中的存储数据后,通过前台Jsp页面生成Div嵌套结构的导航菜单,并将其转换成Html标签语言返回到客户端。
  导航菜单结构的生成以及菜单结构到标签语言的转换是本模块设计所涉及的技术难点。在设计中通过充分利用Java语言面向对象的编程思想,采用两个步骤来实现导航菜单。第一步,构建导航菜单数据结构,将数据库的表中数据转换成标准数据接口的数据;第二步,菜单结构到标签语言的转换模块是从标准数据接口中获取数据转换成Html标签语言,返回到客户端。这样的设计结构有利于系统的扩展,当数据库表中数据形式有变动时不需要更改上层的转换模块,当菜单的表现形式发生改变时也不需要更改底层数据。导航菜单生成过程和模块结构如图4、5所示。
  2.导航菜单编辑模块
  在本模块中,由JavaScript呈现前台可编辑的数据表格和导航菜单,将操作转变为作业流形式提交到服务器,服务器端接收作业流,解析数据操作命令,并对数据库执行操作。结构如图6所示。
  3.导航菜单信息表设计
  导航菜单信息表的设计如表1所示,在导航菜单信息表中,菜单项作为数据库表中的数据记录存放,以子节点式存储在数据库中,同时保存了父结点的相关信息,这样的设计简化了对导航菜单数据存储的难度,平台总体上更加实用和易用。