圖書管理系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題 目:圖書管理系統(tǒng)</p><p>  系 別: 信息工程系</p><p>  專 業(yè): 計算機應用技術</p><p>  班 級: 計算機應用</p><p><b>  摘

2、 要</b></p><p>  圖書館管理信息系統(tǒng)是對學校圖書進行全面信息管理的系統(tǒng)。該管理系統(tǒng)可以有效地管理學校圖書資源,記錄學校與讀者之間的使用書籍情況。此外,根據(jù)讀者的要求,實現(xiàn)書籍基本信息的輸入,查詢等幾個方面的功能。本系統(tǒng)可以作為獨立的系統(tǒng)使用,它包括借閱信息管理、書籍信息管理、讀者信息管理、系統(tǒng)管理四個主要的功能模塊。該管理系統(tǒng)力求給讀者方便快捷的途徑去及時了解書籍信息。針對各個模塊不

3、同的數(shù)據(jù)表實現(xiàn)添加記錄、修改記錄、刪除記錄、以及查詢顯示記錄等功能,所有的操作方便而快捷,并全面實現(xiàn)了圖書館管理的各項功能。</p><p>  這篇論文主要講述關于圖書館管理信息系統(tǒng)的信息,特別是討論了關于設計該系統(tǒng)時的思想、方法和過程,以及在細節(jié)上分析函數(shù)和方法的實現(xiàn)思想。在本論文中講述的圖書館管理信息系統(tǒng)擁有一個交互式的界面、邏輯的數(shù)據(jù)庫結構。并且在設計數(shù)據(jù)庫時還考慮到了實體完整性約束、參照完整性約束、及盡

4、量減少數(shù)據(jù)的冗余,在數(shù)據(jù)庫里有包括表、過程、函數(shù)、觸發(fā)器等5個數(shù)據(jù)庫對象。許多涉及到圖書、讀者的信息的功能在本系統(tǒng)中都有實現(xiàn)。例如,你可以將新書的信息插入到數(shù)據(jù)庫的圖書基本情況表里;還可以對已經(jīng)插入的關于圖書的信息進行修改;更重要的是,讀者可以從圖書館里借閱書籍。經(jīng)過多次的測試和運行,本系統(tǒng)能實現(xiàn)其在設計時的所有功能。</p><p>  關鍵字:圖書 讀者 管理系統(tǒng) 數(shù)據(jù)庫</p><p&g

5、t;<b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  第二章 系統(tǒng)需求分析1</p><p>  2.1 任務概述1</p><p>  2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)2</p><p>  2.3 功能需

6、求6</p><p><b>  2.4性能需求6</b></p><p><b>  2.5需求規(guī)定6</b></p><p>  第三章 系統(tǒng)總體設計6</p><p>  3.1 總體設計6</p><p><b>  3.2運行環(huán)境7</b

7、></p><p>  3.3 數(shù)據(jù)結構8</p><p>  3.4 輸入輸出設計9</p><p>  第四章 詳細設計10</p><p>  4.1 程序流程圖11</p><p>  4.2 程序輸入輸出描述11</p><p>  4.2.1 主模塊11</p

8、><p>  4.2.2 學生管理模塊12</p><p>  4.2.3 圖書管理模塊12</p><p>  4.2.4借閱管理模塊12</p><p>  4.2.5 歸還管理模塊12</p><p>  4.2.6 管理措施設置模塊12</p><p>  4.3 程序接口描述1

9、2</p><p>  4.3.1 外部接口12</p><p>  4.3.2 內(nèi)部接口12</p><p>  4.4 數(shù)據(jù)庫的設計13</p><p>  4.4.1 數(shù)據(jù)庫的邏輯設計13</p><p>  第五章 編碼實現(xiàn)14</p><p>  5.1 程序編碼14<

10、;/p><p>  第六章 測試分析報告17</p><p>  6.1 測試計劃和要點17</p><p>  6.1.1 主模塊測試要點17</p><p>  6.1.2 借閱模塊測試要點18</p><p>  6.1.3 學生查詢模塊測試要點18</p><p>  6.1.4

11、圖書查詢模塊測試要點18</p><p>  6.1.5 圖書歸還模塊測試要點18</p><p>  6.2 測試用例18</p><p>  6.2.1 主模塊測試用例19</p><p>  6.2.2 借閱模塊測試用例19</p><p>  6.2.3 學生查詢模塊測試用例19</p>

12、<p>  6.2.4 圖書查詢模塊測試用例20</p><p>  6.2.5 圖書歸還模塊測試用例20</p><p>  6.3 測試結果及結論20</p><p>  6.3.1 測試的結果20</p><p>  6.3.2 缺陷分析及改進21</p><p>  6.3.3 測試結論

13、21</p><p><b>  總 結23</b></p><p><b>  致 謝24</b></p><p><b>  參考文獻25</b></p><p><b>  附錄26</b></p><p><

