公务员期刊网 论文中心 正文

职校毕业论文在线编辑与管理系统

前言:想要写出一篇引人入胜的文章?我们特意为您整理了职校毕业论文在线编辑与管理系统范文,希望能给你带来灵感和参考,敬请阅读。

职校毕业论文在线编辑与管理系统

引言

近些年来,国家对于高等职业教育的重视程度越来越高,特别是以“职教20条”,职业教育法重新修订等事件为代表,表明了国家大力发展高等职业教育的决心与信心。而职业院校本身也在不断探索的过程中,努力提升自身的教学能力水平。教学过程信息化则是职业院校人才培养能力提升的一个重要抓手。目前职业院校的信息化建设,主要集中在教学管理与信息化课堂建设上,为此学校投入了大量的人力、物力与资金,并取得了很好的成效。伴随着信息化建设的不断深入推进,就要求信息化建设要从宏观的教学管理层面向微观的教学实施层面渗透。而毕业论文作为检验学生学习成果和职业院校人才培养效果的终末环节,事项繁多,持续时间较长。具体而言,典型毕业论文流程可以分为:论文选题、论文开题、任务书下达、中期检查、论文撰写、论文修改、论文评阅、论文查重、论文答辩等环节。整个毕业论文环节跨越两个学期,涉及的教学与教务管理人员众多,但到目前为止,其信息化程度较低。这就导致了学生在完成毕业论文时,往往花费了过多的时间与精力在不必要的流程处理当中。为了改善学生与教师在毕业论文环节所遇到的困难,同时也为了使教学信息化建设进一步的深入推进,本文设计了职业院校毕业论文在线编辑管理系统。通过该系统,可以将毕业论文所有流程的推进及管控迁移到线上进行,而不需要学生与指导教师花费过多的时间与精力来跟踪,管控论文流程的进度,从而可以使学生和教师将更多的精力放在毕业论文的设计与撰写上,使得毕业论文的质量得到大的提升。

一、功能需求分析

在毕业论文阶段,会涉及到学生、指导教师和教务管理部门三方的联动。学生作为毕业论文的直接执行人,将会在此阶段内频繁接收到各种类型的通知,例如论文启动、题目选定、指导教师选择、撰写开题报告、提交中期论文检查、提交论文初稿、多轮次论文修订、提交终稿、校内审查、校外查重、提交终稿、论文答辩等。上述教学通知不仅事务繁杂,而且信息量较大,在没有信息化系统辅助的情况下,很容易发生流程上的错误,从而影响毕业论文的正常进度。而教务管理部门,作为教学情况的直接管理者,每年都需要向众多的毕业年级学生发布各种教务通知,而此时又恰好是毕业年级学生进行校外实习的阶段,很多学生并未在校,这就导致教务管理部门往往对教务通知的送达情况难以有一个较为准确的掌握。而指导教师作为毕业论文的指导者,在完成本职教科研任务的同时,还需要对其所指导的学生进行论文设计、撰写等方面的交流。而每名学生由于自身时间安排的不同,无法集中时间与教师进行面对面的交流。这就导致指导教师无法充分的与学生进行深入的沟通,这就使得毕业论文的技术深度与广度无法得到很好的保障。基于上述情况,本文所提在线系统将着重解决毕业论文环节中的信息流通难、消息反馈慢、交流时间严重碎片化的问题。首先,为了解决信息流通难的问题,文中系统内置了信息工作流引擎(workflowengine)。将所有教务通知都定义为了信息节点(informationnode),并以可配置的方式进行信息传递流程设置。每个信息节点均可以维持自身状态,并定时向上下游节点发送消息。系统会在信息节点状态发生变化时进行数据读取操作,并向所有注册该工作流的用户发送消息,从而保证所有注册该工作流的用户都可以接收事件消息。其次,本文系统内构建了用户业务监听引擎(processingengine),对在线状态下的用户进行业务监听,当用户完成了某项工作后,会触发系统的业务监听引擎,并向所有注册监听该动作的用户发送事件广播(broadcast),进而保证所有监听用户能够及时收到反馈信息。最后,为了解决交流时间碎片化的问题,文中系统遵循了“移动优先”的策略,整个系统均以RESTFull的形式向外提供业务服务,从而与前端系统彻底解耦,极大的增强了系统的灵活性与可扩展性。同时,本文所提系统为终端用户还提供了小程序应用,所有业务流程均可通过移动设备进行操作。这样就保证了终端用户可以通过移动设备,利用碎片化时间来查看信息或进行相关流程的操作。同时,可以利用系统所提供的小程序,使学生与指导教师通过线上聊天室,在线音视频通讯等方式进行实时的线上沟通与指导,这样就极大提高了师生间的沟通效率,进而间接提高了毕业论文的撰写质量。

