Python學生公寓管理系統(tǒng)的設計與實現(xiàn)
摘 要
科技進步的飛速發(fā)展引起人們日常生活的巨大變化,電子信息技術的飛速發(fā)展使得電子信息技術的各個領域的應用水平得到普及和應用。信息時代的到來已成為不可阻擋的時尚潮流,人類發(fā)展的歷史正進入一個新時代。在現(xiàn)實運用中,應用軟件的工作規(guī)則和開發(fā)步驟,采用Python技術建設學生公寓管理系統(tǒng)。
本設計主要實現(xiàn)集人性化、高效率、便捷等優(yōu)點于一身的學生公寓管理系統(tǒng),完成首頁、用戶管理(管理員、學生、宿管)更多管理(個人信息、衛(wèi)生檢查、報修情況、班級信息管理、離校登記管理)等功能模塊。系統(tǒng)通過瀏覽器與服務器進行通信,實現(xiàn)數(shù)據的交互與變更。本系統(tǒng)通過科學的管理方式、便捷的服務提高了工作效率,減少了數(shù)據存儲上的錯誤和遺漏。學生公寓管理系統(tǒng)完善了對應的軟體架設以及程序編碼的工作,Python編程語言,MySQL數(shù)據庫,Ajax異步交互,根據Ajax異步模式等開發(fā)工具,完成了系統(tǒng)的主要模塊的頁面設計和功能實現(xiàn)。
關鍵詞:學生公寓管理;Mysql數(shù)據庫;Python
Design and implementation of Python student apartment 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, python technology is used to build the student apartment management system.
This design mainly realizes the student apartment management system with the advantages of humanization, high efficiency and convenience, and completes the functional modules such as home page, user management (administrator, student and dormitory management) and more management (personal information, health inspection, repair application, class information management, school departure registration 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 student apartment management system has improved the corresponding software erection and program coding. Python programming language, MySQL database and Ajax asynchronous interaction have completed the page design and function realization of the main modules of the system according to the Ajax asynchronous mode and other development tools.
Key words:Student apartment management; Mysql database; Python
目 錄
第1章 緒論 1
1.1 研究背景與意義 1
1.2 開發(fā)現(xiàn)狀 1
1.3 本文的組織結構 2
第2章 相關技術介紹 3
2.1 Pycharm簡介 3
2.2 MySQL描述 3
2.3 Python編程語言 3
2.4 Django框架 4
第3章 系統(tǒng)分析 5
3.1 可行性分析 5
3.1.1 技術可行性分析 5
3.1.2 經濟可行性分析 5
3.1.3 操作可行性分析 5
3.2 功能需求分析 5
3.3 非功能需求分析 8
3.4 數(shù)據流程分析 8
第4章 系統(tǒng)設計 10
4.1 系統(tǒng)架構設計 10
4.2 系統(tǒng)功能結構 10
4.3 功能模塊設計 11
4.4 數(shù)據庫設計 11
4.4.1 概念模型 11
4.4.2 關系模型 12
4.4.3 數(shù)據表 12
第5章 系統(tǒng)實現(xiàn) 19
5.1 登錄模塊的實現(xiàn) 19
5.2 用戶子系統(tǒng)模塊的實現(xiàn) 20
5.2.1 用戶首頁模塊 20
5.2.2 衛(wèi)生結果模塊 20
5.2.3 報修界面模塊 22
5.3 管理員子系統(tǒng)模塊的實現(xiàn) 23
5.3.1 學生管理模塊 23
5.3.2 個人資料管理模塊 24
5.3.3 班級信息管理模塊 25
5.3.4 報修情況管理模塊 27
5.3.5 衛(wèi)生檢查管理模塊 2
第6章 系統(tǒng)測試 29
6.1 測試目的 29
6.2 測試過程 29
6.3 測試結果 30
第7章 總結與展望 31
參考文獻 32
致謝 34
緒論
研究背景與意義
學生公寓是每一位在校同學生活、學習、相互交流的主要場所,如何提供一個良好的學生公寓的管理體系對學校和同學而言至關重要。以往的學生公寓管理基本上還處于人工操作的階段,隨著計算機技術和網絡技術的日益廣泛應用,采用計算機以及網絡來管理學生公寓似乎也已經不是一件新鮮事了。本畢業(yè)設計的目的主要是為了檢查學生綜合運用以前所學知識的能力,開發(fā)一個多功能的學生公寓管理系統(tǒng)。
學生公寓管理系統(tǒng)的開發(fā)不僅可以減少人力、物力和財力資源的浪費,更重要的是有助于提高學生公寓管理的效率。管理人員管理學生信息、管理公寓信息時是一項復雜的組織工作,這種復雜性不僅僅指學生學籍變更快,變更人數(shù)眾多,更突出地表現(xiàn)在學生公寓管理主要對象(即學生)的數(shù)據量大,管理起來帶來不便,所以開發(fā)一個實用、高效的學生公寓管理系統(tǒng)是很有必要的。
開發(fā)現(xiàn)狀
隨著近幾年國家對于高等教育的重視程度逐年提高,在全國范圍內掀起了一場高校擴招的熱潮。高校擴招能夠為國家培養(yǎng)出更多的優(yōu)質人才,這樣固然很好,可是隨之而來帶來了不少問題,其中在學生公寓管理放方面就突顯出了一些問題。每年新生的數(shù)量都在逐漸.上升,學生的住宿安全已經成為全國各地各所高校面臨的首要問題。為了解決以上問題,各高校紛紛斥資修建了多功能的學生公寓樓,學生的住宿條件得到了大幅度提升,相對硬件資源而言,而面對急劇增加的學生數(shù)量,相應的信息量也激增,而我校的公寓管理依然采用傳統(tǒng)人工的管理模式,已經更不上時代的發(fā)展要求,在科技迅速發(fā)展的今天,運用計算機技術,開發(fā)一個適合我校發(fā)展的學生公寓管理信息系統(tǒng)十幾分必要。近年來,我校規(guī)模不斷擴大,招生人數(shù)不斷增多,公寓也不斷擴建增多。致使公寓管理工作壓力增大,為了適應未來信息化社會的需要,為了使公寓管理工作更加科學化、規(guī)范化,減輕工作人員壓力,提高工作效率,所以開發(fā)寢室管理系統(tǒng)是必然的。
本文的組織結構
第一章是緒論,本文章的開頭部分,對本題目的研究背景和研究意義等一些做文字性的描述。
第二章研究了學生公寓管理系統(tǒng)的所采用的開發(fā)技術和開發(fā)工具。
第三章是系統(tǒng)分析部分,包括系統(tǒng)總體需求描述、功能性角度分析系統(tǒng)需求、非功能性等各個方面分析系統(tǒng)是否可以實現(xiàn)。
第四章是系統(tǒng)設計部分,本文章的重要部分,提供了系統(tǒng)架構的詳細設計和一些主要功能模塊的設計說明。
第五章是系統(tǒng)的具體實現(xiàn),介紹系統(tǒng)的各個模塊的具體實現(xiàn)。
第六章在前幾章的基礎上對系統(tǒng)進行測試和運行。
最后對系統(tǒng)進行了認真的總結,以此對未來有一個新的展望。
相關技術介紹
Pycharm簡介
PyCharm是用于Python腳本語言的最流行的IDE。
1.每個文件都有其輸出窗口。
2.可以終止進程(只要點下按鈕就行)。
3.各種提示超強:①沒用的變量顏色會變灰②用錯了的變量下面會有紅色波浪線③書寫提示(sublime也有但較弱)。
4.索引功能超強。
MySQL描述
現(xiàn)在MySQL數(shù)據庫在網絡上它可以支撐許多個用戶,而且也可以適應客服機和服務器的部署或者配置等,我們這里的服務器和客戶機其實就是一種軟件上的概念,并且我們使用的計算機硬件也與他們不存在一一對應的關系。
MySQL是一款非常流行的關系型數(shù)據庫管理系統(tǒng),它的出現(xiàn)一直都是佼佼者,它不僅功能非常強大,而且使用起來非常方便,并且MySQL的跨平臺能力也很好,軟件開發(fā)人員非常喜歡它的這些強大的優(yōu)點。不同于其他關系型數(shù)據庫,對于數(shù)據庫的管理它有著自己的一套方案,通過對用戶設定相應的權限和角色來達到對數(shù)據庫的管理。由此可見,MySQL是一個能夠適用于吞吐量高,可靠性高,效率高的一款數(shù)據庫管理軟件。
優(yōu)點一:MySQL中對于不同身份的用戶都設定其不同的權限來完成不同的業(yè)務邏輯,這使得MySQL在安全和完整性遠遠超出了其他關系型數(shù)據庫。
優(yōu)點二:對于那些動畫、圖形和聲音的數(shù)據類型MySQL也可以支持,這說明多數(shù)據類型MySQL也是可以支持的。
優(yōu)點三:MySQL還可以做到多個平臺的開發(fā),軟件開發(fā)的多種編程語言都可以實現(xiàn)對MySQL數(shù)據庫的操作。
Python編程語言
Python是一種開發(fā)語言,能夠以直譯的方式進行計算機語言,而且可以面向對象編程。它是由Guido van Rossum在十九世紀八十年代末研發(fā)出來,并且在九一年公開發(fā)行使用。Python有很多特點,比如有簡潔的語法,清晰的語句,豐富的類庫。正式由于這些優(yōu)點,能夠非??焖俚暮推渌Z言進行結合,來實現(xiàn)各種功能模塊。很多人給它起了個外號叫“黏黏膠”語言。使用Python快速生成程序的原型,是現(xiàn)在很多程序員使用的方法。如果其中有比較特殊要求的地方,也非常方便的進行修改。
而且PyQt具有雙證,為它能夠跨平臺運行(例如UNIX,微軟和蘋果的平臺)提供了保證。
使用Python語言之前,要進行平臺的安裝,用戶需要根據不同的平臺,下載不同的版本,然后進行環(huán)境變量的配置,便可以進行運行。
Python 特點:
1.相對于其他計算機語言來說學習起來比較簡單:Python的關鍵字較少,結構相對簡單,語法簡單,對于剛學編程語言的人來說更容易上手。
2.閱讀起來也相對簡單:Python代碼結構簡潔明了,并在定義上看起來也非常清晰,所以在閱讀的過程中更加簡單。
3.維護起來方便:Python的維護簡單方便。
4.標準庫特別廣泛:Python的最大的最大優(yōu)勢是有非常多的庫,而且是跨平臺的,而且對系統(tǒng)的兼容性很好,比如在UNIX,Windows和Macintosh系統(tǒng)上都能夠進行兼容。
5.具有方便的互動模式:有了互動模式的支持,開發(fā)者可以從代碼就可以看到結果,這樣開發(fā)者對程序的測試與調試,變的更方便。
6.可移植性好:Python可以跨平臺運行。
7.擴展性非常好的:如果有關鍵的代碼,你可以用特殊的語言進行編寫,也能夠在系統(tǒng)中調試運行。
Django框架
Django是一個由Python編寫的具有完整架站能力的開源Web框架。使用Django,只要很少的代碼,Python的程序開發(fā)人員就可以輕松地完成一個正式網站所需要的大部分內容,并進一步開發(fā)出全功能的Web服務。
Django本身基于MVC模型,即Model(模型)+View(視圖)+ Controller(控制器)設計模式,因此天然具有MVC的出色基因:開發(fā)快捷、部署方便、可重用性高、維護成本低等。Python加Django是快速開發(fā)、設計、部署網站的最佳組合。
B/S體系工作原理
B/S架構采取瀏覽器請求,服務器響應的工作模式。
用戶可以通過瀏覽器去訪問Internet上由Web服務器產生的文本、數(shù)據、圖片、動畫、視頻點播和聲音等信息;
而每一個Web服務器又可以通過各種方式與數(shù)據庫服務器連接,大量的數(shù)據實際存放在數(shù)據庫服務器中;
從Web服務器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據庫有關的指令,由Web服務器交給數(shù)據庫服務器來解釋執(zhí)行,并返回給Web服務器,Web服務器又返回給用戶。在這種結構中,將許許多多的網連接到一塊,形成一個巨大的網,即全球網。而各個企業(yè)可以在此結構的基礎上建立自己的Internet。
在 B/S 模式中,用戶是通過瀏覽器針對許多分布于網絡上的服務器進行請求訪問的,瀏覽器的請求通過服務器進行處理,并將處理結果以及相應的信息返回給瀏覽器,其他的數(shù)據加工、請求全部都是由Web Server完成的。通過該框架結構以及植入于操作系統(tǒng)內部的瀏覽器,該結構已經成為了當今軟件應用的主流結構模式。
系統(tǒng)分析
可行性分析
本次設計基于B/S 模式下,運用基于Python技術采用的是Mysql數(shù)據庫實現(xiàn),總體的可行性共分為以下三個方面。
技術可行性分析
所謂的技術可行性就是在限定時間,前期擬定的功能能否被滿足。在開發(fā)設計上是否會遇上解決不了的問題。做完的項目能否被很好地應用,如果存在缺點在后期的維護上是否存在很大的難度。在對這個系統(tǒng)評估后,認定已存在的技術能達成目標。用Python技術來實現(xiàn)動態(tài)的頁面,嵌入低依賴性的設計模式,靈活的數(shù)據庫,配合穩(wěn)定的服務器,整個系統(tǒng)的運行效率大大提升。由此可見,在技術層面達成目標不是非非之想。
經濟可行性分析
在項目上使用的工具大部分都是是當下流行開源免費的,所以在開發(fā)前期,開發(fā)時用于項目的經費將會大大降低,不會讓開發(fā)該軟件在項目啟動期受到經費的影響,所以經濟上還是可行的。盡量用最少的花費去滿足用戶的需求。省下經費用于人工費,以及設備費用。將在無紙化,高效率的道路上越走越遠。
操作可行性分析
本系統(tǒng)實現(xiàn)功能的操作很簡單,普通電腦的常見配置就可以運行本軟件,并且只要粗通電腦使用的基本常識就可以流暢的使用本軟件。電腦具備連接互聯(lián)網的能力,并且可以正常訪問系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務流程,并且按照專業(yè)知識進行正確操作即可,所以學生公寓管理系統(tǒng)具備操作可行性。
功能需求分析
在系統(tǒng)開發(fā)設計前,應該對功能做初步設想,清楚這個管理系統(tǒng)有什么板塊,每個板塊有什么功能,整體的設計是否滿足使用者的需求,接著對所開發(fā)的系統(tǒng)功能進行的詳細分析總結,從而設計出完整的系統(tǒng)并將其實現(xiàn)。用戶和開發(fā)人員的交流分析,使其達到最佳理解程度,使系統(tǒng)功能達到最佳。
宿管用例圖如下所示。

圖3-1 宿管用例圖
管理員用例圖如下所示。

圖3-2 管理員用例圖
學生用例圖如下所示。

圖3-3 學生用例圖
學生公寓管理系統(tǒng)在對需求做解析后,整個系統(tǒng)主要分為兩個部分:管理員和用戶(學生、宿管),每個模塊下的分支功能不一樣。對功能做出如下說明:
學生、宿管模塊:
賬號登錄認證。
管理個人資料信息,修改可修改的信息項。
班級信息:同時查看班級具體信息。
衛(wèi)生檢查:宿舍進行衛(wèi)生檢查信息錄入,學生可以在系統(tǒng)查看衛(wèi)生檢查結果。
報修界面:學生可以在報修界面進行公寓報修申請?zhí)峤弧?/p>
報修情況:宿管主要對公寓報修情況信息進行維護管理。
離校登記:存儲學生的離校登記信息。
管理員模塊:
維護普通用戶:審核普通用戶的賬號,可以凍結普通用戶的登錄權限,或者刪除普通用戶賬號。
班級信息管理:對班級信息進行維護管理。
衛(wèi)生檢查管理:對衛(wèi)生檢查信息進行公布管理。
報修情況管理:對公寓報修信息進行管理。
離校登記管理:對學生的離校登記進行審核。
非功能需求分析
系統(tǒng)非功能需求有非常多,比如性能需求、可承載最大用戶數(shù)、穩(wěn)定性、易用性需求等。本系統(tǒng)分析時考慮到易用性需求,因為系統(tǒng)是給人使用的,所以必須充分從用戶的角度出發(fā),考慮用戶體驗,使系統(tǒng)易理解易上手易操作。
數(shù)據流程分析
一層數(shù)據流程圖包括了登錄、用戶功能和檢索維護等模塊,在登錄模塊使用到的數(shù)據存儲有用戶賬戶文檔,用戶功能模塊需要的存儲是用戶各功能模塊數(shù)據文檔,檢索維護是使用以上這些數(shù)據文檔通過關鍵詞進行檢索。
系統(tǒng)的一層數(shù)據流圖如下圖所示。