14、b>  第一章 緒論</b></p><p>  隨著計算機技術的高速發(fā)展和計算機應用的日益普及,在現(xiàn)代化社會中, 信息管理工作將發(fā)揮越來越重要的作用。學校是傳授知識的地方,一個學校的管理可以正確的反映它的價值,在信息飛速發(fā)展的當今社會中,學校在科學技術的應用是一個社會的體現(xiàn),學校應該走在時代的最前沿。</p><p>  圖書管理是高校內(nèi)每一個系部或院部都必須切實面對的

15、工作,但一直以來人們使用傳統(tǒng)的人工方式管理圖書資料。這種方式存在著許多缺點,如效率低、保密性差且較為繁瑣。另外,隨著圖書資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書資料管理者的工作量和勞動強度,這將給圖書資料信息的查找、更新和維護都帶來了很多困難。</p><p>  經(jīng)過詳細的調(diào)查,目前我國各類高等學校中有相當一部分單位圖書資料管理還停留在人工管理的基礎上。這樣的管理機制已經(jīng)不能適應時代的發(fā)展,其管理方

16、法將浪費許多人力和物力。隨著科學技術的不斷提高,這種傳統(tǒng)的手工管理方法必然被以計算機為基礎的信息管理方法所取代。</p><p>  圖書管理作為計算機應用的一個分支,有著手工管理無法比擬的優(yōu)點,如檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高圖書管理的效率。因此,開發(fā)一套能夠為用戶提供充足的信息和快捷的查詢手段的圖書管理系統(tǒng),將是非常必要的,也是十分及時的。</

17、p><p>  第二章 系統(tǒng)需求分析</p><p><b>  2.1 任務概述</b></p><p>  經(jīng)過對我校詳細調(diào)查,并多次與負責圖書管理的老師進行研討后,加深了對現(xiàn)行圖書管理業(yè)務的深刻了解,與此同時,將整個圖書管理的業(yè)務流程抽象描述如下:</p><p>  1.新的圖書購進后,分門別類地進行歸并并匯總,加以

18、編號。</p><p>  2.新書編號后,上到書架以備學生借閱。</p><p>  3.如某學生需要借閱圖書,則在其本人的借閱登記表上進行登記,記錄相關借閱信息與借閱日期。</p><p>  4.學生借閱圖書后,應及時歸還圖書,并在本人的借閱登記表上注明還書日期和時間。</p><p>  根據(jù)以上調(diào)查分析,可以給出其現(xiàn)行業(yè)務流程圖如圖

19、2.1所示。</p><p>  圖2.1 現(xiàn)行圖書管理業(yè)務流程圖</p><p>  2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)</p><p>  經(jīng)過詳細的調(diào)查,我們已經(jīng)清楚了解了現(xiàn)行的業(yè)務流程,接下來給出系統(tǒng)的邏輯模型。構造系統(tǒng)邏輯模型的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。根據(jù)現(xiàn)行圖書管理的業(yè)務流程,首先把數(shù)據(jù)流圖中的源點和終點都選定為學生,因此可以得到圖書管理系統(tǒng)的基本

20、系統(tǒng)模型,如圖2.2所示。</p><p>  圖2.2 圖書管理系統(tǒng)的基本系統(tǒng)模型</p><p>  根據(jù)基本系統(tǒng)模型,對其逐步細化,得到描述邏輯系統(tǒng)細化后的數(shù)據(jù)流圖,如圖2.3所示。</p><p>  圖2.3 圖書管理系統(tǒng)數(shù)據(jù)流圖(頂層DFD圖)</p><p>  對頂層DFD圖中的一個加工“學生管理”進行展開,如圖2.4。<

21、;/p><p>  圖2.4 細化后數(shù)據(jù)流圖</p><p>  對頂層DFD圖中的一個加工“圖書管理”進行展開,如圖2.5。</p><p>  圖2.5 “圖書管理”展開</p><p>  對第1層DFD圖中的加工進一步進行展開,如圖2.6。</p><p><b>  (1)</b></

22、p><p><b>  (2)</b></p><p>  圖2.6 進一步細化數(shù)據(jù)流圖</p><p>  有了系統(tǒng)的數(shù)據(jù)流圖后,還有相當多的數(shù)據(jù)信息如圖書、借閱、歸還等信息需要進一步描述,這就是需要定義數(shù)據(jù)字典,才能把現(xiàn)有的系統(tǒng)描述清楚。圖2.7列出了系統(tǒng)的主要數(shù)據(jù)字典。</p><p>  圖2.7 系統(tǒng)主要數(shù)據(jù)字典&

23、lt;/p><p><b>  2.3 功能需求</b></p><p>  經(jīng)過以上詳細的用戶調(diào)查,在現(xiàn)行業(yè)務流程和數(shù)據(jù)分析的基礎上,基本可以確定系統(tǒng)設計必須達到的目標。 </p><p>  以下是圖書管理系統(tǒng)必須具備的功能:</p><p>  1.新進圖書的登記功能:對于購進的新書,系統(tǒng)必須具備圖書信息資料的錄入功能

