日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

(附源码)springboot学生宿舍管理系统 毕业设计453155

發布時間:2024/3/12 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (附源码)springboot学生宿舍管理系统 毕业设计453155 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Springboot學生宿舍管理系統

摘 ?要

科技進步的飛速發展引起人們日常生活的巨大變化,電子信息技術的飛速發展使得電子信息技術的各個領域的應用水平得到普及和應用。信息時代的到來已成為不可阻擋的時尚潮流,人類發展的歷史正進入一個新時代。在現實運用中,應用軟件的工作規則和開發步驟,采用Springboot框架建設學生宿舍管理系統。

本設計主要實現集人性化、高效率、便捷等優點于一身的學生宿舍管理系統,完成首頁、用戶管理(管理員)更多管理(學生、宿舍信息、更換寢室、體溫上報、維修申請管理、物品借用、宿舍繳費管理)等功能模塊。系統通過瀏覽器與服務器進行通信,實現數據的交互與變更。本系統通過科學的管理方式、便捷的服務提高了工作效率,減少了數據存儲上的錯誤和遺漏。學生宿舍管理系統開發是采用java語言,基于MVVM模式進行開發,采取MySQL作為后臺數據的主要存儲單元,采用Springboot框架實現了本系統的全部功能。

關鍵詞 宿舍管理;數據庫;Springboot技術?

Springboot student dormitory management system

Abstract

??The rapid development of scientific and technological progress has caused great changes in people's daily life. The rapid development of electronic information technology has popularized and applied the application level of electronic information technology in various fields. The advent of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In practical application, according to the working rules and development steps of the application software, the springboot framework is used to build the student dormitory management system.

This design mainly realizes the student dormitory management system with the advantages of humanization, high efficiency and convenience, and completes the functional modules such as home page, user management (administrator) and more management (students, dormitory information, dormitory replacement, body temperature reporting, maintenance application management, article borrowing, dormitory payment management). The system communicates with the server through the browser to realize the interaction and change of data. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage. The development of student dormitory management system adopts Java language and MVVM mode. MySQL is used as the main storage unit of background data, and the springboot framework is used to realize all the functions of the system.

Key words:Dormitory management; database Springboot Technology

目 ???錄

1 概述

1.1課題背景及意義

1.2 研究現狀

1.3 主要工作內容

2 系統開發環境

2.1 java簡介

2.2 Mysql數據庫

2.3 B/S結構

2.4?Spring boot框架

3 系統分析 6

3.1 可行性分析 6

3.1.1 技術可行性 6

3.1.2操作可行性 6

3.1.3 經濟可行性 7

3.1.4 法律可行性 7

3.2系統流程分析 7

3.2.1系統開發流程 7

3.2.2 用戶登錄流程

3.2.3 系統操作流程

3.2.4 添加信息流程

3.2.5 修改信息流程

3.2.6 刪除信息流程

3.3系統用例分析

3.3.1管理員用例圖

3.3.2用戶前臺用例圖

4 系統設計

4.1 系統概述

4.2 系統結構設計

4.3數據庫設計 14

4.3.1 數據庫設計原則

4.3.2 數據庫實體

4.3.3 數據庫表設計

5系統統詳細設計 25

5.1用戶前臺功能模塊 25

5.2管理員功能模塊 28

6系統測試 33

6.1系統測試的意義

6.2 測試方法 34

6.3測試分析

???? 35

???? 36

參考文獻 37

1 概述

1.1課題背景及意義

對于學校宿舍處而言,最主要的是管理宿舍的信息。如果使用一般的方法來管理,會比較繁瑣,管理起來也很有可能出錯。為了方便宿舍人員的管理工作,提高工作效率,同時為了更好地為學生提供服務,有必要開發學生宿舍管理系統,使學校的宿舍管理走上信息化之路,克服人為的種種弊端。

學生宿舍管理系統的開發不僅可以減少人力、物力和財力資源的浪費,更重要的是有助于提高宿舍管理的效率。宿舍管理人員管理學生信息、管理宿舍信息時是一項復雜的組織工作,這種復雜性不僅僅指學生學籍變更快,變更人數眾多,更突出地表現在宿舍管理主要對象(即學生)的數據量大,管理起來帶來不便,所以開發一個實用、高效的宿舍管理信息系統是很有必要的。

1.2 研究現狀

目前我國各行各業的信息化建設開展得如火如荼,這種信息化的發展已經影響到了各學校。學校在對學生宿舍進行管理時,學生宿舍的管理一直都是很麻煩的事情,不僅僅管理起來不易修改和更新,而且學生需要了解本宿舍的信息時,也需要去學校宿舍處找專門人員。由于這些操作的繁瑣性,學生宿舍管理系統的開發成為各學校必須的事情,特別是各個高校。

然而目前許多學生宿舍管理系統在使用時,效率低下容易出錯,學生、教師資料不易整理,大量丟失,這些無疑都已成為管理學生宿舍的障礙。這就要求學校能夠建立高效的學生宿舍管理系統,對學生的宿舍、管理等操作及流程進行規范化管理,簡化業務流程,提高工作效率并防止中間的漏洞;迅速、準確地捕捉用戶要求,并加以高效回應。同時需要不斷完善系統,增加模塊,更好的滿足用戶需求,簡化宿舍人員的管理工作,盡量做到一切信息化。

