基于.NET的网络学习平台设计与应用
2021-01-18向俊刘铸德
向俊 刘铸德
[摘 要]网络学习平台主要是满足不同时间和区域的学生完成在线选课、在线学习、在线考试、在线评价等过程。文章针对目前已有的各类网络学习平台在应用过程中需要适应本地业务发展需求的问题,利用.NET 4.5、Ajax及Html5等相关工具,结合广西开放大学远程教育及培训业务需求,采用三层模式的B/S架构,设计了能部署运行在云服务器上,自适应不同终端的网络学习平台,能满足广西偏远地区的远程教育学生和培训学员利用碎片化时间进行学习,并为广西中小学教师信息技术应用能力提升工程和广西高素质农民培育项目提供在线学习应用服务。
[关键词]网络学习平台;.NET;Ajax;远程教育
[中图分类号]G434 [文献标识码]A [文章编号]1008-7656(2021)04-0030-08
引言
近年来,在线教育发展迅速,越来越多的行业和领域开展远程教育和培训都需要网络学习平台进行辅助,在线教育平台和网络学习平台为社会各类学员提供了远程学习的技术支撑。将网络在线培训应用到培训教育工作中,实现线上、线下培训相结合的混合模式,提高培训教育的水平和质量,能实现社会对培训教育工作更多、更高的要求。根据从开源中国平台上统计的目前已有的各类网络学习平台数量、运行环境和开发架构分析来看,大部分网络在线学习平台是使用PHP或者Java语言开发设计,采用通用性公开许可证(GPL),而采用.NET架构开发设计的网络学习平台并不多。各种Web开发技术将由原有的面向過程方法逐步转向面向对象的高级方法,开发人员在反复实践应用中总结出,使用MVC框架模式使同一程序可以有不同的表现形式,能为应用程序处理很多不同的视图,灵活适应在线学习环境下不同功能需求[1],还可有效降低耦合性,提高代码的重用性,快速部署,降低生命周期成本,Web应用更易于维护和修改,能很好地运行在PC端和移动终端,可广泛应用于农村偏远地区开展高素质农民培训。同时,可为中小学教师信息技术应用能力培训提供在线培训平台,提高中小学教师信息技术应用能力,促进教师专业能力发展,对我国基础教育和人才培养有重要的促进作用。
一、基本概念
(一).NET概述
.NET是一个集成开发环境,提供了程序语言设计、软件代码编译、多种组件配置、应用程序运行、人机交互窗口等多个功能,可作为基础开发平台支持下一代互联网的可编程结构,以XML为基础,Web服务为核心,为建立和部署企业级Web应用程序及服务,提供一个可托管、高效、稳定和安全的运行环境。ASP.NET是在ASP基础上设计的新一代动态网络编程语言框架,在Microsoft .NET Framework类库和公共语言运行库(CLR)基础上,以支持C#、J#、VB.NET、JavaScript等语言,为用户提供面向各种浏览器或终端设备的、安全的、可扩展、易升级、更稳定的编程模型和基础架构等编程资源以及Web应用程序。ASP.NET是编译型的动态网页技术,而ASP是解释型的动态网页技术,这是二者的最大区别[2]。Visual Studio.NET集成开发平台近年来也不断升级,从 1997年发布的Visual Studio 97,发展到了2013年发布的Visual Studio 2013。与此同时,.NET Framework也从2002年发布的1.0版本,发展到了2019年发布的.NET 4.8版本。
(二)Ajax技术
Ajax是Asynchronous JavaScript and XML,称为异步JavaScript和XML,它不是新的编程语言,而是由现有的HTML、JavaScriptTM 、DHTML和DOM技术进行组合的新方法,创建交互式网页应用的网页开发技术。其核心主要包括基于Web标准的XHTML+CSS的表示;使用DOM(Document Object Model)进行动态显示和交互;使用XML和XSLT进行数据交换及操作;使用XML Http Request进行异步数据查询及检索[3]。主要应用优势:由于是部分网页数据更新,而不是整个页面,减少了服务器请求信息的数量;使因特网应用程序更小、更快、更友好;应用程序独立于浏览器和平台;使用异步模式,用户体验效率更高、速度更快。
(三)MVC框架模式
MVC就是“模式—视图—控制”,即把一个系统的输入、处理、输出流程按照模式、视图、控制的方式进行分离,这样一个系统就被分成模型层(Model)、视图层(View)和控制层(Control)3个层,即MVC模式[4]。模型主要是封装业务规则和流程,视图主要是将用户请求简单处理后交给模型,并将处理结果呈现给终端用户,控制器主要是在应用逻辑控制下,接受和转发用户的请求,将命令利用视图转发给控制层,按设定的逻辑对数据进行处理,并将结果返回给用户。目前,很多Web应用程序都可以采用MVC架构模式进行开发设计[5], .Net架构模式也有MVC模式的实现机制[6],利用Page Controller控件实现MVC模式,使用aspx文件实现视图功能,由业务逻辑来实现模式,控制器在每一个页面里,这种机制具有简单、实用、功能划分清晰、各层之间的耦合度比较低等优点。
(四)异步计算
异步计算是分布式计算的一种实现方式,开发人员可以不用花费更多的硬件成本,可通过软件方式降低成本并实现大规模运算的处理能力[7],将用户在前端发出的任务请求转移到其他Web服务器上,同时进行处理或者转移到后台异步进行处理,后端有自己的线程在队列中按照既定规则不断收集请求任务并执行,前端线程也不用等待当前指令,从后端线程返回结果才继续执行后面的指令,这能避免由于前端不断发送任务请求到后端无法及时处理造成服务器资源崩溃。这样就可以方便、灵活地控制不同服务器,将不同的计算能力组合起来,实现大规模数据运算。
二、网络学习培训平台的功能需求
广西开放大学网络学习培训平台可为广西中小学教师信息技术应用能力提升工程、新型职业农民培育及行业人员提供操作简单、方便实用的培训服务,将在线视频课程资源学习和在线课程考试紧密相关,建设“在线学习、在线考试和在线互动交流”于一体的网络学习培训平台,方便学员利用碎片化时间进行随时随地学习。为避免各类培训教学资源存在低水平重复开发情况,提高不同平台课程资源的可共享性,让许多数字教学资源在平台上共享传输并汇集,方便学习者读取任何学习信息和资料,以网络课程建设方式,实现知识交流。设计时,在.net WebConfig文件中通過设置Access-Control-Allow-Origin实现跨域授权访问。平台支持上千人次同时在线学习和在线考试,采用成熟的技术和开发方式,提供统一的开发接口和数据标准,降低系统维护技术难度,保证系统稳定运行,设定统一的课程学习目标和统一的组织管理。采用交流互动和讨论研修等学习互动方式,解决教师和学员比例不平衡带来的在线教学辅导不足的问题,使用开放和可扩展的技术架构满足系统业务长期性和动态变化,采用模块化结构满足广泛应用范围、多样化功能需求和复杂的体系。
(一)平台架构
平台主要由支撑平台、培训学习平台和终端三层组成。支撑平台包括网络带宽、存储空间、负载均衡和功能优化工具,培训学习平台包括培训业务管理系统、培训业务支撑系统和数据库集群等,终端平台包括Web学习终端、平板、移动APP、微信学习终端、微信小程序等,平台的层次架构如图1所示。后台管理模块主要包括平台基础设置、系统设置、机构管理、学员管理、教师管理五个模块,如图2所示。
(二)平台设计特点及要求
广西开放大学网络学习培训平台的角色定位是为社会、社区和行业等提供非学历教育网络学习信息服务平台,以突出先进性、实用性、规范性、便捷易用性、兼容性、可扩展性、安全性、成熟性和重复利用为基本要求。
1.先进性
用主流系统架构设计,实现数据访问、业务处理、用户体验分层次处理,以多线程、异步运算方式,实现快速、高效的运算能力。
2.实用性
在试运行阶段,不断解决高素质农民网络培训和中小学教师信息技术应用能力培训中遇到的疑难问题。
3.规范性
开发过程基于软件工程标准化开发流程,注重环节质量,成果评测。技术标准基于国家信息化建设规范,前端技术基于国际W3C规范。
4.便捷易用性
课程学习和在线咨询通过网络来解决,学员自主选择学习时间、学习地点进行学习和咨询,系统采用B/S架构,高效灵活,用户界面简单友好,容易掌握,无须培训即可操作。
5.兼容性
能够兼容主流的浏览器,如IE系列(6/7/8/9/10版本)、Firefox(火狐)、Chrome(Google浏览器)、Safari(苹果浏览器)、Opera等。其他浏览器,如QQ、360、搜狐、傲游等,只是采用上述浏览器作为内核。
6.可扩展性
平台为在线课程建设设置和预留接口,满足社会各类有针对性的培训需求,可与其他平台进行统一身份认证登录。
7.安全性
通过采用数据访问验证,包括录入验证、查询验证、内部验证,有效防范常见的网络攻击,如SQL(数据库查询语句)注入。
8.成熟性
系统平台的框架稳定、可靠,经过不同培训项目的运行实践,开发技术成熟。
9.重复利用
依照不同的应用和在线教学情形,可以重复使用平台的课程资源和关键基础数据。
三、网络学习培训平台的功能模块建设
广西开放大学网络学习培训平台主要由在线学习培训、培训教学资源库、培训信息发布、在线培训评估、公共交流等几个功能模块组成,如图3所示。
(一)在线学习培训
在线学习培训模块由学习培训平台的搭建、在线课程设计和学习培训方案设计组成。
学习培训平台集成了在线学习管理和在线课程管理两个主题,满足网络的教和学等活动,提供网络教学和培训服务,核心功能是在线学习、在线考试、学习过程管理、教务管理、学员管理、管理员管理和系统管理等。其中,在线学习主要是对学员总体学习情况的管理,涉及我的课程、在线考试、成绩统计和错题回顾四个部分。我的课程是学员根据自己的需要或喜好选择学习的学科或专业,可单选也可多选,若不想继续学习可选择放弃学习。在线考核是学习培训平台提供给每一位学员在线考试的真题演练,所有试卷题目都是随机组合,学员可以根据所学的专业,选择相应的试卷进行测试以检验自己的学习质量,也可进入教师指定的考试试卷进行测试。在试卷较多的情况下,学员可以根据试卷名称检索、根据专业检索和按试题难易程度进行检索。在线考试包括试卷管理、考试管理和考试三部分,试卷管理的主要功能就是让培训专家新建试卷,教师不必一题一题地出题,而是使用“题库管理”中批量录入的题目,培训专家只需要设置试卷的基本信息,试题全部是随机从题库中调取,学生每一次测试都是不同的题目,减少了教师的工作量。培训专家也可以在该模块下设置试卷的名称、专业、考试时长、难易程度等,可以根据实际情况设置考试时长、总分数和试题。当有大型的多场考试时,培训专家可以在考试管理中设置考试的题目以及选择各科考试所用的静态试卷。学生关闭或刷新都不会改变试题,学生每做一道题,每做一次修改,数据就会向服务器提交一次,如遇到断电、关机等意外情况,再次打开试卷还是保存在数据库中的数据。考试界面包括考生信息、提示信息、答题状态等。考生信息包括考生姓名、考生科目、考试时间。提示信息包括完成答题数、题目总数、开考时间以及剩余时间。答题状态是指每个题目是否完成作答;成绩统计是学员的每次在线测试的成绩记录,学习平台对学员每一次的考试成绩、试卷名称、考试时间以及专业都有一个详细的记录,学员能更直观地掌握自己的学习情况和进步情况。错题回顾记录了学员每次测试中做错的试题,包括题目、题型、学科、难度,方便学员重复练习。学员可以根据专业、题型、难度对试题进行检索。学习过程管理主要是学员或者教师可以实时查看并管理学习进度、课程选择管理、学习行为数据查询和学习向导等。教务管理包括教师信息、学员管理、专业设置、知识库分类、学员分类、教师分类六个模块,主要是对教师、学员、专业、知识库进行分类管理。每位学员都拥有独立的后台,学员管理分为在线学习、资讯信息、在线交流、个人信息四个模块,也是指学习培训平台下属机构网站中的所有学员信息,机构管理员可以对该机构中所有的学员进行管理,如新增、删除、编辑教师信息、设置启用状态、修改密码等。
在线课程设计是在线学习培训中的重要组成部分,主要包括课程内容选择、课程教学设计和课程开发工具。课程内容选择主要是培训前期通过调研,了解培训学员要达到的培训目标和培训主题,选择适当的培训课程内容。课程教学设计是培训专家利用先进的教育教学理论设计课程内容和教学方法,整理课程教学所需的素材。使用课程开发工具,用视频或者动画等媒体技术,可对课程素材进行二次加工和整合,获得相对完善的课程资源。
学习培训方案主要是将学习培训平台和培训课程转换成培训成果的方法,从培训的草拟、预报名、培训报名审核、培训的开展、培训结束到培训成绩档案的维护,可对用户的培训记录进行系统化、电子化的档案维护。包括确定培训对象、制定培训目标、安排培训内容、设置培训时间和方法,设置学员年度培训目标,如培训达标学时、达标学分,学员在首页面可以清晰地了解本年度的目标。
(二)培训教学资源库
培训资源库模块主要由培训专家库、培训素材库和课程题库组成。
广泛吸纳高校、中小学、研究机构、各行业的专家组成培训专家库,根据研究方向、从事领域、侧重理论研究或社会实践等不同分类对专家信息进行分类,方便查询。机构管理员可以对该机构中所有的培训专家进行管理,如新增、删除、编辑教师信息、设置启用状态、修改密码等。一般情况下培训专家是在网站前台自己注册,在特殊情况下才需要管理员后台添加。这里管理员主要是完成对培训专家的启用状态,修改密码等操作。培训专家管理包括课程管理、题库管理、测试/考试、在线交流、个人信息五个模块。实现专家资源与学习培训平台无缝对接和开放共享,为培训学员提供优质的专家咨询服务。
培训素材库主要是按专业和课程对培训动画视频、教学音频、学习文档、在线题库以及疑难问题查询进行分类检索。其中课程资源主要由课程列表、创建课程、课程编辑、知识库管理四个部分组成。课程列表包含培训专家提供的所有课程,培训专家可进行选择课程的显示、隐藏或删除等操作,也可创建课程和对课程内容进行添加“课件、视频、附件”等编辑操作。知识库分类是对机构网站的专业知识进行一个大的归类,比如Word、Excel、Visio等不同文件类型。管理员可以在知识库分类中添加一个大分类,也可以在已有的分类下添加一个下级分类,修改分类信息。知识库里存放的是培训专家提供所有课程的相关知识点内容,类似于学校的图书馆。学员可以在知识库中查阅与所学专业相关的资料。知识库还与题库相互关联,培训专家在编辑试题的时候可以选择相关知识点,学员在“错题回顾”中学习某一试题时双击该试题,在页面下方会出现与试题相关的知识点讲解。分享者经过相应的上传机制和授权机制,通过审核后,将该资源加入到平台共享机制中,对培训资源用标签技术和数据库技术进行分类并保存,将标题、关键词、内容等信息保存到数据库中,供所有学员学习检索利用。
课程题库包括填空题、单选题、多选题、判断题、简答题五个部分,试卷里的题目都是从题库中根据专业课程随机调取,不同题型通过Excel试题模版批量导入数据库,都有添加、删除、修改、检索等功能。
(三)培训信息发布
培训信息发布主要有三部分内容:通知公告、新聞资讯和新闻栏目。
培训新闻发布很容易理解成发布新闻,但该模块不仅是发布新闻,也可以管理新闻。机构管理员可以在该功能模块上从“基本信息、详细信息、附件、发布设置、自定义信息”五个子项发布新闻也可以对新闻进行管理,例如删除、设置新闻状态(显示/隐藏)等。当作出安排与调整时(如考试时间、课程内容调整等),主要通过网站消息通知的形式告知学员。学员可以便捷地在自己的后台看到相关信息。主要操作包括对通知公告的新增、删除、显示、隐藏、编辑等。新闻栏目主要是对新闻进行分类,在前面的“新闻发布”中就已经提到,在编辑一则新闻时需要选择新闻的栏目分类,新闻栏目的主要功能就是添加/删除分类。
(四)在线培训评估
在线培训评估包括在线学习评估、线下培训评估、考试评估和培训总结四个部分。
线上学习评估,可以对学员在线学习的学习效果、课程学习质量、课件质量进行评估。线下培训评估,可以对已开展的线下培训课程、授课老师、授课质量进行调查,同时学员可以反馈学习意见及建议,改进培训效果。考试评估,可以对在线考试的考试效果、考试难度、知识点掌握情况进行评估。培训总结,在年末对学员个人的年度培训进行评估,对整体的培训效果进行总结性评价。
(五)公共交流
公共交流包括在线答疑、实时互动辅导、问卷调查三个功能模块。师生之间或者学员之间使用该平台交互功能进行一对一、一对多及多对多的交流互动。
在线答疑主要是学员可以按章节对疑难问题进行在线提问并留言,辅导教师对提问进行回复答疑。实时互动辅导主要是学员之间、学员与教师之间可在视频章节中进行实时互动和辅导交流,也可以通过在线直播进行远程交流互动。问卷调查可针对具体的某个调查主题设置调查问卷,用户可在线参与回答问卷;对于用户返回的回答,可经系统分析后进行更直观的解读,可形成报表,能更好地了解学习、培训、考试的需求,包括问卷管理、问卷查询、问卷统计。问卷管理支持问卷的创建修改、设置问题、设置调查项、设置权限范围内参与人员、问卷预览等,支持以分组形式组织问卷(一份问卷设置不同的调研目标及问题);问卷查询支持对问卷各参与人数的答题情况进行查询,支持对某一个问卷题目进行单独查询;问卷统计支持对问卷的各个问题的调查结果进行分析统计,支持对整个问卷进行评估。
四、网络学习培训平台业务流程
在总结分析传统集中培训、面对面交流的基础上,结合国内外比较成熟的网络培训平台优势,创新培训模式及方法,充分利用现代信息技术和协作理念进行设计。平台的设计遵循适用性、高效性、可扩展性和安全性,更好地服务广大中小学教师和新型职业农民培育,通过学习培训掌握基本的教育技术知识、信息化教学技能和农业致富技能。其中,培训对象是广大中小学教师和新型职业农民,以任务驱动为核心,在线学习和主讲教师辅导为主线。分为前期、中期和后期三个阶段,前期的主要任务是通过网上调查问卷,初步掌握学员对本期培训的需求和期望,了解学员通过培训最想自己在哪些方面得到提升和掌握哪些必要的技能。通过调查与反馈,主管培训的决策者就可以有针对性地制定培训计划、重点强调某些培训子模块及任务,学员在培训前期需要了解、掌握培训平台提供的功能,在前期集中培训过程中,了解培训过程中注意的事项、培训环节、培训流程、任务分工、考核要求等。正式进入培训后,在培训专家的指导下,按理论与实践相结合,通过在线学习,任务分割实验,完成各项任务。培训专家对培训学员的学习过程进行全程跟踪指导,学员通过完成子任务、相互之间的交流,融入新的思想和方法。在最后阶段,培训专家通过集中培训的方式,对各个学员的培训成绩及效果进行评估、讨论方法和经验总结。检验学员的培训是否达到预期目标,满足考核基本要求,再发放培训结业证书给学员。培训业务流程如下页图4所示。
五、网络学习培训平台实现(见图5)
平台基于.NET4.5开发环境,使用C#语言和Ajax技术对算法和页面交互数据进行编码,开发工具为Microsoft Visual Studio 2010。运行环境:服务器端是Windows 2008 R2版本操作系统,数据库是SQL Server 2008数据库管理系统,IIS7.5配置,数据层采用ORM,使用Mysoft.Data,业务层和表现层之间使用Spring.net的IOC组件,表现层采用了Vtemplate组件进行模型、控制和视图的分离。同时利用代码隐藏开发方法,页面的代码就是一组事件处理程序和帮助器方法,它将页面所需的代码封装到一个单独的C#或Microsoft Visual Basic.NET类中,用于实际创建该页面的行为。为了实现更友好的人机界面和更灵活的数据显示,服务器程序对数据计算后,将处理结果使用Ajax异步请求技术,实现浏览器与Web服务器之间异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,提高了數据传输效率。目前该平台已经稳定运行,开发了支付接口、第三方登录接口、短信验证接口和单点登录等主流技术的接口,支持微信扫码支付、微信公众号支付、微信Html5支付和支付宝支付等,学员也可通过QQ或者微信从第三方平台进行登录学习,也可以从其他应用平台利用单点登录进入到广西开放大学学习培训平台。该平台已经建设完成的课程数量有33个,注册的培训学员达到2329人,在线学员峰值可以达到2000人,平台运行稳定,应用效果良好。
六、结语
平台在.NET环境下,使用C#和Ajax技术,对培训平台的相关模块进行开发设计,同时引入了数据分析技术对学员的培训数据进行分析,为培训管理决策者制定更科学的培训计划提供参考。基于网络平台的培训,是以前期调查、集中辅导、教学实践和训练、虚拟实践等步骤为基础,以视音频点播和传输技术、远程交互、学习过程与学习结果相结合的评价手段、学习行为数据分析等为支撑,以信息反馈和过程评价为辅助手段,实现网络环境下的个性化学习,促进中小学教师培训和新型职业农民培育项目更好地开展。
[参考文献]
[1]仝茵.基于ASP.NET MVC模式的软件开发架构的研究与探讨[J].中国电子科学研究院学报,2016(6):599-602.
[2]谷洪彬.ASP与ASP.NET技术的比较研究[J].福建电脑,2008(8):46-47.
[3]陶勇强.基于ASP.NET和Ajax技术的BBS系统的设计与研究[D].南昌:南昌大学,2010.
[4]窦亮,金恩年,黄国兴.基于MVC设计模式的电子名片系统的设计与实现[J].计算机工程,2005(1):219-221.
[5]孙朝云,孙向科,沙爱民.基于MVC架构网络教学管理系统的设计与实现[J].计算机工程与设计,2009(23):5541-5543.
[6]李园,陈世平.MVC设计模式在ASP.NET平台中的应用[J].计算机工程与设计,2009(13):3180-3184.
[7]郭欣.异步计算的两把尖刀[J].程序员,2009(9):71-73.
[作者简介]向俊,广西开放大学教育技术中心工程师,硕士,研究方向:空间数据分析、教育信息技术;刘铸德,广西开放大学教育技术中心工程师,研究方向:计算机网络技术、移动学习资源建设。
[责任编辑 肖志明]