微信的建筑类在线学习平台的设计与实现

摘 要随着网络技术的飞速发展,基于Web的在线培训与在线考试已成为大势所趋,近几年移动端的飞速发展更是给在线考试提供了很多便捷。本课题基于微信,通过使用PHP+Apache+MySQL的B/S模式,设计和实现了可以让用户随时在线进行学习、练习、模拟考试的一个平台,给即将参加建筑考试的学员带来了实质上的学习效率的提高,以及考试通过率的提高。本课题使用Yii2的框架,使系统的安全性、高效性得到了保障;基于微信,应用网页授权,使系统的应用性更广泛,使用更方便;应用阿里云服务器ECS、七牛云存储等外部云端部署,使系统稳定性得到保障,且大大节省了运营成本;考试实现上使用AJAX技术,使得模拟考试过程中能够事实存储,实现了模拟考试过程中如果出现突发事件的应对方案。
目 录
第一章 绪论 1
1.1 课题背景 1
1.2 目的和意义 1
1.3 设计思路 1
第二章 开发环境、语言和相关技术介绍 2
2.1 PHP开发环境介绍 2
2.2 微信及微信SDK介绍 3
2.3 Yii Framework介绍 5
第三章 需求分析 7
3.1 在线学习平台的发展趋势 7
3.2 系统整体需求分析 7
3.3 系统前台需求分析 7
3.4 系统后台需求分析 7
第四章 平台设计 9
4.1 系统逻辑结构 9
4.2 流程结构 10
4.3 功能模块分布 11
4.4 数据库设计 12
第五章 平台实现 16
5.1 平台实现简介 16
5.2 微信网页授权的实现 16
5.2.1 实现步骤 16
5.2.2 全流程具体实现代码 18
5.3 模拟考试的实现 20
5.3.1 实现步骤 20
5.3.2 全流程具体实现代码 21
5.3.3 最终效果 26
结束语 27
致 谢 28
绪论
课题背景
根据《2014搜狐教育行业白皮
 *好棒文|www.hbsrm.com +Q: *351916072* 
书》的调查显示,通过网络进行职业技能培训、专业认证考试培训和学历教育的需求十分旺盛,初步预计2016年市场规模逾140亿。互联网技术的成熟,智能手机、平板电脑等移动终端的普及,为在线教育碎片化学习提供了便利条件。职业教育在线服务有诸多优点,比如可以做到教学形式个性化、教学管理智能化、资源利用最大化、资源利用最大化、学习形式交互化。
据2015年腾讯公布的微信白皮书,2015年9月微信的日平均登录用户已经达到了5.7亿,因此微信已经成为当今社会大众人手必备的一个工具。
目的和意义
设计和实现一个能够提供给即将参加建筑类考试的用户的学习平台,该平台可以进行在线练习、在线学习、在线模拟考试。它是建立微信上的应用服务,用户不需要下载安装任意软件,只需要有微信即可随时在线学习,使学习不受地域和时间的限制。并且该学习模式整合多种学习方式,使得学习效率得到极大提高。另外,系统管理员可以设定模拟考试使用的模板,然后用户每次模拟考试都能随机组卷,然后答完题后能立刻展现出最终成绩,让用户的模拟考试更贴近最终考试。只要形成一套成熟的题库就可以实现在线学习和考试的自动化。这样一来,用户学习时不但节省了时间和花费,而且极大的提高了学习效率,同时还降低系统管理员维护和设计的运营成本。
设计思路
围绕在线学习、在线考试、网络学习的主线,从在线学习和在线考试系统的工程实现的角度进行详细描述。从需求的提炼和可行性分析开始对平台进行分析,结合整个平台的规划和分析,实现展开。
第一:基于微信,实现用户无感知的登录授权;
第二:实现在线练习、在线学习,多种模式多种分析;
第三:实现在线模拟考试,能够处理暂停稍后继续、异常退出等情况,让用户的模拟考试更贴近最终的考试效果;
第四:实现试题的动态管理和模拟考试的动态设定。
开发环境、语言和相关技术介绍
PHP开发环境介绍
PHP(PHP: Hypertext Preprocessor) 是一种开源的脚本语言。PHP语法整合了C、Perl和Java的特点,应用广泛,学习简单,主要适用于网站开发。PHP 独特的语法结合了C、Perl、Java以及PHP自创的语法,可以达到比Perl或CGI程序更快地执行动态网页的效果。用PHP写出的动态网页与其他的编程语言(如Java、Ruby)写出的相比,PHP是把处理程序嵌入到HTML DOM结构中去执行,执行效率比需要先经过编译,然后完全生成HTML标记的CGI要高许多;另外,PHP代码还可以先进行编译,然后再执行代码,编译可以用于优化运行效率和代码加密,使代码运行速度更快。
PHP自1994年开发使用以来,经历过许多的版本迭代,其中稳定性和性能比较稳定的大版本有PHP3、PHP4、PHP5和PHP7。其中PHP7作为当前最新的一个稳定版,发版时间为2015年6月11日,它能让基于PHP5.6(PHP7发版前最稳定的一个版本)开发的网站,整体性能提升3倍,也让PHP在网站开发方面更加得心应手,更加符合开发者的要求。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司,Oracle 旗下公司目前掌握其核心开发技术。MySQL 是当前非常流行的关系型数据库管理系统,在 Web 应用方面,MySQL是目前最好的关系数据库管理系统(Relational Database Management System,RDBMS) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系型数据库没有把所有数据放在一个大仓库内,而是把数据存储在不同的表中,这样就极大的减少了查询所需要的时间,提高了速度和应用的灵活性。并且MySQL所使用的 SQL 语言是所有关系型数据库中所使用的最常用的标准化的语言。MySQL 软件现在采用了双授权政策,它分为商业版和社区版。一般中小型网站都会选择 MySQL 作为网站数据库,因为其速度快、体积小、使用花费成本低,尤其是开放源代码,让MySQL能适应绝大部分企业的需求。
本平台是基于PHP7.0和MySQL5.5开发的,主要考虑因素是当前最稳定和最新版,由于PHP7.0已经正式发布,其稳定性也在逐步增强,更吸引人的是它3倍性能的提升,因此选择使用PHP7.0作为开发语言。MySQL作为PHP开发最友好的伙伴,因此选择使用其最稳定的版本。

图21 PHP网站响应过程图
PHP网站响应过程介绍:
客户端发起一个外部请求,Apache服务器接收这个请求;
Apache把这个请求转发到某个PHP脚本(即载入某个PHP脚本);
PHP脚本执行用户请求的业务处理,期间可能需要连接数据库进行对数据增删改查,然后将处理结果返回给Apache服务器,即完成执行PHP脚本的过程;
Apache服务器将最终结果响应回给客户端。
微信及微信SDK介绍
微信 (WeChat) 是腾讯公司(Tencent)在2011年1月21日发布的一个为移动智能终端提供即时通讯服务的免费应用程序。微信除作为个人通讯的聊天工具以外,它还兼具内容分发,共享流媒体内容的功能。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1265.html

好棒文