1.3 主要工作內容

學生宿舍管理系統的開發及實現,所需要的工作內容:

(1)首先是確定選題,確定好所要做的系統,并對系統的背景及現在面臨的一些問題等進行系統的初步確認。

(2)系統確認完成后,結合系統開發的需求進行確認系統開發所使用的技術,學生宿舍管理系統的開發使用Springboot框架,數據庫進行平臺的搭建開發,確認好使用的技術進行技術分析,所使用的技術是否可以完成系統的實現。

(3)確定好系統使用的技術,進行在線確認系統所劃分的用戶角色,并且根據用戶角色劃分確定所要設計的功能模塊,對學生宿舍管理系統的設計主要劃分別為管理員和用戶角色,并所使用的功能模塊也相應不同,但是系統的數據庫實現的內容是交互的,用戶可以隨時根據自己的需求進行課程信息,對于系統工作人員可以根據自己的分管內容進行在線信息的處理及操作,管理員獲取到所有用戶的詳細數據信息,并根據需求進行第一時間處理解決。

(4)系統的功能模塊確認完成后進行程序及界面的設計,設計完成后,并且通過測試來判斷程序是否完善,對于系統測試,需要不同的用戶進行不同的內容編輯及提交,及使用不同的測試方式找出程序中存在的漏洞,并對程序出現的漏洞問題進行在線解決處理,如果測試系統沒有任何問題時,可以將系統上傳進行正式操作使用。

2 系統開發環境??

2.1 java簡介

Java語言是在二十世紀末由Sun公司發布的,而且公開源代碼,這一優點吸引了許多世界各地優秀的編程愛好者,也使得他們開發出當時一款又一款經典好玩的小游戲。Java語言是純面向對象語言之一,從發布初期到現今,可以說有將近20多年的歷史,已發展成為人類計算機編程語言發展史上的一個深遠影響。

Java語言具有非常多種的特性:(1)跨平臺的無關性;(2)面向對象; (3)安全性得以保障;(4)支持多個任務;(5)多種編寫方式,代碼編寫簡單。對比其他的低級語言、高級語言,Java語言具有明顯的顯著優勢以及未來開闊的前景,可以廣泛的應用在個人筆記本電腦、大數據、大型游戲等等。

首先,Java語言具有面向對象的特性,并且易于理解。關于對象,其實可以理解成每一種事物都是一種對象,包括我們人類自身都是一種對象。利用面向對象語言的基本特征來解決軟件開發中的實際問題,為有效軟件開發提供了技術支持。

其次,Java 語言具有很好的跨平臺無關性。所編寫出來的應用程序是Java語言編寫的,那么就無需再使用編譯器來修改程序代碼,可以直接在任何計算機系統中運行,Windows系統可以運行,在Linux系統中也可以,也就是經過一次編譯,可以到處運行,所以Java語言具有卓越的可移植性,可以很好的跨平臺實現。

2.2 Mysql數據庫

Mysql是一個多用戶、多線程的服務器,采用SQL的數據庫,數據庫管理系統是基于SQL的用戶以及服務器模式的關系,它的優點有強大的功能、操作簡單、管理方便、可靠安全、運行較快、多線程、跨平臺性、完全網絡化、穩定性等,非常適合Web站點或者其他應用軟件,在數據庫后端的開發。此外,利用許多語言,會員可以編寫和訪問Mysql數據庫的程序。Mysql數據庫也是開放源代碼的,開發者越來越喜歡使用Mysql關系數據庫,應用范圍也被推而廣之。這是由于速度快和易用性, Web站點或應用軟件的數據庫后端的開發也都在使用它。

mysql 數據庫它有很多的優點,例如它在操作上能夠讓人通俗易懂、功能強大、信息儲存量高等優點。所以被人們廣泛應用,對于mysql數據庫來說它一般主要是對數據進行編碼和查詢,而且在很多的設計當中都應用到了該數據庫,在此過程當中我們可以對常規的數據進行查詢和組合,所以我們在進行使用mysql數據庫的時候只要對編寫一小段的數據就能實現相應的功能。數據庫,就是數據存儲的儲藏室,只不過數據是存儲在計算機上的,而不是現實中的儲藏室,數據的存放是按固定格式,而不是無序的,則定義就是 :長期有固定格式,可以共享的存儲在計算機存儲器上。數據庫管理主要包括數據表的建立,數據存儲、修改和增加數據,為了使數據庫系統能夠正常運行,相關人員進行的管理工作。數據表的建立,可以對數據表中的數據進行調整,數據的重新組合及重新構造,保證數據的安全性。

2.3 B/S結構

BROWSER/SERVER程序架構方式是使用電腦中安裝的各種瀏覽器來進行訪問和使用的,相比C/S的程序結構不需要進行程序的安裝就可以直接使用。BROWSER/SERVER架構的運行方式是在遠程的服務器上進行安裝一個,然后在任何接入互聯網的電腦上訪問和使用。BROWSER/SERVER架構的開發方式給用戶帶來了極大的便利,在任何時間和地點都可以使用開發的程序系統。