24、。</p><p>  2.圖書的查詢修改功能:當圖書資料發(fā)生變化,如圖書丟失或有錯誤信息輸入時,則應能夠及時對數(shù)據(jù)進行修改和補充。</p><p>  3.借閱的登記,歸還的登記功能:系統(tǒng)的主要功能之一,供本校學生借閱圖書、歸還圖書,并進行登記。</p><p>  4.學生信息的增加、刪除和修改功能:系統(tǒng)主要功能之一,建立學生信息,并對其進行維護。</p&

25、gt;<p><b>  2.4性能需求</b></p><p>  為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,圖書管理系統(tǒng)應該滿足以下的性能需求:</p><p>  1、系統(tǒng)處理的準確性和及時性</p><p>  系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工

26、作量,使系統(tǒng)的處理能力和響應時間能夠滿足學校對信息處理的需求。</p><p>  2、系統(tǒng)的開放性和系統(tǒng)的可擴充性</p><p>  圖書管理系統(tǒng)在開發(fā)過程中,應該充分考慮以后的可擴充性。例如用戶查詢的需求也會不斷的更新和完善。3、系統(tǒng)的易用性和易維護性</p><p>  圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠

27、提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p><b>  4、系統(tǒng)的標準性</b></p><p>  系統(tǒng)在設計開發(fā)使用過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。</p

28、><p><b>  5、系統(tǒng)的先進性</b></p><p>  目前計算系統(tǒng)的技術發(fā)展相當快,做為圖書管理系統(tǒng)工程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設計和開發(fā)的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發(fā)展前途的產(chǎn)品。</p&g

29、t;<p><b>  6、系統(tǒng)的響應速度</b></p><p>  圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。</p><p><b>  2.5需求規(guī)定</b></p>&l

30、t;p> ?。?)對于新買進的書籍,一定要進行基本的信息錄入。如:圖書名稱、作者姓名、出版社、類別等。</p><p> ?。?)對于新來的讀者也一樣要有基本的信息錄入工作,如 :讀者編號、讀者姓名、性別、年齡、住址、電話。</p><p> ?。?)在系統(tǒng)的運行過程中,系統(tǒng)的日期輸入格式為yyyy-mm-dd。</p><p> ?。?)在應用‘借書’窗體時

31、,各個書名的輸入一定要和書庫中的書名保持一致。</p><p> ?。?)用戶修改密碼時,只可以修改正在使用的用戶名的密碼,無法修改其他用戶的個人使用密碼。</p><p> ?。?)在應用各種查詢功能時,要確保輸入的信息與書庫當中或者與讀者的信息完全一致,否則可能就會有查詢不到的可能性。</p><p>  第三章 系統(tǒng)總體設計</p><p&

32、gt;<b>  3.1 總體設計</b></p><p>  圖書管理系統(tǒng)功能模塊圖如圖3-1</p><p><b>  圖3-1系統(tǒng)模塊圖</b></p><p> ?。ǘ? 系統(tǒng)模塊設計</p><p>  (1)用戶登錄模塊:已經(jīng)在本程序中注冊的用戶進入系統(tǒng),必須先進行登錄,否則無法

33、 進入。</p><p>  (2)系統(tǒng)維護模塊:已經(jīng)進入本系統(tǒng)的用戶,可以在注冊其他的用戶,可以修改本用戶的密碼,也可以注銷這個用戶。退出本系統(tǒng)。</p><p>  (3)詳細管理模塊:用戶可以在這里為讀者辦理借閱圖書、歸還圖書。瀏覽所有的圖書目錄,為圖書目錄增加、刪除,修改記錄;也可以瀏覽所有讀者的基本信息,對讀者信息的增加、刪除、修改等的一系列的操作。</p>&l

34、t;p>  (4)相關查詢模塊:在‘借閱查詢’中,用戶可以查詢出任意一個讀者的圖書借閱情況;而在‘圖書查詢’中,用戶可以查詢出書庫當中的任意一本圖書的借閱情況。</p><p>  (5)統(tǒng)計內(nèi)容模塊:在‘讀者借閱情況統(tǒng)計’中,用戶可以統(tǒng)計出所有的讀者的基本信息和他借閱圖書的次數(shù);而在‘圖書借閱情況統(tǒng)計’中,則可以統(tǒng)計出被讀者借閱過的圖書的借閱次數(shù)。</p><p>  (6)關于模

35、塊:次模塊中是關于本系統(tǒng)的基本信息。</p><p><b>  3.2 運行環(huán)境</b></p><p><b>  (一) 開發(fā)環(huán)境</b></p><p>  硬件環(huán)境:奔騰,內(nèi)存128M以上,800x600及以上分辨率的顯示器。</p><p>  軟件環(huán)境:Windows 9x/2000/

36、NT/XP,Office 2000,Visual Basic 6.0。</p><p><b>  (二) 運行環(huán)境</b></p><p>  硬件環(huán)境:同開發(fā)環(huán)境。 </p><p>  軟件環(huán)境:Windows 9x/2000/NT</p><p><b>  3.3數(shù)據(jù)結構設計</b><

