APP下载

基于Node.js的大学生自助学习答疑系统的设计与实现

2018-11-07牟雅琳丁浩哲郭茂林杨骏

电脑知识与技术 2018年21期
关键词:微信小程序

牟雅琳 丁浩哲 郭茂林 杨骏

摘要:根据大学生在学习上答疑的迫切需求,设计并实现了基于Node.js的自助学习答疑系统,从系统的功能需求、业务流程和数据库设计等方面介绍了该系统的设计和实现。从测试运行的结果看,该系统具有比较好的实用性和便捷性,系统的功能与性能达到了设计的目的,对于大学生的学习答疑可以带来极大的帮助。

关键词:Node.js;微信小程序;答疑系统

中图分类号:TP311.5 文献标识码:A 文章编号:1009-3044(2018)21-0107-03

Abstract: Owing to the urgent requirements of question answering in college learning, the Collegiate Self-service Answering System based on Node.js is designed and implemented. The design and implementation processes are introduced completely including function requirements, business logical processes, database design, etc. The experiment results indicate that the system is practical, convenient and efficient and it can help collegiate resolve their questions in time in their college learning.

Key words: Node.js; Little Program on WeChat; Answering System

1 背景

各种渠道反映出来的信息表明[1-3],目前我国高等学校的学习风气存在严重的问题,主要表现在以下方面:1)学生学习的积极性和主动性还有待加强,凡是需要学生自主完成的内容,多数学生都会有折扣地完成,甚至不完成;2)学生有问题需要教师解答的时候,教师不在身边,无法实现及时地沟通,而由于各种原因,教师有可能需要第二天甚至第二周才能与学生见面,那个时候,问题的解答可能已经失效了;3)教师想要发布某些公开信息时,也许只能通过班级群的方式发布,但显然,并不是每个教师都加入了每个教学班级的群,所以,这种方式也不是最好的选择;4)有些学生由于性格等原因,即使有問题,也不愿意面对面地问教师,长此以往,问题越来越多,最终可能因为无法及时解决问题而导致跟不上学习进度,可能对某门课程失去兴趣。

学生自助学习答疑系统,就是帮助学生解决学习上遇见的问题,及时向教师反馈专业学习上的疑问。当然对于自己学术以外的专业问题也可以请教相关方面的教师,方便解决自己的疑惑。当学生想在系统上发布问题时,可以先搜索是否有同学已经提了类似的问题,方便快速地找到现有答案,也能够避免教师重复回答相同的问题,既节约教师的时间,也方便学生在第一时间获得答疑。通过该系统的建设,可以进一步加深同学之间、师生之间的学习交流,同时也可以鼓励学生自我学习的意识,提升自我学习的能力和自觉学习的良好习惯,从而真正影响整个学校的学习风气。

2 技术路线

2.1 Node.js

Node.js是JavaScript 的一种运行环境,基于 Chrome V8引擎。它经常被用来构建响应快速、易于扩展的网络应用程序[4]。Node.js作为一个非常流行和普及的框架,主要有以下优点:1)使用事件驱动、异步编程:JavaScript语言的匿名函数和闭包特性适合事件驱动和异步编程,因此很多前端开发人员都可以迅速使用Node.js上手完成后端开发。2)非阻塞式的IO处理:在系统资源短缺的情况下,依然能够提供高性能与优秀的负载能力,很适合作为依赖其他IO资源的中间层[5]。3)轻量高效:在客户端响应之前,预计的流量即使很高,但服务器端的处理逻辑却仍然比较简单。目前,无论是传统的应用,还是微信应用等,越来越多都可以采用Node.js来开发[6-7]。

3 大学生自助学习答疑系统设计

3.1 系统结构

大学生自助学习答疑系统主要由微信小程序和Node.js组成,前台的逻辑和业务效果主要微信小程序来实现,后台采用Node.js框架,数据库采用MySQL来实现。其系统结构如图 1所示:

3.2 系统业务活动分析

大学生自助学习答疑系统的用户身份根据其角色划分而不同。问答系统应该能够识别三类不同权限级别(角色)的用户。第一类是学生用户,可以通过系统提出问题,并给解答者评分;第二类是教师用户,最主要的任务是解答学生的提问,尤其是被学生选定回答的问题;第三类是超级用户(系统管理员),拥有最高权限,可以维护系统基础数据,包括创建新的版块、用户管理等。其业务功能和系统用例如图2所示:

