APP下载

基于YII2框架的高校毕业设计质量管理系统设计

2020-01-03

计算机测量与控制 2019年12期
关键词:毕业设计选题导师

(1.浙江工业大学 管理学院, 杭州 310023; 2.浙江树人大学 基础学院,杭州 310015)

0 引言

毕业设计是学生综合运用所学的专业知识,进行项目设计或理论研究的集中实践过程,是实现人才培养目标,培养学生创新创业意识和实践操作能力的重要教学环节。在本科毕业设计管理工作中,传统使用Office电子文档对论文材料进行统计、分类与汇总的方式存在工作效率低,操作流程复杂,出错率高等问题。从论题申报,学生选题,论文撰写、评阅、重复率检测到最后终稿定稿的各个环节都需要消耗教务管理工作人员大量的时间与精力,而现有的信息化管理系统也仅仅能够实现简单的论题在线申报、论文材料上传等功能,无法满足新时代本科教育培养目标对毕业设计质量保障工作提出的新要求。

随着计算机与互联网技术的高速发展,利用计算机硬件、软件与网络设备对数据资料进行采集、存储、处理与传输,从而形成了MIS(Management Information System,管理信息系统),使得论文数据得到了有效地存储与利用。同时,为了实现毕业设计流程的在线过程化管理,提高教务管理水平,文章提出在数据管理的基础上进一步实现论文指导工作的过程化管理模式,即形成BPM(Business Process Management,流程管理系统),对论题申报、论文选题、论文指导、论文评审与论文定稿等毕业设计工作各环节进行有机整合,并要求导师在每一阶段对论文材料进行审核与确认,从而建立在线过程化管理与导师负责制相结合的毕业设计管理新模式[1-3]。

毕业设计质量管理系统基于互联网技术实现了师生在线交流平台,允许学生上传论文初稿,导师审阅并提出评阅意见,学生根据导师意见完成论文修改后再次上传,通过如此反复地上传与修正,不断提高论文写作水平,完善论文框架结构,提升论文内容质量[4]。新提交的论文材料不覆盖旧材料,先后上传的材料在系统中按照时间顺序依次排列,同时保留针对每份材料进行的师生互动交流记录,这样便于数据记录的归档整理,有利于对论文指导过程进行全程监控[5-6]。毕业设计质量管理系统采用电子表单,允许教师在线填写指导教师评语表、评阅教师评语表与论题修改申请表等相关表格,摆脱了纸质填写方式的缺陷,实现了无纸化办公模式[7-9]。

1 系统架构设计与运行环境

1.1 系统架构设计

系统设计流程包括数据库E-R图设计、数据操作层设计、业务逻辑层设计以及前端用户界面设计等,流程中每一步的设计与开发都需要消耗大量的时间与精力,在对各个数据对象以及对数据对象的各项操作进行设计与实现的同时,又要兼顾程序代码的规范性、可读性与可扩展性,导致系统研发成本过高,功能模块质量低下,稳定性差。为了解决这个问题,系统业务逻辑层采用YII2框架进行构建。YII2框架采用面向对象程序设计理念,基于MVC开发模式(全称模型Model,视图View,控制器Controller),对数据模型、业务流程以及前端界面都进行了较好的封装,框架本身自带的代码生成器能够帮助设计者简化设计实现流程。YII2框架使用模块化程序设计,在满足系统功能需求的同时,大幅度地降低了开发成本,缩短了设计与开发周期,让系统开发人员能够将主要精力放在功能需求的实现过程中,而不必考虑具体的程序设计细节。

图1 YII2系统架构图

如图1所示,系统服务端以YII2架构为基础进行搭建,包括入口层、应用层、控制器层、数据层与视图层。用户发送请求,服务器接收用户请求,通过应用层Application创建用户请求实例app,实例app读入当前的应用配置信息Config,并根据配置信息装载所需的功能组件,通过解析路由Route,创建相应的控制器Controller,并通过控制器Controller创建业务逻辑方法action,执行过滤器验证,若验证通过, 则运行action,在action中读取数据库数据Model,并对数据进行加工和处理,利用数据处理结果渲染视图View,最后通过Response返回给客户端。以论文材料的存取过程为例,学生通过入口层上传论文材料,经过应用层与控制器层的交互,将材料分类归档后存储于数据库中。导师评阅论文时,从数据库中获取论文材料,经过控制器过滤,利用过滤后的数据渲染视图View,再经过服务器脚本语言的解析将论文材料显示在浏览器中。系统设计流程清晰,文件结构合理,运行稳定高效。

1.2 运行环境搭建