圖3-2系統(tǒng)數(shù)據流圖(一層)
二層數(shù)據流程是對一層數(shù)據流層圖中填寫登錄信息、用戶功能的細化。即:填寫登錄信息細化為填制信息、后臺審核,用戶功能細化為班級信息管理、衛(wèi)生檢查管理、離校登記管理、報修情況管理)查看等操作。
系統(tǒng)的二層數(shù)據流圖如下圖所示。

圖3-4系統(tǒng)數(shù)據流圖(二層)
系統(tǒng)設計
系統(tǒng)架構設計
目前B/S體系的系統(tǒng)主要的數(shù)據訪問方式是:通過瀏覽器頁面用戶可以進入系統(tǒng),系統(tǒng)可以自動對用戶向服務器發(fā)送的請求進行處理,處理請求是在系統(tǒng)后臺中進行的,用戶在瀏覽器頁面上進行相應操作,就能夠看到服務端傳遞的處理結果。學生公寓管理系統(tǒng)主要分為視圖-模型-控制三層架構設計。在視圖層中,主要是操作在服務器端向客戶端反饋并顯示的數(shù)據,在模型層中,主要處理相關的業(yè)務邏輯、數(shù)據整合等,最后的控制層它介于視圖和模型之間,主要是調整兩層之間的關系,最終落實數(shù)據的傳遞。
系統(tǒng)架構圖如下圖所示。

