微信公众平台和学习网站设计_第1页
微信公众平台和学习网站设计_第2页
微信公众平台和学习网站设计_第3页
微信公众平台和学习网站设计_第4页
微信公众平台和学习网站设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1绪论1.1选题的依据及意义1.1.1研究背景伴随着技术的进步,人们对于移动学习的要求越来越强烈,而能够满足这种需求的移动设备也更加智能和多样化,包括智能手机、平板电脑以及网络学习机等。移动设备在现代社会已全面普及,这些智能手机等移动设备具备稳定的操作系统,如Android操作系统,市场占有率超过70%,且种类繁多,价格低廉且功能强大,智能手机已经成为人们日常生活的必备品。截至2017年6月,中国互联网用户达8.1亿人,占全国人口的51.7%。25岁及以下的年轻用户占所有互联网用户的41.7%。同时,青少年的互联网覆盖率达到85.3%。包括年轻人在内的所有互联网用户中约有90%依靠手机上网。尽管我国手机上网用户中只有10.6%将其用于电子学习,但绝对数量仍然非常庞大,超过7000万人,而且这个数字正在迅速增长,预计在2020年将达到一亿人。这些用户在线学习课程中有59.3%是通过手机完成的,这为移动学习提供了一个成为有效教育工具的巨大潜力。1.1.2研究意义目前,微信上活跃的用户逐渐增多,因此建立基于微信公众号的在线学习平台具有很大的市场需求和现实意义。尽管用于编写计算机应用程序的计算机语言众多,但是计算机编程语言C语言是全世界最流行的语言之一,也是每个学习计算机科学或者软件科学的人,需要掌握的最为基本的编程之一。从微控制器到操作系统的所有内容都是用C语言编写的,因为它非常灵活和多功能,可以用最少的命令实现最大限度的控制。此外,C语言是所有高级计算机语言的基本语言。但是目前对于C语言学习和教学的方法都存在一定的弊端。例如,教学内容单一,学习方法滞后。众所周知,编程语言的学习是一个非常注重实践的过程。再例如,比较知名的语言学习网站—CSDN网站主要是分享大量的编程代码。因此,也迫切需要开发新的教学平台,改变学习方式。在这样的趋势下,远程教育有很大的发展空间。目前,很多学者开始讨论互联网和微信技术在C语言学习中的应用。以上就是本课题的选题背景,借助使用微信公众号学习的大趋势来开展C语言移动学习新模式,以达到弥补教师课堂授课缺憾,切实提高教师课堂教学效果的目的。1.2国内外研究现状及发展趋势由欧盟达芬奇项目支持,都柏林(Dublin)爱立信教育组织的“移动学习:下一代学习”项目,目的是利用通信技术为学习者提供一个能够进行移动学习的平台。该项目运用现有的移动终端开发出移动学习的教程并加以应用,并根据移动终端的特点开发出符合终端设备应用的课程,与移动学习系统有了一定程度的结合,此项目的课程进一步得到了试用和推广。刘和江(2015)出版了“基于WChat平台的C语言教学设计与实践”,系统地分析了微信平台在大学C语言教学中的应用,设计了C语言微信平台,取得了较好的实践效果。AJSaldanha提出开源软件通过允许用户扩展现有应用程序的功能来鼓励创新。这是微阵列数据可视化的一个流行的应用程序,但是封闭源代码和特定于平台的,这限制了其当前的实用性和适用性的进一步发展平台。java的TreeView是一个开源的、跨平台的重写处理非常大的数据集,支持的文件格式,允许额外的分析结果进行可视化和比较的扩展。一个通用的文件格式和开源使得javaTreeView求解一类可视化问题的一个有吸引力的选择组合。applet版本也可用,可以在任何网站上使用,没有特殊的服务器端。徐常等人发表了基于微信公众平台的中国远程教育混合式学习模式的构建,以建构主义、教学理论、教学原则和个性化学习理论为指导,探讨了基于微信公众平台的新型学习模式,总结了初步的效果。TKarakus研究探讨新手教学设计人员在开发虚拟学习平台时所关注的问题。作为一个三维多用户虚拟环境,主动世界(AW)被用来设计和开发一种基于虚拟世界的教学材料。二十三名新手教学设计师参与了这项研究。通过观察、访谈、文献分析和问卷调查收集数据。结果表明,新手教学设计者特别是挑战的动机和评估部分的教学。此外,技术限制影响了他们的设计。通过我们对现状的了解,互联网的应用在颠覆人们的生活模式,并且很多行业因为互联网的接入,发生了质的变换,如饿了吗,共享单车等新兴互联网企业,而教育模式接入互联网是势在必行,在国内很多互联网企业也在积极开发移送学习平台,如百度的百度传课,达内科技曾在加拿大上市,主要做It培训,其采用的就是网络在线教学平台。微信有8亿多用户,我们的生活离不开微信,现在恨锁企业都是在利用微信庞大的用户基数进行引流,我们也将焦点聚集于互联网和移动平台,那么开发一个基于微信的学习平台则可以大大方便我们的学习。1.3研究内容近年来,随着互联网技术的迅猛发展,计算机在军事,教育,生产,生活,服务等各个领域有着不可替代的作用,互联网无时无刻不在改变着人们的生活方式,曾经的线下交易,如今已经被成熟的O2O模式所替代,现在教育模式也是结合线上教学和线下教学的模式相结合,移动学习平台的开发,也是适应潮流的趋势,相信会给我们的教育带来便利的同时也会给我们提供更多的学习乐趣。本文是基于web应用开发的移动学习平台。本论文具体章节安排如下:第一章:绪论,介绍课题研究的背景和目的。第二章:系统开发相关的概念和理论以及技术。第三章:系统分析和设计。第四章:系统的实现。该部分是该课题的核心部分,包括开发运行环境构建,数据库实现以及根据需求分析和技术分析来实现系统的各个模块功能,使系统能够正常运行,包括开发过程中遇到的问题记载和分析。第五章:总结与问题分析。对本课题的重点难点做一个分析,提出对本系统需要改进与加强的地方。第六章:结束语。对本次课题研究的感想以及学到的知识和开发经验的一个总结和对后期开发的一个展望2需求分析与技术简介2.1需求分析系统分为微信公众平台和学习网站,主要是为了进行C语言的学习和练习。系统按功能模块分为二个模块,学生模块,老师模块,以下是各个模块的功能:学生模块:(1)学生登录微信公众号或者登录网页可以学习老师发布的视频。(2)通过微信公众号的推送功能可以接收到老师发布的视频信息和作业信息。(3)在线观看教学视频后可以通过网页在线完成老师布置的C语言作业,编辑c语言代码进行在线运行,编译通过后提交代码。(4)可以查看、修改自己的个人信息,查看作业成绩、还有老师给的建议。老师模块:(1)登录网页上传发布视频信息。(2)对相应的视频信息发布相应的C语言作业。(3)查看学生完成的作业信息,给作业打分,给学生回复建议。(4)增加、删除、修改学生的基本信息。3.数据库关系表。(1)学生基本信息表:学生id,用户名,密码,姓名,学号,班级,系,专业,入学年份。(2)教师基本信息表:教师id,用户名,密码,姓名,教师号,入校年份。(3)视频表:视频id,视频标题,视频存放地址,视频名称,视频大小。(4)作业表:作业id,作业标题,作业内容,作业输入,作业输出。(5)学生提交代码表:代码id,学号,学生姓名,作业提交内容,编译是否通过,学生输入,学生输出,审阅老师,作业完成情况,作业成绩,作业意见。2.2可行性分析可行性分析是每一项系统研究投入力量前必须要进行的工作,这样可以使资源得到最合理的利用,避免了浪费,这也是系统设计能够顺利完成的保证。经过对南溪一中图书馆借阅管理系统的设计得到以下的可行性分析。1.经济可行性经济可行性就是分析该图书馆借阅管理的系统带给南溪一中的经济效益。公众号C语言学习平台管理的系统具备的稳定和发展的性能,投入一次能够长久使用,节约了经济成本。新系统开发成功后,可以优化C语言学习流程,实现随时随地学习。因此,公众号C语言学习平台管理的系统的设计和开发在经济上是可行的。2.社会可行性如今,计算机和网络技术已经出现了快速的发展,因此整个世界范围内的网络人口也呈现出增加的趋势,网络对于人们的生活有了更加广泛的影响,而且各个地区的网络建设也越来越发达,在这样的大背景之下,越来越多的网络学习平台趋势也成为越来越多人的所选择的一种方式,成为一种趋势线。3.技术可行性本次系统开发后台语言具有它的高兼容性、面向对象编程特性、安全性好等,这些特性也正是它成为编写与设计程序语言中最受欢迎,使用率最高的编程语言,并且此系统对应的相关技术都有丰富的插件和资源,因此该系统在技术上是可行的。4.操作可行性就目前的情况来看,基本上所有的计算机都能够运行这种系统,而且这种系统在进行安装、调试以及操作的过程当中,也都不需要改变任何的设置和布局,在这个系统当中包括一个较为简单的接口,消息完整性,指导相关人员可以方便的操作软件。Eclipse简介随着计算机科学的发展,软件程序在我们生活中扮演着不可或缺的角色,对于较早的编程语言,如汇编语言,其执行效率高,但是编程入门要求高,随着近几年技术的发展,不断有新的编程语言出现,Java是当今最受欢迎的编程语言之一,其可跨平台运行的特点也是人们青睐java的原因,一款良好的编程工具,对于开发人员来说,将事半功倍。对于现在市面上流行的java编程工具,有eclipse,myeclipse以及intelidea。Eclipse是替代IBMVisualAgeforJava(以下简称IVJ)的下一代IDE开发环境,eclipse拥有良好的人机交互界面,可以集成很多插件,方便我们进行编程,调式,以及应用管理,并且其以免费开源,很受广大程序软件开发者的欢迎。而myeclipse和Intelidea在性能上和eclipse不相上下,但是却是收费的,所以对于初学者eclipse是不错的一个选择。2.4MySQL简介数据库是我们开发应用程序不可或缺的,常见的数据库有Oracle,MySQL,SQLServer,Oracle是针对大型企业的应用,MySQL则是针对中小型企业,Oracle是收费的,MySQL是免费的,在一写中小型企业,为了节约成本,MySQL则为其不二的选择。本设计采用的也是MySQL数据库,其提供了标准的SQL语言。2.5软件框架对于web应用,良好的框架对于系统的开发和维护有着至关重要的作用,很多大型企业对于自己公司的产品都会有自己的框架,因为牵扯到商业利益和公司的运营模式,企业的框架对外是不公开的。而Java是目前最流行的编成语言之一,市面上公开的Web项目,流行的开源框架有SSH和SSM,SSH即Struts2+Spring+Hibernate,SSM即SpringMVC+Spring+MyBatis,这两种都是基于MVC架构的框架,此架构是一种分层模式,将应用分为应用层,业务层,持久层,应用层包括前端页面,用于和用户交互,业务层则处理相关的逻辑应用,持久层则是对数据进行存取,我们评价一个系统的优越性,稳定性和可维护性是衡量的标准,这些框架为我们封装了很多繁琐的东西,并且已接口的形式提供,可以方便我们的开发。而这样做的目的就是为了避免编程人员在编码是打代码写死,即代码的耦合性比较高,后期升级和维护都比较困难。本设计选取的是SSM框架,SpringMVC负责前端的请求分发,前端控制器根据前端请求分发不同的控制器,控制器则根据不同的请求处理不同的业务逻辑,在业务控制层,我们调取持久层进行数据的存取。而SSM也是相对比较成熟的开源框架,在各大企业和软件中都在运用。3系统设计3.1环境搭建本设计环境搭建如下:开发工具:Eclipsemars2.0JDK版本:JDK1.7Tomacat版本Tomcat7.0数据库:MySql5.0;3.2数据库设计3.2.1数据库概述数据库名称为ttms,适用于Mysql数据库,用于支持基于公众号C语言学习平台项目。学生和老师分为不同的用户,老师主要发布作业,并批改作业,学生则完成老师布置的作业,然后提交作业。系统E-R图如下图所示。图3-1E-R图3.2.2数据表设计根据基于公众号的C语言学习平台,对需求进行分析,利用PowerDesigner设计如下数据表,如图3-1和表3-1所示。图3-1数据表结构表3-1数据表清单NameCodeCommentGOwner作业表CP_Homework_infoX<None>学生基本信息表CP_Student_infoX<None>学生提交代码表CP_Code_infoX<None>教师基本信息表CP_Teacher_infoX<None>视频表CP_Vido_infoX<None>3.3.3数据表定义学生基本信息表业务说明:此表登记学生的基本信息,以及作为学生用户的登录用户名和密码,主键为学生id。表结构:如表3-2所示:表3-2学生基本信息表NameCodeDataTypeLengthPrecisionPrimary学生idstuidint(8)8TRUE用户名usernamevarchar(32)32FALSE密码userpasswordvarchar(20)20FALSE姓名stunamevarchar(32)32FALSE学号stunumbervarchar(20)20FALSE班级classvarchar(10)10FALSE系departmentvarchar(64)64FALSE专业majorvarchar(64)64FALSE入学年份enrotimedateFALSELINKExcel.Sheet.12"工作簿1""Sheet1!R1C1:R10C6"\a\f4\h教师基本信息表:业务说明:此表登记教师的基本信息,以及作为教师用户的登录用户名和密码,主键为教师id。表结构:如表3-3所示:表3-3教师基本信息表NameCodeDataTypeLengthPrecisionPrimary教师idteaidint(8)8TRUE用户名usernamevarchar(32)32FALSE密码passwordvarchar(20)20FALSE姓名namevarchar(32)32FALSE教师号teanumbervarchar(20)20FALSE入校年份enrodatedateFALSE视频表:业务说明:此表存储的是教师上传教学视频的基本信息,主要为视频的地址,视频的名称和大小,在学生用户需要观看视频的时候,从此表读取地址信息,然后从服务器读取相关视频。表结构:如表3-4所示:表3-4视频信息表NameCodeDataTypeLengthPrecisionPrimary视频ididint(8)8TRUE视频标题titlevarchar(32)32FALSE视频存放地址addressvarchar(32)32FALSE视频名称namevarchar(32)32FALSE视频大小largedecimal(8,2)82FALSE作业表:业务说明:此表存储教师上传的作业信息,对作业的输入,输出惊醒操作。表结构:如表3-5所示:表3-5作业信息表NameCodeDataTypeLengthPrecisionPrimary作业ididint(8)8TRUE作业标题titlevarchar(32)32FALSE作业内容contentvarchar(1024)1,024FALSE作业输入workinvarchar(2048)2,048FALSE作业输出workoutvarchar(2048)2,048FALSE学生提交代码表:业务说明:此表存储学生作业提交的代码以及教师对学生作业的评审,学生可从此表查询作业信息。表结构:如表3-6所示:表3-6学生提交代码表结构NameCodeDataTypeLengthPrecisionPrimary代码idcodeidint(8)8TRUE学号stunumbervarchar(20)20FALSE学生姓名stunamevarchar(20)20FALSE作业提交内容contentvarchar(20)20FALSE编译是否通过ispasschar(1)1FALSE学生输入stuinputvarchar(2048)2,048FALSE学生输出stuoutputvarchar(2048)2,048FALSE审阅老师operteachervarchar(32)32FALSE作业完成情况finishinfoint(3)3FALSE作业成绩scoreint(3)3FALSE作业意见notevarchar(1024)1,024FALSE3.3.4程序设计1.用户登录本系统面向的用户为学生和教师,登录首先需要区分用户,一种方案是我们需要在前端设计设置一个单选框,让用户在登录的时候选择角色,另一种方案是在系统管理员添加用户的时候在用户名前面添加默认的前缀,以区分学生用户和教师用户。区分了教师用户和学生用户后,我们需要去查询教师基本信息表或者学生基本信息表,然后验证用户名是否存在,密码是否正确。系统登录流程图如图3-2所示。图3-2系统登录流程图2.教师模块教师用户登录后,可以在系统内进行以下操作:(1)登录网页上传发布视频信息。(2)对相应的视频信息发布相应的C语言作业。(3)查看学生完成的作业信息,给作业打分,给学生回复建议。(4)增加、删除、修改学生的基本信息。系统流程图如图3-3所示。图3-3教师用户系统流程图3.学生用户学生用户登录后,可以在系统内进行以下操作:(1)学生登录微信公众号或者登录网页可以学习老师发布的视频。(2)通过微信公众号的推送功能可以接收到老师发布的视频信息和作业信息。(3)在线观看教学视频后可以通过网页在线完成老师布置的C语言作业,编辑c语言代码进行在线运行,编译通过后提交代码。(4)可以查看、修改自己的个人信息,查看作业成绩、还有老师给的建议。系统流程图如图3-4所示:图3-4学生用户系统流程图

