畢業(yè)論文--學(xué)校宿舍管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p>  1.1 開(kāi)發(fā)背景1</p><p>  1.2 研究目的及意義1</p><p>  2 系統(tǒng)的開(kāi)發(fā)平臺(tái)及體系結(jié)構(gòu)2</p><p>  2.1 編

2、程環(huán)境的選擇2</p><p>  2.2 關(guān)系型數(shù)據(jù)庫(kù)的選擇2</p><p>  2.3 運(yùn)行環(huán)境3</p><p>  3 系統(tǒng)總體規(guī)劃4</p><p>  3.1 應(yīng)用需求分析4</p><p>  3.2 系統(tǒng)功能規(guī)劃5</p><p>  3.2.1 各模塊的主要功能說(shuō)

3、明5</p><p>  3.2.2 系統(tǒng)功能模塊設(shè)計(jì)6</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)6</p><p>  3.3.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)6</p><p>  3.3.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)8</p><p>  4 學(xué)生宿舍管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)11</p><p>

4、  4.1 關(guān)鍵技術(shù)ADO11</p><p>  4.1.1 ADO對(duì)象模型簡(jiǎn)介11</p><p>  4.1.2 用ADO連接數(shù)據(jù)庫(kù)12</p><p>  4.2 基本信息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)13</p><p>  4.2.1 設(shè)計(jì)思想14</p><p>  4.2.2 部分實(shí)現(xiàn)代碼及界面14&

5、lt;/p><p>  4.3 數(shù)據(jù)庫(kù)管理模塊的設(shè)計(jì)與實(shí)現(xiàn)17</p><p>  4.3.1 設(shè)計(jì)思想17</p><p>  4.3.2 部分實(shí)現(xiàn)代碼及界面17</p><p>  4.4 系統(tǒng)管理模塊的設(shè)計(jì)與實(shí)現(xiàn)18</p><p>  4.4.1 設(shè)計(jì)思想18</p><p>  

6、4.4.2 部分實(shí)現(xiàn)代碼及界面18</p><p><b>  5 系統(tǒng)測(cè)試20</b></p><p>  5.1 測(cè)試目標(biāo)20</p><p>  5.2 測(cè)試方法20</p><p>  5.3 系統(tǒng)測(cè)試過(guò)程中遇到的問(wèn)題及解決方法20</p><p><b>  6 結(jié)束

7、語(yǔ)22</b></p><p><b>  參考文獻(xiàn)23</b></p><p><b>  致 謝24</b></p><p><b>  1 前言</b></p><p><b>  1.1 開(kāi)發(fā)背景</b></p>

8、<p>  學(xué)生宿舍是學(xué)生學(xué)習(xí)、生活的重要場(chǎng)所,是學(xué)校精神文明的窗口和主要陣地,它對(duì)學(xué)生的身心健康和世界觀(guān)、人生觀(guān)、價(jià)值觀(guān)的形成起著重要的作用。隨著高等教育的發(fā)展,高校招生規(guī)模不斷擴(kuò)大,為了加強(qiáng)對(duì)學(xué)生宿舍的信息化管理,引入現(xiàn)代化的管理手段和工具,特開(kāi)發(fā)學(xué)生宿舍管理系統(tǒng)對(duì)學(xué)生宿舍實(shí)行全方位的管理。系統(tǒng)中存有學(xué)生多個(gè)方面的個(gè)人信息和入住情況信息,便于給學(xué)工部門(mén)和物業(yè)管理部門(mén)及時(shí)提供學(xué)生的生活動(dòng)態(tài)和住宿情況,可有效提高宿舍管理的水平

9、和工作效率,降低管理成本。該系統(tǒng)軟件非常容易被接受,可廣泛應(yīng)用于大中專(zhuān)院校的房管部門(mén),它具有簡(jiǎn)單易學(xué)性。</p><p>  1.2 研究目的及意義</p><p>  學(xué)生宿舍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),該系統(tǒng)軟件簡(jiǎn)單、易用、便于管理,是對(duì)學(xué)生宿舍進(jìn)行信息管理的一種較好的管理工具,可以完成輸入、刪除、查詢(xún)等功能,通過(guò)過(guò)濾與數(shù)據(jù)庫(kù)互動(dòng),從數(shù)據(jù)庫(kù)中提取相應(yīng)的有關(guān)數(shù)據(jù),減輕管理人員

10、的工作負(fù)擔(dān)。開(kāi)發(fā)設(shè)計(jì)本學(xué)生宿舍管理系統(tǒng)軟件,可以使宿管科從過(guò)去的純手工勞動(dòng)取而代之為智能化的計(jì)算機(jī)管理,以提高該科室的工作效率,簡(jiǎn)化手工勞動(dòng),使科室的各項(xiàng)資料和檔案得到有效整合,更適用于現(xiàn)今的辦公自動(dòng)化領(lǐng)域。</p><p>  2 系統(tǒng)的開(kāi)發(fā)平臺(tái)及體系結(jié)構(gòu) </p><p>  2.1 編程環(huán)境的選擇[1]</p><p>  微軟公司的V

11、isual Basic 6.0是Windows應(yīng)用程序開(kāi)發(fā)工具,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效地提高了應(yīng)用程序的運(yùn)行效率和可靠性。</p><p>  Visual Basic應(yīng)用程序基本的構(gòu)建塊是用戶(hù)所創(chuàng)建的對(duì)象,每一個(gè)對(duì)象都具有一些特性和行為(屬性、事件和方法

12、)。開(kāi)發(fā)人員可以有效利用所創(chuàng)建的每一個(gè)對(duì)象,使應(yīng)用程序具有可通用性、可擴(kuò)展性和強(qiáng)有力的功能。</p><p>  Visual Basic應(yīng)用由一系列對(duì)象組成,包括有函數(shù)、菜單、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶(hù)對(duì)象、用戶(hù)事件等等,對(duì)象中又包含若干控件如命令按鈕、單行編輯器等,這些對(duì)象和控件都可在許多應(yīng)用中重復(fù)使用,簡(jiǎn)單方便。故而,用VB實(shí)現(xiàn)本系統(tǒng)是一個(gè)相對(duì)較好的選擇。</p><p>  2.2 關(guān)系

