圖書(shū)管理系統(tǒng)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩45頁(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>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目:圖書(shū)管理系統(tǒng)</p><p>  系 別: 信息工程系</p><p><b>  專(zhuān) 業(yè): </b></p><p><b>  班 級(jí): </b></p&

2、gt;<p><b>  學(xué)生姓名: </b></p><p><b>  指導(dǎo)教師: </b></p><p>  完成日期: 2011-05-20</p><p>  畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p><b>  摘 要</b></p>

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

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

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

6、b></p><p>  第一章 系統(tǒng)概述1</p><p>  1.1 系統(tǒng)開(kāi)發(fā)背景和意義1</p><p>  1.2 開(kāi)發(fā)環(huán)境1</p><p>  第二章 系統(tǒng)需求分析1</p><p>  2.1 任務(wù)概述1</p><p>  2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)

7、2</p><p>  2.3 功能需求6</p><p><b>  2.4性能需求6</b></p><p>  第三章 系統(tǒng)總體設(shè)計(jì)7</p><p>  3.1 新的業(yè)務(wù)流程7</p><p>  3.2 系統(tǒng)功能模塊圖7</p><p>  3.3 系統(tǒng)

8、的流程圖8</p><p>  第四章 詳細(xì)設(shè)計(jì)10</p><p>  4.1 程序流程圖10</p><p>  4.2 程序輸入輸出描述11</p><p>  4.2.1 主模塊11</p><p>  4.2.1 學(xué)生管理模塊12</p><p>  4.2.2 圖書(shū)管理模

9、塊12</p><p>  4.2.3 借閱管理模塊12</p><p>  4.2.4 歸還管理模塊12</p><p>  4.2.5 管理措施設(shè)置模塊12</p><p>  4.3 程序接口描述12</p><p>  4.3.1 外部接口12</p><p>  4.3.2

10、 內(nèi)部接口12</p><p>  4.4 數(shù)據(jù)庫(kù)的設(shè)計(jì)13</p><p>  4.4.1 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)13</p><p>  第五章 編碼實(shí)現(xiàn)14</p><p>  5.1 程序編碼14</p><p>  第六章 測(cè)試分析報(bào)告17</p><p>  6.1 測(cè)試計(jì)劃和

11、要點(diǎn)17</p><p>  6.1.1 主模塊測(cè)試要點(diǎn)17</p><p>  6.1.2 借閱模塊測(cè)試要點(diǎn)18</p><p>  6.1.3 學(xué)生查詢(xún)模塊測(cè)試要點(diǎn)18</p><p>  6.1.4 圖書(shū)查詢(xún)模塊測(cè)試要點(diǎn)18</p><p>  6.1.5 圖書(shū)歸還模塊測(cè)試要點(diǎn)18</p>

12、<p>  6.2 測(cè)試用例18</p><p>  6.2.1 主模塊測(cè)試用例19</p><p>  6.2.2 借閱模塊測(cè)試用例19</p><p>  6.2.3 學(xué)生查詢(xún)模塊測(cè)試用例19</p><p>  6.2.4 圖書(shū)查詢(xún)模塊測(cè)試用例20</p><p>  6.2.5 圖書(shū)歸還

13、模塊測(cè)試用例20</p><p>  6.3 測(cè)試結(jié)果及結(jié)論20</p><p>  6.3.1 測(cè)試的結(jié)果20</p><p>  6.3.2 缺陷分析及改進(jìn)21</p><p>  6.3.3 測(cè)試結(jié)論21</p><p><b>  總 結(jié)23</b></p>&l

14、t;p><b>  致 謝24</b></p><p><b>  參考文獻(xiàn)25</b></p><p><b>  附錄26</b></p><p><b>  第一章 系統(tǒng)概述</b></p><p>  1.1 系統(tǒng)開(kāi)發(fā)背景和意義<

15、/p><p>  圖書(shū)管理是高校內(nèi)每一個(gè)系部或院部都必須切實(shí)面對(duì)的工作,但一直以來(lái)人們使用傳統(tǒng)的人工方式管理圖書(shū)資料。這種方式存在著許多缺點(diǎn),如效率低、保密性差且較為繁瑣。另外,隨著圖書(shū)資料數(shù)量的增加,其工作量也將大大增加,這必將增加圖書(shū)資料管理者的工作量和勞動(dòng)強(qiáng)度,這將給圖書(shū)資料信息的查找、更新和維護(hù)都帶來(lái)了很多困難。</p><p>  經(jīng)過(guò)詳細(xì)的調(diào)查,目前我國(guó)各類(lèi)高等學(xué)校中有相當(dāng)一部分單

16、位圖書(shū)資料管理還停留在人工管理的基礎(chǔ)上。這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,其管理方法將浪費(fèi)許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,這種傳統(tǒng)的手工管理方法必然被以計(jì)算機(jī)為基礎(chǔ)的信息管理方法所取代。</p><p>  圖書(shū)管理作為計(jì)算機(jī)應(yīng)用的一個(gè)分支,有著手工管理無(wú)法比擬的優(yōu)點(diǎn),如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書(shū)管理的效率。因此,開(kāi)發(fā)一套能夠?yàn)橛脩?hù)提