学校每年的本科毕业生及导师人数在5 000人左右。因此在系统运行环境的选择上,需要考虑所选择的环境是否能够满足系统运行时可能出现的高并发量需求,同时也要兼顾软件平台之间的兼容性。由于YII2框架本身基于PHP程序设计语言,因此选用IIS+PHP+MYSQL集成环境作为系统运行的承载方式[10]。用户进行操作时产生的服务请求,通过互联网环境传递至服务器,再经过PHP程序语言的解析与分析,从数据库中存取所需的数据。数据经过一定格式化处理之后,传递到客户端界面呈现给用户,从而完成了一次服务请求处理过程。同时,为避免出现数据孤岛,实现与学校相关部门进行数据整合与同步,利用MYSQL存储过程实现数据库数据的定期同步更新。

为提高系统的并发承载能力,增强用户使用体验,对IIS应用服务器与MYSQL数据库进行了性能调教,在较多用户同时使用的情况下,也能够流畅地运行。

表1 IIS性能参数调整

表2 MYSQL性能参数调整

2 系统总体设计

通过对本科论文工作的各个阶段进行分析与研究,考察师生在论文实施过程中进行的操作流程,基于面向对象的程序设计理念,毕业设计质量管理系统主要分为用户管理模块、论文选题模块、论文实施模块、论文评审模块以及论文答辩模块。用户管理模块包括用户登录、角色切换与用户信息;论文选题模块包括课题申报与课题录入;论文实施模块包括开题报告管理、文献综述管理、外文翻译管理、论文正文管理、在线互动平台与导师审核模块;论文评审模块包括评阅分配、督导组抽检与重复率检测;论文答辩模块包括答辩分组、终稿装订与水印生成。各模块之间相互联系,从论文开题到毕业答辩,形成了毕业设计质量管理流程全过程,在规范工作流程的同时,加强导师在设计工作中的每一阶段对学生进行的指导与监督作用[11-12]。

图2 系统功能模块

2.1 用户管理模块设计

2.1.1 多用户协同工作模式设计

为规范毕业设计流程,保障论文质量,系统设计了学生、导师、学科秘书、督导组与管理员5个角色,每种角色分别拥有各自不同的功能与权限,学生在系统上按规定步骤开展毕业设计工作;导师负责根据每一阶段的具体要求辅导与监督学生的工作完成情况;学科秘书负责统计本学科师生的设计工作进展情况,监督师生按时完成各阶段工作;督导组负责在系统上抽查学生设计工作完成情况,如抽查论文三大件与正文等。管理员负责监控毕业设计工作进展,完成论文重复率检测与评阅成绩管理等工作。多角色协同工作实现了对毕业设计工作流程的多维度综合管理模式,完善了论文质量衡量指标体系。

图3 多角色协同工作模式

由于各角色在每一阶段需要执行的操作不同,因此不能简单地通过数据库字段来进行用户权限设计。系统在控制器中使用group_id字段区分不同的角色,根据group_id字段值为各个角色分配相应的操作功能,同时,存在多重身份的用户可以在系统内自主切换角色,如导师与学科秘书双重身份、导师与督导组双重身份,相应实现代码如下:

public function actionChangerole($roleid)

{

model = new LoginForm();

model -> username = yii::$app->user->identity->username;

model -> password = yii::$app->user->identity->password;

model ->group_id = $roleid;

if (model->login() ) {//角色切换成功

return this->goBack();

}

}

使用group_id字段来识别用户所属角色,角色判断代码如下。

public function getUser()

{

if ($this->_user === false) {

$this->_user = User::findByUsername($this->username, $this->group_id );

}

return $this->_user;

}

2.1.2 用户登录验证流程设计

系统接收用户提交的用户名Username、密码Password与验证码Verifycode,新建一个LoginForm对象,将用户登录信息存储其中,并调用findByUsername方法通过Username从数据库中获取用户信息,调用validatePassword方法执行密码验证,通过Captcha模块执行验证码识别,登录成功后,将登录状态保存于session中,便于记录用户的登陆状态与信息。用户角色切换主要通过changerole方法实现,在方法中通过修改group_id值变更用户角色。

图4 用户登录验证流程

2.1.3 用户管理模块实体关系设计

用户管理方面涉及到的数据表有用户数据表user、导师专业表major、导师信息表tutor_title、班级信息表class以及用户组信息表usergroup。用户数据表user存储用户登陆数据与用户基本信息,其中包含的字段group_id用于区分不同用户组,group_id为1表示学生用户组,group_id为2表示导师用户组,group_id为3表示学科秘书,group_id为4表示管理员,group_id为5表示督导组;字段belong_to_id定义学生所在班级及导师所属系部;字段username、password、gender、phone、email分别定义用户的登录账号、密码、性别、电话、邮箱信息。

2.2 论文选题模块设计