13、型數(shù)據(jù)庫(kù)的選擇[2]</p><p>  SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本,該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好、與相關(guān)軟件集成程度高等優(yōu)點(diǎn),是一個(gè)功能完備的正規(guī)數(shù)據(jù)庫(kù)管理系統(tǒng),是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)的最好工具。它包括支持開(kāi)發(fā)的引擎,標(biāo)準(zhǔn)的SQL語(yǔ)言,擴(kuò)展的特性等功能

14、。Microsoft SQL Server 2000 的優(yōu)點(diǎn)在于它不但可以滿(mǎn)足大型數(shù)據(jù)處理系統(tǒng)對(duì)數(shù)據(jù)存儲(chǔ)量的需求,而且對(duì)于小型企業(yè)和個(gè)人來(lái)說(shuō),也可以作為管理數(shù)據(jù)的簡(jiǎn)易工具。它提供了兩種最基本的服務(wù):SQL Server服務(wù)(SQL Server service)和SQL Server 2000 (Analysis Service),它們分別是性能卓越的數(shù)據(jù)庫(kù)引擎和用于決策支持的數(shù)據(jù)分析工具。SQL Server 2000在SQL Ser

15、ver 7.0版的基礎(chǔ)上擴(kuò)展了的數(shù)據(jù)庫(kù)管理系統(tǒng)的性能、可靠性、質(zhì)量和易用性。由于增加了這些新的功能,因此它成為大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP),數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。</p><p>  相對(duì)于其他軟件來(lái)說(shuō),SQL Server 2000的特性使它更加適應(yīng)當(dāng)今數(shù)據(jù)存儲(chǔ)和管理的需求。(1) SQL Server 2000的數(shù)據(jù)庫(kù)引擎提供了完整的XML支持。它的可伸縮性、可用性和安全功能是構(gòu)成最大

16、的Web站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的前提。SQL Server 2000 程序設(shè)計(jì)模型與 Windows DNA 構(gòu)架集成,用以開(kāi)發(fā) Web 應(yīng)用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在 Web 應(yīng)用程序中包含了用戶(hù)友好的查詢(xún)和強(qiáng)大的搜索功能。(2)無(wú)論是運(yùn)行Windows 98 的便攜式電腦,還是運(yùn)行Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器,都

17、可以使用SQL Server 2000的數(shù)據(jù)庫(kù)引擎。(3) SQL Server 2000 關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶(hù)的開(kāi)銷(xiāo)減到最小。(4) 易于安裝、部署和使用。(5) SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理 (OLAP)</p><p>  正是以上優(yōu)點(diǎn),我們選擇其成為本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)

18、計(jì)的工具。</p><p><b>  2.3 運(yùn)行環(huán)境</b></p><p><b>  硬件環(huán)境:</b></p><p>  1) 內(nèi)存要求:至少需要128MB,為提高性能,推薦256MB及以上內(nèi)存。</p><p>  2) CPU: PII處理器,時(shí)鐘速度至少233MHZ。</p&

19、gt;<p>  3) 磁盤(pán)空間要求:選擇“典型安裝”安裝內(nèi)核庫(kù),大約需要180MB的硬盤(pán)空間,維護(hù)這個(gè)數(shù)據(jù)庫(kù)的軟件和實(shí)用工具約需40MB硬盤(pán)空間。</p><p>  4) CDROM設(shè)備。</p><p><b>  軟件環(huán)境:</b></p><p>  1) 操作系統(tǒng):Microsoft Windows 98/ME/200

20、0/XP。</p><p>  2) 數(shù)據(jù)庫(kù)安裝軟件:SQL Server 2000。</p><p>  3) 開(kāi)發(fā)工具:Visual Basic 6.0。</p><p>  4) 數(shù)據(jù)庫(kù)連接:安裝SQL Server驅(qū)動(dòng)。</p><p><b>  3 系統(tǒng)總體規(guī)劃</b></p><p>

21、;  3.1 應(yīng)用需求分析[3][4]</p><p>  隨著生活節(jié)奏的加快,在講究時(shí)間效率的當(dāng)今社會(huì),如何經(jīng)濟(jì)、快速、便捷地處理信息逐漸提上了人們的辦事日程。針對(duì)當(dāng)前江西師范大學(xué)學(xué)生宿舍的諸多綜合管理事項(xiàng),我們開(kāi)發(fā)設(shè)計(jì)了本學(xué)生宿舍管理系統(tǒng)軟件,從而使宿管科從過(guò)去的純手工勞動(dòng)取而代之為智能化的計(jì)算機(jī)管理,以提高該科室的工作效率,簡(jiǎn)化手工勞動(dòng),使科室的各項(xiàng)資料和檔案得到有效整合,更適用于現(xiàn)今的辦公自動(dòng)化領(lǐng)域。&l

22、t;/p><p>  該系統(tǒng)軟件簡(jiǎn)單、易用、便于管理,是對(duì)學(xué)生宿舍進(jìn)行信息管理的一種較好的管理工具,可以完成輸入、刪除、查詢(xún)的功能,通過(guò)過(guò)濾與數(shù)據(jù)庫(kù)互動(dòng),從數(shù)據(jù)庫(kù)中提取相應(yīng)的有關(guān)的數(shù)據(jù),減輕管理人員的工作負(fù)擔(dān)。</p><p>  用戶(hù)使用本系統(tǒng)后可以通過(guò)計(jì)算機(jī)平臺(tái)來(lái)完成各項(xiàng)管理工作。對(duì)學(xué)生信息的錄入、修改、瀏覽、查詢(xún)進(jìn)行基本的信息管理;對(duì)學(xué)生公寓樓棟、房間信息按一定的的標(biāo)準(zhǔn)、規(guī)格或條件進(jìn)行如

23、樓棟編號(hào)和房間號(hào)的設(shè)置,使得管理者有計(jì)劃、有目的管理信息;并借助于計(jì)算機(jī)的高速準(zhǔn)確的查詢(xún)、檢索、統(tǒng)計(jì)、分析等功能,對(duì)學(xué)生宿舍的基本信息和各類(lèi)信息進(jìn)行科學(xué)的管理,為宿管科應(yīng)用于學(xué)校教育建設(shè)、規(guī)劃、信息服務(wù)、政策指導(dǎo)等手段進(jìn)行宏觀(guān)管理,增強(qiáng)管理決策的科學(xué)性,提高行業(yè)服務(wù)效率。</p><p>  本系統(tǒng)主要實(shí)現(xiàn)四個(gè)目標(biāo):收集學(xué)校學(xué)生的信息,建立完整的學(xué)生宿舍信息庫(kù);可以準(zhǔn)確地向?qū)W校各部門(mén)提供需要的信息;提供完備靈活的

