springboot高校学生健康打卡系统的设计与实现毕业设计源码021009
基于springboot 高校學生健康打卡系統
摘?要
2019年12月19號中國武漢發生第一例新冠病毒的到來,大家都在聽從政府的號召在居家隔離,不管是在城市還是在鄉鎮、農村,這引起我的注目,設計一套高校學生健康打卡系統,疫情防控需要大家共同努力、團結對校園學生進行了新型冠狀病毒肺炎防控知識普及和宣傳教育,通過校園公告欄、樓道張貼宣傳單、校園廣播每日循環廣播、校園微信群等多種形式,從個人防護知識、校園防護知識、外出公共場所防護知識、新型冠狀病毒肺炎醫學知識、就醫流程五個方面,有針對性地向在校同學普及防疫知識。充分做到疫情防控人人知曉、人人參與認識病毒的可怕,最好方式就是建立校區的平臺信息,并對其進行管理。
系統采用了Java技術,將所有業務模塊采用以瀏覽器交互的模式,選擇MySQL作為系統的數據庫,開發工具選擇My eclipse來進行系統的設計。基本實現了高校學生健康打卡系統應有的主要功能模塊,本系統有管理員、教師、學生。管理員:管理員:首頁、用戶管理(管理員、教師、學生)更多管理(班級管理、通知公告、每日安排、每日打卡、學生請假、學生日記、疫情上報)。教師;教師:首頁、學生管理、通知公告、每日安排、每日打卡、學生請假、學生日記、疫情上報。學生;首頁、通知公告、每日安排、每日打卡、學生請假、學生日記、疫情上報管理等。
對系統進行測試后,改善了程序邏輯和代碼。同時確保系統中所有的程序都能正常運行,所有的功能都能操作,并且該系統有很好的操作體驗,實現了對于高校學生健康打卡系統對學生管理、教師管理、政府部門雙贏。
關鍵詞:數據通信;Java語言;數據存儲
College Students' health punch in system based on springbootAbstract
The first COVID-19 came to China in December 19, 2019. Everyone is following the government's call to isolate at home. Whether in city or in town or countryside, this has attracted my attention. A closed management system for students' epidemic situation has been designed. The epidemic prevention and control needs concerted efforts of the whole family. The Wuhan campus has carried out the popularization and education of New Coronavirus pneumonia prevention and control through campus bulletin boards. A variety of forms such as flyers, campus circular daily broadcast, campus WeChat group and so on are publicized on the corridor, from the five aspects of personal protection knowledge, campus protection knowledge, knowledge of public places, knowledge of New Coronavirus pneumonia, and medical treatment process, aiming to popularize epidemic prevention knowledge among students at school. The best way to fully realize that everyone knows and participates in the prevention and control of the epidemic and understand the terrible of the virus is to establish the platform information of the campus and manage it.
The system adopts Java technology, adopts the mode of browser interaction for all business modules, selects MySQL as the database of the system, and selects my eclipse as the development tool to design the system. Basically realized the main functional modules of the student epidemic closed management system. The system has administrators, teachers and students. Administrator: Administrator: home page, user management (administrator, teacher, student) and more management (class management, notice and announcement, daily arrangement, daily clock in, student leave, student diary, epidemic reporting). teacher; Teacher: homepage, student management, notice and announcement, daily arrangement, daily clock in, student leave, student diary, epidemic report. student; Home page, notice and announcement, daily arrangement, daily clock in, student leave, student diary, epidemic reporting management, etc.
After testing the system, the program logic and code are improved. At the same time, it ensures that all programs in the system can operate normally and all functions can be operated, and the system has a good operation experience, which realizes the win-win of the closed management system for students, teachers and government departments.
Keywords: data communication; Java language; data storage
目錄
第1章 緒論
1.1 研究背景
1.2 開發現狀
第2章 相關技術介紹
2.1 開發技術
2.2 MVVM模式
2.3 Mysql數據庫
2.4 B/S結構
2.5 SSM框架介紹
2.6 Vue.js 主要功能
第3章 系統分析
3.1 可行性分析
3.1.1 技術可行性分析
3.1.2 經濟可行性分析
3.1.3 操作可行性分析
3.2 功能需求分析
3.3 數據流程分析
第4章 系統設計
4.1 系統架構設計
4.2 系統功能結構
4.3 功能模塊設計
4.4 數據庫設計
4.4.1 概念模型
4.4.2 關系模型
4.4.3 數據表
第5章 系統實現
5.1 登錄模塊的實現
5.2.1 ?用戶首頁模塊
5.2.2每日安排模塊
5.2.3每日打卡模塊
5.2.4學生請假模塊
5.3管理員子系統模塊的實現
5.3.1學生管理模塊
5.3.2每日安排管理模塊
5.3.3每日打卡模塊
5.3.4教師管理模塊
第6章 系統測試
6.1 測試目的
6.2 測試過程
6.3 測試結果
第7章 總結與展望
參考文獻
致謝
由于新冠病毒突然其來給社區帶來壓力增大,學生的防疫知識還沒有得到普及,學生也不知如何應對,在政府在大力支持下,讓有需要的學生得到校園的悉心照顧。
近年來,隨著我國經濟的不斷發展,平臺的管理制度越來越多。每個高校學生健康打卡系統也都將通過計算機進行整體智能化操作,對于高校學生健康打卡系統功能所牽扯的數據都是通過學生進行高校學生健康打卡系統等相關的數據信息內容、并且可以進行管理員在線處理選擇管理員,可以通過系統進行分配,傳統的防疫方式信息已經無法滿足學生的需求。為此開發了本高校學生健康打卡系統 ,為學生提供一個基于高校學生健康打卡系統管理 ,同時方便管理員在線了解情況,管理員通過系統對首頁、用戶管理(管理員、教師、學生)更多管理(班級管理、通知公告、每日安排、每日打卡、學生請假、學生日記、疫情上報)等詳細情況進行操作。該系統滿足了學生對高校學生健康打卡系統信息獲取的需求,并且信息可以及時、準確、有效地進行查看并且系統化、標準化和有效的工作。
隨著社會的發展和科學技術的進步,互聯網技術越來越受歡迎。網絡傳播的生活方式逐漸受到廣大人民群眾的喜愛。越來越多的互聯網愛好者開始在互聯網上滿足他們的基本需求,同時逐漸進入各個居民的生活起居。互聯網具有許多優點,例如便利性,速度,高效率和低成本。因此,類似于高校學生健康打卡系統 ,滿足學生疫情防控知識的需求,不僅是方便學生隨時查看信息的途徑,而且還能提高管理效率。
本文首先以高校學生健康打卡系統過程的基本問題作為研究對象。在開發系統之前,我們對現有狀況進行了詳細的調查和分析。最后,我們利用計算機技術開發了一套完整合適的大學生疫情在校封閉管理系統,該系統的實現主要優勢是:該系統主要采用計算機技術開發,它方便快捷;系統可以通過管理員界面查看學生、老師的所有信息管理。
高校學生健康打卡系統是一款方便、快捷、實用的信息服務查詢軟件。隨著智能網絡在全球市場的不斷普及以及各種智能平臺的使用,系統的開發與學生在校的日常需求相關,作為中國主流智能的技術開發系統,自然需要這樣的軟件來滿足更多學生的需求和體驗。
1.3研究內容
高校學生健康打卡系統的開發及實現,所需要的工作內容:
(1)首先是確定選題,確定好所要做的系統,并對系統的背景及現在面臨的一些問題等進行系統的初步確認。
(2)系統確認完成后,結合系統開發的需求進行確認系統開發所使用的技術,本高校學生健康打卡系統的開發使用JAVA技術,數據庫進行平臺的搭建開發,確認好使用的技術進行技術分析,所使用的技術是否可以完成高校學生健康打卡系統的實現。
(3)確定好系統使用的技術,進行在線確認系統所劃分的學生角色,并且根據學生角色劃分確定所要設計的功能模塊,對于高校學生健康打卡系統的設計主要劃分別為管理員和教師、學生三個角色,并所使用的功能模塊也相應不同,但是系統的數據庫實現的內容是交互的,學生跟老師可以隨時根據自己的需求進行查看疫情信息,管理員獲取到所有學跟老師的詳細數據信息,并根據需求進行第一時間處理解決。
(4)系統的功能模塊確認完成后進行程序及界面的設計,設計完成后,并且通過測試來判斷程序是否完善,對于系統測試,需要不同的學生進行不同的內容編輯及提交,及使用不同的測試方式找出程序中存在的漏洞,并對程序出現的漏洞問題進行在線解決處理,如果測試系統沒有任何問題時,可以將系統上傳進行正式操作使用。
本系統前端部分基于MVVM模式進行開發,采用B/S模式,后端部分基于Java的ssm框架進行開發。
前端部分:前端框架采用了比較流行的漸進式JavaScript框架Vue.js。使用Vue-Router和Vuex實現動態路由和全局狀態管理,Ajax實現前后端通信,Element UI組件庫使頁面快速成型,項目前端通過柵格布局實現響應式,可適應PC端、平板端、手機端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用ssm作為開發框架,同時集成MyBatis、Redis等相關技術。
MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。當然這些事 ViewModel 已經幫我們做了,它可以取出 Model 的數據同時幫忙處理 View 中由于需要展示內容而涉及的業務邏輯。微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節化、可定制化。同時,在技術層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的一種新型架構框架。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應對客戶日益復雜的需求變化。
科技的進步,給日常帶來許多便利:教室的投影器用到了虛擬成像技術,數碼相機用到了光電檢測技術,比如超市貨物進出庫的記錄需要一個信息倉庫。這個信息倉庫就是數據庫,而這次的高校學生健康打卡系統也需要這項技術的支持。
用MySQL這個軟件,是因為它能接受多個使用者訪問,而且里面存在Archive等。它會先把數據進行分類,然后分別保存在表里,這樣的特別操作就會提高數據管理系統自身的速度,讓數據庫能被靈活運用。MySQL的代碼是公開的,而且允許別人二次編譯升級。這個特點能夠降低使用者的成本,再搭配合適的軟件后形成一個良好的網站系統。雖然它有缺點,但是綜合各方面來說,它是使用者的主流運用的對象。
B/S(Browser/Server)比前身架構更為省事的架構。它借助Web server完成數據的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達到“瘦身”效果, 不需要考慮不停裝軟件的問題[9]。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內容)。常作為數據源較簡單的web項目的框架。
1.6.1 Spring
Spring就像是整個項目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數去調用實體類的構造方法來實例化對象。也可以稱之為項目中的粘合劑。
Spring的核心思想是IoC(控制反轉),即不再需要程序員去顯式地`new`一個對象,而是讓Spring框架幫你來完成這一切。
1.6.2 SpringMVC
SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介或是前臺這樣的職責,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應請求所執行的操作。SpringMVC相當于SSH框架中struts。
1.6.3 mybatis
mybatis是對jdbc的封裝,它讓數據庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。mybatis通過配置文件關聯到各實體類的Mapper文件,Mapper文件中配置了每個類對數據庫所需進行的sql語句映射。在每次與數據庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。
頁面發送請求給控制器,控制器調用業務層處理邏輯,邏輯層向持久層發送請求,持久層與數據庫交互,后將結果返回給業務層,業務層將處理邏輯發送給控制器,控制器再調用視圖展現數據。
Vue.js是一套構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和Vue生態系統支持的庫開發的復雜單頁應用。
Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。
Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支持庫一起使用時,Vue.js 也能驅動復雜的單頁應用。
系統的開發環境和配置都是可以自行安裝的,系統使用ssm框架開發,使用比較成熟的Mysql數據庫進行對系統前臺及后臺之間相關的數據交互,根據技術語言對數據庫,結合需求進行修改維護,可以使得系統運行更具有穩定性和安全性,從而完成實現系統的開發。
所謂的技術可行性就是在限定時間,前期擬定的功能能否被滿足。在開發設計上是否會遇上解決不了的問題。做完的項目能否被很好地應用,如果存在缺點在后期的維護上是否存在很大的難度。在對這個系統評估后,認定已存在的技術能達成目標。用java技術來實現動態的頁面,嵌入低依賴性的設計模式,靈活的數據庫,配合穩定的服務器,整個系統的運行效率大大提升。由此可見,在技術層面達成目標不是非非之想。
在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發前期,開發時用于項目的經費將會大大降低,不會讓開發該軟件在項目啟動期受到經費的影響,所以經濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經費用于人工費,以及設備費用。將在無紙化,高效率的道路上越走越遠。
本系統實現功能的操作很簡單,普通電腦的常見配置就可以運行本軟件,并且只要粗通電腦使用的基本常識就可以流暢的使用本軟件。電腦具備連接互聯網的能力,并且可以正常訪問系統,并不需要操作者有什么高超的能力,只需了解業務流程,并且按照專業知識進行正確操作即可,所以高校學生健康打卡系統具備操作可行性。
在系統開發設計前,應該對功能做初步設想,清楚這個管理系統有什么板塊,每個板塊有什么功能,整體的設計是否滿足使用者的需求,接著對所開發的系統功能進行的詳細分析總結,從而設計出完整的系統并將其實現。用戶和開發人員的交流分析,使其達到最佳理解程度,使系統功能達到最佳。
學生后臺功能圖如下所示。
?
圖3-1 學生后臺功能圖
管理員后臺功能圖如下所示。
?
圖3-2 管理員用例圖
教師后臺功能圖如下所示。
?
圖3-3 教師后臺功能圖
高校學生健康打卡系統在對需求做解析后,整個系統主要分為三個部分:管理員、教師和學生,每個模塊下的分支功能不一樣。對功能做出如下說明:
學生模塊:
賬號登錄認證。
管理個人資料信息,修改可修改的信息項。
每日安排(健康打卡、請假、日記)添加和查詢已有安排的記錄。
教師模塊:
個人資料管理,修改刪除自己的信息。
學生的添加與查詢、每日安排的查詢、健康打卡的查詢、請假管理的查詢與審核請假、日記管理的查詢及刪除、通知公告的查詢、日記統計的查看。
管理員模塊:
系統用戶的管理,管理和添加刪除管理員,可以設置登錄權限,或者刪除所有用戶賬號。
教師管理,添加教師的具體信息與查詢教師同時也具備刪除教師。
通知管理,添加發布公告查詢公告和刪除公告的功能。
學生管理,查詢學生的信息,也具備修改和刪除功能。
每日安排管理,查詢學生安排的信息,也具備修改和刪除功能。
健康打卡管理,查詢學生打卡的信息,也具備修改和刪除功能。
請假管理,查詢學生請假的信息,也具備修改和刪除功能。
日記管理,查詢學生日記的信息,也具備修改和刪除功能。
日記統計,查詢統計視圖。
系統管理,系統的備份功能。
非功能需求分析
系統非功能需求有非常多,比如性能需求、可承載最大用戶數、穩定性、易用性需求等。本系統分析時考慮到易用性需求,因為系統是給人使用的,所以必須充分從用戶的角度出發,考慮用戶體驗,使系統易理解易上手易操作。
零層數據流程圖包括了登錄、用戶功能和檢索維護等模塊,在登錄模塊使用到的數據存儲有用戶賬戶文檔,用戶功能模塊需要的存儲是用戶各功能模塊數據文檔,檢索維護是使用以上這些數據文檔通過關鍵詞進行檢索。
系統的零層數據流圖如下圖所示。
?
圖3-2系統數據流圖(零層)
一層數據流程圖是對零層數據流程圖的細化,將登錄細分為填制登錄數據和完善數據,用戶功能細分為用戶基本功能和用戶主要功能。
系統的一層數據流圖如下圖所示。
?
圖3-3系統數據流圖(一層)
系統設計
目前B/S體系的系統主要的數據訪問方式是:通過瀏覽器頁面用戶可以進入系統,系統可以自動對用戶向服務器發送的請求進行處理,處理請求是在系統后臺中進行的,用戶在瀏覽器頁面上進行相應操作,就能夠看到服務端傳遞的處理結果。高校學生健康打卡系統主要分為視圖-模型-控制三層架構設計。在視圖層中,主要是操作在服務器端向客戶端反饋并顯示的數據,在模型層中,主要處理相關的業務邏輯、數據整合等,最后的控制層它介于視圖和模型之間,主要是調整兩層之間的關系,最終落實數據的傳遞。
系統架構圖如下圖所示。
?
圖4-1系統架構圖
系統設計的目的是分析系統包括的所有功能結構,為開發人員設計開發和實現系統做好準備工作。經過前期的需求調查、分析和整理之后,確定的總體需求主要包括多個模塊,分別是:系統用戶管理、教師管理、通知公告管理、班級管理、學生管理、每日安排原來管理、健康打卡管理、請假管理、日記管理、日記統計、數據備份。系統整體角色分為三個部分,一是學生、二是教師、最后是管理員。權限分布也是很明顯,普通用戶是在除去瀏覽信息之外還具有查詢和管理自己賬戶信息、教師資料修改、每日安排查詢、健康打卡查詢、請假查詢、日記查詢、通知公告查詢、日記統計查詢等權限;管理員是最高權限擁有者。
系統功能結構圖如下圖所示。
圖4-2系統功能結構圖
?
用戶管理模塊
該模塊是為所有用戶登錄設計的,如學生用戶這種普通用戶登錄后只能進行自己的普通功能操作(如個人信息修改),管理員和超級管理員登錄后有不同的權限,管理員不能超越權限。超級管理員能對整個系統的數據進行管理,主要是用戶的登錄權限以及用戶登錄后在系統里的操作權限。
每日安排模塊
學生和安排存在關系為一對多,根據每日安排來將安排數據傳入到系統數據中,操作人為教師用戶,然后生成每日安排列表,學生可查看個人歷史安排列表每條數據右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
健康打卡模塊
學生來錄如打卡數據,點擊打卡按鈕,依次填寫要錄入的打卡個人狀態信息數據,身體狀態信息點擊提交按鈕,將數據提交至數據庫,然后刷打卡數據頁面,每條數據右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
請假模塊
學生錄入請假數據,點擊請假錄入按鈕,依次填寫要錄入的請假信息數據,點擊提交按鈕,將數據提交至數據庫,然后刷新請假數據頁面,每條數據右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
日記模塊
學生點擊日記管理菜單,點擊添日記,添加心情,日記內容提交成功后,公告數據頁面刷新,新數據成功載入頁面。
對于一個要開發的系統來說,E-R圖可以讓別人能更快更輕松的了解此系統的事務及它們之間的關系。根據系統分析階段所得出的結論確定了在高校學生健康打卡系統中存在著多個實體分別是用每日安排、健康打卡、請假、日記、學生、教師。
系統總體ER圖如下圖所示。
?
圖4-4系統總體ER圖
管理員(管理員id、用戶名、密碼、權限)
教師管理(教師工號、密碼、教師姓名、性別、身份證、電話、職稱、助教課程、照片)
通知公告(標題、內容、附件、發布人)
學生管理(學號、密碼、姓名、性別、身份證、電話、院系、班級、照片、教師工號、添加時間)修改刪除詳情。
每日安排管理(學號、學生姓名、班級、院系、教師工號添加時間)修改刪除詳情。
健康打卡管理(學號、學生姓名、班級、院系、教師工號、個人狀態、身體狀態、當前地址、添加時間)修改刪除詳情。
請假管理(請假單號、請假類型、請假開始時間、請假結束時間、是否離校、相關憑證、學號、姓名、班級、院系、教師工號、添加時間、)修改刪除詳情。
日記管理(學號、學生姓名、班級、院系、教師工號、心情、添加時間)修改刪除詳情。
數據庫邏輯結構就是將E-R圖在數據庫中用具體的字段進行描述。用字段和數據類型描述來使對象特征實體化,最后形成具有一定邏輯關系的數據庫表結構。高校學生健康打卡系統所需要的部分數據結構表如下表所示。
| class_management | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| class_management_id | int | 11 | 否 | 主鍵 | 班級管理ID |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| headmaster | varchar | 64 | 是 | 班主任 | |
| contact_number | varchar | 64 | 是 | 聯系電話 | |
| class_size | int | 11 | 是 | 班級人數 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| daily_schedule | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| daily_schedule_id | int | 11 | 否 | 主鍵 | 每日安排ID |
| student_number | int | 11 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| record_date | date | 0 | 是 | 記錄日期 | |
| schedule | text | 0 | 是 | 時間安排 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| epidemic_reporting | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| epidemic_reporting_id | int | 11 | 否 | 主鍵 | 疫情上報ID |
| student_number | int | 11 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| report_type | varchar | 64 | 是 | 上報類型 | |
| nucleic_acid_results | varchar | 64 | 是 | 核酸結果 | |
| detection_time | datetime | 0 | 是 | 檢測時間 | |
| health_code | varchar | 255 | 是 | 健康碼 | |
| remarks | text | 0 | 是 | 備注 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| notice_announcement | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| notice_announcement_id | int | 11 | 否 | 主鍵 | 通知公告ID |
| title | varchar | 64 | 是 | 標題 | |
| relevant_attachments | varchar | 255 | 是 | 相關附件 | |
| publisher | varchar | 64 | 是 | 發布人 | |
| release_date | date | 0 | 是 | 發布日期 | |
| content | text | 0 | 是 | 內容 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| punch_in_every_day | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| punch_in_every_day_id | int | 11 | 否 | 主鍵 | 每日打卡ID |
| student_number | int | 11 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| record_date | date | 0 | 是 | 記錄日期 | |
| today_temperature | varchar | 64 | 是 | 今日體溫 | |
| physical_state | varchar | 64 | 是 | 身體狀態 | |
| punch_in_address | varchar | 64 | 是 | 打卡地址 | |
| health_code | varchar | 255 | 是 | 健康碼 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| student | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| student_id | int | 11 | 否 | 主鍵 | 學生ID |
| student_number | varchar | 64 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| examine_state | varchar | 16 | 否 | 審核狀態 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| user_id | int | 11 | 否 | 用戶ID | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| student_diary | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| student_diary_id | int | 11 | 否 | 主鍵 | 學生日記ID |
| student_number | int | 11 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| mood | varchar | 64 | 是 | 心情 | |
| date | date | 0 | 是 | 日期 | |
| content | longtext | 0 | 是 | 內容 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| students_ask_for_leave | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| students_ask_for_leave_id | int | 11 | 否 | 主鍵 | 學生請假ID |
| student_number | int | 11 | 是 | 學號 | |
| student_name | varchar | 64 | 是 | 學生姓名 | |
| teacher_job_number | int | 11 | 是 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| class_name | varchar | 64 | 是 | 班級名稱 | |
| leave_type | varchar | 64 | 是 | 請假類型 | |
| leave_days | int | 11 | 是 | 請假天數 | |
| start_time | datetime | 0 | 是 | 開始時間 | |
| end_time | datetime | 0 | 是 | 結束時間 | |
| relevant_vouchers | varchar | 255 | 是 | 相關憑證 | |
| reason_for_leave | text | 0 | 是 | 請假原因 | |
| examine_state | varchar | 16 | 否 | 審核狀態 | |
| examine_reply | varchar | 255 | 是 | 審核回復 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| teacher | |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| teacher_id | int | 11 | 否 | 主鍵 | 教師ID |
| teacher_job_number | varchar | 64 | 否 | 教師工號 | |
| teacher_name | varchar | 64 | 是 | 教師姓名 | |
| examine_state | varchar | 16 | 否 | 審核狀態 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| user_id | int | 11 | 否 | 用戶ID | |
| create_time | datetime | 0 | 否 | 創建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
系統實現
系統的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進行頁面跳轉,進入系統中去。
登錄合法性判斷過程:用戶輸入賬號和密碼后,系統首先確定輸入輸入數據合法性,然后在login.jsp頁面發送登錄請求,調用src下的mainctrl類的dopost方法來驗證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測用戶輸入的賬號、密碼是否正確及在數據庫已對應存在。
2)從數據庫中提取記錄,并儲存在本地的session中(timeout默認=30min)。
3)根據用戶名,將其顯示在系統首頁上。
輸出:是否成功的信息。
登錄流程圖如下所示。
?
圖5-1登錄流程圖
系統登錄界面如下所示。
圖5-2系統登錄界面
5.2用戶子系統模塊的實現
5.2.1 ?用戶首頁模塊
系統呈現出一種簡潔大方的首頁:界面簡約、鱗次櫛比,用戶能輕車熟路的使用。出于對系統使用群體廣泛的顧慮,應有良好性能的后臺。
如下圖所示為系統的首頁界面。
?
?
圖5-3系統首頁界面
5.2.2每日安排模塊
每日安排學生編輯學號、教師工號、教師姓名、班級名稱、學生賬號、學生姓名、記錄日期等內容,并可根據需要進行修改、刪除等操作。如圖5-4所示。
?
圖5-4每日安排界面圖
5.2.3每日打卡模塊
每日打卡學生編輯學號、教師工號、教師姓名、班級名稱、學生賬號、學生姓名、記錄日期、今日體溫等內容,并可根據需要進行修改、刪除等操作。如圖5-5所示。
?
圖5-5每日打卡錄入界面如圖
5.2.4學生請假模塊
學生請假學生編輯學號、教師工號、教師姓名、班級名稱、學生賬號、學生姓名、請假類型、請假天數等內容,并可根據需要進行修改、刪除等操作。如圖5-6所示。
?
圖5-6學生請假申請界面
5.3管理員子系統模塊的實現
5.3.1學生管理模塊
學生在yhzhgl查看學生信息,先使用sql語句查詢出所有學生表的數據,然后調用PageManager.getPages(url,4,sql, request ),返回一個ArrayList的對象,在for循環里,使用jsp得到每個ArrayList對象的數據,在jsp頁面中解析ArrayList對象,得到其各個鍵值對的值。
學生管理界面如下圖所示。
?
圖5-7學生管理界面
5.3.2每日安排管理模塊
添加安排信息時,輸入必填字段后,表現層的KechengController接受傳過來的安排信息參數,再調用KechengController類的addKecheng方法,經過KechengService業務層到KechengMapper持久層的處理,完成對整個添加安排信息的操作。addKecheng方法也和用戶管理中的addUser方法類似,同時做添加和修改工作。
修改安排信息時,選擇需要修改的安排進行修改,調用KechengController控制器的editKecheng方法,拿到該安排原本的信息并顯示到頁面,管理員再對需要修改的安排信息字段進行修改,完成后調用addKecheng方法,調用業務層的updateByKey方法,更新數據庫的安排信息表的數據。
每日安排管理流程圖如下所示。
?
圖5-8每日安排管理流程圖
每日安排界面如下圖所示。
?
圖5-9每日安排添加界面
5.3.3每日打卡模塊
每日打卡頁面可查看學號、教師工號、教師姓名、班級名稱、學生賬號、學生姓名、記錄日期、今日體溫等內容,并可根據需要進行修改、刪除等操作
?
圖5-10每日打卡界面
5.3.4教師管理模塊
刪除教師時,選擇需要刪除的教師進行刪除,把主鍵的uId傳到JiaoshiController控制器,再調用控制器的deleteJiaoshi方法,數據經過JiaoshiService業務層解析和處理,請求JiaoshiMapper持久層調用deleteByPrimaryKey方法操作數據庫將教師數據從數據庫中刪除。
查找教師時,輸入需要查找的教師名,調用getData方法獲取所有數據并且進行分頁,把獲取到的所有數據顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數據庫操作。
教師管理流程圖如下所示。
?
圖5-11教師管理流程圖
教師添加界面如下圖所示。
?
圖5-12教師添加界面
在對該系統進行完詳細設計和編碼之后,就要對高校學生健康打卡系統的程序進行測試,檢測程序是否運行無誤,反復進行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實現預期的功能。
在軟件的測試過程中,通常測試人員需要針對不同的功能模塊設計多種測試用例。通過測試用例能夠及時發現代碼業務邏輯上是否與真實的業務邏輯相對應,及時發現代碼上或邏輯上的缺陷,以此來來完善系統,提高軟件產品的質量,使軟件具有良好的用戶體驗。
登錄測試用例表如下所示。
表6-1登錄測試用例
| 測試性能 | 用戶或操作員登錄系統 | ||
| 用例目的 | 測試用戶或操作員登錄系統時功能是否正常 | ||
| 前提條件 | 進入用戶登錄頁面或操作員登錄頁面 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 各項信息不予填寫,直接點擊登陸按鈕 | 不允許登錄,提示填寫賬號相關信息 | 一致 | |
| 填寫錯誤的登錄名或密碼后點擊登錄系統 | 提示用戶名或密碼錯誤,要求重新填寫進行登錄 | 一致 | |
| 填寫與驗證碼信息不一致的信息 | 系統顯示出提示信息,表明驗證碼錯誤,要求重新填寫 | 一致 | |
每日安排測試用例表如下所示。
表6-2課程成績測試用例
| 測試性能 | 用戶進行成績課程的操作 | ||
| 用例目的 | 測試用戶進行安排操作時,系統的功能是否正常 | ||
| 前提條件 | 用戶進入安排詳情頁,該每日安排能夠被成功 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 用戶未登錄,點擊成績按鈕 | 跳轉至登錄頁面,提示用戶先進性登錄 | 一致 | |
| 正常的登錄用戶,點擊成績按鈕 | 系統彈出提示框,提示用戶成績成功,同時該課程的狀態更改為已成績狀態 | 一致 | |
請假管理測試用例表如下所示。
表6-3課程管理測試用例
| 測試性能 | 請假管理相關信息管理功能 | ||
| 用例目的 | 測試系統后臺操作員對請假管理相關信息進行管理的功能是否正常 | ||
| 前提條件 | 登錄系統后臺進入相關管理頁面 | ||
| 輸入條件 | 預期輸出 | 實際情況 | |
| 普通操作員登錄,點擊進入課程相關信息管理的頁面 | 提示非超級用戶,權限不夠,無法進行相關頁面刪除 | 一致 | |
| 超級操作員登入,刪除某個已被刪除的請假 | 提示該請假刪除失敗 | 一致 | |
| 點擊增加請假按鈕 | 頁面正常跳轉 | 一致 | |
| 增加請假是,填寫已存在的課程編號 | 提示該編號已存在 | 一致 | |
經過對此系統的測試,得出該系統足以滿足用戶日常需求,在功能項目和操作等方面也能滿足操作員對于其他用戶的管理。但是,還有很多功能有待添加,這個系統僅能滿足大部分的需求,還需要對此系統的功能更進一步的完善,這樣使用起來才能更加的完美。
通過這次大學生防疫封校管理系統的開發,我參考了很多相關系統的例子,取長補短,吸取了其他系統的長處,逐步對該系統進行了完善,但是該系統還是有很多的不足之處,有待以后進一步學習。
實踐證明,大學生防疫封校管理系統有著非常好的發展前景,經過測試運行,系統各項功能都十分完善,界面簡潔,使用方便,操作容易,在技術理論上已經成熟。
通過大學生防疫封校管理系統的開發,本人鞏固了之前學過的知識,如今將平時所學到的知識融合在設計中,在設計過程中,做了很多的準備,首先,在數據庫系統的設計過程中,尤其是在數據庫的工作原理、工作特點,對其深刻的討論,與此同時,對于小型站點來說,最好服務器的選擇,其次,利用所學的知識點分析所做的系統,并在此基礎上設計。
目前本系統已經上線,正在試運行階段,用戶反饋良好,基本完成用戶所需,試運行過程中沒有出現阻斷性問題,有一些不足和小問題也及時予以修正,系統上線后,為了保證數據的安全性,對系統進行了備份操作,系統備份是每兩個月備份一次,數據庫備份為每周備份一次,系統部署在租賃的云平臺服務器中。
本次系統上線成功后,得到了用戶的高度認可,但是在功能上和性能上還需做進一步的研究處理,使其有更高的性能和更好的用戶體驗。
系統在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應速度,在系統今后的升級過程中將著重解決這些安全性問題。
參考文獻
[1]李秋萍,彭輝.高校新冠疫情集中醫學觀察的防控策略與思考——以中國藥科大學為例[J].江蘇科技信息,2021,38(36):28-31+35.
[2]金振婭. 全力做好“兩節”期間疫情防控[N]. 光明日報,2021-12-30(008).DOI:10.28273/n.cnki.ngmrb.2021.006554.
[3]李雅琴.Java編程語言的優勢及其應用實踐研究[J].互聯網周刊,2021(24):60-62.
[4]徐歡,凌駿.防疫封校期間校園學生活動的組織開展研究——以某職業院校學生讀書會活動為例[J].武漢冶金管理干部學院學報,2021,31(04):17-20+23.
[5]韓冰,劉翠煥,黃振華,張波,陳明珠,張瀟.人工智能時代下“Java程序設計”課程教學改革[J].科技風,2021(33):98-100.DOI:10.19392/j.cnki.1671-7341.202133033.
[6]丁海洋,王昊翔,姚全珠.基于MVVM框架的汽車銷售管理系統設計與實現[J].電子制作,2021(22):55-56+8.DOI:10.16589/j.cnki.cn11-3571/tn.2021.22.019.
[7]楊濤,陳維. 中文版COVID-19恐怖癥量表在疫情封校期間的信效度檢驗[C]//第二十三屆全國心理學學術會議摘要集(下).,2021:302.DOI:10.26914/c.cnkihy.2021.039964.
[8]蘇文強,劉紫陽,苗玉恒.基于SSM的缺陷管理系統設計與實現[J].大眾科技,2021,23(10):4-6+10.
[9]王偉,常慶麗,吳朝霞.基于SSM+Vue的精準幫扶系統研究與實現[J].河南科技,2021,40(27):12-14.
[10]胡開華,張玉靜,陳明祿,何文鑫.基于Vue.js的Web應用開發教學案例設計與實現[J].信息與電腦(理論版),2021,33(18):91-94.
[11]喻佳,吳丹新.基于SSM的Web快速開發框架[J].電腦編程技巧與維護,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.
[12]巢晟盛.基于SSM微服務架構下前后端分離的MVVM模型淺析[J].電腦知識與技術,2021,17(23):128-129+141.DOI:10.14004/j.cnki.ckt.2021.2412.
[13]趙志威,張生月,蔣應舉,屠曉光.基于SSM的高新技術企業創新能力評價平臺設計與實現[J].現代信息科技,2021,5(15):40-42.DOI:10.19850/j.cnki.2096-4706.2021.15.011.
[14]霍鵬宇.后疫情時期“高校封校”下的體育教育思考[J].當代體育科技,2021,11(20):71-73.DOI:10.16655/j.cnki.2095-2813.2010-1579-3836.
[15]方生.基于“Vue.js”前端框架技術的研究[J].電腦知識與技術,2021,17(19):59-60+64.DOI:10.14004/j.cnki.ckt.2021.1863.
[16]宋馨來,張海濤.基于前后端分離和Spring Security的用戶登錄功能的設計與實現[J].科技創新與應用,2021,11(18):19-21+24.
[17]Dang Tran Khanh,Huy Ta Manh,Dang Ly Hoang,Le Hoang Nguyen. An Elastic Data Conversion Framework: A Case Study for MySQL and MongoDB[J]. SN Computer Science,2021,2(4):
[18]馬忠強,牟聰瑞,劉磊.新冠疫情封校期間不同體育運動對航海類學生負面情緒調節自我效能感的中介作用[J].高教學刊,2021,7(14):1-6+11.
[19]Dan Roscigno. Bring Elastic Observability to your Java application[J]. InfoWorld.com,2020:
[20]Benymol Jose,Sajimon Abraham. Performance analysis of NoSQL and relational databases with MongoDB and MySQL[J]. Materials Today: Proceedings,2020,24(Pt 3):
致謝
光陰似箭,一晃大學生活即將過去了。一直以嚴謹的態度和積極的熱情投身于學習和工作中,雖然有競爭,也有淚水,但是通過我不斷學習和奮斗不斷的完善自己,不僅很好的完成了我的學業而且也讓我的各方面得到了發展,取得了很大的進步。
大學的生活也即將結束,雖然也有許多的不舍,但是終究是要告別的。回想大學的學習生活,有淚水也有汗水。在此期間我嚴格要求自己,憑著對知識的強烈追求,刻苦鉆研,勤奮好學,態度端正,目標明確,牢固的掌握了一些專業知識和技能,做到了理論聯系實際。除了專業知識的學習外,我還不斷的擴展我的知識面,從不同的領域以不同的方式來獲得新的知識。爭取成為一名各方面都很合格的大學生。
這次的畢業設計,是我獨自完成周期最長,也是耗力最大的一個項目。值得慶幸的是,在我畢業設計完成的過程當中,有許多幫助我的同學和老師。在幾個月的開發過程中,我遇到了大大小小無數個問題。是我的舍友和老師,不斷地幫助鼓勵。
我的指導老師,在自身工作十分繁忙的情況下,依然能做到及時恢復我們發去的問題郵件,并抽時間對我們進行線下的輔導。指出我們設計上的失誤,邏輯錯誤以及學習規劃問題,可以說沒有導師的幫助,我的畢設會陷入死胡同,是導師為我指點了迷津,像迷霧中的路燈,為我指明方向!
免費領取本源代碼,請關注點贊+私信
總結
以上是生活随笔為你收集整理的springboot高校学生健康打卡系统的设计与实现毕业设计源码021009的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年5月CCAA注册审核员考试认证
- 下一篇: 企业网站建设方案书