37、;/p><p>  1.圖書信息表:包括圖書編號、圖書名稱、作者姓名、出版社、出版日期、單價和類別等字段。</p><p>  表 3-1 圖書信息表結構</p><p>  2.讀者信息表:包括讀者編號、讀者姓名、性別、年齡、住址、電話、備注等字段。</p><p>  表 3-2 讀者信息表</p><p>  3.

38、借閱信息表:包括編號、圖書1、圖書2、圖書3、借閱時間、還書時間等。</p><p>  表 3-3 借閱信息表</p><p>  4.讀者借閱信息表:包括讀者編號和借閱次數(shù)兩個字段。</p><p>  表 3-4 讀者借閱信息表</p><p>  5.圖書借閱信息表:包括圖書編號和借閱次數(shù)兩個字段。</p><p&

39、gt;  表 3-5 圖書借閱信息表</p><p>  6.圖書借閱情況信息表:包括圖書編號和借閱情況兩個字段。</p><p>  表 3-6 圖書借閱情況信息表</p><p>  7.用戶表:包括用戶名和密碼兩個字段。</p><p><b>  表 3-7 用戶表</b></p><p>

40、;<b>  3.4輸入輸出設計</b></p><p>  本系統(tǒng)中的圖書入庫數(shù)據(jù)是根據(jù)購書單來錄入的,所以購書單即為現(xiàn)行系統(tǒng)的圖書進貨單。同表3-1。</p><p>  表3-1 圖書購貨單</p><p>  本系統(tǒng)報表輸出格式設計成圖3-1形式。</p><p>&

41、lt;b>  第四章 詳細設計</b></p><p><b>  4.1 程序流程圖</b></p><p>  依據(jù)軟件工程的基本原理,詳細設計階段的根本任務是確定應該怎樣具體實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設計工作,應該得出對目標系統(tǒng)的精確描述,從而在系統(tǒng)實現(xiàn)階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。具體來說就是把經(jīng)過

42、總體設計得到的各個模塊詳細的加以描述。</p><p>  由于本系統(tǒng)采用支持面向?qū)ο蟮腣isual Basic 6.0作為開發(fā)工具,而Visual Basic 6.0采用事件驅(qū)動的編程機制,所以在此給出軟件系統(tǒng)的主程序流程圖,如圖4.1所示。</p><p>  圖4.1 主程序流程圖</p><p>  根據(jù)以上主程序的流程圖,我們可以得出下面的關于各個模塊的程

43、序流程圖,如圖4.2所示。 </p><p>  圖4.2 程序流程圖</p><p>  4.2 程序輸入輸出描述</p><p><b>  4.2.1 主模塊</b></p><p>  1.輸入項目:操作系統(tǒng)傳遞至的各種消息以及用戶的輸入數(shù)據(jù)。</p><p>  2.輸出項目:用戶界面顯

44、示。</p><p>  4.2.2 學生管理模塊</p><p>  1.輸入項目:與學生管理操作子對話框有關的用戶輸入及系統(tǒng)消息。</p><p>  2.輸出項目:操作結果顯示。</p><p>  4.2.3 圖書管理模塊</p><p>  1.輸入項目:用戶口令。</p><p> 

45、 2.輸出項目:相應的界面。</p><p>  4.2.4借閱管理模塊</p><p>  1.輸入項目:學生學號、圖書編號。</p><p>  2.輸出項目:學生信息、相關借書信息。</p><p>  4.2.5 歸還管理模塊</p><p>  1.輸入項目:圖書編號。</p><p>

46、;  2.輸出項目:相關學生信息。</p><p>  4.2.6 管理措施設置模塊</p><p>  1.輸入項目:用戶的輸入。</p><p>  2.輸出項目:根據(jù)用戶的輸入顯示相應的對話框。</p><p>  4.3 程序接口描述</p><p>  4.3.1 外部接口</p><p&

47、gt;  按Windows應用軟件用戶界面的規(guī)范來設計,使用以對話框為主的用戶界面,便于用戶使用。</p><p>  4.3.2 內(nèi)部接口</p><p>  模塊間接口采用數(shù)據(jù)耦合方式,通過參數(shù)表傳送數(shù)據(jù),交換信息。</p><p>  4.4 數(shù)據(jù)庫的設計</p><p>  4.4.1 數(shù)據(jù)庫的邏輯設計</p><

48、p>  在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿足系統(tǒng)設計要求的幾個關系描述,該階段的主要工作就是把前一階段的成果轉化為具體的數(shù)據(jù)庫。下面給出概念結構設計得E-R圖如圖4.3所示。</p><p><b> ?、?lt;/b></p><p><b> ?、?lt;/b></p><p>

49、<b> ?、?lt;/b></p><p><b>  (1) 分E-R圖</b></p><p><b>  (2) 總E-R圖</b></p><p>  圖4.3 概念結構設計E-R圖</p><p>  實體:圖書(圖書編號,書名,作者,出版社,定價,圖書類別,圖書ISBN

50、號,圖書數(shù)量)</p><p>  學生(學生學號,學生姓名,性別,入校時間,畢業(yè)時間)</p><p>  管理員(編號,名字,密碼,加入時間)</p><p>  聯(lián)系:學生管理(圖書管理員,學生姓名,學生密碼)</p><p>  圖書管理(圖書管理員,借閱號,歸還號)</p><p>  查詢(圖書編號,借閱證

51、號,圖書管理員,學生)</p><p><b>  第五章 編碼實現(xiàn)</b></p><p><b>  5.1 程序編碼</b></p><p>  登陸界面如圖5.1所示。</p><p><b>  圖5.1 登陸界面</b></p><p>&l