17、供充足的信息和快捷的查詢(xún)手段的圖書(shū)管理系統(tǒng),將是非常必要的,也是十分及時(shí)的。</p><p><b>  1.2 開(kāi)發(fā)環(huán)境</b></p><p>  開(kāi)發(fā)環(huán)境的選擇會(huì)影響到數(shù)據(jù)庫(kù)的設(shè)計(jì),所以在這里給出圖書(shū)管理系統(tǒng)開(kāi)發(fā)與運(yùn)行環(huán)境的選擇如下:</p><p>  開(kāi)發(fā)環(huán)境:Windows XP</p><p>  開(kāi)發(fā)工具

18、:Myeclipse7.5 +visio c#</p><p>  數(shù)據(jù)庫(kù)系統(tǒng): MYSQL5.0 sql2005</p><p>  web服務(wù)器:Tomcat6.0</p><p>  第二章 系統(tǒng)需求分析</p><p><b>  2.1 任務(wù)概述</b></p><p>  經(jīng)過(guò)

19、對(duì)我校詳細(xì)調(diào)查,并多次與負(fù)責(zé)圖書(shū)管理的老師進(jìn)行研討后,加深了對(duì)現(xiàn)行圖書(shū)管理業(yè)務(wù)的深刻了解,與此同時(shí),將整個(gè)圖書(shū)管理的業(yè)務(wù)流程抽象描述如下:</p><p>  1.新的圖書(shū)購(gòu)進(jìn)后,分門(mén)別類(lèi)地進(jìn)行歸并并匯總,加以編號(hào)。</p><p>  2.新書(shū)編號(hào)后,上到書(shū)架以備學(xué)生借閱。</p><p>  3.如某學(xué)生需要借閱圖書(shū),則在其本人的借閱登記表上進(jìn)行登記,記錄相關(guān)借

20、閱信息與借閱日期。</p><p>  4.學(xué)生借閱圖書(shū)后,應(yīng)及時(shí)歸還圖書(shū),并在本人的借閱登記表上注明還書(shū)日期和時(shí)間。</p><p>  根據(jù)以上調(diào)查分析,可以給出其現(xiàn)行業(yè)務(wù)流程圖如圖2.1所示。</p><p>  圖2.1 現(xiàn)行圖書(shū)管理業(yè)務(wù)流程圖</p><p>  2.2 數(shù)據(jù)描述(數(shù)據(jù)流圖+數(shù)據(jù)字典)</p><

21、p>  經(jīng)過(guò)詳細(xì)的調(diào)查,我們已經(jīng)清楚了解了現(xiàn)行的業(yè)務(wù)流程,接下來(lái)給出系統(tǒng)的邏輯模型。構(gòu)造系統(tǒng)邏輯模型的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。根據(jù)現(xiàn)行圖書(shū)管理的業(yè)務(wù)流程,首先把數(shù)據(jù)流圖中的源點(diǎn)和終點(diǎn)都選定為學(xué)生,因此可以得到圖書(shū)管理系統(tǒng)的基本系統(tǒng)模型,如圖2.2所示。</p><p>  圖2.2 圖書(shū)管理系統(tǒng)的基本系統(tǒng)模型</p><p>  根據(jù)基本系統(tǒng)模型,對(duì)其逐步細(xì)化,得到描述邏輯系統(tǒng)細(xì)化

22、后的數(shù)據(jù)流圖,如圖2.3所示。</p><p>  圖2.3 圖書(shū)管理系統(tǒng)數(shù)據(jù)流圖(頂層DFD圖)</p><p>  對(duì)頂層DFD圖中的一個(gè)加工“學(xué)生管理”進(jìn)行展開(kāi),如圖2.4。</p><p>  圖2.4 細(xì)化后數(shù)據(jù)流圖</p><p>  對(duì)頂層DFD圖中的一個(gè)加工“圖書(shū)管理”進(jìn)行展開(kāi),如圖2.5。</p><p&

23、gt;  圖2.5 “圖書(shū)管理”展開(kāi)</p><p>  對(duì)第1層DFD圖中的加工進(jìn)一步進(jìn)行展開(kāi),如圖2.6。</p><p><b>  (1)</b></p><p><b>  (2)</b></p><p>  圖2.6 進(jìn)一步細(xì)化數(shù)據(jù)流圖</p><p>  有了系

24、統(tǒng)的數(shù)據(jù)流圖后,還有相當(dāng)多的數(shù)據(jù)信息如圖書(shū)、借閱、歸還等信息需要進(jìn)一步描述,這就是需要定義數(shù)據(jù)字典,才能把現(xiàn)有的系統(tǒng)描述清楚。圖2.7列出了系統(tǒng)的主要數(shù)據(jù)字典。</p><p>  ----軟件0831畢業(yè)論文(設(shè)計(jì)) 圖書(shū)管理信息系統(tǒng)</p><p>  圖2.7 系統(tǒng)主要數(shù)據(jù)字典</p><p><b>  2.3 功能需求&l

25、t;/b></p><p>  經(jīng)過(guò)以上詳細(xì)的用戶(hù)調(diào)查,在現(xiàn)行業(yè)務(wù)流程和數(shù)據(jù)分析的基礎(chǔ)上,基本可以確定系統(tǒng)設(shè)計(jì)必須達(dá)到的目標(biāo)。 </p><p>  以下是圖書(shū)管理系統(tǒng)必須具備的功能:</p><p>  1.新進(jìn)圖書(shū)的登記功能:對(duì)于購(gòu)進(jìn)的新書(shū),系統(tǒng)必須具備圖書(shū)信息資料的錄入功能。</p><p>  2.圖書(shū)的查詢(xún)修改功能:當(dāng)圖書(shū)資料

