基于Qt設(shè)計(jì)的課堂考勤系統(tǒng)(采用RDS for MySQL云數(shù)據(jù)庫
【摘要】 這篇文章介紹了華為云( RDS for MySQL)的購買,部署,到實(shí)際使用的整個(gè)流程,利用一個(gè)課堂考勤系統(tǒng)軟件來介紹數(shù)據(jù)庫的一個(gè)實(shí)際應(yīng)用場景。云數(shù)據(jù)庫 RDS for MySQL擁有即開即用、穩(wěn)定可靠、安全運(yùn)行、彈性伸縮、輕松管理、經(jīng)濟(jì)實(shí)用等特點(diǎn),架構(gòu)成熟穩(wěn)定,支持流行應(yīng)用程序,適用于多領(lǐng)域多行業(yè)。
1.前言
當(dāng)前設(shè)計(jì)的這個(gè)考勤系統(tǒng)主要應(yīng)用于高校課堂考勤,目前高校管理系統(tǒng)里有很多成功的案例,排課系統(tǒng),教務(wù)管理系統(tǒng)、學(xué)生管理系統(tǒng)等等,這些系統(tǒng)的應(yīng)用直接提高了師生的工作效率,下發(fā)課堂作業(yè),檢查課設(shè)報(bào)告等等,都可以直接在網(wǎng)上操作,非常方便。
目前設(shè)計(jì)的這個(gè)基于RFID的考勤系統(tǒng),采用C++作為編程語言,UI界面采用QT設(shè)計(jì),RFID刷卡插件使用C++開發(fā),RFID刷卡設(shè)備是USB接口協(xié)議,數(shù)據(jù)庫采用華為云的MySQL(RDS for MySQL),方便不同課堂、設(shè)備上可以同步考勤數(shù)據(jù)。
當(dāng)前考勤系統(tǒng)包含的功能模塊如下:
【1】登錄模塊:用戶名和密碼登錄,本設(shè)計(jì)有三類用戶名,包括系統(tǒng)管理員,教師和學(xué)生;
【2】學(xué)生信息管理模塊:學(xué)生基本信息的增加,刪除,修改,查詢;
【3】考勤管理模塊:進(jìn)行學(xué)生簽到和簽退;
【4】射頻卡管理模塊:利用射頻卡對(duì)學(xué)生的考勤情況進(jìn)行記錄;
【5】查詢模塊:管理員,教師,學(xué)生都可以對(duì)自己權(quán)限范圍內(nèi)考勤結(jié)果進(jìn)行查詢;
【6】請假查詢模塊:通過ID查詢學(xué)生請假情況;
【7】數(shù)據(jù)備份模塊:系統(tǒng)數(shù)據(jù)定期進(jìn)行保存,但系統(tǒng)服務(wù)器出現(xiàn)故障時(shí)提供幫助。
該系統(tǒng)有3個(gè)用戶權(quán)限,學(xué)生操作頁面、管理員操作頁面、教師操作頁面。學(xué)生操作頁面,可以查看自己的考勤記錄;教師操作頁面可以查看自己班級(jí)學(xué)生的考勤記錄,添加考勤的學(xué)生;管理員可以查看所有人的考勤記錄,支持所有功能。
當(dāng)前系統(tǒng)里存儲(chǔ)數(shù)據(jù)采用的華為云的在線云數(shù)據(jù)庫MySQL,MySQL數(shù)據(jù)庫是目前最受歡迎的開源數(shù)據(jù)庫之一,其性能卓越,搭配LAMP(Linux + Apache + MySQL + Perl/PHP/Python),成為WEB開發(fā)的高效解決方案。 華為云的RDS for MySQL 數(shù)據(jù)庫擁有穩(wěn)定可靠、安全運(yùn)行、彈性伸縮、輕松管理、經(jīng)濟(jì)實(shí)用等特點(diǎn)。
上面提到的云數(shù)據(jù)庫RDS(Relational Database Service,簡稱RDS)是一種基于云計(jì)算平臺(tái)的穩(wěn)定可靠、彈性伸縮、便捷管理的在線云數(shù)據(jù)庫服務(wù)。
目前華為云數(shù)據(jù)庫RDS支持以下引擎:
MySQL PostgreSQL SQL Server 復(fù)制代碼
云數(shù)據(jù)庫RDS服務(wù)具有完善的性能監(jiān)控體系和多重安全防護(hù)措施,并提供了專業(yè)的數(shù)據(jù)庫管理平臺(tái), 讓用戶能夠在云上輕松的進(jìn)行設(shè)置和擴(kuò)展云數(shù)據(jù)庫。通過云數(shù)據(jù)庫RDS服務(wù)的管理控制臺(tái),用戶無需編程就可以執(zhí)行所有必需任務(wù),簡化運(yùn)營流程,減少日常運(yùn)維工作量,從而專注于開發(fā)應(yīng)用和業(yè)務(wù)發(fā)展。
2. 部署(RDS for MySQL)云數(shù)據(jù)庫
在華為云官網(wǎng)可以免費(fèi)領(lǐng)取一個(gè)月的(RDS for MySQL)云數(shù)據(jù)庫使用權(quán),可以利用這個(gè)免費(fèi)的機(jī)會(huì),充分了解、體驗(yàn)(RDS for MySQL)數(shù)據(jù)庫的使用效果。
注意: 數(shù)據(jù)庫購買部署之后如果需要外網(wǎng)訪問,需要綁定公網(wǎng)IP地址,如果之前購買過公網(wǎng)IP,在購買數(shù)據(jù)庫時(shí)注意選擇相同的區(qū)域。
官網(wǎng)地址:activity.huaweicloud.com/free_test/i…
向下翻,找到MySQL數(shù)據(jù)庫,點(diǎn)擊搶購。
根據(jù)引導(dǎo)頁面填充信息,設(shè)置數(shù)據(jù)庫登錄密碼。
最后完成支付。
查看訂單詳情。
購買成功后,接下來進(jìn)入控制臺(tái)管理頁面。
稍等片刻就會(huì)處理完成。
然后在訂單詳情頁面左上角點(diǎn)擊控制臺(tái)。
展開服務(wù)列表,找到云數(shù)據(jù)庫RDS。
也可以在資源管理里找到自己的實(shí)例。
選擇自己購買的區(qū)域。
選擇正確區(qū)域后,就能看到自己訂單頁面了。
地址: console.huaweicloud.com/rds/?agency…
進(jìn)去之后可以看查看數(shù)據(jù)庫信息。
在內(nèi)網(wǎng)頁面上可以直接登錄數(shù)據(jù)庫。
輸入賬號(hào)密碼后,點(diǎn)擊測試連接。
測量連接成功后,再點(diǎn)擊登錄。
登錄之后,接下來就可以新建數(shù)據(jù)庫測試了。 數(shù)據(jù)庫創(chuàng)建后就可以建表、填充數(shù)據(jù),正常的進(jìn)行數(shù)據(jù)庫的事務(wù)操作了。
3. 綁定公網(wǎng)IP地址
3.1 購買公網(wǎng)IP地址
為了方便數(shù)據(jù)庫支持外網(wǎng)連接,需要給數(shù)據(jù)庫實(shí)例綁定公網(wǎng)IP地址。
沒有公網(wǎng)IP地址就點(diǎn)擊右上角買一個(gè)。
如果是試用期測試的話,可以先買一個(gè)月的。
公網(wǎng)IP購買成功之后就可以看到處于未綁定狀態(tài),接下來綁定即可。
在剛才的頁面繼續(xù)綁定。
公網(wǎng)IP地址綁定成功。
3.2 添加入口規(guī)則
根據(jù)自己的需要開放指定的端口、IP地址范圍,這樣可以有效的限制網(wǎng)絡(luò)攻擊。
4. 考勤軟件連接數(shù)據(jù)庫與RFID讀卡器
4.1 連接數(shù)據(jù)庫
軟件是采用QT設(shè)計(jì)的,在QT里要連接MySQL數(shù)據(jù)庫還有點(diǎn)麻煩,需要自己編輯MQYSQL的庫才行。
4.2 RFID刷卡代碼
采用的RFID讀卡器是USB接口,廠家提供了DLL動(dòng)態(tài)庫,直接連接,調(diào)用DLL庫就可以完成調(diào)用。 型號(hào)是: RF-EYE系列非接觸式 IC 卡讀寫器。
所以自己的代碼就很簡單了,要讀取卡號(hào),讀寫數(shù)據(jù),調(diào)用對(duì)應(yīng)的DLL庫接口就行了。
4.3 編譯MySQL驅(qū)動(dòng)
由于Qt 5在高版本中取消了對(duì)MySQL數(shù)據(jù)庫的默認(rèn)支持,要在QT里繼續(xù)使用mysql需要自己編譯庫。
源碼下載地址: download.qt.io/archive/qt/…
我使用的是QT5.12.6,如果是使用了其他版本QT,下載對(duì)應(yīng)的源碼即可。如果在安裝QT時(shí),默認(rèn)安裝了QT源碼,就不用單獨(dú)下載源碼了。
5. 軟件設(shè)計(jì)流程與思路
5.1 需求分析
(1)使用范圍
此系統(tǒng)主要給高校的教師使用;上課時(shí),學(xué)生進(jìn)入教室拿出學(xué)生卡自己進(jìn)行打開考勤,可以在系統(tǒng)里申請請假以及查看在校期間所有的上課出勤信息。
考慮到整個(gè)學(xué)校學(xué)生眾多,個(gè)人隱私問題,為此每個(gè)新學(xué)生需要由管理員或自己的班主任教師登錄進(jìn)入學(xué)生信息管理頁面進(jìn)行增加學(xué)生的信息操作,進(jìn)行添加學(xué)生的相關(guān)信息;再由學(xué)生自己到登錄界面進(jìn)行學(xué)生注冊操作,完善自己的其他信息,當(dāng)注冊成功提示后,在進(jìn)入到登陸界面填入注冊時(shí)的賬號(hào)和密碼就可以登錄成功,最后才可以使用學(xué)生操作頁面的功能模塊等操作。教師則需要通過指定的教師賬號(hào)和密碼登錄到教師管理后臺(tái),才能使用教師的操作頁面的功能模塊等。系統(tǒng)管理員則需要通過指定的管理員賬號(hào)、密碼登錄到管理員后臺(tái),才能使用管理員操作頁面的功能模塊等。三者的操作頁面相互獨(dú)立,都有權(quán)限限制。
(2)5.2 學(xué)生權(quán)限
學(xué)生可以在密碼信息管理模塊對(duì)自己的賬號(hào)修改密碼操作;還可以在個(gè)人信息管理模塊進(jìn)行修改關(guān)于自己其他的各項(xiàng)信息,學(xué)號(hào)、電話、緊急聯(lián)系人、宿舍編號(hào)等;可在學(xué)生信息管理的模塊查看自己所有的信息,可以刷卡快速讀取卡號(hào)信息,匹配到指定的學(xué)生;可在建議信息管理模塊來增加、查詢自己或者別人的建議信息;可在成績信息管理模塊來查詢自己的成績信息;可在考勤簽到提醒管理模塊來查看自己之前未簽到,遲到的相關(guān)信息以及查詢系統(tǒng)對(duì)自己的評(píng)價(jià)記錄;如果需進(jìn)行退出系統(tǒng),可點(diǎn)擊右上角的XX退出系統(tǒng)模塊。如果學(xué)生忘記密碼,可以在軟件的登陸界面點(diǎn)擊找回密碼按鈕,再填寫相關(guān)信息就可找回密碼,或者管理員幫助修改密碼。
(3)教師與管理員權(quán)限
教師可以在密碼信息管理模塊的頁面上進(jìn)行修改密碼操作;然后可在個(gè)人的信息管理模塊頁面來修改關(guān)于自己的各項(xiàng)信息,比如:聯(lián)系方式,姓名,職務(wù)等等;可以在注冊教師管理模塊頁面查看自己注冊的信息,可以查詢本班級(jí)注冊的其他學(xué)生;可在學(xué)生信息管理模塊進(jìn)行增加、查詢學(xué)生的信息操作;可在成績管理模塊進(jìn)行增加、查詢學(xué)生成績信息的操作;可在班費(fèi)信息管理模塊進(jìn)行增加、查詢班級(jí)活動(dòng)費(fèi)用的信息操作;可在通知公告管理模塊頁面進(jìn)行增加、查詢發(fā)布的通知公告操作……如果需要進(jìn)行退出系統(tǒng)操作,可以點(diǎn)擊退出系統(tǒng)模塊,也可點(diǎn)擊右上角的退出按鈕。管理員是當(dāng)前系統(tǒng)的最高權(quán)限者,在教師可進(jìn)行的操作模塊上還可以進(jìn)行增加、查詢教師用戶的操作。
轉(zhuǎn)載請?jiān)谖恼麻_頭和結(jié)尾顯眼處標(biāo)注:作者、出處和鏈接。不按規(guī)范轉(zhuǎn)載侵權(quán)必究。
未經(jīng)授權(quán)嚴(yán)禁轉(zhuǎn)載,授權(quán)事宜請聯(lián)系作者本人,侵權(quán)必究。
本文禁止轉(zhuǎn)載,侵權(quán)必究。
授權(quán)事宜請至數(shù)英微信公眾號(hào)(ID: digitaling) 后臺(tái)授權(quán),侵權(quán)必究。
評(píng)論
評(píng)論
推薦評(píng)論
暫無評(píng)論哦,快來評(píng)論一下吧!
全部評(píng)論(0條)