APP下载

基于Socket 通信的单词学习评测系统

2022-09-29汪哲丞

关键词:服务端测验答题

汪哲丞

(台州科技职业学院 浙江台州 318020)

一、绪论

随着信息化的发展,社会各行各界人士对于计算机能做到的事情也有了更多的了解,计算机也被应用到了越来越多的场合。其中,随着信息化教学概念的产生和普及,也有越来越多的教师开始考虑在授课过程中运用各种各样的信息化教学手段。单词学习是英语学习中必不可少的一个重要环节,如何让学生能够更好地掌握单词是每一个教师都在积极探索的。常规的单词记忆是靠书本作为载体,学习起来比较枯燥。本系统的研发就是为了让学生保持英语学习的兴趣和热情,提升英语的教学效果,为单调的课堂增添一抹亮色。

二、技术选取

(一)Socket 技术

Socket 通常也即“套接字”。在网络应用程序编程中,应用程序通常通过“套接字”向网络发出请求或者应答网络请求[1]。Socket 是面向客户/服务器模型而设计的,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象[2]。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。

Socket 之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。它把复杂的TCP/IP 协议族隐藏在Socket 接口后面,对开发者来说,只需要关注Socket 的接口,而不需要关注具体的协议细节,因此开发起来比较方便。

(二)C#语言

C#语言是微软公司发布的一种面向对象的程序设计语言。它吸取了近20 年来其他计算机语言发展中的经验和优点[3],它使得程序员可以快速地编写各种基于MICROSOFT .NET 平台的应用程序,MICROSOFT .NET 提供了一系列的工具和服务来最大限度地开发利用计算与通信领域。依托于微软的开发工具Visual Studio 的强大功能,使用C#语言可以比其他语言更加快速和方便地搭建windows 桌面应用程序。同时,使用C#的System.Net.Sockets 模块可以非常方便地进行Socket 通信应用程序的开发。

(三)SQLite 数据库

SQLite 是当今非常流行的轻量级开源关系数据库管理系统(Relational DataBase Management System,RDBMS)[4]。与Oracle、MySQL、PostgreSQL 等主流 RDMBS 不同,SQLite 是一个嵌入式RDBMS。嵌入式数据库体积非常小,系统资源占用非常低,可以运行于手机等终端设备,使用时不需要运行独立的数据库引擎,可与应用一同编译[5]。本系统选用该数据库,正是主要考虑了它的体积和速度方面的优势,用来存储学生、单词、测验等信息。

三、单词评测系统实现

(一)解决方案概述

本文提出的单词评测系统是一款可以检测学生单词掌握状况的软件,当然同时也可以帮助学生进行单词的记忆。教师可以事先在系统中录好学生的信息,以及要考核的单词信息和答案,设定考核的方式和考核时间。可以选择以单个单词作为考核方式,也可以选择将词组或者句子作为考核方式。在开始测验后,学生可以通过客户端进行连接,练习和答题。在界面上,学生可以拖曳单词,将它们放入正确的区域,系统将自动进行判断学生作答是否正确。同时,教师可以观察学生的答题情况,系统将显示学生的最终成绩以及排名。教师可以根据考核结果了解学生的单词掌握情况,可以对学生更好地进行针对性辅导。

(二)系统整体架构

本系统由两个程序组成,分别为Socket 服务(教师)端程序和Socket 客户(学生)端程序。

服务端程序由教师使用,具有开启服务、开始测验、停止测验功能。点击开始服务按钮后,客户端才能进行连接。当所有学生都连接完成后,教师可以点击开始测验按钮,让学生开始答题。在答题过程中,可以点击停止测验按钮,随时停止答题,否则,本次测验将在到达时间后自动停止。同时,教师端程序还将显示客户端的连接情况,若有客户端失去连接,此客户端信息将变色显示,以此来提醒教师。当学生交卷后,教师端将显示该学生的最终分数,考核时间,以及实时排名状况。

服务端程序同时具备后台管理功能。管理员可以录入学生信息、单词信息、题目信息,也可以查看历次考试或者练习的结果。

客户端程序由学生使用,具有连接服务端和答题功能。答题界面由两个区域组成,分别是单词区和答题区。学生通过点击拖曳单词的方式,将单词拖入对应的答题区,来组成正确的词组或者句子。学生可以通过点击提交答案按钮来进行交卷,也可以等待考核时间结束自动交卷。系统的操作流程如图1 所示。

图1

(三)数据库设计

本系统使用SQLite3 数据库进行数据的存储。为了满足程序功能的需要,设计了表和字段的结构。具体如表1 所示。

表1

(四)界面设计

界面设计要以用户为中心、坚持一致性等原则[6]。因此在设计软件的时候要考虑用户的操作习惯,要设计尽量简单的人机交互方式。在服务端的界面设计时,根据系统的需求,主要考虑功能性和信息丰富性。要能明显地展示出功能按钮,直观地看到所有学生的连接和答题情况,并且能够展示出学生的最后得分和排名。相对来说,由于服务端是给教师一人使用,只要把功能实现、操作简单,美观程序是较次要的。

而在客户端的界面设计时,要考虑学生的心理,不仅要操作简单有趣,同时界面也要亮眼。具体设计如图2 所示。系统会根据数据,自动生成要被使用的单词区域,以及答题区域。

图2

结语

本系统设计遵循的原则是操作方便、界面友好、运行稳定。因为系统的使用对象是教师和学生,大部人不是计算机专业人员。如果学生答题到一半,程序崩溃的话,那么可能会导致练习效果不尽如人意,甚至起到反作用,反而降低了学生学习的兴趣。

本系统在功能上还有很多可以拓展之处。主要有以下方向:1.可以增加多种趣味模式,而并不是仅仅以测验的形式进行。2.在练习过程中,可以适当增加师生之间的互动和学生之间的互动,让练习变得更有趣味。3.可以增加历史排行榜、总得分排行榜、进步榜等榜单功能,让学生更有成就感。我们也有理由相信,随着技术和观念的发展,我们一定有更多的方式来让学生进行更加高效更加有趣的学习。

猜你喜欢

服务端测验答题
邀你来答题
邀你来答题
邀你来答题
邀你来答题
云存储中基于相似性的客户-服务端双端数据去重方法
《新年大测验》大揭榜
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
两个处理t测验与F测验的数学关系
你知道吗?