26、發(fā)生變化,如圖書(shū)丟失或有錯(cuò)誤信息輸入時(shí),則應(yīng)能夠及時(shí)對(duì)數(shù)據(jù)進(jìn)行修改和補(bǔ)充。</p><p>  3.借閱的登記,歸還的登記功能:系統(tǒng)的主要功能之一,供本校學(xué)生借閱圖書(shū)、歸還圖書(shū),并進(jìn)行登記。</p><p>  4.學(xué)生信息的增加、刪除和修改功能:系統(tǒng)主要功能之一,建立學(xué)生信息,并對(duì)其進(jìn)行維護(hù)。</p><p><b>  2.4性能需求</b>

27、;</p><p>  為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,圖書(shū)管理系統(tǒng)應(yīng)該滿(mǎn)足以下的性能需求:</p><p>  1、系統(tǒng)處理的準(zhǔn)確性和及時(shí)性</p><p>  系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿(mǎn)足學(xué)校對(duì)信息處理的需求。</p>

28、<p>  2、系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性</p><p>  圖書(shū)管理系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶(hù)查詢(xún)的需求也會(huì)不斷的更新和完善。3、系統(tǒng)的易用性和易維護(hù)性</p><p>  圖書(shū)管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶(hù)接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶(hù)熟

29、悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶(hù)可能出現(xiàn)的使用問(wèn)題,要提供足夠的在線(xiàn)幫助,縮短用戶(hù)對(duì)系統(tǒng)熟悉的過(guò)程。</p><p><b>  4、系統(tǒng)的標(biāo)準(zhǔn)性</b></p><p>  系統(tǒng)在設(shè)計(jì)開(kāi)發(fā)使用過(guò)程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。</p><p><b>  5、系統(tǒng)的先進(jìn)性</b&

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

31、t;</p><p>  圖書(shū)管理系統(tǒng)系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級(jí)到分鐘級(jí),原則是保證操作人員不會(huì)因?yàn)樗俣葐?wèn)題而影響工作效率。</p><p>  第三章 系統(tǒng)總體設(shè)計(jì)</p><p>  3.1 新的業(yè)務(wù)流程</p><p>  根據(jù)需求分析的得到的現(xiàn)行業(yè)務(wù)處

32、理流程,在用戶(hù)反復(fù)研究后,首先確定目標(biāo)系統(tǒng)的業(yè)務(wù)流程,其處理流程如圖3.1。</p><p>  圖3.1 圖書(shū)管理系統(tǒng)的業(yè)務(wù)流程</p><p>  針對(duì)新的業(yè)務(wù)流程,現(xiàn)具體描述其功能如下:</p><p>  1.用戶(hù)登錄:系統(tǒng)對(duì)用戶(hù)合法性進(jìn)行檢查。</p><p>  2.圖書(shū)入庫(kù):對(duì)新購(gòu)進(jìn)的圖書(shū)分類(lèi)進(jìn)行編號(hào),并把圖書(shū)基本信息錄入計(jì)算機(jī)

33、。</p><p>  3.圖書(shū)借閱:對(duì)已入庫(kù)的圖書(shū),學(xué)生可以借閱,并進(jìn)行登記。</p><p>  4.圖書(shū)歸還:對(duì)學(xué)生已歸還的圖書(shū)進(jìn)行歸還登記。 </p><p>  5.信息查詢(xún):即對(duì)所有圖書(shū)的借閱情況,或?qū)W生的基本情況和借閱情況進(jìn)行查詢(xún)。</p><p>  6.管理措施:定義系統(tǒng)規(guī)定的借閱圖書(shū)超期時(shí)間、超期處罰辦法和丟失賠償辦法。&

34、lt;/p><p>  3.2 系統(tǒng)功能模塊圖</p><p>  依據(jù)需求分析階段得到的數(shù)據(jù)流圖,采用軟件工程中軟件設(shè)計(jì)的概念和原理,與用戶(hù)成分協(xié)商后,在保證系統(tǒng)基本功能要求的前提下,結(jié)合系統(tǒng)新的業(yè)務(wù)流程確定系統(tǒng)必須具備的所有功能,由此給出圖書(shū)管理系統(tǒng)的系統(tǒng)功能模塊圖如圖3.2所示。</p><p>  圖3.2 圖書(shū)管理系統(tǒng)功能模塊圖</p><

35、p>  3.3 系統(tǒng)的流程圖</p><p>  依據(jù)軟件工程的基本原理,綜合以上分析給出系統(tǒng)流程圖如圖3.4所示。</p><p>  圖3.4 系統(tǒng)流程圖</p><p><b>  第四章 詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1 程序流程圖</b></p>&

36、lt;p>  依據(jù)軟件工程的基本原理,詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在系統(tǒng)實(shí)現(xiàn)階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。具體來(lái)說(shuō)就是把經(jīng)過(guò)總體設(shè)計(jì)得到的各個(gè)模塊詳細(xì)的加以描述。</p><p>  由于本系統(tǒng)采用支持面向?qū)ο蟮腣isual Basic 6.0作為開(kāi)發(fā)工具,而Visual Basic

