基于云平台的智能英语训练系统的设计

2017-03-17 23:40曹阳顾问
电子技术与软件工程 2016年16期

曹阳++顾问

摘 要

智能英语训练系统采用“导、学、练、测”的学习模式,为英语学习者提供更具层次化、针对性的服务。由于系统结构复杂、数据规模大,采用传统的Web开发与部署方式存在着开发与部署成本高、运行维护工作量大等问题。针对此问题,采用PHP Yii框架进行开发,详细阐述了系统功能与结构设计,在新浪云中完成了系统的部署工作。实践表明,采用云平台作为互联网应用的解决方案具有成本低、性能好、运行稳定等优势。

【关键词】智能英语训练 云平台开发框架 新浪云

1 引言

随着互联网的迅速发展,各种英语学习平台层出不穷,其中比较著名的沪江英语、新概念英语、新东方英语等都开发了自己的学习网站。这些平台内容丰富,给学习英语的人群带来很大的帮助,但同时也存在着资源分散、难度较高,缺乏人机交互及学习反馈等问题。对于英语水平不高,需要提供学习引导的人群而言,针对性不强。为此,研究者在构建具有更强针对性的英语学习系统方面做了各种探索。这些研究在资源分类、难度控制、交流互动等方面取得了一些成果,但是由于受限于开发技术和设计思想,还存在着以下不足:一是缺乏将各类资源进行整合加工,从而在系统中构建一个英语学习体系和学习模式;二是传统的Web开发方式难以支撑系统数据量的急剧增长,运维成本高,不利于在互联网上进行推广。随着云计算技术的提出和迅速发展,各种成熟的云解决方案应运而生。调查显示,采用云平台进行开发,可以有效降低开发成本、提高开发效率。

本文研究的智能英语训练系统旨在运用先进的“导、学、练、测”的学习理念和模式,建立具有丰富资源的现代化的学习环境,系统的为英语学习者提供全方位、多层次、有针对性的服务,满足学习者的英语水平评估、有针对性的学习与训练、智能化的点对点式实时反馈等需求。通过在云平台上进行系统的开发与部署,实现了系统的稳定运行。

2 系统功能与结构设计

2.1 基于“导、学、练、测”理念的系统功能设计

英语的学习需要循序渐进、有的放矢,盲目的进行大量的识记和练习,虽然也能取得一定的学习效果,但缺乏系统性、整体性,对于基础薄弱的学习者而言往往事倍功半。智能英语训练系统基于“导、学、练、测”四个步骤形成的学习闭环模式进行功能设计,如图1所示。

“导、学、练、测”四个步骤的具体含义與对应功能设计体现如下:

(1)导:通过建立一个包含词、句、段、篇、语法等技巧讲解内容的知识库来实现,为学习者提供分类单词库、句型库、语法点、知识点讲解等内容的指导;

(2)学:搜集各种文章素材,建立包含听、读、写、译的分类资源素材库;学习者可以在学习技巧讲解后选择相关资源进行学习,进行日常的知识积累;

(3)练:建立听、读、写、译专项训练题库,并标注题目与知识库、素材库的关联关系;学习者可以根据自己的需求进行单项技能的题目训练;

(4)测:根据学习者选择的考试类型进行自动组卷,学习者以模拟考试的形式进行综合练习,并在完成答题后得到相关的反馈信息,使学习者能够查缺补漏,有针对性的启动下一阶段的学习。

根据“导、学、练、测”的设计理念,设计系统的概要功能模块如图2所示。各模块具体功能如下:

(1)资源库管理:1.建立包含单词、句型、语法、测试点等英语学习基础知识技巧的知识库,并进行维护;2.建立包含听、读、写、译的分类素材库,库内素材以篇章形式存在,并创建每个资源与相关知识点的关联;3.建立各种题型的试题库,标注题目的难度、分值、层次等属性,创建每道题目与相关知识点的关联。

(2)学习训练:1.对知识库中的技巧讲解进行学习;2.对素材库中的文章进行学习;3.选择单项技能进行做题训练;4.进行综合性的模拟试卷训练;5.根据学习或做题的结果给出英语水平的评测结果;6.管理、分析学习者的错题本。

(3)用户管理:1.对用户基本信息的维护;2.对用户的访问权限进行管理;3.按照用户的等级、学历、性别等属性进行统计分析。

2.2 基于Yii框架的系统结构设计

智能英语训练系统是一个典型的Web应用,针对当前主流的Web开发技术平台,从开源、社区、云平台支持等角度进行分析比较,选定PHP Yii框架作为本系统的开发平台。Yii是一个基于组件的高性能PHP框架,包含Web 2.0的全部特性,用于开发大型Web应用。Yii框架采用严格的面向对象编程,集成经典的“模型-视图-控制器”(Module-View-Controller,MVC)开发模型,在数据访问层建立一个基于PHP PDO之上的数据访问对象 (Data Access Object,DAO),对不同数据库访问进行封装,并采用活动记录集(Active Record)实现MVC中的模型层与数据库的交互,减少了编写SQL语句的成本。

基于Yii框架,将智能英语训练系统设计为五层结构,如图3所示。各层的详细设计与功能作用如下:

