面向教师的自定义教学辅助系统

2021-04-23 05:51王永锋杨文丽
软件导刊 2021年4期
关键词:教辅功能模块页面

王永锋,李 辉,杨文丽

(1.河南大学民生学院;2.河南大学土木建筑学院,河南开封 475000;3.河南省省直能源实业有限公司,河南郑州 450003)

0 引言

随着“互联网+”教育的兴起,传统教学方式的弊端日渐凸显[1]。在线教育的迅速发展,极大地促进了传统教学方式变革。教学工作网络化已成为各大院校本科教学工程建设的重要部分,使用软件辅助教学已成为21 世纪一种重要教学形式。国外的教学辅助系统研究起步较早,目前发展已较为成熟。美国麻省理工学院的开放网络教育资源OCW(OpenCourseWare)就是典型代表[2]。我国历来高度重视教育体制机制改革创新,更是积极推广现代化信息技术教育。国内互联网教育如在线课堂、精品课程、教学评价、实验管理等软件系统得到广泛应用[3-5],开发技术也日趋成熟和多样化[6-9]。这些系统多采用B/S 模式,方便教师和学生在线管理和远程访问,也有引入Blackboard、Moodle 等教学管理平台[10-13]。近年来,更见基于云[14]、智慧学习[15-16]、微信平台[17-20]等技术支撑的教学辅助管理系统。许多学者和开发人员致力于设计和研究更为智能、方便的教学辅助系统,以帮助教师开展全面教学,促进学生主动学习。

目前,教学辅助系统多是面向课程的,结合课程量身定做,有较强的针对性,专业技术人员设计开发,普通教师仅提供课程需求,不参与技术实现。Blackboard、Moodle 等教学管理平台利用计算机网络的数据管理和交互功能实现教学过程信息化,要求课程开发尽可能规范化。课程建设需要教师掌握平台安装和配置过程,对普通专业课教师而言也是一种额外技术要求。在抗击新冠肺炎疫情期间,在响应国家“停课不停学”的号召下,线上教学成为一种主要教学模式,在线教学辅助系统的需求量也随之增加。面向不具备计算机开发或网络平台操作等专业技术的普通教师,设计一个可以让教师自定义功能、易于操作和发布的教学辅助系统极具现实意义。

本文主要讨论了面向教师的自定义教学辅助系统,包括系统总体设计、数据库设计,以及各功能模块。系统采用B/S 模式和三层体系架构,实现教师自定义生成,易于管理。以《程序应用教程》教辅系统实现为例,验证自定义教学辅助系统的有效性、可用性和灵活性,说明系统可以快速发布,完成普通教师的在线课程需求,辅助教师完成课前、课后教学任务,提供师生交流平台。

1 系统需求分析

自定义教学辅助系统主要面向的用户对象是教师。各专业教师所需系统功能模块不尽相同,因此设计的系统功能模块应尽可能满足用户需求。系统功能需求是一方面,另一方面的需求是系统易用性,即系统操作是否简单易懂、是否符合一般操作流程,一款通俗易懂、简单易用的软件系统不仅仅是用户需求,也是开发人员的追求。

综合考虑,自定义教学辅助系统须具备教学课件、教学大纲、实验指导、相关习题、教学答疑、在线公告管理、用户信息管理和系统样式管理等8 项基本功能。

(1)用户生成网站。用户首先进行用户名和密码注册,注册成功后,可自定义生成网站。输入网站标题,同时选择所需的网站功能,还可选择网站和布局样式,选择完毕后,提交即可生成相应网站。

(2)在线公告管理。该模块为教师发布课程作业说明或最新课程消息提供便利,教师可以对公告消息进行添加、删除操作。

(3)教学课件。该功能主要是对上传的教学课件进行管理。选择文件进行上传,上传成功后网页会自动刷新课件列表。新上传的文件会在列表中显示,在列表中点击相应文件的下载按钮件即可进行下载。只有教师具有课件删除极限,学生只能浏览和下载课件,没有删除权限。

(4)教学大纲。对在线文档进行管理,用户可以在网页上直接编辑文档,包括图片上传、表格编辑;编辑完成后点击保存按钮,会直接跳转到教学大纲显示页面,也可返回对文档进行修改或重置。