在B/S的結構中,用戶可以在任何可以上網的地方訪問和使用系統網站的功能,沒有地域和時間等方面的限制,B/S結構是把程序完整放置到計算機網絡的服務器上,通過計算機互聯網給用戶提供遠程的網絡服務。在三層體系結構的B/S系統中,通過瀏覽器,會員可以對很多服務器發出請求, B/S系統會很大程度的降低工作量,用戶只需要安裝運行較少的用戶端即可,大量的工作將由服務器承擔,另外,服務器也完成包括訪問數據庫,執行應用程序的工作等等。

B/S結構主要有三層,分別為數據層、控制邏輯層和視圖層。用戶通過視圖層,讓控制層調用數據層的數據,從而達到整個訪問過程。三層相互獨立,維護方便,使用安全,三層有互相調用,提高效率。

2.4 Spring boot框架

Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發提供了一系列的解決方案,比如利用控制反轉的核心特性,并通過依賴注入實現控制反轉來實現管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數據訪問,提供大量優秀的Web框架方便開發等等。Spring框架具有控制反轉(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務管理、遠程訪問等功能均可以通過使用SpringAOP技術實現。Spring的事務管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務以及嵌套事務能夠與保存點一起工作,并且幾乎可以在Java平臺的任何環境中工作。Spring集成多種事務模板,系統可以通過事務模板、XML或Java注解進行事務配置,并且事務框架集成了消息傳遞和緩存等功能。Spring的數據訪問框架解決了開發人員在應用程序中使用數據庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數據對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數據訪問框架中提供支持,同時還可以與Spring的事務管理一起使用,為數據訪問提供了靈活的抽象。Spring框架最初是沒有打算構建一個自己的WebMVC框架,其開發人員在開發過程中認為現有的StrutsWeb框架的呈現層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創建了SpringMVC。

3 系統分析

所謂系統分析就是,需求人員通過與用戶的溝通,所獲取的信息,然后把這些信息通過需求說明書的方式展示給用戶和開發人員。在軟件功能發展的歷史長河中,很長時間,特別是最開始的時候,需求分析的重要性并不被人們所認同,例如當時美國IBM公司為英國電信公司開發一套信息管理系統,在需求不明確的情況下開始開發,最初的工期為一年,由于需求獲取不清晰導致工期推遲了半年多,造成巨大損失。我們很多軟件公司也存在這種情況,邊需求,邊開發,甚至與用戶沒有溝通清楚的情況下,直接照搬同類型的項目進行更改,導致到系統驗收的時候,重新更改,造成了人力、物力的極大浪費。而導致這一切后果的原因就是需求獲取不及時、不清楚、不全面。

3.1 可行性分析

學生宿舍管理系統主要目標是實現首頁、站點管理、(輪播圖、公告欄、)用戶管理(管理員)更多管理(更換寢室管理、體溫上報、維修申請、缺勤信息、物品借用、宿舍繳費)系統管理的相關信息管理服務。在確定了目標后,我們從以下四方面對能否實現本系統目標進行可行性分析。

3.1.1 技術可行性

學生宿舍管理系統主要采用Springboot框架,基于B/S結構,Mysql數據庫,對于應用程序的開發要求具備完整功能,使用簡單的特點,并建立一個數據完整安全穩定的數據庫。學生宿舍管理系統的開發技術具有很高可行性,且開發人員掌握了一定的開發技術,所以系統的開發具有可行性。

3.1.2操作可行性

學生宿舍管理系統的登錄界面簡單易于操作,采用常見的界面窗口來登錄界面,通過電腦進行訪問操作,會員只要平時使用過電腦都能進行訪問操作。此系統的開發采用java語言開發,基于B/S結構,這些開發環境使系統更加完善。本系統具有易操作、易管理、交互性好的特點,在操作上是非常簡單的。因此本系統可以進行開發。

3.1.3 經濟可行性

學生宿舍管理系統是基于B/S模式,采用Mysql數據庫儲存數據,所要求的硬件和軟件環境,市場上都很容易購買,程序開發主要是管理系統的開發和維護。所以程序在開發人力、財力上要求不高,而且此系統不是很復雜,開發周期短,在經濟方面具有較高的可行性。

3.1.4 法律可行性

學生宿舍管理系統是自己設計的管理系統,具有很大的實際意義。因為無論是軟件還是數據庫,采用的都是開源代碼,因此這個系統的開發和設計,并不存在侵權等問題,在法律上完全具有可行性。

綜上所述,學生宿舍管理系統在技術、經濟、操作和法律上都具有很高的可行性,開發此程序是可行的。

3.2系統流程分析

3.2.1系統開發流程

學生宿舍管理系統開發時,首先進行需求分析,進而對系統進行總體的設計規劃,設計系統功能模塊,數據庫的選擇等,本系統的開發流程如圖3-1所示

?

圖3-1系統開發流程圖

3.2.2 用戶登錄流程

為了保證系統的安全性,要使用本系統對系統信息進行管理,必須先登陸到系統中。如圖3-2所示。

?

圖3-2 登錄流程圖

3.2.3 系統操作流程

用戶打開并進入系統后,會先顯示登錄界面,輸入正確的用戶名和密碼,系統自動檢測信息,若信息無誤,則用戶會進入系統功能界面,進行操作,否則會提示錯誤無法登錄,操作流程如圖3-3所示。

?

圖3-3 系統操作流程圖

3.2.4 添加信息流程

管理員可以對書籍類型管理進行信息的添加,用戶可以對自己權限內的信息進行添加,輸入信息后,系統會自行驗證輸入的信息和數據,若信息正確,會將其添加到數據庫內,若信息有誤,則會提示重新輸入信息,添加信息流程如圖3-4所示。

?

圖3-4 添加信息流程圖

3.2.5 修改信息流程

管理員可以對書籍信息管理進行的修改,用戶可以對自己權限內的信息進行修改,首先進入修改信息界面,輸入修改信息數據,系統進行數據的判斷驗證,修改信息合法則修改成功,信息更新至數據庫,信息不合法則修改失敗,重新輸入。修改信息流程圖如圖3-5所示。

?

圖3-5 修改信息流程圖

3.2.6 刪除信息流程

管理員可以對留言板管理進行信息的刪除,對要刪除的信息進行選中后,點擊刪除按鈕,系統會詢問是否確定,若點擊確定,則系統會刪除掉選中的信息,并在數據庫內對信息進行刪除,刪除信息流程圖如圖3-6所示。

?

圖3-6 刪除信息流程圖

3.3系統用例分析

3.3.1管理員用例圖

系統中的核心用戶系統管理員,管理員登錄后,通過管理員菜單來管理后臺系統。主要功能有:首頁、用戶管理、宿舍信息管理、換寢申請管理、物品借用管理、晚歸信息管理、體溫上報管理、維修申請管理等功能。管理員用例如圖3-7所示。

?

圖3-7 管理員用例圖

3.3.2學生前臺用例圖

學生前臺進入系統可以進行首頁、宿更換寢室。缺勤信息、維修申請、體溫上報、宿舍繳費、物品借用等。用戶前臺用例如圖3-8所示。

?

圖3-8 學生前臺用例圖

4 系統設計

4.1 系統概述

進過系統的分析后,就開始記性系統的設計,系統設計包含總體設計和詳細設計。總體設計只是一個大體的設計,經過了總體設計,我們能夠劃分出系統的一些東西,例如文件、文檔、數據等。而且我們通過總體設計,大致可以劃分出了程序的模塊,以及功能。但是只是一個初步的分類,并沒有真正的實現。

整體設計,只是一個初步設計,而且,對于一個項目,我們可以進行多個整體設計,通過對比,包括性能的對比、成本的對比、效益的對比,來最終確定一個最優的設計方案,選擇優秀的整體設計可以降低開發成本,增加公司效益,從這一點來講,整體設計還是非常重要的。

學生宿舍管理系統工作原理圖如圖4-1所示:

?

圖4-1 系統工作原理圖

4.2 系統結構設計

系統架構圖屬于系統設計階段,系統架構圖只是這個階段一個產物,系統的總體架構決定了整個系統的模式,是系統的基礎。學生宿舍管理系統的整體結構設計如圖4-2所示。

?

圖4-2 系統結構圖

4.3數據庫設計

數據庫是計算機信息系統的基礎。目前,電腦系統的關鍵與核心部分就是數據庫。數據庫開發的優劣對整個系統的質量和速度有著直接影響。

4.3.1 數據庫設計原則

數據庫的概念結構設計采用實體—聯系(E-R)模型設計方法。E-R模型法的組成元素有:實體、屬性、聯系,E-R模型用E-R圖表示,是提示用戶工作環境中所涉及的事物,屬性則是對實體特性的描述。在系統設計當中數據庫起著決定性的因素。下面設計出這幾個關鍵實體的實體—關系圖

4.3.2 數據庫實體

數據模型中的實體(Entity),也稱為實例,對應現實世界中可區別于其他對象的“事件”或“事物”。

本系統的E-R圖如下圖所示:

1、缺勤信息實體圖如圖4-3所示:

?

圖4-3缺勤信息實體圖

2、用戶信息實體圖如圖4-4所示:

?

圖4-4用戶信息實體圖

3維修申請實體圖如圖4-5所示:

?

圖4-5維修申請實體圖

4.3.3 數據庫表設計

名稱

類型

長度

不是null

主鍵

注釋

student_user_id

int

11

學生用戶ID

student_name

varchar

64

學生姓名

student_number

varchar

64

學生學號

student_gender

varchar

64

學生性別

college

varchar

64

所在學院

enrollment_year_

varchar

64

入學年份

examine_state

varchar

16

審核狀態

recommend

int

11

智能推薦

user_id

int

11

用戶ID

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

名稱

類型

長度

不是null

主鍵

注釋

temperature_reporting_id

int

11

體溫上報ID

student_number

varchar

64

學生學號

student_name

int

11

學生姓名

student_gender

varchar

64

學生性別

college

varchar

64

所在學院

class_information

varchar

64

班級信息

student_telephone

varchar

64

學生電話

abnormal_date

date

0

異常日期

temperature_at_that_time

varchar

64

當時體溫

physical_condition

varchar

64

身體狀況

processing_status

varchar

64

處理狀態

recommend

int

11

智能推薦

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

名稱

類型

長度

不是null

主鍵

注釋

student_information_id

int

11

學生信息ID

student_number

varchar

64

學生學號

student_name

int

11

學生姓名

student_gender

varchar

64

學生性別

college

varchar

64

所在學院

class_information

varchar

64

班級信息

province_of_origin

varchar

64

生源地省份

student_telephone

varchar

64

學生電話

dormitory_building_id

varchar

64

宿舍樓ID

dormitory_no

varchar

64

宿舍編號

dormitory_electricity_balance

varchar

64

宿舍電費余額

enrollment_year_

varchar

64

入學年份

recommend

int

11

智能推薦

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

名稱

類型

長度

不是null

主鍵

注釋

maintenance_application_id

int

11

維修申請ID

student_number

varchar

64

學生學號

student_name

int

11

學生姓名

student_gender

varchar

64

學生性別

college

varchar

64

所在學院

class_information

varchar

64

班級信息

student_telephone

varchar

64

學生電話

dormitory_building_id

varchar

64

宿舍樓ID

dormitory_no

varchar

64

宿舍編號

application_date

date

0

申請日期

fault_location

varchar

64

故障地點

fault_photos

varchar

255

故障照片

processing_status

varchar

64

處理狀態

cause_of_failure

longtext

0

故障原因

recommend

int

11

智能推薦

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

名稱

類型

長度

不是null

主鍵

注釋

late_return_id

int

11

晚歸信息ID

student_number

varchar

64

學生學號

student_name

int

11

學生姓名

student_gender

varchar

64

學生性別

dormitory_building_id

varchar

64

宿舍樓ID

dormitory_no

varchar

64

宿舍編號

late_return_date

date

0

晚歸日期

reasons_for_late_return

longtext

0

晚歸原因

recommend

int

11

智能推薦

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

名稱

類型

長度

不是null

主鍵

注釋

change_dormitory_id

int

11

更換寢室ID

student_number

varchar

64

學生學號

student_name

int

11

學生姓名

student_gender

varchar

64

學生性別

college

varchar

64

所在學院

class_information

varchar

64

班級信息

student_telephone

varchar

64

學生電話

dormitory_building_id

varchar

64

宿舍樓ID

dormitory_no

varchar

64

宿舍編號

application_date

date

0

申請日期

processing_status

varchar

64

處理狀態

reason_for_changing_sleep

longtext

0

換寢原因

recommend

int

11

智能推薦

create_time

datetime

0

創建時間

update_time

timestamp

0

更新時間

5統詳細設計

5.1用戶前臺功能模塊

學生宿舍管理系統,在系統首頁可以查看首頁、更換寢室、體溫上報、維修申請、晚歸信息、宿舍繳費等內容,如圖5-1所示。

?

圖5-1用戶前臺功能界面圖

???

????用戶注冊,在用戶注冊頁面可以填寫賬號、密碼、昵稱郵箱手機號碼身份、性別、身份證號碼等詳細內容進行注冊,如圖5-2所示。

?

圖5-2用戶注冊界面圖

用戶注冊關鍵代碼如下所示。

/**

?????* 注冊

?????* @param user

?????* @return

?????*/

????@PostMapping("register")

????public Map<String, Object> signUp(@RequestBody User user) {

????????// 查詢用戶

????????Map<String, String> query = new HashMap<>();

????????query.put("username",user.getUsername());

????????List list = service.select(query, new HashMap<>()).getResultList();

????????if (list.size()>0){

????????????return error(30000, "用戶已存在");

????????}

????????user.setUserId(null);

????????user.setPassword(service.encryption(user.getPassword()));

????????service.save(user);

????????return success(1);

}

/**

?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據

?????*/

????@Id

????@GeneratedValue(strategy = GenerationType.IDENTITY)

????@Column(name = "user_id")

????private Integer userId;

????/**

?????* 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷)

?????*/

????@Basic

????@Column(name = "state")

????private Integer state;

????/**

?????* 所在用戶組:[0,32767]決定用戶身份和權限

?????*/

????@Basic

????@Column(name = "user_group")

????private String userGroup;

????/**

?????* 上次登錄時間:

?????*/

????@Basic

????@Column(name = "login_time")

????private Timestamp loginTime;

????/**

?????* 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時

?????*/

????@Basic

????@Column(name = "phone")

????private String phone;

????/**

?????* 手機認證:[0,1](0未認證|1審核中|2已認證)

?????*/

????@Basic

????@Column(name = "phone_state")

????private Integer phoneState;

????/**

?????* 用戶名:[0,16]用戶登錄時所用的賬戶名稱

?????*/

????@Basic

????@Column(name = "username")

????private String username;

????/**

?????* 昵稱:[0,16]

?????*/

????@Basic

????@Column(name = "nickname")

????private String nickname;

????/**

?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成

?????*/

????@Basic

????@Column(name = "password")

????private String password;

????/**

?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時

?????*/

????@Basic

????@Column(name = "email")

????private String email;

????/**

?????* 郵箱認證:[0,1](0未認證|1審核中|2已認證)

?????*/

????@Basic

????@Column(name = "email_state")

????private Integer emailState;

????/**

?????* 頭像地址:[0,255]

?????*/

????@Basic

????@Column(name = "avatar")

????private String avatar;

????/**

?????* 創建時間:

?????*/

????@Basic

????@Column(name = "create_time")

????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

????private Timestamp createTime;

????@Basic

????@Transient

????private String code;

}