圖4-1系統(tǒng)架構圖
系統(tǒng)功能結構
系統(tǒng)設計的目的是分析系統(tǒng)包括的所有功能結構,為開發(fā)人員設計開發(fā)和實現(xiàn)系統(tǒng)做好準備工作。經過前期的需求調查、分析和整理之后,確定的總體需求主要包括多個模塊,分別是:首頁、用戶管理(管理員、學生、宿管)更多管理(班級信息管理、衛(wèi)生檢查管理、離校哦登記管理,報修情況管理)。系統(tǒng)整體角色分為兩個部分,一是用戶(學生、宿管)、二是管理員。權限分布也是很明顯,用戶是在除去瀏覽信息之外還具有查詢和管理自己賬戶信息、報修界面、衛(wèi)生結果、離校登記等權限;管理員是最高權限擁有者。
系統(tǒng)功能結構圖如下圖所示。

圖4-2系統(tǒng)功能結構圖
功能模塊設計
報修界面維護模塊
學生來錄入報修申請數(shù)據,點擊報修申請錄入按鈕,依次填寫要錄入的報修申請數(shù)據,點擊提交按鈕,將數(shù)據提交至數(shù)據庫,然后刷新報修申請數(shù)據頁面,每條數(shù)據右邊有刪除和編輯按鈕,來完成相應的刪除和更新功能。
班級信息管理模塊
管理員和班級信息存在管理關系,關系為一對多,根據班級編號來將班級數(shù)據傳入到上交數(shù)據中,操作人為管理員,然后生成上交列表,用戶可以查看班級信息列表,管理員可以進行數(shù)據銷毀。
數(shù)據庫設計
概念模型
對于一個要開發(fā)的系統(tǒng)來說,E-R圖可以讓別人能更快更輕松的了解此系統(tǒng)的事務及它們之間的關系。根據系統(tǒng)分析階段所得出的結論確定了在學生公寓管理系統(tǒng)中存在著多個實體分別是用普通用戶、管理員、(班級管理、用戶管理、衛(wèi)生檢查、報修情況、離校登記管理)系統(tǒng)總體ER圖如下圖所示。

