【基于小程序云开发的课堂管理系统设计与实现16000字(论文)】_第1页
【基于小程序云开发的课堂管理系统设计与实现16000字(论文)】_第2页
【基于小程序云开发的课堂管理系统设计与实现16000字(论文)】_第3页
【基于小程序云开发的课堂管理系统设计与实现16000字(论文)】_第4页
【基于小程序云开发的课堂管理系统设计与实现16000字(论文)】_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

实现 21.1选题背景和意义 21.2课堂管理系统研究现状和分析 31.3研究主要内容 51.4论文组织架构 52相关技术和理论 62.1微信开发者工具 62.2微信客户端运行环境 62.4云开发 73系统分析与总体设计 93.1系统可行性分析 93.2需求可行性分析 93.3系统主要功能 3.4系统结构设计 3.5系统数据库设计 4系统详细设计与实现 4.1云环境的初始化和配置云函数 154.2用户模块 4.3签到模块 4.4指纹识别模块 4.5课程模块 4.6答题模块 5系统测试 5.1系统功能测试 29 305.1.3指纹识别模块 5.1.4课程模块 5.1.5答题模块 5.2系统界面及窗体测试 6结束语 342017年1月9日,第一批微信小程序的正式上线,基于微信客户端的小程序能满足简单或者搜一搜即可打开应用。用户打开小程序之后,可以直接使用本人的微信账号登录,富。这得利于微信官方文档中为开发者提供的API接口众多,并且也可以调用互联网上发布的其他API接口,不断丰富完善功能,进行更深入的开发。其中信开发者工具从2.2.3版本提供云开发能力之后便支持的功能。它提出将服务端的所有功能与数据封装起来,开发人员通过调用API来获取这些功能。其中开发人员能力,很好得解决了之前小程序必须使用HTTPS协议开发的开发人员使用互联网平台提供的API接□进行核心业务的开发,实现了微速上线和更新。与传统APP开发相比,微信小程序+云开发轻量级的移动应用开发,有的、具有趣味性的课堂管理系统,基于当前十分流行的微信平台进行开发,使用方便、但这种传统的点名方式也存在着许多弊端,比如课堂学生人数和获取应用资质等诸多问题,所以目前指纹识准确的课堂考勤,就需要结合硬件设备和生物识别的优点,1.3研究主要内容6、针对网络通信过程中可能存在的密码等关键信息明文传输被拦截读取的不安全1.4论文组织架构第二章:相关技术和理论。介绍了所做系统相关知识第三章:系统分析与总体设计。介绍了前期所做的系统的需求分析和可行性分析。2相关技术和理论部分。这四个部分中WXML类似于网络编程中的HTML,WXML(WeiXi框架的核心主要是两个视图层和一个逻辑层。视图层使用微信自行开发的WXML和WXSS语言进行开发,基本可以看作是XML和CSS的缩小版。逻辑层使用JS进行层,同时接受视图层的事件反馈。逻辑层对应的是JS文件,在每个页面的JS文件中,2.2微信客户端运行环境iOS上,小程序逻辑层的JavaScript代码在JavaScriptCore中运行,视图层是由JSCore中运行,视图层是由X5基于MobileChrome57内核来渲染的,新版本的A中,小程序逻辑层的Javascript代码在V8中运行,视图层是由自行研发的XWeb引擎基于MobileChrome67的内核来渲染的;在开发工具上,小程序逻辑层的javascript代码虽然微信小程序的表现形式是半NativeApp,半WebApp,但本质上属于C/S架构。在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用子程序间自由切换。C/S架构图如图2.1所示:客户机数据请求与C/S架构相对应的是B/S架构,即浏览器和服务器架构模式。在这种架构下用户务逻辑还是在服务器端(Server)实现。其中两种同和便捷性不同。C/S架构主要用于内网,建立在专用的网络上云端数据库表,所有细分的数据库表汇总构成总体的数据库。在小程序中调用数据库,辑层:UI层与数据层的中间层,用于将数据层的数据传递给UI层,同时对数据进行一定的过滤、处理,使U获得更好的展示效果。数据层:作为UI层的数据源,提供数据云函数即在云端(服务器端)运行的函数。在物理设计上,一个云函数可由多个文件组成,占用一定量的CPU内存等计算资源;各云函数完全独立;可分别部署在不同端调用,同时云函数之间也可互相调用。一个云函数的写法与一个在本地定义的代码会被放在Node.js运行环境中执行。我们可以如在Node.js环境中使用JavaScript一样在云函数中进行网络请求等操作,而且我们还可以通过云函数后端SDK搭配使用云函数的传入参数中会被注入小程序端用户的openid,开发者无需校验openid的正确是一个JSON格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),云存储提供了一块存储空间,无需使用者自建存储和CDN,提供了上传文件到云云开发原理图如图2.3所示:小程序语言和wxml语言进行开发。使用微信小程序开发工具可以方便的进行代码编辑和编译的调用,可以实现认证本机支持的stoer生物识别方式和上传下载文档等本系统需3.2需求可行性分析(1)考勤系统应该以不同课时的上课时间作为依据来划分考勤时间;(2)实现一键考勤,提高课堂效率;(3)考勤系统的稳定性和识别精度应符合性能测试;3.3系统主要功能的课程信息,教师可以利用系统来根据学生的出勤情况和课堂答题情况统计平时成绩;答题管理签到管理课程管理我的课程答题我的课程签到全部课程学生界面教师界面3.4系统结构设计系统的总体架构设计关乎整个系统的开发效率、开发难度、后期运行维护等问题,勤管理。该系统的用户角色主要是学生和任课教师。开课前,任课教师创建相关课程,记录。学生签到时通过登录小程序进入签到界面,在输入口令正确的情况下成功签到,对该学生学号进行检测,查看其是否在课程的考勤表中。此段数据由云端数据库记录。3.5系统数据库设计多三种类型。从本系统的数据需求出发,本节将对本系统数据存储设计方法进行介绍。本系统涉及的数据库实体可分为两个部分,用户实体和课程实体用户图3.2用户E-R图创建时间学生列表上课时间授课教师课程图3.3实体E-R图字段名称类型字段说明_openid用户名称用户学号/工号用户标识将课程实体设计名为kecheng的表,如表3.2所示:类型字段说明_id_openid创建时间考勤标识授课地点上课时间env:'ceshi-1-7gle2af一个云函数的写法与一个在本地定义的JavaScript方法无异,代码运行在云端我们可以如在Node.js环境中使用JavaScript一exports.main=async(ev4.2用户模块册if(this.data.sname&db.collection('user').add({//向数据建库添加url:'/pages/student_index/student_i)if(this.data.tname&&thidb.collection('user').add({//向数据建库添加role:1//设置用户标志wx.setStorageSync("identify","teacher");//url:'/pages/student_index/student_i提供的信息库内容语法。db.collection().add是添加到信息库的内容。4.3签到模块据库中添加此门课的所有同学,显示已签到学生的信息(如姓名,学号,签到时间)和未签到学生信息(如姓名,学号),教师签到流程图如图4.2所示。否结束在学生界面中点击某一课程进入课程界面,在教师发起考勤之后先输入考勤指令,到。学生签到流程图如图4.2所示到if(that.data.signKey!=null&&thatif(that.data.file){db.collection('kecheng').doc(that.data.lessurl:'../signlist/signlist?lessonid='+that.data.le1db.collection('kecheng').doc(that.data.lessurl:../signlist/signlist?lessonid='+that.data.lethat.data.signKey。首先判断教师端设置的考勤口令和学4.4指纹识别模块wx.checkIsSupportSoterAuthenticaif(res.supportMode=="fingerPrint"){/1结果集c:"用户取消了指纹识别,或调用出现错误"b:"当前该设备不支持指纹识别"用来判断小程序的API,回调,参数,组件等是否在当前版本可用。判断本机是否结束4.5课程模块teacher:that.data.stbuilTime:util.formatTime(newDat输入而是系统传递util.formatTim认参数0为关闭,参数1为开启。List创建一个新的列表用来存储选择本节课程所有学db.collection('kecheng').doc(lesso传递给resss,最后再将课程的全部信息resss从数据库中删除。教师课程模块流程图如下图4.4所示:据库中有课程信息存在则会全部显示,如果不存在则显示为if(this.data.ismine==false){if(res.confirm){_openid:app.globalData.openif(data.clist){if(data.clist[i]==lessonid){添加课程的相关代码使用到了wx.showModal这一API接口,用来显示模态对话框,询库脚本语言db.collection().where({}).get获取到课程名单data存在了课程id就会提醒学生选中的课程已经添加过了。学生课程模块流程图如下图4.5结束returnnewPromise((resolvresolve(res)//上传成功后的路径}*wx.cloud.downloadFi}}答题模块流程图如图4.6所示:卷结束将云存储空间上的文件下载至本地资源。调用了微信官方文档中提供的API接口wx.openDocument新开页面打开文档。本节将通过人工或自动手段对本系统的功能和界面在运行过程中及运行结果的表元(从一个单一的方法到一整个的类都可以是一个单元)。这种以测试为驱动的开发模有效地测试某个程序模块的行为,提供未来重构代码以信心保证。在进行单元测试时,并不意味着程序就没有bug了,所以在单元测试之后还进行了集成测试。及用户的个人信息在数据库中的储存情况。用户模块具体测试项目如表5.1所示:用例数量测试结果1选择学生或教师身份,能否弹出注册窗□2用户第一次进入小程序,能否打开选择身份页面3用户在第一次成功注册后能否进入相对应的页面4据库与用户名进行绑定5用户再次进入小程序时,是否略过选择身份界面,直接进入相对应的用户界面序号测试内容用例数量测试结果1教师界面能否正常发起签到23教师界面能否正常停止签到4学生在老师停止签到后能否继续签到5学生在老师未发起签到时能否弹出未发起签到提醒并返回界面6和未签到学生的相关信息78学生能否查看所有自己成功签到的记录认身份后来完成签到。针对无法完成指纹识别的设备,小程序中也会给出相应的提示,然后跳转至口令输入打卡。指纹识别模块具体测试项目如表5.3所示:序号测试内容用例数量测试结果1打开考勤后能否先提示指纹认证202手机不具备指纹识别功能的是否提示不支持203指纹识别是否能够成功204指纹输入成功后是否进入输入考勤口令界面205勤口令界面映在数据库中,新建或者删除的课程是否实时同步到如表5.4所示:序号测试内容用例数量测试结果1教师能否在我的界面中新建课程4学生能否在全部课程界面中查看所有的课程5学生能否在我的课程界面中查看所选的全部课程具体测试项目如表5.5所示:序号测试内容用例数量测试结果5

温馨提示

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

评论

0/150

提交评论