导师登录毕业设计质量管理系统,在线录入论文选题,选题字段包括:课题题目、课题内容(国内外研究现状与重点要解决的问题)、课题准备情况、对学生的要求、内容性质、课题来源、课题类型、实习地点与用机时数等。学生使用手机、平板或电脑终端,实时查看任务书,了解选题内容,通过系统提供的在线交流平台与导师进行线上沟通,在充分理解选题的内容和意义之后,提交选题申请,经导师审核确认之后,下达任务书。毕业设计质量管理系统通过信息化手段实现选题工作的全程线上操作,方便学生学习选题内容,了解导师的研究领域,促进与导师之间的沟通与交流。

在论文撰写过程中,经常出现论文内容及研究方向与先前的选题存在偏差,需要对论文题目与任务书进行修改的情况。传统管理模式要求学生填写纸质论题修改表,并由导师签字,所在学科负责人签字,最后经学院负责人签字后,方可生效。这种方式在实际操作过程中,往往因相关负责人临时不在,使得学生疲于奔波,忙于应付。毕业设计质量管理系统实现了“论题修改申请表”的在线填写与审核方式,学生利用系统填写论题修改申请表,通过互联网环境,直接传递给导师、学科负责人与学院负责人进行相应的审批操作,足不出户也能完成同样的工作,大大减轻了学生负担,使其能够将主要精力投入到论文的撰写工作当中,对于论文质量的提高,起到了积极的推动作用。

图5 论题修改申请表

2.3 论文实施模块设计

论文实施模块包括开题报告管理、文献综述管理、外文翻译管理与论文正文管理,提供材料上传、学生留言、导师评审等功能,将传统线下师生研讨过程搬到线上,方便师生之间进行探讨与交流,有利于论文材料的分类与归档。

学生角色:登录系统,进入论文实施模块,上传论文材料(上传的同时,可以给导师留言),根据导师意见修改完善论文材料并填写修改完成情况说明。

导师角色:在线审阅学生上传的论文材料,给出修改意见(可以填写导师修改意见表,也可以在论文材料上直接标注修改部分并作为评审附件上传系统),确认并提交修改完善后的论文材料。

2.3.1 材料上传功能设计

上传模块提供论文材料的上传功能,同时能够编写留言。学生上传论文材料,通过留言板块告诉导师论文材料在哪些地方做了修改,修改完善的情况如何等信息。在上传过程中,系统先审核文档类型,出于安全考虑,只允许上传WORD与PDF文档,并限制上传文件大小。部分实现代码如下:

field(model_titlereport, 'titlereport' )

->hint(“允许上传以 doc / docx / pdf 为扩展名的 Word / Pdf 文档!”)