37、 6.0采用事件驅(qū)動(dòng)的編程機(jī)制,所以在此給出軟件系統(tǒng)的主程序流程圖,如圖4.1所示。</p><p>  圖4.1 主程序流程圖</p><p>  根據(jù)以上主程序的流程圖,我們可以得出下面的關(guān)于各個(gè)模塊的程序流程圖,如圖4.2所示。 </p><p>  圖4.2 程序流程圖</p><p>  4.2 程序輸入輸出描述</p>

38、<p><b>  4.2.1 主模塊</b></p><p>  1.輸入項(xiàng)目:操作系統(tǒng)傳遞至的各種消息以及用戶(hù)的輸入數(shù)據(jù)。</p><p>  2.輸出項(xiàng)目:用戶(hù)界面顯示。</p><p>  4.2.1 學(xué)生管理模塊</p><p>  1.輸入項(xiàng)目:與學(xué)生管理操作子對(duì)話(huà)框有關(guān)的用戶(hù)輸入及系統(tǒng)消息。&

39、lt;/p><p>  2.輸出項(xiàng)目:操作結(jié)果顯示。</p><p>  4.2.2 圖書(shū)管理模塊</p><p>  1.輸入項(xiàng)目:用戶(hù)口令。</p><p>  2.輸出項(xiàng)目:相應(yīng)的界面。</p><p>  4.2.3 借閱管理模塊</p><p>  1.輸入項(xiàng)目:學(xué)生學(xué)號(hào)、圖書(shū)編號(hào)。<

40、;/p><p>  2.輸出項(xiàng)目:學(xué)生信息、相關(guān)借書(shū)信息。</p><p>  4.2.4 歸還管理模塊</p><p>  1.輸入項(xiàng)目:圖書(shū)編號(hào)。</p><p>  2.輸出項(xiàng)目:相關(guān)學(xué)生信息。</p><p>  4.2.5 管理措施設(shè)置模塊</p><p>  1.輸入項(xiàng)目:用戶(hù)的輸入。&

41、lt;/p><p>  2.輸出項(xiàng)目:根據(jù)用戶(hù)的輸入顯示相應(yīng)的對(duì)話(huà)框。</p><p>  4.3 程序接口描述</p><p>  4.3.1 外部接口</p><p>  按Windows應(yīng)用軟件用戶(hù)界面的規(guī)范來(lái)設(shè)計(jì),使用以對(duì)話(huà)框?yàn)橹鞯挠脩?hù)界面,便于用戶(hù)使用。</p><p>  4.3.2 內(nèi)部接口</p>

42、;<p>  模塊間接口采用數(shù)據(jù)耦合方式,通過(guò)參數(shù)表傳送數(shù)據(jù),交換信息。</p><p>  4.4 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p>  4.4.1 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)</p><p>  在需求分析階段已完成該系統(tǒng)所有的數(shù)據(jù)分析。根據(jù)該階段所建立的概念模型,已經(jīng)得出滿(mǎn)足系統(tǒng)設(shè)計(jì)要求的幾個(gè)關(guān)系描述,該階段的主要工作就是把前一階段的成果轉(zhuǎn)化為具體的數(shù)據(jù)庫(kù)。下

43、面給出概念結(jié)構(gòu)設(shè)計(jì)得E-R圖如圖4.3所示。</p><p><b>  ①</b></p><p><b> ?、?lt;/b></p><p><b> ?、?lt;/b></p><p><b>  (1) 分E-R圖</b></p><p&

44、gt;<b>  (2) 總E-R圖</b></p><p>  圖4.3 概念結(jié)構(gòu)設(shè)計(jì)E-R圖</p><p>  實(shí)體:圖書(shū)(圖書(shū)編號(hào),書(shū)名,作者,出版社,定價(jià),圖書(shū)類(lèi)別,圖書(shū)ISBN號(hào),圖書(shū)數(shù)量)</p><p>  學(xué)生(學(xué)生學(xué)號(hào),學(xué)生姓名,性別,入校時(shí)間,畢業(yè)時(shí)間)</p><p>  管理員(編號(hào),名字,密碼

45、,加入時(shí)間)</p><p>  聯(lián)系:學(xué)生管理(圖書(shū)管理員,學(xué)生姓名,學(xué)生密碼)</p><p>  圖書(shū)管理(圖書(shū)管理員,借閱號(hào),歸還號(hào))</p><p>  查詢(xún)(圖書(shū)編號(hào),借閱證號(hào),圖書(shū)管理員,學(xué)生)</p><p><b>  第五章 編碼實(shí)現(xiàn)</b></p><p><b>

46、  5.1 程序編碼</b></p><p>  登陸界面如圖5.1所示。</p><p><b>  圖5.1 登陸界面</b></p><p><b>  程序代碼如下:</b></p><p>  主界面如圖5.2所示。</p><p>  圖5.2 程序主

47、界面</p><p>  操作員管理界面如圖5.3所示。</p><p>  圖5.3 操作員管理界面</p><p>  學(xué)生登記界面如圖5.4所示。</p><p>  圖5.4學(xué)生信息登記界面</p><p>  圖書(shū)信息登記界面如圖5.5所示。</p><p>  圖5.5 圖書(shū)信息登記

48、界面 </p><p>  圖書(shū)查詢(xún)界面如圖5.6所示。</p><p>  圖5.6 圖書(shū)信息查詢(xún)界面</p><p>  第六章 測(cè)試分析報(bào)告</p><p>  有兩種基本方法可以用來(lái)標(biāo)識(shí)測(cè)試用例,即功能測(cè)試(黑盒測(cè)試)和結(jié)構(gòu)測(cè)試(白盒測(cè)試)。本次測(cè)試我主要采用了功能測(cè)試。</p><p>  功能測(cè)試的基本觀(guān)點(diǎn)