24、管理系統(tǒng),協(xié)助宿管科對(duì)學(xué)生宿舍進(jìn)行計(jì)劃、控制和調(diào)整,實(shí)現(xiàn)優(yōu)化管理;提供系統(tǒng)維護(hù)和代碼維護(hù),實(shí)現(xiàn)系統(tǒng)的通用性、可維護(hù)性和可擴(kuò)充性。</p><p>  本學(xué)生宿舍管理系統(tǒng)軟件的外部功能具有輸入、輸出、查詢(xún)、修改、添加、刪除;內(nèi)部功能集命令、編程、編輯、圖形設(shè)計(jì)、建表、建庫(kù)、模塊劃分和界面的布局于一體。</p><p>  根據(jù)上述對(duì)系統(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 各模塊的主要功能說(shuō)明</p><p>  本系統(tǒng)分為六大模塊:1、基本信息管理模塊;2、查詢(xún)模塊;3、寢室管理模塊;4、數(shù)據(jù)庫(kù)管理模塊;5、系統(tǒng)管理模塊;6 、幫助模塊。</p><p>  各模塊的功能描述

26、如下:</p><p>  基本信息管理模塊:主要實(shí)現(xiàn)寢室信息的管理、學(xué)生信息的管理以及樓棟信息管理等,在房間信息管理中主要是讓用戶(hù)方便地對(duì)房間信息進(jìn)行添加以及修改;在學(xué)生信息管理中則可以對(duì)學(xué)生的基本信息進(jìn)行添加、修改和刪除、查詢(xún);樓棟信息的管理涉及本棟樓的寢室所具有的標(biāo)準(zhǔn)以及在此標(biāo)準(zhǔn)下所對(duì)應(yīng)的住宿費(fèi),可以讓新生方便地選擇。</p><p>  查詢(xún)模塊:主要用于查詢(xún)與學(xué)生宿舍有關(guān)的所有基

27、本情況。如:樓棟基本信息的查詢(xún)、衛(wèi)生評(píng)比的基本信息查詢(xún)、剩余空房的基本信息查詢(xún)、學(xué)生基本信息的查詢(xún)、電費(fèi)的查詢(xún)、學(xué)生入住信息查詢(xún)等。分別包含精確查詢(xún)和模糊查詢(xún)兩種方式。</p><p>  寢室管理模塊:用于管理每棟樓的基本情況。包括出入登記,用于查詢(xún)每棟樓中非本棟人員的出入以及學(xué)生攜帶大件物品出入的情況;衛(wèi)生評(píng)比的添加,用于每周對(duì)寢室衛(wèi)生檢查后基本情況的錄入;維修信息管理,包括維修信息的登記和維修信息的刪除,維

28、修信息的登記主要是用于對(duì)學(xué)生報(bào)修情況的登記,提供給維修人員,維修信息的刪除是維修人員對(duì)學(xué)生所報(bào)修的情況做出處理以后的反應(yīng);寢室管理,包括學(xué)生入住及遷出。</p><p>  數(shù)據(jù)庫(kù)管理模塊:用戶(hù)可以備份和還原數(shù)據(jù)庫(kù)。</p><p>  系統(tǒng)管理模塊:主要實(shí)現(xiàn)添加用戶(hù)、修改用戶(hù)密碼、刪除用戶(hù)等功能。</p><p>  幫助模塊:主要介紹系統(tǒng)各功能模塊的簡(jiǎn)介、操作過(guò)

29、程以及用戶(hù)可能遇到的一些難以解決的操作問(wèn)題或是產(chǎn)品理解難題。</p><p>  3.2.2 系統(tǒng)功能模塊設(shè)計(jì)</p><p>  通過(guò)對(duì)本系統(tǒng)所要實(shí)現(xiàn)的各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,可以得到如圖3-2所示的系統(tǒng)功能模塊圖。</p><p>  圖3-2 系統(tǒng)功能圖</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)[5][6]&l

30、t;/p><p>  3.3.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)功能分析得出數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各種實(shí)體以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過(guò)相互之間的作用形成數(shù)據(jù)的流動(dòng)。</p><p>  本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體的描述E-R圖如圖3-3至圖3-7所示。</

31、p><p>  圖3-3 學(xué)生信息實(shí)體E-R圖</p><p>  圖3-4 樓棟信息實(shí)體E-R圖</p><p>  圖3-5 房間信息實(shí)體E-R圖</p><p>  圖3-6 來(lái)訪(fǎng)者實(shí)體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 實(shí)體之間關(guān)系E-R圖</p><p>  各實(shí)體的屬性分別為:</p><p>  學(xué)

33、生:{學(xué)生學(xué)號(hào),學(xué)生姓名,性別, 所在學(xué)院,所在班級(jí),家庭住址, 聯(lián)系電話(huà)}</p><p>  房間:{棟號(hào),房間號(hào),房間電話(huà)號(hào)碼,寢室長(zhǎng),是否入住,空床位數(shù)量}</p><p>  樓棟:{棟號(hào),床位數(shù)量,是否有風(fēng)扇,是否有電話(huà),是否有電視機(jī),是否有獨(dú)立衛(wèi)生間,是否有熱水器,住宿費(fèi),狀態(tài)}</p><p>  電費(fèi):{棟號(hào),房間號(hào),用電度數(shù),電費(fèi)}</p&

34、gt;<p>  來(lái)人來(lái)訪(fǎng):{日期,來(lái)訪(fǎng)者姓名,性別,年齡,工作單位或證件號(hào)碼,入樓時(shí)間,訪(fǎng)問(wèn)原因及攜帶物品,被訪(fǎng)問(wèn)者姓名,被訪(fǎng)問(wèn)者房間號(hào),離樓時(shí)間}</p><p>  大件物品出入:{日期,姓名,學(xué)院,班級(jí),房間號(hào),大件物品名稱(chēng),擬送地點(diǎn),進(jìn)樓時(shí)間,離樓時(shí)間}</p><p>  維修報(bào)修:{序號(hào),客戶(hù)姓名,聯(lián)系電話(huà),客戶(hù)地址,報(bào)修內(nèi)容,預(yù)約/派工時(shí)間,報(bào)修單號(hào),完成情況

35、,接單員}</p><p>  學(xué)生晚歸:{姓名,所在房間號(hào),所在學(xué)院,日期,時(shí)間,晚歸原因}</p><p>  衛(wèi)生評(píng)比:{棟號(hào),房間號(hào),周次,分?jǐn)?shù)}</p><p>  學(xué)生入?。簕學(xué)生學(xué)號(hào),學(xué)生姓名,所在樓棟,所在房間號(hào)}</p><p>  系統(tǒng)用戶(hù):{用戶(hù)名,用戶(hù)密碼,用戶(hù)類(lèi)型}</p><p>  3.3

