陈益全,韩 强
(琼台师范学院 信息科学技术学院,海南 海口 571127)
毕业论文是本科院校人才培养计划的重要组成部分,是实现本科培养目标的重要教学活动。其中毕业论文选题工作是第一环,关系到后续工作的顺利实施。一般情况下是一名教师指导多名学生,如何开展选题工作呢?如果是先把学生指派给老师,教师再给这些学生指定题目,就会出现学生不一定熟悉教师的研究领域不能完成论文的情况。如果是把全部教师出的选题汇总好让学生自由选择,学生选择了对应题目就由出题教师指导,就会出现学生选择了教师但教师没有选择权。所以,毕业论文选题工作中的双向选择很重要。通过双向选择,在师生双方了解的情况下匹配论文指导关系,才能为后续指导工作铺平道路。但是传统的人工操作进行双向选择,过程繁琐且容易出错[1]。那么,开发和使用毕业论文指导双向选择系统能做到易于操作与管理,让该工作开展得更加科学高效[2-3]。
系统开发是为了解决现实问题,是为具体业务服务的。所以开展需求分析的第一步是要了解业务流程。毕业论文指导双向选择工作的业务流程为:
(1)学院确定参与毕业论文指导工作的教师名单与教师出题数量,并提供毕业论文题目审批表给指导教师填写选题信息。
(2)教学秘书把学生信息和指导教师信息导入到系统。
(3)指导教师提供论文选题通过审核后汇总形成题库,由教学秘书导入到系统。
(4)学生登录系统,查看和选择题目,即学生选择了某个教师的题目。
(5)指导教师登录系统,查看自己所出题目是否被学生选择,如果该题被一个或多个学生选择,则把该题指派给一位学生来做。至此,完成毕业论文题目的双向选择。即,学生先选教师的题目,然后教师选择某一个学生来完成该题目。
(6)学生与指导教师随时可以登录系统查看确认的双向选择匹配信息。
(7)系统管理员从系统中导出双向选择数据进行核实与存档等。
根据毕业论文指导双向选择工作的业务流程分析,毕业论文指导双向选择系统中,包含三类用户:系统管理员、学生和指导教师[4]。他们对应的角色功能如下。
系统管理员:一般由学院教学秘书担任。负责收集、汇总初始数据(学生信息、指导教师信息、选题信息)并往系统中导入这些初始数据。
学生:登录该系统后可以查看所有可选论文题目,选择题目并提交后则等待教师选择,如果指导教师选择该生后,则学生可以看到最终确认的选题和指导教师信息。
指导教师:登录该系统后可以查看自己出的题目有哪些学生选择,然后选择指定学生后,完成双向选择工作。双向选择完成后,指导教师和学生都可以多次登录查看双向选择结果。
毕业论文指导双向选择系统的主要功能如下:
用户登录功能:毕业论文指导双向选择系统属于内部系统,外部人员无法访问。系统管理员、学生和指导教师需要登录该系统才能进行相关操作。
学生查看选题功能:所有可选论文题目以列表的方式提供给学生查看。
学生选择提交选题功能:学生选择并提交论文题目。
学生查看结果功能:如果学生被教师选择,则显示双向选择后的匹配结果(包括学生、论文题目、指导教师等信息);如果学生还没教师选择,则显示等待页面。
指导教师选择学生功能:以列表的方式显示指导教师的选题和选择对应选题的学生信息。指导教师选择学生后,显示双向选择结果。
导入导出数据功能:系统管理员可以导入初始数据和导出双向选择后的匹配数据。
毕业论文指导双向选择系统的功能流程图如图1所示。
图1 系统功能流程图
对于该系统在用户体验方面的要求是:系统功能要完整、准确,不能出现明显bug,那样会严重影响用户体验;UI整体设计简洁,页面布局合理,重点控件突出,无歧义、无误导;系统使用方便、高效,优化系统的交互逻辑,减少不必要的交互,能让用户一步操作到位,则不要让用户操作两步;尽量做到用户不用看系统操作文档就能顺利上手完成对应操作。
目前,系统开发的3种常见形式分别是:网站、手机APP和微信小程序。下面分别对这三种形式从用户使用层面、技术开发层面、系统部署维护层面等进行比较分析,如表1所示,然后从中选择最合适毕业论文指导双向选择系统开发的形式。
表1 系统开发技术选型对比
通过表1得知,使用微信小程序(云开发)比网站形式和手机APP形式更有优势。从用户角度来说,微信是国民级的手机APP,人人都有微信,使用微信小程序可以达到无缝衔接的快捷方便效果。从系统开发和部署维护的角度来说,微信小程序开发难度和部署维护难度较低,能实现快速开发与部署上线。综上,毕业论文指导双向选择系统采用微信小程序(云开发)进行开发。
微信小程序(云开发)的开发工作主要包括:使用wxml实现页面结构;使用wxss实现页面的美化;使用JavaScript实现页面功能逻辑和请求云函数获取数据;使用云函数实现对数据库的增删改查[5]。开发工具是微信开发者工具。下面从数据库设计、登录功能、学生选题功能、指导教师选择学生功能等方面描述系统设计与实现过程。
微信小程序(云开发)提供云数据库设计功能。云数据库是类似于MongoDB的文档型数据库,可以直接创建集合(集合就是数据表),并在集合里添加记录(数据表中的一条数据)。导入数据的常用方式是按照记录格式要求把数据写入外部json文件,然后再把该json文件导入云数据库的指定集合中。根据毕业论文指导双向选择系统的需求分析,对应设计以下集合。
学生集合:包含学生学号、学生姓名、学生性别、系部、专业、班级、学生手机号、openid等字段。在登录、学生查看功能中会操作该集合。
指导教师集合:包含教工号、教师姓名、教师性别、所属系部、职称、研究方向、教师手机号、openid等字段。在登录,选择学生功能中会操作该集合。
毕业论文选题集合:包含选题编号、选题名称、选题详情、选题类型、选题来源、对学生基本能力要求等字段。在学生选题功能中会操作该集合。
学生选题集合:包含学生学生学号、教师姓名、选题编号、选题名称等字段。当学生选择并提交选题后,会在该集合中添加一条记录。
双向选择匹配集合:包含学生学号、学生姓名、学生性别、学生手机号、学生班级、教师手机号、选题名称等字段。学生和教师查看双向选择结果时会操作该集合。
跟登录功能相关的页面有3个,分别是系统首页、用户登录页和再次登录页。对应的页面效果如图2所示。
图2 登录功能相关页面
系统首页,提供学生登录入口和教师登录入口。
用户登录页,需输入用户名和密码验证通过后,才能使用系统的主要功能。主要的功能逻辑实现(以学生登录举例)包括:首先,进行用户名密码的前端字符串合法性验证;如果验证通过后,把用户名和密码传递给云函数,然后云函数查询云数据库的学生集合,把结果返回;最后,根据返回的结果判断是否登录成功,登录成功则跳转到下一个功能页面。
再次登录页,用户第一次登录该系统,就会把微信openid和用户绑定,再次登录系统则显示欢迎页面并进入系统,不需要再次用户名和密码进行验证登录。
跟学生选题功能相关的页面有3个,分别是查看选题页、等待教师选择页和双向选择结果页。对应的页面效果如图3所示。
图3 学生选题功能相关页面
查看选题页,学生查看所有可选毕业论文选题。为了提高双向选择的匹配率,可以选择多个题目。单击提交按钮后提交题目。主要的功能逻辑实现包括:通过云函数请求云数据库中的毕业论文选题集合中的有效记录并在前端页面进行渲染显示。当提交选题后,把选题相关数据传给云函数写入学生-选题集合,然后跳转入到等待教师选择页。
等待教师选择页,当学生提交的选题没有被教师选择,则会显示该页面。主要的功能逻辑实现包括:以学号为查询条件,在学生选题集合中取出对应数据在前端页面中渲染显示。
双向选择结果页,当学生的选题被教师选择后,显示该页面,表示选题过程完成。
跟教师选择学生功能相关的页面就1个,页面效果如图4所示。该页面中包括两个区域。完成双选区显示已经匹配的学生与题目等信息。待选区指导教师主要操作的区域,用于选择学生。主要的功能逻辑实现包括:以该教师教工号为查询条件,从学生-选题集合中取出选择了该指导教师题目的记录显示在待选区。当教师选择学生后,把学生与教师的匹配记录写入双向选择匹配集合,并把记录动态地渲染到完成双选区。
图4 指导教师选择学生功能页面
毕业论文工作是本科教育的压舱石,需要不断优化毕业论文中涉及的各项工作。基于微信小程序(云开发)的毕业论文指导双向选择系统,从理念上让毕业论文选题过程更科学,从工作流程上也能实实在在地提高毕业论文选题工作的效率。毕业论文工作是一个系统工程,除了选题之外,还有论文开题,过程指导,初稿二稿终稿检查,论文答辩,材料归档等一系列环节。本系统只是解决了选题环节的工作,接下来要对毕业论文工作后续业务流程进行分析与设计,让该系统功能继续扩展与完善,最终构建成一个完整的毕业论文指导系统。