高校學生宿舍管理系統(一)
陳家祺
論文關鍵詞: 宿舍管理系統 數據庫 Delphi6.0
論文摘要 :高校學生宿舍管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于后臺數據庫的建立和維護要求建立起數據一致性和完整性強、數據安全性好的庫。而對于前端應用程序的開發則要求應用程序能提供強大的數據操縱功能,界面友好、使用簡單方便等特點。我們使用Borland公司的Delphi 6.0和MS SQLServer 2000數據庫為開發工具, Delphi6.0是比較完備的面向數據庫開發工具,同時它也利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,提供了強大的數據環境,更有利于對數據庫和數據表的直接操作和處理,提高了編程效率和可靠性。舊的手工紀錄的宿舍管理方式已經不能適應高速發展的信息化時代,新的宿舍管理系統開發出來之后,學校的現有的宿舍信息管理將有很大的改觀,由過去的人工方式轉變為計算機方式,由效率低、數據冗余、易產生錯誤轉變為檢索迅速、查找方便、可靠性高、存儲量大。這些優點能夠極大地提高效率,也是學??茖W化、正規化管理的重要條件。
引言
學生宿舍管理系統對于一個學校來說是必不可少的組成部分。目前好多學校還停留在宿舍管理人員手工記錄數據的最初階段,手工記錄對于規模小的學校來說還勉強可以接受,但對于學生信息量比較龐大,需要記錄存檔的數據比較多的高校來說,人工記錄是相當麻煩的。而且當查找某條記錄時,由于數據量龐大,還只能靠人工去一條條的查找,這樣不但麻煩還浪費了許多時間,效率也比較低。當今社會是飛速進步的世界,原始的記錄方式已經被社會所淘汰了,計算機化管理正是適應時代的產物。信息世界永遠不會是一個平靜的世界,當一種技術不能滿足需求時,就會有新的技術誕生并取代舊技術。21世紀的今天,信息社會占著主流地位,計算機在各行各業中的運用已經得到普及,自動化、信息化的管理越來越廣泛應用于各個領域。我們針對如此,設計了一套學生宿舍管理系統。學生宿舍管理系統采用的是計算機化管理,系統做的盡量人性化,使用者會感到操作非常方便,管理人員需要做的就是將數據輸入到系統的數據庫中去。由于數據庫存儲容量相當大,而且比較穩定,適合較長時間的保存,也不容易丟失。這無疑是為信息存儲量比較大的學校提供了一個方便、快捷的操作方式。本系統具有運行速度快、安全性高、穩定性好的優點,并且具備完善的報表生成、修改功能,能夠快速的查詢學校所需的住宿信息。
第一章 系統需求分析 目前,我們學校的宿舍管理采用的還是人工來進行管理的, 面對目前學校發展的實際狀況,我們通過實地調研之后,對宿舍管理系統的設計開發做了一個詳細的概述。
1.1功能需求
1.1.1 基本功能需求
本課題要實現的是高校學生宿舍管理系統,在設計該系統時,應盡可能的貼近學生,便于用戶操作。系統在實現上應該具有如下功能:
1.系統要求用戶必須輸入正確的用戶名和密碼才能進入系統。
2.系統應該提供學生住宿情況的基本登記。
3.系統應提供學生每學期的注冊及學生的離校處理。
4.系統應提供人員來訪登記及結束訪問的詳細登記。
5.系統應提供學生在校期間物品出入宿舍樓的詳細情況登記。
6.系統應提供查詢功能,以方便用戶對學生基本信息的查詢(要實現按多種條件的查詢)及樓房信息的查詢。
7.系統應提供增加、刪除、修改用戶帳戶的功能。
8.系統還應具有添加、修改、刪除學生及員工基本信息的功能。
1.1.2 報表需求 學生宿舍管理系統的某些信息應當能夠以報表形式打印出來?;旧蠎撃軌驅崿F學生基本信息的報表打印、某宿舍具體住宿情況的報表打印、某棟宿舍樓的所有員工信息打印、所有學生各年度宿舍交費情況打印、學生物品出入的信息打印及人員來訪信息的打印等的功能。
1.1.3 用戶界面需求 學生宿舍管理系統應提供簡單、層次關系明了、清晰的操作界面,使用戶一目了然。盡可能的為用戶的錄入、查詢等功能操作提供方便。快捷按鈕的創建也是非常需要的,以方便用戶操作。
1.2性能需求 1.2.1系統安全性
學生宿舍管理系統中的增加用戶、學生學期注冊(交住宿費方能注冊)、學生畢業離校等的某些模塊都是和學生住宿費相聯系在一起的,只有每年度的住宿費用交納完畢才準許該生離校,所以在系統的管理權限上應當進行嚴格控制,具體思想如下:
1.要想對該學生宿舍管理系統進行操作就應當具有某些操作權限。沒有權限的用戶將不能通過任何渠道來登錄該系統,查看該系統的任何信息和數據,以確保系統的嚴密性和安全性。
2.在上述要求基礎上可以為該系統設定兩種登錄方式,程序開始運行所有功能將是不可使用的,只有系統管理員登錄和普通用戶登錄兩個窗口可以使用,沒有系統管理員或者普通用戶的用戶名和密碼任何人都不能登錄該系統。
3.在具體實現時還應為系統管理員和普通用戶設定不同的權限,系統管理員應當可以使用系統的所有模塊,普通用戶對于用戶管理模塊、學生學期注冊(涉及到交費問題)及學生畢業離校等(此模塊需判斷該生有無欠費)牽扯到經濟之類的模塊是無權使用的。 1.3數據庫選擇 數據庫是數據管理的最新技術,是計算機科學的重要分支。十年來,數據庫管理系統已從專用的應用程序包發展成為通用系統軟件。由于數據庫具有數據結構化、最低冗余度、較高的程序與數據獨立性、易于擴充、易于編制應用程序等優點,較大的信息系統都是建立在數據庫設計之上的。
由于用到的數據表格多,另外考慮到實際情況,學生基本信息的變動,還有員工信息的多少的變化,我們選用SQL Server作為數據庫開發,而不用Access,主要是因為Access存放的記錄,在實際運用中不適合此系統;而SQL Server是一種常用的關系數據庫,能存放和讀取大量的數據,管理眾多并發的用戶,故選用SQL Server數據庫。
1.4環境 本系統是以Windows系統為操作平臺,用Delphi 6.0編程語言和SQL Server數據庫來實現高校學生宿舍管理系統所需功能的。
第二章 相關知識點介紹
2.1 Delphi知識介紹
Delphi是美國Borland Software Corporation 公司的編程工具產品。它基于Pascal語言,具有語法嚴謹、結構清晰、可讀性強和代碼執行效率高等優點;最重要的是,它功能強大且易活易學,利用Delphi,我們在Windows平臺下幾乎可以做任何事情。Delphi憑借其強大的功能、易用性以及在開發數據庫和網絡應用程序上的極大優勢,作為一個優秀的、體貼的、以人為本的開發工具,Delphi一直堅持復雜問題簡單化的思想 ,而且不隱藏其細節以適應不同層次的程序員 。
在進行宿舍管理系統開發時,用到了Delphi中的許多重要控件,下面將主要組件進行逐一說明。
TTable 組件通過BDE從一個數據庫表格中取得數據并通過TDataSourse組件將數據傳遞給一個或多個數據控制組件。而且,將從數據控制組件處得到的信息通過BDE傳遞給數據庫。TableName是TTable 最重要的屬性之一。它是用來說明這個TTable組件所對應的是數據庫中的哪一張數據庫表格。DatabaseName 屬性是用來說明當前數據集的來源,即應用程序所利用的數據庫的名字。TDBGrid 組件的作用是一個將數據集記錄顯示在網格中,并且可以對其中的數據進行編輯修改。在窗體中放置一個TDBGrid對象來顯示和編輯一個數據集( table 或query)中的記錄,應用程序可以通過數據網格組件來插入、刪除或編輯數據集中的數據,或者只是簡單地利用它來顯示數據集中的數據記錄。TDBNavigator組件(又稱為數據庫導航器)是用來在數據集中瀏覽數據和編輯數據的。TDBNavigatoro組件是由一組控制按鈕組成,通過這些控制按鈕,用戶可以完成在數據集中移動記錄指針,增添或刪除一項記錄,編輯修改數據記錄以及向數據庫提交對數據集記錄的修改等工作。TDataSource 組件提供了聯系數據集組件(TTable組件、TQuery組件和TStoredProc組件)與數據控制組件(例如TDBG rid組件)的紐帶。通過使用TDataSource組件,可以利用數據控制組件顯示、瀏覽以及修改數據集中的數據。
ADO組件頁介紹:TADOConnection 是用來建立與ADO數據庫之間聯系的組件,各種ADO 的數據集及操作組件可以共用這種聯系來執行命令,讀取數據,并執行相應的操作。TADOTable組件主要用來從單個數據表格中讀取數據,完成相應操作。它可以直接與數據庫相聯,也可以通過TADOConnection來實現連接。TADOQuery組件通過使用常用的SQL語句來讀取數據,完成相應操作。和TTable組件相比,TQuery組件的重要性體現在只有使用SQL語言才能完成查詢的時候必須使用該組件,它支持復雜得嵌套查詢,也就是Select中包含著Select子查詢。它還可以使用DDL SQL 語句,它可以直接與數據庫相聯,也可以通過TADOConnection來實現連接。
TQuickRep組件:報表是數據庫應用程序設計中非常重要的一部分,數據庫應用程序通常都要生成報表,并且打印出來。該組件是設置報表外觀的主要組件,將TQuickRep組件加入到窗體中,它可以定位到窗體上并擴展成全頁的尺寸,給報表一個全頁顯示的可能。DataSet該屬性指定主報表將從哪一個數據集中獲得數據。對于簡單的列表類型的報表中,通常使用一個數據集。對于一個主/明細表,該屬性應該設置為主數據集。
2.2 SQL Server 2000知識介紹 SQL Server 2000 是Microsoft 公司推出的SQL Server數據庫管理系統,它繼承了SQL Server 7.0 版本的優點,同時又為它增加了許多更先進的功能,具有使用方便、可伸縮性好、與相關軟件集成度高等優點,應用程序的操作系統支持所有Windows版本。
在SQL Server中,使用的是T-SQL語言,T-SQL是ANSI SQL的加強版語言,它提供了標準的SQL 命令,由于SQL語言功能豐富、語言簡潔,使用方法靈活,倍受用戶和計算機業界的青睞,被眾多的計算機公司和軟件公司采用。經過多年的發展,SQL語言已成為關系數據庫的標準語言。
SQL語言主要有數據定義語言、數據操縱語言、數據控制語言和其他類語言要素組成。T-SQL的分類也有類似于SQL語言的分類,不過做了許多擴充。T-SQL語言的分類如下:變量說明語句、數據定義語言(用來建立數據庫、數據庫對象和定義其列,大部分是以CREATE 開頭的命令)、數據操縱語言(用來操縱數據庫中的數據的命令,如:SELECT、INSERT、DELETE等)、數據控制語言(用來控制數據庫組件的存取許可、存取權限等的命令,如:GRANT 等)、流程控制語言(用于設計應用程序的語句 ,如:If …While和Case等)、內嵌函數(說明變量的命令)、其他命令(嵌于命令中使用的標準函數)。
為了使數據庫更加精簡,最大限度的減少數據庫冗余數據??梢允褂眠B接查詢來實現多個表的連接。連接查詢可以分為等值連接查詢、非等值連接查詢、自身連接查詢等。表之間的連接如果是通過相等的字段值連接起來的查詢稱為等值連接查詢。在等值查詢的連接條件中,不使用等號而使用其他比較運算符,就構成了非等值連接查詢,可以使用的比較運算符有〉、〉=、!= 等。連接不僅可以在表之間進行,也可以使一個表同其自身進行連接,這種連接成為自身連接,相應得查詢成為自連接查詢。
一個數據庫能否保持信息的正確性、及時性、很大程度上依賴數據庫的更新功能的強弱與數據庫的實時更新能力,這些操作包括插入、刪除、修改,也成為更新3種操作。 第三章 宿舍管理系統詳細設計
3.1系統功能模塊圖
圖3.1 系統功能模塊圖
在整體設計中,我們將宿舍管理系統分為八個大的模塊:系統管理模塊、公寓管理模塊、學生管理模塊、信息查詢模塊、出入登記模塊、信息修改模塊、報表管理模塊、關于模塊。每個模塊將實現不同的功能。下面將具體進行介紹。
3.1.1 系統管理模塊 系統管理模塊包括:超級用戶登錄、普通用戶登錄、用戶密碼修改、用戶管理、退出系統五個部分。
1.超級用戶登錄:實現系統管理人員登錄。
2.普通用戶登錄:實現一般管理人員登錄。
3.用戶管理:實現系統管理人員授予或取消一般用戶登錄該系統的用戶名和密碼。
4.密碼修改:實現所用用戶的密碼更改功能。
5.退出系統:實現正常退出宿舍管理系統。
3.1.2 公寓管理模塊 公寓管理模塊包括:樓房管理、宿舍管理、員工管理三個大的部分。
1.樓房管理:登記學校所有住宿樓情況。
2.宿舍管理:登記學校所有宿舍的情況。
3.員工原理:實現樓房管理人員的添加功能。
3.1.3 學生管理模塊 學生管理模塊包括:學生基本信息錄入、學生財物登記、學生學期注冊、學生離校管理四項功能.
1.學生基本信息錄入:實現學生基本信息情況的登記及宿舍的分配功能。
2.學生財物登記:登記學生在校期間所擁有的公共及私有貴重物品情況。
3.學生學期注冊管理:登記學生在校期間每學期的宿舍繳費情況。
4.學生離校管理:實現學生畢業離校處理,注銷該學生信息。
3.1.4 信息查詢模塊 信息查詢模塊基本上包括:按學號進行查詢、按姓名進行查詢、按班級查詢、按寢室號查詢、每棟樓房住宿情況查詢五個部分。
1.按學號進行查詢:實現每個學生基本信息情況的查詢功能。
2.按姓名查詢:通過學生姓名查詢學生基本信息情況。
3.按班級查詢:通過班級查詢某班級學生住宿情況及該班級學生信息。
4.按寢室號查詢:查看每個宿舍所住學生信息情況。
5.樓房住宿情況查詢:查詢每棟樓房的所有宿舍的住宿情況及宿舍樓所住學生統計情況。
3.1.5 出入登記模塊 出入登記模塊包括:進樓物品登記、出樓物品登記、人員來訪登記、結束訪問登記四個功能模塊。
1.進樓物品登記:詳細登記某學生搬入宿舍樓的物品情況。
2.出樓物品登記:詳細登記某學生搬出宿舍樓的物品情況。
3.人員來訪登記:詳細登記進入宿舍樓的外來人員情況。
4.結束訪問登記:詳細登記外來人員的離開情況。
3.1.6 信息修改模塊 信息修改模塊包括:學生基本信息修改、員工基本信息修改、個人財物信息修改三個大的功能。
1.學生基本信息修改:實現系統管理人員對學生基本信息情況所作的添加、修改、刪除。
2.員工信息修改:實現系統管理人員對樓房員工的修改、刪除功能。
3.個人財物修改:實現對學生個人財物的添加、修改、刪除功能。
3.1.7 報表管理模塊 報表管理模塊包括:學生信息打印、員工信息打印、宿舍交費情況打印、物品出入樓信息打印、某宿舍住宿情況打印五個功能。
1.學生信息:查詢并打印每個學生的詳細基本信息情況。
2.員工信息:查詢并打印每棟宿舍樓的所有員工信息情況。
3.宿舍交費情況:查詢并打印已交清或未交清住宿費的學生信息。
4.物品出入樓信息:查詢并打印某學生的物品出入宿舍樓的信息情況。
5.宿舍住宿情況:查詢并打印某個宿舍的詳細住宿情況。
6.人員來訪情況:查詢并打印某個時間段的人員來訪情況。
3.1.8 關于模塊 此模塊是對學生宿舍管理系統開發者相關信息的一個簡單介紹。
3.2系統E-R圖 在我所設計的模塊中,主要涉及到員工、樓房、寢室這三個實體,所以在E-R圖中我只是將這三個實體的屬性進行了詳細說明。
圖3.2系統E-R圖
3.3 系統所需表 綜合以上分析,要實現上面的所有功能模塊,共需要設計九個表,它們分別是:學生基本情況表、寢室表、員工表、樓房表、人員來訪表、學生財產表、學期注冊表、權限表、物品出入樓表。