王婷
(宝鸡文理学院 外国语学院,宝鸡 721013)
随着中国国际文化程度的提高,英语的普遍性和重要性日益凸显。高速发展的技术加上语言学习的特点,导致移动语言学习越来越受欢迎,这已经成为了当今人们学习的一种重要方式,移动设备具有泛在性、便携性、自主性、及时性的优点。本文重点研究英语学习系统,具有应用价值。
Android操作系统是一个允许多个应用程序同时在后台运行的开放系统,其主要特性是并行运行、网络无障碍、平等性、应用程序无界限以及开放性。Android系统用层与层之间互相分离的方式构建的。Android 的体系结构可以分为四层,依次Linux核心层、系统运行库层、应用程序框架层、应用层。Android 的架构体系。如图1所示。
Android系统开发通过给Java应用程序提供系统调用的接口而开发,从而为系统增加某种功能。开发时首先增加C或C++本地库,再定义Java层所需要的系统 API并把必要的代码封装成JNI,最后把JNI和Java类结合起来提供应用程序所需的Java类[2]。Android开发体系结构,如图2所示。
Android系统各个活动都有生命周期,会在适当的时间调用相应的方法,1)启动活动时会调用onCreate(Bundle)执行一次性的初始化工作;2)调用onStart()说明将要显示给用户的活动;3)调用onResume()让用户可以开始与活动进行交互,例如用来播放动画和音乐。4)进入后台时调用onPause()并在该方法中保存程序的持久性状态;5)调用onStop()可以让用户无需看到某个活动,或一段时间内不需要某个活动;6)调用onRestart()将已处于停止状态的活动重新显示给用户;7)销毁活动前调用onDestroy();8)调用onSaveInstanceState(Bundle)让活动可以保存每个实例的状态;9)使用 onSaveInstanceState(Bundle)方法默认还原用户界面的状态。
图1 Android 的架构体系
图2 Android开发体系结构
Android系统在通信技术和数据库技术方面都有很广泛的应用。在网络通信技术方面,Android一共有3种网络接口:apache接口、标准的Java 接口、Android网络接口。在数据库技术方面,Android系统具有很丰富的存储技术分为 Shared Preferences、Files、SQLite 以及Network。其中Shared Preferences主要应用于密码和用户名的保存,只能是Android系统提供的基本数据类型的结果;在Android系统中Files存储方式是使用 FileInputStream类对文件写入操作;SQLite主要用于存储少量的数据;Network是与任何一款智能手机平台都必须提供的数据存储功能。
用户需求包括功能性需求,非功能性需求以及约束需求。功能性要以用户的合理需求为根据设计系统,以完成特定的功能。非功能性需求可能是由系统分析员在对系统的性能考察时所提出的,包括系统的可靠性、安全性、可扩展性、响应时间。除此之外还包括一些必须要考虑的约束,即约束需求,包括客户的约束、法律的约束等、行业的约束等。
总体的设计方案大致给出系统总体的结构,总体的技术架构,前、后台的流程等。根据用户的需求,系统的总体的结构主要分为前台与后台两部分,前台包括用户登录注册、在线考试、背单词翻译等模块,后台主要起管理作用,如英语资料管理、用户管理及系统管理等管理操作。系统总体的技术架构是基于MVC分层设计模式,将有联系的各层单独设计,包括模型层(Model)、视图层(View)、控制层(Controller)。将Android 提供的UI界面用于视图层的设计,Servlet技术用于控制层,采用JDBC驱动方式访问数据库。系统总体的技术架构[3],如图3所示。
图3 系统总体的技术架构图
用户管理包括许多功能,主要分为用户管理和管理员的管理,用户管理包括注册、登录、信息修改等,管理员的管理包括登录、查询、修改用户等。由前台系统流程图和用户的用例图,得出管理员进入系统后的管理顺序图[4]。用户的管理顺序图,如图4所示。
根据用户登录需求,系统登录界面需要设计两个输入框:用户名和密码,还需要设计3个按钮为登录、注册、寻密。用户名和用户名输入框、密码和密码输入框需要采用垂直线性布局,而登录、注册和寻密需要采用横向线性布局。
该模块在整体系统中占据了一个很重要的位置,主要包括英语的等级考试、托福、雅思、职称英语等。该模块所包含的子模块比较多,数据表也比较多。在设计子模块时,需要以对应的考试类型为依据,对数据库进行相应设计。普通题型的设计效果图,如图5所示。
该模块有两个基本的功能,查询单词和保存新单词的功能。在线查词模块还需要进行数据库设计,以保证查词记录以及新单词的保存等。当用户搜索框中输入要查找的新单词后,点击“确定”,远程服务器把以字符串形式发送的新单词进行解析,若新单词可以在数据库中查找到,则在客户端显示该单词,若无法在数据库中查找到该单词,则显示无法查询。该模块的查询界面由五部分组成:输入单词,确定提交,保存数据,返回上一级以及显示所查找的结果。查询界面效果图,如图7所示。
图4 用户的管理顺序图
图5 普通题型的设计效果图
图7 查询界面效果图
该模块包括视频模块,考试模块以及其他模块。由于要存储视频信息,所以该模块要涉及到数据库的设计,将视频信息存储到服务器中。当用户合法的进入到该模块,依据,如英文MV、英文电影等等用户本身的需求选择相应的学习方式,在对应的学习方式下,能够得到该模块所提供的关于该学习方式的所有信息,点击用户所需要的相关视频,就会向远程服务器发起数据请求,当远程服务器接收到该请求时,就会根据请求播放相应的视频[4]。若无法正确接收请求,或者视频出错,则会显示请求错误。在线视频模块的主界面,如图8所示。
图8 在线视频模块的主界面
系统测试是确保系统能够正常运行的主要方式。下面通过实际应用对该系统进行测试分析。运用该系统进行英语在线考试。
第一步:学生打开“英语在线开始作答系统”,进入首页之后对考试新闻进行浏览,然后进入到“用户登录界面”。
第二步:学生在“登录界面”输入自己的姓名、考号以及密码,进入到“考试模块首页”。
第三步:学生在“选择考试页面”选择要考试的年级,进入到“考试页面”。
第四步:学生在“考试界面”进行考试。答题完毕之后按“我要交卷”。
第五步:学生通过成绩查询模块对考试成绩进行查询。
该系统的测试一致得到学生以及老师的认可,从系统测试的运行效果来看,基本能够满足满足试题库组建、试题随机生成、考试答案在线提交等设计要求,能够实现英语考试的信息化与自动化,减少了英语考试的工作量,有效的提高考试效率[5]。
本文主要设计简洁高效、界面友好、功能稳定的英语考试作答系统。该系统的设计创新点在于:
(1)实现了英语考试考场安排的智能化与自动化。
(2)实现了对英语教学的实时监控,掌握学生的学习情况。
(3)完善了英语考试的安全保障机制,试卷可以按照难度系数随机生成,杜绝一机多考的复杂现象。
(4)对考生信息及成绩实施加密,避免人为的修改或破坏。
针对当前系统设计,虽然可以满足英语考试多方面的需求,但仍存在一些不足,例如:代码不够简化、系统还不能跨平台使用,数据库的设计有待于提高等。在后续的研究中,需要对系统进行不断更新,使其逐渐完善。
在这个信息爆炸的时代,若中国的远程教育想要实现长久的飞跃式的进步,那么我们必须要依靠移动通信技术和智能移动设备,以使人们无论何时何地都能在线学习,实现与国际化远程教育的接轨。本论文选用传统意义上的C/S架构,通过Android的客户端所拥有的的UI,可以在短时间内显示出操作界面,Tomcat用于服务端,服务器端由servlet的逻辑控制,对用户管理、在线考试、在线查词、在线视频4个模块进行详细设计,使各模块有比较清晰的处理逻辑。基于理论和实践证明,本文所设计的基于Android的英语学习系统给用户带来了便携性,对英语学习有促进作用。