毕业论文管理系统的设计与实现
2016-02-14向兵董晓红黄慧
向兵 董晓红 黄慧
(呼伦贝尔学院传媒学院 内蒙古 海拉尔 021008)
引言
随着呼伦贝尔学院办学规模的扩大和学生人数的增多,毕业论文传统的管理方式效率显得十分低下并且浪费大量的纸质资源,而且学生完成毕业论文的过程中论文的进度无法监控,会造成答辩前的最后一段时间学生突击完成论文的写作。这样的论文不仅会出现学生抄袭资料的现象严重,而且文章质量差,为了更加科学高效地管理毕业论文就十分有必要。因此作者针对这种情况,开发了一套二级学院使用的毕业论文管理系统。
1.系统介绍
本系统主要针对学生完成毕业论文的整个过程进行管理,由担任毕业论文指导的教师分专业提交毕业论文或设计题目,教研室主任进行题目审核发布。学生选题完成之后教师选择确认学生,教研室主任控制本专业学生在规定的时间之内提交开题报告、指导计划书、初稿、二稿、三稿、终稿。
系统基于B/S模式设计,用户可以很方便地通过浏览器使用毕业论文管理系统。采用MVC(Model View Controller 模型视图控制器)的方式进行开发,把模型、视图、控制分离模块化的开发方法、方便多人协作开发以及对系统功能进行扩展。采用ThinkPHP+DWZ框架技术进行开发,ThinkPHP框架是一个免费开源的,快速、简单地面向对象的轻量级PHP开发框架,遵循Apache2开源协议,该框架设计简洁、性能出众,适合于快速开发而且节省开发成本。DWZ框架是基于Jquery实现的Ajax开源框架,通过 HTML扩展的方式使用JavaScript代码,简单实用、扩展方便。数据存储采用Mysql关系型数据库,Mysql的SQL语言使用的访问数据库最通用的标准化语言,而且 Mysql体积小、速度快、成本低,与PHP结合是开发中小型网站最佳选择。服务器选择搭建在SAE(新浪云平台)上,SAE通过设计多层沙盒的形式来保护用户网站运行的安全并且能做到用户无感知自动扩容以承载高并发的情况。
2.总体设计
2.1 模块设计
系统按照完成论文整个过程的需求,从结构上划分三个模块部分,主要实现模块包括管理员、教师、学生功能模块。在ThinkPHP框架下分为三个项目对应三个模块,每个模块使用单独的MVC结构,单独的入口文件。毕业论文管理系统的总体功能架构设计,如图1所示:
图1 系统结构图
表1 学生表
各模块功能说明如下:
2.1.1 管理员模块:管理员把本学院大四毕业生的数据通过Excel的方式导入系统,同时把指导毕业论文的教师的数据也导入系统,导入的用户数据可以编辑修改,也可以单独添加用户数据、删除用户数据。管理员可以对每个专业完成毕业论文的进度进行设置,主要还是教研室主任进行进度设置,每个阶段的论文提交完成之后,管理员可以下载查看学生完成情况的报表数据。本学年的论文全部完成之后,统一归档存储各阶段论文的电子稿,学院同时存储学生的最终一个版本的纸质稿。
2.1.2 教师模块:有毕业论文指导任务的教师根据自己的研究方向,分专业提交相关方向的论文题目及论文要求,并设置每个题目可以选题的人数,如果教师是教研室主任需要审核教师发布的课题,审核通过后发布课题。学生选完题目,教师可以从选择该题的多个学生中确认一名学生,确认该学生之后,该学生就不可以再申请别的题目。选题完成之后,在论文每个阶段过程中教师需按时批阅学生提交的论文并反馈给学生,最终给学生的论文评阅成绩。
2.1.3 学生模块:学生根据教师发布的题目,选择自己合适的题目,限制每个学生最多可以同时选择三个题目,教师确认之前可以退选题目,确认之后不可以更改,最后学生根据系统提示按期提交论文的PDF稿件,按照教师的反馈进行修改,可以重复提交PDF稿,重复提交覆盖上次的文件。
2.2 数据库设计
本系统采用的 Mysql数据库,Mysql具有体积小、安全、跨平台、高效等特点,并且适合与PHP结合使用。系统中的表主要设计了学生表、教师表、管理员表、论文题目表、论文结果表、角色等表,主要表结构图如表1-4所示:
表2 教师表
表3 论文题目表
表4 论文结果表
3.系统实现
3.1 登录及个人信息模块实现
教师、学生、管理员登录分别使用单独入口文件的方式登录系统,学生和教师分别使用学号和工号进行登录验证,验证通过之后可以对初始密码和个人信息进行修改。
用户登录使用了验证码可以有效的防范恶意程序的攻击,验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序, 可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。另外在防注入方面ThinkPHP框架对提交到数据库的数据进行了过滤处理,系统会对用户提交的数据类型进行强制的数据类型检测,并且对数据来源进行数据格式转换。而且对于字符类型的数据,ThinkPHP都会进行escape_string()处理。验证码的主要实现代码如下。
3.2 论文选题及评阅功能设计与实现
在指定的时间段,教师登录系统发布论文课题,如果课题较多可以使用Excel导入论文题目及要求,系统中有导入课题模板的下载。题目发布完成之后,相关专业教研室主任审核题目确认通过,审核完本专业题目并设置开始选题时间,在规定的时间之内,学生选题,教师确认选题学生。
学生选题时,只能浏览本专业的题目,如果对某个题目感兴趣,点击题目可以浏览该题目的详细要求,在该题目已选人数尚未超过选题总人数的情况下学生即可选择该题。教师根据学生的选题信息,每个题目确定一个学生即可,该题目其他未被选中的学生的数据会被自动删除,学生与教师相互之间进行选择。教师学生建立指导与被指导关系之后,学生按规定的时间在系统中提交论文的文稿,教师及时批阅学生论文,批阅完的学生论文反馈给学生,学生可以重新上传文稿并覆盖上一次的文档,分阶段指导学生完成论文。这样即有效的督促了学生完成论文,同时也要求老师及时批阅论文,完成论文的进度也得到了很好的控制。论文流程如图2所示。
图2 论文流程图
由于不能直接实现 office文件在浏览器浏览,所以学生在上传文档的时候就直接上传PDF文档,再利用Jquery Media 插件实现在线预览PDF文件的毕业论文。IE内核的浏览器不支持该插件,使用IE的用户需要安装 PDF阅读器软件,如 Foxit Reader、Adobe Reader等软件。其他内核的浏览器可以直接在线浏览PDF文件。在学生和教师查阅文档的地方引用下面的代码即可实现在线的浏览查阅论文,并在评语和成绩一栏填写评语和成绩提交。在线浏览PDF文件的实现代码如下:
系统具体实现效果如图3所示:
图3 系统实现图
3.3 论文存档功能实现
论文的归档管理是论文管理的重要组成部分,传统的归档使用纸质版存档,既浪费纸质资源又费时费力。系统根据论文归档的要求,把电子版的论文材料按照年级专业班级论文类别自动分类存放,每年度论文工作全部完成之后,保存本年度论文文档数据。
存档功能实现代码如下:
3.4 统计数据下载
每个阶段学生完成论文情况统计下载,统计数据利用学生提交的论文的结果数据,使用PHPExcel类库完成下载。
4.结语
本文主要介绍了使用ThinkPHP+DWZ框架技术实现的毕业论文管理系统,从论文管理系统所使用的技术、论文系统的总体结构、功能模块做了详细的分析介绍。该系统选择搭建在新浪云平台上这为部署使用带来了极大地方便,并且节省了大量的资金。通过毕业论文管理系统真正的实现了学生和教师之间的相互选择,极大地增加了选题的灵活性和有效性,也使毕业论文的管理工作更加科学化、规范化。该系统界面美观、方便易用,在系统投入运行两年多的时间里极大地提高了我院毕业论文管理工作的质量和效率,并受到了师生的一直好评。为我院实现无纸化办公、教学信息数字化存储奠定了良好的基础。