36、.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) </p><p>  數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)后,就需要將數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。在上面的實(shí)體以及實(shí)體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫(kù)中的表以及各個(gè)表之間的關(guān)系。</p><p>  學(xué)生宿舍管理系統(tǒng)中本人承擔(dān)的模塊設(shè)計(jì)所涉及到的數(shù)據(jù)表格的設(shè)計(jì)結(jié)果如表3-1至表3-5所示。</p>

37、<p>  表3-1 學(xué)生信息表 student</p><p>  表3-2 房間信息表 room</p><p>  表3-3 樓棟信息表 building</p><p>  表3-4 學(xué)生入住管理 stay</p><p>  表3-5 系統(tǒng)用戶(hù)表 userinfo</p><p>  在本系統(tǒng)中

38、,建立了一個(gè)數(shù)據(jù)庫(kù):dormitory。為了減少數(shù)據(jù)的冗余,分別以基本滿(mǎn)足三范式(3 NF)為標(biāo)準(zhǔn)生成了數(shù)據(jù)表,如此設(shè)計(jì)也考慮到了方便程序開(kāi)發(fā)的問(wèn)題,這樣系統(tǒng)就可以分成幾個(gè)相對(duì)獨(dú)立的模塊,組員在開(kāi)發(fā)過(guò)程中就可以不受其它組員進(jìn)度的影響來(lái)開(kāi)發(fā)自己的模塊。</p><p>  4 學(xué)生宿舍管理子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.1 關(guān)鍵技術(shù)ADO</p><p>

39、  ADO是微軟提供的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)。它被設(shè)計(jì)用來(lái)同新的數(shù)據(jù)訪(fǎng)問(wèn)層OLEDB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪(fǎng)問(wèn)(Universal DataAccess)能力。Microsoft為了適應(yīng)其發(fā)展推出了新的ADO(Active Data Object)模型,通過(guò)ODBC的連接可以對(duì)當(dāng)前流行的桌面數(shù)據(jù)庫(kù)系統(tǒng)提供方便、快捷的連接。</p><p>  4.1.1 ADO對(duì)象模型簡(jiǎn)介</p>

40、<p>  ADO對(duì)象模型定義了—個(gè)可編程的分層對(duì)象集合,主要由三個(gè)對(duì)象成員Connection、Command和Recordset對(duì)象,以及幾個(gè)集合對(duì)象Errors、Parameters和Fields等所組成。ADO數(shù)據(jù)控件的常用屬性及方法:</p><p>  (1)Connection</p><p>  用于表示和數(shù)據(jù)源的連接,以及處理一些命令和事務(wù)。</p>

41、<p>  (2)Command</p><p>  用于執(zhí)行某些命令來(lái)進(jìn)行諸查詢(xún)、修改數(shù)據(jù)庫(kù)如結(jié)構(gòu)的操作。</p><p>  (3)Recordset用于處理數(shù)據(jù)源的表格集,它是在表中修改、檢索數(shù)據(jù)的最主要的方法。</p><p>  (4)Set集合是一種可以方便的包含其他特殊類(lèi)型對(duì)象的對(duì)象類(lèi)型。 ADO 提供4種類(lèi)型的集合:Connect

42、ion 對(duì)象具有Error集合。Command 對(duì)象具有Parameter集合。Recordset 對(duì)象具有Fields集合。Connection、Command、Recordset、Field 對(duì)象都具有Property集合。</p><p>  ADO對(duì)象模型的對(duì)象之間的關(guān)系可用圖4-1表示:</p><p>  圖4-1 ADO對(duì)象模型</p><p>

43、  4.1.2 用ADO連接數(shù)據(jù)庫(kù)</p><p>  ADO可以與許多數(shù)據(jù)庫(kù)相連接。通過(guò)不同的OLE DB提供者來(lái)訪(fǎng)問(wèn)不同的數(shù)據(jù)源。ADO連接不同的數(shù)據(jù)庫(kù)只需要指定不同的連接字符串(Connection String)。</p><p>  Microsoft ODBC Provider 允許 ADO 連接到任何 ODBC 的數(shù)據(jù)源。ODBC 驅(qū)動(dòng)程序?qū)τ诋?dāng)今使用的各種主要 DBMS 都

44、有效,包括 Microsoft SQL Server,Microsoft Access(Microsoft Jet 數(shù)據(jù)庫(kù)引擎)和 Microsoft FoxPro,還包括諸如 Oracle 等非 Microsoft 數(shù)據(jù)庫(kù)產(chǎn)品。提供者將不受線(xiàn)程控制并允許使用 unicode。該提供者是 ADO 的默認(rèn)提供者。</p><p><b>  下面舉例說(shuō)明:</b></p><

45、;p>  (1)ODBC連接(OLE DB提供者為MSDASQL)</p><p>  ODBC Driver for SQL Server</p><p><b>  標(biāo)準(zhǔn)安全性:</b></p><p>  cnn.Open “Driver={SQL Server};” & “Server=數(shù)據(jù)庫(kù)服務(wù)器名;” &_ “

46、database=數(shù)據(jù)庫(kù)名;” & “UID=用戶(hù)名; ” & “PWD=密碼;”</p><p>  其中cnn為ADO的connection對(duì)象;“Driver={SQL Server};”指出了使用Windows ODBC 提供者打開(kāi)連接。</p><p><b>  信任連接:</b></p><p>  cnn.Ope

47、n “Driver={SQL Server};” & “Server=數(shù)據(jù)庫(kù)服務(wù)器名;” &_ “database=數(shù)據(jù)庫(kù)名;” & “UID=; ” & “PWD=;”</p><p><b>  或者:</b></p><p>  cnn.Open “Driver={SQL Server};” & “Server=數(shù)據(jù)庫(kù)服務(wù)