49、是,任何程序都可以看作是將輸入定義域取值映射到輸出值域的函數(shù)。</p><p>  6.1 測(cè)試計(jì)劃和要點(diǎn)</p><p>  軟件測(cè)試的本質(zhì)是針對(duì)要測(cè)試的內(nèi)容確定一組測(cè)試用例。在討論之前,我先把要測(cè)試各個(gè)模塊的計(jì)劃和要點(diǎn)列出:</p><p>  6.1.1 主模塊測(cè)試要點(diǎn)</p><p>  數(shù)據(jù)庫(kù)連接情況:正常情況,數(shù)據(jù)庫(kù)文件缺少,外部

50、系統(tǒng)異常。</p><p>  系統(tǒng)設(shè)置獲?。赫G闆r,外部系統(tǒng)異常。</p><p>  對(duì)用戶(hù)輸入的響應(yīng):合法輸入,能夠正常調(diào)用子模塊;</p><p>  非法輸入,系統(tǒng)能否辨別,并作出響應(yīng)(提出警告);</p><p>  子模塊的異常狀況,系統(tǒng)能否及時(shí)做出響應(yīng)。</p><p>  6.1.2 借閱模塊測(cè)試要

51、點(diǎn)</p><p><b>  模塊正常運(yùn)行流程</b></p><p>  用戶(hù)輸入數(shù)據(jù)檢查(學(xué)生學(xué)號(hào)、圖書(shū)書(shū)號(hào)),包括數(shù)據(jù)合理性檢查,以及合法性檢查</p><p><b>  數(shù)據(jù)庫(kù)操作</b></p><p>  數(shù)據(jù)庫(kù)連接異常時(shí)的響應(yīng)情況</p><p>  6.1

52、.3 學(xué)生查詢(xún)模塊測(cè)試要點(diǎn)</p><p><b>  數(shù)據(jù)庫(kù)連接正常時(shí)</b></p><p><b>  輸入合理合法參數(shù)</b></p><p><b>  輸入?yún)?shù)不合理</b></p><p><b>  輸入?yún)?shù)不合法</b></p>

53、;<p>  數(shù)據(jù)庫(kù)連接異常;數(shù)據(jù)庫(kù)數(shù)據(jù)異常(讀者姓名為空)</p><p>  6.1.4 圖書(shū)查詢(xún)模塊測(cè)試要點(diǎn)</p><p><b>  數(shù)據(jù)庫(kù)連接正常</b></p><p><b>  數(shù)據(jù)庫(kù)數(shù)據(jù)正常</b></p><p><b>  輸入的書(shū)號(hào)合理合法</

54、b></p><p><b>  輸入的書(shū)號(hào)不合理</b></p><p><b>  輸入的書(shū)號(hào)不合法</b></p><p><b>  數(shù)據(jù)庫(kù)數(shù)據(jù)異常</b></p><p><b>  數(shù)據(jù)庫(kù)連接異常</b></p><p

55、>  6.1.5 圖書(shū)歸還模塊測(cè)試要點(diǎn)</p><p><b>  模塊正常工作流程</b></p><p>  對(duì)輸入的查驗(yàn),包括輸入值的合法性與合理性檢驗(yàn)</p><p>  數(shù)據(jù)庫(kù)連接異常能否做出適當(dāng)處理</p><p>  數(shù)據(jù)庫(kù)數(shù)據(jù)異常時(shí)能否判斷并給予適當(dāng)處理</p><p>&l

56、t;b>  6.2 測(cè)試用例</b></p><p>  測(cè)試用例是為了特定目的(如考察特定程序路徑或驗(yàn)證是否符合特定的需求)而設(shè)計(jì)的測(cè)試數(shù)據(jù)及與之相關(guān)的測(cè)試規(guī)程的一個(gè)特定的集合,或稱(chēng)為有效地發(fā)現(xiàn)軟件缺陷的最小測(cè)試執(zhí)行單元。</p><p>  根據(jù)上一節(jié)給出的測(cè)試要點(diǎn),又因?yàn)闇y(cè)試是不可能窮舉的。所以我們采用等價(jià)劃分法來(lái)進(jìn)行對(duì)圖書(shū)管理系統(tǒng)的測(cè)試。它將不能窮舉的測(cè)試過(guò)程進(jìn)行

57、合理分類(lèi),從而保證設(shè)計(jì)出來(lái)的測(cè)試用例具有代表性和完整性。</p><p>  6.2.1 主模塊測(cè)試用例</p><p>  表6-1 主模塊測(cè)試用例</p><p>  6.2.2 借閱模塊測(cè)試用例</p><p>  表6-2 借閱模塊測(cè)試用例</p><p>  6.2.3 學(xué)生查詢(xún)模塊測(cè)試用例</p>

58、;<p>  表6-3 學(xué)生查詢(xún)模塊測(cè)試用例</p><p>  6.2.4 圖書(shū)查詢(xún)模塊測(cè)試用例</p><p>  表6-4 圖書(shū)查詢(xún)模塊測(cè)試用例</p><p>  6.2.5 圖書(shū)歸還模塊測(cè)試用例</p><p>  表6-5 圖書(shū)歸還模塊測(cè)試用例</p><p>  6.3 測(cè)試結(jié)果及結(jié)論<