52、t;b>  程序代碼如下:</b></p><p>  主界面如圖5.2所示。</p><p>  圖5.2 程序主界面</p><p>  操作員管理界面如圖5.3所示。</p><p>  圖5.3 操作員管理界面</p><p>  學生登記界面如圖5.4所示。</p><p

53、>  圖5.4學生信息登記界面</p><p>  圖書信息登記界面如圖5.5所示。</p><p>  圖5.5 圖書信息登記界面 </p><p>  圖書查詢界面如圖5.6所示。</p><p>  圖5.6 圖書信息查詢界面</p><p>  第六章 測試分析報告</p><p>

54、;  有兩種基本方法可以用來標識測試用例,即功能測試(黑盒測試)和結構測試(白盒測試)。本次測試我主要采用了功能測試。</p><p>  功能測試的基本觀點是,任何程序都可以看作是將輸入定義域取值映射到輸出值域的函數(shù)。</p><p>  6.1 測試計劃和要點</p><p>  軟件測試的本質(zhì)是針對要測試的內(nèi)容確定一組測試用例。在討論之前,我先把要測試各個模塊

55、的計劃和要點列出:</p><p>  6.1.1 主模塊測試要點</p><p>  數(shù)據(jù)庫連接情況:正常情況,數(shù)據(jù)庫文件缺少,外部系統(tǒng)異常。</p><p>  系統(tǒng)設置獲取:正常情況,外部系統(tǒng)異常。</p><p>  對用戶輸入的響應:合法輸入,能夠正常調(diào)用子模塊;</p><p>  非法輸入,系統(tǒng)能否辨別,

56、并作出響應(提出警告);</p><p>  子模塊的異常狀況,系統(tǒng)能否及時做出響應。</p><p>  6.1.2 借閱模塊測試要點</p><p><b>  模塊正常運行流程</b></p><p>  用戶輸入數(shù)據(jù)檢查(學生學號、圖書書號),包括數(shù)據(jù)合理性檢查,以及合法性檢查</p><p&

57、gt;<b>  數(shù)據(jù)庫操作</b></p><p>  數(shù)據(jù)庫連接異常時的響應情況</p><p>  6.1.3 學生查詢模塊測試要點</p><p><b>  數(shù)據(jù)庫連接正常時</b></p><p><b>  輸入合理合法參數(shù)</b></p><

58、p><b>  輸入?yún)?shù)不合理</b></p><p><b>  輸入?yún)?shù)不合法</b></p><p>  數(shù)據(jù)庫連接異常;數(shù)據(jù)庫數(shù)據(jù)異常(讀者姓名為空)</p><p>  6.1.4 圖書查詢模塊測試要點</p><p><b>  數(shù)據(jù)庫連接正常</b><

59、/p><p><b>  數(shù)據(jù)庫數(shù)據(jù)正常</b></p><p><b>  輸入的書號合理合法</b></p><p><b>  輸入的書號不合理</b></p><p><b>  輸入的書號不合法</b></p><p><

60、;b>  數(shù)據(jù)庫數(shù)據(jù)異常</b></p><p><b>  數(shù)據(jù)庫連接異常</b></p><p>  6.1.5 圖書歸還模塊測試要點</p><p><b>  模塊正常工作流程</b></p><p>  對輸入的查驗,包括輸入值的合法性與合理性檢驗</p>

61、<p>  數(shù)據(jù)庫連接異常能否做出適當處理</p><p>  數(shù)據(jù)庫數(shù)據(jù)異常時能否判斷并給予適當處理</p><p><b>  6.2 測試用例</b></p><p>  測試用例是為了特定目的(如考察特定程序路徑或驗證是否符合特定的需求)而設計的測試數(shù)據(jù)及與之相關的測試規(guī)程的一個特定的集合,或稱為有效地發(fā)現(xiàn)軟件缺陷的最小測試執(zhí)

62、行單元。</p><p>  根據(jù)上一節(jié)給出的測試要點,又因為測試是不可能窮舉的。所以我們采用等價劃分法來進行對圖書管理系統(tǒng)的測試。它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有代表性和完整性。</p><p>  6.2.1 主模塊測試用例</p><p>  表6-1 主模塊測試用例</p><p>  6.2.2 借

63、閱模塊測試用例</p><p>  表6-2 借閱模塊測試用例</p><p>  6.2.3 學生查詢模塊測試用例</p><p>  表6-3 學生查詢模塊測試用例</p><p>  6.2.4 圖書查詢模塊測試用例</p><p>  表6-4 圖書查詢模塊測試用例</p><p>  