->widget(FileInput::classname(),

['options' => [//'accept' => 'text/pdf','multiple' => false,],

'pluginOptions' => ['showUpload' => true,'browseLabel' => '浏览','maxFileSize' => 6000,

'showUpload' => false,'showPreview' => false,

'showRemove' => false,

'allowedFileExtensions' =>['pdf', 'doc', 'docx'],],])?>

2.3.2 论文实施模块实体关系设计

论文实施阶段涉及到的数据表有论文正文信息表title_paper、开题报告信息表title_report、文献综述信息表title_summary、外文翻译信息表title_translate、论文评阅信息表title_paper_reviewer。系统设计了开题报告留言信息表title_report_comment、文献综述留言信息表title_summary_comment、外文翻译留言信息表title_translate_comment以及论文正文留言信息表title_paper_comment,分别用于存储导师与学生针对开题报告、文献综述、外文翻译与论文正文进行的交流与研讨信息。论文实施E-R图设计如图6所示。

图6 论文实施E-R图

2.4 论文评审模块设计

论文评审模块在在整个毕业设计质量管理系统中处于核心位置,用于检验学生论文设计工作质量,考查导师指导工作效果。系统采用匿名互评方式,要求提交的论文需隐去学生及导师姓名,避免了非客观因素对评审结果的影响。系统评审界面提供的评审材料包括:论文题目、参评正文、课题申报表、课题任务书与指导教师评语表。评阅教师根据提供的评审材料,从学术水平与创新、论证能力、论文撰写、规范要求等方面逐项进行客观评价,在线填写评阅意见,并给出评阅成绩,评阅成绩分为优秀、良好、中等、及格与不及格5个等级,为了避免部分学生在给出评阅成绩后,消极应对论文修改工作,系统设置对评阅成绩及格以上的均显示为通过,但最终打印的纸质评阅表会显示实际评阅成绩。对于部分习惯在word文档上编写评阅意见的教师,系统也提供了人性化的操作方式,即允许评阅教师在word文档填写评阅意见,并作为评审附件上传系统。

2.5 论文答辩模块设计

毕业设计三大件(开题报告、文献综述、外文翻译)与论文正文经过反复修改与完善,并通过导师最终审核确认之后,允许参加论文答辩。在往届毕业设计管理工作中,经常出现学生提交送审的论文材料与实际参加答辩的材料不一致,导致管理工作出现漏洞,无法对学生论文完成情况实行有效地监督与管理。因此,为确保学生参加答辩的论文材料与导师实际确认的一致,在导师审核确认之后,要求学生在系统上为论文三大件与论文正文加水印。学生携带论文水印稿参加毕业答辩。

在系统设计中,使用FPDI_PDF-Parser实现论文水印在线生成。学生只需点击一下按钮,即可为论文终稿加水印,论文文档的文本分析与水印生成过程由系统自动完成。

FPDI文本分析器需要通过FPDF调用,因此,先加载FPDF模块,再加载FPDI模块,代码如下:

require('./fpdf/fpdf.php' );

require_once('./FPDI_new_version/FPDI/src/autoload.php');

require_once('./FPDI_new_version/FPDI_PDF_Parser/src/autoload.php');

在处理中文文本时为避免出现乱码,需要对文档进行转码操作,通过iconv方法将字符串从UTF8转换为GBK字符集,代码如下:

pdf_file_gbk = iconv("utf-8","gbk//IGNORE", basename(res[0]['pdf_file'] ) );

为了避免在水印生成过程中出现错误导致系统运行崩溃,将文本分析程序放入try/catch异常捕获代码块内,代码如下:

try{

//初始化FPDI

pdf = new FPDI();

pdf = new setasignFpdiFpdi();

//获取PDF论文文档的页数

pageCount = pdf->setSourceFile(res[0]['pdf_file'] );

//为PDF论文文档的每一页添加水印图标

for (pageNo = 1; pageNo<= pageCount; pageNo++)

{

templateId = pdf->importPage(pageNo);

size = pdf->getTemplateSize(templateId);

if (size['width'] > size['height']) {

pdf->AddPage('L', array(size['width'], size['height']));

}else{

pdf->AddPage('P', array(size['width'], size['height']));

pdf->useTemplate(templateId);

pdf->image("zjut_logo.png", 35, 105, 150); //论文页面上水印

}

pdf->output("./output/". basename(res[0]['pdf_file'] ), "F");

}

}catch(Exception e ){

print("error" );

}

3 实验结果与分析

设计与开发毕业设计质量管理系统,将论文指导过程从线下搬到了线上,为导师与学生开展设计论文工作提供了方便。系统采用B/S模式,能够兼容多种浏览器,并通过bootstrap前端显示技术实现手机页面自适应功能,无论使用电脑、平板还是手机,都能够正常地显示系统界面,突破了系统使用在时间与空间上的限制,提高了学生进行论文撰写工作的主观能动性[13]。

采用的YII2框架技术,使整个应用系统的架构符合高内聚、低耦合的设计标准。同时,系统在用户数据管理方面能够与其他系统进行无缝对接,实现单点登录与数据同步功能,有效避免了出现数据孤岛,数据不一致等问题[14-16]。

采用的FPDI_PDF-Parser文本处理技术能够实现PDF文档水印生成,为通过最终评审后的材料生成正式的水印图标,避免了评审材料与实际参加答辩的材料不一致的问题,同时增强了毕业论文撰写工作的仪式感,通过仪式感提高工作动力与执行力,增加学生的满足感与成就感。

系统通过用户权限的分配,实现多角色协同工作模式,导师、学科秘书与督导组拥有各自不同的管理工作职责,体现了多层次、多维度的论文质量管理监督机制[17-18]。

系统在实际运行过程中,大大减轻了管理人员的工作负担,帮助学生更清晰地理解毕业设计工作流程与论文写作要求,通过在线互动平台促进了导师与学生之间地沟通与交流,获得了教师与学生的一致好评。

4 结语

基于传统本科毕业设计管理模式中存在的问题与不足,根据实际工作需要,设计与开发了一套本科毕业设计质量管理系统,为创新毕业设计管理模式提供了网络化平台保障。系统实现了论文材料在线上传,在线评审以及在线表格的填写与打印功能,并提供师生在线互动交流平台,采用FPDI_PDF-Parser文本分析器实现了PDF文档水印生成。将现代信息技术与新型管理理念相融合,转变传统的毕业设计工作流程、管理模式与评审方式,提高教务管理工作效率、方便师生沟通与交流,加强管理人员对论文工作流程的全面掌控,对提高学生论文写作质量,检验学生综合素质有极大的促进作用。系统已在浙江工业大学管理学院与经济学院投入实际应用,效果良好,并计划向其他学院推广使用。

猜你喜欢

毕业设计选题导师
中南大学教授、博士生导师
本刊诚征“独唱团”选题
高等职业院校汽车检测与维修专业毕业设计探究
谈诗词的选题
本刊诚征“独唱团”选题
本刊诚征“独唱团”选题
V eraW an g
基于FPGA的毕业设计实践平台实现
电子商务专业毕业设计实施与探索
爱情导师