48、器名;” &_ </p><p>  “database=數(shù)據(jù)庫(kù)名;” &“Trusted_connection=yes;”</p><p>  提示輸入用戶(hù)名及密碼:</p><p>  cnn.Properties(“Prompt”)=adPromptAlways</p><p>  cnn.Open “Driver={S

49、QL Server};” & “Server=數(shù)據(jù)庫(kù)服務(wù)器名;”&_ “database=數(shù)據(jù)庫(kù)名;”</p><p>  (2) OLEDB Provider 連接</p><p><b>  標(biāo)準(zhǔn)安全性:</b></p><p>  cnn.Open “Provider=sqloledb;” & “Data Sour

50、ce=數(shù)據(jù)庫(kù)服務(wù)器名;” &_ “Initial Catalog=數(shù)據(jù)庫(kù)名;” & “User Id=用戶(hù)名;” &_ “Password=密碼;”</p><p><b>  信任連接:</b></p><p>  cnn.Open “Provider=sqloledb;” & “Data Source=數(shù)據(jù)庫(kù)服務(wù)器名;” &

51、_ </p><p>  “Initial Catalog=數(shù)據(jù)庫(kù)名;”&”Integrated Security=SSPI”</p><p>  提示用戶(hù)輸入用戶(hù)名和密碼:</p><p>  cnn.Provider=“sqloledb”</p><p>  cnn.Properties(“Prompt”)=adPromptAl

52、ways</p><p>  cnn.Open “Data Source=數(shù)據(jù)庫(kù)服務(wù)器名;” & “Initial Catalog=數(shù)據(jù)庫(kù)名;”</p><p>  本系統(tǒng)的數(shù)據(jù)庫(kù)連接采用了第二種方法,并利用了Winsock控件獲得數(shù)據(jù)庫(kù)服務(wù)器名,這樣就增加了系統(tǒng)的可移植性。主要實(shí)現(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)中我主要承擔(dān)了基本信息管理、數(shù)據(jù)庫(kù)管理和系統(tǒng)管理模塊的設(shè)計(jì)與實(shí)現(xiàn),以下我將對(duì)這三個(gè)模塊進(jìn)行主要說(shuō)明。</p><p>  系統(tǒng)主界面直觀(guān)友好,采用下拉菜單的方式,并在工具欄上添加了部分常用功能的按鈕,可以方便用戶(hù)操作。<

55、;/p><p>  4.2 基本信息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  基本信息管理模塊要完成的主要功能有:</p><p>  添加、修改、刪除、簡(jiǎn)單查詢(xún)學(xué)生基本信息</p><p>  添加、修改、簡(jiǎn)單查詢(xún)房間信息</p><p>  添加、修改、簡(jiǎn)單查詢(xún)樓棟信息</p><p>  ●

56、 用網(wǎng)格顯示學(xué)生基本信息、房間信息以及樓棟信息,并用控件控制顯示 的位置,例如首記錄、前一條、后一條、尾記錄。</p><p>  4.2.1 設(shè)計(jì)思想</p><p>  如果有新同學(xué)轉(zhuǎn)入,則點(diǎn)擊“添加”按鈕,遵循系統(tǒng)的約束性條件,將該同學(xué)的信息錄入,操作完成后單擊“保存”即可存

57、盤(pán),同時(shí)在網(wǎng)格中即可看到新添加的信息。為了防止程序出錯(cuò),添加的同時(shí)需要屏蔽其他按鈕的使用。若要修改某條信息,用戶(hù)可通過(guò)瀏覽各條信息來(lái)選擇具體修改哪條記錄。如果用戶(hù)決定放棄修改,可通過(guò)“取消”按鈕來(lái)實(shí)現(xiàn),此時(shí)信息恢復(fù)到未修改時(shí)的狀態(tài)。如果有同學(xué)畢業(yè)轉(zhuǎn)出,則可通過(guò)“刪除”按鈕刪除數(shù)據(jù)庫(kù)中的冗余信息。刪除時(shí),用戶(hù)可以通過(guò)復(fù)選刪除條件,從而達(dá)到批量刪除的目的。進(jìn)行簡(jiǎn)單查詢(xún)時(shí),用戶(hù)可以通過(guò)學(xué)生學(xué)號(hào)查找相關(guān)信息,若要進(jìn)行詳細(xì)查詢(xún),則可在查詢(xún)模塊中進(jìn)

58、行操作。</p><p>  4.2.2 部分實(shí)現(xiàn)代碼及界面</p><p>  本模塊中主要運(yùn)用了ADO的屬性及方法實(shí)現(xiàn)添加、刪除、修改等各項(xiàng)功能操作。下面以學(xué)生信息管理模塊為例加以介紹。 </p><p>  圖4-2 學(xué)生基本信息管理界面</p><p>  ’學(xué)生基本信

59、息查詢(xún)代碼</p><p>  str = InputBox("請(qǐng)輸入學(xué)號(hào):", "查詢(xún)")</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>  通過(guò)此操作,用戶(hù)可以利用學(xué)號(hào)直接查找到所要查找的學(xué)生,而無(wú)需逐條查找。這對(duì)于在存有大量學(xué)生信息的數(shù)據(jù)庫(kù)中進(jìn)行操作提供了便利,節(jié)約了時(shí)間。 </p><p>  ’學(xué)生基本信息添加代碼</p

62、><p>  '調(diào)用AddNew方法增加記錄</p><p>  Adodc1.Recordset.AddNew</p><p>  ’“保存”按鈕部分代碼</p><p>  ……/*判斷學(xué)號(hào)、電話(huà)號(hào)碼必須為數(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 ……/*判斷要添加的學(xué)生學(xué)號(hào)是否已經(jīng)存在,遵循了主鍵的唯一性約束*/</p><p><b>  End If </b></p><p>  Adodc1.Recordset.Fields("sno") = txtSno.Text /*實(shí)現(xiàn)文本框中數(shù)據(jù)信息與網(wǎng)格中數(shù)據(jù)信息的關(guān)聯(lián)*/</p>

68、<p><b>  ……</b></p><p>  '通過(guò)Update方法保存數(shù)據(jù)</p><p>  Adodc1.Recordset.Update</p><p>  Adodc2.Refresh</p><p>  當(dāng)用戶(hù)單擊“添加”按鈕時(shí),文本框清空,只有“保存”和“取消”按鈕可用。用戶(hù)遵