64、6.2.5 圖書歸還模塊測試用例</p><p>  表6-5 圖書歸還模塊測試用例</p><p>  6.3 測試結果及結論</p><p>  6.3.1 測試的結果</p><p>  我們按照6.2節(jié)中給出的測試用例的順序來給出相應的測試結果。</p><p>  表6-6 主模塊測試結果</p>

65、<p>  表6-7 借閱模塊測試結果</p><p>  表6-8 學生查詢模塊測試結果</p><p>  表6-9 圖書查詢模塊測試結果</p><p>  表6-10 圖書歸還模塊測試結果</p><p>  6.3.2 缺陷分析及改進</p><p>  本部分對上述缺陷和其他收集數(shù)據(jù)進行綜合分

66、析 </p><p><b>  1.缺陷綜合分析 </b></p><p>  缺陷發(fā)現(xiàn)效率 = 缺陷總數(shù)/執(zhí)行測試用時 = 2/(5天) = 0.4 /天</p><p>  用例質(zhì)量 = 缺陷總數(shù)/測試用例總數(shù) ×100% = 2/5 ×100% = 40%</p><p><b>

67、  2.對缺陷的改進</b></p><p>  在測試用例C2和C3中,發(fā)現(xiàn)的缺陷,通過對相關功能編碼的改進,已經(jīng)使測試的結果和預期達到的效果一致。</p><p>  6.3.3 測試結論 </p><p>  1. 測試目標完成 </p><p>  2. 測試已經(jīng)通過 </p><p>  3. 可

68、以進入下一階段項目目標</p><p><b>  總 結</b></p><p>  這次軟件工程課程設計,我主要采用Visual Basic作為前臺開發(fā)工具,Microsoft SQL Severe2000作為后臺數(shù)據(jù)庫,結合軟件工程設計和數(shù)據(jù)庫編程的有關知識,開發(fā)了這個圖書管理系統(tǒng)。</p><p>  通過這次軟件工程課程設計,我對

69、于軟件工程設計的相關步驟和流程有了更深刻的理解,熟悉并掌握了Microsoft SQL Severe2000和VB6.0的數(shù)據(jù)庫使用,同時,我也發(fā)現(xiàn)自己對于軟件工程設計和數(shù)據(jù)庫設計的知識掌握的還不夠,設計和編程能力還有待于進一步提高。這次課程設計給了我一個鍛煉自己,強化專業(yè)知識的機會,通過這次課程設計,我也得以一窺軟件工程設計的廣袤天地,我相信,只要認真學習,多借鑒別人的經(jīng)驗,多思考,多實踐,就一定能夠成為一個合格的軟件設計人員,能夠翱

70、翔在軟件開發(fā)的天地。</p><p><b>  致 謝</b></p><p>  首先感謝學院給我們提供良好的學習設備,學習和生活環(huán)境,其次感謝老師三年來對我們的精心培育,我在公司中學到了書本中所學不到的知識,并掌握了很多學習,工作方法。三年的大學生活馬上就要結束了,三年的時間我學到了很多的知識,懂得了很多道理,知道如何與人溝通、交流,讓自己盡快地適應新的環(huán)境。開

71、發(fā)一個項目,需要的是團隊的力量,團隊的合作,溝通.在開發(fā)此項目的過程中遇到很多的問題,如:界面的設計、編碼問題、用戶需求問題等。在開發(fā)的過程中我學習到了書本上所學不到的知識。讓我懂得了實踐是檢驗真理的惟一標準的真正涵義。</p><p><b>  參考文獻</b></p><p> ?。?]張海藩.軟件工程導論(第四版).北京:清華大學出版社,2003年12月<

72、;/p><p> ?。?]朱少民.軟件測試方法和技術.北京:清華大學出版社,2005年7月</p><p> ?。?]Paul C.Jorgensen.軟件測試(第二版).北京:機械工業(yè)出版社,2006年2月</p><p> ?。?]郭勝,夏邦貴.Visual Basic數(shù)據(jù)庫開發(fā)入門與范例解析.北京:機械工業(yè)出版 社,2004年4月</p><p

73、> ?。?]劉瑞新.Visual Basic管理信息系統(tǒng)開發(fā)畢業(yè)設計指導及實例.北京:機械工業(yè)出版社,2005年3月</p><p>  [6]魏志強、王忠華、何敏、喬林,《數(shù)據(jù)庫應用實務篇》,中國鐵道出版社 2000</p><p>  [7]齊治昌 、譚慶平、 寧洪,《軟件工程》,高等教育出版社1997年第一版</p><p>  [8]韓強 ,《SQL

74、 SERVER 2000 程序員手冊》,機械工業(yè)出版社 2000</p><p>  [9] 薩師煊、王珊,《數(shù)據(jù)庫系統(tǒng)概論》,高等教育出版社 2000年第三版</p><p>  [10] 李新樂,《現(xiàn)代圖書館管理》,書目文獻出版社 1989</p><p>  [11] 譚浩強,《C程序設計(第三版)》,清華大學出版社 2005年1月1