登錄,在登錄頁面通過填寫賬號、密碼等信息完成登錄,如圖5-3所示。更換寢室頁面通過填寫學生信息、宿舍樓、宿舍編號、申請日期、換寢原因、處理狀態等信息進行提交操作,如圖5-4所示。

?

圖5-3登錄界面圖

用戶登錄的關鍵代碼如下。

?/**

?????* 登錄

?????* @param data

?????* @param httpServletRequest

?????* @return

?????*/

????@PostMapping("login")

????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

????????log.info("[執行登錄接口]");

????????String username = data.get("username");

????????String email = data.get("email");

????????String phone = data.get("phone");

????????String password = data.get("password");

????????List resultList = null;

????????Map<String, String> map = new HashMap<>();

????????if(username != null && "".equals(username) == false){

????????????map.put("username", username);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(email != null && "".equals(email) == false){

????????????map.put("email", email);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(phone != null && "".equals(phone) == false){

????????????map.put("phone", phone);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}else{

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????if (resultList == null || password == null) {

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????//判斷是否有這個用戶

????????if (resultList.size()<=0){

????????????return error(30000,"用戶不存在");

????????}

????????User byUsername = (User) resultList.get(0);

????????Map<String, String> groupMap = new HashMap<>();

????????groupMap.put("name",byUsername.getUserGroup());

????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

????????if (groupList.size()<1){

????????????return error(30000,"用戶組不存在");

????????}

????????UserGroup userGroup = (UserGroup) groupList.get(0);

????????//查詢用戶審核狀態

????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());

????????????if (res==null){

????????????????return error(30000,"用戶不存在");

????????????}

????????????if (!res.equals("已通過")){

????????????????return error(30000,"該用戶審核未通過");

????????????}

????????}

????????//查詢用戶狀態

????????if (byUsername.getState()!=1){

????????????return error(30000,"用戶非可用狀態,不能登錄");

????????}

????????String md5password = service.encryption(password);

????????if (byUsername.getPassword().equals(md5password)) {

????????????// 存儲Token到數據庫

????????????AccessToken accessToken = new AccessToken();

????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

????????????accessToken.setUser_id(byUsername.getUserId());

????????????tokenService.save(accessToken);

????????????// 返回用戶信息

????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

????????????user.put("token", accessToken.getToken());

????????????JSONObject ret = new JSONObject();

????????????ret.put("obj",user);

????????????return success(ret);

????????} else {

????????????return error(30000, "賬號或密碼不正確");

????????}

}

?

圖5-4更換寢室界面圖

維修申請,在申請頁面通過填寫學生信息、宿舍樓、宿舍編號、處理狀態、故障原因等信息進行立即提交申請,如圖5-5所示。體溫上報頁面填寫具體學生信息、身體狀況、體溫、處理狀態進行提交,如圖5-6所示。

?

圖5-5維修申請界面圖

?

圖5-6體溫上報界面圖

體溫上報的邏輯代碼如下:

??@PostMapping("/add")

????@Transactional

????public Map<String, Object> add(HttpServletRequest request) throws IOException {

????????service.insert(service.readBody(request.getReader()));

????????return success(1);

????}

????@Transactional

????public Map<String, Object> addMap(Map<String,Object> map){

????????service.insert(map);

????????return success(1);

}

????public Map<String,Object> readBody(BufferedReader reader){

????????BufferedReader br = null;

????????StringBuilder sb = new StringBuilder("");

????????try{

????????????br = reader;

????????????String str;

????????????while ((str = br.readLine()) != null){

????????????????sb.append(str);

????????????}

????????????br.close();

????????????String json = sb.toString();

????????????return JSONObject.parseObject(json, Map.class);

????????}catch (IOException e){

????????????e.printStackTrace();

????????}finally{

????????????if (null != br){

????????????????try{

????????????????????br.close();

????????????????}catch (IOException e){

????????????????????e.printStackTrace();

????????????????}

????????????}

????????}

????????return null;

}

????public void insert(Map<String,Object> body){

????????StringBuffer sql = new StringBuffer("INSERT INTO ");

????????sql.append("`").append(table).append("`").append(" (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

????????}

????????sql.deleteCharAt(sql.length()-1);

????????sql.append(") VALUES (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????Object value = entry.getValue();

????????????if (value instanceof String){

????????????????sql.append("'").append(entry.getValue()).append("'").append(",");

????????????}else {

????????????????sql.append(entry.getValue()).append(",");

????????????}

????????}

????????sql.deleteCharAt(sql.length() - 1);

????????sql.append(")");

????????log.info("[{}] - 插入操作:{}",table,sql);

????????Query query = runCountSql(sql.toString());

????????query.executeUpdate();

????}

5.2管理員功能模塊

管理員登錄,通過填寫注冊時輸入的用戶名、密碼進行登錄,如圖5-7所示。

?

圖5-7管理員登錄界面圖

管理員登錄進入學生宿舍管理系統后的主要功能是:首頁、用戶管理、更換寢室管理、體溫上報管理、維修申請管理、晚歸信息、宿舍繳費管理等信息。5-8所示。還可以對更換寢室信息進行管理操作,如圖5-9所示。

?

圖5-8首頁展示界面圖

?

圖5-9更換寢室管理界面圖

更換寢室管理界面邏輯代碼如下:

@RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

????????Query count = service.avg(service.readQuery(request), service.readConfig(request));

????????return success(count.getResultList());

}