59、;/p><p>  6.3.1 測(cè)試的結(jié)果</p><p>  我們按照6.2節(jié)中給出的測(cè)試用例的順序來(lái)給出相應(yīng)的測(cè)試結(jié)果。</p><p>  表6-6 主模塊測(cè)試結(jié)果</p><p>  表6-7 借閱模塊測(cè)試結(jié)果</p><p>  表6-8 學(xué)生查詢(xún)模塊測(cè)試結(jié)果</p><p>  表6-9

60、 圖書(shū)查詢(xún)模塊測(cè)試結(jié)果</p><p>  表6-10 圖書(shū)歸還模塊測(cè)試結(jié)果</p><p>  6.3.2 缺陷分析及改進(jìn)</p><p>  本部分對(duì)上述缺陷和其他收集數(shù)據(jù)進(jìn)行綜合分析 </p><p><b>  1.缺陷綜合分析 </b></p><p>  缺陷發(fā)現(xiàn)效率 = 缺陷總數(shù)/執(zhí)

61、行測(cè)試用時(shí) = 2/(5天) = 0.4 /天</p><p>  用例質(zhì)量 = 缺陷總數(shù)/測(cè)試用例總數(shù) ×100% = 2/5 ×100% = 40%</p><p><b>  2.對(duì)缺陷的改進(jìn)</b></p><p>  在測(cè)試用例C2和C3中,發(fā)現(xiàn)的缺陷,通過(guò)對(duì)相關(guān)功能編碼的改進(jìn),已經(jīng)使測(cè)試的結(jié)果和預(yù)期達(dá)到的效果一

62、致。</p><p>  6.3.3 測(cè)試結(jié)論 </p><p>  1. 測(cè)試目標(biāo)完成 </p><p>  2. 測(cè)試已經(jīng)通過(guò) </p><p>  3. 可以進(jìn)入下一階段項(xiàng)目目標(biāo)</p><p><b>  總 結(jié)</b></p><p>  這次軟件工程課程設(shè)計(jì),

63、我主要采用Visual Basic作為前臺(tái)開(kāi)發(fā)工具,Microsoft SQL Severe2000作為后臺(tái)數(shù)據(jù)庫(kù),結(jié)合軟件工程設(shè)計(jì)和數(shù)據(jù)庫(kù)編程的有關(guān)知識(shí),開(kāi)發(fā)了這個(gè)圖書(shū)管理系統(tǒng)。</p><p>  通過(guò)這次軟件工程課程設(shè)計(jì),我對(duì)于軟件工程設(shè)計(jì)的相關(guān)步驟和流程有了更深刻的理解,熟悉并掌握了Microsoft SQL Severe2000和VB6.0的數(shù)據(jù)庫(kù)使用,另一方面,也對(duì)SQL語(yǔ)言作為嵌入式語(yǔ)言的功能有了

64、更深刻的體會(huì)。同時(shí),我也發(fā)現(xiàn)自己對(duì)于軟件工程設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)的知識(shí)掌握的還不夠,設(shè)計(jì)和編程能力還有待于進(jìn)一步提高。這次課程設(shè)計(jì)給了我一個(gè)鍛煉自己,強(qiáng)化專(zhuān)業(yè)知識(shí)的機(jī)會(huì),通過(guò)這次課程設(shè)計(jì),我也得以一窺軟件工程設(shè)計(jì)的廣袤天地,我相信,只要認(rèn)真學(xué)習(xí),多借鑒別人的經(jīng)驗(yàn),多思考,多實(shí)踐,就一定能夠成為一個(gè)合格的軟件設(shè)計(jì)人員,能夠翱翔在軟件開(kāi)發(fā)的天地。</p><p><b>  致 謝</b></

65、p><p>  首先感謝給我們提供良好的學(xué)習(xí)設(shè)備,學(xué)習(xí)和生活環(huán)境,其次感謝老師三年來(lái)對(duì)我們的精心培育,再次感謝山東東方道邇數(shù)字?jǐn)?shù)據(jù)有限公司能給我提供實(shí)習(xí)的機(jī)會(huì)。我在公司中學(xué)到了書(shū)本中所學(xué)不到的知識(shí),并掌握了很多學(xué)習(xí),工作方法。三年的大學(xué)生活馬上就要結(jié)束了,三年的時(shí)間我學(xué)到了很多的知識(shí),懂得了很多道理,知道如何與人溝通、交流,讓自己盡快地適應(yīng)新的環(huán)境。開(kāi)發(fā)一個(gè)項(xiàng)目,需要的是團(tuán)隊(duì)的力量,團(tuán)隊(duì)的合作,溝通.在開(kāi)發(fā)此項(xiàng)目的過(guò)

66、程中遇到很多的問(wèn)題,如:界面的設(shè)計(jì)、編碼問(wèn)題、用戶(hù)需求問(wèn)題等。在開(kāi)發(fā)的過(guò)程中我學(xué)習(xí)到了書(shū)本上所學(xué)不到的知識(shí)。讓我懂得了實(shí)踐是檢驗(yàn)真理的惟一標(biāo)準(zhǔn)的真正涵義。</p><p><b>  參考文獻(xiàn)</b></p><p> ?。?]張海藩.軟件工程導(dǎo)論(第四版).北京:清華大學(xué)出版社,2003年12月</p><p> ?。?]朱少民.軟件測(cè)試方法