75、日</p><p><b>  附錄</b></p><p>  Function Check_Password(ByVal UserName As String, ByVal UserPassword As String) As Integer</p><p>  On Error GoTo ER2:</p><p>

76、  If ConnectToServer = True Then</p><p>  Set objRs = New Recordset</p><p>  StrSql = "select cOperatorPassword from tOperators where cOperatorName='" & Trim(cboName.Text) &

77、; "'"</p><p>  GetData StrSql 'Reference function to get data</p><p>  If objRs.EOF Then</p><p>  Check_Password = 0 'This Operator not exist</p><p&

78、gt;<b>  Else</b></p><p>  If txtPassword.Text <> Trim(objRs.Fields("cOperatorPassword").Value) Then</p><p>  Check_Password = 1 ' password error</p><p&

79、gt;<b>  Else</b></p><p>  Check_Password = 2 'password ok</p><p>  CurrentOpname = Trim(cboName.Text)</p><p>  CurrentOppassword = objRs.Fields("cOperatorPasswo

80、rd").Value</p><p>  'Here can save a operator grade for expand</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  objCon.Close</

81、p><p>  Exit Function</p><p><b>  ER2:</b></p><p>  MsgBox Err.Description</p><p>  Check_Password = 255</p><p><b>  End If</b></p&

82、gt;<p>  End Function</p><p>  Private Sub cmdCancel_Click()</p><p><b>  Unload Me</b></p><p><b>  End</b></p><p><b>  End Sub</

83、b></p><p>  Private Sub cmdOK_Click()</p><p>  Dim intCheck As Integer</p><p>  'Static intLogTimes to save user login times</p><p>  Static intLogTimes As Integ

84、er</p><p>  intLogTimes = intLogTimes + 1 'Save login times</p><p>  If intLogTimes > MaxLogTimes Then</p><p>  'Over allowed login times then list information</p>

85、<p>  MsgBox "You have over allowed loghin times,login failure !", vbCritical, "LoginError"</p><p><b>  Unload Me</b></p><p><b>  Else</b></p

86、><p>  intCheck = Check_Password(Trim(txtPassword), Trim(cboName))</p><p>  Select Case intCheck</p><p><b>  Case 0</b></p><p>  MsgBox "Your are not a sy

87、stem user !", vbInformation + vbOKOnly, "LoginError"</p><p><b>  Case 1</b></p><p>  MsgBox "Password error ,please check your password !", vbInformation + v

88、bOKOnly, "LoginError"</p><p><b>  Case 2</b></p><p><b>  Unload Me</b></p><p>  If CurrentOpname = "Admin" And CurrentOppassword = "

89、1" Then</p><p>  MainWin.mnuOp.Visible = True</p><p><b>  Else</b></p><p>  MainWin.mnuOp.Visible = False</p><p><b>  End If</b></p>

90、<p>  Load MainWin</p><p>  MainWin.Show</p><p>  End Select</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Option E

91、xplicit</p><p>  Private Sub MDIForm_Activate()</p><p>  If CurrentOpname = "Admin" Then</p><p>  StatusBar2.Panels(1).Text = "管理員:" & CurrentOpname</p>

92、;<p>  Toolbar1.Buttons(1).Visible = True</p><p>  Toolbar1.Buttons(2).Visible = True</p><p><b>  Else</b></p><p>  StatusBar2.Panels(1).Text = "操作員:" &

93、amp; CurrentOpname</p><p>  Toolbar1.Buttons(1).Visible = False</p><p>  Toolbar1.Buttons(2).Visible = False</p><p><b>  End If</b></p><p><b>  End Su

94、b</b></p><p>  Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)</p><p>  If Button = vbRightButton Then</p><p>  PopupMenu mnuOpera

95、tion 'Design popup menu</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub MDIForm_Unload(Cancel As Integer)</p><p>  Check

96、Connect 'Reference function to make objcon break if connection is open</p><p><b>  End Sub</b></p><p>  Private Sub mnuAbout_Click()</p><p>  frmAbout.Show</p>

97、;<p><b>  End Sub</b></p><p>  Private Sub mnuBookQuery_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  

98、Load frmBookQuery</p><p>  frmBookQuery.Show</p><p><b>  End Sub</b></p><p>  Private Sub mnuBookRegist_Click()</p><p>  CheckConnect 'Reference functio

99、n to make objcon break if connection is open</p><p>  Load frmBookReg</p><p>  frmBookReg.Show</p><p><b>  End Sub</b></p><p>  Private Sub mnuBorrowQuery_C

100、lick()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  Load frmReadQuery</p><p>  frmReadQuery.Show</p><p><b>  

101、End Sub</b></p><p>  Private Sub mnuExit_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p><b>  Unload Me</b>

102、</p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub mnuReLogin_Click()</p><p>  CheckConnect 'Reference function to make objco

103、n break if connection is open</p><p><b>  Unload Me</b></p><p>  Load frmLogin</p><p>  frmLogin.Show</p><p><b>  End Sub</b></p><p&g

104、t;  Private Sub mnuVipQuery_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  Load frmVipQuery</p><p>  frmVipQuery.Show</