體溫上報管理,在體溫上報管理頁面中可以對學生信息、上報體溫、異常情況等信息進行管理,并可以對報修申請進行提交等操作,如圖5-10所示。

?

圖5-10體溫上報管理界面圖

缺勤信息管理,在缺勤信息頁面中可以對:學生信息、宿舍樓、所在學院、所在學校、缺勤信息維護管理,并可以對需要修改的信息進行修改或刪除等詳細操作,如圖5-11所示。

?

圖5-11缺勤信息管理界面圖

缺勤信息管理界面邏輯代碼如下:

@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

????/**

?????* 服務對象

?????*/

????@Autowired

????public AuthController(AuthService service) {

????????setService(service);

????}

}

宿舍公告管理,在宿舍公告頁面中可以查看標題、內容等內容,并且可以對新的宿舍公告進行發布,修改或刪除等詳細操作,如圖5-12所示。

?

圖5-12宿舍公告管理界面圖

物品借用頁面中主要包括:學生信息、所在學校、班級信息、借用日期等信息,如圖5-13所示。

?

圖5-13物品借用管理界面圖

學生管理,在學生管理頁面中可以查看學生名、密碼、姓名、性別、頭像等內容,并且根據需要對已有學生管理進行詳情,修改或刪除等詳細操作,如圖5-14所示。

