版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要本世紀以來,信息技術(shù)的高速發(fā)展使得人們的生活越來越便利,信息化成為了現(xiàn)在社會的一種主流,圖書管理的信息化也是如此。原來的人工管理,工作流程復(fù)雜、需求工作人員數(shù)量較大、管理結(jié)構(gòu)復(fù)雜等等問題逐漸暴露無遺,造成了人力資源、物力資源、財力資源的極大浪費。作為圖書管理員,需要手工對圖書進行圖書類別管理、圖書信息管理、借閱信息管理等等,這些工序非常麻煩,而且容易出錯,也會給讀者帶來不適。因此,需要一套圖書信息管理系統(tǒng)來解決這些問題?;赪EB的圖書信息管理系統(tǒng)主要實現(xiàn)的功能有:用戶登錄、借書登記、還書登記、罰款管理、圖書資料管理、讀者資料管理、圖書信息查詢、讀者信息查詢、借閱記錄查詢、罰款記錄查詢、數(shù)據(jù)備份和恢復(fù)等。本系統(tǒng)的開發(fā)是采用基于WEB的B/S構(gòu)架和JAVA編程技術(shù),使用MyEclipse開發(fā)工具以及SQLSERVER數(shù)據(jù)庫存儲數(shù)據(jù)。關(guān)鍵詞:圖書信息管理;B/S模式;數(shù)據(jù)庫;JAVAPAGEPAGE33一、前言(一)選題背景及意義 圖書信息管理系統(tǒng)是學(xué)校和社會管理體制重要的一環(huán),圖書代表著一個區(qū)域或者學(xué)校的文化標志,因為圖書能夠豐富我們的生活,帶給我們重要的學(xué)習(xí)交流資源。社會的前進與發(fā)展,使得資源高效率使用越來越受到人們的關(guān)注,圖書信息管理也提出這樣的要旨,因此圖書信息管理系統(tǒng)越來越受到大眾的青睞。隨著人們知識水平檔次的升高,圖書館成為尋常生活中不能欠缺的一部分,圖書信息管理也變得艱巨而重要,需要可靠的圖書信息管理系統(tǒng)對圖書進行有效的管理。傳統(tǒng)的圖書管理方式有很多不足的地方,例如:需要的管理人員較多、工作量較大、書籍資料的保存和查詢復(fù)雜、容易出現(xiàn)紕漏、錯后不易更改等。圖書信息管理系統(tǒng)是一套非??茖W(xué)的現(xiàn)代化管理系統(tǒng),它是現(xiàn)代圖書管理工具中一個非常重要的組成部分,實現(xiàn)了圖書管理由傳統(tǒng)向現(xiàn)代化的轉(zhuǎn)變?,F(xiàn)代化的圖書信息管理系統(tǒng),采納基于計算機的信息管理技術(shù),已經(jīng)成為了圖書管理的主流,可以給圖書館的圖書管理工作帶來極大便利。近年來,隨著計算機軟件的發(fā)展,圖書信息管理技術(shù)的發(fā)展逐漸變得科學(xué)成熟,它使得圖書管理變得簡單有條理。開發(fā)本系統(tǒng)的主要目的在于解決圖書管理人員工作復(fù)雜、管理人員眾多、借閱者尋找書籍較難等問題,使管理變得科學(xué)方便有效,查詢變得簡單迅速,從而實現(xiàn)了圖書資源的共享,增強了圖書資源的流動。(二)國內(nèi)外研究現(xiàn)狀 早在20世紀50年代,美國海軍武器中心就入手研究信息處理技術(shù),并開始研究自動分類、自動索引和其他技術(shù),圖書信息管理系統(tǒng)由此開始發(fā)展。從二十世紀七十年代后期開始,圖書館自動化系統(tǒng)從一個功能轉(zhuǎn)變?yōu)榫C合管理系統(tǒng)。20世紀90年代,網(wǎng)絡(luò)技術(shù)的發(fā)展帶動了國外圖書信息管理系統(tǒng)的迅速發(fā)展。近年來,國外圖書信息管理系統(tǒng)正向著網(wǎng)絡(luò)化、標準化、開放化等方向飛速發(fā)展,采用C/S多層次結(jié)構(gòu),支持多種通用平臺,以WEBOPAC為中心,構(gòu)筑信息門戶,走向新的道路。20世紀70年代中期,中國圖書館信息管理系統(tǒng)開始興起,起初只模仿國外,引進國外設(shè)備和系統(tǒng)進行轉(zhuǎn)型。在后來的發(fā)展過程中,較長的一段時間停留在單機水平,網(wǎng)絡(luò)化程度較低。進入90年代,計算機網(wǎng)絡(luò)迅速發(fā)展,各類專業(yè)廣域網(wǎng)投入使用。在90年代中期,我國相繼研發(fā)了幾個大型圖書信息管理系統(tǒng),例如:由同濟圖聯(lián)科技有限公司開發(fā)的圖書館自動化系統(tǒng)TLLAS;由深圳圖書館開發(fā)的全套圖書館自動化集成系統(tǒng)ILAS;由金盤軟件開發(fā)的新一代圖書自動化管理軟件GDLISXP等。因而,開發(fā)基于WEB的圖書信息管理系統(tǒng)具有十分重要的意義。(三)論文的研究內(nèi)容 本圖書信息管理系統(tǒng)是以圖書管理為目標,系統(tǒng)主要功能為解決讀者和圖書管理員對于圖書信息管理的問題而研發(fā),擬解決一下問題:(1)圖書管理員在管理圖書時的現(xiàn)狀怎么樣,遇到過一些什么問題?(2)期待圖書信息管理系統(tǒng)具備哪些功能?(3)結(jié)合實際問題具體分析,給出問題的解決方法,實現(xiàn)完善圖書信息管理系統(tǒng)的各項功能。通過社會調(diào)查和分析,了解到目前圖書管理員在管理圖書信息的時候,希望有一套簡單易懂,功能齊全,便于管理的系統(tǒng)。針對描述的問題,本系統(tǒng)研發(fā)了普通用戶模塊和管理員模塊,普通用戶可以注冊登錄系統(tǒng),查詢借閱所需要的圖書,管理員登錄管理圖書信息和普通用戶信息,減少了管理員面對游客和普通用戶只查詢不借閱圖書的情況進行不必要的工作,也能夠方便游客和普通用戶對于需求的圖書進行查詢。本論文對圖書信息管理系統(tǒng)進行了詳細的描述和總結(jié)。(四)論文的組織結(jié)構(gòu)本論文一共分為五章進行描述。第一章:前言。重點介紹選題的研究背景和國內(nèi)外圖書信息管理系統(tǒng)的現(xiàn)狀,并對論文研究的內(nèi)容和組合架構(gòu)進行介紹。第二章:系統(tǒng)分析。了解圖書信息管理系統(tǒng)的用戶要求、用戶行為,并畫出用戶用例圖,結(jié)尾介紹了系統(tǒng)的開發(fā)環(huán)境。第三章:系統(tǒng)總體設(shè)計。簡要設(shè)計圖書信息管理功能模塊、總體結(jié)構(gòu)以及對重要的場景進行分析。第四章:數(shù)據(jù)庫設(shè)計。通過分析圖書信息管理系統(tǒng)的E-R圖表,設(shè)計了系統(tǒng)表結(jié)構(gòu)和數(shù)據(jù)庫的物理實現(xiàn)。第五章:系統(tǒng)詳細設(shè)計與測試。本章節(jié)對圖書信息管理系統(tǒng)所有模塊的詳細的設(shè)計過程進行了描述,截取了體統(tǒng)的主要實現(xiàn)的界面。最后是結(jié)論。對研發(fā)圖書信息管理系的過程、心得和收獲進行總結(jié)和概括。二、系統(tǒng)分析(一)可行性分析可行性分析是考察開發(fā)體系的主要內(nèi)容和支撐條件,具有可預(yù)測性,可靠性和科學(xué)性,在系統(tǒng)開發(fā)前進行可行性分析是非常必要的,也是早期開發(fā)的重要組成部分。這對于確保合理使用資源和避免浪費非常重要。這也是一旦開始就成功執(zhí)行項目的必要保證。圖書信息管理系統(tǒng)的建設(shè)是一個復(fù)雜的項目,開發(fā)時間長,可行性研究也更加必要,更加復(fù)雜和困難。我在前一段時間對系統(tǒng)進行了調(diào)查和分析,具體如下面四個方面的可行性分析。1.技術(shù)可行性分析本系統(tǒng)主要技術(shù)為JAVASERVERPAGES、SQLSERVER、JAVASCRIPT,此類技術(shù)成熟穩(wěn)定,并且兼容性能優(yōu)越,完全可以滿足圖書信息管理系統(tǒng)的開發(fā)。所以,本系統(tǒng)具有高度的可行性。2.經(jīng)濟可行性分析結(jié)合實際,本系統(tǒng)研發(fā)所需要的硬件和軟件以及環(huán)境都已經(jīng)具備,避免了此方面的經(jīng)濟投入。而且本系統(tǒng)是本人獨自完成,所以在運營成本上的支出也非常之少,同時市場上圖書信息充足,獲取信息途徑較廣,節(jié)約了大量的物資成本。綜上本系統(tǒng)在經(jīng)濟上是完全可行的。3.社會可行性分析本系統(tǒng)的研發(fā)沒有觸犯法律法規(guī)是合法的一套系統(tǒng),而且在倫理道德方面也是不觸及的。在當(dāng)前信息技術(shù)的快速發(fā)展中,計算機技術(shù)和軟件技術(shù)更新對公司或組織來說完全是可能的,也是圖書管理應(yīng)用這種先進管理技術(shù)所必需的,它對于圖書行業(yè)的發(fā)展有著積極的作用。圖書信息管理對傳統(tǒng)的圖書管理理念有著正確引導(dǎo)系和促進,所以社會上是絕對可行的。4.操作可行性分析該系統(tǒng)簡單方便,以用戶和管理員為中心。實施后的系統(tǒng)美觀大方,易于使用,界面清晰,一些不懂計算機的人多練習(xí)操作都可以正常使用,所以在操作的可行性分析上是滿足的。(二)需求分析要開發(fā)一個真正滿足用戶需求的系統(tǒng),我們必須首先明確用戶的需求。成功開發(fā)系統(tǒng)的出發(fā)點是分析用戶的具體需求,如果你不能真正滿足用戶的基本需求,那么系統(tǒng)設(shè)計和編碼有多好并不重要,它最后只能讓用戶和開發(fā)者失望。需求分析是軟件系統(tǒng)定義階段的最后一步。該系統(tǒng)是一個圖書信息管理系統(tǒng),用戶只有管理員。本章對管理員用戶進行需求分析,并制作表格。管理員對系統(tǒng)進行管理,管理員的主要的行為有:登錄系統(tǒng)、修改密碼、退出登錄、添加圖書類別、刪除圖書類別、修改圖書類別、添加圖書、刪除圖書、修改圖書、查詢圖書、添加用戶、修改用戶、刪除用戶、查詢用戶、添加借閱信息、修改借閱信息、刪除借閱信息、查詢借閱信息、還書。管理員具體行為如表2.1所示。表2.1管理員行為表登錄系統(tǒng)修改密碼退出登錄添加圖書類別刪除圖書類別修改圖書類別添加圖書修改圖書刪除圖書查詢圖書添加用戶修改用戶刪除用戶查詢用戶添加借閱信息修改借閱信息刪除借閱信息還書通過對管理員行為的分析和總結(jié),可以畫出管理員用戶用例圖,如圖2.1所示。圖2.1管理員用戶用例圖(三)開發(fā)環(huán)境介紹1.JavaServerPages簡介現(xiàn)在有一種使用Java作為腳本的技術(shù),叫做JSP,在HTTP的應(yīng)用程序中,Java庫中的單元利用JSP頁面進行與HTTP的連接。當(dāng)使用瀏覽器訪問JSP的網(wǎng)頁時,如果系統(tǒng)中沒有安裝JDK,那么系統(tǒng)會自動請求安裝當(dāng)前最新版本的JDK[1]。在執(zhí)行結(jié)果通過HTML的形似發(fā)送給用戶之前,需要先對其中的程序片段進行執(zhí)行。這個程序片斷可以做很多事情,比如數(shù)據(jù)庫操作,電子郵件傳輸,網(wǎng)頁重定向等等。作為一個動態(tài)網(wǎng)站,這些功能至關(guān)重要。用戶利用WEB網(wǎng)頁的操作都會在服務(wù)器中完成,用戶得到的之后利用互聯(lián)網(wǎng)發(fā)送回來的結(jié)果而已,對客戶端的配置要求并不高[2]。在JSP創(chuàng)建動態(tài)頁面的時候,能夠提供一種迅捷方便的方法。在世界處于龍頭地位的sun公司對JSP動態(tài)頁面技術(shù)設(shè)置了一系列的規(guī)定,其中包含了在網(wǎng)絡(luò)上服務(wù)器如何與JSP介紹使用JSP的交互以及格式和語法。封裝生成的頁面時,JSP會編譯Java編譯的腳本和XML標記。在頁面響應(yīng)的同時,它可以把多種形式的標簽直接的船回到服務(wù)器,包括HTML標簽和XML標簽。通過這種形式,JSP技術(shù)可以更好地分離頁面邏輯設(shè)計和頁面顯示。JSP是有Java語言衍生出來的一種新型的技術(shù)。在應(yīng)用的流程中,可以挪用JavaBean和EJB組件,在服務(wù)器中處理的servlet,就是通過JSP頁面進行編譯得到的結(jié)果。所以說,在組建可以更新的WEB應(yīng)用程序時,JSP起到了關(guān)鍵性的作用[3]。JSP可以在絕大多數(shù)的平臺上進行使用,并且因為它本身的特性,在程序開發(fā)行業(yè)中,適用性也非常的廣泛。2.SQLSERVER2008簡介作為一個可以在網(wǎng)頁上運行的數(shù)據(jù)庫服務(wù)器,SQLSERVER2008是微軟高度期待的產(chǎn)品,他的主要目的使建立一種能夠使各種服務(wù)器相互鏈接,處理數(shù)以億計的大容量數(shù)據(jù)的一種具備最高優(yōu)先級的RDBMS系統(tǒng),由于這個系統(tǒng)的建立使得各種服務(wù)器集群得以相互關(guān)聯(lián)而且是在高性能的狀態(tài)下[4]。所以,由多個數(shù)據(jù)庫組成的服務(wù)器組能夠?qū)W(wǎng)站護著企業(yè)級的數(shù)據(jù)請求提供支持。數(shù)據(jù)庫的SQLSERVER2008版本可以從XML協(xié)議中得到完美的支持。與此同時他還將可用性、高可靠性、可延展性、穩(wěn)定性以及時效性集于一體,即使在多個服務(wù)器相互關(guān)聯(lián)的情況下構(gòu)成了服務(wù)器組這些特性依然存在就好像使電路中所謂的并聯(lián)一樣[5]。SQLSERVER2008R2版本使用WEB應(yīng)用程序和嵌入式DNA架構(gòu)來完成自己的模型設(shè)計,與此同時還完美的支持了許多微軟自家的功能例如QueryEnglish以及MFsearch等,以此可以體現(xiàn)R2版本的強大功能。3.B/S簡介B/S結(jié)構(gòu)能夠使瀏覽器和服務(wù)器達到完美結(jié)合,雖然C/S結(jié)構(gòu)也在不斷的改進(2018年1月份進行了最近一次的更新),而且現(xiàn)在隨著網(wǎng)絡(luò)特有的技術(shù)快速發(fā)展使得大部分用戶都可以在瀏覽器上對頁面進行查看,而采用瀏覽器查看與之對應(yīng)的特殊界面只是業(yè)務(wù)邏輯中的冰山一角,其實他最主要的功能使需要通過大型的服務(wù)器來實現(xiàn)的,這種現(xiàn)象所形成的就是三層結(jié)構(gòu)[6]。這樣的模型結(jié)構(gòu)可以在程序的應(yīng)用后期更加方便的進行維護以及對現(xiàn)有系統(tǒng)的功能擴充,減少了現(xiàn)有系統(tǒng)的整體成本預(yù)算,也大大的減輕了服務(wù)器上與之相對應(yīng)的數(shù)據(jù)負荷。具體地說,由于像使用JAVA語言這種可以跨平臺使用的標準型語言出現(xiàn)之后,如果采用了B/S結(jié)構(gòu)那么就會使軟件的開發(fā)以及后期的維護和使用更加的輕松。B/S體系結(jié)構(gòu)最大的優(yōu)點是用戶可以使用自己電腦中獨立的瀏覽器來對自己想要查詢的信息在網(wǎng)絡(luò)中進行訪問,這就造成了可能在同一時間內(nèi)由無數(shù)的用戶將會訪問到服務(wù)器,但是其實每個鏈接都是既獨立又相關(guān)連的,已經(jīng)開發(fā)上線的數(shù)據(jù)庫會將各種不同的數(shù)據(jù)分配給各個不同的發(fā)送出請求的用戶。除電腦自身安裝系統(tǒng)時就已經(jīng)存在的瀏覽器來說,用戶其實已經(jīng)不再需要其他的任何程序了,只要降自己想要操作的信息能夠傳達服務(wù)器端,就可以在自己的電腦上對發(fā)送回來的數(shù)據(jù)進行查看,這其中的流程其實時用戶首先將自己想要的信息在搜索框中進行搜索,然后由自己所使用的瀏覽器降請求信息傳遞給服務(wù)器,之后呢有服務(wù)器查找到用戶所需要的信息然后發(fā)還給發(fā)送請求的瀏覽器,這樣用戶就能夠查看到自己想要的信息了。正是因為建立了這個模型,才將眾多不同的網(wǎng)絡(luò)服務(wù)器聯(lián)系到了一起,慢慢的進行融合并逐漸的形成了一個巨大的網(wǎng)絡(luò),即全球網(wǎng)絡(luò),當(dāng)然不管是企業(yè)還是個人都可以以自己電腦為服務(wù)器的基礎(chǔ)上建立一個基于局域網(wǎng)的內(nèi)部網(wǎng)站用來提供具有特殊請求的用戶來訪問。4.JavaScript簡介JavaScript是一種腳本語言,是屬于一種網(wǎng)絡(luò)腳本,就當(dāng)前而言遍及用于應(yīng)用程序的各項開發(fā),通常用于為頁面添加各種動態(tài)效果,能夠使得為用戶提供更平滑和更美麗的視圖效果[7]。使用javaScrit的主要目的就是想HTML端的頁面添加一種具有特性性和針對性的行為,在這種行為中是通過用標準的標記語言來記錄用戶的下一步操作。當(dāng)然JavaScript在大多數(shù)情況下是單獨寫成一個JS文件,當(dāng)要使用它的時候則是直接內(nèi)嵌到HTML端生成的頁面中。JavaScript具有著跨平臺的特性,可以支持各種跨平臺設(shè)備,以及各種不同版本下的瀏覽器。與其他語言一樣,Javascript腳本語言也有其自己的數(shù)據(jù)類型,專有表達式和標準算術(shù)運算符,以及現(xiàn)在最廣泛使用的基本編程框架。Javascript提供了四種類型的目標基本數(shù)據(jù)類型和兩種用于處理特定數(shù)據(jù)的特殊數(shù)據(jù)類型[8]。在這其中變量提供存儲信息的位置,并且使表達式可以完成更復(fù)雜的信息處理。三、系統(tǒng)總體設(shè)計(一)系統(tǒng)功能模塊描述和分析通過對用戶行為和用戶用例分析,本圖書信息管理系統(tǒng)分為五大模塊:管理員模塊、圖書分類管理模塊、圖書管理模塊、會員管理模塊、借閱管理模塊。(1)管理員模塊:登錄、修改密碼、退出登錄等。(2)圖書分類管理:添加分類、修改分類、刪除分類。(3)圖書管理:添加圖書、修改圖書信息、刪除圖書、查詢圖書信息。(4)借閱管理:添加借閱信息、修改借閱信息、刪除借閱信息、查詢借閱信息、還書。(5)會員管理:添加會員、修改會員、刪除會員。系統(tǒng)功能模塊圖如圖3.1所示。圖3.1系統(tǒng)功能模塊圖(二)重要場景分析前小節(jié)對本圖書管理系統(tǒng)的功能架構(gòu)進行描述,本節(jié)主要對本系統(tǒng)的重要場景進行探討和分析。1.登錄登錄功能是使用本系統(tǒng)的基礎(chǔ),用戶使用自己的賬號密碼登錄系統(tǒng)。首先輸入賬號密碼,如果輸入的賬號密碼錯誤,系統(tǒng)即刻顯示信息并回到登錄界面,用戶可再次輸入賬號密碼。如果賬號密碼輸入正確則順利進入系統(tǒng)。登錄流程如圖3.2所示。圖3.2登錄流程圖圖3.3還書流程圖2.還書還書功能是本系統(tǒng)中至關(guān)重要的功能之一,用戶登錄到詳細頁面然后選擇借閱管理對圖書的借閱進行管理,如果是會員就可以還書否則就會還書失敗。確認是會員之后還需確認是否還書,如果會員需要還書則跳轉(zhuǎn)到還書頁面,選擇需要歸還的圖書進行歸還,如果會員不還書則頁面跳轉(zhuǎn)到首頁。會員還書成功后借閱管理界面就會顯示已歸還圖書,如果由于其他原因?qū)е逻€書未成功界面就會跳轉(zhuǎn)到首頁。還書流程如圖3.3所示。四、數(shù)據(jù)庫設(shè)計(一)系統(tǒng)E-R圖設(shè)計本系統(tǒng)涉及多個實體對象,根據(jù)用戶用例和功能模塊分析可抽象得出五個實體對象,分別為管理員、圖書類別、圖書、會員、借閱信息。繪制系統(tǒng)實體總E-R圖,如圖4.1所示。圖4.1系統(tǒng)實體總E-R圖(二)數(shù)據(jù)庫邏輯設(shè)計在本節(jié)中,總結(jié)概念設(shè)計和E-R圖分析的結(jié)果,并進一步轉(zhuǎn)換為系統(tǒng)實體之間的關(guān)系模型。通過對實體模型之間關(guān)系的深入分析,對物理模型的具體方面進行了優(yōu)化,并設(shè)計了系統(tǒng)的最終關(guān)系模型。可以的得到下列關(guān)系模式:管理員(賬號,姓名,管理用戶信息,管理圖書信息);會員(編號,會員號,姓名,性別,年齡,地址,電話,郵箱,辦卡日期,備注);圖書(序號,圖書類別,書名,作者,出版社,價格,數(shù)量,借閱價格,入庫日期);借閱(會員卡號,圖書名稱,借出時間,歸還時間,逾期時間,歸還狀態(tài),日租金,費用);管理(圖書類別,圖書信息,會員信息)。(三)數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計根據(jù)對本系統(tǒng)實體關(guān)系模型分析得出本系統(tǒng)有六張表:管理員表(Admin表)、用戶登錄表(Adminlog表)、圖書信息表(Book表)、圖書類型表(Booktype表)、借閱信息表(Yj表)、會員信息表(Member表),各表結(jié)構(gòu)如下所示。管理員表有七個字段:id(用戶編號)、username(用戶名)、password(登錄密碼)、creattime(創(chuàng)建時間)、issue(期號)、logintime(登錄時間)。管理員表如表4.1所示。表4.1管理員表字段名數(shù)據(jù)類型NULL字段長度idIntNusernamenvarcharN50passwordnvarcharN50creattimedatetimeNflagintNissueintNlogintimesintN用戶登錄表有六個字段:id(編號)、username(用戶名)、password(登錄密碼)、logintime(登錄時間)、loginip(登錄IP)、ok(是否登錄成功)。用戶登錄表如表4.2所示。表4.2用戶登錄表字段名數(shù)據(jù)類型NULL字段長度idIntNusernamenvarcharN50passwordncarcharN50logintimedatetimeNloginipnvarcharN50oknvarcharN50圖書表中有十一個字段:id(圖書編號)、booktype(圖書類別)、name(圖書名稱)、author(作者)、cbs(出版社)、isbn(國際標準圖書編號)、price(圖書價格)、intro(圖書簡介)、yyig(借閱價格)、addtime(添加時間)。書籍信息表如表4.3所示。表4.3圖書信息表字段名數(shù)據(jù)類型NULL字段長度idIntNbooktypenvarchar50namenvarchar50authornvarchar50cbsnvarchar50isbnnvarchar50pricenvarchar50numnvarchar50intronvarchar500yyjgfloatdddtimenvarchar50圖書類型表有三個字段:id(用戶)、name(圖書類別)、addtime(添加時間)。圖書類型表如表4.4所示。表4.4圖書類型表字段名數(shù)據(jù)類型NULL字段長度idintNnamenvarchar50addtimenvarchar50借閱信息表有八個字段:id(借閱編號)、card(借閱號碼)、bookid(圖書編號)、stime(借出時間)、etime(歸還時間)、chaoqi(超期天數(shù))、fj(罰金)、flag(是否還書)。借閱信息表如表4.5所示。表4.5借閱信息表字段名數(shù)據(jù)類型NULL字段長度idintNcardnvarchar50bookidnvarchar50stimedatetimeetimedatetimechaoqinvarchar50fjnvarchar50flagnvarchar50會員信息表中有九個字段:card(會員號碼)、name(會員姓名)、sex(性別)、age(年齡)、address(地址)、tel(電話)、email(郵箱)、remark(備注)、addtime(注冊時間)。如表4.6所示。表4.6會員信息表字段名數(shù)據(jù)類型NULL字段長度cardIntnamenvarchar50sexnvarchar50agenvarchar50addressnvarchar50telnvarchar50emailnvarchar50remarknvarchar50addtimenvarchar50(四)數(shù)據(jù)庫的實現(xiàn)本系統(tǒng)使用SQLSERVER2008作為數(shù)據(jù)庫存儲軟件,創(chuàng)建數(shù)據(jù)庫遵循標準SQL語句和SQLSERVERr方言使用標準,編碼集為UTF-8,創(chuàng)建數(shù)據(jù)庫jspbooklib的SQL語句如下:CREATEDATABASE[jspbooklib]ONPRIMARY(NAME=N'fzfc_dat',FILENAME=N'D:\jspbooklib.mdf',SIZE=2048KB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)LOGON(NAME=N'fzfc_log',FILENAME=N'D:\jspbooklib_log.ldf',SIZE=2048KB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)GOALTERDATABASE[jspbooklib]SETCOMPATIBILITY_LEVEL=80創(chuàng)建數(shù)據(jù)庫中的表同樣使用UTF-8編碼,指定主鍵、外鍵,并在不清晰的地方寫明注釋。此處只給出用圖書表(book)、用戶表(member)、借閱表(jy)作為示例,其它不一一列舉。圖書表包含了圖書編號、圖書類別名稱、圖書名稱,作者,出版社,國際標準圖書編號,借閱價格,數(shù)量,入庫時間。其中設(shè)置主鍵為Int型數(shù)據(jù),字段為圖書編號,數(shù)據(jù)自動遞增。用戶表創(chuàng)建語句如下所示。CREATETABLE[dbo].[book]( [id][int]IDENTITY(1,1)NOTNULL, [booktype][nvarchar](50)NULL, [name][nvarchar](50)NULL, [author][nvarchar](50)NULL, [cbs][nvarchar](50)NULL, [isbn][nvarchar](50)NULL, [price][nvarchar](50)NULL, [num][nvarchar](50)NULL, [addtime][nvarchar](50)NULL)ON[PRIMARY]會員表包含了會員號碼,會員姓名,性別,年齡,地址,電話,郵箱,備注,注冊時間。其中設(shè)置主鍵為Int型數(shù)據(jù),字段為會員號碼,數(shù)據(jù)自動遞增。會員表創(chuàng)建語句如下所示。CREATETABLE[dbo].[member]( [card][int]NULL, [name][nvarchar](50)NULL, [sex][nvacrchar](50)NULL, [age][nvarchar](50)NULL, [address][nvarchar](50)NULL, [tel][nvarchar](50)NULL, [email][nvarchar](50)NULL, [remark][nvarchar](50)NULL, [addtime][nvarchar](50)NULL)ON[PRIMARY]借閱表包含了借閱編號、借閱號碼、圖書編號、借出時間、歸還時間、超期天數(shù)、罰金、是否歸還。其中設(shè)置主鍵為Int型數(shù)據(jù),字段為借閱編號,數(shù)據(jù)自動遞增。借閱表實現(xiàn)代碼如下所示。CREATETABLE[dbo].[jy]( [id][int]IDENTITY(1,1)NOTNULL, [card][nvarchar](50)NULL, [bookid][nvarchar](50)NULL, [stime][datetime]NULL, [etime][datetime]NULL, [chaoqi][nvarchar](50)NULL, [fj][nvarchar](50)NULL, [flag][nvarchar](50)NULL)ON[PRIMARY]五、系統(tǒng)詳細設(shè)計與測試(一)系統(tǒng)實現(xiàn)系統(tǒng)頁面分為三個區(qū)域分別是:頭部、菜單、展示區(qū)。頭部主要展示logo、修改密碼、退出登錄等功能。菜單區(qū)域展示整個網(wǎng)站的欄目架構(gòu),展示區(qū)主要是顯示點擊不同菜單欄時顯示的不同數(shù)據(jù)。頭部、菜單屬于公共部分,所有網(wǎng)頁都包含這兩個部分[9]。系統(tǒng)界面如圖5.1所示。圖5.1系統(tǒng)界面圖(二)管理員模塊1.登錄系統(tǒng)用戶輸入用戶名和密碼后,提交頁面。系統(tǒng)驗證用戶的登錄:若用戶名稱或密碼不正確,系統(tǒng)顯示“用戶名或密碼錯誤”,若用戶名稱和口令正確,用戶登錄成功,系統(tǒng)立即跳轉(zhuǎn)頁面,顯示出整個操作系統(tǒng)的界面,然后根據(jù)不同的需求進行下一步操作。用戶登錄界面如圖5.2所示。圖5.2登錄系統(tǒng)界面圖2.修改密碼使用正確的賬號密碼登錄之后,頁面將會跳轉(zhuǎn)到圖書信息管理系統(tǒng)的后臺管理系統(tǒng)。點擊頁面右上角的修改密碼鏈接即可進入到修改登錄密碼界面,并顯示當(dāng)前用戶的賬號,用戶可以根據(jù)顯示的界面輸入舊密碼,然后設(shè)置新的密碼,最后確認新的密碼點擊確認即可完成修改密碼操作。如果前面信息填寫錯誤則可以點擊重填按鈕重新填寫信息。修改密碼界面如圖5.3所示。圖5.3修改密碼界面圖3.安全退出已經(jīng)登錄的用戶對系統(tǒng)操作完之后,如果想要退出賬號則可以點擊安全退出按鈕,點擊之后界面會彈出提示,確認是否需要退出,如果需要就選擇確定不需要就選擇取消。安全退出界面如圖5.4所示。圖5.4安全退出界面圖本節(jié)主要代碼實現(xiàn):Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");驗證碼生成publicclassCheckCode{ publicStringgetCheckCode(){ Randomrandom=newRandom(); StringsRand=""; for(inti=0;i<4;i++){ Stringrand=String.valueOf(random.nextInt(10)); sRand+=rand; } returnsRand; }}(三)圖書分類管理圖書分類管理主要分為添加圖書分類、修改圖書分類、刪除圖書這三個功能。點擊菜單欄中的圖書分類管理鏈接后,默認顯示所有圖書分類。圖書分類管理界面如圖5.5所示。圖5.5圖書分類管理界面圖1.添加分類在圖書分類管理界面中有一個文本框,如果需要新增加圖書類別,將圖書類別名稱填入這個文本框,點擊提交按鈕界面會顯示操作成功,但是在編寫框中不填寫任何類別名稱點擊提交系統(tǒng)則會提示請輸入類別名稱,以此來提示用戶正確輸入。添加分類界面圖如圖5.6所示。圖5.6添加分類界面圖2.修改分類在圖書分類管理界面中點擊修改鏈接,即可來到修改分類界面。圖書類別用下拉列表顯示的,直接選中要想要修改的分類名稱,點擊提交即可完成修改操作。如果此類書籍中的某些圖書被借閱且未歸還則提示修改分類失敗。3.刪除分類對于一些重復(fù)或者錯誤的類別信息,可以點擊刪除按鈕刪除這些類別,但是如果有書籍儲存在該類別下,就需要將書籍信息提取出來再進行刪除,以免造成書籍資料的丟失,給使用本系統(tǒng)的用戶帶來一些不必要的損失,如果該類別下沒有任何書籍就可以直接刪除。本節(jié)主要實現(xiàn)代碼:publicintaddTYPE(Stringname){ Stringsql="insertintobooktype(name,addtime)values('"+name+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(四)圖書管理圖書管理主要分為添加圖書、修改圖書、刪除圖書、查詢圖文這三個功能。點擊菜單欄中的圖書管理鏈接后,展示區(qū)顯示所有圖書信息及可進行的操作。顯示的圖書信息主要有:圖書類別、書名、作者、出版社、ISBN、價格、數(shù)量、借閱價格、入庫時間等。圖書管理界面如圖5.7所示。圖5.7圖書管理界面圖1.添加圖書在菜單欄中點擊增加圖書鏈接即可顯示添加圖書的界面,其中有圖書類別、圖書名稱、圖書作者、出版社、ISBN號碼、圖書價格、數(shù)量、簡介、借閱價格,圖書類別的錄入時按照之前添加的圖書類別里選擇相應(yīng)的類別,剩下的圖書信息依次填入表格然后提交,系統(tǒng)提示操作成功表示新的圖書信息已經(jīng)錄入系統(tǒng)。添加圖書界面如圖5.8所示。圖5.8添加圖書界面圖2.修改圖書當(dāng)發(fā)現(xiàn)圖書信息錯誤的時候,可以點擊修改按鈕,跳轉(zhuǎn)至修改圖書頁面,在此頁面中默認顯示的是圖書原來的信息,包括:圖書類別、圖書名稱、圖書作者、出版社、ISBN號碼、圖書價格、數(shù)量、簡介、借閱價格信息。確認修改后點擊提交按鈕即可完成修改,在圖書信息界面中就可以顯示已經(jīng)修改之后的內(nèi)容。修改圖書界面如圖5.9所示。圖5.9修改圖書界面圖3.查找圖書點擊菜單欄中的圖書信息查詢鏈接即可來到查找圖書界面。有三個查詢的選擇方向,采用下拉列表來實現(xiàn)。一個是根據(jù)圖書類別來查詢,輸入想查詢的圖書類別,并點擊提交按鈕即可顯示所需類別的圖書;一個是根據(jù)圖書名稱來查詢,輸入想要查找的圖書名稱提交就可以看到所查詢的圖書;還有一個是根據(jù)出版社來查詢,如果想查詢某出版社的圖書,輸入出版社名稱就可以查看到所有該出版社的圖書。查找圖書界面如圖5.10所示。圖5.10查找圖書界面圖4.刪除圖書對于圖書信息輸入錯誤和圖書已經(jīng)過期的情況,可以點擊刪除按鈕把作廢的圖書信息刪除掉,在書籍還有庫存的情況下,可以先清除書籍庫存然后再進行刪除處理,如果需要刪除的圖書信息沒有庫存那么就可以直接刪除減少了有庫存情況的步驟。如果要刪除的圖書被讀者借閱且尚未歸還,則無法刪除該圖書,系統(tǒng)提示刪除圖書失敗。本節(jié)主要代碼實現(xiàn):publicintaddBOOK(Stringbooktype,Stringname,Stringauthor,Stringcbs,Stringisbn,Stringprice,Stringnum,Stringintro,Stringjyjg){ Stringsql="insertintobook(booktype,name,author,cbs,isbn,price,num,intro,jyjg,addtime)"+ "values('"+booktype+"','"+name+"','"+author+"','"+cbs+"','"+isbn+"','"+price+"','"+num+"','"+intro+"','"+jyjg+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); }}(五)會員管理會員管理主要分為添加會員、修改會員、刪除刪除這三個功能。點擊菜單欄中的會員管理鏈接后,展示區(qū)顯示所有會員信息及可進行的操作。顯示的會員基本信息主要有:會員卡號、姓名、性別、年齡、地址、電話、郵箱、備注以及辦卡日期等。會員管理界面如圖5.11所示。圖5.11會員管理界面圖1.添加會員在菜單欄中點擊增加會員鏈接即可顯示添加會員的界面,需要完善的表單數(shù)據(jù)有:會員姓名、性別、年齡、聯(lián)系地址、聯(lián)系電話、郵箱、備注等。提交表單前系統(tǒng)會對表單數(shù)據(jù)進行驗證,確認無誤后點擊提交按鈕即可完成添加會員操作。添加會員界面如圖5.12所示。圖5.12添加會員界面圖2.修改會員在會員信息管理這一欄中選擇需要修改的會員,點擊修改按鈕界面跳轉(zhuǎn)至?xí)T修改界面,在這個界面中可以修改會員姓名、性別、年齡、聯(lián)系地址、聯(lián)系電話、郵箱和備注,選擇需要修改的信息點擊修改框刪除原來的錯誤信息填寫正確的信息,然后點擊提交,系統(tǒng)顯示操作成功,會員信息已經(jīng)被修改。修改圖書界面如圖5.13所示。圖5.13修改會員界面圖3.刪除會員對于圖書信息輸入錯誤和圖書已經(jīng)過期的情況,可以點擊刪除按鈕把作廢的圖書信息刪除掉,在書籍還有庫存的情況下,可以先清除書籍庫存然后再進行刪除處理,如果需要刪除的圖書信息沒有庫存那么就可以直接刪除減少了有庫存情況的步驟。如果要刪除的圖書被讀者借閱且尚未歸還,則無法刪除該圖書,系統(tǒng)提示刪除圖書失敗。本節(jié)主要代碼實現(xiàn):publicintgetCard(){ Stringsql="selectmax(card)frommember"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) returnrs.getInt(1)+1; else return1000; }catch(Exceptione){ e.printStackTrace(); return1000; }finally{ dbo.close(); } } publicintaddMEMBER(Stringcard,Stringname,Stringsex,Stringage,Stringaddress,Stringtel,Stringemail,Stringremark){ Stringsql="insertintomember(card,name,sex,age,address,tel,email,remark,addtime)"+ "values('"+card+"','"+name+"','"+sex+"','"+age+"','"+address+"','"+tel+"','"+email+"','"+remark+"','"+date+"')"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } } publicintupMEMBER(Stringcard,Stringname,Stringsex,Stringage,Stringaddress,Stringtel,Stringemail,Stringremark){ Stringsql="updatemembersetname='"+name+"',sex='"+sex+"',age='"+age+"',address='"+address+"',tel='"+tel+"',email='"+email+"',remark='"+remark+"'wherecard='"+card+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(六)借閱管理借閱管理主要分為添加借閱信息、修改借閱信息、刪除借閱信息、查詢借閱信息、還書這五個功能。點擊菜單欄中的圖書借閱管理鏈接后,展示區(qū)顯示所有圖書借閱信息,包括會員卡號、圖書名稱、借出時間、歸還時間、超期時間、罰款金額、狀態(tài)、日租金、費用還有一些還書、修改以及刪除等操作。借閱管理界面如圖5.14所示。圖5.14借閱管理界面圖1.添加借閱點擊菜單欄中的添加借閱信息鏈接后即可來到添加借閱頁面。首先選擇需要借閱圖書的會員卡號,然后點擊圖書名稱下拉框,在框中選擇該會員需要借閱的圖書,接下來點擊借書時間框,在這個框中會顯示出一個日歷,日歷中有星期和日期,選擇正確的時間后詢問會員需要借閱的天數(shù)設(shè)置還書日期,最后點擊設(shè)置超期時間和罰款金額,但是這兩個框中初始值必須為零,不能為空。2.修改借閱發(fā)現(xiàn)借閱信息錯誤就可以點擊修改按鈕,然后界面跳轉(zhuǎn)至修改處,在這里可以對會員卡號、圖書名稱、借書時間、還書時間進行修改,修改完后提交界面顯示操作成功,圖書借閱信息已經(jīng)修改完成,如果圖書已經(jīng)歸還完畢,則不能對該借閱信息進行修改。修改圖書借閱信息界面如圖5.15所示。圖5.15修改借閱界面圖3.刪除借閱管理員對于錯誤的圖書借閱信息和已經(jīng)過期的圖書借閱信息,點擊刪除按鈕即可刪除所選的圖書借閱信息,但是需要刪除的借閱信息如果圖書沒有歸還,費用還沒有繳納清就需要提醒該會員將圖書歸還費用繳納,否則不能刪除。反之,所有的圖書已歸還費用已繳納的借閱信息就可以直接刪除。4.查詢借閱在菜單欄點擊讀者查詢借閱鏈接即可來到查詢借閱頁面。在文本框中輸入會員卡號點擊提交按鈕即可完成查詢操作。如果卡號存在則顯示查詢到的結(jié)果,否則顯示為空。查詢借閱界面圖如圖5.16所示。圖5.16查詢借閱界面圖5.還書在借閱管理界面中,選擇還書狀態(tài)為未還書的借閱信息,點擊還書鏈接即可完成還書操作。借閱狀態(tài)從未歸還變?yōu)闅w還狀態(tài),還書鏈接失效。本節(jié)主要代碼實現(xiàn):publicintgetBOOK(Stringid){ Stringsql="selectnumfrombookwhereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); rs.next(); returnrs.getInt(1); }catch(Exceptione){ e.printStackTrace(); return0; }finally{ dbo.close(); } }publicintcheckBOOK(Stringid){ Stringsql="selectcount(*)fromjywherebookid='"+id+"'andflag='未歸還'"; DBOdbo=newDBO(); dbo.open(); try{ rs=dbo.executeQuery(sql); if(rs.next()) returnrs.getInt(1); else return0; }catch(Exceptione){ e.printStackTrace(); return0; }finally{ dbo.close(); } }publicintbackBOOK(Stringid,Stringetime,Stringchaoqi,Stringfj){ Stringsql="updatejysetetime='"+etime+"',chaoqi='"+chaoqi+"',fj='"+fj+"',flag='已歸還'whereid='"+id+"'"; DBOdbo=newDBO(); dbo.open(); try{ inti=dbo.executeUpdate(sql); if(i==1) returnConstant.SUCCESS; else returnConstant.SYSTEM_ERROR; }catch(Exceptione){ e.printStackTrace(); returnConstant.SYSTEM_ERROR; }finally{ dbo.close(); } }(七)系統(tǒng)測試1.測試目的系統(tǒng)測試是本系統(tǒng)研發(fā)的最后一個階段,主要是把每個模塊結(jié)合起來形成一個完整的系統(tǒng),是確保本系統(tǒng)能夠正常運行的一種重要手段,其目的就是在系統(tǒng)投入運行之前,把系統(tǒng)中存在的錯誤查找出來,檢驗系統(tǒng)是否可以實現(xiàn)結(jié)構(gòu)上所有的功能[10]。發(fā)現(xiàn)錯誤應(yīng)該馬上找到相應(yīng)的地方改正,有遺漏或者未實現(xiàn)的功能需要根據(jù)具體的模塊進行改進,讓系統(tǒng)必須實現(xiàn)的功能實現(xiàn)。2.測試方法軟件測試從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實現(xiàn)的角度,分為黑盒測試和白盒測試。黑盒法是一種不考慮系統(tǒng)代碼的前提下,對系統(tǒng)功能進行測試,通過輸入信息和輸出的信息來檢驗系統(tǒng)或網(wǎng)站是否有問題。在使用這種方法的時候,通常要考慮到所有的輸入數(shù)據(jù)類型,這樣才能檢測出系統(tǒng)功能是不是有問題。在黑盒法中,有分成幾個小方法,通常在使用黑盒法進行程序檢查是,都需要使用等價分割法、邊界值劃分法來進行組合使用,這樣更有效的避免了測試數(shù)據(jù)的不完
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 策劃公司前臺工作總結(jié)
- 運輸物流行業(yè)顧問工作總結(jié)
- 2024新年寄語匯編(32篇)
- 制冷技術(shù)轉(zhuǎn)讓協(xié)議書(2篇)
- 創(chuàng)業(yè)合作投資協(xié)議書(2篇)
- 2024年計算機專業(yè)實習(xí)心得體會
- 易錯點08 中國近代史時間問題-備戰(zhàn)2023年中考歷史考試易錯題(解析版)
- 地理中國的世界遺產(chǎn)課件中圖版選修
- 2025屆陜西省咸陽市武功縣中考生物全真模擬試題含解析
- 《公共政策過程》課件
- 工程設(shè)計-《工程勘察設(shè)計收費標準》(2002年修訂本)-完整版
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試政治試題 附答案
- 《社會主義核心價值觀》優(yōu)秀課件
- DB11-T1835-2021 給水排水管道工程施工技術(shù)規(guī)程高清最新版
- 《妊娠期糖尿病患者個案護理體會(論文)3500字》
- 解剖篇2-1內(nèi)臟系統(tǒng)消化呼吸生理學(xué)
- 《小學(xué)生錯別字原因及對策研究(論文)》
- 便攜式氣體檢測報警儀管理制度
- 酒店安全的管理制度
- (大潔王)化學(xué)品安全技術(shù)說明書
- 2022年科學(xué)道德與學(xué)術(shù)規(guī)范知識競賽決賽題庫(含答案)
評論
0/150
提交評論