67、和技術(shù).北京:清華大學(xué)出版社,2005年7月</p><p> ?。?]Paul C.Jorgensen.軟件測(cè)試(第二版).北京:機(jī)械工業(yè)出版社,2006年2月</p><p> ?。?]郭勝,夏邦貴.Visual Basic數(shù)據(jù)庫(kù)開(kāi)發(fā)入門(mén)與范例解析.北京:機(jī)械工業(yè)出版社,2004年4月</p><p>  [5]劉瑞新.Visual Basic管理信息系統(tǒng)開(kāi)發(fā)畢

68、業(yè)設(shè)計(jì)指導(dǎo)及實(shí)例.北京:機(jī)械工業(yè)出版社,2005年3月</p><p>  [6]魏志強(qiáng)、王忠華、何敏、喬林,《數(shù)據(jù)庫(kù)應(yīng)用實(shí)務(wù)篇》,中國(guó)鐵道出版社 2000</p><p>  [7]齊治昌 、譚慶平、 寧洪,《軟件工程》,高等教育出版社1997年第一版</p><p>  [8]韓強(qiáng) ,《SQL SERVER 2000 程序員手冊(cè)》,機(jī)械工業(yè)出版社 20

69、00</p><p>  [9] 薩師煊、王珊,《數(shù)據(jù)庫(kù)系統(tǒng)概論》,高等教育出版社 2000年第三版</p><p>  [10] 李新樂(lè),《現(xiàn)代圖書(shū)館管理》,書(shū)目文獻(xiàn)出版社 1989</p><p>  [11] 譚浩強(qiáng),《C程序設(shè)計(jì)(第三版)》,清華大學(xué)出版社 2005年1月1日</p><p><b>  附

70、錄</b></p><p>  Function Check_Password(ByVal UserName As String, ByVal UserPassword As String) As Integer</p><p>  On Error GoTo ER2:</p><p>  If ConnectToServer = True Then&l

71、t;/p><p>  Set objRs = New Recordset</p><p>  StrSql = "select cOperatorPassword from tOperators where cOperatorName='" & Trim(cboName.Text) & "'"</p><

72、;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><b>  Else</b></p

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

74、><p>  Check_Password = 2 'password ok</p><p>  CurrentOpname = Trim(cboName.Text)</p><p>  CurrentOppassword = objRs.Fields("cOperatorPassword").Value</p><p&g

75、t;  'Here can save a operator grade for expand</p><p><b>  End If</b></p><p><b>  End If</b></p><p>  objCon.Close</p><p>  Exit Function<

76、;/p><p><b>  ER2:</b></p><p>  MsgBox Err.Description</p><p>  Check_Password = 255</p><p><b>  End If</b></p><p>  End Function</p

77、><p>  Private Sub cmdCancel_Click()</p><p><b>  Unload Me</b></p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Privat

78、e Sub cmdOK_Click()</p><p>  Dim intCheck As Integer</p><p>  'Static intLogTimes to save user login times</p><p>  Static intLogTimes As Integer</p><p>  intLogTim

79、es = intLogTimes + 1 'Save login times</p><p>  If intLogTimes > MaxLogTimes Then</p><p>  'Over allowed login times then list information</p><p>  MsgBox "You have

80、over allowed loghin times,login failure !", vbCritical, "LoginError"</p><p><b>  Unload Me</b></p><p><b>  Else</b></p><p>  intCheck = Check_

81、Password(Trim(txtPassword), Trim(cboName))</p><p>  Select Case intCheck</p><p><b>  Case 0</b></p><p>  MsgBox "Your are not a system user !", vbInformation +

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

83、;/p><p><b>  Case 2</b></p><p><b>  Unload Me</b></p><p>  If CurrentOpname = "Admin" And CurrentOppassword = "1" Then</p><p> 

84、 MainWin.mnuOp.Visible = True</p><p><b>  Else</b></p><p>  MainWin.mnuOp.Visible = False</p><p><b>  End If</b></p><p>  Load MainWin</p>

85、<p>  MainWin.Show</p><p>  End Select</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Option Explicit</p><p>  Priv

86、ate Sub MDIForm_Activate()</p><p>  If CurrentOpname = "Admin" Then</p><p>  StatusBar2.Panels(1).Text = "管理員:" & CurrentOpname</p><p>  Toolbar1.Buttons(1).

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

88、p>  Toolbar1.Buttons(1).Visible = False</p><p>  Toolbar1.Buttons(2).Visible = False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  

89、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 mnuOperation 'Design popup menu</p&

90、gt;<p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub MDIForm_Unload(Cancel As Integer)</p><p>  CheckConnect 'Reference function t

91、o make objcon break if connection is open</p><p><b>  End Sub</b></p><p>  Private Sub mnuAbout_Click()</p><p>  frmAbout.Show</p><p><b>  End Sub<

92、/b></p><p>  Private Sub mnuBookQuery_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  Load frmBookQuery</p><p

93、>  frmBookQuery.Show</p><p><b>  End Sub</b></p><p>  Private Sub mnuBookRegist_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connecti

94、on is open</p><p>  Load frmBookReg</p><p>  frmBookReg.Show</p><p><b>  End Sub</b></p><p>  Private Sub mnuBorrowQuery_Click()</p><p>  Check