圖4-4系統(tǒng)總體ER圖
關系模型
管理員(管理員id、用戶名、密碼、權限)
學生用戶(學生用戶id、學生學號、密碼、姓名、性別、身份證號、電話、照片)
數(shù)據庫
數(shù)據庫邏輯結構就是將E-R圖在數(shù)據庫中用具體的字段進行描述。用字段和數(shù)據類型描述來使對象特征實體化,最后形成具有一定邏輯關系的數(shù)據庫表結構。學生公寓管理系統(tǒng)所需要的部分數(shù)據結構表如下表所示。
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
student_user_id |
int |
11 |
是 |
是 |
學生用戶ID |
student_name |
varchar |
64 |
否 |
否 |
學生姓名 |
student_number |
varchar |
64 |
是 |
否 |
學生學號 |
student_gender |
varchar |
64 |
否 |
否 |
學生性別 |
examine_state |
varchar |
16 |
是 |
否 |
審核狀態(tài) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
user_id |
int |
11 |
是 |
否 |
用戶ID |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
class_information_id |
int |
11 |
是 |
是 |
班級信息ID |
class_name |
varchar |
64 |
否 |
否 |
班級名稱 |
number_of_boys |
int |
11 |
否 |
否 |
男生人數(shù) |
number_of_girls |
int |
11 |
否 |
否 |
女生人數(shù) |
class_size |
varchar |
64 |
否 |
否 |
全班人數(shù) |
number_of_accommodation |
varchar |
64 |
否 |
否 |
住宿人數(shù) |
class_notes |
varchar |
64 |
否 |
否 |
班級備注 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
dormitory_information_id |
int |
11 |
是 |
是 |
宿舍信息ID |
dormitory_building_id |
varchar |
64 |
否 |
否 |
宿舍樓id |
dormitory_id |
varchar |
64 |
否 |
否 |
宿舍id |
number_of_dormitories |
varchar |
64 |
否 |
否 |
宿舍人數(shù) |
dormitory_name |
varchar |
64 |
否 |
否 |
宿管名稱 |
dormitory_remarks |
varchar |
64 |
否 |
否 |
宿舍備注 |
student_name |
text |
0 |
否 |
否 |
學生名稱 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
personal_information_id |
int |
11 |
是 |
是 |
個人信息ID |
student_name |
varchar |
64 |
否 |
否 |
學生姓名 |
student_number |
int |
11 |
否 |
否 |
學生學號 |
student_gender |
varchar |
64 |
否 |
否 |
學生性別 |
student_age |
varchar |
64 |
否 |
否 |
學生年齡 |
class_name |
varchar |
64 |
否 |
否 |
班級名稱 |
dormitory_building_id |
varchar |
64 |
否 |
否 |
宿舍樓ID |
dormitory_id |
varchar |
64 |
否 |
否 |
宿舍ID |
student_college |
varchar |
64 |
否 |
否 |
學生學院 |
registered_residence_of_students |
varchar |
64 |
否 |
否 |
學生戶籍 |
id_number |
varchar |
255 |
否 |
否 |
身份證號 |
phone_number |
varchar |
16 |
否 |
否 |
手機號碼 |
student_email |
varchar |
64 |
否 |
否 |
學生郵箱 |
student_major |
varchar |
64 |
否 |
否 |
學生專業(yè) |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
repair_report_id |
int |
11 |
是 |
是 |
報修情況ID |
student_name |
varchar |
64 |
否 |
否 |
學生姓名 |
applicant_student_number |
int |
11 |
否 |
否 |
申報人學號 |
dormitory_building_id |
varchar |
64 |
否 |
否 |
宿舍樓ID |
dormitory_id |
varchar |
64 |
否 |
否 |
宿舍ID |
fault_location |
varchar |
64 |
否 |
否 |
故障地點 |
faulty_items |
varchar |
64 |
否 |
否 |
故障物品 |
date_of_failure |
varchar |
64 |
否 |
否 |
故障日期 |
approval_status |
varchar |
64 |
否 |
否 |
審批狀態(tài) |
matters_needing_attention |
text |
0 |
否 |
否 |
注意事項 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
sanitary_inspection_id |
int |
11 |
是 |
是 |
衛(wèi)生檢查ID |
dormitory_building_id |
varchar |
64 |
否 |
否 |
宿舍樓ID |
dormitory_id |
varchar |
64 |
否 |
否 |
宿舍ID |
audit_date |
date |
0 |
否 |
否 |
審核日期 |
the_ground_is_clean_and_tidy |
varchar |
64 |
否 |
否 |
地面整潔 |
toilet_sanitation |
varchar |
64 |
否 |
否 |
廁所衛(wèi)生 |
window_hygiene |
varchar |
64 |
否 |
否 |
窗戶衛(wèi)生 |
odor_and_sundries |
varchar |
64 |
否 |
否 |
異味雜物 |
clean_and_tidy_articles |
varchar |
64 |
否 |
否 |
物品整潔 |
comprehensive_score |
varchar |
64 |
否 |
否 |
綜合評分 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
school_leaving_registration_id |
int |
11 |
是 |
是 |
離校登記ID |
student_name |
varchar |
64 |
否 |
否 |
學生姓名 |
student_number |
int |
11 |
否 |
否 |
學生學號 |
dormitory_building_id |
varchar |
64 |
否 |
否 |
宿舍樓ID |
dormitory_id |
varchar |
64 |
否 |
否 |
宿舍ID |
departure_time |
datetime |
0 |
否 |
否 |
離校時間 |
back_to_school_time |
datetime |
0 |
否 |
否 |
返校時間 |
reasons_for_leaving_school |
text |
0 |
否 |
否 |
離校理由 |
recommend |
int |
11 |
是 |
否 |
智能推薦 |
create_time |
datetime |
0 |
是 |
否 |
創(chuàng)建時間 |
update_time |
timestamp |
0 |
是 |
否 |
更新時間 |
名稱 |
類型 |
長度 |
不是null |
主鍵 |
注釋 |
score_id |
int |
10 |
是 |
是 |
評分ID: |
user_id |
int |
11 |
是 |
否 |
評分人: |
nickname |
varchar |
64 |
否 |
否 |
昵稱: |
score_num |
double |
5 |
是 |
否 |
評分: |
create_time |
timestamp |
0 |
是 |
否 |
創(chuàng)建時間: |
update_time |
timestamp |
0 |
是 |
否 |
更新時間: |
source_table |
varchar |
255 |
否 |
否 |
來源表: |
source_field |
varchar |
255 |
否 |
否 |
來源字段: |
source_id |
int |
10 |
是 |
否 |
來源ID: |
系統(tǒng)實現(xiàn)
登錄模塊的實現(xiàn)
系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進行頁面跳轉,進入系統(tǒng)中去。
登錄合法性判斷過程:用戶輸入賬號和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據合法性,然后在login.Python頁面發(fā)送登錄請求,調用src下的mainctrl類的dopost方法來驗證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測用戶輸入的賬號、密碼是否正確及在數(shù)據庫已對應存在。
2)從數(shù)據庫中提取記錄,并儲存在本地的session中(timeout默認=30min)。
3)根據用戶名,將其顯示在系統(tǒng)首頁上。
輸出:是否成功的信息。
登錄流程圖如下所示。