105、p><p><b>  End Sub</b></p><p>  Private Sub mnuVipRegist_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p&g

106、t;  Load frmVipReg</p><p>  frmVipReg.Show</p><p><b>  End Sub</b></p><p>  Private Sub munReadRegist_Click()</p><p>  CheckConnect 'Reference function

107、to make objcon break if connection is open</p><p>  Load frmReadRegist</p><p>  frmReadRegist.Show</p><p><b>  End Sub</b></p><p>  Private Sub Toolbar1_But

108、tonClick(ByVal Button As MSComctlLib.Button)</p><p>  Select Case Button.Key</p><p>  Case "operatorReg"</p><p>  CheckConnect 'Reference function to make objcon break

109、 if connection is open</p><p>  Load frmAdmin</p><p>  frmAdmin.Show</p><p>  Case "vipReg"</p><p>  CheckConnect 'Reference function to make objcon break

110、 if connection is open</p><p>  Load frmVipReg</p><p>  frmVipReg.Show</p><p>  Case "vipQuery"</p><p>  CheckConnect 'Reference function to make objcon b

111、reak if connection is open</p><p>  Load frmVipQuery</p><p>  frmVipQuery.Show</p><p>  Case "BookReg"</p><p>  CheckConnect 'Reference function to make o

112、bjcon break if connection is open</p><p>  Load frmBookReg</p><p>  frmBookReg.Show</p><p>  Case "bookQuery"</p><p>  CheckConnect 'Reference function to

113、 make objcon break if connection is open</p><p>  Load frmBookQuery</p><p>  frmBookQuery.Show</p><p>  Case "readReg"</p><p>  CheckConnect 'Reference fu

114、nction to make objcon break if connection is open</p><p>  Load frmReadRegist</p><p>  frmReadRegist.Show</p><p>  Case "readQuery"</p><p>  CheckConnect '

115、;Reference function to make objcon break if connection is open</p><p>  Load frmReadQuery</p><p>  frmReadQuery.Show</p><p>  End Select</p><p><b>  End Sub</b

116、></p><p>  Option Explicit</p><p>  Sub SetTextEmpty()</p><p>  'This function is set all text to empty</p><p>  txtOpID.Text = ""</p><p>

117、  txtOpName.Text = ""</p><p>  txtOpPwd.Text = ""</p><p>  cboOpGrade.Text = ""</p><p>  txtOpAddTime.Text = ""</p><p><b>

118、  End Sub</b></p><p>  Sub RefreshOperator()</p><p>  'This function is to Refresh text</p><p>  txtOpID.Text = objRs.Fields(0).Value</p><p>  txtOpName.Text

119、= objRs.Fields(1).Value</p><p>  txtOpPwd.Text = objRs.Fields(2).Value</p><p>  cboOpGrade.Text = objRs.Fields(3).Value</p><p>  ' txtOpAddTime.Text = objRs.Fields(4).Value</

120、p><p><b>  End Sub</b></p><p>  Private Sub cmdAdd_Click()</p><p>  txtOpID.Enabled = True 'You don't change datagrid untill you add data finish</p><p>

121、;  dgdOp.Enabled = False</p><p>  If cmdAdd.Caption = "添加" Then</p><p>  cmdAdd.Caption = "確定"</p><p>  SetTextEmpty ' reference settextempty founction to se

122、t empty</p><p>  cmdDel.Enabled = False</p><p>  cmdModify.Enabled = False</p><p>  cmdRefresh.Enabled = False</p><p>  txtOpID.SetFocus</p><p><b>  

123、Else</b></p><p>  If Trim(txtOpName.Text) = "" Then</p><p>  MsgBox "Operator name must not null ,please input operator name !", vbInformation + vbOKOnly</p><

124、;p>  txtOpName.SetFocus</p><p><b>  Exit Sub</b></p><p>  ElseIf Trim(txtOpID.Text) = "" Then</p><p>  MsgBox "Operator ID must not null ,please input

125、operator ID !", vbInformation + vbOKOnly</p><p>  txtOpID.SetFocus</p><p><b>  Exit Sub</b></p><p>  ElseIf Trim(txtOpPwd.Text) = "" Then</p><p

126、>  MsgBox "Operator password must not null ,please input operator password !", vbInformation + vbOKOnly</p><p>  txtOpPwd.SetFocus</p><p><b>  Exit Sub</b></p>&l

127、t;p><b>  Else</b></p><p>  With objRs</p><p>  checkAddNew = True</p><p>  .Filter = "cOperatorID='" & Trim(txtOpID.Text) & "'"<

128、;/p><p>  If .RecordCount > 0 Then</p><p>  MsgBox "This operator has been exist !"</p><p>  txtOpID.Text = ""</p><p>  txtOpID.SetFocus</p>

129、<p>  .Filter = "cOperatorID<>''"</p><p>  cmdRefresh.Value = True 'To executer refresh once</p><p>  checkAddNew = False</p><p>  cmdDel.Enabled =

溫馨提示

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

評論

0/150

提交評論