基于iOS 平台的智慧课堂管理系统的设计与实现
2016-07-23刘学枫范圣强
刘学枫++范圣强
摘要:随着移动互联网技术的蓬勃发展,高校教学信息化的建设也在不断地进步。但是对于课堂教学的管理来说,现有的教学模式仍然存在教学效率低下的问题。该文将阐述如何设计和实现一套能使课堂教学向数字化、无纸化、智能化和综合化方向发展的基于iOS平台的智慧课堂管理系统。该系统采用MVVM设计模式,利用WebServe协议和Core Data技术,实现在线考试、教学资源管理、考勤签到等功能,极大地提高了课堂教学效率。
关键词:iOS;在线考试;课堂教学;签到
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)17-0066-03
尽管当前已经存在许多方便课堂管理的软件,且这些软件都在一定程度上发挥着现代互联网技术的优势,但课堂教学在模式上仍然是分离的。譬如,在考试时,教师需要事先在电脑上编辑试卷然后打印,学生答题后的试卷需要大量的人力进行批改、登记分数从而得到学生的平均分数、成绩排名等统计数据;在分发教学资源时,往往需要教师或者班级管理人员事先打印多份教学资源进行分发或者通过QQ、微信等群组分发;而进行签到时,则需要教师事先准备花名册。诸如此类的教学活动,不但需要耗费教师大量的精力,造成纸张资源的浪费,与当前互联网时代所要求的电子化的趋势格格不入,而且在这种教学模式下,各种课堂活动相对分散,完成不同的活动需要不同的前期准备。种种这般工作都大大地降低了课堂教学的效率。
本文设计并实现了一个基于iOS平台的集中化处理课前、课中和课后各个阶段的所有教学活动的系统,旨在为教师提供一个一体化的课堂管理软件,同时增加教师与学生之间的教学互动,提高课堂教学效率。
1 智慧课堂系统设计
1.1 系统功能需求
本系统的用户主要分为教师和学生,因此系统的功能需求是从教师和学生两个角色中分析。对于教师而言,系统要求具备试卷编辑和管理、分数统计和分析、幻灯片演示、课程资源管理以及学生签到等功能。而于学生而言,系统则具备测试、课程资源下载功能。
1.2 系统功能设计
由系统功能需求的结果出发,基于iOS平台的智慧课堂按功能设计划分为三大功能模块:考试模块、教学资源管理模块和签到模块。其中教学资源管理模块中的幻灯片演示,将通过苹果公司的AirPlay技术实现多屏互动,从而使教师的移动范围从讲台扩大到整个课室中,增强与学生之间的互动。系统总体功能结构如图1所示。
同时,为了在更大程度上为教师和学生提供便利性,在本系统的设计中将不需要进行用户管理,由教师所持有的iOS平台下的移动设备作为唯一标识并在该移动设备上搭建服务器和数据库,实现三大功能模块。同时,考虑到学生所持有的设备各不相同,要求学生统一使用iOS平台的设备是不现实的,为此需要对学生的功能需求进行跨平台设计,采用Web技术实现学生的功能需求。即是说,学生通过Web输入教师从本系统发布的试卷或教学资源而生成的独一的网络地址,来进行在线答题或资源下载等操作。
2 智慧课堂系统具体实现及关键技术
智慧课堂系统是基于Swift语言开发的,通过ReactiveCocoa实现了MVVM设计模式,采用Core Data技术搭建本地数据库,同时根据GCDWebServer网络协议将移动设备作为一个小型移动服务器。而学生的功能需求设计框架则采用HTML+CSS+JavaScript的方法呈现。
2.1 MVVM设计模式
MVVM设计模式,又称Model-View-ViewModel模式,是微软WPF和Silverlight架构师John Gossman于2005年提出的[1]。该设计模式与经典的MVC模式一样,将数据层,业务逻辑层以及表现层区分开来,但MVVM相比MVC来说,由于MVVM重新对数据进行了再封装,仅提供简单有效的和数据交互的接口,降低了直接的耦合,从而提高了软件的可测试性[2]。同时,在iOS平台上,MVVM设计模式结合ReactiveCocoa库将会使得系统的开发事半功倍[3]。
2.2 数据库实现
本系统的数据库是基于Core Data框架搭建的。Core Data是一个模型层的技术,能建立代表程序状态的模型层,而且它不仅是一个加载、保存数据的框架,还能和内存中的数据很好的共事[4]。Core Data对象图如图2所示,系统的E-R图如图3所示。
连接数据库核心代码如下:
2.3 服务器实现
学生的需求功能由于跨平台的考虑以及所有的课堂行为都需要教师实时的发布,所以部署在网页端,而没有独立开发APP。直接把教师所使用的设备作为服务器发布服务,而不需要另外租借服务器。GCDWebServer是一个iOS上比较流行的、轻量级、基于GCD的服务器框架,该框架拥有设计良好的API,不依赖任何第三方库,同时基于GCD事件驱动,满足高性能和高并发要求。
2.4 PPT逐页播放
在iOS上一直没有逐页播放PPT的API,只能通过UIWebView或者QuickLook框架将PPT展示成一张长图片,长图片的方式只能用来预览,不方便教师进行课堂展示、进行笔迹标注等。研究UIWebView源码后发现可以内嵌JavaScript代码的方式进行逐页截取,关键代码如下:
3 结束语
本系统的三大模块能够基本满足课堂教学的各个阶段,课前可以制作试卷、上传或下载课堂教学资源;课中可以通过多屏互动演示幻灯片;课后还可以进行签到考勤和成绩统计分析。本系统下一步将对各个功能模块进行优化和扩充需求,增加课堂实时反馈系统、简化试卷的编辑等。
参考文献:
[1] John Gossman Introduction to Model/View/ViewModel pattern for building WPF apps.[EB/OL] https://blogs.msdn.microsoft.com/johngossman/2005/10/08/introduction-to-modelviewviewmodel-pattern-for-building-wpf-apps/ 2005.10
[2] 刘立. MVVM模式分析与应用[J]. 微型电脑应用,2012(12):57-60.
[3] Ash Furrow Model-View-ViewModel for iOS[EB/OL] http://www.teehanlax.com/blog/model-view-viewmodel-for-ios/ .
[4] Daniel Eggert Core Data Overview[EB/OL] https://www.objc.io/issues/4-core-data/core-data-overview/ .