3.3 系统功能需求分析

依据用户权限的不同,三类用户的功能也不相同。记超级用户为管理员,另外两类用户为教师和学生。具体功能如表1所示:

3.4 数据库设计

该系统采用 MySQL 作为后台数据库,数据库是一个应用程序的基础,是对该系统所需数据的存储与管理。为了促进数据科学管理、高效使用以及开发便利,应设计规范化的数据库。主要的关系模式如下:

1)学生(学号、姓名、班级ID、密码、状态[在校、不在校]、提问数、回答数、解答数、积分)

2)教师(教师ID(编号)、姓名、学院ID、密码、学科方向ID、状态(留校?) 、解答数、积分)

3)问题分类(分类ID、学科门类、父类别)

4)问题(问题ID、分类ID、关键字、标题、内容、语音、图片、视频、提问学生学号、指定教师ID、回答状态、回答质量、评价)

5)回答(回答ID[自增]、问题ID、回答者身份[学生/教师]、回答内容[文字]、语音[多]、图片[多]、视频[多]、提问者评价)

6)班级(班级ID、班级名称、专业ID、入学时间)

7)专业(专业ID、专业名称、学院ID、层次[本/专]、培养方案)

8)学院(学院ID、学院名称、联系人)

9)登录日志(ID[自增]、学号/教师编号、身份、登录时间)

10)管理员(管理员ID、密码)

4 学生答疑系统的实现

大学生自助学习答疑系统的开发涉及界面设计和网页编程,使用 VS Code2013作为主要开发工具,使用 Node.js编写服务器脚本语言;使用微信Web开发者工具作为界面设计工具;使用MySQL作为后台数据库。

4.1 查询问题模块

用户登录后,进入问题查询区,可以浏览其他学生提出过的问题,也可以搜索自己感兴趣的问题。具体功能信息如图3所示。

4.2 提问模块

发布问题是该系统最重要的功能之一。学生用户在系统中没有找到自己需要的问题,可以主动发布问题,发布问题的时候,可以选择将问题发送给指定的教师请求回答。发布问题的内容主要包括:编号,提问者,发表日期,标题以及内容,被提问教师的ID。具体功能信息如图4所示。

4.3 解答问题模块

解答问题是该系统的另一个最为重要的功能,教师在收到学生的提问后,可以登录系统进行解答。解答问题需要提交的主要数据有:发表日期,回答内容(可以文字、图片等)。具体功能信息如图5所示。

5 结束语

详细地介绍了大学生自助学习答疑系统的设计与实现,细致分析了答疑系统的需求。从系统设计的角度,通过数据库表结构阐述了系统中的主要操作的对象以及内容。该系统是根据校园大学生的需求而设计的,实现了前后台问题提交和查询功能,教师解答问题的功能以及后台管理功能。通过一定范围内的系统测试,表明该系统可以带来较为方便的提问和答疑操作,可以降低师生互动的成本,有助于带动大学生更为方便自主的学习。但同时也发现,系统的界面设计可以更加美观方便,系统内容更加实用和合理,系统负载需要进一步平衡等,这些问题需要进一步优化、改进和完善。

参考文献:

[1] 杨江水. 当前高校学风建设面临的新困境与新出路[J]. 重庆邮电大学学报: 社会科学版, 2009(6): 95-100.

[2] 段艳. 高校学风建设研究现状及问题[J]. 化工高等教育, 2010(4): 29-32, 84.

[3] 张萌萌. 新时期高校学风建设问题及对策[J]. 黑龙江教育, 2017(3): 61-63.

[4] Node.js 百度百科[EB/OL]. https://baike.baidu.com/item/node.js/7567977?fr=aladdin.

[5] 使用Node.js的優势 知乎[EB/OL]. https://www.zhihu.com/question/19653241.

[6] 房峰, 高美凤. 基于Node.js 的移动视频监控系统[J]. 计算机系统应用, 2017, 26(10): 281-285.

[7] 仇晶, 黄岩, 柴瑜晗. 基于Node.js中间层Web开发的研究与实现——以微信图书借阅平台为例[J]. 河北工业科技, 2017(2): 118-124.

【通联编辑:谢媛媛】

猜你喜欢

微信小程序
微信小程序在高校英语教学中的应用
当图书馆遇上微信小程序