?

圖5-14學生管理界面圖

學生管理界面關鍵代碼如下:

@RequestMapping("/get_list")

????public Map<String, Object> getList(HttpServletRequest request) {

????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

????????return success(map);

}

6系統測試

系統開發的最后一個步驟就是系統測試,系統測試也是整個系統十分重要的一個環節,測試的好壞關系到產品的發展。用戶對軟件的質量、性能和可靠性等需求就要通過測試來實現。測試過程要必須遵循嚴謹性、完善性、規范性的原則,測試的主要目的就是看看在系統運行中,是否會出現bug,然后對出現的bug進行調試,直到程序完美運行。但是軟件的測試只能盡可能的減少bug,理論上來說是無法達到消除bug。但是bug越少,系統出錯的幾率就越低,用戶使用起來也更方便、更安全。

近年來,軟件包含測試從現在的檢驗當中來看,系統接近預期目標可能出現的問題,并對這些錯誤做出相應的修正,假如我們不進行早期的測試錯誤就會延續下去,最后所做出的成品就會有很大的困難。

我們要在這個測試的過程當中找出錯誤。測試成軟件開發的主要一部分,自從有了程序的設計那天開始,它就成為了重要的組成部分。經過統計來看,軟件測試可以占據這個系統45%的工作量,而在軟件開發的成本當中,對于測試成本來說它包含了很多的測試工作。每個程序測試時都會出現和遇到錯誤。在整個程序的開發過程當中,人為去查找錯誤是非常復雜和困難的,所以我們一般都會找一些測試的工具來進行測試

