APP下载

基于安卓的日语听力作业系统设计概要

2016-01-06韩兰灵刘玉琴高朋

中国教育信息化·高教职教 2015年9期
关键词:日语教学移动学习安卓

韩兰灵+刘玉琴+高朋

摘 要:移动设备能便捷承载、收发音频文件等媒体数据,可随时随地满足日语学习中大量语境输入和语言训练的需求。基于安卓系统的日语听力作业系统,利用移动设备的优点而设计开发。主要是为日语学习者提供便捷的日语听力训练平台,同时也帮助教师统计和观察日语学习者的听解能力,从而对学习者进行更有针对性的教学指导,对传统的听力课堂教学是有益的补充,本文主要介绍该系统实现的概要以及结果的总结。

关键词:日语教学;日语听力;移动学习;安卓(Android)

中图分类号:TP315 文献标志码:A 文章编号:1673-8454(2015)17-0083-03

引言

2012年北大的贾积有教授就提出了便携式电子学伴[1]的概念,时至今日,移动平台已经非常成熟,出现了很多应用于教学的移动应用,例如辅助日语发音学习软件[2]以及安卓平台英语学习资源[3]的制作。与电脑相比,智能手机成为学生几乎人人必备的便携式工具,移动端的听力练习系统可以辅助完成如上课题。结合软件学院的特色,有必要开发一个基于安卓的日语听力作业系统。学习者通过触手可及的移动设备辅助学习,加强日常训练,同时采集到的数据也能够在教师一方反馈,帮助教师获取学习者的学习动态,对传统的教学方式形成有益的补充,可以提高教学效率与效果。

一、可行性分析

为了给日语学习者提供更加方便的日语听力训练的平台,手机APP是选择之一。作为一个搭建在智能平台上的应用,可为教师和学习者节省很多时间,比如拷贝音频、布置作业、批改作业等,这些都可以在云端完成;日语学习者只需要按照服务器分发的作业完成对应的训练;服务器能够自动批改,统计对错,产生各类统计数据,让教师将更多的关注放在如何为学生提供更有针对性的指导上,而不必花费大量的时间人工批改作业,对于师生来说是双赢的工具。这款应用首先在Android系统上实现,待功能成熟以后可以开始兼容IOS和Windows Phone。从技术可行性上来说,软件学院拥有得天独厚的优势,日语学习者均拥有编程背景,通过一定程度学习,可以掌握并胜任下文提到的三个方向中的任意一个,并且从亲历学习的角度提出设计需求。整个项目需要一个服务器和相应的开发环境,可以得到学校的保障,并且有大学生创新项目的支持。虽然整个项目的工程量较大,但不断打磨可以完成。

二、需求分析

对于该项目的需求,总体分为三大部分——针对教师、日语学习者、服务端。教师主要包括阅卷、审查等功能;日语学习者包含了听写、上传作业等功能;服务端需要对这些应用的功能提供对应的支持。

教师方面的功能在Web端实现,包括修改题库、添加题目、设置考试模式、查看日语学习者成绩、分数变化趋势等等,在Web上实现一个类似于后台管理的页面。

日语学习者方面的功能在手机上实现,可以拉取最新的作业,进行听力训练并提交答案,保留答题的历史。

服务端作为整个应用的支撑需要完成对日语学习者数据的采集、日语学习者和教师资源的管理,还有对应的统计信息的功能,方便教师查阅。整体功能概括如表1所示。

三、概要设计

1.数据库设计

后端服务运行在一台服务器上作为整个系统的支撑,需要管理整个系统的用户、学校、教师信息以及对应的作业管理的信息和成绩,这些数据以典型的关系型数据库MySQL来存储,图1展示了数据库的关系设计图。

题库和每个日语学习者的作业都是一一映射的,添加和修改题库通过一个全局对象来存储,每个日语学习者有自己单独的作业副本,这些副本的属性相对于全局的作业来说,多了日语学习者对作业的完成情况和对应作业的成绩。作业可以重复发布,有利于教师重复利用题库,所以将作业分为两类——存储在题库中的题目和布置给日语学习者的每日作业,统计成绩时依据该日语学习者的每日作业来计算对应的数据。如果要达到更强的针对性可以添加班级、学校对象来进行更加细致的作业划分,这样作业可以按照班级和日期来投放,有利于分类和管理。

2.交互设计

除此之外,整个系统的时序交互重点在日语学习者的学习交互、教师的管理和统计事件上,图2展示不同业务对应事件的时序关系。

日语学习者交互主要是更新手机端布置的听力材料并及时完成对应的训练,把答案提交以后,远程服务器会同步更新内容并统计相应的数据,而教师则可以管理对应的题库,查看学生成绩和分发每日作业,主要的流程按照这样的时序进行。

3.技术架构

(1)Web端

后端采取ThinkPHP这款PHP Web框架,该框架是中国技术人员开发的,有丰富的文档和案例,便于新手上手,其次该款框架设计优良,适合本应用,该框架整体遵循MVC(见图3)原则即模型(Model)、视图(View)、控制器(Controller),模型这一层主要和上面提到的数据库打交道,负责对原始的数据库操作进行封装,利用ORM(Object Relational Mapping,面向对象映射技术),将这些纯粹的SQL数据库查询语句封装成相应数据对象的方法,比如日语学习者的添加,可以作为日语学习者类的一个方法,这样就能在数据操作上和其他的部分相互解耦,提高程序的可扩展性。视图部分采取ThinkPHP自带的模板引擎,能够提高网页内容的重用率,同时可以节省重复开发的时间,另外能够做到动态显示相应的数据,模板引擎依赖于数据层的数据,通过逻辑操作以显示相应的界面内容。