69、循數(shù)據(jù)庫(kù)字段的約束條件填寫(xiě)完畢后,單擊“保存”操作方可生效。當(dāng)用戶(hù)單擊“修改”按鈕時(shí),文本框中顯示的是要修改的學(xué)生的信息,同樣,修改完畢單擊“保存”操作方可生效,如果要結(jié)束修改,則需點(diǎn)擊“取消”,否則將一直處于修改狀態(tài)。</p><p>  圖4-3 學(xué)生基本信息刪除界面</p><p>  ’學(xué)生基本信息刪除部分代碼</p><p>  If cmdOK.Capt

70、ion = "刪除" Then</p><p>  If ……/*詢(xún)問(wèn)是否要?jiǎng)h除所有符合條件的記錄 Then</p><p>  ……/*判斷復(fù)選框是否被選中*/</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>  ……/*若按鈕的標(biāo)題為清空數(shù)據(jù)庫(kù),則將執(zhí)行刪除該數(shù)據(jù)庫(kù)中的表的操作*/ </p><p><b>  End If</b></p><p>  通過(guò)此操作,用戶(hù)可以將需要?jiǎng)h除的學(xué)生信息從數(shù)據(jù)庫(kù)中刪除,為了能夠同時(shí)照顧到刪除單條記錄和批量刪除信息兩項(xiàng)

75、功能,在刪除學(xué)生信息模塊中,使用了按學(xué)號(hào)、按所在學(xué)院、按班級(jí)三個(gè)復(fù)選框,如果要?jiǎng)h除單條記錄,就可以輸入學(xué)號(hào)刪除該信息;如果要批量刪除,例如畢業(yè)班整體遷出,則可以輸入所在學(xué)院或所在班級(jí)刪除相關(guān)信息,用Execute執(zhí)行查詢(xún)并用SQL語(yǔ)句進(jìn)行刪除,但是建議用戶(hù)慎重清空數(shù)據(jù)庫(kù)的操作,即便是要使用此操作,也應(yīng)先使用數(shù)據(jù)庫(kù)的備份功能將數(shù)據(jù)庫(kù)備份。</p><p>  房間信息以及樓棟信息的添加、修改、查詢(xún)、保存的實(shí)現(xiàn)過(guò)程及

76、代碼與學(xué)生信息的上述操作類(lèi)似,在此就不再敘述了。</p><p>  4.3 數(shù)據(jù)庫(kù)管理模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  數(shù)據(jù)庫(kù)管理模塊要完成的主要功能有:</p><p>  實(shí)現(xiàn)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的備份和還原,以便增強(qiáng)數(shù)據(jù)庫(kù)的安全性。</p><p>  4.3.1 設(shè)計(jì)思想 </p><p>  1、單擊“開(kāi)始備份

77、”,可以將指定數(shù)據(jù)庫(kù)自動(dòng)備份到指定目錄下,并自動(dòng)為備份的數(shù)據(jù)庫(kù)添加當(dāng)前系統(tǒng)的日期。</p><p>  2、單擊“開(kāi)始還原”,用戶(hù)可以根據(jù)所選擇的數(shù)據(jù)庫(kù)的路徑還原數(shù)據(jù)庫(kù)。</p><p>  4.3.2 部分實(shí)現(xiàn)代碼及界面</p><p>  圖4-4 數(shù)據(jù)庫(kù)備份還原界面</p><p>  按鈕的作用是獲取數(shù)據(jù)備份的路徑,單擊該按鈕即可從彈

78、出的對(duì)話(huà)框中選擇所要備份數(shù)據(jù)庫(kù)的目標(biāo)地址,實(shí)現(xiàn)代碼如下:</p><p>  CommonDialog1.Filter = "數(shù)據(jù)庫(kù)文件(*.mdf)|*.mdf|ALL File(*.*)|*.*"</p><p>  CommonDialog1.ShowSave</p><p>  txtBackup.Text = CommonDialog1

79、.FileName</p><p>  cmdBackup.Enabled = True</p><p>  選擇完所要備份的數(shù)據(jù)庫(kù)的目標(biāo)地址后,單擊“開(kāi)始備份”按鈕即可實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份操作。同時(shí)進(jìn)度條會(huì)顯示備份的進(jìn)度,備份成功后,系統(tǒng)會(huì)彈出提示框(如圖4-4所示)。</p><p>  ……/*判斷顯示備份路徑文本框是否為空,若為空則提示用戶(hù)選擇所要備份的數(shù)據(jù)庫(kù)*

80、/ </p><p>  Dim sql, wage(10) As String /*數(shù)組初始化*/</p><p>  ProgressBar1.Min = LBound(wage) </p><p>  ProgressBar1.Max = UBound(wage) /*設(shè)置行程的界限*/</p><p>  Progr

81、essBar1.Value = ProgressBar1.Min /*指明在行程范圍內(nèi)的當(dāng)前位置*/</p><p>  For counter = LBound(wage) To UBound(wage)</p><p>  wage(counter) = "initial value" & counter /*設(shè)置數(shù)組中每項(xiàng)的初始值*/</p&g

82、t;<p>  ProgressBar1.Value = counter</p><p>  sql = "use master backup DATABASE dormitory TO disk='" & txtBackup.Text & "'" /*以master數(shù)據(jù)庫(kù)為橋梁,完成指定數(shù)據(jù)庫(kù)在指定路徑下的備份*/</

83、p><p>  conn.Execute (sql) '執(zhí)行SQL語(yǔ)句</p><p>  Next counter</p><p>  ProgressBar1.Value = ProgressBar1.Min</p><p>  MsgBox "數(shù)據(jù)庫(kù)備份成功!", vbOKOnly + vbInforma

84、tion, "系統(tǒng)提示"</p><p>  數(shù)據(jù)庫(kù)的還原操作與備份操作原理相同,代碼類(lèi)似,稍加改動(dòng)即可。不同點(diǎn)就在于備份用的關(guān)鍵字是“backup”,而還原用的關(guān)鍵字是“restore”;運(yùn)行時(shí)彈出的對(duì)話(huà)框上的按鈕,備份時(shí)為“保存”,CommonDialog的屬性為Show save,還原時(shí)為“打開(kāi)”,CommonDialog的屬性為Show open.其他地方雷同,在此就不做詳細(xì)敘述了。

