賀學福 李偉民 李林 王思尹 成思強
摘要:針對高校課堂使用傳統(tǒng)的人工考勤通常要浪費大量上課時間,效率低下,影響了教學的進度,而且傳統(tǒng)的人工考勤很難發(fā)現(xiàn)學生的逃課、一人代簽多人的情況等現(xiàn)象,開發(fā)了基于微信小程序的具有激勵機制和趣味性的課堂考勤管理系統(tǒng)。本系統(tǒng)使用Java語言編寫,采用Spring和Hibernate框架,以 MySQL 作為系統(tǒng)數(shù)據(jù)庫,采用野狗云服務器作為云服務器,采用Tomcat服務器作為Web管理平臺服務器。利用微信小程序簡單便捷的特性再配以Web端管理平臺,教師可以管理課程信息、教室信息等,學生可以快速簽到選座等,極大地簡化了教師的工作,提高了高校考勤的效率;為了激勵學生學習和提高學生的學習興趣,設計了有獎?chuàng)尨鸷头e分購物享折扣的特色模塊。
關鍵詞:微信小程序;課堂考勤管理;Java;Web管理平臺;MySQL數(shù)據(jù)庫
中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)03-0069-04
目前大部分高校主要還是采用人工考勤制度,人工考勤方式存在許多弊端,考勤效率低、操作上也不便利。人工考勤方式會占用大量上課時間,也時有發(fā)生同學代簽的情況,而且過多的批評學生遲到、曠課和早退現(xiàn)象可能會影響學生的上課情緒,也可能影響上課效率。因此,高??记谥贫鹊膬?yōu)化是當前所需,更有效、更快速地點名考勤手段就變得急迫需要。而微信小程序是一種不需要下載安裝即可使用的應用,作為即搜即用、“用完即走”、無需擔心安裝太多應用占用空間問題的便捷應用[1],非常適合應用到高校課堂考勤系統(tǒng)。
因此,為了提高高校考勤效率和激發(fā)學生的學習興趣,開發(fā)出了一種基于微信小程序的具有激勵機制和趣味性的課堂考勤管理系統(tǒng)。本系統(tǒng)主要包括課堂考勤、導入課程表、選座簽到、智能監(jiān)控、有獎?chuàng)尨鸬裙δ?為了激勵學生學習和激發(fā)學生的學習興趣,增加了有獎?chuàng)尨鹉K,教師可根據(jù)學生的表現(xiàn)給予積分獎勵,學生積分的高低可以作為平時成績的依據(jù),所得的積分還可以通過積分購物享折扣獲得合作商家的購物優(yōu)惠;為了使學生在課后獲得更多樂趣,也為了本項目在市場上可以穩(wěn)定地運行,特意加入周邊商家模塊和下課聊模塊,學生在課后可以查看周邊模塊,購買周圍合作商家的一些美食和查看到美景信息,還可以通過下課聊模塊聊天、交朋友。
1 概要設計
1.1 系統(tǒng)總體框架設計
系統(tǒng)總體架構設計關乎整個系統(tǒng)的效率、開發(fā)難度、后期維護等問題,所以一個系統(tǒng)的總體框架設計是一個系統(tǒng)開發(fā)前必須尤為重視的一方面。本系統(tǒng)采用微信小程序作為客戶端,以Web管理平臺為服務端,再配以野狗云服務器為數(shù)據(jù)實時同步的橋梁。其總體設計框架如圖1:
1.2客戶端框架設計
客戶端總體框架分為教師端模塊和學生端模塊。其中學生端模塊主要有:登錄模塊,信息確認模塊,周邊模塊,個人中心模塊,選座簽到模塊,課堂監(jiān)控模塊、有獎?chuàng)尨鹉K等。教師端模塊主要有:登錄模塊,信確認模塊,查看考勤模塊等。其整體模塊如圖2:
1.3 Web管理平臺框架設計
Web管理平臺有商家管理模塊、教師管理模塊、課程表管理模塊、班級管理模塊、學生管理模塊、教室管理模塊、科目管理模塊、作息時間表管理模塊、考勤管理模塊以及統(tǒng)計模塊登錄模塊。其中商家管理模塊和教師管理模塊只提供給超級管理員使用,其他模塊則提供給教師使用,如圖3:
1.4云服務器數(shù)據(jù)節(jié)點設計
本系統(tǒng)的客戶端實時同步的橋梁采用野狗實時通訊引擎。野狗云對微信小程序有專屬的SDK,與小程序對接極為方便。野狗云提供的API也非常簡潔,只需幾行代碼,就可以在微信小程序內接入實時通訊引擎。在本系統(tǒng)的設計中,以日期作為根節(jié)點,子節(jié)點為課程節(jié)次,節(jié)次的子節(jié)點為教室名稱,教室名稱后存儲當前教室的考勤信息,其中包括三大板塊,教室位置信息(location)、學生座位信息(seat)以及學生信息(student)。位置信息保存的是當前上課的經(jīng)緯度信息,由教師端上傳;學生座位信息是一個二維數(shù)組,保存座位的狀態(tài);學生信息主要保存學生簽到的時間、座位以及學號等信息。如圖4:
1.5數(shù)據(jù)庫整體設計
本系統(tǒng)的數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫,MySQL是當前主流并且開源的SQL數(shù)據(jù)庫管理系統(tǒng)。一個項目的數(shù)據(jù)庫設計是整個系統(tǒng)最基礎也是最重要的一部分,數(shù)據(jù)庫設計的好壞,直接關系到整個系統(tǒng)的復雜度、效率等一系列問題。所以數(shù)據(jù)設計的好壞極為重要。本系統(tǒng)主要有十個實體,分別為:課程實體、班級實體、學生體、教師實體、科目實體、作息時間、教室實體、考勤實體、商家實體、商家圖片實體。實體之間的關系如圖5:
2 系統(tǒng)功能詳細設計
本項目為基于微信小程序的課堂考勤系統(tǒng),系統(tǒng)分為客戶端和Web管理平臺,本系統(tǒng)本著人性化原則,無論是客戶端還是Web管理平臺,界面設計都做到簡潔、嚴謹、友好、易于操作。本章介紹了本項目部分功能的設計與實現(xiàn)、部分業(yè)務邏輯代碼編寫等。
2.1客戶端設計
客戶端由微信小程序實現(xiàn),分為學生端和教師端。其登錄界面如圖6:
2.1.1與野狗云服務器對接
2.1.1.1下載野狗云SDK
首先到野狗云官網(wǎng)下載實時通信引擎微信小程序版SDK,并將其放入微信小程序項目的libs目錄下。
2.1.1.2安裝SDK到微信小程序
1)在野狗云控制面板中創(chuàng)建應用。
2)在微信公眾開放平臺管理中心的配置服務器域名socket 合法域名: wss://s-dalwx-nss-1.wilddogio.com,request 合法域名:https://auth.wilddog.com。
3)安裝 SDK 到微信小程序。在小程序的app.js中初始化野狗云服務器。
2.1.2與Web管理平臺對接
基于微信小程序的課堂考勤系統(tǒng)大部分數(shù)據(jù)都是從Web管理平臺獲得。微信小程序提供了發(fā)起網(wǎng)絡請求的API。通過微信小程序官方提供的API可以簡便的和Web管理平臺做對接。學生端獲得當前的課程信息如圖 7:
2.1.3客戶端功能模塊設計
1)登錄
學生或教師在使用本系統(tǒng)之前,均需登錄,客戶端發(fā)送用戶名及密碼到Web管理平臺,Web管理平臺驗證信息,返回授權信息。
2)信息確認
學生或教師登錄后,都會進入信息確認模塊,客戶端發(fā)送請求到Web管理平臺,WEB管理平臺會返回當前課程信息給學生或者教師確認。若沒有當前時間段沒有課,則顯示“休息下,本段時間沒有有課喲”,其部分代碼入下:
3)選座簽到
學生確認信息無誤后,便進入選座簽到模塊,每個學生只能選擇一個座位,若學生選擇則會彈出提示:“您已經(jīng)選座了喲”??蛇x座位為綠色,紅色則為已選座位。學生選座后,會將選座信息上傳到野狗云服務器,這樣其他學生和教師便可實時同步選座信息。學生選座簽到界面如圖8:
4)計時監(jiān)控
學生選擇座位簽到后,將進入課堂監(jiān)控模塊,在課堂監(jiān)控模塊,顯示當前時間到下課時間的倒計時,如果學生退出該頁面去做了其他事情,系統(tǒng)則會監(jiān)測到這種行為,并把這種行為當成上課不認真的體現(xiàn)。學生端首先發(fā)送請求到Web管理平臺,從而得到當前時間到下課時間這段時間的毫秒數(shù),學生端再將其解析為時分秒格式,并顯示到客戶端。計時監(jiān)控如圖9:
5)有獎?chuàng)尨鹋c積分購物享折扣
為了提高學生上課的積極性和激發(fā)學生的學習興趣,設置了有獎?chuàng)尨鹋c積分購物享折扣模塊。教師在教師端發(fā)布問題,學生便可在學生端搶答,通過學生回答問題的表現(xiàn)情況給予積分獎勵,該積分可累計,在平臺上的合作商家店鋪購物時可換取折扣,也可在期末時當作學生平時成績的一種體現(xiàn)。
2.2? Web管理平臺設計
Web管理平臺使用Java語言開發(fā)[2],WEB管理平臺提供給教師使用,Web管理平臺作為教師課前準備工具以及學期統(tǒng)計工具。
2.2.1導入課程表
導入課程表為Web管理平臺的關鍵功能,由數(shù)據(jù)庫設計可知,課程表與本系統(tǒng)大部分數(shù)據(jù)表都有依賴關系,所以課程表的導入是Web管理平臺設計的重點難點。課程表是教師提供的Excel電子表。Web管理平臺采用Apache POI讀寫Excel電子表。導入課程表的界面如圖10:
2.2.2教室座位布局管理
課程表導入時,系統(tǒng)會自動生成教室列表,系統(tǒng)自動生成教室的座位布局為十行十列。若教師需要修改或者添加座位,可在教室管理模塊做相應操作。系統(tǒng)支持設置過道等特殊布局,教師在布局設置頁面可對教室的座位布局信息做相應修改,后臺以二維數(shù)組信息存儲,二維數(shù)組在Java程序設計語言內,可看作一個Java對象;而Java程序語言支持對象序列化,所以MySQL數(shù)據(jù)提供的Blob數(shù)據(jù)類型可存儲Java對象;需要使用時,將數(shù)據(jù)庫的Blob數(shù)據(jù)類型的查詢出來,再反序列化即可得到Java二維數(shù)組對象[3]。教室座位布局設置如圖12:
2.3商家管理
為了學生在課后能有更多熟悉本系統(tǒng)的機會和提供給學生更多的趣味,以及后期系統(tǒng)的運營問題,特意加入商家模塊,商家在學生端以周邊形式顯示,商家類型分為美食和美景,在WEB管理平臺,提供添加商家、修改商家信息以及刪除商家功能。商家管理功能只提供給超級管理員。普通教師用戶登錄到WEB管理平臺時,不顯示商家管理功能。添加商家界面如圖13:
2.4考勤統(tǒng)計
每節(jié)課結束,學生的考勤信息將存儲到數(shù)據(jù)庫中,每個學期結束,教師可在Web管理平臺查看每個學生的考勤信息。并可以Excel表格式導出。本系統(tǒng)采用在數(shù)據(jù)庫中建立存儲過程實現(xiàn)統(tǒng)計功能。存儲過程(Stored Procedure)是已預編譯為一個可執(zhí)行過程的一個或多個SQL語句。一般存儲過程是為了實現(xiàn)一個特定的功能而創(chuàng)建。由于本系統(tǒng)的統(tǒng)計功能需要多個SQL語句共同完成,所以采用存儲過程不但可以提高系統(tǒng)效率,還可以簡化開發(fā)難度。
導出的統(tǒng)計信息如圖15:
3 結束語
該文針對傳統(tǒng)人工考勤的弊端,設計了基于微信小程序的具有激勵機制和趣味性的課堂考勤管理系統(tǒng),該系統(tǒng)是基于當前非常流行的微信平臺開發(fā)的,使用方便、簡捷,維護和升級也容易,旨在提高學生的學習積極性和激發(fā)學生的學習興趣,以及減輕教師考勤的工作負擔。經(jīng)過對系統(tǒng)反復的測試和應用,系統(tǒng)可靠、穩(wěn)定[4],證明該系統(tǒng)達到了課堂考勤和提高學生學習積極性的功能需求。
參考文獻:
[1] 劉紅衛(wèi). 微信小程序應用探析[J].無線互聯(lián)科技,2016(23):11-12.
[2] 王歸航.基于Java的Web開發(fā)技術的探討[J].信息系統(tǒng)工程,2018(7):95.
[3] 王會芳,武變霞.基于Java的數(shù)據(jù)庫應用框架的研究設計[J].科技資訊,2018(15):19-20.
[4] 戴麗麗,朱妤.基于微信小程序的課堂考勤管理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2018,14(19):55-57.
【通聯(lián)編輯:唐一東】