(5)实验指导。对实验指导的管理,包括实验指导上传、下载以及删除等操作。上传实验指导包括将上传文件保存到服务器和插入数据库记录操作两方面。对于删除操作,只有教师拥有该权限。

(6)相关习题。对网站相关习题的管理,包括上传习题、下载习题以及习题删除操作。只有管理员拥有习题删除功能。

(7)教学答疑。对在线提问、回复问题的管理。登录网站进入该功能页面后都可提问,无权限限制,添加问题后问题列表会刷新显示;对问题进行回复也没有权限限制;点击问题可以查看该问题的所有回复。只有教师可以对提出的问题或问题回复进行删除操作。

(8)用户信息管理。教师可以添加角色为学生的用户,学生以访客身份进入该网站,具有一些操作权限。用户还可实现网站风格、网站标题修改等功能选项。

自定义教学辅助系统由教师用户自定义生成。在教师自定义生成的系统下可以添加学生用户;学生可以访问教师建立的系统,但不具备管理权限。相当于教师具有管理员身份,学生只能以访客身份进入生成后的系统,教师可以为学生指定系统下的功能访问权限。根据系统分析所得系统用例如图1 所示。

2 系统设计

2.1 系统结构

自定义教学辅助系统采用B/S 三层体系结构,各层之间基本相互独立,有利于系统开发维护。三层体系结构一般分为表示层、业务逻辑层和数据访问层,如图2 所示。

系统前台页面通过浏览器查看,属于表示层。BLL 类是对前台传递的参数进行数据处理,属于业务逻辑层。通过DAL 类对数据库数据执行SQL 语句等操作,属于数据访问层。页面将参数传递给一般处理程序,一般处理程序对前台页面和后台方法输入输出的数据作出响应。一般处理程序接收前台页面通过JQuery 传递的参数并传递到后台,通过对相应BLL 类和DAL 类的调用,对SQL Server 数据库数据进行相应操作并返回结果,一般处理程序再将后台执行结果返回给前台页面,页面作出相应的响应。

2.2 系统功能

根据对系统的分析和定义,将系统基本功能进行分类,与系统管理相结合,可以将自定义教学辅助系统分为五大功能模块:用户信息管理、课程资源管理、教学答疑、公告管理和系统主题管理。每个功能模块再具体分为相应子模块,如图3 所示。

用户信息管理模块主要对教辅系统的用户进行信息管理。只有教师具有该模块的管理权限,教师可以执行添加用户、修改角色、修改角色功能权限以及删除用户等操作。

课程资源管理模块包括对教学课件、教学大纲、相关习题和实验指导4 个子模块的管理。其中,教学大纲实现在线编辑功能,其他3 个功能模块实现对资源的上传、下载和删除操作。

Fig.1 Use case diagram of system图1 系统用例图

Fig.2 Hierarchical structure of system图2 系统分层结构

教学答疑模块主要是对学生问题发布、问题回复,以及对问题和回复分别执行添加和删除等管理操作。

公告管理模块主要对教师发布的公告进行添加、删除等管理操作。

系统主题模块提供了更换网站样式的功能,教师可以对网站主题模块中的标题、背景和框架进行修改。

2.3 数据库设计

数据库是自定义教学辅助系统的核心部分,用来存储系统的主要数据内容,为用户对系统的管理提供数据支持。自定义教学辅助系统共设计10 个数据表,主要用来存储用户信息、系统功能、教学课件、相关习题、在线答疑、实验指导、在线公告、教学大纲以及用户与系统功能关系等信息,如表1 所示。

3 系统实现

教学辅助系统在Visual Studio 集成开发环境中使用。Net 框架下的C#编程语言和SQL Server 数据库进行实现。本文以《程序应用教程》教辅系统生成为例,证明系统操作简单,非专业教师只需注册登录,进行功能选择,即可生成相应课程的教辅系统,然后就系统主要功能模块技术实现进行说明和解释。

Fig.3 Function module of system图3 系统功能模块

Table 1 Design of system database表1 系统数据库设计

3.1 用户自定义生成教辅系统

