版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1 前言1</b></p><p> 1.1 開發(fā)背景1</p><p> 1.2 研究目的及意義1</p><p> 2 系統(tǒng)的開發(fā)平臺及體系結構2</p><p> 2.1 編
2、程環(huán)境的選擇2</p><p> 2.2 關系型數(shù)據(jù)庫的選擇2</p><p> 2.3 運行環(huán)境3</p><p> 3 系統(tǒng)總體規(guī)劃4</p><p> 3.1 應用需求分析4</p><p> 3.2 系統(tǒng)功能規(guī)劃5</p><p> 3.2.1 各模塊的主要功能說
3、明5</p><p> 3.2.2 系統(tǒng)功能模塊設計6</p><p> 3.3 數(shù)據(jù)庫設計6</p><p> 3.3.1 數(shù)據(jù)庫概念結構設計6</p><p> 3.3.2 數(shù)據(jù)庫邏輯結構設計8</p><p> 4 學生宿舍管理子系統(tǒng)的設計與實現(xiàn)11</p><p>
4、 4.1 關鍵技術ADO11</p><p> 4.1.1 ADO對象模型簡介11</p><p> 4.1.2 用ADO連接數(shù)據(jù)庫12</p><p> 4.2 基本信息管理模塊的設計與實現(xiàn)13</p><p> 4.2.1 設計思想14</p><p> 4.2.2 部分實現(xiàn)代碼及界面14&
5、lt;/p><p> 4.3 數(shù)據(jù)庫管理模塊的設計與實現(xiàn)17</p><p> 4.3.1 設計思想17</p><p> 4.3.2 部分實現(xiàn)代碼及界面17</p><p> 4.4 系統(tǒng)管理模塊的設計與實現(xiàn)18</p><p> 4.4.1 設計思想18</p><p>
6、4.4.2 部分實現(xiàn)代碼及界面18</p><p><b> 5 系統(tǒng)測試20</b></p><p> 5.1 測試目標20</p><p> 5.2 測試方法20</p><p> 5.3 系統(tǒng)測試過程中遇到的問題及解決方法20</p><p><b> 6 結束
7、語22</b></p><p><b> 參考文獻23</b></p><p><b> 致 謝24</b></p><p><b> 1 前言</b></p><p><b> 1.1 開發(fā)背景</b></p>
8、<p> 學生宿舍是學生學習、生活的重要場所,是學校精神文明的窗口和主要陣地,它對學生的身心健康和世界觀、人生觀、價值觀的形成起著重要的作用。隨著高等教育的發(fā)展,高校招生規(guī)模不斷擴大,為了加強對學生宿舍的信息化管理,引入現(xiàn)代化的管理手段和工具,特開發(fā)學生宿舍管理系統(tǒng)對學生宿舍實行全方位的管理。系統(tǒng)中存有學生多個方面的個人信息和入住情況信息,便于給學工部門和物業(yè)管理部門及時提供學生的生活動態(tài)和住宿情況,可有效提高宿舍管理的水平
9、和工作效率,降低管理成本。該系統(tǒng)軟件非常容易被接受,可廣泛應用于大中專院校的房管部門,它具有簡單易學性。</p><p> 1.2 研究目的及意義</p><p> 學生宿舍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),該系統(tǒng)軟件簡單、易用、便于管理,是對學生宿舍進行信息管理的一種較好的管理工具,可以完成輸入、刪除、查詢等功能,通過過濾與數(shù)據(jù)庫互動,從數(shù)據(jù)庫中提取相應的有關數(shù)據(jù),減輕管理人員
10、的工作負擔。開發(fā)設計本學生宿舍管理系統(tǒng)軟件,可以使宿管科從過去的純手工勞動取而代之為智能化的計算機管理,以提高該科室的工作效率,簡化手工勞動,使科室的各項資料和檔案得到有效整合,更適用于現(xiàn)今的辦公自動化領域。</p><p> 2 系統(tǒng)的開發(fā)平臺及體系結構 </p><p> 2.1 編程環(huán)境的選擇[1]</p><p> 微軟公司的V
11、isual Basic 6.0是Windows應用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向對象的開發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效地提高了應用程序的運行效率和可靠性。</p><p> Visual Basic應用程序基本的構建塊是用戶所創(chuàng)建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法
12、)。開發(fā)人員可以有效利用所創(chuàng)建的每一個對象,使應用程序具有可通用性、可擴展性和強有力的功能。</p><p> Visual Basic應用由一系列對象組成,包括有函數(shù)、菜單、結構和數(shù)據(jù)窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等,這些對象和控件都可在許多應用中重復使用,簡單方便。故而,用VB實現(xiàn)本系統(tǒng)是一個相對較好的選擇。</p><p> 2.2 關系
13、型數(shù)據(jù)庫的選擇[2]</p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本繼承了SQL Server 7.0 版本的優(yōu)點,同時又比它增加了許多更先進的功能,具有使用方便、可伸縮性好、與相關軟件集成程度高等優(yōu)點,是一個功能完備的正規(guī)數(shù)據(jù)庫管理系統(tǒng),是關系數(shù)據(jù)庫開發(fā)的最好工具。它包括支持開發(fā)的引擎,標準的SQL語言,擴展的特性等功能
14、。Microsoft SQL Server 2000 的優(yōu)點在于它不但可以滿足大型數(shù)據(jù)處理系統(tǒng)對數(shù)據(jù)存儲量的需求,而且對于小型企業(yè)和個人來說,也可以作為管理數(shù)據(jù)的簡易工具。它提供了兩種最基本的服務:SQL Server服務(SQL Server service)和SQL Server 2000 (Analysis Service),它們分別是性能卓越的數(shù)據(jù)庫引擎和用于決策支持的數(shù)據(jù)分析工具。SQL Server 2000在SQL Ser
15、ver 7.0版的基礎上擴展了的數(shù)據(jù)庫管理系統(tǒng)的性能、可靠性、質量和易用性。由于增加了這些新的功能,因此它成為大規(guī)模聯(lián)機事務處理(OLTP),數(shù)據(jù)倉庫和電子商務應用程序的優(yōu)秀數(shù)據(jù)庫平臺。</p><p> 相對于其他軟件來說,SQL Server 2000的特性使它更加適應當今數(shù)據(jù)存儲和管理的需求。(1) SQL Server 2000的數(shù)據(jù)庫引擎提供了完整的XML支持。它的可伸縮性、可用性和安全功能是構成最大
16、的Web站點的數(shù)據(jù)存儲組件所需的前提。SQL Server 2000 程序設計模型與 Windows DNA 構架集成,用以開發(fā) Web 應用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服務等功能,在 Web 應用程序中包含了用戶友好的查詢和強大的搜索功能。(2)無論是運行Windows 98 的便攜式電腦,還是運行Windows 2000 數(shù)據(jù)中心版的大型多處理器服務器,都
17、可以使用SQL Server 2000的數(shù)據(jù)庫引擎。(3) SQL Server 2000 關系數(shù)據(jù)庫引擎支持當今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護數(shù)據(jù)完整性,同時將管理上千個并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。(4) 易于安裝、部署和使用。(5) SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進行聯(lián)機分析處理 (OLAP)</p><p> 正是以上優(yōu)點,我們選擇其成為本系統(tǒng)數(shù)據(jù)庫設
18、計的工具。</p><p><b> 2.3 運行環(huán)境</b></p><p><b> 硬件環(huán)境:</b></p><p> 1) 內存要求:至少需要128MB,為提高性能,推薦256MB及以上內存。</p><p> 2) CPU: PII處理器,時鐘速度至少233MHZ。</p&
19、gt;<p> 3) 磁盤空間要求:選擇“典型安裝”安裝內核庫,大約需要180MB的硬盤空間,維護這個數(shù)據(jù)庫的軟件和實用工具約需40MB硬盤空間。</p><p> 4) CDROM設備。</p><p><b> 軟件環(huán)境:</b></p><p> 1) 操作系統(tǒng):Microsoft Windows 98/ME/200
20、0/XP。</p><p> 2) 數(shù)據(jù)庫安裝軟件:SQL Server 2000。</p><p> 3) 開發(fā)工具:Visual Basic 6.0。</p><p> 4) 數(shù)據(jù)庫連接:安裝SQL Server驅動。</p><p><b> 3 系統(tǒng)總體規(guī)劃</b></p><p>
21、; 3.1 應用需求分析[3][4]</p><p> 隨著生活節(jié)奏的加快,在講究時間效率的當今社會,如何經濟、快速、便捷地處理信息逐漸提上了人們的辦事日程。針對當前江西師范大學學生宿舍的諸多綜合管理事項,我們開發(fā)設計了本學生宿舍管理系統(tǒng)軟件,從而使宿管科從過去的純手工勞動取而代之為智能化的計算機管理,以提高該科室的工作效率,簡化手工勞動,使科室的各項資料和檔案得到有效整合,更適用于現(xiàn)今的辦公自動化領域。&l
22、t;/p><p> 該系統(tǒng)軟件簡單、易用、便于管理,是對學生宿舍進行信息管理的一種較好的管理工具,可以完成輸入、刪除、查詢的功能,通過過濾與數(shù)據(jù)庫互動,從數(shù)據(jù)庫中提取相應的有關的數(shù)據(jù),減輕管理人員的工作負擔。</p><p> 用戶使用本系統(tǒng)后可以通過計算機平臺來完成各項管理工作。對學生信息的錄入、修改、瀏覽、查詢進行基本的信息管理;對學生公寓樓棟、房間信息按一定的的標準、規(guī)格或條件進行如
23、樓棟編號和房間號的設置,使得管理者有計劃、有目的管理信息;并借助于計算機的高速準確的查詢、檢索、統(tǒng)計、分析等功能,對學生宿舍的基本信息和各類信息進行科學的管理,為宿管科應用于學校教育建設、規(guī)劃、信息服務、政策指導等手段進行宏觀管理,增強管理決策的科學性,提高行業(yè)服務效率。</p><p> 本系統(tǒng)主要實現(xiàn)四個目標:收集學校學生的信息,建立完整的學生宿舍信息庫;可以準確地向學校各部門提供需要的信息;提供完備靈活的
24、管理系統(tǒng),協(xié)助宿管科對學生宿舍進行計劃、控制和調整,實現(xiàn)優(yōu)化管理;提供系統(tǒng)維護和代碼維護,實現(xiàn)系統(tǒng)的通用性、可維護性和可擴充性。</p><p> 本學生宿舍管理系統(tǒng)軟件的外部功能具有輸入、輸出、查詢、修改、添加、刪除;內部功能集命令、編程、編輯、圖形設計、建表、建庫、模塊劃分和界面的布局于一體。</p><p> 根據(jù)上述對系統(tǒng)所做的需求分析,可得出如圖3-1所示的系統(tǒng)流程圖。<
25、;/p><p> 圖3-1 系統(tǒng)流程圖</p><p> 3.2 系統(tǒng)功能規(guī)劃</p><p> 3.2.1 各模塊的主要功能說明</p><p> 本系統(tǒng)分為六大模塊:1、基本信息管理模塊;2、查詢模塊;3、寢室管理模塊;4、數(shù)據(jù)庫管理模塊;5、系統(tǒng)管理模塊;6 、幫助模塊。</p><p> 各模塊的功能描述
26、如下:</p><p> 基本信息管理模塊:主要實現(xiàn)寢室信息的管理、學生信息的管理以及樓棟信息管理等,在房間信息管理中主要是讓用戶方便地對房間信息進行添加以及修改;在學生信息管理中則可以對學生的基本信息進行添加、修改和刪除、查詢;樓棟信息的管理涉及本棟樓的寢室所具有的標準以及在此標準下所對應的住宿費,可以讓新生方便地選擇。</p><p> 查詢模塊:主要用于查詢與學生宿舍有關的所有基
27、本情況。如:樓棟基本信息的查詢、衛(wèi)生評比的基本信息查詢、剩余空房的基本信息查詢、學生基本信息的查詢、電費的查詢、學生入住信息查詢等。分別包含精確查詢和模糊查詢兩種方式。</p><p> 寢室管理模塊:用于管理每棟樓的基本情況。包括出入登記,用于查詢每棟樓中非本棟人員的出入以及學生攜帶大件物品出入的情況;衛(wèi)生評比的添加,用于每周對寢室衛(wèi)生檢查后基本情況的錄入;維修信息管理,包括維修信息的登記和維修信息的刪除,維
28、修信息的登記主要是用于對學生報修情況的登記,提供給維修人員,維修信息的刪除是維修人員對學生所報修的情況做出處理以后的反應;寢室管理,包括學生入住及遷出。</p><p> 數(shù)據(jù)庫管理模塊:用戶可以備份和還原數(shù)據(jù)庫。</p><p> 系統(tǒng)管理模塊:主要實現(xiàn)添加用戶、修改用戶密碼、刪除用戶等功能。</p><p> 幫助模塊:主要介紹系統(tǒng)各功能模塊的簡介、操作過
29、程以及用戶可能遇到的一些難以解決的操作問題或是產品理解難題。</p><p> 3.2.2 系統(tǒng)功能模塊設計</p><p> 通過對本系統(tǒng)所要實現(xiàn)的各項功能進行集中、分塊,按照結構化程序設計的要求,可以得到如圖3-2所示的系統(tǒng)功能模塊圖。</p><p> 圖3-2 系統(tǒng)功能圖</p><p> 3.3 數(shù)據(jù)庫設計[5][6]&l
30、t;/p><p> 3.3.1 數(shù)據(jù)庫概念結構設計</p><p> 根據(jù)功能分析得出數(shù)據(jù)庫的數(shù)據(jù)項和數(shù)據(jù)結構以后,就可以設計出能夠滿足用戶需求的各種實體以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。</p><p> 本實例根據(jù)上面的設計規(guī)劃出的實體的描述E-R圖如圖3-3至圖3-7所示。</
31、p><p> 圖3-3 學生信息實體E-R圖</p><p> 圖3-4 樓棟信息實體E-R圖</p><p> 圖3-5 房間信息實體E-R圖</p><p> 圖3-6 來訪者實體E-R圖</p><p> 1 n m n</p><
32、;p> 1 n </p><p> n </p><p><b> 1 </b></p><p> 圖3-7 實體之間關系E-R圖</p><p> 各實體的屬性分別為:</p><p> 學
33、生:{學生學號,學生姓名,性別, 所在學院,所在班級,家庭住址, 聯(lián)系電話}</p><p> 房間:{棟號,房間號,房間電話號碼,寢室長,是否入住,空床位數(shù)量}</p><p> 樓棟:{棟號,床位數(shù)量,是否有風扇,是否有電話,是否有電視機,是否有獨立衛(wèi)生間,是否有熱水器,住宿費,狀態(tài)}</p><p> 電費:{棟號,房間號,用電度數(shù),電費}</p&
34、gt;<p> 來人來訪:{日期,來訪者姓名,性別,年齡,工作單位或證件號碼,入樓時間,訪問原因及攜帶物品,被訪問者姓名,被訪問者房間號,離樓時間}</p><p> 大件物品出入:{日期,姓名,學院,班級,房間號,大件物品名稱,擬送地點,進樓時間,離樓時間}</p><p> 維修報修:{序號,客戶姓名,聯(lián)系電話,客戶地址,報修內容,預約/派工時間,報修單號,完成情況
35、,接單員}</p><p> 學生晚歸:{姓名,所在房間號,所在學院,日期,時間,晚歸原因}</p><p> 衛(wèi)生評比:{棟號,房間號,周次,分數(shù)}</p><p> 學生入?。簕學生學號,學生姓名,所在樓棟,所在房間號}</p><p> 系統(tǒng)用戶:{用戶名,用戶密碼,用戶類型}</p><p> 3.3
36、.2 數(shù)據(jù)庫邏輯結構設計 </p><p> 數(shù)據(jù)庫概念結構設計后,就需要將數(shù)據(jù)庫概念結構轉化為SQL Server 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。在上面的實體以及實體之間關系的基礎上,形成數(shù)據(jù)庫中的表以及各個表之間的關系。</p><p> 學生宿舍管理系統(tǒng)中本人承擔的模塊設計所涉及到的數(shù)據(jù)表格的設計結果如表3-1至表3-5所示。</p>
37、<p> 表3-1 學生信息表 student</p><p> 表3-2 房間信息表 room</p><p> 表3-3 樓棟信息表 building</p><p> 表3-4 學生入住管理 stay</p><p> 表3-5 系統(tǒng)用戶表 userinfo</p><p> 在本系統(tǒng)中
38、,建立了一個數(shù)據(jù)庫:dormitory。為了減少數(shù)據(jù)的冗余,分別以基本滿足三范式(3 NF)為標準生成了數(shù)據(jù)表,如此設計也考慮到了方便程序開發(fā)的問題,這樣系統(tǒng)就可以分成幾個相對獨立的模塊,組員在開發(fā)過程中就可以不受其它組員進度的影響來開發(fā)自己的模塊。</p><p> 4 學生宿舍管理子系統(tǒng)的設計與實現(xiàn)</p><p> 4.1 關鍵技術ADO</p><p>
39、 ADO是微軟提供的數(shù)據(jù)庫訪問技術。它被設計用來同新的數(shù)據(jù)訪問層OLEDB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal DataAccess)能力。Microsoft為了適應其發(fā)展推出了新的ADO(Active Data Object)模型,通過ODBC的連接可以對當前流行的桌面數(shù)據(jù)庫系統(tǒng)提供方便、快捷的連接。</p><p> 4.1.1 ADO對象模型簡介</p>
40、<p> ADO對象模型定義了—個可編程的分層對象集合,主要由三個對象成員Connection、Command和Recordset對象,以及幾個集合對象Errors、Parameters和Fields等所組成。ADO數(shù)據(jù)控件的常用屬性及方法:</p><p> (1)Connection</p><p> 用于表示和數(shù)據(jù)源的連接,以及處理一些命令和事務。</p>
41、<p> (2)Command</p><p> 用于執(zhí)行某些命令來進行諸查詢、修改數(shù)據(jù)庫如結構的操作。</p><p> (3)Recordset用于處理數(shù)據(jù)源的表格集,它是在表中修改、檢索數(shù)據(jù)的最主要的方法。</p><p> (4)Set集合是一種可以方便的包含其他特殊類型對象的對象類型。 ADO 提供4種類型的集合:Connect
42、ion 對象具有Error集合。Command 對象具有Parameter集合。Recordset 對象具有Fields集合。Connection、Command、Recordset、Field 對象都具有Property集合。</p><p> ADO對象模型的對象之間的關系可用圖4-1表示:</p><p> 圖4-1 ADO對象模型</p><p>
43、 4.1.2 用ADO連接數(shù)據(jù)庫</p><p> ADO可以與許多數(shù)據(jù)庫相連接。通過不同的OLE DB提供者來訪問不同的數(shù)據(jù)源。ADO連接不同的數(shù)據(jù)庫只需要指定不同的連接字符串(Connection String)。</p><p> Microsoft ODBC Provider 允許 ADO 連接到任何 ODBC 的數(shù)據(jù)源。ODBC 驅動程序對于當今使用的各種主要 DBMS 都
44、有效,包括 Microsoft SQL Server,Microsoft Access(Microsoft Jet 數(shù)據(jù)庫引擎)和 Microsoft FoxPro,還包括諸如 Oracle 等非 Microsoft 數(shù)據(jù)庫產品。提供者將不受線程控制并允許使用 unicode。該提供者是 ADO 的默認提供者。</p><p><b> 下面舉例說明:</b></p><
45、;p> (1)ODBC連接(OLE DB提供者為MSDASQL)</p><p> ODBC Driver for SQL Server</p><p><b> 標準安全性:</b></p><p> cnn.Open “Driver={SQL Server};” & “Server=數(shù)據(jù)庫服務器名;” &_ “
46、database=數(shù)據(jù)庫名;” & “UID=用戶名; ” & “PWD=密碼;”</p><p> 其中cnn為ADO的connection對象;“Driver={SQL Server};”指出了使用Windows ODBC 提供者打開連接。</p><p><b> 信任連接:</b></p><p> cnn.Ope
47、n “Driver={SQL Server};” & “Server=數(shù)據(jù)庫服務器名;” &_ “database=數(shù)據(jù)庫名;” & “UID=; ” & “PWD=;”</p><p><b> 或者:</b></p><p> cnn.Open “Driver={SQL Server};” & “Server=數(shù)據(jù)庫服務
48、器名;” &_ </p><p> “database=數(shù)據(jù)庫名;” &“Trusted_connection=yes;”</p><p> 提示輸入用戶名及密碼:</p><p> cnn.Properties(“Prompt”)=adPromptAlways</p><p> cnn.Open “Driver={S
49、QL Server};” & “Server=數(shù)據(jù)庫服務器名;”&_ “database=數(shù)據(jù)庫名;”</p><p> (2) OLEDB Provider 連接</p><p><b> 標準安全性:</b></p><p> cnn.Open “Provider=sqloledb;” & “Data Sour
50、ce=數(shù)據(jù)庫服務器名;” &_ “Initial Catalog=數(shù)據(jù)庫名;” & “User Id=用戶名;” &_ “Password=密碼;”</p><p><b> 信任連接:</b></p><p> cnn.Open “Provider=sqloledb;” & “Data Source=數(shù)據(jù)庫服務器名;” &
51、_ </p><p> “Initial Catalog=數(shù)據(jù)庫名;”&”Integrated Security=SSPI”</p><p> 提示用戶輸入用戶名和密碼:</p><p> cnn.Provider=“sqloledb”</p><p> cnn.Properties(“Prompt”)=adPromptAl
52、ways</p><p> cnn.Open “Data Source=數(shù)據(jù)庫服務器名;” & “Initial Catalog=數(shù)據(jù)庫名;”</p><p> 本系統(tǒng)的數(shù)據(jù)庫連接采用了第二種方法,并利用了Winsock控件獲得數(shù)據(jù)庫服務器名,這樣就增加了系統(tǒng)的可移植性。主要實現(xiàn)代碼如下:</p><p> server_name = frmlogi
53、n.Winsock1.LocalHostName</p><p> str_sql="Provider=SQLOLEDB.1;Server="&server_name&";Integrate</p><p> Security=SSPI;"Persist Security Info=False;User ID=sa;Initial
54、 Catalog=dormitory""</p><p> conn.Open str_sql</p><p> 本系統(tǒng)中我主要承擔了基本信息管理、數(shù)據(jù)庫管理和系統(tǒng)管理模塊的設計與實現(xiàn),以下我將對這三個模塊進行主要說明。</p><p> 系統(tǒng)主界面直觀友好,采用下拉菜單的方式,并在工具欄上添加了部分常用功能的按鈕,可以方便用戶操作。<
55、;/p><p> 4.2 基本信息管理模塊的設計與實現(xiàn)</p><p> 基本信息管理模塊要完成的主要功能有:</p><p> 添加、修改、刪除、簡單查詢學生基本信息</p><p> 添加、修改、簡單查詢房間信息</p><p> 添加、修改、簡單查詢樓棟信息</p><p> ●
56、 用網格顯示學生基本信息、房間信息以及樓棟信息,并用控件控制顯示 的位置,例如首記錄、前一條、后一條、尾記錄。</p><p> 4.2.1 設計思想</p><p> 如果有新同學轉入,則點擊“添加”按鈕,遵循系統(tǒng)的約束性條件,將該同學的信息錄入,操作完成后單擊“保存”即可存
57、盤,同時在網格中即可看到新添加的信息。為了防止程序出錯,添加的同時需要屏蔽其他按鈕的使用。若要修改某條信息,用戶可通過瀏覽各條信息來選擇具體修改哪條記錄。如果用戶決定放棄修改,可通過“取消”按鈕來實現(xiàn),此時信息恢復到未修改時的狀態(tài)。如果有同學畢業(yè)轉出,則可通過“刪除”按鈕刪除數(shù)據(jù)庫中的冗余信息。刪除時,用戶可以通過復選刪除條件,從而達到批量刪除的目的。進行簡單查詢時,用戶可以通過學生學號查找相關信息,若要進行詳細查詢,則可在查詢模塊中進
58、行操作。</p><p> 4.2.2 部分實現(xiàn)代碼及界面</p><p> 本模塊中主要運用了ADO的屬性及方法實現(xiàn)添加、刪除、修改等各項功能操作。下面以學生信息管理模塊為例加以介紹。 </p><p> 圖4-2 學生基本信息管理界面</p><p> ’學生基本信
59、息查詢代碼</p><p> str = InputBox("請輸入學號:", "查詢")</p><p> Do While Not Adodc1.Recordset.EOF</p><p> If Trim(Adodc1.Recordset.Fields(0).Value) = Trim(str) Then</
60、p><p> DataGrid1.Bookmark = Adodc1.Recordset.Bookmark</p><p><b> ShowData</b></p><p><b> Exit Do</b></p><p><b> End If</b></p&g
61、t;<p> Adodc1.Recordset.MoveNext</p><p><b> Loop</b></p><p> 通過此操作,用戶可以利用學號直接查找到所要查找的學生,而無需逐條查找。這對于在存有大量學生信息的數(shù)據(jù)庫中進行操作提供了便利,節(jié)約了時間。 </p><p> ’學生基本信息添加代碼</p
62、><p> '調用AddNew方法增加記錄</p><p> Adodc1.Recordset.AddNew</p><p> ’“保存”按鈕部分代碼</p><p> ……/*判斷學號、電話號碼必須為數(shù)字、姓名不能為空*/</p><p> If modify = 1 Then</p>&
63、lt;p> adors.Open "update student set sname='" & txtSname & "',ssex='" & combsex & "',college='" & txtCollege & "',sclass='"
64、 & txtClass & "',addr='" & txtAddr & "',tele='" & txtTele & "' where sno='" & Trim(txtSno) & "'", conn, adOpenDynamic,
65、adLockOptimistic</p><p> Adodc2.Refresh</p><p> Set adors = Nothing</p><p> txtSno.Enabled = True</p><p> modify = 0</p><p><b> Exit Sub</b&g
66、t;</p><p><b> End If</b></p><p> adors.Open "select * from student where sno='" & Trim(txtSno) & "'", conn, adOpenForwardOnly, adLockReadOnly<
67、;/p><p> If ……/*判斷要添加的學生學號是否已經存在,遵循了主鍵的唯一性約束*/</p><p><b> End If </b></p><p> Adodc1.Recordset.Fields("sno") = txtSno.Text /*實現(xiàn)文本框中數(shù)據(jù)信息與網格中數(shù)據(jù)信息的關聯(lián)*/</p>
68、<p><b> ……</b></p><p> '通過Update方法保存數(shù)據(jù)</p><p> Adodc1.Recordset.Update</p><p> Adodc2.Refresh</p><p> 當用戶單擊“添加”按鈕時,文本框清空,只有“保存”和“取消”按鈕可用。用戶遵
69、循數(shù)據(jù)庫字段的約束條件填寫完畢后,單擊“保存”操作方可生效。當用戶單擊“修改”按鈕時,文本框中顯示的是要修改的學生的信息,同樣,修改完畢單擊“保存”操作方可生效,如果要結束修改,則需點擊“取消”,否則將一直處于修改狀態(tài)。</p><p> 圖4-3 學生基本信息刪除界面</p><p> ’學生基本信息刪除部分代碼</p><p> If cmdOK.Capt
70、ion = "刪除" Then</p><p> If ……/*詢問是否要刪除所有符合條件的記錄 Then</p><p> ……/*判斷復選框是否被選中*/</p><p> If CHK(1) Then /*如果處于選中狀態(tài),則在其后的文本框中輸入符合條件的字段*/</p><p> str(
71、1) = " sno='" & Trim(txtSno.Text) & "'"</p><p><b> End If</b></p><p><b> ……</b></p><p> strSQL = "delete student
72、where" /*查找出符合條件的記錄并刪除*/</p><p> For i = 1 To 3</p><p> If CHK(i) Then</p><p> strSQL = strSQL & str(i) & " and "</p><p><b> End If&l
73、t;/b></p><p><b> Next</b></p><p> strSQL = Mid$(strSQL, 1, Len(strSQL) - 5)</p><p> conn.Execute strSQL</p><p><b> End If</b></p>
74、<p><b> Else </b></p><p> ……/*若按鈕的標題為清空數(shù)據(jù)庫,則將執(zhí)行刪除該數(shù)據(jù)庫中的表的操作*/ </p><p><b> End If</b></p><p> 通過此操作,用戶可以將需要刪除的學生信息從數(shù)據(jù)庫中刪除,為了能夠同時照顧到刪除單條記錄和批量刪除信息兩項
75、功能,在刪除學生信息模塊中,使用了按學號、按所在學院、按班級三個復選框,如果要刪除單條記錄,就可以輸入學號刪除該信息;如果要批量刪除,例如畢業(yè)班整體遷出,則可以輸入所在學院或所在班級刪除相關信息,用Execute執(zhí)行查詢并用SQL語句進行刪除,但是建議用戶慎重清空數(shù)據(jù)庫的操作,即便是要使用此操作,也應先使用數(shù)據(jù)庫的備份功能將數(shù)據(jù)庫備份。</p><p> 房間信息以及樓棟信息的添加、修改、查詢、保存的實現(xiàn)過程及
76、代碼與學生信息的上述操作類似,在此就不再敘述了。</p><p> 4.3 數(shù)據(jù)庫管理模塊的設計與實現(xiàn)</p><p> 數(shù)據(jù)庫管理模塊要完成的主要功能有:</p><p> 實現(xiàn)對系統(tǒng)數(shù)據(jù)庫的備份和還原,以便增強數(shù)據(jù)庫的安全性。</p><p> 4.3.1 設計思想 </p><p> 1、單擊“開始備份
77、”,可以將指定數(shù)據(jù)庫自動備份到指定目錄下,并自動為備份的數(shù)據(jù)庫添加當前系統(tǒng)的日期。</p><p> 2、單擊“開始還原”,用戶可以根據(jù)所選擇的數(shù)據(jù)庫的路徑還原數(shù)據(jù)庫。</p><p> 4.3.2 部分實現(xiàn)代碼及界面</p><p> 圖4-4 數(shù)據(jù)庫備份還原界面</p><p> 按鈕的作用是獲取數(shù)據(jù)備份的路徑,單擊該按鈕即可從彈
78、出的對話框中選擇所要備份數(shù)據(jù)庫的目標地址,實現(xiàn)代碼如下:</p><p> CommonDialog1.Filter = "數(shù)據(jù)庫文件(*.mdf)|*.mdf|ALL File(*.*)|*.*"</p><p> CommonDialog1.ShowSave</p><p> txtBackup.Text = CommonDialog1
79、.FileName</p><p> cmdBackup.Enabled = True</p><p> 選擇完所要備份的數(shù)據(jù)庫的目標地址后,單擊“開始備份”按鈕即可實現(xiàn)數(shù)據(jù)庫的備份操作。同時進度條會顯示備份的進度,備份成功后,系統(tǒng)會彈出提示框(如圖4-4所示)。</p><p> ……/*判斷顯示備份路徑文本框是否為空,若為空則提示用戶選擇所要備份的數(shù)據(jù)庫*
80、/ </p><p> Dim sql, wage(10) As String /*數(shù)組初始化*/</p><p> ProgressBar1.Min = LBound(wage) </p><p> ProgressBar1.Max = UBound(wage) /*設置行程的界限*/</p><p> Progr
81、essBar1.Value = ProgressBar1.Min /*指明在行程范圍內的當前位置*/</p><p> For counter = LBound(wage) To UBound(wage)</p><p> wage(counter) = "initial value" & counter /*設置數(shù)組中每項的初始值*/</p&g
82、t;<p> ProgressBar1.Value = counter</p><p> sql = "use master backup DATABASE dormitory TO disk='" & txtBackup.Text & "'" /*以master數(shù)據(jù)庫為橋梁,完成指定數(shù)據(jù)庫在指定路徑下的備份*/</
83、p><p> conn.Execute (sql) '執(zhí)行SQL語句</p><p> Next counter</p><p> ProgressBar1.Value = ProgressBar1.Min</p><p> MsgBox "數(shù)據(jù)庫備份成功!", vbOKOnly + vbInforma
84、tion, "系統(tǒng)提示"</p><p> 數(shù)據(jù)庫的還原操作與備份操作原理相同,代碼類似,稍加改動即可。不同點就在于備份用的關鍵字是“backup”,而還原用的關鍵字是“restore”;運行時彈出的對話框上的按鈕,備份時為“保存”,CommonDialog的屬性為Show save,還原時為“打開”,CommonDialog的屬性為Show open.其他地方雷同,在此就不做詳細敘述了。
85、</p><p> 4.4 系統(tǒng)管理模塊的設計與實現(xiàn)</p><p> 系統(tǒng)管理模塊要完成的主要功能有:</p><p><b> 添加用戶</b></p><p><b> 修改用戶密碼</b></p><p><b> 刪除用戶</b>&l
86、t;/p><p> 4.4.1 設計思想</p><p> 本模塊綜合了整個系統(tǒng)的安全和維護,通過用戶組管理登錄模塊,確保了整個系統(tǒng)的正常運行和安全的第一保證。在用戶組管理登陸模塊中,可以根據(jù)用戶的實際需求定義用戶組名以及每個用戶所具有的基本權限,同時具有管理員權限的用戶可以對用戶組和用戶進行增加用戶、修改密碼、刪除用戶等操作。</p><p> 用戶組管理登錄模
87、塊,根據(jù)用戶名和密碼進行安全登錄,如果三次輸入不正確,將提示“您已無權操作本系統(tǒng),再見!”后將自動退出。如果登錄成功,將進入主界面進行基本操作。</p><p> 4.4.2 部分實現(xiàn)代碼及界面</p><p> 圖4-5 用戶管理界面 圖4-6 系統(tǒng)登錄界面</p><p> 系統(tǒng)登陸時,首先要判斷用戶輸入的用戶名、密碼是否
88、存在并且正確,其中任何一項不正確或者與其他兩項不匹配,均不能成功登入。如果用戶連續(xù)執(zhí)行三次錯誤的操作,則系統(tǒng)將拒絕訪問,并發(fā)出提示信息“您已無權操作本系統(tǒng),再見!”。如果用戶使用了正確的用戶名、密碼和用戶權限,則可以成功登入本系統(tǒng),并在主界面進行相應的操作。</p><p> 系統(tǒng)管理員若要刪除用戶,就必須要知道用戶密碼,只有輸入了正確的密碼才能操作,否則系統(tǒng)將提示不能刪除當前用戶。為了增強系統(tǒng)的安全性,在輸入
89、了正確的密碼進行操作時,系統(tǒng)會彈出提示詢問是否確定要刪除該用戶,若是,方可執(zhí)行刪除操作。主要代碼如下:</p><p> If ……/*判斷密碼是否為空,若是,則重新獲得焦點*/</p><p><b> End If</b></p><p> sql = "select count(*) from userinfo wher
90、e user_id='" & Trim(combDelUser.Text) & "'" & " And user_pwd='" & Trim(txtDelPassword.Text) & "'"</p><p> Set rst = conn.Execute(sql)
91、 /*執(zhí)行查詢*/</p><p> If ……/*判斷密碼是否正確,如果輸入錯誤,則重新獲得焦點*/</p><p><b> End If</b></p><p> If username <> Trim(combDelUser.Text) Then</p><p> If ……/*提示是否確定要
92、刪除該用戶*/ Then</p><p> sql = "delete from userinfo where user_id=" _</p><p> & "'" & Trim(combDelUser.Text) & "'" _</p><p> &
93、" And user_pwd='" & Trim(txtDelPassword.Text) & "'"</p><p> conn.Execute sql /*執(zhí)行刪除操作*/</p><p> combDelUser.RemoveItem combDelUser.ListIndex</p>&l
94、t;p> combDelUser.ListIndex = 0</p><p> txtDelPassword.Text = ""</p><p> rst.Close /*關閉記錄集*/</p><p><b> End If</b></p><p><b> E
95、lse</b></p><p> ……/*不能刪除該用戶*/</p><p><b> End If</b></p><p><b> 5 系統(tǒng)測試[4]</b></p><p><b> 5.1 測試目標</b></p><p>
96、 ● 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程</p><p> ● 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案</p><p> ● 成功的測試是發(fā)現(xiàn)了迄今為止上尉發(fā)現(xiàn)的錯誤的測試</p><p><b> 5.2 測試方法</b></p><p><b> ● 黑盒測試法</b
97、></p><p> 把程序看做是一個黑盒子,完全不考慮程序的內部結構和處理過程,它是在程序的借口進行的測試,只按照程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮茌斎霐?shù)據(jù)并產生正確的輸入信息,程序運行過程中能否保持外部信息的完整性。又稱為功能測試。</p><p><b> ● 白盒測試法</b></p><p>
98、 它的前提是把程序看成是裝在一個透明的白盒子里,測試者完全不知道程序的結構和處理算法。這種方法按照程序內部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否能按預定要求正確工作。</p><p> 5.3 系統(tǒng)測試過程中遇到的問題及解決方法</p><p> 通過上述方法,在對系統(tǒng)的測試過程中,發(fā)現(xiàn)了如下問題,但在發(fā)現(xiàn)問題后都找到了解決方法。</p><p> 1、
99、在用戶登陸時,因為數(shù)據(jù)庫中定義了用戶名的長度,所以在輸入了不符合固定長度的用戶名時,用戶無法登陸。解決這個問題的方法是在輸入用戶名時用Trim(C)函數(shù)刪除字符串前導和尾隨空格。</p><p> 2、在基本信息管理模塊中,窗體上的前一條、后一條操作會出現(xiàn)越界問題。針對此問題,在調用MovePrevious、MoveNext方法之前,首先需要判斷,當前是不是已經到了最前或是最后。判斷方法是調用BOF屬性、EOF
100、屬性,如果BOF為真,則表示一定到了最前,不能移動,否則會出錯;如果EOF為真,則表示一定到了最后,不能移動,否則會出錯。</p><p> 3、數(shù)據(jù)庫表中的字段都是英文,但在用數(shù)據(jù)網格顯示數(shù)據(jù)庫信息時,英文顯示界面不友好,不易面向所有用戶。針對此問題,使用了數(shù)據(jù)網格的列標題屬性,例如:DataGrid1.Columns(0).Caption = "學號",這樣顯示出的字段就是中文標題了,界
101、面更直觀。</p><p> 4、在需要刪除學生信息時,為了能夠同時照顧到刪除單條記錄和批量刪除信息兩項功能,在刪除學生信息模塊中,使用了按學號、按所在學院、按班級三個復選框,如果要刪除單條記錄,就可以輸入學號刪除該信息;如果要批量刪除,例如畢業(yè)班整體遷出,則可以輸入所在學院或所在班級刪除相關信息,用Execute執(zhí)行查詢并用SQL語句進行刪除,此方法在4.2節(jié)中已做介紹,在此不做詳細描述。</p>
102、<p><b> 6 結束語</b></p><p> 經過近半年的畢業(yè)設計,本項目開發(fā)已經接近尾聲,通過嚴格的單元測試與全面的綜合測試得出:本軟件在規(guī)定時間內完成了學生宿舍管理的各種功能。在指導老師的指導下,我學到了許多東西,編程技巧得到了很大的提高,對一般軟件的開發(fā)理解有了從感性到理性的轉變,同時也領悟到了在一個較大型的軟件開發(fā)中,團隊協(xié)作是多么的重要。</p&g
103、t;<p> 在整個項目開發(fā)過程中,有過失敗的痛苦,也有過成功帶給我們的喜悅;有過停滯不前的煩惱,也有過勢如破竹的體驗;有過開發(fā)小組成員之間的沖突與矛盾,也有過親密的協(xié)作攻破難題的愉快;在不斷的失敗中,我們吸取了失敗的教訓——軟件開發(fā)所需的文檔是軟件開發(fā)過程中不可忽視的一個重要環(huán)節(jié);在成功以后,我們也不忘總結成功的經驗——團隊協(xié)作精神在軟件開發(fā)過程中發(fā)揮著至關重要的作用。</p><p> 本系
104、統(tǒng)屬于應用軟件,由系統(tǒng)服務器、數(shù)據(jù)庫服務器和客戶端三個部分組成,其實質是實現(xiàn)對數(shù)據(jù)的管理,因此對于本系統(tǒng)來說,刪除和查詢是系統(tǒng)的精髓;從技術上來講沒有很大的難度,但要使這些功能完整可靠,使整個系統(tǒng)靈活性強、可移植性強,就需要使用到其它許多相關知識和一些比較新和難的技術,本系統(tǒng)的特點就是追求這方面的完美,這也是我通過做本系統(tǒng)學到東西最多的地方。對于本系統(tǒng),我覺得遺憾的是有部分功能沒有實現(xiàn),如電費的自動更新,因為沒有實現(xiàn)學生宿舍管理的網絡化
105、,根據(jù)學校的現(xiàn)實條件,這部分功能的實現(xiàn)尚欠缺。</p><p> 總而言之,我們已基本上掌握了一個軟件開發(fā)的整個流程,真正地將自己在學校學到的理論知識運用到實踐中去,學到了許多在課堂里無法學到的東西,為以后的工作積累了一定的軟件開發(fā)經驗。當然,由于畢業(yè)設計時間較短,該系統(tǒng)還有不盡如人意的地方,這些都有待進一步改善。</p><p><b> 參考文獻</b><
106、;/p><p> [1] 楊莉.Visual Basic 程序設計教程[M].北京:中國水利水電出版社,2002.7. </p><p> [2] 龔波,等.SQL Server 2000教程[M].北京:希望電子出版社,2002.7</p><p> [3] 薛四新,賈郭軍,等.軟件項目管理[M].北京:機械工業(yè)出版社,2004.</p><
107、p> [4] 張海藩.軟件工程導論[M].北京:清華大學出版社,2003.</p><p> [5] 駱娟,劉韜,何旭洪等.Visual Basic數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航[M].北京:人民郵電出版社,2003.8.</p><p> [6] 劉永良.用VB和關系數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)轉儲[J].上海工程技術大學學報,2003,04:327-331.</p><p&g
108、t; [7] 王珊,等.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2003. </p><p> [8] 劉志銘,高春艷,等.Visual Basic 數(shù)據(jù)庫開發(fā)實例解析[M].北京:電子工業(yè)出版社,2004.1.</p><p> [9] 張勇.Visual Basic 精彩編程百例第一版[M].北京:機械工程出版社,2004.</p><p> [10
109、] 李光憲.SQL Server 2000應用與技巧[M].北京:人民出版社,2002.3.</p><p> [11] 勒學輝,等.數(shù)據(jù)庫原理與應用[M].北京:電子工業(yè)出版社,1997.7.</p><p> [12] 邢燕,楊隆平.VB中SQL語言查詢優(yōu)化設計[J].遼寧師專學報(自然科學版), 2004,04:21-23.</p><p> [13]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 宿舍管理系統(tǒng)畢業(yè)論文
- 宿舍管理系統(tǒng)畢業(yè)論文
- 宿舍管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——宿舍管理系統(tǒng)
- 畢業(yè)論文——宿舍管理系統(tǒng)
- 學生宿舍管理系統(tǒng)畢業(yè)論文
- 學生宿舍管理系統(tǒng)畢業(yè)論文
- 學生宿舍管理系統(tǒng)畢業(yè)論文
- 學生宿舍管理系統(tǒng)——畢業(yè)論文
- 學生宿舍管理系統(tǒng)——畢業(yè)論文
- 畢業(yè)論文——學生宿舍管理系統(tǒng)
- 畢業(yè)論文---學生宿舍管理系統(tǒng)
- 學生宿舍管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文--宿舍用電智能管理系統(tǒng)設計
- 學校管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文范文——學生宿舍管理系統(tǒng)
- 畢業(yè)論文---學生宿舍管理系統(tǒng)住宿管理模塊設計
- 高校宿舍管理系統(tǒng)的開發(fā)與設計畢業(yè)論文
- 畢業(yè)論文——學校用電收費管理系統(tǒng)
- 學校圖書管理系統(tǒng)畢業(yè)論文
評論
0/150
提交評論