二、功能模块设计与实现

通过对业务需求的梳理与分析,将本文所提系统划分为了以下几个模块:1.工作流引擎模块;2.业务监听引擎模块;3.格式化文档生成引擎模块;4.用户管理模块;5.小程序GUI接口模块。现就上述功能模块分别进行介绍。

2.1工作流引擎模块

为了使用该系统的学生、指导教师和教务管理人员可以流畅、精准的接收和发送各类消息,本文系统设计并实现了一个基于FastAPI框架的快速工作流引擎。该工作流引擎首先会将系统中设置好的工作节点抽象为具有统一结构的信息节点(InformationNode),该节点具有如下属性:1.信息流上下文(InformationFlowContext),该属性的作用是保存信息节点的运行时环境,在该运行时环境中包含了对该信息节点状态的监听器对象,当信息节点的状态发生变化时,会激活该监听器对象,并通过该对象向外发送广播消息(Broadcasting)。2.节点ID,该属性的作用是为每一个信息节点对象赋予一个唯一的编号,从而可以使系统能够在信息节点树中快速找到该节点。3.消息发送回调函数(Message_Sent_Handler),该属性中保存了一个回调函数,当信息节点向外发送信息后,工作流引擎实例便会调用该函数执行相对应的操作。默认情况下会自动执行日志记录操作。4.消息接收回调函数(Message_Received_Handler),该属性中保存了一个回调函数,当信息节点接收到上下游节点发送来的消息时,工作流引擎实例便会调用该函数执行相应的操作。默认情况下会自动执行日志记录操作。5前序节点指针(Pre_Node),该属性中保存了当前节点的前序节点。6.后接节点指针(After_Node),该属性中保存了当前节点的后接节点。在完成了所有节点的实例化操作后,本文系统将依据用户提供的配置文件(config.yml)来初始化工作流实例,在该工作流实例中,所有信息节点将会按照配置文件依次添加到工作流中,同时该工作流实例将会维持信息节点间的前后连接顺序,以及信息节点之间的消息流转。当所有用户配置文件所对应的工作流实例完成初始化后,将会被注册到工作流引擎中,工作流引擎会在整个系统运行过程中定时扫描已注册的实例,当实例完成所有信息节点的消息流转后,引擎将会发送任务完成广播,通知监听该工作流的用户来进行进一步的处理。流程示意图如图1所示:

2.2业务监听引擎模块

本文系统中的业务监听引擎,主要作用是对用户进行动作监听,当用户完成了一步操作后,会触发监听引擎实例,该实例会向所有注册监听该动作的工作流实例发送事件广播(broadcast),进而保证所有被注册到工作流实例中的用户能够及时收到信息,并做出反馈。监听引擎对象包含以下属性:1.工作流对象池(Work_Flows_Pool),该属性用来保存所有处于激活状态的工作流对象,监听引擎会对上述工作流状态进行扫描,当工作流状态处于结束状态时,引擎将该工作流移出对象池。2.注册用户对象池(Users_Pool),该属性用来保存所有活跃用户,当用户产生操作完成广播事件后,监听引擎将会通知响应的工作流来更新信息节点的状态,同时更新消息的流转状态。3.关系映射表(User_Flow_Mapping),该属性用来保存用户与工作流实例之间的映射关系,当监听引擎侦测到用户广播后,将会按照该映射表中所存储的关联关系,向相关的工作流发送状态更新通知。具体示意图,如图2所示:

2.3格式化文档生成引擎模块

该模块的作用是将学生用户所撰写的论文按照标准论文模版的格式,生成符合学术规范的毕业论文。为了实现上述功能,本系统基于latex引擎内核,开发了快速学术文档生成引擎(FADFS,FastAcademicDocFormatSystem)。该引擎在latex引擎内核的基础上,按照“约定优于配置”(conventionoverconfiguration)的规则,按照普遍的学术规范,定义了大量约定规则,并在引擎中实现了上述约定规则的默认实现,使得用户只需要关注论文内容的撰写,而不需要维护文档格式的正确,从而大幅简化了论文的撰写难度。格式化文档生成引擎,具体可以分为以下几个组成部分:1.引擎内核层。该引擎内核使用了XeTex,该内核作为一种标准的,支持Unicode编码规则的排版引擎,可以帮助用户利用其所提供的宏命令来快速生成具有特定格式的文档内容。2.格式转化中间层。由于单纯的XeTex文档引擎只提供了基本的排版宏命令,这就导致用户需要自行定义文档的整体排版格式,且只能通过编写程序的方式来进行,这就为用户的使用增加了极大的难度,不仅文档排版所消耗时间变长,而且由于用户并非专业领域人员,并不完全熟悉XeTex宏命令的使用方法,从而导致运行时错误增多。为此,本文系统在内核基础上添加了数据中间层,该层的作用是接收用户文档数据,按照约定规则,将文档数据按照不同的文档内容类型,调用不同的XeTex宏命令来分别进行编译,并最终将所有编译好的文档块按顺序整合成完整文档。3.应用程序编程接口层。该层的主要作用是将格式转化层中的程序,按照封装简化的原则,抽象定义出一系列的应用程序接口来对外发布,供外部系统使用。在该层中,屏蔽了所有的技术实现细节,只保留了程序功能入口点函数。这样就进一步降低了用户的使用难度。