6.1系統測試的意義

隨著現代信息的快速發展,在社會各大領域中已經都開始應用網絡信息技術,在應用網絡技術的同時人們也開始把軟件的質量問題作為了一個重要焦點來關注,因為一個軟件的好與壞它決定著這個系統在市場上的生存,所以我們必須要把軟件質量來做好,這樣才有一定的生存能力。對于用戶來說它們首先選用的都是保證這個系統軟件的質量問題,因為一個系統的軟件質量決定著用戶在后期上成本經濟的問題。

6.2?測試方法

具體測試方法包括:黑盒測試和白盒測試。

黑盒測試又被人們稱作為功能測試,通常是在程序的接口來做一些測試的方法,它一般包括對程序的功能和使用的方法來做出一些數據的接受和輸出,同時還可以做出正確的輸出信息,并保證與外部信息的完整性。

白盒測試通常被人們稱作為結構測試,在整個程序的結構和處理當中它是由程序當中的邏輯測試和檢驗程序來完成一些正確的工作。

具體的功能測試它是包括:系統的適用性、準確性、安全性等功能測試。

6.3測試分析

學生宿舍管理系統滿足相關信息的管理需求,在設計時借鑒了國內外優秀網站的優點,從界面到系統設計都保證了管理員以及用戶能夠方便操作。系統的主要特點和優點歸納如下:

(1)本系統用的移置性和針對性都比較高,因為針對性高可以提供更好的服務而移置性可以在多個系統上運行,更給用戶帶來了極大的方便。

(2)該學生宿舍管理系統內容全面,管理方便可以及時的全面的處理各種錯誤,異常,這樣避免了很多因用戶的馬虎操作而出現的失誤,其操作方便,用戶界面友好,能夠上網的人都可以很好的進行操作。

經過對上述的測試結果分析,所有基本功能齊全,操作簡單,系統運行性能良好,系統安全可靠,能促進學生宿舍管理系統的發展,發展前景廣闊。

結 ???論