圖5-1登錄流程圖
系統(tǒng)登錄界面如下所示。

圖5-2系統(tǒng)登錄界面
用戶子系統(tǒng)模塊的實現(xiàn)
用戶注冊模塊
系統(tǒng)呈現(xiàn)出一種簡潔大方的首頁:界面簡約、鱗次櫛比,用戶能輕車熟路的使用。出于對系統(tǒng)使用群體廣泛的顧慮,應有良好性能的后臺。
如下圖所示為系統(tǒng)的注冊界面。

圖5-3系統(tǒng)注冊界面
衛(wèi)生結果模塊
衛(wèi)生結果界面中,通過搜索查看可以得到衛(wèi)生結果數(shù)據,將衛(wèi)生結果數(shù)據賦值給學生搜索,最后查看衛(wèi)生結果信息。
衛(wèi)生結果流程圖如下所示。

圖5-4衛(wèi)生結果流程圖
衛(wèi)生結果界面如圖所示。

圖5-5衛(wèi)生結果界面
報修界面模塊
報修界面模塊,學生通過報修信息提交,將報修申請數(shù)據賦值提交申請,調用CommDAO的insert方法將上交數(shù)據插入上交表中,最后查看學生公寓的歷史報修界面記錄,可以銷毀歷史報修界面數(shù)據。
報修界面如下所示。