2.4用户管理模块

由于学生在进行毕业作品设计与毕业论文撰写的过程中,需要涉及到多个校内教学与行政部门,而且每个部门的工作任务与系统操作权限都不尽相同,因此需要在系统中设计一个统一的功能模块来对不同的用户及角色进行管理。在该系统中,所有用户均可以依据自身情况被设置为具有一定角色的模型实体。同时不同角色的实体,可以分配不同的系统操作权限。本系统中默认内置了以下几种角色模型:1.学生。该角色将作为论文设计与撰写的主体,默认具有文档编写、修改、删除、上传、查重等权限。2.指导教师。该角色作为学生的指导者,默认具有文档修改、批注、退回、查重、中期检查、定稿等权限。教务管理员。该角色作为教务管理者,默认具有导入学生、导入教师、导入毕设题目、任务下达、开题报告管理、中期检查报告管理、终稿管理、存档备份、打印等权限。3.系统管理员。该角色作为整个系统的维护人员,默认具有导入教务人员、导入学校编码、编辑教务人员、编辑学校编码、打印系统日志等权限。4.超级管理员。该角色作为整个系统的最高权限维护人员,默认具有导入教务人员、导入学校编码、编辑教务人员、编辑学校编码、删除教务人员、删除学校代码、打印系统日志等权限。同时,在使用超级管理员时,系统要求使用加密狗硬件进行硬加密操作。

2.5小程序GUI接口模块

为了解决交流时间碎片化的问题,文中系统遵循了“移动优先”的策略,整个系统均以RESTFull的形式向外提供业务服务,从而与前端系统彻底解耦,为了使用户能够方便的使用该系统,系统内置了小程序GUI接口,用户可以通过该小程序快速的登录本系统进行操作。如果用户为在校学生或指导教师,且已经被教务管理员导入进系统,则可以直接通过学号或工号进行登录,如果未被导入系统,则在使用该小程序前,需要先进行用户注册,待管理员审核后方可使用。如果用户为教务管理员,则需要通知系统管理员进行后台导入操作。

三、实践与总结

本系统为了快速部署与便于扩容的目的,使用Docker容器作为整个系统的部署与运行环境。借助于Docker容器的快速部署与扩容特性,使得该系统具有较好的快速部署与扩容能力。本系统作为职业院校教学信息化建设深入课堂教学层面的一次探索,目前已被某职业院校二级分院所采用,并上线试运行。在运行过程中,文中系统很好的解决了该学院所面临的教学痛点问题:1.解决了学生因漏接教务通知而导致论文进程受阻的问题;2.学生无需关注毕业论文格式的修改,大大加快了毕业论文定稿的速度;3.教务管理做到了一事一反馈,能够明确知晓各个学生目前毕业论文的进展情况,便于精确管理;4.指导教师可以利用碎片时间和学生进行沟通与指导,极大节省了时间成本,同时也使学生毕业论文的技术深度与广度得到了进一步的提升。但通过一段时间的运行后,本文系统也暴露出一些问题与不足,主要表现在:1.系统界面的交互逻辑有待优化,在某些流程中存在着操作步骤较多,交互逻辑不清晰等问题。2.本文系统在进行动态扩容的过程中,会出现5~10分钟的服务停止现象,在此时间段内,用户无法进行正常的业务操作,降低了用户体验度。3.系统在用户操作的峰值时间段内,服务器承载压力较大,导致服务器的平均响应时间延长。针对上述情况,本文所提系统将在后期更新过程中逐一进行解决。虽然该系统目前还存在着一定的问题,但是总体效果达到了设计要求,是一次对教学信息化建设的有益探索。随着职业院校信息化建设的不断推进,各院校的教学水平与能力都将会得到较大的提升。但是需要注意的是,在教学信息化建设过程当中,需要注意平衡教学过程中所涉及的多方角色之间的关注程度,只有将教学过程视为一个整体,均衡发展,平稳推进,才能借由信息化建设来提升学校整体水平。

作者:彭淑燕 刘思聪 单位:江苏经贸职业技术学院 智能工程技术学院