85、</p><p>  4.4 系統(tǒng)管理模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  系統(tǒng)管理模塊要完成的主要功能有:</p><p><b>  添加用戶(hù)</b></p><p><b>  修改用戶(hù)密碼</b></p><p><b>  刪除用戶(hù)</b>&l

86、t;/p><p>  4.4.1 設(shè)計(jì)思想</p><p>  本模塊綜合了整個(gè)系統(tǒng)的安全和維護(hù),通過(guò)用戶(hù)組管理登錄模塊,確保了整個(gè)系統(tǒng)的正常運(yùn)行和安全的第一保證。在用戶(hù)組管理登陸模塊中,可以根據(jù)用戶(hù)的實(shí)際需求定義用戶(hù)組名以及每個(gè)用戶(hù)所具有的基本權(quán)限,同時(shí)具有管理員權(quán)限的用戶(hù)可以對(duì)用戶(hù)組和用戶(hù)進(jìn)行增加用戶(hù)、修改密碼、刪除用戶(hù)等操作。</p><p>  用戶(hù)組管理登錄模

87、塊,根據(jù)用戶(hù)名和密碼進(jìn)行安全登錄,如果三次輸入不正確,將提示“您已無(wú)權(quán)操作本系統(tǒng),再見(jiàn)!”后將自動(dòng)退出。如果登錄成功,將進(jìn)入主界面進(jìn)行基本操作。</p><p>  4.4.2 部分實(shí)現(xiàn)代碼及界面</p><p>  圖4-5 用戶(hù)管理界面 圖4-6 系統(tǒng)登錄界面</p><p>  系統(tǒng)登陸時(shí),首先要判斷用戶(hù)輸入的用戶(hù)名、密碼是否

88、存在并且正確,其中任何一項(xiàng)不正確或者與其他兩項(xiàng)不匹配,均不能成功登入。如果用戶(hù)連續(xù)執(zhí)行三次錯(cuò)誤的操作,則系統(tǒng)將拒絕訪(fǎng)問(wèn),并發(fā)出提示信息“您已無(wú)權(quán)操作本系統(tǒng),再見(jiàn)!”。如果用戶(hù)使用了正確的用戶(hù)名、密碼和用戶(hù)權(quán)限,則可以成功登入本系統(tǒng),并在主界面進(jìn)行相應(yīng)的操作。</p><p>  系統(tǒng)管理員若要?jiǎng)h除用戶(hù),就必須要知道用戶(hù)密碼,只有輸入了正確的密碼才能操作,否則系統(tǒng)將提示不能刪除當(dāng)前用戶(hù)。為了增強(qiáng)系統(tǒng)的安全性,在輸入

89、了正確的密碼進(jìn)行操作時(shí),系統(tǒng)會(huì)彈出提示詢(xún)問(wèn)是否確定要?jiǎng)h除該用戶(hù),若是,方可執(zhí)行刪除操作。主要代碼如下:</p><p>  If ……/*判斷密碼是否為空,若是,則重新獲得焦點(diǎn)*/</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í)行查詢(xún)*/</p><p>  If ……/*判斷密碼是否正確,如果輸入錯(cuò)誤,則重新獲得焦點(diǎn)*/</p><p><b>  End If</b></p><p>  If username <> Trim(combDelUser.Text) Then</p><p>  If ……/*提示是否確定要

92、刪除該用戶(hù)*/ 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 /*關(guān)閉記錄集*/</p><p><b>  End If</b></p><p><b>  E

95、lse</b></p><p>  ……/*不能刪除該用戶(hù)*/</p><p><b>  End If</b></p><p><b>  5 系統(tǒng)測(cè)試[4]</b></p><p><b>  5.1 測(cè)試目標(biāo)</b></p><p> 

96、 ● 測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程</p><p>  ● 好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案</p><p>  ● 成功的測(cè)試是發(fā)現(xiàn)了迄今為止上尉發(fā)現(xiàn)的錯(cuò)誤的測(cè)試</p><p><b>  5.2 測(cè)試方法</b></p><p><b>  ● 黑盒測(cè)試法</b

97、></p><p>  把程序看做是一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,它是在程序的借口進(jìn)行的測(cè)試,只按照程序功能是否能按照規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸入信息,程序運(yùn)行過(guò)程中能否保持外部信息的完整性。又稱(chēng)為功能測(cè)試。</p><p><b>  ● 白盒測(cè)試法</b></p><p> 

98、 它的前提是把程序看成是裝在一個(gè)透明的白盒子里,測(cè)試者完全不知道程序的結(jié)構(gòu)和處理算法。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程序中的主要執(zhí)行通路是否能按預(yù)定要求正確工作。</p><p>  5.3 系統(tǒng)測(cè)試過(guò)程中遇到的問(wèn)題及解決方法</p><p>  通過(guò)上述方法,在對(duì)系統(tǒng)的測(cè)試過(guò)程中,發(fā)現(xiàn)了如下問(wèn)題,但在發(fā)現(xiàn)問(wèn)題后都找到了解決方法。</p><p>  1、

99、在用戶(hù)登陸時(shí),因?yàn)閿?shù)據(jù)庫(kù)中定義了用戶(hù)名的長(zhǎng)度,所以在輸入了不符合固定長(zhǎng)度的用戶(hù)名時(shí),用戶(hù)無(wú)法登陸。解決這個(gè)問(wèn)題的方法是在輸入用戶(hù)名時(shí)用Trim(C)函數(shù)刪除字符串前導(dǎo)和尾隨空格。</p><p>  2、在基本信息管理模塊中,窗體上的前一條、后一條操作會(huì)出現(xiàn)越界問(wèn)題。針對(duì)此問(wèn)題,在調(diào)用MovePrevious、MoveNext方法之前,首先需要判斷,當(dāng)前是不是已經(jīng)到了最前或是最后。判斷方法是調(diào)用BOF屬性、EOF

100、屬性,如果BOF為真,則表示一定到了最前,不能移動(dòng),否則會(huì)出錯(cuò);如果EOF為真,則表示一定到了最后,不能移動(dòng),否則會(huì)出錯(cuò)。</p><p>  3、數(shù)據(jù)庫(kù)表中的字段都是英文,但在用數(shù)據(jù)網(wǎng)格顯示數(shù)據(jù)庫(kù)信息時(shí),英文顯示界面不友好,不易面向所有用戶(hù)。針對(duì)此問(wèn)題,使用了數(shù)據(jù)網(wǎng)格的列標(biāo)題屬性,例如:DataGrid1.Columns(0).Caption = "學(xué)號(hào)",這樣顯示出的字段就是中文標(biāo)題了,界