95、Connect 'Reference function to make objcon break if connection is open</p><p>  Load frmReadQuery</p><p>  frmReadQuery.Show</p><p><b>  End Sub</b></p><p

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

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

98、p><p><b>  Unload Me</b></p><p>  Load frmLogin</p><p>  frmLogin.Show</p><p><b>  End Sub</b></p><p>  Private Sub mnuVipQuery_Click(

99、)</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  Load frmVipQuery</p><p>  frmVipQuery.Show</p><p><b>  End Sub

100、</b></p><p>  Private Sub mnuVipRegist_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p><p>  Load frmVipReg</p><

101、p>  frmVipReg.Show</p><p><b>  End Sub</b></p><p>  Private Sub munReadRegist_Click()</p><p>  CheckConnect 'Reference function to make objcon break if connection

102、 is open</p><p>  Load frmReadRegist</p><p>  frmReadRegist.Show</p><p><b>  End Sub</b></p><p>  Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlL

103、ib.Button)</p><p>  Select Case Button.Key</p><p>  Case "operatorReg"</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p>

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

105、<p>  Load frmVipReg</p><p>  frmVipReg.Show</p><p>  Case "vipQuery"</p><p>  CheckConnect 'Reference function to make objcon break if connection is open</p&g

106、t;<p>  Load frmVipQuery</p><p>  frmVipQuery.Show</p><p>  Case "BookReg"</p><p>  CheckConnect 'Reference function to make objcon break if connection is open&

107、lt;/p><p>  Load frmBookReg</p><p>  frmBookReg.Show</p><p>  Case "bookQuery"</p><p>  CheckConnect 'Reference function to make objcon break if connection i

108、s open</p><p>  Load frmBookQuery</p><p>  frmBookQuery.Show</p><p>  Case "readReg"</p><p>  CheckConnect 'Reference function to make objcon break if con

109、nection is open</p><p>  Load frmReadRegist</p><p>  frmReadRegist.Show</p><p>  Case "readQuery"</p><p>  CheckConnect 'Reference function to make objcon

110、 break if connection is open</p><p>  Load frmReadQuery</p><p>  frmReadQuery.Show</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Option

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

112、;/p><p>  txtOpPwd.Text = ""</p><p>  cboOpGrade.Text = ""</p><p>  txtOpAddTime.Text = ""</p><p><b>  End Sub</b></p><

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

114、<p>  txtOpPwd.Text = objRs.Fields(2).Value</p><p>  cboOpGrade.Text = objRs.Fields(3).Value</p><p>  ' txtOpAddTime.Text = objRs.Fields(4).Value</p><p><b>  End Sub

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

116、<p>  If cmdAdd.Caption = "添加" Then</p><p>  cmdAdd.Caption = "確定"</p><p>  SetTextEmpty ' reference settextempty founction to set empty</p><p>  cmdD

117、el.Enabled = False</p><p>  cmdModify.Enabled = False</p><p>  cmdRefresh.Enabled = False</p><p>  txtOpID.SetFocus</p><p><b>  Else</b></p><p>

118、;  If Trim(txtOpName.Text) = "" Then</p><p>  MsgBox "Operator name must not null ,please input operator name !", vbInformation + vbOKOnly</p><p>  txtOpName.SetFocus</p&g

119、t;<p><b>  Exit Sub</b></p><p>  ElseIf Trim(txtOpID.Text) = "" Then</p><p>  MsgBox "Operator ID must not null ,please input operator ID !", vbInformation

120、 + vbOKOnly</p><p>  txtOpID.SetFocus</p><p><b>  Exit Sub</b></p><p>  ElseIf Trim(txtOpPwd.Text) = "" Then</p><p>  MsgBox "Operator passwo

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

122、t;/p><p>  With objRs</p><p>  checkAddNew = True</p><p>  .Filter = "cOperatorID='" & Trim(txtOpID.Text) & "'"</p><p>  If .RecordCoun

123、t > 0 Then</p><p>  MsgBox "This operator has been exist !"</p><p>  txtOpID.Text = ""</p><p>  txtOpID.SetFocus</p><p>  .Filter = "cOperat

124、orID<>''"</p><p>  cmdRefresh.Value = True 'To executer refresh once</p><p>  checkAddNew = False</p><p>  cmdDel.Enabled = True</p><p>  cmdModi

125、fy.Enabled = True</p><p>  cmdAdd.Caption = "添加(&A)"</p><p>  txtOpID.Enabled = False</p><p>  cmdRefresh.Enabled = True</p><p>  dgdOp.Enabled = True<

126、/p><p>  checkAddNew = False</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  checkAddNew = True</p><p><b>  .AddNew<

127、/b></p><p>  .Fields(0).Value = Trim(txtOpID.Text)</p><p>  .Fields(1).Value = Trim(txtOpName.Text)</p><p>  .Fields(2).Value = Trim(txtOpPwd.Text)</p><p>  .Fields(

128、3).Value = Trim(cboOpGrade.Text)</p><p>  .Fields(4).Value = Trim(txtOpAddTime.Text)</p><p><b>  .Update</b></p><p>  MsgBox "Operator add success !", vbInform

129、ation + vbOKOnly</p><p>  .Filter = "cOperatorID<>''"</p><p>  cmdRefresh.Value = True 'To executer refresh once</p><p><b>  End With</b><

溫馨提示

  • 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)論