本系統通過對java和Mysql數據庫的簡介,從硬件和軟件兩反面說明了學生宿舍管理系統的可行性,本文結論及研究成果如下:實現了java與Mysql相結合構建的學生宿舍管理系統,網站可以響應式展示。通過本次學生宿舍管理系統的研究與實現,我感到學海無涯,學習是沒有終點的,而且實踐出真知,只有多動手才能盡快掌握它,經驗對系統的開發非常重要,經驗不足,就難免會有許多考慮不周之處。比如要有美觀的界面,更完善的功能,才能吸引更多的用戶

由于在此之前對于java知識沒有深入了解,所以從一開始就碰到許多困難,例如一開始的頁面顯示不規范、數據庫連接有問題已經無法實現參數的傳遞等等,不過通過在網上尋找有關資料以及同學的幫助下最后都得到了解決,在此過程中,我不僅學到了很多知識,也提高了自己解決問題的能力,尤其是學會如何從大量的信息中篩選出所需有用的信息,同時我更加深刻的體會到了,雖然書本上的大部分知識都是有價值,正確的,但實際上每個人編程的思路和對數據處理的方法、思想都是不同的,這就要求我們一定要通過實踐才能找到解決問題的方案。在此次畢業設計活動中,我不斷的提高了自己,也得到了寶貴的經驗,我相信這些對我以后的發展都會有很大幫助。

通過這次學生宿舍管理系統的開發,我參考了很多相關系統的例子,取長補短,吸取了其他系統的長處,逐步對該系統進行了完善,但是該系統還是有很多的不足之處,有待以后進一步學習。

實踐證明,學生宿舍管理系統有著非常好的發展前景,經過測試運行,系統各項功能都十分完善,界面漂亮,使用方便,操作容易,在技術理論上已經成熟。

致 ???謝

大學的學習生活在這個季節將結束,但是在我的生命這僅僅只是一個逗號,我將面對的旅程的另一個的開始。通過這次畢業設計的整個開發過程,從需求分析到具體功能實現,再到最終測試和維護的理解有了很大的進步,讓我對系統開發有了更深刻的認識,對我個人的實踐能力和解決問題的能力,都有了很大的幫助。這是這次畢業設計最大的收獲。

首先要感謝我的指導老師,他在論文寫作上,給予了我各種無私的幫助,治學嚴謹,嚴格要求,使我獲得了很大的收獲。老師深厚的理論知識和豐富的實踐經驗,都深深的影響到我,在這方面,我謹表示衷心的感謝。

其次,我還要對所有的老師和同學表示感謝,他們在我學習的過程中,都積極的提供了很多幫助,無論是專業知識,還是實踐操作技能,也能夠讓我在論文寫作中,遇到的一些難題迎刃而解。

最后,對閱讀和評審本論文的各位老師表示衷心的感謝!

參考文獻?

[1]孫妃,李可心,劉楠,王曉蘭,孔榮榮,王慧.學生宿舍管理系統的設計與實現[J].江蘇科技信息,2021,38(29):40-42+75.

[2]朱宏斌.智能控電管理系統在高校學生公寓中的應用——以宿遷學院為例[J].數字通信世界,2021(10):194-195.

[3]黃煒鋼.基于移動端的中職學生宿舍管理系統的設計與實現[J].信息與電腦(理論版),2021,33(02):141-144.

[4]馮曉春,陳艷.基于web開發的學生公寓管理系統設計與實現[J].科技創新與應用,2020(31):77-78.

[5]王鋒,金晶.高校學生宿舍水電表管理系統設計與實現[J].智能計算機與應用,2020,10(06):191-194.

[6]辛閱,黃浪塵,李家兒.學生宿舍遠程智能管理系統設計[J].軟件,2020,41(03):79-83.

[7]Xiaochen Geng,Sha Liu. Application of Modular Interface Design in Student Dormitory Management System[C]//Proceedings of 4th International Conference on Culture,Education and Economic Development of Modern Society(ICCESE 2020)(Advances in Social Science,Education and Humanities Research,VOL.416).Proceedings of 4th International Conference on Culture,2020:173-180.

[8]歐暢.宿舍管理系統的前端設計與實現[J].湖北農機化,2020(02):186-187.

[9]賈樹剛.學生宿舍管理系統的設計與實現[J].遼寧師專學報(自然科學版),2019,21(04):44-46+100.

[10]初慶東,張敏霞,崔衛韜.一種新型高校學生信息管理系統的設計與實現[J].信息技術,2019,43(06):69-71+76.

[11]王青.高校宿舍智能管理系統設計[J].微型電腦應用,2019,35(06):135-137.

[12]俞玲.基于數據挖掘的高校學生宿舍管理系統研究與設計[J].信息與電腦(理論版),2019(04):121-122.

[13]徐洋.關于“互聯網+高校學生宿舍”的研究[J].長江叢刊,2019(04):147-148.

[14]黃敏.基于B/S架構的學生宿舍管理系統數據庫設計與實踐[J].電腦知識與技術,2018,14(35):83-84+92.

[15]Wang Xi,Wang De. Research of Student Management Mechanism under the Background of Credit System Based on Student Dormitory[C]//Proceedings of the 14th International Conference on Innovation and Management.,2017:1676-1680.

免費領取本源碼,請關注點贊+私聊

總結

以上是生活随笔為你收集整理的(附源码)springboot学生宿舍管理系统 毕业设计453155的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。