数据层:采用MySQL数据库及文本文件两种形式实现数据的存储。数据库中存储知识库、素材库、试题库以及用户信息等系统基础数据;单词讲解、技巧讲解等内容以静态文本文件的形式存储,其文件路径存储在数据库中。

数据访问层:Yii框架中使用DAO对数据库进行访问操作,采用定义活动记录类的形式实现。Yii框架中定义了一个超类ActiveRecord,在类的内部封装了访问数据库的各种操作。只需要创建一个继承ActiveRecord的子类,并重写各种方法即可实现与数据库的交互。

实体层:对应MVC结构中的模型,创建表示业务数据、规则和逻辑的对象。Yii框架中定义了一个模型类的超类yii\base\Model,通过继承Model类来实现模型类的定义。

业务逻辑层:对应MVC结构中的控制器,负责处理表示层传递的请求和生成响应。Yii框架中定义了一个控制器类的超类yii\base\Controller,通过继承Controller类来实现控制器类的定义。

表示层:对应MVC结构中的视图,负责展现系统与用户之间的交互。视图文件为包含HTML和PHP代码的PHP脚本,Yii框架中定义了一个应用组件yii\web\View|view,该组件主要提供通用方法帮助视图构造和渲染,实现对视图文件的管理。

3 基于云平台的系统部署

3.1 云计算服务模式选型

在云计算环境下,软件、硬件、基础架构等都可以以服务的形式提供给用户,根据业务交付模式,分为IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)三种类型。IaaS采用提供IT基础设施给用户的服务模式,服务商只提供基础设施的运行和维护;PaaS是将软件开发环境、部署平台等作为服务提供给用户,用户在云环境下进行软件的开发与部署;SaaS是由服务供应商部署软件,通过互联网向用户提供即时的软件使用服务。三种云服务模式的资源配置要求如图4所示。

PaaS服务模式能够为开发者提供应用开发和运行的软硬件环境,以及应用程序的运行维护能力;开发者无需关注底层硬件的处理能力和规模,避免复杂的应用部署过程,同时能够通过平台获取应用的运行状态,统计用户使用信息。因此,综合考虑资源、成本、人力等因素,采用PaaS平台进行智能英语训练系统的开发与部署。

3.2 系统部署

新浪云(Sina App Engine,SAE)是国内目前较好的PaaS云平台,完全兼容基于LAMP(Linux,Apache,MySQL,PHP)平台的应用,PHP应用程序几乎不用修改或做少量修改就可以在SAE上流畅运行。SAE还针对使用Yii框架开发的应用程序提供了专有的应用类型“yii-sae”,使基于yii-sae开发如同使用Yii框架进行本地开发一样。在完成智能英语训练系统开发后,将系统迁移到SAE进行部署,具体步骤如下:

(1)登錄SAE,创建一个yii-sae应用;填写应用名称、二级域名等信息。如果拥有独立域名,可以把独立域名通过CNAME方式解析到其对应的CNAME地址,建与二级域名的绑定关系,用户就可以使用独立域名访问系统。

(2)从SAE上下载“Yii for SAE”压缩包,将压缩包中的framework目录覆盖本地Yii的framework目录;上传代码到SAE,并设置代码版本号。

(3)在config文件夹下的db.php文件中配置数据库访问参数,初始化MySQL数据库,并导入自己本地的数据库文件。

(4)在SAE中开启Memcached。Memcached是一个高性能的分布式内存对象缓存系统,其使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web应用的速度及扩展性。

(5)在SAE中的存储服务Storage下添加一个名为upload的文件夹,将智能英语训练系统中技巧讲解等静态网页文件及图片文件上传到upload文件夹中。Storage是分布式文件存储服务,用来存放持久化存储的文件。

部署完毕后,用户可以通过独立域名访问基于云平台下的智能英语训练系统。

4 结论

智能英语训练系统是一个较大规模的Web应用,能够依据系统化的学习模型为英语学习者提供更具针对性的指导与服务。采用传统的Web开发与部署方式,存在着开发效率低、搭建难度大、部署及运维成本高等问题。依托新浪云平台对Yii框架的完全兼容,实现系统的开发与部署,相对于传统的Web服务平台具有成本低廉、可扩展性更强、性能更高的优势。

参考文献

[1]刘付芬.网络环境下大学英语学习平台的构建与应用[J].实验技术与管理,2011, 28(06):146-148.

[2]王宁.大学英语网络自主学习平台的开发与研究[J].长沙大学学报,2012,26(01): 146-147.

[3]吴春华.基于Web的英语自助学习系统的设计与实现[D].成都:电子科技大学,2013.

[4]汪颢懿.云开发平台下校友数据管理系统的设计与实现[J].电子技术与软件工程,2015(09):189-190.

[5]方巍,文学志,潘吴斌,薛胜军.云计算概念技术及应用研究综述[J].南京信息工程大学学报自然科学版,2012,4(04): 351-361.

[6]张浩斌.基于开放式云平台的开源在线评测系统设计与实现[J].计算机科学,2012,39(11):339-343.

作者简介

曹阳(1982-),男,江苏省徐州市人。硕士学位。现为三江学院讲师。主要研究方向为数据挖掘、大数据处理技术。

顾问(1984-),男,江苏省无锡市人。硕士学位。现为三江学院实验师。主要研究方向为Web系统开发。

作者单位

三江学院 江苏省南京市 210012