已注册登录的教师用户通过三步自定义生成符合课程要求的教学辅助系统:第一步自定义网站标题,选择课程所需功能模块;第二步选择教辅系统的背景样式;第三步选择教辅系统的框架布局。例如,输入标题“程序应用教程”,选择课程所需“教学课件”“实验指导”“相关习题”“教学视频”等模块,采用默认的网站样式和框架,单击“生成网站”按钮,即生成《程序应用教程》教辅系统。系统提供在线资源管理、文档编辑、公告发布等功能。课程相应模块的具体内容,需要课程教师整理上传。公告管理和学生权限,也由课程教师自行负责。

实际上,用户选择的教辅系统相关功能数据是以参数形式通过JS 的post 提交调用方法传到一般处理程序。一般处理程序通过context.Request[“参数”]语句接收数据,然后调用逻辑层BLL 类。BLL 类对数据进行处理或直接调用DAL 类中方法buildWebsite()对数据库数据进行操作。该操作是对UserInfo 用户表信息及RelationUF 用户与功能关联表进行更新。更新成功后返回执行结果,页面将显示网站生成成功的提示消息,然后跳转至登录页面,登录成功后即可进入用户自定义生成的网站。用户登录时会将用户输入的账户、密码提交到后台进行验证,可以验证数据库是否存在该用户,输入的密码是否正确;登录成功后页面自动跳转至网站主页面,同时将登录的用户信息保存至Session,以供其它页面使用。

3.2 主页面实现

主页面的网站标题、用户名、背景样式和框架布局都是从系统数据库的UserInfo 用户信息表中获取并加载。根据用户生成系统时选择的表中字段值加载相应样式的主页面。

主页面中左侧功能菜单是从WebsiteFunc 表中查询出功能名称和功能的相对路径。网站功能模块是通过查询RelationUF 表的用户编号userID 得到相应的功能编号funcID,再以功能编号funcID 为条件查询WebsiteFunc 表,执行结果返回功能名称和功能的相对路径。将查询得到的DataTable 转换为JSON 数据格式,再以JSON 的数据格式返回到前台页面,通过EasyUI 的Tree 结构在页面中呈现。

其中,首页默认显示公告页面,公告列表展示的公告标题同样是通过一般处理程序将参数传递给BLL 类。BLL类调用DAL 类的showNotice()方法对数据库进行操作,查询数据库的Notice 表返回DataTable 给BLL。BLL 通过StringBuilder 将DataTable 中字段拼接为JSON 格式数据返回前台,前台通过URL 接收返回值,接收的JSON 数据格式:[{“id”:“”,“text”:“”}],多行数据的返回则在花括号外加逗号隔开。

系统中所有页面传递至后台的数据均以参数形式传给数据库,不采用SQL 语句拼接。这是为了增加系统的安全性能,防止SQL 注入漏洞攻击。

3.3 系统主题管理

系统支持更换主题风格,可以更改教辅系统标题、主题样式以及框架布局。

实现时,在数据库中保存几种样式或框架的标志值,通过返回前台更新标志值选择不同的主页面加载。网站背景设置后刷新页面即可成功加载,而框架和标题的更改在下次登录时设置生效。网站标题、网站样式及网站框架均在UserInfo 表中有对应字段。网站样式和框架均以标志值的数据形式存入数据库。同样在页面中设置checkbox 的对应值,通过以下语句得到选中同一组name 的某一复选框的值。

