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