《学士学位论文—-局域网内课堂互动软件的设计与实现.doc》由会员分享,可在线阅读,更多相关《学士学位论文—-局域网内课堂互动软件的设计与实现.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 山西大学论文 编号:论文题目 局域网内课堂互动软件的设计与实现姓 名 院系、专业 计算机与信息技术学院、软件工程 学习年限 2011 年 9 月至 2015 年 7 月指导教师 学位级别 学 士 2015年 4月09日局域网内课堂互动软件的设计与实现指导教师: 学生姓名:内容提要 该项目主要完成了无线局域网内Android平台的手机app,用于深入课堂上的教学互动,便于教师随时地掌握学生的知识接受情况。通过Android的eclipse开发工具,利用基于UDP协议和TCP协议的Socket通信,实现教师和学生的登录、学生考勤、学生留言、随堂测试等功能,保证无线局域网中教师和学生的积极交互。关
2、键字 Android;无线局域网;TCP/UDP;Socket通信1、引言(1)系统开发背景智能手机从开始研制出来就受到人们的关注,随着Android和IOS手机操作系统的面世,智能手机更是全球所有人的追捧。社会上智能手机的普及,使越来越多人的学习和生活已离不开手机,它影响着人们的方方面面。它也成为人们生活中必不可少的一部分,甚至很多人成了手机控。因为有很多学生在上课的时候也会玩手机,因此老师认为智能手机也有不好的方面,如果把智能手机应用于课堂教学,用智能手机辅助教师上课,这将是极大的创新。通过其中非常实用的功能,本系统可以极大提高课堂效率。(2)系统开发的目的及意义一直以来大学课堂上,大多数
3、还是传统的教师和学生的课堂模式,即老师采取随机提问的方式或者布置课堂作业来了解和监督学生的学习效果,虽然以此来调整自己的教学进度,使自己的教学更加有效,并起到督促学生的作用。这样有几个不足之处:1)在课上布置的课堂作业,教师没有足够的时间和精力去看完每个学生的完成情况,这使得有部分学生偷懒不去完成,达不到应有的督促和练习作用,还浪费了宝贵的课堂时间。2)教师如果采取随机提问的方式,这样虽然节约了时间。但这只能掌握个别学生的情况,具有很强的随机性和不可靠性,影响老师的判断。3)教师在给学生发送文档以及学生提交作业,都是通过直接拷贝的方式,这样做效率极低,而且有传播电脑病毒的风险。4)在学习和生活
4、中,有一部分学生不太善于表达自己,缺少一个和老师交流的平台,所以,很少有机会能和老师直接的交流,这会影响到教学的质量和进度。这部分学生也不能学到更多的知识。该系统可以实现以下功能:1、教师和学生通过登陆可以进入到相应的教师端和学生端界面。2、教师端可以接受并查看当前上课学生,统计出勤率。可以布置课堂测试后查看学生的完成情况。可以给学生发送文档。3、学生端可以在手机上完成老师布置的课堂测试其中包括选择题和问答题并且学生可以下载教师发送的文档。4、一些不太善于交际的学生可以向老师的手机上发送留言,教师通过留言更加完善的掌握学生上课的情况和意见。(3)国内外现状有关与提高课堂效率或辅助教师上课的设备
5、早以出现在国外的课堂上,在国外大部分的大学课堂上都采用了手持答题器设备,这是在传统课堂的进步,但这也只是改善了一部分局面,并且要给每个学生安装和配置手持答题器也需要不小的投入。如果将智能手机利用到课堂上将会达到更好的效果,成本也会降低不少。在国内近几年也出现不少的有助于课堂的上课效率的手机软件,比如有道云笔记、Ucan等。有道云笔记这款软件学生可以通过文本、图片记录上课笔记,并且提供了高效管理和分类整理笔记,然后可以同步到云空间,以便随时随地查看笔记。有道云笔记节约了学生上课的同时记录笔记的时间,使学生能够用更多的时间去认真听讲,并且随时都可以查看上课时记录的笔记,做到在哪里都可以复习上课的笔
6、记。但是,这款软件只是通过简化记录笔记以提高课堂效率,并没有用于学生和教师交互的功能,老师不能掌握学生的学习情况。Ucan又叫课堂互动投票软件,它的主要功能是学生报到、投票以及课程资料的传送等。它实现了老师和学生之间的交互,但是交互只是体现在投票方面,功能上有所欠缺,不能满足课堂上的需求6。2、系统需求分析本部分主要介绍了系统的功能需求与系统性能和环境需求,具体内容如下。(1)系统功能需求用户登陆功能:学生输入自己的姓名和学号,教师输入自己的姓名和密码就可分别登陆到学生端和教师端,学生端可以将自己的姓名和学号发送到教师端;教师查看上课学生:教师端会接受到每个学生的姓名和学号等信息,并且将所有的
7、信息显示到教师端手机上,以此查看目前正在上课的学生,教师可以通过这样记录学生的到课情况;随堂测试功能:教师可以在课堂上布置随堂测试,可以是选择题和判断题,学生完成测试后,选出相应的选项或做出问题的答案后,再提交给教师,如果是选择题就可以统计选择每个选项的学生人数,问答题则显示出所有学生的答案,更直观的展示给老师;教师发送文件:教师可以选择手机上的常用的ppt、word、excel等文档发送给局域网中的每一个学生,每个学生在接收后就会将该文档存储在手机上;学生留言功能:一些不善于表达的学生可以把要对老师上课时的疑问和建议通过留言发给老师,在发送时可以选择是否匿名发送,这有助于一些不太善于言谈的学
8、生去增进与老师交流,老师通过学生们的留言来调节自己的上课进度以及上课的方式,以达到更好的上课效果。(2) 系统性能和环境需求本系统有非常简单的操作界面,容易掌握,功能上还可以进一步的扩展,比如每个学生向教师提交作业文档,教师向特定学生发送文件以及软件可以连接到互联网的功能等等。本系统容易上手,适合师生在局域网环境的教室使用4。通过这个软件可以节省出宝贵的课堂时间,提高学生的上课效率,并且使教师可以进一步掌握学生的学习情况。(3)运行环境硬件平台:智能手机,路由器软件平台:操作系统:Android 2.3以上支持工具:装有ADT的eclipse开发工具3、关键技术(1)基于Android平台的A
9、pp的开发1)Android的系统架构Android系统是由谷歌公司推出的手机操作系统。Android分为四个层,分别是应用程序层、应用程序框架层、系统运行库层和V核心层3。对于Android应用开发的过程必须对应用架构层和应用程序层,应用程序一般都与应用框架层进行交互,而其与底层进行交互。并且Android操作系统是基于Linux内核的开源的手机操作系统。Android操作系统的系统架构如图1所示图1 Android系统架构图2)Android应用组件Android开发四大组件分别是:活动(Activity)、服务(Service)、意图接收器(IntentReceiver)内容提供商(Co
10、ntent Provider),但不是每个手机程序必须由这四部分组成。在应用程序中使用时,必须要在AndroidMainfest.xml文件进行配置后才能使用7。3)已用组件在该软件中主要用到的组件是活动(Activity),它是每个软件界面所必有的一部分,通过Activity组件才可以实现用户交互的以完成某项任务。(2)Socket通信Socket有两种主要的操作方式:面向连接的和无连接的。面向连接的套接字通信必须通过三次握手建立相应的连接,发送的数据的顺序和接受的顺序保持一致10。无连接的套接字通信对接受顺序没有保证。使用面向连接的通信可靠性更高2。它使用的是TCP协议,面向连接的套接字通
11、信必须在发送数据之前和要发送的地址取得连接。建立连接后,Socket就可以通过流接口进行打开、读、写、关闭操作。但无连接的套接字通信比面向连接的套接字通信的效率高8。采用无连接的,它使用UDP协议。在无连接的套接字通信下,数据报是单个的数据信息,一次发送给目的地址的全部信息都包含在数据报中9。无连接的套接字通信因为不需要建立连接,所以效率更高。但无连接的套接字仅仅把数据报发送出去,对其发送的数据报能否接受和顺序并不做保证5。(3)Android多线程开发多线程是指在单个程序中同一时间运行多个不同的线程,分别执行不同的任务。并且意味一个程序的多行语句可以看上去几乎是在同一时间内同时进行。在And
12、roid平台中多线程的应用很多,在UI更新、网络通信等方面都需要使用多线程1。在Android软件开发中多线程是非常重要的。4、系统设计与实现4.1 模块划分依据需求分析中所有的的功能,依据软件工程低耦合以及高内聚的原理将手机软件划分为登陆模块、查看当前学生模块、随堂测试模块、文件发送、学生留言等模块。图2 系统功能结构图用户登陆功能:学生输入自己的姓名和学号,教师输入自己的姓名和密码就可分别登陆到学生端和教师端,学生端可以将自己的姓名和学号发送到教师端;教师查看上课学生:教师端会接受到每个学生的姓名和学号等信息,并且将所有的信息显示到教师端手机上,以此查看目前正在上课的学生,教师可以通过这样
13、记录学生的到课情况;随堂测试功能:教师可以在课堂上布置随堂测试,可以是选择题和判断题,学生完成测试后,选出相应的选项或做出问题的答案后,再提交给教师,如果是选择题就可以统计选择每个选项的学生人数,问答题则显示出所有学生的答案,更直观的展示给老师;教师发送文件:教师可以选择手机上的常用的ppt、word、excel等文档发送给局域网中的每一个学生,每个学生在接收后就会将该文档存储在手机上;学生留言模块:一些不善于表达的学生可以把要对老师上课时的疑问和建议通过留言发给老师,在发送时可以选择是否匿名发送,这有助于一些不太善于言谈的学生去增进与老师交流,老师通过学生们的留言来调节自己的上课进度以及上课
14、的方式,以达到更好的上课效果。4.2登陆模块首先打开软件时就会进入用户选择界面,分为教师端和学生端,每个登录界面都有基本登录验证,判断用户名或密码是否为空。如果进入学生端的登录界面会要求输入学生的姓名和学号,点击登录便可进入到学生端的主界面,同时将学生的基本信息传递给软件的全局变量以供其它的功能使用。如果进入教师端的登录界面会要求输入教师用户的账户和密码,只有验证账号和密码正确才可以进入到教师端的主界面。其中教师端登录流程图,见图34.3查看当前学生模块教师端当点击进入到查看当前学生的界面后,就会向无线局域网中的所有用户发送上线广播信号,并且每隔3秒就会发送一次上线广播信号,以确保最新登录的学
15、生端可以收到教师发送的广播信号,同时教师端处于等待接受状态。软件在进入学生端的主界面就会开启UDP数据包接受线程,并处于等待状态。当学生端在收到教师端的上线广播信号后,就会向教师端发送上线应答信号,其中包括学生的姓名和学号信息。教师端在收到上线应答信号后,通过解析数据包中的内容就会得到学生的基本信息,然后将其添加并存放到学生列表中,最终显示到手机界面上,并且每隔3秒就会刷新一次学生信息列表。教师以此便可查看当前在教室的学生。见图4 图3 登陆模块流程图 图4 查看当前学生的流程图4.4随堂测试模块随堂测试模块分为选择题模块和问答题模块。当教师在课堂上提出选择题问题和相应的选项,同时教师端进入到
16、查看选择题结果界面,上面显示每个选项学生选择的人数。学生可进入到选择题界面,选择相应的选项并确认提交。教师端的查看选择题界面就会实时刷新该界面,显示最新的统计结果;当教师在课堂上提出问答题问题,并进入到查看问答题结果界面。学生可进入到问答题界面在文本框中做出相应的回答,并且确认提交答案。教师端的查看问答题界面就会显示出该学生的姓名和结果。教师便可了解每个学生知识的掌握情况,随堂测试模块的流程图见图54.5文件发送模块教师端点击进入到发送文件界面后,点击选择按键进入文件管理界面选择将要发送的PPT、Word、Excel文档,选择确定后就会在文本框就显示该文件的存储路径,再点击发送按键,教师端就会
17、开启文件发送线程并处于发送等待状态。学生端进入到文件接受界面后,点击接受按键就会向教师端发送TCP连接请求。在教师端收到学生端发来的连接请求后,再经过两次握手后建立TCP连接。教师端先通过该连接发送文档的基本信息,学生端在收到文件的基本信息后,教师端便向学生端通过输出流的形式将文档传递给学生端。最终,在完成发送后,学生便可在手机相应的存储路中找到该文件。发送文件的流程图见图64.6留言模块当教师想要了解学生的意见时,便可进入到留言板界面。学生端点击进入到留言界面,可以在文本框中输入想要对老师说的话,还可以选择是否匿名发送,最后点击发送按键,便将该留言发送给教师端。教师端就可以显示每个学生的留言
18、,如果是匿名留言就会显示匿名,若不是,就会显示学生的姓名。教师在收到学生的留言后就可以相应的改进上课的进度或方式。 图5 布置作业的流程图 图6 文件发送的流程图4.6数据结构设计分析本系统中教师、学生和文档的实体的属性,其E-R图如下:图7学生信息E-R图 5、系统测试(1)登陆界面设计: 图8 登录学生端 图9登录教师端(2) 主界面: 图10 学生端主界面 图11教师端主界面(3) 随堂测试界面:1)选择题 图12 学生端图13教师端 2)问答题 图14 学生端 图15教师端 (4) 留言界面: 图16 留言学生端 图17留言教师端 (5)发送文件界面 图18 文件选择 图19文件发送界
19、面 6、结论本软件是基于Android系统的局域网内的课堂互动软件,是对传统课堂的极大创新和进步,方便了学生和教师之间的互动,提高了课堂效率,节约了宝贵的课堂时间。而且软件中各模块的耦合度小,便于加入了其他的功能,易于扩展。本软件实现了通过教师端广播上线信息,统计得到了每个学生的信息,很大程度上节约了教师点到的时间。软件只是实现了统计当前学生、布置作业、发送文件功能。其实我们在此基础上进行很多的扩展,比如可以通过文件记录每节课上课学生,教师可以在任何时刻查看每一位学生的到课率,以此用来评估学生平时成绩的参考;还可以实现每个同学之间发送文件以及学生向老师发送文件;对指定的部分学生比如课代表或班委
20、进行分组管理和特定操作的功能。还可以进行扩展,实现学生端向教师端提交文档;还可以实现教师对选中的学生实现特定的操作,比如发送文件; 致谢经过几个多余月的时间,论文终于能够结稿,我内心包含了深深的感激之情,在完成毕业设计的过程中,从选题到查阅资料,论文提纲的确定等各个环节的中都得到了*老师很多建议和帮助,使自己受益匪浅,并且解决了很多困扰我的问题。在*老师的督促和监督下,使自己能够静静的坐下来,学到了更多的知识,为自己进一步的加油充电。使我系统的学习了Android编程设计和套接字编程,对我今后的工作和研究生学习无疑是不可多得的宝贵财富。由于自己的能力有限,在论文中有不足和欠缺的地方,希望*老师
21、指正。同时,我由衷的感谢导师,正是在您的指导下,才使我不断的进步。参考文献1 闫伟, 叶建栲. 多线程技术在Android手机开发的应用J. 信息通信, 2012(1):46-47.2 Kenneth L Calver & Michael J Donahoo. TCP/IP Sockets in JavaM. USA:MORGAN KAUFMANN PUBLISHERS, 2007:10-8.3 余志龙, 陈昱勋, 郑名杰等. Google Android SDK开发范例大全M. 北京:人民邮电出版社, 2009.4 王群, 李敌娟. 无线局域网. 北京: 人民邮电出版杜, 2001.5 沈金
22、龙, 杨庚主编. 计算机通信与网络. 人民邮电出版社, 2011.6 姜乐水. 浅谈无线局域网(WLAN)技术, 信息技术与信息化. 2012.7 李刚. 疯狂Android讲义(第2版), 电子工业出版社, 2013.8 胡晶晶. 基于Socket的Android聊天室系统设计与实现. 微机处理. 2014.9 郭峰, 刘建伟. Socket的局域网络通信软件的开发. 电子科技. 2009.10 Li Na, Investigation of Data Packet Interception System Based on TCP/IP ProtocolDepartment of Compu
23、ter Science & Technology. Shaanxi University of Technology, Han zhong, 2008.Design and Implementation of Interaction Application in Class over WLAN Student name: Xu Tao Tutor: Wen JingAbstract An Android Mobile app is developed over WLAN in this project, which is good for the interaction between tea
24、cher and students. By using the app, the teacher could be aware of the situation of student master the knowledge. The key technique in this project is the eclipse with Android Develop Tools and the implementation of the socket communication base on UDP and TCP. The system has characters that the login of both teacher and students, attendance checking, Q&A and so on, which could guarantee the effectiveness of the Interaction App over WLAN. Key words Android;WLAN;TCP/UDP;Socket communication12