以DRUPAL构建基于网络的毕业设计辅导系统
2012-12-12张毅
□张毅
以DRUPAL构建基于网络的毕业设计辅导系统
□张毅
毕业设计辅导是远程教育中学生完成毕业设计的重要环节,本文从学生的角度对毕业设计辅导系统进行全面的分析与设计,选取开源的DRUPAL系统框架,充分利用该系统全模块化的优势来实现基于网络的毕业设计辅导系统的复杂功能,从而对远程教育毕业设计提供支持服务。
毕业设计;辅助系统;Drupal
一、远程教育毕业设计辅导系统的结构设计
毕业设计是远程教育中的重要的一环,利用网络开展毕业设计辅导是远程教育学习支持服务中关注的热点。传统的远程教育毕业设计辅导系统功能简单,大多只有信息发布和查询、提交等相关功能,对学生完成毕业设计(论文)过程的直接辅导很少。真正的面向学生的辅导系统功能应多样化,而且操作便利。本文使用UML中的用例(Use Case),站在学习者的角度对辅导过程加以分析。系统的参与者包括:STU(做毕业设计的学生)、TUTOR(论文指导老师)、ACD(教学管理员)如图1所示:
图1 远程教育毕业设计辅导系统例图
与STU相关的用例有5个,分别是写作、参考资料下载、知识记录、特殊工具应用和交流用例,用例写作包括两个子例是分别是写开题报告与撰写论文。另外有四个扩展用例,分别是开题报告的扩展用例即提交开题报告、参考资料下载的扩展用例即资料搜索,知识记录的扩展用例即Feed聚合和移动学习。与TUTOR相关的用例是交流,交流有三个子例分别对应着对开题报告的交流、论文撰写过程中的交流和学生与学生的交流。与教学管理人员相关的用例是查收开题报告和查看师生之间交流情况。
本研究的毕业设计辅导支持系统采用B/S结构以适应远程教育的要求。通过Internet,学生可以在不同地点,以不同网络接入方式请求服务,所有数据都保持到服务器端,方便学生随时访问,系统提供的各种服务和资源可随时共享,具有易用性、共享性、安全性和灵活性的特点。系统采用三层架构有利于系统标准化,有利于各层逻辑的复用,开发人员只需关注所在的那一层,容易用新的技术实现来更换原来实现的部分。辅导系统的设计包括资源子系统、学生子系统和教师子系统三部分,系统结构如图2所示:
图2 辅导系统结构图
二、Drupal内容管理系统的功能特征
Drupal是一个基于PHP语言的内容管理系统,与一般的学习管理系统不同,它是一个高度模块化的开源Web内容管理系统,重点建立在合作之上,是一个可扩展的,适应标准的,保持简洁代码和较小脚本的系统。[1]Drupal的所有文本数据以及图形、音频等其它文件类型的文本指针都以数据库的形式储存,用户可以通过浏览器对Drupal发送请求,而Drupal则动态的从数据库中读取数据生成静态网页发送给用户。Drupal的功能异常强大,几乎可以完成任何你想让它完成的事情,Drupal高度模组化的设计提供极大的弹性,它甚至被开发人员视为一种开发框架。
Drupal的系统所设置的一般功能包括:联合协作文档编写 (CollaborativeBook)、友好 URL(Friendly URLs)、模块(Modules)、个性化(Personalization)、基于许可权限的用户组管理系统(Role based permission system)、内容索引及搜索(Searching)等。Drupal强大的功能在于支持模块扩展,正因为有了它,可以实现想到的任何应用。此外, Drupal拥有强大的在线帮助系统以及完善的文档库,并且Drupal是完全开源的,Drupal基于GPL许可发布,所以任何人都可以修改它、再发布它、使用它。
Drupal配合Mysql和Apache应用较多,稳定性和兼容性得到国内外许多应用的证实,Drupal的整体架构符合软件架构体系中的三层架构思想。
三、基于DRUPAL的网络毕业设计辅导系统的实现
1.毕业设计辅导系统的Mysql数据库实现
毕业设计辅导系统为学生、老师提供个性化的支持,帮助学生高质量、高效地完成论文。系统采用完全模块化的Drupal框架,所涉及到的数据表较多,主要包括资源子系统、学生个人页面及教师个人页面,各个模块功能与数据库表相互对应(如图3所示)。
图3 中三大模块的每一个功能并非完全独立,它们之间相互协调工作,有些功能对应数据库中的一类表而不是一个数据表。为了方便设计与操作,人为将其划分出来。Drupal采用mysql数据库,在数据字段命名上有其自己的规范,除了上图所描述的数据表以外,系统还自带一套逻辑表。Drupal系统默认安装了许多底层数据表,在实现时需结合对应的数据字典修改相应的数据表。
图3 模块功能与数据库表相互对应图
2.资源子系统的实现
资源子系统是毕业设计辅导系统的重要组成部分,资源来源包括教师提供的相关资料、案例分析和例文等。外部链接资源库包括:高校数字化图书馆,外部扩展搜索(如:Google学术),站内搜索,Feed聚合器搜集实时有用信息。资源系统为学生毕业设计(论文)提供多形式,多类别的资源,资源系统不是完全独立的,而与其他子系统协同工作。
本系统支持每位教师为资源库添加资源,在添加时候选择分类,最后系统将所有分类资源呈现出来供学生参阅,学生可以根据上载资源时所设定的标签来搜索自己所需的资源。本功能主要用到Drupal中常用模块Taxonomy、CCK和Views。资源内容类型建立后,系统结合分类模块设置术语标签,再用Views将内容按需求呈现出来,添加后的资源汇总到分类资源库,点击资源库导航栏中的条目进入资源分类展示页面。
资源子系统中一个重要的功能是方便学生有效精确地检索资源,资源搜索包括对系统内部资源的检索和外接搜索引擎,例如:Baidu、Google及Yahoo。内部检索利用Drupal系统的search模块,外部检索利用外部API接口。搜索功能与其他子系统协同工作。
Feed聚合器可以为学生聚合所需的信息,学生可以自己添加聚合的种子,如管理学专业的学生可以添加一个有feed种子的权威站点,系统会将聚合的信息发送到学生页面,方便学生随时查阅最新信息,为学生提供一个“活资源”。本功能的实现需综合利用cck、views和aggregator模块。
3.学生子系统的实现
学生个人页面是学生接触的主要页面,在底层运行的是学生个人系统,包括学生写作系统与个人管理系统。写作系统提供在线写作功能,应用的模块包括CCK及其扩展模块、Views及其扩展模块、Books模块。先利用CCK结合Book Page类型创建文章类型,再用创建新的Views来提取所需信息,并将其呈现给学生及教师。用文章类型创建的文章节点允许访客访问及评论,文章在导航栏中以章节的形式呈现大纲,访问者可以灵活地定位到具体章节,在线写作导航页面效果如图4所示:
图4 在线写作页面图
当学生对个人信息、文章、收藏论文、笔记本和所加入的学习共同体进行管理时,可以利用笔记本功能记录零碎的信息,方便记录论文撰写过程的思路。笔记本功能由笔记系统支持,学生自己建立笔记节点。系统将节点统一存储主要涉及到CCK及其扩展模块、Views及其扩展模块中。由CCK模块结合Page类型创建笔记类型,用Views将学生创建的笔记类型节点显示出来。在访问控制方面,需要利用Flite模块进行筛选。在个人管理系统中采用Author Pane用户管理模块、Flag Friend用户关联模块和Flag Note书签收藏模块进行信息管理。
4.教师子系统的实现
教师个人页面是教师指导学生完成毕业设计工作的主要活动场所,教师页面由系统的教师子系统支撑,系统需要聚合每位教师指导的学生信息及论文情况,本研究主要采用评论的方式对学生论文进行评阅,教师与学生交流并提供指导性意见。教师指导界面如图5所示:
图5 教师指导页面
与学生个人管理系统类似,教师子系统同样集成了教师个人管理系统,管理教师个人信息和教师所指导的学生信息,并跟踪学生的论文写作进度。
5.交流功能的实现
交流功能是毕业设计辅导系统的关键性功能,本系统实现了同步和异步的交流功能,以多种交流方式来弥补师生间交流的不足。同步交流方面主要灵活利用第三方插件,教师与学生可以通过插件所提供的多种方式的交流如MSN、QQ、TM、Yahoo!、Skype等。
异步交流除了对学生的文章进行评论这种方式外,系统还设置了论坛讨论区,能方便地将一些公共性问题设为主题开展讨论。教师和学生都可以创建讨论主题,并有权限对主题进行修改,这一功能主要应用了系统的forum模块实现。
6.后台管理实现
Drupal提供了灵活的后台管理机制,管理员账号具有最高权限,包括所有设置、创建及编辑权限。本研究通过对系统基本信息的设置和对Drupal中灵活的区块设置,以构建方便简洁的管理界面(如图6)。
访问控制也是本系统中较为重要的部分,系统所涉及的用户角色较多,各种角色之间的区别较大,所拥有的权限也不尽相同。利用Drupal提供的权限群组管理,可以对不同角色权限进行整体设置或修改,也可以对特殊账户进行特殊处理。考虑到系统的安全性问题,可以制定相应的访问规则,防止受到恶意攻击。
Drupal后台中可以很直接地管理上传资源及查询所有用户的活动情况,方便教务管理老师监控导师与学生在做论文过程中指导过程的详细情况。
图6 用户管理界面
四、网络毕业设计辅导系统的应用
本研究设计的网络毕业设计辅导系统主要用于辅导网院学生基于Internet完成毕业设计。首先,系统为每位学生和导师分配独立账号,通过此账号关联学生个人页面和导师个人页面。同一个导师的学生连同他们的导师组成一个基于网络的学习组,并通过本系统开展协作学习,学生登录其个人页面完成资料搜集与查询,开题报告和各章节的写作,并通过实时或非实时的方式与小组中其他同学交流。教师登录其个人页面可了解小组中学生当前论文的完成状态,通过实时与非实时的方式指导学生研究,学生最终通过不断的积累、讨论、修改完成毕业设计。在完成毕业设计的整个过程,网院教学管理员通过后台可查看所有学习组的状态,实时跟踪所有学习组的完成进度,为学习小组提供所需的学习支持服务。
本系统在中山大学网络教育学院09级开展毕业设计阶段,请50位学生试用本系统,笔者和中山大学6名教育技术学专业的研究生作为辅导老师开展辅导,组成6个学习组,列举19个选题进行试用。系统在使用过程中通过平台建立了意见反馈专贴,邀请试用者对系统功能及使用情况进行在线反馈。
调查表明,本研究设计的毕业设计辅导系统能有效满足开展学生毕业设计辅导工作的要求,系统具有功能完备、先进性、可扩展性、开发灵便等特性,能较好实现核心功能。但使用中也发现一些体现个性化的功能尚未实现,原型所呈现出来的系统不够完善,在界面上和功能上还有待改善。
五、结束语
网络毕业设计辅导系统在设计上包含了Web2.0、移动学习、社会性学习的思想,Drupal高度模块化开发给系统实现带来很大便利,能完全实现所有设计的功能,所实现的系统具有功能完备的优势,在辅导系统的使用中,可以不断设计和改进新的模块以增强其功能,具有极强的扩展性。Drupal还可用于教育领域的其它平台建设,它为教师提供了各种有用的工具,如在线指导、协作学习、教学评价、资源库、播客、虚拟实验室等,需进一步挖掘其潜力。[2]
[1]John K.VanDyk.Pro Drupal Development(drupal 6.x用户手册)[Z].
[2]Bill Fitzgerald.Drupal for Education and E-Learning,[M].Birmingham,UK:Packt Publishing Ltd,2008.
G40-057
B
1009—458x(2012)02—0087—04
2011-10-30
张毅,硕士,工程师,广东环境保护工程职业学院(528216)。
责任编辑 柯 南