圖5-6報修界面流程圖
報修界面界面如圖所示。

圖5-7報修界面界面
管理員子系統(tǒng)模塊的實現(xiàn)
學生管理模塊
學生在yhzhgl查看學生信息,先使用sql語句查詢出所有學生表的數(shù)據,然后調用PageManager.getPages(url,4,sql, request ),返回一個ArrayList的對象,在for循環(huán)里,使用Python得到每個ArrayList對象的數(shù)據,在Python頁面中解析ArrayList對象,得到其各個鍵值對的值。
學生管理界面如下圖所示。

圖5-8學生管理界面
個人資料管理模塊
用戶點擊登錄填寫賬號信息登錄后,會切換內容為“某某用戶歡迎您”和歷史訂單,并給出注銷鏈接。當用戶登錄成功后會將個人信息保存在session作用域中,點擊自己的用戶名時,會跳轉到個人詳細信息頁面,由后臺通過Freemarker取出session作用域中的用戶信息進行動態(tài)渲染,例如,郵箱、電話號碼、用戶名等等。同時頁面上會顯示修改個人信息和修改密碼的按鈕,這時客戶可以修改自己的登錄密碼以保障賬號的安全性,防止被人竊取賬號,通過UserController.java的updatePassword()實現(xiàn),同時也可以根據自己的個人信息是否變動做出相應的修改,通過updateUserInfo()實現(xiàn)。
密碼修改流程圖如下所示。