这是从Web的角度出发,因为整个管理系统搭建在Web上。但是整个服务的主体还是手机应用,所以作为服务端,必要的应用层的接口是要存在的,而框架也有对应的数据封装,能够很好地承载数据的请求,控制承担Web界面和手机应用后台请求的路由以及相应请求处理的主体,通过程序的主要流程都在控制器内完成,包括作业文件存储、成绩统计等类似的输入输出操作和CPU计算操作。

(2)移动端

手机应用使用传统原生的Android开发工具链,使用Java语言进行开发,当中也采取了一定的开源UI框架,涉及ListView、Button控件和网络传输库等。使用优秀的开源框架大大缩短开发时间,可以将精力集中在业务逻辑主体上,而不用过多担心细枝末节,但是相应的代价是要熟悉一套新的API,这个学习曲线相对于不用库的曲线会更大,而且产生的问题在自己不熟悉的领域很难第一时间捕捉并解决掉。进行一定的权衡,使用开源框架优于重复纯手工完成所有工作。

一些优秀的开源Android库可以参考Github上面的一个索引,里面包括了大量的UI库和网络工具库以及图形库,可以挑选适合自己的库来进行开发。[4]本应用主要采用的是里面的ListView类库和http工具库。ListView类库主要为了实现手机应用的主要界面的列表内容,网络库则是用于与服务器沟通。与服务器的通信方式采用HTTP,并且数据格式按照JSON的格式传输,前后端统一格式和方法以后,就可以采取统一的约定进行开发。

要注意的是,该应用的几个关键点技术或者逻辑有音频的播放以及相应的作业数据同步。音频播放需要考虑具体的网络环境,比如连接的是内网的话,网络状态比较好可以采取在线播放,这样可以节省APP的存储代价,但是又要提供下载的接口方便本地重复播放,这样设计网络接口的时候就要提供两种模式,这在手机端需要资源播放设置不同模式,音频的在线播放在服务端是基于HTTP协议的Range头信息,只要服务器能够支持断点续传,那么手机就可以实现在线播放。

四、集成测试

引用百度百科来说:集成测试[5],也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常工作。一些局部反映不出来的问题,在全局上很可能暴露出来。

早期所有的代码需要经过单元测试,也就是写相应的测试用例来保证一个函数或者一个模块的可用性,集成测试则是将所有模块组合在一起进行测试,这个过程是交付验收之前必须经历的过程。在校园环境下,很大程度依赖于实际试用期反应的问题,同时结合一些自动化测试的方法来进行一些主要功能可用性的测试,经过一段时间的试用期和自动化测试后,该产品相对来说可以得到很大保障,能够维持稳定运行。

在集成测试之前,在代码上加入了单元测试,保证每个模块在解耦的同时能够保持可用性,为下个阶段的集成测试做准备。单元测试主要集中测试了,Web网页的网络请求是否可达、管理平台上对于作业的增删改查是否有效、邮件注册是否成功、听力文件是否能够和数据库同步而不产生错误等一系列功能,具体体现在必要的自动化测试的代码上,用测试代码测试实现代码。

在初步完成项目的代码实现之后,需要进行集成测试。集成测试首先一部分是在项目上线的工程中,人工模拟各个流程,不仅仅是成功的流程,应该尝试可能发生的不同情况,包括极限测试、压力测试等等,例如上传的文件是否进行了格式检查、是否禁止了非选项内答案的上传、是否限制了文件的大小、是否在断网的情况下产生提示、使用流量的时候是否可行等等,这些都是生产条件下可能没有考虑的问题,都要在实际的测试当中发现。在完成了集成测试以后,需要对代码进行必要的修改,以防止错误的情况在真实的生产环境中使用。

五、结语

该应用的开发能够辅助传统的课堂听力教学,为学生高效利用零散的时间进行听力练习提供便捷的平台,有效促进日语学习。但是整个实现过程做了一些尝试,也走了很多弯路,比如Android原生应用的优点在于使用原生接口,运行效果可以得到保障,但是跨平台却难以实现,最初设计应该综合考虑应用的移植,例如将该应用迁移到微信平台[6]上,或者使用跨平台的技术[7],例如PhoneGap(现Cordova),或者让Web应用依赖内嵌浏览器的方法来达到兼容IOS和WP的目的,最初的原型设计就应该综合考虑这些因素。在时间和人力有限的条件下,很难像互联网公司一样针对多个平台均开发原生的应用,如果较早采取有效的跨平台方法,可以免去很多后顾之忧。

参考文献:

[1]贾积有.高性价比的便携式智能电子学伴及其在传统教室的应用探讨[J].中国电化教育, 2012(3):120-126.

[2]刘玉琴,江波,姜国海.移动终端辅助日语发音学习软件的设计与实现[J].中小学电教, 2014(10):68-70.

[3]张宝,陈颖.利用App Inventor制作中小学安卓平台学习资源实例分析[J].中小学信息技术教育,2014(6).

[4]优秀Android开源项目集合 [DB/OL].https://github.com/Trinea/android-open-project.

[5]百度百科[EB/OL].http://baike.baidu.com/view/106652.htm.

[6]张志祯.移动学习的跨平台开发技术[J].中国教育网络,2013(6):29-32.

[7]姚壵.基于微信平台的任务型对外汉语听说课教学初探[R].数字化汉语教学(第九届中文教学现代化国际研讨会),2014.7:313-318.

(编辑:王天鹏)

猜你喜欢

日语教学移动学习安卓
文物表情包
日语借词对汉语及日语教学的影响分析
浅析体验式教学模式在高校日语教学中的应用
浅论日语教学中建立以就业为导向的教学体系
一种基于安卓系统的手机侧抓包分析方法
安卓L未至安卓M来了!安卓首泄漏M系统