版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGEIV圖書館管理信息系統(tǒng)摘要目前,社會上流行的圖書管理系統(tǒng)已經(jīng)有很多,包括各種各樣學(xué)校的圖書館管理和國家圖書館管理等。圖書館員不能及時了解圖書館各類圖書的借閱情況,讀者需要借閱。所需圖書在短時間內(nèi)難以找到,不便于動態(tài)、及時地調(diào)整圖書結(jié)構(gòu)。為了更好地為教育服務(wù),把握學(xué)生的需求,做好服務(wù)工作。隨著信息時代的到來,信息浪潮和網(wǎng)絡(luò)革命不僅給社會帶來了沖擊,也給圖書館事業(yè)帶來了強烈的沖擊。傳統(tǒng)的圖書館管理和服務(wù)模式已不能滿足讀者日益增長的文獻信息需求。隨著館藏量的不斷增加,圖書資料的錄入和查詢的難度相應(yīng)增加,數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改的手工方式,已經(jīng)不能滿足要求。本文介紹了在JAVA環(huán)境采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理系統(tǒng)的過程。通過分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。文檔詳細介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、系統(tǒng)分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計;系統(tǒng)實現(xiàn)部分列出了新書添加、圖書借閱、圖書歸還、圖書檢索、讀者管理、圖書管理等主要的程序框圖,并附帶了一些主要的窗口和程序。此論文設(shè)計的圖書館管理系統(tǒng)對書籍、讀者資料、借還書等信息有高效的管理能力。使用該程序后,工作人員可以查詢讀者和圖書的借閱情況,也可以對圖書借閱的現(xiàn)狀進行一些統(tǒng)計,從而全面掌握圖書的流通情況。關(guān)鍵詞:書管理系統(tǒng);瀏覽器;動態(tài)網(wǎng)頁技術(shù);數(shù)據(jù)庫
AbstractAtpresent,therearemanypopularlibrarymanagementsystemsinsociety,includingthelibrarymanagementofvariousschoolsandthemanagementofnationallibraries.Librarianscannottimelyunderstandthelibrary'svariousbooksborrowingsituation,readersneedtoborrow.Therequiredbooksaredifficulttofindinashorttime,whichisnotconvenientfordynamicandtimelyreadjustmentofthebookstructure.Inordertobetterserveeducation,grasptheneedsofstudentsanddoagoodjobinservice.Withtheadventoftheinformationage,theinformationwaveandthenetworkrevolutionhavenotonlybroughtashocktothesociety,butalsobroughtastrongimpacttothecauseoflibraries.Thetraditionalmodeoflibrarymanagementandservicecannotmeettheincreasingdemandofreadersforliteratureandinformation.WiththeincreasingofLibrarycollection,thedifficultyofinputtingandinquiringbooksandmaterialsincreasescorrespondingly.Themanualoperationofdataprocessinghasalargeworkloadandahigherrorrate.Themanualmethodwhichisnoteasytochangeaftermistakescannolongermeettherequirements.Thispaperintroducestheprocessofdevelopingamanagementsystemwiththestrategyof"top-downmasterplan,bottom-upapplicationdevelopment"inJAVAenvironment.Byanalyzingtheshortcomingsoftraditionalmanuallibrarymanagement,aneffectiveschemeofcomputerlibrarymanagementisestablished.Thedocumentintroducesthesystemanalysispartofthelibrarymanagementinformationsystemindetail,includingfeasibilityanalysis,systemanalysis,businessprocessanalysis,dataprocessanalysis,etc.Thesystemdesignpartmainlyintroducesthesystemfunctiondesignanddatabasedesign;thesystemimplementationpartlistsnewbookaddition,bookborrowing,bookreturn,etc.Themainprogramblockdiagramsofbookretrieval,readermanagementandbookmanagementareattachedwithsomemainwindowsandprocedures.Thelibrarymanagementsystemdesignedinthispaperhasanefficientmanagementabilityforbooks,reader'sinformation,borrowingandreturningbooksandotherinformation.Afterusingtheprogram,thestaffcaninquireabouttheborrowingsituationofareaderandabook,andcanalsomakesomestatisticsonthecurrentsituationofbookborrowing,soastofullygraspthecirculationofbooks.Keywords:bookmanagementsystem;browser;dynamicwebtechnology;database目錄摘要 IAbstract II第1章緒論 11.1研究背景 11.2研究意義 11.3國內(nèi)外研究現(xiàn)狀 21.3.1國外研究現(xiàn)狀 21.3.2國內(nèi)研究現(xiàn)狀 21.4開發(fā)技術(shù) 21.4.1JAVA簡介 21.4.2B/S結(jié)構(gòu)介紹 3第2章系統(tǒng)分析 52.1需求分析 52.2可行性分析 52.2.1技術(shù)可行性 52.2.2經(jīng)濟可行性 52.2.3操作可行性分析 62.3圖書借閱管理系統(tǒng)需求模型 6第3章總體設(shè)計 83.1數(shù)據(jù)庫設(shè)計 83.2數(shù)據(jù)流圖 103.3邏輯結(jié)構(gòu)設(shè)計 133.4系統(tǒng)總體結(jié)構(gòu)設(shè)計 153.4.1圖書管理系統(tǒng)總體結(jié)構(gòu)圖 163.4.2用戶管理員模塊功能 163.4.3圖書管理員模塊功能 173.4.4讀者管理模塊功能 173.4.5借閱者模塊功能 17第4章系統(tǒng)程序設(shè)計與編碼 184.1登錄窗口與主窗體 184.1.1系統(tǒng)登錄窗體的創(chuàng)建 184.1.2主窗體的運行界面 194.2主窗體調(diào)用各個模塊部分 204.2.1讀者管理 204.2.2圖書管理 254.2.3流通管理 284.2.4查詢分析 314.2.5賬號管理 38第5章系統(tǒng)測試與運行 425.1測試的目的 425.2單元測試 425.2.1讀者管理測試 425.2.2圖書管理測試 435.2.3系統(tǒng)管理測試 445.3數(shù)據(jù)庫測試 44結(jié)論 45參考文獻 45致謝 47PAGE39第1章緒論1.1研究背景隨著計算機技術(shù)的飛速發(fā)展,計算機所在生活中的應(yīng)用的普及,利用計算機實現(xiàn)圖書的管理勢在必行。如何以一種新的管理方式提高圖書流通信息的反饋速度,降低庫存占用,加快資金周轉(zhuǎn),提高工作效率,已經(jīng)成為圖書企業(yè)提高競爭力的關(guān)鍵。信息技術(shù)的發(fā)展為圖書企業(yè)管理帶來了新的力量。通過圖書館管理系統(tǒng)對圖書企業(yè)的經(jīng)營進行全過程管理,不僅使企業(yè)擺脫了手工管理帶來的一系列問題,而且提高了工作效率和企業(yè)的經(jīng)濟效益。對高校圖書館來說,提高工作效率尤為重要。傳統(tǒng)的管理流程存在的不足。首先處理借書、還書業(yè)務(wù)流程的效率很低,其次處理能力比較低,一段時間內(nèi),所能服務(wù)的讀者人數(shù)是有限的。為此,圖書管理系統(tǒng)需要為圖書館解決上述問題,提供快速的圖書信息檢索功能、快捷的圖書借閱、歸還流程。1.2研究意義構(gòu)建系統(tǒng)化的圖書館管理系統(tǒng),可以作為數(shù)字圖書館未來發(fā)展的跳板。通過建立和完善圖書館系統(tǒng)的各項功能,圖書館將逐步向數(shù)字圖書館的方向靠攏。數(shù)字圖書館是時代的產(chǎn)物,是一個不斷發(fā)展的新事物。目前,世界上許多發(fā)達國家都在加快數(shù)字圖書館的建設(shè)。數(shù)字圖書館已成為國際高科技競爭的新制高點,成為衡量一個國家信息基礎(chǔ)設(shè)施水平的重要標(biāo)志。對我國來說,數(shù)字圖書館的建設(shè)可以建立以中文信息為主的各類信息資源。解決互聯(lián)網(wǎng)上中文信息的匱乏,形成中國文化在互聯(lián)網(wǎng)上的整體優(yōu)勢。數(shù)字圖書館也是保存和繼續(xù)發(fā)展民族文獻遺產(chǎn)的最佳途徑。所有珍貴的材料都可以數(shù)字化,儲存在一個更合適的環(huán)境中。然而,數(shù)字化資料的復(fù)制并不影響一般的獲取感。因此,加快我國數(shù)字圖書館建設(shè)勢在必行。極大的方便圖書館的廣大師生對圖書借閱的需求,對構(gòu)建圖書館現(xiàn)代化圖書館提供了軟件支持。1.3國內(nèi)外研究現(xiàn)狀1.3.1國外研究現(xiàn)狀在國外由于信息技術(shù)起步較早,信息技術(shù)的發(fā)展已經(jīng)達到先進水平,在領(lǐng)域的運用也已經(jīng)達到成熟水平。在圖書管理領(lǐng)域國外的圖書管理系統(tǒng)已經(jīng)達到了世界先進水平,建立起了一整套的管理解決方案。比較出名的是美國SIRSI公司的Unicorn系統(tǒng)、美國InnovationInterface公司的INNOPAC系統(tǒng)、以色列的ExLibris公司開發(fā)的Aleph500。這些系統(tǒng)成功都具有一些共同的特征:界面友好、功能強大、擴展性強、集成度高。1.3.2國內(nèi)研究現(xiàn)狀在我國,圖書館運用信息化技術(shù)進行輔助管理技術(shù)起步于20世紀(jì)70年代。國內(nèi)的圖書管理系統(tǒng)大多集中在對圖書館書籍類目、存儲位置及存存儲量的管理上。目前各高?;旧隙冀⒘藞D書管理系統(tǒng),方便在校的廣大教職工進行圖書借閱。目前,國內(nèi)圖書館管理系統(tǒng)仍處于逐步規(guī)范和快速發(fā)展的過程中。近年來,隨著硬件技術(shù)的發(fā)展,傳統(tǒng)的圖書館管理系統(tǒng)采用了軟硬件相結(jié)合的方式來提高圖書館的管理運行。更成熟的技術(shù)是利用射頻技術(shù)建立圖書定位、自動借閱和歸還的智能圖書館管理系統(tǒng)。圖書電子化的過程在一些圖書館也得到了應(yīng)用。目前,圖書館銷售管理系統(tǒng)廣泛應(yīng)用于學(xué)校、工商、企事業(yè)單位等單位。幾乎每一個開展信息化建設(shè)的單位都有一套圖書銷售管理系統(tǒng)。而在使用計算機系統(tǒng)對圖書的管理,其實就是對信息的管理。使用信息系統(tǒng)對圖書館進行管理,將會大幅提高管理的效率、便捷與安全。1.4開發(fā)技術(shù)1.4.1JAVA簡介JAVA(外文名:JAVA:HypertextPreprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。JAVA獨特的語法混合了C、Java、Perl以及JAVA自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。與其他編程語言相比,Java將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言中的應(yīng)用程序)文檔中執(zhí)行,這比完全生成HTML標(biāo)記的CGI更有效。Java還可以編譯后執(zhí)行解碼,可以實現(xiàn)加密和優(yōu)化代碼操作。使代碼運行得更快。1.4.2B/S結(jié)構(gòu)介紹b/s結(jié)構(gòu)是一種新的基于web的網(wǎng)絡(luò)結(jié)構(gòu)模式。眾所周知,客戶端是web瀏覽器最重要的應(yīng)用軟件。這種模式使得系統(tǒng)的開發(fā)、維護和使用更加方便。B/S(Browser/Server)結(jié)構(gòu)與C/S(Client/Server)架構(gòu)有以下的不同:(1)B/S結(jié)構(gòu)為三層架構(gòu),而C/S結(jié)構(gòu)為兩層結(jié)構(gòu)。再由B/S開發(fā)的系統(tǒng)中,瀏覽器可以直接向網(wǎng)絡(luò)上的服務(wù)器發(fā)送請求信息。這樣使用瀏覽器作為客戶端,使系統(tǒng)的配置變得簡單,同時大大減小了安裝、維護的費用。(2)B/S較C/S架構(gòu),系統(tǒng)開發(fā)更加靈活,更易改造,而C/S則更具有專用型,不易根據(jù)需求進行改造。(3)B/S架構(gòu)開發(fā)的系統(tǒng)界面更加友好,對于用戶來說更易操作,使用前,不用對用戶進行培訓(xùn);而C/S架構(gòu)開發(fā)的系統(tǒng),由于不同的客戶端設(shè)計不同,使用方法不同,所以對于用戶來說,不易上手,需要進行培訓(xùn)。(4)B/S架構(gòu)的系統(tǒng)通用性更好,具有跨平臺性;而C/S架構(gòu)的系統(tǒng)則不具有此特性。(5)B/S架構(gòu)的安全性比C/S架構(gòu)要更好一些,因為對于C/S架構(gòu),B/S架構(gòu),客戶端和服務(wù)期之間又多了一層web服務(wù)器,使得它們之間沒有直接連接,進而安全性更好。(6)B/S架構(gòu)在保持?jǐn)?shù)據(jù)一致性上更有優(yōu)勢。由于C/S架構(gòu)的系統(tǒng),一般都采用區(qū)域級的服務(wù)器,需對服務(wù)器進行同步,信息才可以更新到總部;而B/S的系統(tǒng)中,數(shù)據(jù)集中存放,每條數(shù)據(jù)都直接存放到中央數(shù)據(jù)庫,所以不存在數(shù)據(jù)不一致的問題,數(shù)據(jù)同步性能更好。B/S結(jié)構(gòu)如圖1.1所示:客戶機客戶機客戶機客戶機數(shù)據(jù)庫服務(wù)器發(fā)送請求返回信息網(wǎng)絡(luò)服務(wù)器ODBC圖1.1B/S結(jié)構(gòu)圖
第2章系統(tǒng)分析2.1需求分析作為一個圖書管理系統(tǒng),應(yīng)該給用戶提供方便,簡潔的界面應(yīng)用,對圖書借閱歸還的流通中圖書的詳細記錄進行歸檔,實現(xiàn)新進圖書的數(shù)據(jù)錄入,實現(xiàn)對所有購進圖書的分類查詢和分類統(tǒng)計,能夠按書名、作者等分類查詢現(xiàn)有圖書的數(shù)量,記錄借閱者的個人資料和所借圖書的書名、書號數(shù)據(jù)等,借書時如果每次超過限量或累積超過限量,提示相應(yīng)信息,并拒絕借閱等功能都是必不可少的。2.2可行性分析可行性分析是基于圖書館對圖書館管理系統(tǒng)的原始需求。本文運用軟件工程的理論和技術(shù),從經(jīng)濟可行性、技術(shù)可行性、操作可行性和法律法規(guī)等方面論證了圖書館圖書館管理體制的可行性。全面開展可行性分析,以盡可能低的成本滿足圖書館圖書管理需求,確保系統(tǒng)后期詳細需求分析的正確性。2.2.1技術(shù)可行性技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用JAVA開發(fā)出友好美觀的人機界面,便于用戶理解、操作。數(shù)據(jù)庫管理系統(tǒng)采用MySQL,它能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性、安全性。因此本系統(tǒng)的開發(fā)平臺已成熟可行。硬件方面,隨著科學(xué)技術(shù)的飛速發(fā)展,硬件更新越來越快,容量越來越大,可靠性越來越高,價格越來越便宜。因此,硬件平臺也能滿足系統(tǒng)的需求。2.2.2經(jīng)濟可行性圖書館圖書管理系統(tǒng)的系統(tǒng)開銷分析和數(shù)據(jù)采集費用約1000元。按照行業(yè)中層技術(shù)人員的工資計算,系統(tǒng)開發(fā)成本為每月5000元。系統(tǒng)彈出的總支出工資為2.5萬元,加上服務(wù)器購置費2.6萬元。購置費14000元,共計40000元。如果把這個系統(tǒng)外包給其他軟件公司的成本在20萬元左右,通過我的研發(fā)可以為圖書館節(jié)省16萬元。因此,本系統(tǒng)的研發(fā)具有較強的經(jīng)濟可行性。2.2.3操作可行性分析在滿足客戶需求的同時,也要滿足發(fā)展理念,考慮客戶的經(jīng)濟能力,實現(xiàn)系統(tǒng)的最佳化。圖書館圖書館管理系統(tǒng)采用web結(jié)構(gòu)進行結(jié)構(gòu),用戶可以使用客戶端瀏覽器進行訪問,不需要獨立安裝應(yīng)用程序,操作方便,升級快。且本系統(tǒng)的界面設(shè)計風(fēng)格簡潔明了,導(dǎo)向性很強,因此圖書館圖書管理系統(tǒng)的操作可行性是很可強的。2.3圖書借閱管理系統(tǒng)需求模型圖書館管理系統(tǒng)的主要任務(wù)是實現(xiàn)讀者的快速檢索和查詢,方便借閱和歸還圖書。圖書館員有效地完成了系統(tǒng)的基本操作。用戶管理員管理用戶設(shè)置權(quán)限的操作。從圖2.1可以看出,圖書館借閱管理系統(tǒng)需要完成一些功能:(1)登錄功能:用戶管理員、圖書管理員、讀者和借閱人必須登錄系統(tǒng)才能實現(xiàn)各種權(quán)限。只有身份驗證正確時,系統(tǒng)的相應(yīng)權(quán)限才不同。(2)圖書設(shè)置功能:圖書管理員可以設(shè)置圖書館相關(guān)的參數(shù)信息。(3)用戶管理功能:用戶管理員對系統(tǒng)用戶進行添加,修改,刪除,權(quán)限設(shè)置等操作。(4)查詢功能:對圖書館的館藏圖書等信息進行查詢。圖書借閱圖書借閱借閱者圖書歸還圖書續(xù)借管理圖書信息圖書信息管理用戶信息用戶信息獲取用戶信息根據(jù)讀者信息獲取借閱圖書信息圖書借閱信息圖書續(xù)借圖書借閱歸還圖書圖書歸還信息圖2.1圖書館實現(xiàn)的功能
第3章總體設(shè)計3.1數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是整個系統(tǒng)的基石,數(shù)據(jù)庫的設(shè)計優(yōu)劣直接影響到整個系統(tǒng)的設(shè)計成敗,本節(jié)對數(shù)據(jù)庫的設(shè)計進行專門闡述。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù)。十多年來數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序發(fā)展成為通用的系統(tǒng)軟件。數(shù)據(jù)庫設(shè)計是將現(xiàn)實世界的實體模型和需求轉(zhuǎn)化為數(shù)據(jù)庫模型的過程。這是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。良好的數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫及其應(yīng)用的基礎(chǔ)。數(shù)據(jù)庫的數(shù)據(jù)是所有操作的基礎(chǔ)。如果數(shù)據(jù)庫設(shè)計不好,那么所有其他用于提高數(shù)據(jù)庫性能的方法都是有限的。數(shù)據(jù)庫設(shè)計的關(guān)鍵是如何合理地存儲用戶的數(shù)據(jù),方便用戶的數(shù)據(jù)處理。數(shù)據(jù)庫的設(shè)計必須遵循一定的規(guī)則。在關(guān)系數(shù)據(jù)庫中,該規(guī)則是一種范式,是一組符合一定層次的關(guān)系模式。一般來說,人們按照第三種范式設(shè)計數(shù)據(jù)庫。也就是說,數(shù)據(jù)庫表不包含已包含在其他表中的非主關(guān)鍵字信息。使用范例減少了數(shù)據(jù)冗余,節(jié)省了存儲空間,加快了添加、刪除和更改的速度。針對圖書管理系統(tǒng),有4類核心對象:讀者,借閱者,圖書管理員,用戶管理員。分別實現(xiàn)圖書的流通,圖書的管理,圖書管理系統(tǒng)的管理。系統(tǒng)包含對象如圖3.1。高校圖書管理系統(tǒng)高校圖書管理系統(tǒng)圖書進館圖書外借圖書歸還圖書管理員參數(shù)設(shè)置借閱者圖書信息借閱者是否超期罰款進館信息處理圖書 息修改信息出館信息用戶管理借閱者超級管理員圖書管理員權(quán)限用戶登錄用戶名密碼圖3.1圖書管理系統(tǒng)功能模塊本文用e-r圖描述了圖書館借閱管理系統(tǒng)的數(shù)據(jù)模型。圖3.2圖書館借閱管理系統(tǒng)的e-r圖描述了系統(tǒng)涉及的實體及其關(guān)系?;炷两Y(jié)構(gòu)如圖3.2所示。圖3.2系統(tǒng)開始實體屬性圖圖3.3讀者實體屬性圖圖3.4系統(tǒng)E-R圖3.2數(shù)據(jù)流圖數(shù)據(jù)流程圖是全面描述信息系統(tǒng)邏輯模型的工具,它抽象概括地把信息系統(tǒng)中各種業(yè)務(wù)處理過程聯(lián)系起來。圖3.5為圖書管理信息系統(tǒng)的頂層數(shù)據(jù)流程圖。資料室管理員資料室管理員P0圖書管理信息系統(tǒng)讀者管理信息圖書管理信息借閱管理信息讀者讀者信息圖3.5系統(tǒng)頂層數(shù)據(jù)流程圖(1)0層數(shù)據(jù)流圖如圖3.6所示。PP1圖書管理系統(tǒng)管理員讀者圖書管理讀者信息圖書圖書信息圖3.60層數(shù)據(jù)流圖(2)1層數(shù)據(jù)流圖如圖3.7所示。P1P1圖書管理管理員P2讀者管理P3借閱管理修改書籍信息圖書信息圖書信息查看數(shù)據(jù)圖書信息表讀者信息讀者信息讀者信息表借閱信息表查看信息修改信息查看信息D1D2D3修改書籍信息查看信息圖3.71層數(shù)據(jù)流圖(3)2層數(shù)據(jù)流圖如圖3.8所示。P1分解管理員管理員P1.2修改圖書信息P1.3刪除圖書圖書信息表D1增加圖書入庫數(shù)據(jù)修改信息修改數(shù)據(jù)刪除圖書刪除數(shù)據(jù)圖3.82層P1分解數(shù)據(jù)流圖P2分解管理員管理員P2.1讀者類別管理P2.3讀者信息管理讀者類別表D4讀者類別信息讀者類別信息讀者信息讀者信息讀者信息借閱信息表D3讀者信息D2讀者信息表借閱信息信息圖3.92層P2分解數(shù)據(jù)流圖P3分解管理員管理員P3.1借書管理D1借閱信息表借閱信息信息借閱信息信息P3.2還書管理D4罰款信息表還書信息信息P3.3罰款管理P3.4續(xù)借管理借閱信息D2D3讀者信息表圖書信息表圖書超期罰款信息讀者信息信息圖書信息信息圖書信息信息D1借閱信息表借閱信息信息讀者信息信息圖3.102層P3分解數(shù)據(jù)流圖圖3.11數(shù)據(jù)流設(shè)計3.3邏輯結(jié)構(gòu)設(shè)計圖書館信息表主要用于存儲館藏圖書的相關(guān)信息。圖書入庫時,由操作人員補充完善相關(guān)信息。這張桌子主要供讀者和圖書管理員在圖書館里查詢圖書。系統(tǒng)的用戶可以根據(jù)圖書的某一屬性來了解圖書。他提供的相關(guān)信息,其中圖書的書架屬性便于讀者借閱時查找圖書,而圖書價格是讀者意外丟失圖書時補償丟失圖書的依據(jù)。圖書管理系統(tǒng)數(shù)據(jù)項描述如下:表3.1tb_book表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注b_id圖書在館編號ISBNVarchar(20)否主鍵b_name書名Varchar(20)否b_byname別名Varchar(20)是b_version版本smallint是b_author作者Varchar(20)否b_press出版社Varchar(20)否b_type圖書類別Char(10)否b_pdate出版日期Date()是b_indate進館日期Date()否b_num在館數(shù)量int否b_intro簡介Varchar(200)是b_price價格Varchar(50)否借款人信息表的設(shè)計是由用戶管理員對借款人進行管理,其中讀卡器id和不同類型證書的個數(shù)都是唯一的。借書人借書時需要輸入的信息來識別讀者的身份。閱覽室如閱覽室的郵件和電話,以便聯(lián)系閱覽室,閱覽員的類型信息。它確定了讀者一次可以借閱的圖書數(shù)量,登記時間可以用來查詢和計算讀者身份的有效期。操作員操作查詢以方便信息。表的具體結(jié)構(gòu)設(shè)計如下:表3.2tb_user表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注u_id用戶編號Char(10)否主鍵u_name真實姓名Varchar(10)否u_sex性別男或女否u_class班級Varchar(20)是u_dept學(xué)院Varchar(20)是u_tel電話號碼Numeric(11)是u_job工作狀況Char(10)是u_mailbox郵箱Varchar(50)否u_birthday生日Date()否u_login登錄名Varchar(20)否u_date創(chuàng)建日期Date()否u_type用戶類型Useradmin,reder,bookadmin,recordadmin否u_picurl用戶照片Varchar(50)否u_password用戶密碼Varchar(20)否初始1此表旨在對不同身份的讀者進行分類,以便于讀者管理。其中,可借閱圖書數(shù)量的屬性設(shè)置是根據(jù)讀者的不同需求進行的特權(quán)設(shè)置。它用于指定不同類型的讀者一次可以借閱的圖書數(shù)量。該表的具體結(jié)構(gòu)如下:表3.3tb_record表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注u_id用戶編號Char(10)否外鍵主鍵b_id圖書編號Varchar(20)否外鍵borrow_date借閱日期Date()否borrow_num借閱本數(shù)int否如還書本書>借書則錯誤,如<則修改此表的設(shè)計是為了系統(tǒng)管理員添加消息新聞,表的具體結(jié)構(gòu)如下:表3.4tb_news表屬性名數(shù)據(jù)描述數(shù)據(jù)類型備注n_name新聞名稱Varchar(50)主鍵n_type新聞類型Varchar(10)n_content新聞類容Varchar(500)n_date建立日期date此表的設(shè)計設(shè)為了借閱者沒有及時還書出現(xiàn)的罰款,表的具體結(jié)構(gòu)設(shè)計如下:表3.5tb_pulishment表屬性名數(shù)據(jù)描述數(shù)據(jù)類型是否為空備注P_name罰款名稱Char(10)否主鍵P_money罰款基本數(shù)Float否3.4系統(tǒng)總體結(jié)構(gòu)設(shè)計該系統(tǒng)在Win7采用JAVA具,MySQL數(shù)據(jù)庫來設(shè)計,開發(fā)過程與成果應(yīng)符合GB/T11457-1995軟件工程術(shù)語,GB/T8567-1988計算機軟件產(chǎn)品開發(fā)文件編制指南等。3.4.1圖書管理系統(tǒng)總體結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖將使讀者和用戶直觀地了解系統(tǒng)的結(jié)構(gòu),了解系統(tǒng)的各個功能的結(jié)構(gòu),可以非常方便地使用和了解整個系統(tǒng)。本系統(tǒng)的結(jié)構(gòu)圖如3.12圖。圖3.12圖書管理系統(tǒng)模塊3.4.2用戶管理員模塊功能該模塊主要包括用戶信息設(shè)置,用戶管理,用戶添加,新聞添加。(1)用戶信息設(shè)置該功能子模塊主要由用戶管理員對系統(tǒng)用戶進行管理。通過該子模塊的功能,可以對用戶進行添加、修改、刪除、權(quán)限設(shè)置等操作。該子模塊可以將圖書館的不同工作細化到不同的相關(guān)人員,大大提高了圖書館的工作效率。該操作是對tb_users表進行操作,在對用戶進行了相關(guān)的操作后把操作后的最新信息存放在該表中。(2)用戶添加此系統(tǒng)用戶必須通過用戶管理員添加用戶。該操作是對于user表進行,并把操作后的最新數(shù)據(jù)存放在該表中。(3)新聞添加該功能子模塊主要是用戶管理員發(fā)布新聞消息通知等的添加和刪除操作,通過此子模塊的功能實現(xiàn)可以發(fā)布新聞通知。該操作是對tb_news表進行操作,在對系統(tǒng)進行了相關(guān)的操作后把操作后的最新信息存放在該表中。3.4.3圖書管理員模塊功能該模塊主要包括圖書添加刪除,圖書借還信息查詢。(1)圖書添加刪除該功能子模塊主要是圖書管理員對圖書的管理,通過此模塊可以實現(xiàn)對圖書信息的添加、刪除、修改等操作,使管理圖書更加方便。該操作是對表tb_book表進行修改,并將操作結(jié)果保存在該表中。(2)圖書借還信息查詢本功能子模塊是圖書館員對圖書借閱情況的查詢操作。本模塊主要設(shè)置讀者一次可以借閱的圖書數(shù)量。操作在tb_記錄表上執(zhí)行,操作結(jié)果保存在表中。3.4.4讀者管理模塊功能該模塊主要包含圖書查詢和圖書閱覽兩個子模塊:(1)圖書查詢該功能子模塊是應(yīng)用于圖書的檢索,該檢索由書名檢索、作者檢索和關(guān)鍵字檢索組成,方便讀者和借閱者查詢圖書。(2)圖書閱覽該功能子模塊主要為讀者提供圖書閱讀。3.4.5借閱者模塊功能該模塊主要包含圖書查詢、圖書借閱、圖書歸還和圖書到期提醒模塊。(1)圖書查詢該功能子模塊是應(yīng)用于圖書的檢索,該檢索由書名檢索、作者檢索和關(guān)鍵字檢索組成,方便讀者和借閱者查詢圖書。(2)圖書借閱、歸還該功能子模塊主要是方便借閱者借閱、歸還圖書,方便圖書借閱者借書和還書。該操作是對于tb_record表進行。(3)圖書到期提醒該功能子模塊主要是提醒借閱者到期還書,超過期限將會罰款通知。該操作是對于tb_pulishment表進行,并將操作結(jié)果保存在該表中。
第4章系統(tǒng)程序設(shè)計與編碼4.1登錄窗口與主窗體根據(jù)功能需求編寫了讀者管理、圖書管理、流通管理、查詢分析、賬號管理等模塊的多個界面。4.1.1系統(tǒng)登錄窗體的創(chuàng)建雙擊圖標(biāo)運行程序以后,就可看到程序的登錄界面,如圖4.1所示。選擇用戶權(quán)限并輸入正確的用戶編號和用戶密碼方可登錄。圖4.1系統(tǒng)登錄界面啟動系統(tǒng)程序后,首先進入系統(tǒng)登錄界面。此時,系統(tǒng)將要求用戶輸入用戶名和密碼作為身份驗證信息。為了防止非用戶重復(fù)瀏覽登錄信息,系統(tǒng)在登錄時限制了三次添加次數(shù)。如果超過三次,它將自動退出。系統(tǒng)有一個用戶表儲存用戶的信息,根據(jù)權(quán)限的不同分別管理員和讀者。按取消按鈕就會退出系統(tǒng)。 functionvalidateform() { if(document.userinfo.loginname.value=="") { window.alert("請輸入用戶的登錄名!") returnfalse; } if(document.userinfo.password.value=="") { window.alert("密碼不能為空!") returnfalse; }4.1.2主窗體的運行界面主窗口是一個多文檔窗口,提供了對于各個模塊和各種操作的接口。根據(jù)模塊化原理,本系統(tǒng)可按照不同的功能分成五個獨立的功能模塊實現(xiàn)系統(tǒng)所需功能。系統(tǒng)主體平臺的五個功能模塊,分別是讀者管理、圖書管理、流通管理、查詢分析、賬號管理。此系統(tǒng)中每一個模塊可以由下一級模塊實現(xiàn),下面將詳細介紹各個功能模塊所完成的功能。登錄成功以后,顯示主界面,如圖4.2所示,系統(tǒng)會根據(jù)登錄系統(tǒng)時選擇的用戶權(quán)限自動生成相關(guān)的權(quán)限。并在主界面上自動生成此時的系統(tǒng)日期和時間。圖4.2主窗體界面程序代碼如下: //TODO:Addextrainitializationhere //設(shè)置程序運行從登錄界面開始 CLibraryDlgLoginDlg; b_Login=1; LoginDlg.b_Login=&b_Login; LoginDlg.DoModal(); if(b_Login) { CDialog::OnOK(); }voidCLibDBSDlg::OnButtonNewBook() //調(diào)應(yīng)新書登記入庫對話框{ //TODO:Addyourcontrolnotificationhandlercodehere CNewBooksDlgNewDlg; NewDlg.DoModal();}4.2主窗體調(diào)用各個模塊部分4.2.1讀者管理讀者管理模塊包括三個功能模塊,分別是讀者檔案管理、借書證辦理、讀者類型設(shè)置。(1)讀者檔案管理讀者檔案管理主要是對讀者檔案管理基本信息如(編號、姓名、性別、類型、狀態(tài)、已借書數(shù)量、聯(lián)系方式)的添加、修改、刪除及統(tǒng)計記錄個數(shù)。不單擊添加,無法在界面上輸入任何數(shù)據(jù),只有單擊添加之后才可以進行輸入。修改需要單擊一條記錄,然后再單擊修改才可以進行數(shù)據(jù)的修改。刪除需要先需要單擊一條記錄,然后再單擊刪除才可以進行數(shù)據(jù)的刪除。添加、修改、刪除這些操作必須保存后才能生效。取消可以取消當(dāng)前的添加、修改、刪除的操作。退出可以退出當(dāng)前界面,返回主界面。界面如圖4.3所示。圖4.3讀者檔案管理界面 讀者 </td> <tdalign="center"valign="middle"> <inputtype="radio"name="usertype"value="bookadmin"> 圖書管理員 </td> <tdalign="center"valign="middle"> <inputtype="radio"name="usertype"value="useradmin"> 用戶管理員 </td> <tdalign="center"valign="middle"> <inputtype="radio"name="usertype"value="recordadmin"> 借閱管理員 </td> </tr> <trheight="50"> <tdcolspan="6"align="center"> <inputname="reset"type="reset"value="重新填寫"> <inputname="submit"type="submit"value="提交信息"> </td> </tr>(2)借書證辦理可以報告并恢復(fù)丟失的借書證。當(dāng)借書證丟失時,讀者不能借書。借書證恢復(fù)后,可以再借書。庫卡處理界面如圖4.4所示。圖4.4借書證辦理界面voidCBorrowDlg::OnButtonOk(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(); if(m_strProofID==""||m_strBookID=="") { MessageBox("輸入的域不完整,請重新輸入!","借書管理",MB_ICONERROR); m_strProofID.Empty(); m_strBookID.Empty(); UpdateData(FALSE); return; } if(!m_database.IsOpen()) { if(!m_database.Open(_T("Library"))) { MessageBox("無法連接到數(shù)據(jù)來源!","借書管理"); return; } } CStringstrSQL; //判斷借書人是否有資格 strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); CProofSet*m_pProof=newCProofSet(&m_database); m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pProof->GetRecordCount()==0) { MessageBox("數(shù)據(jù)庫中沒有這個人的信息","借書/還書",MB_ICONINFORMATION); m_pProof->Close(); m_database.Close(); return; } CDBVariantvarValue,var; m_pProof->GetFieldValue(7,varValue); if(varValue.m_iVal==4) { //如果不滿足條件 MessageBox("你不能借書超過4本!","借書/還書",MB_OK|MB_ICONINFORMATION); m_pProof->Close(); m_database.Close(); return; }(3)讀者類型設(shè)置讀者類型設(shè)置主要完成對讀者類型的設(shè)置,類型編號、類型名稱、最大借書數(shù)量、最大借閱時間、續(xù)借次數(shù)。可以對其進行增加、修改、刪除操作。讀者輸入信息完畢后,單擊“確定”按鈕就可以將所輸入的資料寫入后臺數(shù)據(jù)庫中,從而完成添加讀者的操作。讀者類型設(shè)置如圖4.5所示。圖4.5讀者類型設(shè)置 functionvalidateform() { if(document.record.bookid.value=="") { window.alert("請輸入圖書編號!") returnfalse; } if(document.record.readerid.value=="") { window.alert("請輸入讀者編號!") returnfalse; } if(document.record.booknum.value=="") { window.alert("請輸入圖書數(shù)量!") returnfalse; }</script></head><body><!--***************************header***************************--><?javainclude"data/header.inc"?><!--***************************main**************************--><center><tableborder="1"width="800"height="30"cellspacing="0"cellpadding="0"bgcolor="#E4E4E4"bordercolorlight="#C2C2C2"bordercolordark="#FFFFFF"> <tr> <tdwidth="234"align="center"> <imgsrc="pics/position.png"alt="position"width="16"height="16"align="absmiddle"> 你的位置 </td>4.2.2圖書管理(1)新書入庫新書入庫主要是對書籍的基本信息如(圖書編號,書名,作者信息,出版社,價格,ISBN,圖書類型,入庫時間,館藏總量,現(xiàn)存量,簡介,借出次數(shù),狀態(tài))進行添加操作,實現(xiàn)新書入庫的功能,單擊確定后,將書籍信息存入到數(shù)據(jù)庫中。新書入庫窗體如圖4.6所示。圖4.6新書入庫窗體<?javainclude"data/header.inc"?> <tr> <tdwidth="34%"align="center">圖書名稱:</td> <tdwidth="66%"colspan="5"> <inputtype="text"name="mainname"size="30"> <fontcolor="#8080C0">*</font> </td> </tr> <tr> <tdwidth="34%"align="center">圖書別名:</td> <tdwidth="66%"colspan="5"> <inputtype="text"name="byname"size="30"> </td> </tr> <tr> <tdwidth="34%"align="center">圖書版次:</td> <tdwidth="66%"colspan="5"> <inputtype="text"name="bookversion"size="30"> <fontcolor="#8080C0">【格式:數(shù)字】</font></td> </tr> <tr> <tdwidth="34%"align="center">作者姓名:</td> <tdwidth="66%"colspan="5"> <inputtype="text"name="author"size="30"> </td> </tr> <tr>(2)圖書注銷圖書注銷主要是對圖書的基本信息的注銷和恢復(fù)。當(dāng)輸入書籍編號,并單擊查詢按鈕后,可以看到書籍的相關(guān)信息如(書籍類型,名稱,狀態(tài),作者,出版社),單擊注銷按鈕,將會刪除此圖書的信息,針對破損的書籍或者需要更新的書籍。當(dāng)單擊恢復(fù)按鈕后,可以將刪除的書籍恢復(fù),操作簡單方便。關(guān)閉可以退出當(dāng)前界面,返回主界面。圖書注銷窗體如圖4.8所示。圖4.8圖書注銷界面 intm_yeardiff,m_monthdiff,m_daydiff,m_timediff; oriTime=m_pBorrow->m_Borrow_Date; curTime=CTime::GetCurrentTime(); m_yeardiff=curTime.GetYear()-oriTime.GetYear(); m_monthdiff=curTime.GetMonth()-oriTime.GetMonth(); m_daydiff=curTime.GetDay()-oriTime.GetDay(); m_timediff=m_yeardiff*365+m_monthdiff*30+m_daydiff; //借有這本書,刪除這條記錄信息。 m_pBorrow->Delete(); m_pBorrow->Close(); //將借書人借書的總數(shù)減一 strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); CProofSet*m_pProof=newCProofSet(&m_database); m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pProof->GetRecordCount()==0) { MessageBox("借閱證號輸入有誤!","借書/還書",MB_ICONINFORMATION); m_pProof->Close(); m_database.Close(); return; } CDBVariantvarValue;(3)圖書類型管理圖書類型管理是設(shè)置圖書類型,主要功能也是對如(編號,類型名稱)的添加、修改、刪除及統(tǒng)計記錄個數(shù)。不單擊添加,無法在界面上輸入任何數(shù)據(jù),只有單擊添加之后才可以進行輸入。刪除需要先需要單擊一條記錄,然后再單擊刪除才可以進行數(shù)據(jù)的刪除。添加、修改、刪除這些操作必須保存后才能生效。取消可以取消當(dāng)前的添加、修改、刪除的操作。退出可以退出當(dāng)前界面,返回主界面。圖書類型管理窗體如圖4.9所示。圖4.9圖書類型管理4.2.3流通管理(1)圖書借閱圖書借閱模塊實現(xiàn)圖書的借閱功能,操作簡單方便直觀。輸入讀者編號后回車,可以顯示讀者姓名,讀者類型,可借數(shù)量,在界面底端顯示已借數(shù)量,如果已借數(shù)量達到借閱上限,則系統(tǒng)提示不能繼續(xù)借閱功能,若符合借閱條件后,輸入要借閱的圖書編號,回車后,顯示該讀者借閱的信息(圖書編號,圖書名稱,作者,出版社,借閱時間,應(yīng)歸還時間),并且更新顯示已借數(shù)量和本次借書冊數(shù)。圖書借閱窗體如圖4.10所示。圖4.10圖書借閱界面 intm_yeardiff,m_monthdiff,m_daydiff,m_timediff; oriTime=m_pBorrow->m_Borrow_Date; curTime=CTime::GetCurrentTime(); m_yeardiff=curTime.GetYear()-oriTime.GetYear(); m_monthdiff=curTime.GetMonth()-oriTime.GetMonth(); m_daydiff=curTime.GetDay()-oriTime.GetDay(); m_timediff=m_yeardiff*365+m_monthdiff*30+m_daydiff; //借有這本書,刪除這條記錄信息。 m_pBorrow->Delete(); m_pBorrow->Close(); //將借書人借書的總數(shù)減一 strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); CProofSet*m_pProof=newCProofSet(&m_database); m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pProof->GetRecordCount()==0) { MessageBox("借閱證號輸入有誤!","借書/還書",MB_ICONINFORMATION); m_pProof->Close(); m_database.Close(); return; }(2)圖書歸還圖書歸還模塊實現(xiàn)圖書的歸還功能,操作簡單方便直觀。輸入讀者編號后回車,可以顯示讀者姓名,讀者類型,顯示借閱書籍的相關(guān)信息如(借閱編號,圖書編號,圖書名稱,作者,出版社,借閱時間,應(yīng)歸還時間,操作員),且在界面底端顯示已借圖書數(shù)量,根據(jù)需要還書情況輸入書籍編號,回車后完成圖書的歸還操作。圖書歸還窗體如圖4.11所示。圖4.11圖書歸還界面//還書voidCBorrowDlg::OnButtonReturn(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(); if(m_strProofID==""||m_strBookID=="") { MessageBox("請正確輸入數(shù)據(jù)!","借書管理",MB_ICONERROR); m_strProofID.Empty(); m_strBookID.Empty(); UpdateData(FALSE); return; } if(!m_database.IsOpen()) { if(!m_database.Open(_T("Library"))) { MessageBox("無法連接到數(shù)據(jù)源!","借書管理"); return; } } CStringstrSQL; //借書信息表中是否有借書人的信息 strSQL.Format("select*fromBorrow_InfowhereProof_ID='%s'ANDBook_ID='%s'",m_strProofID,m_strBookID); CBorrowSet*m_pBorrow=newCBorrowSet(&m_database); m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pBorrow->GetRecordCount()==0) { MessageBox("借閱證號或書號有誤!","借書/還書",MB_OK|MB_ICONINFORMATION); m_pBorrow->Close(); m_database.Close(); return; } doublem_dblPunish=0.0; CTimecurTime,oriTime;4.2.4查詢分析(1)圖書查詢圖書查詢模塊實現(xiàn)了圖書查詢功能。根據(jù)需要,選擇所需的搜索字段(書號、圖書類型、圖書名稱、出版社、作者),輸入相關(guān)搜索詞,點擊返回按鈕,即可執(zhí)行圖書檢索任務(wù)。檢索后顯示圖書的相關(guān)詳細信息。圖書查詢窗體如圖4.14所示。圖4.14圖書查詢界面voidCNewBooksDlg::OnButtonCheckBooks(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(); if(m_strBookID=="") { MessageBox("請正確填寫信息,(書號?)","新書登記"); return; } if(!m_database.IsOpen()) { if(!m_database.Open(_T("Library"))) { MessageBox("Cannotaccessthedatabase!","新書登記"); return; } } CBookSet*m_pset=newCBookSet(&m_database); CStringstrSQL; strSQL.Format("select*fromBook_InfowhereBook_ID='%s'",m_strBookID); m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pset->GetRecordCount()==0) { MessageBox("Nothisbookinthedatabase!","新書登記"); m_database.Close(); return; }(2)圖書查詢借閱信息查詢模塊實現(xiàn)讀者借閱信息查詢功能。根據(jù)需要,選擇所需的搜索字段(讀者號、讀者姓名、管理員),輸入相關(guān)搜索詞,點擊返回按鈕,即可執(zhí)行借閱信息檢索任務(wù)。檢索后顯示圖書的相關(guān)詳細信息。借閱信息查詢窗體如圖4.15所示。圖4.15借閱信息查詢界面<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><linkrel="shortcuticon"href="favicon.ico"/><title>檢索圖書</title><linkhref="lms.css"rel="stylesheet"type="text/css"><script><!-- functionvalidateform() { if(document.booksearch.bookname.value==""&&document.booksearch.author.value==""&&document.booksearch.keyword.value=="") { window.alert("請輸入你要搜索的信息!") returnfalse; } }<center><tableborder="1"width="800"cellspacing="0"cellpadding="0"bgcolor="#E4E4E4"bordercolorlight="#C2C2C2"bordercolordark="#FFFFFF"><tr> <td>(3)超期圖書過期圖書模塊實現(xiàn)了過期圖書的查詢功能。進入本模塊后,顯示逾期未還的情況。管理員可根據(jù)過期圖書的情況,通知讀者盡快歸還圖書。讀者也可以查看自己的過期圖書情況。超期圖書窗體如圖4.16所示。圖4.16超期圖書界面 CBorrowSet*m_pBorrow=newCBorrowSet(&m_database); strSQL.Format("select*fromBorrow_InfowhereProof_ID='%s'ANDBook_ID='%s'",m_strProofID,m_strBookID); m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pBorrow->GetRecordCount()==0) { MessageBox("沒有關(guān)于這個人借這本書的信息!","圖書掛失"); m_pBorrow->Close(); m_database.Close(); return; } intm_yeardiff,m_monthdiff,m_daydiff,m_timediff; oriTime=m_pBorrow->m_Borrow_Date; curTime=CTime::GetCurrentTime(); m_yeardiff=curTime.GetYear()-oriTime.GetYear(); m_monthdiff=curTime.GetMonth()-oriTime.GetMonth(); m_daydiff=curTime.GetDay()-oriTime.GetDay(); m_timediff=m_yeardiff*365+m_monthdiff*30+m_daydiff; //超期,予以罰款 if(m_timediff>30) { //60天為超時限制時間,一天繳納罰款0.1元 m_dblPunish=m_dblPunish+(m_timediff-30)*0.1; } //無論是否超期,首先進行還書操作,然后處以丟書罰款 //Borrow_Info刪除該條記錄 m_pBorrow->Delete(); m_pBorrow->Close(); //Proof_Info減少借書數(shù)量 CProofSet*m_pProof=newCProofSet(&m_database); strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pProof->GetRecordCount()==0) { MessageBox("讀取借書人信息出錯,將進行回退,請與館主聯(lián)系!","圖書掛失"); //回退,這里不進行 m_pProof->Close(); m_database.Close(); return; } m_pProof->Edit(); m_pProof->m_Now_Borrow_Amount--; m_pProof->Update(); m_pProof->Requery(); m_pProof->Close();(4)圖書排行圖書排行模塊實現(xiàn)圖書排行功能,進入此模塊后顯示圖書排行的情況,讀者可以參考此信息借閱熱門書籍等。圖書排行窗體如圖4.17所示。圖4.17圖書排行界面 m_pset->MoveFirst(); charbuf; inti=0; CStringstrtemp; CDBVariantvarValue; while(!m_pset->IsEOF()) { inttemp=0; m_ctrList.InsertItem(i,buf); m_pset->GetFieldValue(temp,strtemp); m_ctrList.SetItemText(i,0,strtemp); m_pset->GetFieldValue(2,varValue); sprintf(buf,"%.0f",varValue.m_dblVal); m_ctrList.SetItemText(i,1,buf); i++; m_pset->MoveNext(); UpdateData(FALSE); } m_pset->Close(); m_database.Close(); m_name=""; UpdateData(FALSE); }4.2.5賬號管理(1)管理員設(shè)置管理員設(shè)置模塊實現(xiàn)管理員的設(shè)置功能。選擇操作員ID,進行搜索,選擇單條的管理員信息對其修改和刪除,也可以新增管理員。管理員設(shè)置窗體如圖4.18所示。圖4.18管理員設(shè)置界面voidCAddUserDlg::OnOK(){ //TODO:Addextravalidationhere this->UpdateData(TRUE); if(m_strUser.Compare("")==0||m_strPassword.Compare("")==0) { MessageBox("請正確填寫所需數(shù)據(jù)","增加用戶"); return; } if(!m_database.IsOpen()) { if(!m_database.Open(_T("Library"))) { MessageBox("數(shù)據(jù)庫打開出錯!","圖書信息!"); OnOK(); return; } } if(m_strPassword!=m_strPassword2) { MessageBox("兩次密碼輸入不相同!","圖書信息!"); m_strPassword.Empty(); m_strPassword2.Empty(); UpdateData(FALSE); return; } CStringstrSQL; longnum=1000; CUserSet*m_pset=newCUserSet(&m_database); strSQL.Format("select*fromAdmin_Info"); m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); m_pset->MoveFirst(); while(!m_pset->IsEOF()) { num++; CStringuser_name; m_pset->GetFieldValue((short)0,user_name); if(user_name==m_strUser) { MessageBox("該用戶已經(jīng)存,請重新輸入!","學(xué)生繳費系統(tǒng)"); m_strUser.Empty(); m_strPassword.Empty(); m_strPassword2.Empty(); UpdateData(FALSE); return; } m_pset->MoveNext(); }(2)修改密碼修改密碼模塊,實現(xiàn)密碼修改功能。輸入原始密碼和新密碼并確認(rèn)新密碼。如果原始密碼輸入錯誤,將提示原始密碼輸入錯誤。新密碼集需要輸入兩次以確保輸入的正確性。單擊確認(rèn)按鈕后,密碼修改成功。密碼修改窗體如圖4.19所示。圖4.19密碼修改//修改密碼voidCChangePasswordDlg::OnButtonOk(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(); if(m_strUserName.IsEmpty()) { MessageBox("請輸入用戶名!","登錄系統(tǒng)",MB_OK|MB_ICONEXCLAMATION); m_strUserName.Empty(); UpdateData(FALSE); return; } if(!m_database.IsOpen()) { //連接數(shù)據(jù)源 if(!m_database.Open(_T("Library"))) { MessageBox("連接數(shù)據(jù)庫失敗!","圖書管理系統(tǒng)",MB_OK|MB_ICONINFORMATION); return; } } if(m_strPassword_new1!=m_strPassword_new2) { MessageBox("兩次密碼不同!","確認(rèn)密碼",MB_OK|MB_ICONEXCLAMATION); m_strPassword_old.Empty(); m_strUserName.Empty(); m_strPassword_new1.Empty(); m_strPassword_new2.Empty(); UpdateData(FALSE); return; }
第5章系統(tǒng)測試與運行5.1測試的目的系統(tǒng)測試是管理系統(tǒng)開發(fā)周期中非常重要的一環(huán)。在系統(tǒng)開發(fā)周期的每個開發(fā)階
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國消防救援學(xué)院《城市土地管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州體育職業(yè)學(xué)院《電動汽車原理與設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 長春人文學(xué)院《西方政治思想史汪聶才》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工貿(mào)職業(yè)技術(shù)學(xué)院《C程序設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 食品衛(wèi)生檢測技術(shù)的發(fā)展
- 策劃感恩節(jié)新媒體活動模板
- 清明文化在媒體傳播中的挖掘模板
- 元旦跨年夜祝福語
- 統(tǒng)編版五年級語文上冊寒假作業(yè)(一)(有答案)
- 徐州幼兒師范高等專科學(xué)?!秳?chuàng)業(yè)基礎(chǔ)實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年浙江杭州師范大學(xué)附屬醫(yī)院招聘筆試真題
- 學(xué)校自習(xí)室管理及收費方案
- 2025年護理部護士理論培訓(xùn)計劃
- 環(huán)保管家管家式管家式一站式服務(wù)合同
- 醫(yī)療廢物污水培訓(xùn)
- 《用銳角三角函數(shù)解決問題(3)》參考課件
- 房地產(chǎn)營銷策劃 -佛山龍灣壹號學(xué)區(qū)房項目推廣策略提案方案
- 產(chǎn)品共同研發(fā)合作協(xié)議范本5篇
- 風(fēng)水學(xué)的基礎(chǔ)知識培訓(xùn)
- 2024年6月高考地理真題完全解讀(安徽?。?/a>
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國專家共識2022版
評論
0/150
提交評論