101、面更直觀(guān)。</p><p>  4、在需要?jiǎng)h除學(xué)生信息時(shí),為了能夠同時(shí)照顧到刪除單條記錄和批量刪除信息兩項(xiàng)功能,在刪除學(xué)生信息模塊中,使用了按學(xué)號(hào)、按所在學(xué)院、按班級(jí)三個(gè)復(fù)選框,如果要?jiǎng)h除單條記錄,就可以輸入學(xué)號(hào)刪除該信息;如果要批量刪除,例如畢業(yè)班整體遷出,則可以輸入所在學(xué)院或所在班級(jí)刪除相關(guān)信息,用Execute執(zhí)行查詢(xún)并用SQL語(yǔ)句進(jìn)行刪除,此方法在4.2節(jié)中已做介紹,在此不做詳細(xì)描述。</p>

102、<p><b>  6 結(jié)束語(yǔ)</b></p><p>  經(jīng)過(guò)近半年的畢業(yè)設(shè)計(jì),本項(xiàng)目開(kāi)發(fā)已經(jīng)接近尾聲,通過(guò)嚴(yán)格的單元測(cè)試與全面的綜合測(cè)試得出:本軟件在規(guī)定時(shí)間內(nèi)完成了學(xué)生宿舍管理的各種功能。在指導(dǎo)老師的指導(dǎo)下,我學(xué)到了許多東西,編程技巧得到了很大的提高,對(duì)一般軟件的開(kāi)發(fā)理解有了從感性到理性的轉(zhuǎn)變,同時(shí)也領(lǐng)悟到了在一個(gè)較大型的軟件開(kāi)發(fā)中,團(tuán)隊(duì)協(xié)作是多么的重要。</p&g

103、t;<p>  在整個(gè)項(xiàng)目開(kāi)發(fā)過(guò)程中,有過(guò)失敗的痛苦,也有過(guò)成功帶給我們的喜悅;有過(guò)停滯不前的煩惱,也有過(guò)勢(shì)如破竹的體驗(yàn);有過(guò)開(kāi)發(fā)小組成員之間的沖突與矛盾,也有過(guò)親密的協(xié)作攻破難題的愉快;在不斷的失敗中,我們吸取了失敗的教訓(xùn)——軟件開(kāi)發(fā)所需的文檔是軟件開(kāi)發(fā)過(guò)程中不可忽視的一個(gè)重要環(huán)節(jié);在成功以后,我們也不忘總結(jié)成功的經(jīng)驗(yàn)——團(tuán)隊(duì)協(xié)作精神在軟件開(kāi)發(fā)過(guò)程中發(fā)揮著至關(guān)重要的作用。</p><p>  本系

104、統(tǒng)屬于應(yīng)用軟件,由系統(tǒng)服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和客戶(hù)端三個(gè)部分組成,其實(shí)質(zhì)是實(shí)現(xiàn)對(duì)數(shù)據(jù)的管理,因此對(duì)于本系統(tǒng)來(lái)說(shuō),刪除和查詢(xún)是系統(tǒng)的精髓;從技術(shù)上來(lái)講沒(méi)有很大的難度,但要使這些功能完整可靠,使整個(gè)系統(tǒng)靈活性強(qiáng)、可移植性強(qiáng),就需要使用到其它許多相關(guān)知識(shí)和一些比較新和難的技術(shù),本系統(tǒng)的特點(diǎn)就是追求這方面的完美,這也是我通過(guò)做本系統(tǒng)學(xué)到東西最多的地方。對(duì)于本系統(tǒng),我覺(jué)得遺憾的是有部分功能沒(méi)有實(shí)現(xiàn),如電費(fèi)的自動(dòng)更新,因?yàn)闆](méi)有實(shí)現(xiàn)學(xué)生宿舍管理的網(wǎng)絡(luò)化

105、,根據(jù)學(xué)校的現(xiàn)實(shí)條件,這部分功能的實(shí)現(xiàn)尚欠缺。</p><p>  總而言之,我們已基本上掌握了一個(gè)軟件開(kāi)發(fā)的整個(gè)流程,真正地將自己在學(xué)校學(xué)到的理論知識(shí)運(yùn)用到實(shí)踐中去,學(xué)到了許多在課堂里無(wú)法學(xué)到的東西,為以后的工作積累了一定的軟件開(kāi)發(fā)經(jīng)驗(yàn)。當(dāng)然,由于畢業(yè)設(shè)計(jì)時(shí)間較短,該系統(tǒng)還有不盡如人意的地方,這些都有待進(jìn)一步改善。</p><p><b>  參考文獻(xiàn)</b><

106、;/p><p>  [1] 楊莉.Visual Basic 程序設(shè)計(jì)教程[M].北京:中國(guó)水利水電出版社,2002.7. </p><p>  [2] 龔波,等.SQL Server 2000教程[M].北京:希望電子出版社,2002.7</p><p>  [3] 薛四新,賈郭軍,等.軟件項(xiàng)目管理[M].北京:機(jī)械工業(yè)出版社,2004.</p><

107、p>  [4] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.</p><p>  [5] 駱娟,劉韜,何旭洪等.Visual Basic數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2003.8.</p><p>  [6] 劉永良.用VB和關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)儲(chǔ)[J].上海工程技術(shù)大學(xué)學(xué)報(bào),2003,04:327-331.</p><p&g

108、t;  [7] 王珊,等.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2003. </p><p>  [8] 劉志銘,高春艷,等.Visual Basic 數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例解析[M].北京:電子工業(yè)出版社,2004.1.</p><p>  [9] 張勇.Visual Basic 精彩編程百例第一版[M].北京:機(jī)械工程出版社,2004.</p><p>  [10

109、] 李光憲.SQL Server 2000應(yīng)用與技巧[M].北京:人民出版社,2002.3.</p><p>  [11] 勒學(xué)輝,等.數(shù)據(jù)庫(kù)原理與應(yīng)用[M].北京:電子工業(yè)出版社,1997.7.</p><p>  [12] 邢燕,楊隆平.VB中SQL語(yǔ)言查詢(xún)優(yōu)化設(shè)計(jì)[J].遼寧師專(zhuān)學(xué)報(bào)(自然科學(xué)版), 2004,04:21-23.</p><p>  [13]

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論