班級信息管理模塊
添加班級信息時,選擇需要添加的班級名稱,男生人數(shù)、女生人數(shù)信息等進行添加或修改、刪除等操作。班級信息流程圖如下所示。

圖5-10班級信息管理流程圖
班級信息管理界面如下圖所示。

圖5-11班級信息管理界面
報修情況管理模塊
報修情況管理,輸入需要申請報修的公寓信息,調用getData方法獲取所有數(shù)據并且進行分頁,把獲取到的所有數(shù)據顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數(shù)據庫操作。
報修情況管理流程圖如下所示。

圖5-12報修情況管理流程圖
報修情況管理界面如下圖所示。

圖5-13報修情況管理界面
衛(wèi)生檢查模塊
衛(wèi)生檢查,查看衛(wèi)生檢查信息,調用getData方法獲取所有數(shù)據并且進行分頁,把獲取到的所有數(shù)據顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數(shù)據庫操作。
衛(wèi)生檢查管理界面如下圖所示。

圖5-14衛(wèi)生檢查管理界面
系統(tǒng)測試
測試目的
在對該系統(tǒng)進行完詳細設計和編碼之后,就要對學生公寓管理系統(tǒng)的程序進行測試,檢測程序是否運行無誤,反復進行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實現(xiàn)預期的功能。
測試過程
在軟件的測試過程中,通常測試人員需要針對不同的功能模塊設計多種測試用例。通過測試用例能夠及時發(fā)現(xiàn)代碼業(yè)務邏輯上是否與真實的業(yè)務邏輯相對應,及時發(fā)現(xiàn)代碼上或邏輯上的缺陷,以此來來完善系統(tǒng),提高軟件產品的質量,使軟件具有良好的用戶體驗。
登錄測試用例表如下所示。
表6-1登錄測試用例
測試性能 |
用戶或操作員登錄系統(tǒng) |
||
用例目的 |
測試用戶或操作員登錄系統(tǒng)時功能是否正常 |
||
前提條件 |
進入用戶登錄頁面或操作員登錄頁面 |
||
輸入條件 |
預期輸出 |
實際情況 |
|
各項信息不予填寫,直接點擊登陸按鈕 |
不允許登錄,提示填寫賬號相關信息 |
一致 |
|
填寫錯誤的登錄名或密碼后點擊登錄系統(tǒng) |
提示用戶名或密碼錯誤,要求重新填寫進行登錄 |
一致 |
|
填寫與驗證碼信息不一致的信息 |
系統(tǒng)顯示出提示信息,表明驗證碼錯誤,要求重新填寫 |
一致 |
報修情況測試用例表如下所示。
表6-2報修情況測試用例
測試性能 |
用戶進行報修情況的操作 |
||
用例目的 |
測試用戶進行報修情況操作時,該功能是否正常 |
||
前提條件 |
用戶進入報修情況詳情頁,該公寓能夠被報修 |
||
輸入條件 |
預期輸出 |
實際情況 |
|
對著某公寓點擊“報修”按鈕 |
界面跳轉至報修界面 |
一致 |
|
在報修界面,輸入必填項,點擊“提交”按鈕 |
提示“報修成功”,并返回上一級界面 |
一致 |
|
在報修界面,填寫報修表單的時候未輸入完整,點擊“提交”按鈕 |
提示“報修失敗” |
一致 |
測試結果
經過對此系統(tǒng)的測試,得出該系統(tǒng)足以滿足用戶日常需求,在功能項目和操作等方面也能滿足操作員對于其他用戶的管理。但是,還有很多功能有待添加,這個系統(tǒng)僅能滿足大部分的需求,還需要對此系統(tǒng)的功能更進一步的完善,這樣使用起來才能更加的完美。
總結與展望
通過學生公寓管理系統(tǒng)的開發(fā),本人鞏固了之前學過的知識,如今將平時所學到的知識融合在設計中,在設計過程中,做了很多的準備,首先,在數(shù)據庫系統(tǒng)的設計過程中,尤其是在數(shù)據庫的工作原理、工作特點,對其深刻的討論,與此同時,對于小型站點來說,最好服務器的選擇,其次,利用所學的知識點分析所做的系統(tǒng),并在此基礎上設計。
目前本系統(tǒng)已經上線,正在試運行階段,用戶反饋良好,基本完成用戶所需,試運行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據的安全性,對系統(tǒng)進行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據庫備份為每周備份一次,系統(tǒng)部署在云平臺服務器中。
本次系統(tǒng)上線成功后,得到了用戶的高度認可,但是在功能上和性能上還需做進一步的研究處理,使其有更高的性能和更好的用戶體驗。
系統(tǒng)在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應速度,在系統(tǒng)今后的升級過程中將著重解決這些安全性問題。
參考文獻
[1]孫妃,李可心,劉楠,王曉蘭,孔榮榮,王慧.學生公寓管理系統(tǒng)的設計與實現(xiàn)[J].江蘇科技信息,2021,38(29):40-42+75.
[2]朱宏斌.智能控電管理系統(tǒng)在高校學生公寓中的應用——以宿遷學院為例[J].數(shù)字通信世界,2021(10):194-195.
[3]黃煒鋼.基于移動端的中職學生學生公寓管理系統(tǒng)的設計與實現(xiàn)[J].信息與電腦(理論版),2021,33(02):141-144.
[4]馮曉春,陳艷.基于web開發(fā)的學生公寓管理系統(tǒng)設計與實現(xiàn)[J].科技創(chuàng)新與應用,2020(31):77-78.
[5]王鋒,金晶.高校學生宿舍水電表管理系統(tǒng)設計與實現(xiàn)[J].智能計算機與應用,2020,10(06):191-194.
[6]辛閱,黃浪塵,李家兒.學生宿舍遠程智能管理系統(tǒng)設計[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.DOI:10.26914/c.cnkihy.2020.005528.
[8]歐暢.學生公寓管理系統(tǒng)的前端設計與實現(xiàn)[J].湖北農機化,2020(02):186-187.
[9]賈樹剛.學生公寓管理系統(tǒng)的設計與實現(xiàn)[J].遼寧師專學報(自然科學版),2019,21(04):44-46+100.
[10]初慶東,張敏霞,崔衛(wèi)韜.一種新型高校學生信息管理系統(tǒng)的設計與實現(xiàn)[J].信息技術,2019,43(06):69-71+76.DOI:10.13274/j.cnki.hdzj.2019.06.017.
[11]王青.高校宿舍智能管理系統(tǒng)設計[J].微型電腦應用,2019,35(06):135-137.
[12]俞玲.基于數(shù)據挖掘的高校學生公寓管理系統(tǒng)研究與設計[J].信息與電腦(理論版),2019(04):121-122.
[13]徐洋.關于“互聯(lián)網+高校學生宿舍”的研究[J].長江叢刊,2019(04):147-148.
[14]黃敏.基于B/S架構的學生公寓管理系統(tǒng)數(shù)據庫設計與實踐[J].電腦知識與技術,2018,14(35):83-84+92.DOI:10.14004/j.cnki.ckt.2018.4118.
[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.
致謝
本次設計歷時3個月。在這個畢業(yè)設計中,它離不開指導教師的指導,使事情基本順利。指導老師無論是在畢業(yè)設計歷經中,還是在論文做完中都給了了我特別大的助益。另1個方面,教師認真負責的工作姿態(tài),謹慎的教學精神厚重的理論水準都使我獲益匪淺。他勤懇謹慎的教學育人學習姿態(tài)也給我留下了特別特別深的感覺。我從老師那里學到了很多東西。在理論和實踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。
經過對該畢業(yè)設計的全部研究和開發(fā),我的系統(tǒng)研發(fā)經歷了從需求分析到實現(xiàn)詳細功能,再到最終測試和維護的特殊進展。讓我對系統(tǒng)研發(fā)有了更深層次的認識。如今我的動手本領單獨處理疑惑的本領也獲取到了特別大的演練學習增多,這是這次畢業(yè)設計最好的收獲。
最后,在整個系統(tǒng)開發(fā)過程中,我周圍的同學和朋友給了我很多意見,所以我很快就確認了系統(tǒng)的商業(yè)思想。在次,我由衷的向他們表示感激。文章來源:http://www.zghlxwxcb.cn/news/detail-495984.html
免費領取項目源碼,請關注點贊+私聊文章來源地址http://www.zghlxwxcb.cn/news/detail-495984.html
到了這里,關于(附源碼)Python學生公寓管理系統(tǒng)的設計與實現(xiàn) 畢業(yè)設計181047的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!