欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    基于微信的点名模块设计和实现计算机科学与技术专业.docx

    • 资源ID:1226478       资源大小:250.79KB        全文页数:40页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于微信的点名模块设计和实现计算机科学与技术专业.docx

    摘要1Abstract2前言4第1章绪论61.1 点名模块设计背景61.2 本文的设计目的71.3 本文的设计内容与意义7第2章点名系统的现状82.1 点名系统的相关应用概述82.2 基于微信的点名模块设计可行性分析102.2.1 微信小程序介绍10222相关技术102.3 本章小结11第3章业务与功能分析123.1 点名系统介绍123.1.1 系统概述123.1.2 系统的业务流程123.2 数据需求143.3 功能需求14第4章数据结构设计154.1 逻辑结构设计154.1.1 ER模型图转化为关系模式164.1.2 关系模式规范化174.1.3 关系描述174.2 本章小结19第5章点名系统的实现与测试205.1 用户信息管理子系统的实现205.2 课程考勤表管理子系统的实现225.2.1 课程考勤表管理概述225.2.2 课程考勤表管理的详细设计与实现225.3 签到点名子系统的实现25531签到点名子系统概述255.3.2签到点名子系统的详细设计与实现255.4 记录浏览模块的实现38第6章总结与展望396.1 本文总结396.2 后续工作展望39参考文献41致谢错误!未定义书签。考勤制度在人们的日常生活中扮演着重要的角色,有许多场合都需要考勤考核,如会议签到,上班签到等。在学校的教学活动中,学生上课的考勤管理更具有重要的现实意义。传统的考勤方式是人工点名,由教师按照名册来考察学生是否到课,这种方式存在诸多缺点,如效率低、易代签等。为了提高考勤效率,达到良好的实施效果,人们尝试着研究各种新式的考勤制度,例如利用蓝牙等通信技术、人脸检测等识别技术来开发考勤系统。随着信息技术的快速发展和移动终端设备的普及,手机已经成为人们日常生活的必需品。在移动手机上,微信平台是社交网络最流行的通信工具,受众广泛,使用频率极高。本文基于微信小程序开发者工具以及Bmob后端云设计开发了一个点名系统小程序,实现了一种便捷高效的考勤管理.,为考勤制度的现代化信息化提供了方案。本文在对考勤管理充分调研和需求分析的基础上,设计了两种实体一一发起人(即教师)和参与者(即学生)及其关系,设计了相应的数据结构和签到流程图,还设计了课程表管理模块和名册管理模块,实现了点名系统的基本功能。本文开发的点名系统准确、高效,基于微信平台,容易推广使用,为现代化的考勤制度提供了一种可行实现。关键词:手机;点名;小程序;BmOb后端云AbstractAttendancesystemplaysanimportantroleinpeople'sdailylife.Therearemanyoccasionsrequireattendancemanagement,suchasmeetingsigning,worksigningandetc.Intheschool'steachingactivities,theclassattendancemanagementforstudentshasmoreimportantpracticalsignificance.Traditionalwayofclassattendancemanagementisartificialrollcallthatteacherscheckstudentstofindtheabscentaccordingtotheroster,whichhasmanyshortcomings,suchaslowefficiency,skullduggeryandetc.Inordertoimprovetheefficiencyofattendanceandachievegoodimplementationeffect,peopletrytostudyvariousnew-styleattendancesystems,usingcommunicationtechnologysuchasbluetoothandrecognitiontechnologysuchasfacedetectiontodeveloptheattendancesystem.Withtherapiddevelopmentofinformationtechnologyandthepopularityofmobiledevices,mobilephonehasbecomeanecessityofpeople'sdailylife.Onthemobilephone,Wechatisthemostpopularcommunicationtoolinsocialnetworkswhichisfrequentlyandwidelyusedbypeople.ThispaperdevelopedarollcallsyetembasedonWeChatsmallprogramdevelopertoolandBmobCloudtoachieveaformofefficientandConvinientattendancemanagementandprovideonesolutionforthemodernizationandinformatizanofattendancesystem.Basedonthoroughinvestigationandrequirementanalysisforattendancemanagement,thispaperdesignedtwoentitiesinitiator(teacher)andparticipant(student)andtheirrelationships,andthecorrespondingdatastructureandsigningflowchart.Thispaperalsodesignedthecourseandrostermanagementmoduleswhichachievethebasicfunctionofrollcallsystem.Therollcallsysteminthispaperwhichisaccurateandefficient,basedonWeChatplatformandeasytoextendandapply,providesafeasibleimplementationforthemodernizationofattendancesystem.KeywordiMobilephone;Rollcall;Smallprogram;BmobCloud考勤制度在教师的教学活动中扮演着重要的角色,对于学校的规范管理和创新发展具有重要意义。传统的考勤方一一人工点名,由教师按照名册来考察学生是否到课,存在着如效率低、易代签等缺点。点名能够把握学生的出勤率,是教师与学生之间的交流沟通的常用方法。目前主流的点名方式主要是由教师根据考勤名册叫学生的名字,学生进行应答。这种方法直接、简单、精度高,但在更多的情况下,学生的数量较大,点名会耗费一定的课堂时间,并且很容易有学生代替进行应答。伴随着计算机各种软件和硬件的迅速发展,多种多样的信息技术被应用到教室里,从而提高了出勤率和教学效率。外国高校对于上课点名系统的研究并不多见,一般集中在研究应用更加宽泛的学生应答系统上。这种系统包含教师接受器,学生答题器以及相应的教学软件,教师在课堂上利用此系统进行当堂测验。具有方便、准确、快速的优点,但每个学生需要配备答题器,应用成本较高,在高校中普遍应用学生应答系统尚需一段时日。为了提高考勤效率,达到良好的实施效果,关于促进课堂教学的考勤制度的设计受到人们关注四,同时利用各种新技术如蓝牙、人脸检测等的考勤系统的研究日益增多。随着信息技术的快速发展,移动终端设备成为人们生活的必需品,用户的日常需求使得移动应用日益丰富,延及生活的方方面面。在移动手机上的应用中,微信受众广泛,频频被人使用。考虑到移动设备的普遍性和微信应用的广泛手中,针对课堂点名系统的开发在微信上进行不失为一个良好的办法。2016年起微信发布了“微信公众平台小程序”,这是一种不需要进行下载安装就能使用的“触手可及”的应用。微信小程序作为内置在微信里的应用程序,具有与本地应用不同的形式,实现多种多样的功能,在使用流畅的前提下,不会占用太多的手机内存。与传统的手机客户端应用程序相比,微信“小程序”其开发系统的架构更为简单,开发技术非常类似于手机客户端应用程序,而且使用了更加简单明了的页面代码;与此同时,微信提供了必要的开发者工具,开发人员可以迅速上手微信小程序的开发。综上所述,“微信”小程序比起移动手机客户端应用程序,具有更方便、快速的开发优势,符合未来移动互联网产业“微、小、轻”的发展趋势,将会有更广阔的市场前景。在分析国内点名系统研究状况和微信小程序发展前景的基础上,本文通过微信小程序开发者工具以及Bmob后端云设计一个点名系统小程序,用以进行课堂点名。开发一个基于微信的点名系统,有利于实现准确、方便、高效的出勤管理。第1章绪论本章介绍了研究这个课题的背景并且探讨了点名模块设计的意义,概述点名模块的设计目的和设计内容和本篇论文所做的主要工作。1.1 点名模块设计背景在多样的活动出现,生活日渐丰富的今天,人们参加各种活动的同时难以避免地参与活动考勤和签到。传统的签到方式有点名和自助签名等,其缺点为耗时,易代签,难以统计。随着互联网的普及,和人工智能服务设备的涌现,签到系统也可以跟上时代发展的进程。随着信息技术的快速发展,移动终端设备成为人们生活的必需品,用户的日常需求使得移动应用日益丰富,延及生活的方方面面。智能手机早已普及,而且微信也已经成为装机日用的必要软件,深植于人们的生活习惯之中。在移动手机上的应用中,微信受众广泛,频频被人使用。考虑到移动设备的普遍性和微信应用的广泛手中,针对课堂点名系统的开发在微信上进行不失为一个良好的办法。2016年起微信发布了“微信公众平台小程序”,这是一种不需要进行下载安装就能使用的“触手可及”的应用。微信小程序作为内置在微信里的应用程序,具有与本地应用不同的形式,实现多种多样的功能,在使用流畅的前提下,不会占用太多的手机内存。近年来大受欢迎的微信小程序,在微信平台的支持下,其免下载,功能多样,体积小的特点都使其越来越火爆。所以,凭借微信小程序开发的考勤签到系统可以达到活动发起者与活动的参与者的需要。而课堂考勤作为最为常见的考勤活动之一,为了提高考勤效率,达到良好的实施效果,关于促进课堂教学的考勤制度的设计备受关注,同时利用各种新技术如蓝牙、人脸检测等的考勤系统的研究日益增多。在分析国内点名系统研究状况和微信小程序发展前景的基础上,本文通过微信小程序开发者工具以及Bmob后端云设计一个点名系统小程序,用以进行课堂点名。开发一个基于微信的点名系统,有利于实现准确、方便、高效的出勤管理。1.2 本文的设计目的考勤是教师教学过程中的一项重要工作,传统的人工点名方式存在效率低、易出错等缺点,且需要在学期末进行整理和统计,过程繁琐而耗费时间。基于微信的点名模块设计旨在通过使用微信实现课堂上的点名过程,进行考勤结果的记录和整理,从而减轻教师负担,提高考勤效率。本课题设计实现一个微信上的点名系统小程序,具体功能如下:(1)用户信息管理。初次登录时,学生需要绑定自己的学号和姓名,教师账号需要进行注册,之后微信账号自动登录;(2)课程考勤表管理。教师可添加相应课程的考勤表并进行编辑;(3)签到点名。点名时,教师选择课程考勤表与签到时间,生成签到链接。学生通过链接进入签到界面,在满足定位条件的情况下通过输入限时口令进行签到;(4)实现对考勤记录的浏览和分析。学生可以浏览参与课程的出勤记录,教师可浏览自己所发布的考勤记录。1.3 本文的设计内容与意义本文共分为六部分,各章内容结构安排如下所示:第一章:绪论。绪论部分介绍了本课题的设计背景、本文的设计内容与意义。第二章:点名系统的现状。本章主要介绍了国内点名系统的相关应用以及基于微信的点名模块设计可行性的分析。第三章:业务与功能分析。在这一章,首先介绍了点名系统的概述和业务流程,之后又介绍了点名系统的数据需求和功能需求。第四章:数据结构设计。本章主要描述的点名系统的数据结构设计。第五章:点名系统的实现与测试。本章介绍了点名系统的用户信息管理,课程考勤表管理,签到点名,记录浏览等子系统的详细设计与实现。第六章:总结与展望。总结全文,并对未来的工作提出设想与展望。第2章点名系统的现状本章简述了现有的一些点名系统,包括智能手机上的短信猫口令考勤、以及指纹检测、人脸识别等技术与相应软件配合实现的课堂点名系统,并对这些技术的优缺点进行分析,同时思考了设计在微信小程序上的点名系统的可行性。基于微信的点名模块设计旨在通过使用微信实现课堂上的点名过程,进行考勤结果的记录和整理,从而减轻教师负担,提高考勤效率。2.1 点名系统的相关应用概述唐明伟等设计了基于短信猫的课堂自动点名系统,利用手机短信交互准确、方便,可操作性强等优点,将其应用在课堂点名上。短信猫是一种短信收发设备,内中嵌有无线通信模块,配合SIM卡工作。短信猫的短信收发API支持Java、C/C+或C#等多种语言。它的工作原理类似于普通手机收发短信的原理。该系统具有以下主要功能:有明确的课程、学生归属和点名关系,并确保每个点名记录的正确归属;在点名时,系统可以接收学生发送的令牌短信,从而实现认证网。令牌具有规则和有效期,以防止学生通过转发相同的令牌而实现代签,通过点名;在随机提问功能中,从签到成功的学生里随机抽取名字,以确保公平性;实现点名记录的查询分析使教师能够充分了解课程的出勤状况。在点名环节这一核心模块中,学生观察短信令牌上的口令后,将口令通过短信发送给该系统,系统对学生的手机号和口令进行验证,实现课堂自动化点名,这种点名方式成本低且准确率高,然而,缺点在于班级人数较多时,短信难以进行及时的接收和处理,使得该系统的点名时间过长。微信签到程序,使用者可以自由发起签到并设置签到有效时长,持续日期,签到口令和签到位置等,参与签到者可以填写个人信息。比起传统的签到方式,具有二维码登记、电子支票、微信标记等功能的签到系统在使用上更方便、签到体验更好,显示效果更简洁。目前在蜀乐平台上,微信三种类型的签到功能主要有微信签到墙:签到过程类似于传统签名墙,参与者在规定时间内扫描二维码,进入平台填写基信息完成签到,提交成功后在大屏幕显示个人签到信息;3D签到功能:3D签到与第一种签到过程大致相同,区别在于3D签到可以根据签到人员的头像动态的组成各种动画,比如:拼写企业标志、图形、动画等;摇一摇签到:摇一摇签到不需要关注任何公众平台,只需打开蓝牙功能,在微信中摇一摇出点击页面上的签到即可完成签到,整个签到过程比较简洁。微信签到会议系统是一种新型的会议管理模式,参与者需要关注会议组织者的微信公共账户,然后邀请自动推送给参与者,通知其主题,内容,时间,地点。参与者可以直接在微信填写申请表,提交注册信息。注册页面可以通过朋友圈转发,任何订阅号都可以访问。注册信息绑定到微信号,到达会场后,参与者只需扫描二维码即可完成签到。无论参与者的数量如何,这个模型能够快速准确地计算出参与者的数量,使其更高效、更环保,节省了大量人力以及时间。这个程序使用方便,设置选项丰富,适用于各种活动考勤,如果能辅以课堂花名册对比的功能则可应用于课堂考勤。生物识别考勤由于生物某些特征的难以伪造,而可避免机器考勤中的一些弊端。李丽等人研究了基于超球覆盖仿生模式识别的指纹点名系统,在分析实际教学需求的基础上,通过指纹传感器进行指纹数据采集、预处理,并运用超球覆盖算法进行指纹图像识别,实现指纹考勤系统软件和硬件设计。这种方法的识别率高,速度快,同时防止了代签到的可能,达到期望的考勤效果,但该系统需要相应的设备来实行,广泛应用指纹检测考勤系统的成本较高。荆洲等设计出基于人脸检测的智能课堂点名系统,是集合了人脸识别技术、图像处理技术、汇编语言、网站制作技术的综合应用,使网页、数据库、人脸检测程序互联,构成一个完整的系统。该系统的研究与开发可以更加充分地利用课堂时间,以方便教师的教学,提高效率。系统操作界面简单,检索信息快捷,搜索方便。在该系统中,老师或相机把课堂上拍到的照片上传到系统网站。网站上的识别程序将人脸图像提取并归档,并更新数据库的相应内容。学生登录系统后,跳转到签到界面,并根据学期、课程代码和签到次数搜索出此次签到的人脸图像表。学生可以在界面中辨认出自己的面部图像,并在选择图像后提交,此时系统会在相应的数据库表中更新学生的签到图片地址。当学生选择人脸图像并意识到没有自己的人脸图像时,可以向老师留言。通过观察学生所选的人脸图像的结果和相应的教务系统的图像信息,这两者的一致性作为学生本人的标志,最终确认后提交签到记录,以此作为评估学生成绩的基础。将摄像头拍摄得到的课堂照片上传至系统网站,通过识别技术将学生的人脸图像提取出来,由学生登录系统进行确认签到。这种方法节约了课堂考勤的时间,有利于高校管理的信息化建设,但在实际使用上,识别准确率还需进一步提高,且由于部分软件的版权要求和针对高校适应性调整的需要,使用仍存在一定困难。2.2 基于微信的点名模块设计可行性分析2.2.1 微信小程序介绍在基于微信的点名模块设计中,采用微信小程序来实现点名系统。微信小程序不需要下载安装,可以微信中直接使用。用户通过扫描对应的小程序码或者在小程序入口中搜索,就可以体验目标应用。微信小程序拥有微信支付、滴滴等日常应用的一些功能内容,这些功能将由普通开发者通过标准化接口使用。简而言之,微信小程序是内置在微信中的应用程序,与原生应用程序不同,拥有微小轻的特点,可以直接在微信中打开,并具有与原生应用程序相同的功能和形式,在保持流畅使用的同时,不需要占用太多的内存。2.2.2 相关技术微信小程序提供了网络、媒体、位置、界面、动画等诸多API,开放了大部分功能,开发门槛相对较低,使得开发人员有广阔的空间来实现多种多样的功能。小程序包含一个描述整体程序的app和多个描述各自页面的page,app为小程序主体部分,由小程序逻辑app.js,小程序公共设置app.json和小程序公共样式表app.wxss构成。小程序页面Page的一个页面由四个文件组成,分别为页面逻辑.js、页面结构.wxml、页面样式表.wxss和页面配置Json。开发框架的逻辑层在页面上为.js文件,通过JaVaSCriPI编写,逻辑层设置并处理页面所显示的数据后,传递给视图层,同时接收视图层的事件反馈并进行相应处理。视图层由WXML与WXSS编写,通过页面的Js与.wxml间的数据关联来实现逻辑层与视图层的数据交互。本文中的点名模块客户端使用小程序的框架进行开发。小程序框架提供了一系列基础组件,包括以下八大类:视图容器、基础内容、表单、导航、多媒体、地图、画布以及客服会话,同时提供如媒体、文件、数据缓存、位置、设备、第三方平台、开放接口等多种多样的API,为诸多功能的实现提供便利,从而使开发者能够进行快速高效的开发。2.3 本章小结随着新时代信息技术的迅速发展,互联网技术已经开始出现在教育领域。传统的教学模式集成互联网技术是高等教育改革创新的一条途径,更加先进、多样化、与时俱进的的教育教学模式正在形成。新时代背景下教学理念以及方法与互联网技术等的相互融合,可使教学质量和效率得到提升,激发学生学习的动力,促进教育的良好发展。本文简述了现有的一些点名系统,包括智能手机上的短信猫口令考勤、以及指纹检测、人脸识别等技术与相应软件配合实现的课堂点名系统,并对这些技术的优缺点进行分析,同时思考了设计在微信小程序上的点名系统的可行性。基于微信的点名模块设计旨在通过使用微信实现课堂上的点名过程,进行考勤结果的记录和整理,从而减轻教师负担,提高考勤效率。第3章业务与功能分析3.1 点名系统介绍3.1.1 系统概述本课题设计实现一个微信上的点名系统小程序,通过此程序可以实现课堂考勤和记录信息的查看。初次登录时,学生需要绑定自己的学号和姓名,教师账号需要进行注册,之后微信账号自动登录;在课程考勤表管理部分中,教师可添加相应课程的考勤表并进行编辑;点名时,教师选择课程考勤表与签到时间,生成签到链接。学生通过链接进入签到界面,在满足定位条件的情况下通过输入口令进行签到;最后实现对考勤记录的查看。学生可以浏览参与课程的出勤记录,教师可浏览自己所发布的考勤记录。3.1.2 系统的业务流程点名系统小程序主要包括:用户信息绑定,课堂考勤表管理,签到点名和考勤记录浏览。初次登录时,学生需要绑定自己的学号和姓名,教师账号需要进行注册,之后微信账号自动登录;学生通过点击教师分享的链接进行签到界面,在满足定位信息和输入口令正确的情况下成功签到,在小程序首页浏览自己所在课程的签到状况,可以在个人中心修改自己的相关信息并上传照片。教师能够编辑自己的课程表和课程花名册,作为发布签到的依据。发布签到时,通过选择相应课程,定位教师位置,设置签到口令和签到有效时长后分享链接给学生。在签到结束后对每个学生的签到状况进行修改和确认。教师在签到记录页面中选择目标课程后,显示相应课程缺勤的学生与缺勤次数,同时可浏览该课程最近三次的出勤情况。学生与教师均可在个人中心进行身份切换。图3.1和图3.2分别为点名系统教师角色和学生角色的流程图:图3.1点名系统流程图(教师)图3.2点名系统流程图(学生)3.2 数据需求用户在初次进入点名小程序时,系统获取用户的微信账号信息后,进行学号和姓名的绑定或者切换为教师身份进行账号的绑定。用户信息子系统中包括用户的身份类型、绑定账号以及账号信息,课程考勤表管理子系统中包括课程与对应的教师数据,以及每个课程的名册数据,签到点名子系统包含发布的签到条目数据以及签到结束后添加的记录状况和时间等数据。3.3 功能需求点名小程序对于学生和教师两个角色提供不同的服务,而用户可以在两个角色间进行切换。学生在进行签到时,通过点击教师分享的链接进行签到界面,通过腾讯地图接口实现定位距离与发布签到时位置的检测,在输入口令正确的情况下成功签到。系统不允许学生更改绑定在微信上的学号,以防止学生通过更改学号实现代签。学生可以在个人中心上传自己的照片,方便教师在签到确认时对学生进行识别。为了方便发布签到并实现考勤记录的统计整理,教师需要事先添加自己课程与花名册。由于签到过程中存在种种意外状况,所以签到后的记录不直接添加在数据库中,需要由教师进行确认。在发布签到后,教师首页会显示进行中签到与待确认的签到以供选择。第4章数据结构设计4.1 逻辑结构设计点名小程序设计了用户,学生,教师,课程,签到五个实体。用户具有用户信息和角色类型的属性,教师的属性有教师账号、教师密码,学生具有学号,姓名,照片的属性,课程有课程ID和课程名称的属性,签到有签到ID、口令、持续时长、发布时间和活跃状态的属性。用户与学生、教师间的关系均为一对一,一个教师对应多个课程,一个课程对应多个签到,学生与课程间有点名册的关系,学生与签到间有签到记录的关系。图4.1为点名系统的E-R图:活跃状态活跃状态持续时长签到ID账号 密码图4.1点名系统的E-R图4.1.1 E-R模型图转化为关系模式用户(用户ID,角色类型,用户信息,学号,教师ID)主键为用户ID,外键为学号(学生表),教师ID(教师表)学生(学号,名称,照片地址)主键为学号教师(教师ID,密码)主键为教师ID课程(课程ID,课程名称,教师ID)主键为课程ID,外键为教师ID(教师表)签到(签到ID,课程ID,发布时间,持续时长,口令,活跃状态)主键为签到ID,外键为课程ID(课程表)点名册(课程ID,学号,缺勤次数)主键为(课程ID,学号)记录(签到ID,学号,出勤状态,活跃状态)主键为(签到ID,学号),外键为签到ID(签到表)4.1.2 关系模式规范化在设计数据库关系模式的过程中,每个表满足第一范式的要求,数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。满足第一范式的要求后,数据库表中的每个实例或行必须可以被唯一地区,因此满足第二范式。数据库表中每一个非主属性都不传递依赖于某一个候选码,满足第三范式。4.1.3 关系描述表4.1用户表(JJSer)主键字段名数据类型描述1User_idString用户IDsidString学号tidString教师IDutypeNumber角色类型UserInfb微信用户信息表4.2学生表(student)主键字段名数据类型描述1sidString学号snameString姓名sPicString照片地址表4.3教师表(teacher)主键字段名数据类型描述1tidString教师IDtpwdString密码表4.4课,呈表(course)主键字段名数据类型描述1CidString课程IDcnameString课程名称tidString教师ID表4.5签到表(check)主键字段名数据类型描述1chidString签到IDcidString课程IDtimeNumber发布时间durationNumber持续时长pwdString口令stateNumber活跃状态表4.6名册表(roster)主键字段名数据类型描述1cidString课程ID1SidString学生IDsumabNumber缺勤次数表4.7记录表(record)主键字段名数据类型描述1chidString签到ID1sidString学号absenceNumber出勤状态stateNumber活跃状态4.2 本章小结点名小程序的逻辑结构通过绘制E-R图,转化为关系模式并规范化后,最终设计了用户,学生,教师,课程,签到,点名册,记录七个表,作为实现各种功能的基础。用户属性为用户ID,角色类型,用户信息,学号,教师ID;学生属性为学号,名称,照片地址;教师属性为教师ID,密码;课程属性为课程ID,课程名称,教师ID;签到属相为签到ID,课程ID,发布时间,持续时长,口令,活跃状态;点名册属性为课程ID,学号,缺勤次数;记录属性为签到ID,学号,出勤状态,活跃状态。第5章点名系统的实现与测试在第五章,分别介绍了点名系统中用户信息管理,课程考勤表管理,签到点名,记录浏览四个模块的详细设计与实现以及关键代码。5.1 用户信息管理子系统的实现用户初次进入点名小程序时需要进行学号或教师账号的绑定。用户作为学生角色是,可以在个人中心内上传照片,修改姓名,切换身份。图5.1为用户信息管理子系统流程图:图5.1用户信息管理子系统流程图学生个人中心作为信息管理的重要部分,具有上传照片和编辑姓名的功能,其关键代码如下:uploadPic:function()/上传学生个人照片的功能varthat=this;varaid=wx.getStorageSync(sid);wx.ChooseImage(count:11H默认9,可选择图片的数里SizeType:,Coitqpressed,/可以指定是原图还是压缩图,默认二者都有SourceType:,album*t,camera,/可以指定来源是相册还是相机,默认二者都有success:function(res)vartempFilePaths三res.tempFilePaths;if(tempFilePaths.length>)varname三aid+.jpg";/上传的图片的别名varfile=newBmob.File(name,tempFilePaths);that.setData(sPic:res.tempFilePaths);file.save().then(function(res)varsPic=res.url();学生照片地址varid=nn;varStudent=Bmob.Objecr.extend("student");varquery=newBmob.Query(Student);query.equalTo(sidnfsid);query.first(success:function(obj)/查询成功,将图片地址存储到学生表中对应学生的SPiC属性中id=obj.id;varq=newBmob.Query(Student);q.get(idrsuccess:function(result)result.set(,sPic',sPic);result.save();ferror:function(object,error)COnSOIe.工Og(B添加学生照片失败!)!);terror:function(error)查询失败的情况ConSOle.log(”查询失败:w+error.code+ww+error.message);1);,function(error)console.log(error);!)1)5.2 课程考勤表管理子系统的实现5.2.1 课程考勤表管理概述教师在发布点名前必须选择对应的课程考勤名册。因此需要事先编辑好拥有的课程以及每个课程对应的学生名单,其流程如图5.2所示:图5.2课程考勤表管理子系统流程图5.2.2 课程考勤表管理的详细设计与实现在编辑课程界面可以对课程进行添加和删除,其关键代码如下:/课程表界面的页面加载函数onLoad:function(options)varthat=this;Varrid三wx.getStorageSync(cid);获取教师tidvarCourse=Bmob.Object.extend("course");/实例化课程表对象CoursevarQueryCourse=newBmob.Query(Course);/定义对于CoUrSe的一个查询that.data.myCourse=;/清空页面数据myCoursethat.setData(myCourse:that.data.myCourse!);querycourse.equalTo(tid,Cid);11eryCourse.find(success:function(results)ConSOIe.log(”共查询至n+results.length+n条记录”);获取到tid对应的斫有课程的工D和名称加入页面数据myCourse中for(vari=O;i<results.length;i+)varobj=resultsi;varcid=obj.get(wcid");varcname=obj.get(wcname");varstrl="myCoursew+i+w.cid"varstr2="myCourse"+i+w.cname"that,setData(strl:cid,str2:cname);ferror:function(error)(查询失败的情况COnSOle.log(”查询失败:w+error.code+n"+error.message););)删除所选课程的函数CielCourse:function(e)varChat=this;varmyCourse=that.data.myCourse;common.ShowModal2("确认删除此课程?",”提示R,function(res)(if(res.confirm)varcid三e.target.daraser.cid;获取事件发生的组件的数据集中名为Cid的值,即所选课程的Cidvarindex=parselnt(e.target.daraser.index);获取列表中事件发生的组件的索引值,即当前课程在列表中的索弓I,将其从字符串转化为整数varCourse=Bmob.Object.extend("course");varqueryCourse=newBmob.Query(Course);queryCourse.equalTo(',cidnrcid);queryCourse.destroyAll(/Mcourse表中删除该课程success:function(mybject)console.log(,删除成功,);myCourse.splice(index,1);that.setData(myCourse:myCourse1);ferror:function(mybject,error)console.log(,删除失败,);1);elseif(res.cancel)console.log(,用户点击取消,)1)从课程界面点击对应课程可以浏览相应的名册,编辑名册的功能与编辑课程类似,最终实现如图5.3所示的效果:I中国移动4GW4G七85%1D13:27中国移动4GS46¾58S%I三)13:29I÷WeChat÷WeChat118HK1次*添加课程15世界文学名著选读OO0JK=0古文观止>0002李四1®模概数字电路0O3王三1EOOo60601005White009June»»2«个人中QCopynghiG200B-30t0*eui.io5.3 签到点名子系统的实现5.3.1 签到点名子系统概述用户进行签到点名时,首先由教师在首页进行签到发布,设置相应的签到信息后分享链接给学生,待签到结束后进行确认,其流程如图5.4所示:教师学生图5.4签到点名子系统流程图5.3.2 签到点名子系统的详细设计与实现÷ WeChat÷ WeChat教师发布签到时,选择对应的课程,签到有效时长,签到口令,同时系统获取教师的定位信息。学生通过教师分享的链接进入签到界面,在检测是否为此课程学生和是否符合定位信息后输入口令进行签到,签到成功时记录将暂时添加进记录表中,以待教师确认时进行更新。发布签到的界面如图5.5所示:世界文学名著选读1分髀纬度:31.31经度:120.6425

    注意事项

    本文(基于微信的点名模块设计和实现计算机科学与技术专业.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开