圖書館信息管理系統(tǒng)設(shè)計_第1頁
圖書館信息管理系統(tǒng)設(shè)計_第2頁
圖書館信息管理系統(tǒng)設(shè)計_第3頁
圖書館信息管理系統(tǒng)設(shè)計_第4頁
圖書館信息管理系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,企業(yè)要生存要發(fā)展,要高效率地把企業(yè)活動有機地組織起來,就必須加強企業(yè)管理,即加強對企業(yè)內(nèi)部的各種資源(人、財、物等)的有效管理,建立與自身特點相適應(yīng)的管理信息系統(tǒng)。本文介紹了在Java語言環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)(MIS)的過程。通過分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。文章詳細介紹了圖書館管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機構(gòu)分析、管理職能分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計;系統(tǒng)實現(xiàn)部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序。本系統(tǒng)界面友好,操作簡單,比較實用。關(guān)鍵詞:圖書管理系統(tǒng);數(shù)據(jù)庫設(shè)計;Java語言圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)THEDESIGNMENTANDACTUALIZATIONOFALIBRARYMANAGESYSTEMABSTRACTWithmoreandmorewidespreadandprofoundapplicationofinformationtechnologyinmanagement,theimplementofmanagementinformationsystemhasbecomematureintechnologystepbystep.Managinginformationsystemisanewsubject.Enterpriseneedsexistenceanddevelopment,soenterpriseactivitiesshouldbeorganizedefficientlyandorganically,whichmeanstighteninguptheenterprisemanagementandstrengtheningeffectivemanagementofanyresource(staff,finance,property,etc.)internaltheenterprise,andalsoestablishingamanagementinformationsystemfittinginwithitsowncharacteristics.ThisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentofJavalanguage,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforlibrarymanagementbycomputer,throughanalyzingdisadvantagesoftraditionallibrarymanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionoflibrarymanagementinformationincludesfeasibleanalysis,organizingorgansanalysis,managementfunctionanalysis,technologicalprocessofbusinessanalysis,technologicalprocessofdataanalysis,datadictionary,disposaldescriptionandthelike.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesign.Andthesystemrealizationsectionhasprovidedseveralmajorprogramcharts,togetherwiththemainwindowsandprograms.Thiseconomicalandpragmaticsystemhasexplicitinterface,withsimpleoperation.Keywords:librarymanagementsystem;databasedesignment;Javalanguage圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)TOC\o"1-5"\h\z\o"CurrentDocument"第1章引言- -1\o"CurrentDocument"本論文的設(shè)計目的就意義 ——-1\o"CurrentDocument"本論文研究的主要內(nèi)容 ---2\o"CurrentDocument"第2章研究現(xiàn)狀及設(shè)計目標(biāo)—— 3\o"CurrentDocument"課題研究的現(xiàn)狀 ----3\o"CurrentDocument"現(xiàn)行課題研究所存在的問題及解決方案 4\o"CurrentDocument"本系統(tǒng)的設(shè)計目標(biāo) 4\o"CurrentDocument"第3章要解決的幾個關(guān)鍵問題 5\o"CurrentDocument"當(dāng)前課題研究中要解決的問題 5MIS系統(tǒng)的開發(fā)方法 5MIS系統(tǒng)的開發(fā)過程 5系統(tǒng)前臺客戶端的實現(xiàn)技術(shù) 7系統(tǒng)后臺服務(wù)器的構(gòu)建 7\o"CurrentDocument"課題中所涉及的關(guān)鍵技術(shù)及其復(fù)雜性分析 ------ 7采用的關(guān)鍵技術(shù) 7數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 8數(shù)據(jù)庫設(shè)計中的范式分析 9第4章系統(tǒng)結(jié)構(gòu)與模型 -- --- 10\o"CurrentDocument"系統(tǒng)需求分析 10數(shù)據(jù)庫結(jié)構(gòu)分析 ------ 114.3數(shù)據(jù)庫表設(shè)計 4.3數(shù)據(jù)庫表設(shè)計 圖書館管理系統(tǒng)的設(shè)計與實現(xiàn) 12\o"CurrentDocument"第5章系統(tǒng)實現(xiàn)技術(shù) 16概述 ---- 16\o"CurrentDocument"系統(tǒng)模塊窗體 16主窗體構(gòu)建模塊 16系統(tǒng)各功能窗體實現(xiàn)模塊 18系統(tǒng)數(shù)據(jù)庫操作模塊 21\o"CurrentDocument"第6章性能測試與分析 24\o"CurrentDocument"應(yīng)用程序測試 24面向?qū)ο蟮膯卧獪y試 24單元測試策略 24系統(tǒng)測試環(huán)境和結(jié)果 ---- 25系統(tǒng)性能分析 ---- 25\o"CurrentDocument"參考文獻 26\o"CurrentDocument"致謝 27附錄附錄A開題報告附錄B外文資料原文附錄C外文資料譯文附錄D程序源代碼附錄E系統(tǒng)使用說明書圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第1章引言本論文的設(shè)計目的及意義隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可少的[1][2]。而當(dāng)今時代是一個飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這正是計算機被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,如果對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,數(shù)據(jù)信息處理工作量極大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找[3]?;谶@些問題,我認(rèn)為有必要建立一個圖書館管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改圖書情況。圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),系統(tǒng)結(jié)構(gòu)采用C/S架構(gòu),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面[4]。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫[5]。而對于后者則要求應(yīng)用程序功能完備,易于使用等特點。開發(fā)該軟件系統(tǒng)的一個目的是針對目前普遍的圖書管理系統(tǒng)存在的功能不全,操作復(fù)雜,系統(tǒng)要求高等一系列問題,而想設(shè)想一個具有個性化的圖書管理系統(tǒng)。該管理系統(tǒng)與MIS系統(tǒng)相聯(lián)系,在圖書館內(nèi)部建成可靠,方便,并且功能齊全的MIS系統(tǒng)。從而在圖書館對新舊書的反應(yīng);對書籍借閱的管理能力;對讀者和圖書館工作人員的管理能力;對圖書館管理人員軟件操作的適應(yīng)時間和操作感覺這些方面都將大大的提高。當(dāng)然對該軟件的態(tài)度是渴望獲得顯著的社會效益。開發(fā)該系統(tǒng)的另一個目的是使其具有強大的實用價值,即它可以滿足中小型圖書館的借閱與管理的需要。在一般的學(xué)校與科研機構(gòu),其下屬的很多分支的研究中心,試驗中心,各個學(xué)院,它們往往都有著自己的規(guī)模較大的圖書資料室。而這些圖書資料室由第1頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)于本身規(guī)模不大,因此其對書籍或資料的管理模式一般都比較舊,而且在沒有能力同時也沒有必要引進大型的圖書館管理軟硬件的基礎(chǔ)上,尋求一個針對中小型圖書館的管理軟件是必要的。本論文研究的主要內(nèi)容本次課題是針對企業(yè)或?qū)W校的圖書館書籍管理流程而詳細設(shè)計一個圖書館管理系統(tǒng)。結(jié)合作者對軟件的開發(fā)流程及開發(fā)工具的了解程度,同時考慮到軟件系統(tǒng)完成后的可維護性,系統(tǒng)將采用Java語言來實現(xiàn)。Java語言除了具有一般面向?qū)ο笳Z言的優(yōu)點外,還具有一次編寫,處處運行的突出優(yōu)點,大大加強了軟件系統(tǒng)的可移植性。管理信息系統(tǒng)(簡稱MIS)是介于信息論,經(jīng)濟管理理論,統(tǒng)計學(xué)與運籌學(xué)及計算機科學(xué)之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學(xué),它是隨著管理科學(xué),信息技術(shù),計算機技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來的⑹。圖書館管理系統(tǒng)就是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的應(yīng)用程序的開發(fā)兩個方面[7]。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應(yīng)用程序功能的完備,易于用等的特點?;谏鲜隹紤]本系統(tǒng)主要利用Eclipse作為前臺客戶端的應(yīng)用開發(fā)工具,而系統(tǒng)后臺服務(wù)器端的數(shù)據(jù)庫則采用微軟的Access2003數(shù)據(jù)庫,以WINDOWSXP作為系統(tǒng)開發(fā)平臺來開發(fā)此圖書館管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進行系統(tǒng)分析和設(shè)計的,而系統(tǒng)實現(xiàn)等步驟則采用了原型法和面向?qū)ο蟮姆椒?。文章中詳細介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機構(gòu)分析、管理職能分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計;系統(tǒng)實現(xiàn)部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序;系統(tǒng)測試部分則給出了系統(tǒng)前期開發(fā)完成后所采用的系統(tǒng)的測試方法與測試結(jié)果。第2頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第2章研究現(xiàn)狀及設(shè)計目標(biāo)課題研究的現(xiàn)狀本課題是專門針對中小企業(yè)或?qū)W校而設(shè)計一個圖書館管理系統(tǒng)。雖然現(xiàn)在已經(jīng)進入了信息化的時代,圖書館管理信息系統(tǒng)的開發(fā)技術(shù)也是在飛速的發(fā)展著,使得圖書館向社會提供了高質(zhì)量、高效率的服務(wù),在服務(wù)范圍、服務(wù)層次以及服務(wù)內(nèi)容方面均有著較大的創(chuàng)新,這也是知識經(jīng)濟時代對圖書館信息服務(wù)總的要求,但是在看到這些可喜的變化的同時,也應(yīng)該同樣注意到,由于經(jīng)濟,政治及文化發(fā)展不平衡等原因,現(xiàn)在有很多中小型圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找。而對這些中小型圖書館來說,由于規(guī)模不大,也不適合投入大量的資金來購置昂貴的軟硬件來改善工作坊式??偟膩碚f,缺乏系統(tǒng),規(guī)范并且廉價的信息管理手段。即使有一些中小型的圖書館已經(jīng)裝配了計算機,但是尚未用于信息管理,沒有發(fā)揮它的最大效力,資源閑置比較突出,這也是中小型管理信息系統(tǒng)開發(fā)的一個基本環(huán)境?,F(xiàn)行課題研究所存在的問題及解決方案數(shù)據(jù)處理手工操作的缺點是工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。基于這些問題,我認(rèn)為有必要建立一個專門針對中小型圖書館的信息管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改圖書情況。第3頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)通過系統(tǒng)開發(fā)前期的調(diào)研,作者認(rèn)為,要想比較好的解決上述問題,能否很好地控制住開發(fā)成本及系統(tǒng)運行成本是成功的關(guān)鍵所在。因此,在開發(fā)系統(tǒng)時所選用的技術(shù)及工具上,作者進行了認(rèn)真仔細的研究,最后結(jié)合系統(tǒng)的需求分析,決定采用Java語言來開發(fā)該系統(tǒng),前臺的開發(fā)工具選用免費且功能強大的Eclipse,而后臺數(shù)據(jù)庫則選用微軟的Access2003,從而可以很好的控制開發(fā)的成本,并且系統(tǒng)軟件的運行的硬件需求也是中小型圖書館可以接受的。本系統(tǒng)的設(shè)計目標(biāo)大學(xué)生活即將結(jié)束,經(jīng)過大學(xué)四年理論課程的學(xué)習(xí),以及校內(nèi)校外的實踐,極大的豐富了自身的理論基礎(chǔ),并且也具備了一些處理簡單問題的能力,但即將踏上社會的我深知這還遠遠不夠,因此我利用了畢業(yè)設(shè)計的機會,在老師的指導(dǎo)下去完成一個具有挑戰(zhàn)性的,其具體應(yīng)用及社會服務(wù)相結(jié)合的項目,深知通過對本課題所研究系統(tǒng)的設(shè)計與實現(xiàn),將,檢驗自己學(xué)習(xí)所得,進一步鞏固的所掌握知識,對我的能力有更高層次的突破,為進入社會工作打一個伏筆。希望通過對本課題的研究,開發(fā)出一個能滿足中小型圖書館一般需求的圖書館信息管理系統(tǒng)。在軟、硬件方面對系統(tǒng)的需求,軟件要求易學(xué),界面友好,容易掌握,可以很簡單方便的管理各種圖書信息。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前很多中小型的圖書館,從而使圖書館對新舊書的反應(yīng);對書籍借閱的管理能力;對讀者和圖書館工作人員的管理能力;對圖書館管理人員軟件操作的適應(yīng)時間和操作感覺這些方面都大大的提高,推進其圖書館管理工作信息化的腳步,利用自己在大學(xué)四年來學(xué)習(xí)的知識來為社會做出一定的貢獻。第4頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第3章要解決的幾個關(guān)鍵問題當(dāng)前課題研究中要解決的問題圖書館管理系統(tǒng)就是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的應(yīng)用程序的開發(fā)兩個方面。因此應(yīng)該首先了解一個MIS系統(tǒng)開發(fā)的方法及過程,然后對系統(tǒng)的前端應(yīng)用程序開發(fā)和后臺數(shù)據(jù)庫的建立分別進行分析與設(shè)計[8]。MIS系統(tǒng)的開發(fā)方法管理信息系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法等:(1)生命周期法(LifeCycleMethod)此方法是20世紀(jì)60年代發(fā)展起來的一種應(yīng)用廣泛且比較成熟的管理系統(tǒng)開發(fā)方法,它的基本思想是將系統(tǒng)的開發(fā)工作從開始到結(jié)束劃分為若干個階段,每個階段都有明確的任務(wù),而系統(tǒng)開發(fā)出來后,并不意味著生命周期的結(jié)束,而意味著根據(jù)組織的需要對系統(tǒng)的修改和重建的開始。(2)原型法(PrototypingMethod)此方法是20世紀(jì)80年代發(fā)展起來的,旨在改變生命周期法的缺點的一種系統(tǒng)開發(fā)方法,該法的開發(fā)思路是首先根據(jù)用戶的要求,由用戶和開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個系統(tǒng)模型,再在此基礎(chǔ)上與用戶交流,將模型不斷補充、修改、完善,如此反復(fù),最終直至用戶和開發(fā)者都比較滿意為止,從而形成一個相對穩(wěn)定、較為理想的管理信息系統(tǒng)。(3)面向?qū)ο?ObjectOriented)這種開發(fā)方法是于20世紀(jì)80年代開始興起的,是一種基于問題對象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點是以對象為基礎(chǔ),對象是分析問題和解決問題的核心。這也是本系統(tǒng)開發(fā)中所重點采用的開發(fā)方法。MIS系統(tǒng)的開發(fā)過程一個MIS系統(tǒng)的開發(fā)過程一般包括如下幾個步驟:(1)需求分析需求分析主要是了解用戶的需求。需求了解得越詳細,程序的后期開發(fā)與維護費用第5頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)就會越少。一般的開發(fā)團隊中,需求分析都是由資歷較深的系統(tǒng)分析員或項目經(jīng)理擔(dān)當(dāng),可見它的重要性。需求分析制訂好后,需要反復(fù)修改。將最后的結(jié)果交給用戶審定,確認(rèn)無誤后,由系統(tǒng)分析員完成需求分析文檔,再開始下一步工作。(2)概要設(shè)計概要設(shè)計緊跟在需求分析之后。用戶需求明確后,將得到的數(shù)據(jù)分析后,開始構(gòu)建數(shù)據(jù)庫的邏輯結(jié)構(gòu)。此時,數(shù)據(jù)庫中的表格還未成形,通過各種分析工具(如PowerDesigner等)畫出數(shù)據(jù)流圖,最后就可抽象出數(shù)據(jù)庫的具體表結(jié)構(gòu)。這時由系統(tǒng)分析人員反復(fù)審核。確認(rèn)所有的需求都考慮在內(nèi),沒有遺漏后,就可以開始制訂概要設(shè)計文檔。概要設(shè)計文檔形成后,整個程序的邏輯框架也就形成了。(3)詳細設(shè)計概要設(shè)計完成后,根據(jù)設(shè)計中制訂的業(yè)務(wù)模塊。就可以進行詳細分析設(shè)計了。詳細設(shè)計就是將各個業(yè)務(wù)模塊的窗口全部建好,各個窗口控件的處理代碼全部用語言表達出。所以詳細設(shè)計是整個系統(tǒng)中最繁瑣的環(huán)節(jié)。詳細設(shè)計完成后,整個程序就確定了,再由編程人員根據(jù)詳細設(shè)計文檔將代碼完成。整個開發(fā)工作就宣告結(jié)束。(4)程序編碼程序編碼相對于其他環(huán)節(jié)來說比較簡單,程序員只需要根據(jù)詳細分析文檔寫程序編碼,保證代碼沒有錯誤即可。程序編碼需要注意的是整個程序書寫中命名的規(guī)范化與編程風(fēng)格的規(guī)范化,這需要較長時間的培養(yǎng)來形成。需要在不斷的實踐中形成自己獨特的風(fēng)格??偟膩碚f,不要過分地追求復(fù)雜的算法,因為那可能會導(dǎo)致后期維護人員無法讀懂你的代碼而造成維護的困難。(5)測試與優(yōu)化程序編碼完成后,就需要測試。測試有幾種類型,主要是測試代碼有無邏輯錯誤以及在加載數(shù)據(jù)環(huán)境下程序的穩(wěn)定性問題。測試工作中發(fā)現(xiàn)的錯誤應(yīng)及時改正,然后將它記錄到測試文檔中。(6)打包發(fā)行測試完成,確認(rèn)無誤后。程序就可以打包發(fā)行了。此時系統(tǒng)正式提供給用戶使用,項目進入后期維護階段。以上是一個完整的MIS系統(tǒng)開發(fā)過程,其實不僅MIS系統(tǒng),其他類型的程序開發(fā)也基本相同。第6頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)系統(tǒng)前臺客戶端的實現(xiàn)技術(shù)系統(tǒng)前臺的實現(xiàn)方法可以有很多種選擇,最終作者在開發(fā)語言上選用了面向?qū)ο蟮腏ava編程語言,開發(fā)工具選用的是開源工具Eclipse。當(dāng)1995年SUN推出Java語言之后,全世界的目光都被這個神奇的語言所吸引。那么Java到底有何神奇之處呢?概括來說,Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的,安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的,多線程的,動態(tài)的語言[9]。除了上述種種Java的令人著迷的語言特性,它還是一種在開源社區(qū)特別受到歡迎的語言,互聯(lián)網(wǎng)上可供Java使用的免費工具非常多,尤其是開發(fā)工具Eclipse,它是一種開源但功能十分強大的軟件開發(fā)工具,通過采用Eclipse來開發(fā)Java程序,可以大幅度的節(jié)約開發(fā)成本,這也解決了阻礙中小型圖書館管理信息化進程的一個主要的問題。系統(tǒng)后臺服務(wù)器的構(gòu)建本系統(tǒng)的后臺數(shù)據(jù)庫采用的是微軟公司的Access2003數(shù)據(jù)庫。Access2003是微軟公司Office2003中文版套裝軟件中的關(guān)系數(shù)據(jù)庫軟件,是Access2000的重要升級。它繼承了前期版本的各項優(yōu)點,在Windows系列操作系統(tǒng)的支持下,以其友好的操作界面、強大的開發(fā)能力及完善的網(wǎng)絡(luò)功能得到了用戶的一致好評。Access是一個典型的開放式數(shù)據(jù)庫系統(tǒng),它可以和Windows系統(tǒng)下的其他應(yīng)用程序共享數(shù)據(jù)庫資源,支持多媒體技術(shù),并可將聲音、圖片以及動畫圖象等存放在數(shù)據(jù)庫中。提供了一個功能強大、使用方便靈活的信息管理環(huán)境,在用戶和數(shù)據(jù)之間架起了一個橋梁,使得用戶對數(shù)據(jù)的存取、分類和查看更為容易[10]。Access數(shù)據(jù)庫其實是一種文件數(shù)據(jù)庫。雖然Access的性能是比較差的。而且安全性很低,但它對系統(tǒng)的要求不高,維護起來比較簡單,而且費用比較低。另外,它相對其他數(shù)據(jù)庫而言,AccessODBC驅(qū)動程序所支持的SQL指令最齊全,因此本系統(tǒng)數(shù)據(jù)庫選用Access2003作為后臺的數(shù)據(jù)庫。課題中所涉及的關(guān)鍵技術(shù)及其復(fù)雜性分析采用的關(guān)鍵技術(shù)目前較為流行的MIS開發(fā)方法是結(jié)構(gòu)化生命周期開發(fā)方法,其基本思想是:用系統(tǒng)的思想和系統(tǒng)工程的方法,按用戶至上的原則,結(jié)構(gòu)化、模塊化地自上而下對生命周期進行分析與設(shè)計。依據(jù)圖書館管理系統(tǒng)的特點以及本人對開發(fā)工具的熟悉程度,本系統(tǒng)采用面向?qū)ο蟮南到y(tǒng)開發(fā)方法。確定系統(tǒng)的開發(fā)方法對之后的設(shè)計實現(xiàn)奠定了堅實的基第7頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)礎(chǔ),從而實現(xiàn)對系統(tǒng)構(gòu)建過程中所需關(guān)鍵技術(shù)的選定。面向?qū)ο蟮南到y(tǒng)開發(fā)方法(OO,ObjectOriented),是近年來受到關(guān)注的一種系統(tǒng)開發(fā)方法[11]。面向?qū)ο蟮南到y(tǒng)開發(fā)方法的基本思想是將客觀世界抽象地看成是若干相互聯(lián)系的對象,然后根據(jù)對象和方法的特性研制出一套軟件工具,使之能夠映射為計算機軟件系統(tǒng)結(jié)構(gòu)模型和進程,從而實現(xiàn)信息系統(tǒng)的開發(fā)。數(shù)據(jù)庫結(jié)構(gòu)設(shè)計一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計是其中一個非常重要的條件和關(guān)鍵技術(shù),甚至可以說數(shù)據(jù)庫設(shè)計的好壞直接決定著一個信息管理系統(tǒng)成功。本系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計與加載測試[11]。(1)數(shù)據(jù)庫需求分析的任務(wù)是將業(yè)務(wù)管理工作流程轉(zhuǎn)化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應(yīng)的數(shù)據(jù)字典[12]。(2)概念設(shè)計的任務(wù)是從DFD出發(fā),繪制出本主題的實體一關(guān)系圖,并列出各個實體與關(guān)系的綱要表。(3)邏輯設(shè)計的任務(wù)是從E-R圖與對應(yīng)的綱要表出發(fā),確定各個實體及關(guān)系的表名屬性。(4)物理設(shè)計的任務(wù)是確定所有屬性的類型、寬度與取值范圍,設(shè)計出基本表的主鍵,將所有的表名與字段名英文化,實現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設(shè)計字典。(5)加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。要設(shè)計出一個好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則:(1)基本表的個數(shù)越少越好。(2)主鍵的個數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。(3)字段的個數(shù)越少越好。(4)所有基本表的設(shè)計均應(yīng)盡量符合第三范式。嚴(yán)格按照上述流程與規(guī)則,結(jié)合前期進行的需求分析進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。系統(tǒng)數(shù)據(jù)庫設(shè)計時要綜合圖書館的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的第8頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計中的范式分析數(shù)據(jù)庫設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的[13]。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計的步驟是:(1)數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機事務(wù)處理CLTP(負責(zé)對事務(wù)數(shù)據(jù)進行采集、處理、存儲)的操作型DBMS,有的可支持?jǐn)?shù)據(jù)倉庫、有聯(lián)機分析處理CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的DBMS,進行數(shù)據(jù)庫結(jié)構(gòu)定義。(2)數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應(yīng)根據(jù)應(yīng)用環(huán)境和條件來決定[14]。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關(guān)信息、操作責(zé)任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。(3)存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性[15]。(4)數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。(5)數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護和修改。以上設(shè)計完成后數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)設(shè)計工作基本完成,只待系統(tǒng)實現(xiàn)時將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計的數(shù)據(jù)整體關(guān)系結(jié)構(gòu)中,一個規(guī)范化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)就建立起來了。第9頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第4章系統(tǒng)結(jié)構(gòu)與模型本系統(tǒng)以C/S結(jié)構(gòu)實現(xiàn),并且考慮到中小圖書館的實際情況,不能也沒有必要購買昂貴的硬件服務(wù)器,因此采用胖客戶機/瘦服務(wù)器的模式,將計算主要集中在前臺客戶端,后臺的數(shù)據(jù)庫只是負責(zé)數(shù)據(jù)的存儲工作。接下來就對所要開發(fā)的系統(tǒng)進行分析研究。4.1系統(tǒng)需求分析整個軟件生命周期中,開發(fā)所占的費用和時間都很小。后期維護工作一般要占整個軟件生命周期的80%以上。所以系統(tǒng)分析很重要,一個好的系統(tǒng)分析可以減少很多后期維護工作。而設(shè)計一個性能良好的數(shù)據(jù)庫系統(tǒng),明確應(yīng)用環(huán)境對系統(tǒng)的要求是首要的和最基本的。特別是數(shù)據(jù)應(yīng)用非常廣泛,非常復(fù)雜,要是事先沒有對信息進行充分和細致的分析,這種設(shè)計就很難取得成功。通過需求分析階段對圖書管理系統(tǒng)的整個應(yīng)用情況作全面的、詳細的調(diào)查,確定圖書管理的目標(biāo),收集支持系統(tǒng)總的設(shè)計目標(biāo)的基礎(chǔ)數(shù)據(jù)和對這些數(shù)據(jù)的要求,確定用戶的需求,并把這些寫成用戶和數(shù)據(jù)庫設(shè)計者都能夠接受的文檔。事實上,需求分析是數(shù)據(jù)庫開發(fā)中最難的任務(wù)之一。因為,第一,系統(tǒng)本身是可變的,用戶的需求必須不斷調(diào)整,使之與這種變化相適應(yīng)。第二,用戶很難說清某部分工作的功能處理過程。所以,設(shè)計人員必須認(rèn)識到:在整個需求分析以及系統(tǒng)設(shè)計過程中,用戶參與的重要性,通過各種方法展開調(diào)查分析。圖書管理系統(tǒng)需要滿足來自三方面的需求,這三個方面分別是圖書借閱管理員、圖書館書籍管理人員和圖書館系統(tǒng)管理員。圖書借閱管理員的需求是查詢圖書館所存的圖書、發(fā)放并管理圖書證、完成借書還書的相關(guān)操作、罰款清繳等;圖書館書籍管理人員對圖書館館內(nèi)所藏圖書進行管理,同時形成書籍報表以作分析;圖書館系統(tǒng)管理員的功能最為復(fù)雜,包括對工作人員、圖書借閱者、圖書進行管理和維護,及系統(tǒng)狀態(tài)的查看、維護并生成催還圖書報表等,該角色應(yīng)該具有系統(tǒng)全部的權(quán)限[16。歸納一下,系統(tǒng)所應(yīng)完成的功能有:(1)系統(tǒng)管理:實現(xiàn)對系統(tǒng)操作員管理、系統(tǒng)參數(shù)配置、系統(tǒng)安全管理及切換用戶的相關(guān)操作。第10頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)③乂力考圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)(2)圖書管理:實現(xiàn)對書籍信息的添加和維護的管理操作。(3)證件管理:實現(xiàn)對借閱證的發(fā)放、維護和注銷的管理操作。(4)借書管理:實現(xiàn)對書籍出借、續(xù)借和出借信息的維護的管理操作。(5)還書管理:實現(xiàn)對書籍還入和過期罰款的管理操作。(6)信息一覽:實現(xiàn)對書籍信息、借閱信息、讀者信息以及催還清單進行方便察看的相關(guān)查詢。(7)軟件信息:軟件版本說明及客服聯(lián)系方式。數(shù)據(jù)庫結(jié)構(gòu)分析根據(jù)以上的需求分析,開始設(shè)計數(shù)據(jù)結(jié)構(gòu),即根據(jù)需求勾畫出系統(tǒng)的數(shù)據(jù)流圖。系統(tǒng)的頂層數(shù)據(jù)流圖如圖4.1所示。圖4.1圖4.1系統(tǒng)頂層數(shù)據(jù)流圖系統(tǒng)將登錄用戶分為三種權(quán)限,分別是:系統(tǒng)管理員,圖書操作員和借閱操作員。其中系統(tǒng)管理員具有最高權(quán)限,可以操作系統(tǒng)中的所有功能,包括添加系統(tǒng)用戶。圖書操作員為一種權(quán)限受控角色,其職能為向系統(tǒng)添加圖書并對書庫中的已有書籍的信息進行維護。借閱操作員也是一種權(quán)限受控角色,其主要職能為管理圖書證的發(fā)放,掛失與注銷,進行借書管理和還書管理的相關(guān)操作,察看系統(tǒng)的圖書信息,借閱信息和讀者信息,生成催還清單和完成罰款的清繳工作。根據(jù)需求分析及權(quán)限劃分,可畫出系統(tǒng)得0第11頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)圖4.2第0層數(shù)據(jù)流圖圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)圖4.2第0層數(shù)據(jù)流圖其中書籍操作員的系統(tǒng)流程圖較易理解,在此給出關(guān)于借閱操作員的數(shù)據(jù)流圖如圖所示。系統(tǒng)管理員的數(shù)據(jù)流圖與借閱操作員的類似,但是多了管理系統(tǒng)登錄用戶和添加書籍的功能,為節(jié)約篇幅,不再復(fù)述。數(shù)據(jù)庫表設(shè)計現(xiàn)在需要將上面所描述的數(shù)據(jù)庫概念結(jié)構(gòu)化為Access2003數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。數(shù)據(jù)庫設(shè)計有幾個范式,一般我們要做到的是第三范式,即數(shù)據(jù)表中沒有冗余字段以及同一個表中的字段沒有函數(shù)依賴關(guān)系,冗余字段即在一個表中已經(jīng)保存過的信息,在另一個表中就不應(yīng)該存在,如果需要的話,可以通過表間的關(guān)聯(lián)來得到,函數(shù)依賴性就是一個表中的字段間不應(yīng)該有計算關(guān)系,如一個表中有單價字段、數(shù)量字段,就不應(yīng)第12頁共27頁圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)讀者庫文件 借閱記錄圖4.3圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)讀者庫文件 借閱記錄圖4.3借閱操作員部分?jǐn)?shù)據(jù)流圖該有一個總金額字段。如果程序運行過程中需要總金額,可以實時計算。不過在一些較常用的表中,我們可以適當(dāng)?shù)乇A羧哂嘧侄?,這樣,在程序運行過程中可以減少由于表間互相關(guān)聯(lián)而使用速度降低等問題。這就是所謂的第四范式。數(shù)據(jù)表設(shè)計時,最好不要使用用戶輸入的信息作為主鍵,每一個數(shù)據(jù)表自己定義一個主鍵,添加信息是由程序自動添加,這樣就可以減少數(shù)據(jù)更新時產(chǎn)生的錯誤。表與表相關(guān)聯(lián)的外鍵最好是由程序自動生成的主鍵,這樣數(shù)據(jù)庫就比較規(guī)范了。數(shù)據(jù)庫初期設(shè)計時一定要謹(jǐn)慎,把所有可能的情況都考慮進去,即使當(dāng)時沒有用到,也要將它留在數(shù)據(jù)庫中作為備用字段以便將來擴充。程序一旦開始編碼,就應(yīng)該盡量避免再修改數(shù)據(jù)庫。因為如果數(shù)據(jù)庫結(jié)構(gòu)一旦改變,所有與修改的數(shù)據(jù)表相關(guān)的業(yè)務(wù)都有可能受到影響,而某些影響還很難看到,這樣就容易形成一個惡性循環(huán)。錯誤越改越多,越改越亂,最終導(dǎo)致程序的失敗系統(tǒng)數(shù)據(jù)庫設(shè)計時綜合了圖書館的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,以設(shè)計出規(guī)模適當(dāng)、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型為目標(biāo),最終得到如下六張數(shù)據(jù)庫表,可以滿足當(dāng)前設(shè)計系統(tǒng)的全部需求。各張表的詳細設(shè)計如下所示。第13頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)(1)BOOKINFO:書籍信息表,詳細設(shè)計如圖4.4所示,圖中各字段名稱前鑰匙狀標(biāo)識表示主鍵,以下若有雷同不再單獨說明。字段名稱數(shù)據(jù)類型BOOT:ID交本書籍工口(不可為空)BOOXNOE交本書籍名稱〔不可為空)EOOJCAUTHOR交本書籍作者C不可為空)BOOKCLASS交本書籍類別BOOK_FITBLLSH交市出版社匚E數(shù)字價格C不可為空)BCiOJCFITBEESHDATE日期『時間出版日期BOOXINTO交本書籍簡介EOOJCIffDATE日期『時間入庫時間C不可為空)BOOK_STATE交本書籍狀態(tài)愚t認(rèn)為“在架”〕圖4.4書籍信息表⑵BORROWINFO:借閱信息表,詳細設(shè)計如圖4.5所示。字段名稱數(shù)據(jù)類型匚AMJD史本借書證號(不可為空J(rèn)BOKROWDATE日期/時間惜出日明[不可為空】BCiKROW.RETUOTATE日期『時間應(yīng)還日明(不可為空】BOOE_ID更本書籍編號(不可為空3圖4.5借閱信息表(3)CARDMANAGER:證件信息表,詳細設(shè)計如圖4.6所示。字段名稱數(shù)據(jù)類型CMCDID交本圖書證號碼(不可為空)CMCDNOE交本持去大姓名(不可為王)CMCD_EEFART交市持木人所在部門1不口」為空J(rèn)CMUJ_AID交本持卡人現(xiàn)住址匚的FHDHE交本持天人聯(lián)系電話匚煙)CLASS交本卡種(不可為空)CMCDSTATE交本狀態(tài)CMCD_EA.TE日期/時間注冊日期【不可為空)圖4.6證件信息表⑷LOGIN:系統(tǒng)用戶信息表,詳細設(shè)計如圖4.7所示。字段名稱數(shù)據(jù)類型USERID神用戶口(不可為空)F0TED0M史本用戶權(quán)F艮〔不可為空)U5IEPASSN0KD型本用尸密碼〔不可為空)圖4.7系統(tǒng)用戶信息表第14頁共27頁圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)◎乂力D比號圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)OPTION:系統(tǒng)配置參數(shù)表,詳細設(shè)計如圖4.8所示。字段名稱數(shù)據(jù)類型匚□MMIZilISOOKAM0UBT數(shù)字普逋含員借書上眼(不可為空)SUTER_BOOE_AMOUUT數(shù)字高皴含員借書數(shù)量上限(不可為空)匚則嘰口燈小口師數(shù)字含逋金員借書天數(shù)上限(不可為空)SUTERDAYAMOUNT數(shù)字高級合員借書天數(shù)上限(不可為空)FINISH加皿數(shù)字罰金謾置(不可為空)C0HTI1IUIDAIAMOUNT數(shù)字續(xù)借天數(shù)上限C不可為空)OFTIOMII)文本規(guī)則口(不可為空3圖4.8系統(tǒng)配置參數(shù)表PUNISHINFO:借閱超期罰款信息表,詳細設(shè)計如圖4.9所示。字段名稱數(shù)據(jù)類型FinnsHsum數(shù)字宜CkRE_ID文本罰款總領(lǐng)(不可為空)借書證號(不可為空)圖4.9借閱超期罰款信息表第15頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第5章系統(tǒng)實現(xiàn)技術(shù)概述經(jīng)過系統(tǒng)分析和總體設(shè)計后,圖書館管理系統(tǒng)實現(xiàn)的前期工作已經(jīng)完成,接下來使用工具把各個模塊的功能加以實現(xiàn)。本系統(tǒng)采用Java語言實現(xiàn),利用其其強大的面向?qū)ο筇匦?,根?jù)系統(tǒng)開發(fā)前期的系統(tǒng)分析,將圖書管理系統(tǒng)的各個功能模塊進行了封裝,并在編碼過程中嚴(yán)格遵守編碼規(guī)范,力求使所編寫的代碼結(jié)構(gòu)清晰,易讀易懂,從而大大加強了系統(tǒng)的可維護性。本章將系統(tǒng)實現(xiàn)的過程做詳細記載,圖文共存,且對系統(tǒng)功能作了透徹分析,易于理解。系統(tǒng)模塊窗體圖書館管理系統(tǒng)共包括八大模塊:系統(tǒng)管理模塊、圖書管理模塊、證件管理模塊、借書管理模塊、還書管理模塊、信息一覽模塊、數(shù)據(jù)操作模塊以及系統(tǒng)主窗體構(gòu)建模塊。下面以圖文結(jié)合的方式介紹各個模塊主要的實現(xiàn)技術(shù)方案。主窗體構(gòu)建模塊圖5.1系統(tǒng)登錄窗口本系統(tǒng)采用C/S架構(gòu),客戶端支持多用戶登錄,為確保系統(tǒng)安全,每次啟動時會自動彈出用戶登錄窗口,如圖5.1圖5.1系統(tǒng)登錄窗口此時應(yīng)在對應(yīng)的輸入欄內(nèi)填入相應(yīng)的系統(tǒng)用戶ID和密碼,然后點擊登錄按鈕登錄系統(tǒng)。系統(tǒng)將根據(jù)所客戶機端填入的用戶ID在服務(wù)器端進行判斷,以確定登錄用戶權(quán)限種別。以系統(tǒng)管理員為例,成功登錄系統(tǒng)后系統(tǒng)的顯示界面如圖5.2所示。第16頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)圖5.2系統(tǒng)管理員成功登陸界面圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)圖5.2系統(tǒng)管理員成功登陸界面系統(tǒng)的登錄權(quán)限的判定和分配主要在此模塊內(nèi)實現(xiàn),而權(quán)限判定又是系統(tǒng)的核心功能之一,其實現(xiàn)的主要源代碼如下。classBookManagerMain_this_windowAdapterextendsjava.awt.event.WindowAdapter{BookManagerMainadaptee;BookManagerMain_this_windowAdapter(BookManagerMainadaptee){this.adaptee=adaptee;)publicvoidwindowOpened(WindowEvente){adaptee.this_windowOpened(e);))classBookManagerMain_jMenuItemLogIn_actionAdapterimplementsjava.awt.event.ActionListener{BookManagerMainadaptee;BookManagerMain_jMenuItemLogIn_actionAdapter(BookManagerMainadaptee){this.adaptee=adaptee;)publicvoidactionPerformed(ActionEvente){adaptee.jMenuItemLogIn_actionPerformed(e);第17頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)))權(quán)限判定的操作被封裝在setEnable()函數(shù)中,再系統(tǒng)主窗體構(gòu)建時進行調(diào)用來進行權(quán)限判定,從而保證了系統(tǒng)的安全。privatevoidinitialize(){this.setSize(517,295);this.setContentPane(getJPanel());this.setBackground(newjava.awt.C010r(204,204,204));this.setResizable(false);this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);this.setJMenuBar(getJJMenuBar());this.setTitle("圖書館管理系統(tǒng)");this.addWindowListener(newBookManagerMain_this_windowAdapter(this));)系統(tǒng)各功能窗體實現(xiàn)模塊系統(tǒng)的各個功能模塊均是構(gòu)建在系統(tǒng)主窗體上的,其核心的功能模塊的主要實現(xiàn)窗體和代碼如下所述[19。限于篇幅,詳細的窗體設(shè)計樣式和完整的源代碼請參見附錄。下面僅以證件管理模塊中的注冊圖書證為例說明。系統(tǒng)圖書證注冊的關(guān)鍵功能即為向系統(tǒng)內(nèi)添加一條新記錄,這一個過程要涉及到讀者信息表的查詢及插入操作,具體實現(xiàn)代碼如下。voidjButtonOK_mouseClicked(MouseEvente){//校驗書名是否為空if(CARD_ID.getText().trim().equals("")){JOptionPane.showMessageDialog(null,”圖書證編號不許為空!");return;)if(CARD_NAME.getText().trim().equals("")){JOptionPane.showMessageDialog(null,”持卡人名稱不許為空!");return;第18頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)//判斷圖書證編號是否重復(fù)StringstrSQL;strSQL="select*fromCARDMANAGERwhereCARD_ID='"+CARD_ID.getText().trim()+"'";rs=db.getResult(strSQL);booleanisexist=false;try(isexist=rs.first();}catch(SQLExceptionex1){)//若用戶名存在,提示警告信息if(isexist){JOptionPane.showMessageDialog(null,”此圖書證編號已經(jīng)被占用,請更換其它未使用編號!)CARD」D.setText("");CARD_NAME.setText("");CARD_DEPART.setText("");CARD_DATE.setText("");CARD_PHONE.setText("");CARD_ADD.setText("");CARD_STATE.setSelectedItem('綜合性圖書");CARD_CLASS.setSelectedItem("綜合性圖書");return;}//生成sql操作語句else{strSQL="insert into CARDMANAGER(CARD_ID,CARD_NAME,CARD_DEPART,CARD_DATE,CARD_PHONE,CARD_ADD,CARD_STATE,CARD_CLASS)"第19頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)+"values。";strSQL=strSQL+CARD_ID.getText().trim()+"','"+CARD_NAME.getText().trim()+"',";strSQL=strSQL+"'"+CARD_DEPART.getText().trim()+"','"+CARD_DATE.getText().trim()+"',";strSQL=strSQL+"'"+CARD_PHONE.getText().trim()+"','"+CARD_ADD.getText().trim()+"','"+CARD_STATE.getSelectedItem().toString().trim()+"','"+CARD_CLASS.getSelectedItem().toString().trim()+"')";//由數(shù)據(jù)庫操作對象執(zhí)行數(shù)據(jù)庫操作,并返回操作成功失敗的提示信息if(db.executeSql(strSQL)){JOptionPane.showMessageDialog(null,"添力口操作成功!");CARD_ID.setText("");CARD_NAME.setText("");CARD_DEPART.setText("");CARD_DATE.setText("");CARD_PHONE.setText("");CARD_ADD.setText("");CARD_STATE.setSelectedItem('綜合性圖書");CARD_CLASS.setSelectedItem("綜合性圖書");return;}else{JOptionPane.showMessageDialog(null,"辦證日期不可為空,請重新操作!);CARD_ID.setText("");CARD_NAME.setText("");CARD_DEPART.setText("");CARD_DATE.setText("");CARD_PHONE.setText("");CARD_ADD.setText("");第20頁共27頁圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)CARD_STATE.setSelectedItem('綜合性圖書");CARD_CLASS.setSelectedItem("綜合性圖書");return;)))其實現(xiàn)窗體如圖5.3所示。圖5.3添加圖書信息界面系統(tǒng)數(shù)據(jù)庫操作模塊系統(tǒng)設(shè)計時,為保證系統(tǒng)的可維護性和可升級行,對系統(tǒng)后臺數(shù)據(jù)庫的連接和操作代碼進行了單獨的封裝,保證了系統(tǒng)可以在后期進行方便的數(shù)據(jù)庫升級,提高系統(tǒng)性能。其數(shù)據(jù)庫操作模塊的主要實現(xiàn)代碼如下。packagebookmanager;//引入sql包importjava.sql.*;//數(shù)據(jù)庫操作類publicclassDBManager{〃定義返回結(jié)果集ResultSetrs;//創(chuàng)建指定數(shù)據(jù)庫的URL第21頁共27頁

圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)Stringstrurl="jdbc:odbc:LibraryDB";//缺省構(gòu)造方法publicDBManager(){}〃查詢方法,返回查詢結(jié)果集publicResultSetgetResult(Stringsql){try{//加載驅(qū)動程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");〃創(chuàng)建連接Connectionconn二DriverManager.getConnection(strurl);//創(chuàng)建statement對象Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//執(zhí)行SQL語句,返回結(jié)果集ResultSetrs二stmt.executeQuery(sql);System.out.println("executeSql "+sql);//返回returnrs;}〃異常處理catch(Exceptione){System.out.println("getResult "+e.toString());〃若有異常,返回nullreturnnull;}}〃執(zhí)行更新,刪除語句方法publicbooleanexecuteSql(Stringsql){try{第22頁共27頁圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)//加載驅(qū)動程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");〃創(chuàng)建連接Connectionconn二DriverManager.getConnection(strurl);//創(chuàng)建statement對象Statementstmt二conn.createStatement();//執(zhí)行SQL語句,返回結(jié)果集stmt.executeUpdate(sql);System.out.println("executeUpdate "+sql);//提交到數(shù)據(jù)庫mit();//返回true,表示操作成功returntrue;)catch(Exceptione){System.out.println("executeSql "+e.toString());//返回false,表示操作失敗returnfalse;)))第23頁共27頁圖書館管理系統(tǒng)的設(shè)計與實現(xiàn)第6章性能測試與分析應(yīng)用程序測試測試軟件的經(jīng)典策略是,從“小型測試開始”,逐步過度到“大型測試”。用軟件測試的專用術(shù)語,就是從單元測試開始,逐步進入集成測試,最后進行確認(rèn)測試和系統(tǒng)測試。對于傳統(tǒng)的軟件系統(tǒng)測試來說,單元測試集中測試最小的可編譯的程序單元(過程模塊),一旦把這些單元測試完之后,就把她們集中到程序結(jié)構(gòu)中去;在集中過程中還進行一系列系統(tǒng)作為一個整體測試,以發(fā)現(xiàn)軟件需求錯誤[20]。測試面向?qū)ο筌浖牟呗耘c上述策略基本相同,但也有許多新特點。面向?qū)ο蟮膯卧獪y試當(dāng)考慮面向?qū)ο蟮能浖r,單元的概念改變了?!胺庋b”導(dǎo)致了類和對象的定義,這意味著類和類的實例(對象)包括了屬性(數(shù)據(jù))和處理這些數(shù)據(jù)的操作(也成為方法或服務(wù))。現(xiàn)在,最小可測試單元是封裝起來的類和對象。一個類可以包含一組不同的操作,而一個特定的操作也可能存在于一組不同的類中。因此,對于面向?qū)ο蟮能浖碚f,單元的測試的含義發(fā)生了很大的變化[21]。測試面向?qū)ο蟮能浖r,不能再孤立的測試單個操作,而應(yīng)該把操作作為類的一部分來測試。例如,假設(shè)有一個類層次,操作X在超類中定義并被一組子類繼承,每個子類都使用操作X,但是,X調(diào)用子類中定義的操作并處理子類的私有屬性。由于在不同的子類中使用操作X的環(huán)境有微妙的差別,因此有必要在每個子類的語境中測試操作X。這就說明,當(dāng)測試面向?qū)ο筌浖r,傳統(tǒng)的單元測試方法是不適用的,不能再在“真空”中(即孤立地)測試單個測試。單元測試策略本系統(tǒng)編碼完成后采用面

溫馨提示

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

評論

0/150

提交評論