4系统实现4.1公众号系统实现微信公众平台,简称公众号。曾命名为“官号平台”、“媒体平台”、微信公众号,最终定位为“公众平台”,无疑让我们看到一个微信对后续更大的期望。利用公众账号平台进行自媒体活动,简单来说就是进行一对多的媒体性行为活动,如商家通过申请公众微信服务号通过二次开发展示商家微官网、微会员、微推送、微支付、微活动、微报名、微分享、微名片等,已经形成了一种主流的线上线下微信互动营销方式。我们注册微信公众平台,并进行相应菜单设置,便可以利用微信平台进行消息推送以及链接的添加。注册并登录微信公众号,菜单设置项如图4-1所示:图4-1微信公众号设置界面我们在微信公众号中,进入自定义菜单设计,在图4-1处添加相应的菜单项,然后在右侧菜单内容选择跳转网页,然后在页面地址输入我们学习平台的应用地址,这样即可通过微信平台和我们发布的web应用进行关联。4.2登录功能的实现登录是常见的网页功能之一,也是保证系统安全运行的重要入口,目前大型企业应用软件为了个人隐私安全以及财产安全,对用户名密码需要进行严格的验证控制,并且对不同的用户需要进行角色权限的管理,现在网络的钓鱼软件比较多,在密码验证的时时候基本采用加密模式验证。因为登录密码是进入系统进行系统操作的第一把钥匙,也是最重要的一把。一旦网络钓鱼网站获取到用户名和密码,可能对用户造成不可估计的损失。对于基于微信公众号的C语言学习平台,同样需要用户名和密码验证,因为学生和老师的职能不同,并且对于一个健全的网络系统而言,健全的功能是一方面,同时也需要按照实际的功能需求满足我们的要求,对于本系统,是对传统教学方式的一个改革,老师在线发布学习视频和作业,学生在线学习和提交学习成果。对于计算机而言,系统稳定运行,是依赖于可靠的数据。同一个系统,用户名和密码是确定的,我们不能排除人为因素泄露用户名和密码,如果没有登录,那么学生可以操作教师的权限,这样就像在日常教学中,学生自己给自己改作业,势必会造成结果的不可靠性。/** /** *用户登录,校验用户信息 */ @RequestMapping("/confirmUser") @ResponseBody publicJsonResultconfirmUser(Stringusername,Stringuserpwd){ SubjectcurrentUser=SecurityUtils.getSubject(); if(!currentUser.isAuthenticated()){ //把用户名和密码封装为UsernamePasswordToken对象UsernamePasswordTokentoken=newUsernamePasswordToken(username,userpwd);try{ //登录认证-调用userRealmcurrentUser.login(token);}catch(IncorrectCredentialsExceptionice){thrownewIncorrectCredentialsException("密码错误!");}catch(AuthenticationExceptionae){ thrownewAuthenticationException(ae.getMessage());} } returnnewJsonResult(); }登录界面如图4-2所示:图4-2系统登录界面实现4.3教师操作模块/**保存课程信息*/ /**保存课程信息*/ @RequestMapping("/doSaveProject") @ResponseBody @RequiresPermissions("product:project:add") publicJsonResultdoSaveProject(Projectproject){ projectService.saveObject(project); returnnewJsonResult(); } /**查找课程信息*/ @RequestMapping("/doFindById") @ResponseBody @RequiresPermissions("product:project:update") publicJsonResultdoFindProjectById( Integerid){ Map<String,Object>project= projectService.findObjectById(id); returnnewJsonResult(project); } /**修改课程信息*/ @RequestMapping("/doUpdateProject") @ResponseBody @RequiresPermissions("product:project:update") publicJsonResultdoUpdateProject(Projectproject){ projectService.updateObject(project); returnnewJsonResult();//state=1,message="ok" }前端设计实现如图4-3,4-4,4-5所示。图4-3作业发布图4-4视频发布4.4学生操作模块学生登录系统后,可以在系统内进行相应权限的操作,包括视频学习,作业提交,代码提交,个人信息修改等功能。后台代码实现如下,前端设计实现如图4-6,4-7所示。@RequestMapping("/doFindObjects") @RequestMapping("/doFindObjects") @ResponseBody publicJsonResultdoFindObjects(){ List<Map<String,Object>>list= productTypeService.findObjects(); System.out.println("list=="+list); returnnewJsonResult(list); }@RequestMapping("/doFindTreeNodes") @ResponseBodypublicJsonResultdoFindTreeNodes(){ List<Map<String,Object>>list= productTypeService.findTreeNodes(); returnnewJsonResult(list);}@RequestMapping("/doSaveObject") @ResponseBodypublicJsonResultdoSaveObject(ProductTypetype){ productTypeService.saveObject(type); returnnewJsonResult();}图4-6个人信息修改图4-7作业提交

5部署与测试本章说明系统的运行环境,介绍如何将项目打包成jar包及导入导出数据库以安装运行该系统,并对该系统进行应用测试。5.1系统部署5.1.1系统运行环境基于公众号的C语言学习系统主要基于三层架构模式设计,是一款在Eclipse平台上开发部署的桌面应用程序,运行环境有如下要求:Windows10系统Jdk1.8MySQL数据库管理系统5.1.2项目打包在系统开发的时候用到了数据库操作需要的三个jar包(msbase.jar、mysql.jar、msutil.jar),因此本系统利用Fat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论