网站标题则通过语句$(“#indexTitle”).val();即直接通过标签的id 获取值,将值数据以参数形式通过JS 的post 提交调用方法传至一般处理程序。先对用户角色进行验证,若用户角色是教师则可以进行更改,否则返回结果提示用户没有权限。验证成功后由一般处理程序调用业务逻辑层BLL 类,BLL 类调用DAL 类中styleWeb()方法。更改后,学生访问的网站框架布局及网站风格也会发生相应改变。执行SQL 语句操作会对该系统下教师及所有学生的表数据信息进行更新。执行的SQL 语句需用到or 运算和参数传递,SQL 语句如下所示:

其中,参数userName 是从session 中得到,参数siteTitle是从页面传过来的参数数据。操作完成后返回执行结果,前台页面根据返回值响应下一步,对页面进行刷新或取消当前操作。

3.4 课程资源管理

教辅系统中课程资源可以分为教学课件、实验指导和相关习题三大类。三类界面布局基本相同,主要功能是资源上传、下载。若登录用户是教师,则对资源还具有删除权限。实验指导还具有在线编辑功能,编辑保存后的文档会直接上传,然后自动跳转至实验指导列表,即可下载新的文档。

文档在线编辑使用的是百度开发的UEditor 富文本Web 编辑器。系统引用了该文档编辑器的默认和自定义设置两种工具栏样式,分别实现教学大纲和习题的在线编辑功能。

页面中上传文件采用ASP.NET 中的FileUpload 控件。验证是否选择文件,并限制上传文件的大小不能超过100M。通过以下代码获取文件名,并获取文件在服务器的保存路径,然后将文件保存至服务器指定路径。

其中,uploadFile 是页面控件的ID 值,上传文件的同时也对数据库进行操作,通过BLL 调用DAL 类中的fileUpload()方法将上传文件名和上传文件在服务器的保存路径插入到数据库相应的表中,操作完成后返回执行结果,页面根据返回的执行结果作出相应响应,更新文件列表或提示上传失败。

系统提供“教学答疑”功能作为师生相互交流的平台。学生有问题可以进入教师建立的系统答疑界面进行提问。教师或其他进入系统的学生都可以对问题进行回复。学生的访问权限由教师提前开放。

3.5 用户信息管理

用户信息管理模块主要用来管理系统用户和用户的功能权限。该功能模块是为生成系统的教师而设计。学生进入该页面只能浏览自己的用户信息,没有修改权限的功能。教师在该页面下可以为自己生成的系统添加功能模块,也可以删除系统具有的功能模块,同时也可以为系统下的所有学生设置该系统功能模块的访问权限。

系统根据保存在Session 中的用户信息得到该用户角色。若用户角色是学生,则用户信息列表只显示该登录用户的信息和功能列表,该页面下的所有功能按钮处于被禁用状态,即按钮属性Disabled 为true;若用户角色为教师,则显示该系统下的所有用户信息,教师功能列表显示教学辅助系统所有的功能模块。只需用SQL 左连接函数对RelationUF 表和WebsiteFunc 表进行匹配,若两个表中的功能编号匹配成功,则为拼接的JSON 数据列设置checked 属性值为true,在相应功能显示时处于被选中状态。而角色为学生的用户功能列表查询的是学生所在教师系统所拥有的功能,然后对学生拥有的功能与系统具有的功能进行匹配。教师查询功能列表的SQL 语句如下:

查询WebsiteFunc 表和RelationUF 表通过SQL 左连接匹配。右表RelationUF 只会显示与左表WebsiteFunc 匹配的记录,不匹配的数据记录为NULL。相应地,通过SQL 语句中的case when 方法为用户具有的功能模块设置标志值为Y,否则设为N。拼接JSON 格式的数据时根据功能模块设置的标志值选择是否为该功能模块数据列设置checked属性值为true。

4 结语

随着网络互连技术的进步和教学需求的不断提升,自定义教学辅助系统开发具有一定现实意义。自定义教学辅助系统的基本定位和最大特色就是服务于不具备专业开发技术的课程教师,为教师创建相应课程的教学辅助系统提供了极大方便。不再增加课程教师额外的技术学习任务,只需简单操作,即可生成和管理相应课程的教学辅助系统。

本文对自定义教学辅助系统设计与实现进行了探讨,面向教师,可以灵活生成相应课程教学辅助系统,生成的课程教辅系统具备常见系统的基本功能,同时具有较强的便利性和扩展性。功能模块可由教师用户根据课程内容自行添加和调整,不仅可以满足课程基本功能需求,还可以为其提供个性化设置。各教师用户、各课程之间互不干扰。教师通过网络发布教学课程相关资料,对教学工作进行管理,从而提高工作效率;学生可以通过教辅系统了解最新的课程信息与教学安排,及时调整个人学习计划。师生以教辅系统作为交流平台,促进教学相长。自定义教辅系统发布后只在小范围进行了应用。下一阶段应更加关注系统运行的稳定性。随着教辅系统的深入开发,也应继续完善系统功能,优化系统性能,使之得到更广泛的应用。

猜你喜欢
教辅功能模块页面
刷新生活的页面
基于ASP.NET标准的采购管理系统研究
我待教辅如初恋
教辅虐我千百遍
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
强化读者意识 提高教辅竞争力
试谈教辅出版的转型升级
功能模块的设计与应用研究
网站结构在SEO中的研究与应用