圖書(shū)館書(shū)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)專(zhuān)業(yè)_第1頁(yè)
圖書(shū)館書(shū)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)專(zhuān)業(yè)_第2頁(yè)
圖書(shū)館書(shū)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)專(zhuān)業(yè)_第3頁(yè)
圖書(shū)館書(shū)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)專(zhuān)業(yè)_第4頁(yè)
圖書(shū)館書(shū)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)專(zhuān)業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目錄中文摘要 1英文摘要 21緒論 31.1課題背景 31.2研究意義 31.3研究?jī)?nèi)容和章節(jié)結(jié)構(gòu) 32 系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù) 52.1Java語(yǔ)言 52.2JavaEE相關(guān)介紹 52.3Eclipse相關(guān)介紹 62.4MySQL相關(guān)介紹 62.5JDBC關(guān)介紹 73 需求分析 83.1可行性分析 83.1.1技術(shù)可行性 83.1.2經(jīng)濟(jì)可行性 83.1.3操作可行性 83.2功能需求分析 93.2.1用戶登錄模塊 93.2.2圖書(shū)類(lèi)別管理模塊 93.2.3圖書(shū)信息管理模塊 103.3非功能需求分析 113.3.1安全性需求 113.3.2硬件需求 113.3.3維護(hù)需求 114 系統(tǒng)設(shè)計(jì) 124.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 124.2系統(tǒng)功能設(shè)計(jì) 124.2.1登陸功能 124.2.3圖書(shū)信息管理功能 134.3數(shù)據(jù)庫(kù)設(shè)計(jì) 145 系統(tǒng)實(shí)現(xiàn) 155.1用戶登錄界面 155.2圖書(shū)類(lèi)別管理界面 165.3圖書(shū)信息管理界面 185.4功能界面實(shí)現(xiàn)原理 215.5數(shù)據(jù)庫(kù)實(shí)現(xiàn) 216 系統(tǒng)測(cè)試 236.1用戶登錄測(cè)試 236.2圖書(shū)類(lèi)別管理測(cè)試 236.3圖書(shū)信息管理測(cè)試 247總結(jié)與展望 257.1總結(jié) 257.2展望 25參考文獻(xiàn) 26致謝 27摘要現(xiàn)代大多數(shù)學(xué)校圖書(shū)藏量種類(lèi)繁多,各種類(lèi)別的圖書(shū)沒(méi)有一個(gè)統(tǒng)一的管理平臺(tái),不同類(lèi)別的圖書(shū)區(qū)分上容易混淆,同種類(lèi)別的圖書(shū)入館出館記錄困難。因此,開(kāi)發(fā)此款軟件成功解決了上述問(wèn)題。圖書(shū)管理系統(tǒng)更注重輕量化,管理人員只需進(jìn)行簡(jiǎn)單操作,即可完成圖書(shū)類(lèi)別的增刪改查操作和同種類(lèi)別下圖書(shū)的增刪改查操作。這是一款以C/S為架構(gòu)方式、采用Eclipse為開(kāi)發(fā)環(huán)境、利用Sqlyog作為數(shù)據(jù)庫(kù)服務(wù)器、并基于Java語(yǔ)言開(kāi)發(fā)的圖書(shū)管理系統(tǒng)。本系統(tǒng)具有運(yùn)行速度快、安全性高、移植性強(qiáng)等特點(diǎn)。關(guān)鍵詞:圖書(shū)管理;Java;數(shù)據(jù)庫(kù);BookManagementSystemBasedOnJavaAbstractMostmodernschoolbooksreservephyleticandvarious,varioustypesofbookswithoutaunifiedmanagementplatform,differentcategoriesofbookstodistinguisheasilyconfused,withdifficultcategoriesofbooksinthelibrarythelibraryrecord.Therefore,thedevelopmentofthissoftwaresuccessfullysolvedtheaboveproblems.Thebookmanagementsystempaysmoreattentiontothelightquantization,themanagementpersonnelonlyneedtocarryoutthesimpleoperation,cancompletetheincrease,delete,changeandcheckoperationofthebookcategoryandtheincrease,delete,changeandsearchoperationofthebookunderthesamecategory.ThisisabookmanagementsystemusingEclipseasthedevelopmentenvironment,Sqlyogasthedatabaseserver,andbasedontheJavalanguage.Thissystemhasthecharacteristicsoffastrunningspeed,highsecurityandstrongportability.Keywords:bookmanagement;Java;Database緒論1.1課題背景自從進(jìn)入二十一世紀(jì)后,飛鴿傳書(shū)、快馬加鞭的書(shū)信方式的信息傳遞途徑退出了歷史的舞臺(tái);信息化、電子化的信息交流方式隨著計(jì)算機(jī)科學(xué)的發(fā)展成為人類(lèi)文明進(jìn)步的重大推動(dòng)器,計(jì)算機(jī)科學(xué)也被應(yīng)用到了我們的日常生活中的每一個(gè)領(lǐng)域。圖書(shū)館在我們的大學(xué)生活中扮演著重要的角色,學(xué)生們?cè)诖私栝唸D書(shū)、學(xué)習(xí)、交流。傳統(tǒng)的圖書(shū)管理方式存在著許多缺點(diǎn),例如:圖書(shū)種類(lèi)區(qū)分混亂,無(wú)法按類(lèi)上架;館內(nèi)圖書(shū)丟失時(shí),不易發(fā)覺(jué);學(xué)生在需要借閱圖書(shū)時(shí),需要圖書(shū)管理員查找圖書(shū)館里是否擁有此書(shū)、是否已被借出等。相比舊時(shí)期單純靠人工對(duì)不同種類(lèi)圖書(shū)進(jìn)行區(qū)分,對(duì)同種類(lèi)圖書(shū)進(jìn)行入館出館記錄,這不僅會(huì)增加圖書(shū)管理員的勞動(dòng)成本、不必要的工作負(fù)擔(dān),還會(huì)不可避免的出現(xiàn)信息記錄錯(cuò)誤、信息不易修改、信息丟失等傳統(tǒng)管理制度上的缺。1.2研究意義飛速發(fā)展的社會(huì)與計(jì)算機(jī)科學(xué)的變革有著密不可分的關(guān)系,高度信息化的今天,高效便捷快速成為人們所追求的一種工作方式,雖然計(jì)算機(jī)程序在各個(gè)方面讓使用者體驗(yàn)到了其帶來(lái)與傳統(tǒng)管理模式所不可比擬的完成工作的方式,但有些程序操作起來(lái)復(fù)雜繁瑣,這就使開(kāi)發(fā)者不能根本的理解到程序在研究和開(kāi)發(fā)時(shí)的初衷,一些用戶不得不繼續(xù)使用工作量龐大的手工作業(yè);時(shí)間觀念早已深入人心,所以圖書(shū)管理系統(tǒng)為廣大圖書(shū)管理員帶來(lái)了與以往的管理方式極大的不同使用體驗(yàn)。圖書(shū)管理系統(tǒng)可以根據(jù)用戶對(duì)該系統(tǒng)功能的需要和所提供的數(shù)據(jù),在操作界面實(shí)現(xiàn)對(duì)所有的圖書(shū)信息的增添、刪除,更改、查找功能,所以盡快實(shí)現(xiàn)圖書(shū)管理信息化,規(guī)范圖書(shū)管理制度是當(dāng)今高校信息化發(fā)展的方向。1.3研究?jī)?nèi)容和章節(jié)結(jié)構(gòu)這是一款以C/S為架構(gòu)方式、采用Eclipse為開(kāi)發(fā)環(huán)境、利用MySql為數(shù)據(jù)庫(kù)服務(wù)器、并基于Java語(yǔ)言開(kāi)發(fā)的圖書(shū)管理系統(tǒng)。首先,通過(guò)前期調(diào)研,對(duì)圖書(shū)管理員的需求進(jìn)行詳細(xì)分析,設(shè)計(jì)了圖書(shū)管理系統(tǒng)的登錄模塊,圖書(shū)類(lèi)別管理模塊,圖書(shū)信息管理模塊。其次,根據(jù)詳細(xì)的設(shè)計(jì)實(shí)現(xiàn)了圖書(shū)管理員對(duì)圖書(shū)分類(lèi)的增刪改查功能和對(duì)圖書(shū)信息的增刪改查功能。最后,對(duì)圖書(shū)管理系統(tǒng)進(jìn)行測(cè)試,若測(cè)試結(jié)果與預(yù)期結(jié)果相符則測(cè)試通過(guò),若不符,則還需對(duì)系統(tǒng)進(jìn)行改進(jìn)。第1章主要講述了圖書(shū)管理系統(tǒng)課題的開(kāi)發(fā)背景和意義。第2章介紹了系統(tǒng)環(huán)境的搭建與開(kāi)發(fā)過(guò)程中用到的主要技術(shù)。第3章對(duì)圖書(shū)管理系統(tǒng)進(jìn)行需求分析,通過(guò)了解實(shí)際應(yīng)用環(huán)境與圖書(shū)管理員的需求,做了可行性分析與功能需求分析,確定了要開(kāi)發(fā)的功能。第4章主要是對(duì)要開(kāi)發(fā)的系統(tǒng)做設(shè)計(jì),把上個(gè)章節(jié)總結(jié)出來(lái)的結(jié)果進(jìn)行分析再分解。把程序帶入到系統(tǒng)設(shè)計(jì)的階段。通過(guò)系統(tǒng)設(shè)計(jì)環(huán)節(jié)能夠得出具體的實(shí)現(xiàn)方法。第5章通過(guò)編寫(xiě)代碼實(shí)現(xiàn)了前幾章節(jié)中所提出的功能,并且將結(jié)果以流程圖和實(shí)際效果圖的方式進(jìn)行展示,為系統(tǒng)的最終測(cè)試提供了測(cè)試項(xiàng)目。第6章主要描述了針對(duì)該系統(tǒng)的測(cè)試。通過(guò)代碼實(shí)現(xiàn)所完成的功能之后,需要對(duì)該系統(tǒng)進(jìn)行針對(duì)性的測(cè)試。測(cè)試方法為黑盒測(cè)試,進(jìn)行測(cè)試之后才能了解到某個(gè)功能的漏洞。系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)2.1Java語(yǔ)言Java語(yǔ)言是一種通過(guò)解釋方式來(lái)執(zhí)行的語(yǔ)言,其語(yǔ)法規(guī)則和C++類(lèi)似。同時(shí),它又是一種跨平臺(tái)的程序設(shè)計(jì)語(yǔ)言。用Java語(yǔ)言編寫(xiě)的程序,可以在任何設(shè)備和平臺(tái)上運(yùn)行。它在技術(shù)層面擁有較其他語(yǔ)言的通用性兼容性較強(qiáng)、高效性:在幫助人們擺脫繁重復(fù)雜的數(shù)據(jù)中體現(xiàn)了其順應(yīng)時(shí)代的節(jié)省時(shí)間精力的優(yōu)越性、跨平臺(tái)依靠數(shù)據(jù)庫(kù)實(shí)現(xiàn)信息的移植性和穩(wěn)定的安全性,在我們的日常生活中,例如個(gè)人電腦、各種大小的數(shù)據(jù)中心、甚至游戲的控制平臺(tái),和我國(guó)重點(diǎn)發(fā)展的超級(jí)計(jì)算機(jī)項(xiàng)目,和與我們平時(shí)交流隨處可見(jiàn)的移動(dòng)電話及互聯(lián)網(wǎng)等等,他們都離不開(kāi)Java語(yǔ)言。Java最初的出現(xiàn)是為了各種消費(fèi)式的電子產(chǎn)品的內(nèi)嵌入式芯片而設(shè)計(jì)的,而后用來(lái)發(fā)設(shè)計(jì)互聯(lián)網(wǎng)的應(yīng)用程序;我們知道作為對(duì)計(jì)算機(jī)科學(xué)有革命性意義的c++語(yǔ)言在Java語(yǔ)言出現(xiàn)后,面臨了強(qiáng)有力的沖擊,在當(dāng)今“云”技術(shù)和移動(dòng)端電子產(chǎn)品的巨大需因求下,Java因其獨(dú)有的優(yōu)勢(shì)形成的它廣闊的應(yīng)用前景和龐大的市場(chǎng)需求;與我們熟知的c、c++語(yǔ)言相比,Java的編程語(yǔ)言風(fēng)格類(lèi)似與前兩者,而Java更是一種單純的面向?qū)ο蟮某绦蚓帉?xiě)設(shè)計(jì)語(yǔ)言,但與c、c++語(yǔ)言不同的是,Java語(yǔ)言摒棄了前者在編寫(xiě)時(shí)易引起錯(cuò)誤的指針(被引用取代)、運(yùn)算符的重載等一些特型,并且添加了回收無(wú)需在被引用的對(duì)象在內(nèi)存中所占用的空間及垃圾回收功能,真正意義上的幫助程序編寫(xiě)員使其不再為了內(nèi)存的管理費(fèi)盡心思;Java擁有多方面的優(yōu)勢(shì):跨平臺(tái)性(在不相關(guān)的平臺(tái)中,可以順利運(yùn)行)、面向?qū)ο笮裕ㄊ钩绦騿T可以集中精力于類(lèi)的應(yīng)用及設(shè)計(jì)上)、動(dòng)態(tài)、健壯性、分布式。再進(jìn)過(guò)現(xiàn)代最初程序設(shè)計(jì)的c,更進(jìn)于c++,現(xiàn)在的Java通過(guò)對(duì)于前者的繼承,擁有了使大家易接受的特性。2.2JavaEE相關(guān)介紹 在我們編寫(xiě)jsp代碼時(shí),因?yàn)辇嫶蟮母鞣N代碼和各種各樣的業(yè)務(wù)邏輯纏在一團(tuán),并且他們之間融嵌,對(duì)于程序的擴(kuò)展和日常的維護(hù)有著極其不便的影響。每當(dāng)業(yè)務(wù)需要不同更改時(shí),對(duì)程序的編寫(xiě)員和完善設(shè)計(jì)的人都有著很大的工作負(fù)擔(dān)。為此為了更好地對(duì)程序的進(jìn)行維護(hù)和擴(kuò)展,這時(shí)就需要JavaEE技術(shù)來(lái)對(duì)項(xiàng)目的進(jìn)一步的開(kāi)展研發(fā);其中JavaEE技術(shù)包括:表示層技術(shù)、中間層技術(shù)、數(shù)據(jù)層技術(shù)。作為Java2技術(shù)三大平臺(tái)之一,它既繼承了應(yīng)用框架,他的出現(xiàn)不僅使程序的開(kāi)發(fā)降低了成本,更重要的是其規(guī)避了C/S的缺點(diǎn)。它擁有三層結(jié)構(gòu),即用戶層、應(yīng)用層、數(shù)據(jù)庫(kù)服務(wù)器,可以使用戶所操作的界面及盡可能的變得簡(jiǎn)潔簡(jiǎn)單。2.3Eclipse相關(guān)介紹Eclipse是一種支持跨平臺(tái)的靈活的集成開(kāi)發(fā)壞境,其本身也就是一個(gè)框架平臺(tái),它是基于Java語(yǔ)言的可以繼續(xù)擴(kuò)展的開(kāi)發(fā)平臺(tái),雖然eclipse是使用Java語(yǔ)言進(jìn)行的開(kāi)發(fā),但它不僅僅局限于對(duì)于Java語(yǔ)言的功能實(shí)現(xiàn),我們所熟知的編程語(yǔ)言如:Android、c、c++等語(yǔ)言也可以使用;它也是開(kāi)放源代碼的軟件,eclipse對(duì)不同的用戶群體有不同的概念,對(duì)一些人來(lái)說(shuō),eclipse是一個(gè)免費(fèi)的Java開(kāi)發(fā)平臺(tái)。對(duì)另一部分人來(lái)說(shuō),eclipse是靈活的、能適應(yīng)現(xiàn)有的開(kāi)發(fā)語(yǔ)言和未來(lái)某種新語(yǔ)言的開(kāi)發(fā)環(huán)境。對(duì)其他人來(lái)說(shuō),eclipse是一個(gè)完善的、能夠布署高級(jí)的跟上時(shí)代的運(yùn)行平臺(tái)。2.4MySQL相關(guān)介紹MYSQL是一種專(zhuān)門(mén)用來(lái)于數(shù)據(jù)庫(kù)通信的語(yǔ)言。它有一下優(yōu)點(diǎn):使用成本低甚至免費(fèi),原因是因?yàn)樗情_(kāi)放源代碼的;性能良好,執(zhí)行速度快;簡(jiǎn)單易操作,很容易的就可以進(jìn)行安裝和使用。無(wú)論是對(duì)中小型項(xiàng)目的開(kāi)發(fā)上,還是對(duì)世界知名網(wǎng)站的搭建上,MYSQL以它安全、穩(wěn)定、高效等出色的性能使它成為當(dāng)下最受人們喜愛(ài)的數(shù)據(jù)庫(kù)管理系統(tǒng),同時(shí)也在全球范圍內(nèi)得到了使用和安裝[2]。該系統(tǒng)由一家瑞典公司開(kāi)發(fā),是當(dāng)下應(yīng)用最廣泛的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一。因?yàn)樗阅艿某錾?,也可匹配其他的系統(tǒng)共同工作,在開(kāi)發(fā)程序中可提供較為便利穩(wěn)定的環(huán)境;MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),而它與另外管理系統(tǒng)不同的是,在將數(shù)據(jù)存儲(chǔ)時(shí),它不是將數(shù)據(jù)統(tǒng)一的放在同一個(gè)數(shù)據(jù)庫(kù)當(dāng)中,而是存放在不同的獨(dú)立的表之中這種獨(dú)特的存儲(chǔ)方式使其擁有了更加靈活的性能,并大大的加快了運(yùn)行的速度;MySQL所使用的語(yǔ)言是在訪問(wèn)數(shù)據(jù)庫(kù)時(shí)最標(biāo)準(zhǔn)的語(yǔ)言,也是我們?cè)谄綍r(shí)建立與數(shù)據(jù)庫(kù)連接時(shí)最常用的語(yǔ)言。它時(shí)引用c語(yǔ)言和c++語(yǔ)言編寫(xiě)的,并且可以使用不同的編譯器對(duì)其進(jìn)行測(cè)試,這樣的方式使它擁有了最原始代碼可以靈活移植的特性;又因?yàn)镸ySQL在與其他操作系統(tǒng)可以輕易的實(shí)現(xiàn)建立且需要費(fèi)用幾乎為零,所以正是因?yàn)樗@種開(kāi)放源碼的軟件,使它擁有了其他大型數(shù)據(jù)庫(kù)所沒(méi)有的親民度。Sqlyog是一種擁有整潔清理規(guī)劃,性能出眾的圖形化對(duì)于MySQL數(shù)據(jù)庫(kù)系統(tǒng)的管理工具,這種工具的使用,可以使我們?cè)谌蛉我庖粋€(gè)通有互聯(lián)網(wǎng)的設(shè)備中來(lái)隨時(shí)隨地的遠(yuǎn)程維護(hù)MySQL數(shù)據(jù)庫(kù)系統(tǒng);它擁有建立數(shù)據(jù)庫(kù),刪除數(shù)據(jù)庫(kù),索引管理,監(jiān)察數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行修護(hù)分析,創(chuàng)建數(shù)據(jù)庫(kù)日志等一系列對(duì)于管理MySQL數(shù)據(jù)庫(kù)的功能,可以近乎完美相契合。2.5JDBC關(guān)介紹擁有了數(shù)據(jù)庫(kù)和相關(guān)應(yīng)用程序后,為了實(shí)現(xiàn)兩者的連接,就需要使用JDBC作為接口將數(shù)據(jù)庫(kù)中的數(shù)據(jù)與面向?qū)ο蟮膽?yīng)用程序搭建聯(lián)系起來(lái);JDBC全稱(chēng)是Java數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),同時(shí)它也是Java核心類(lèi)庫(kù)的一部分,目前共有四類(lèi)JDBC驅(qū)動(dòng):一:native-API,partlyJavadriver此種驅(qū)動(dòng)不適合連接數(shù)據(jù)庫(kù),因?yàn)槭褂么朔N驅(qū)動(dòng)的前提是與其相連的客戶端機(jī)器必須擁有配套的二進(jìn)制代碼。二:nativeprotocol,pureJavadriver此種驅(qū)動(dòng)適用于以網(wǎng)絡(luò)為關(guān)系紐帶連接數(shù)據(jù)庫(kù),因?yàn)檫@種驅(qū)動(dòng)不僅能夠在沒(méi)有客戶端軟件的情況下使用,還可以將JDBC的調(diào)用變?yōu)榫W(wǎng)絡(luò)協(xié)議供后臺(tái)數(shù)據(jù)庫(kù)使用。三:JDBC-ODBCbridgedriver此種驅(qū)動(dòng)只適用于數(shù)據(jù)庫(kù)使用ODBC驅(qū)動(dòng)的客戶端。因?yàn)樗粌H與Java兼容性差,還需要使用這類(lèi)驅(qū)動(dòng)的客戶端安裝與其對(duì)應(yīng)的ODBC驅(qū)動(dòng)。四:JDBC-NetpureJavadriver此種驅(qū)動(dòng)適用于含有中間件的分布式應(yīng)用。因?yàn)樗軌驅(qū)BC的調(diào)用轉(zhuǎn)換為獨(dú)立于數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)協(xié)議。需求分析3.1可行性分析在應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā)之初,為了可以使程序更好的適應(yīng)使用方的需求,以及所對(duì)應(yīng)項(xiàng)目前的具體現(xiàn)狀如:市場(chǎng)的各項(xiàng)要求,應(yīng)用開(kāi)發(fā)中資源的供需能力,項(xiàng)目所需開(kāi)發(fā)的大小,應(yīng)用的具體技術(shù),有無(wú)對(duì)其它項(xiàng)目的影響,整體研發(fā)所需資金,可否有效的實(shí)現(xiàn)盈利等方面都需要進(jìn)行系統(tǒng)的分析和評(píng)估。無(wú)論是在設(shè)計(jì)開(kāi)發(fā)的初期還是在即將實(shí)現(xiàn)運(yùn)行的中后期,都應(yīng)該及時(shí)的對(duì)當(dāng)下所面對(duì)的各項(xiàng)問(wèn)題進(jìn)行結(jié)合實(shí)際的合理解決;從商榷設(shè)計(jì)開(kāi)發(fā)的意義到實(shí)際的投入到多種功能的編入,以及最后的測(cè)試運(yùn)用,都離不開(kāi)科學(xué)性、合理性、實(shí)際性、針對(duì)性的需求分析,所以需求分析是整個(gè)過(guò)程的基石。3.1.1技術(shù)可行性由于Java平臺(tái)幾乎已經(jīng)嵌入了所有的操作系統(tǒng),并且可以編寫(xiě)一次,就能夠在大部分系統(tǒng)中運(yùn)行,所以本系統(tǒng)采用Java為開(kāi)發(fā)平臺(tái)。因?yàn)檫@次的選題“圖書(shū)管理系統(tǒng)”是運(yùn)行在PC端的輕量級(jí)軟件,編譯過(guò)程中遇到代碼潛在的問(wèn)題,可以通過(guò)請(qǐng)求指導(dǎo)老師幫助或者上網(wǎng)查閱資料來(lái)解決,所以開(kāi)發(fā)此圖書(shū)管理系統(tǒng)成為合適的選題。3.1.2經(jīng)濟(jì)可行性隨著學(xué)校信息化管理水平的提高,以目前學(xué)校已經(jīng)擁有了良好的硬件設(shè)施、軟件環(huán)境以及暢通的校園寬帶,無(wú)需再購(gòu)置新的硬件設(shè)備和軟件而增加開(kāi)支,綜合來(lái)看,在經(jīng)濟(jì)上足以配置一個(gè)新的圖書(shū)管理系統(tǒng)。此外,若圖書(shū)館采用本系統(tǒng),就可實(shí)現(xiàn)不必再用手工登記整理圖書(shū)資料,避免人員浪費(fèi),也方便對(duì)圖書(shū)數(shù)據(jù)的管理,為圖書(shū)管理員節(jié)省時(shí)間,提高了效率。3.1.3操作可行性國(guó)內(nèi)高等院校已有管理信息系統(tǒng)應(yīng)用的案例,管理員使用這些管理軟件不再是難事。圖書(shū)管理系統(tǒng)界面簡(jiǎn)潔,操作簡(jiǎn)單,不需要對(duì)管理員進(jìn)行專(zhuān)門(mén)的培訓(xùn)也可以熟練使用本系統(tǒng)。綜上所述,圖書(shū)管理系統(tǒng)充分利用了學(xué)?,F(xiàn)有的計(jì)算機(jī)軟硬件資源,技術(shù)成熟,成本低,操作便捷,管理高效,使圖書(shū)管理擺脫人工處理方式,實(shí)現(xiàn)信息化管理和數(shù)字化處理。因此,本系統(tǒng)的實(shí)施是可行的。3.2功能需求分析圖書(shū)管理系統(tǒng)是以減少圖書(shū)管理員工作量,便捷查詢(xún)保存圖書(shū)信息等功能為設(shè)計(jì)初衷,即符合圖書(shū)管理員的實(shí)際管理需求和館藏圖書(shū)數(shù)量等現(xiàn)實(shí)情況來(lái)設(shè)置相對(duì)應(yīng)的具體功能的計(jì)算機(jī)程序,據(jù)此該系統(tǒng)除登錄模塊外,劃分出另外兩種功能模塊:圖書(shū)類(lèi)別管理模塊、圖書(shū)信息管理模塊。3.2.1用戶登錄模塊用戶登陸模塊是用戶在使用圖書(shū)管理系統(tǒng)時(shí)進(jìn)入的首個(gè)模塊,為了保證圖書(shū)信息的安全性,防止他人惡意篡改圖書(shū)信息,在此設(shè)置用戶登錄模塊,用于登錄用戶身份信息驗(yàn)證,登錄用戶通過(guò)輸入用戶名和密碼,與后臺(tái)數(shù)據(jù)庫(kù)信息進(jìn)行匹配,若匹配成功,則可以進(jìn)入系統(tǒng)對(duì)圖書(shū)進(jìn)行相應(yīng)的管理;若匹配不成功,則會(huì)提示相關(guān)的錯(cuò)誤,提醒用戶重新輸入正確的用戶名及密碼。用戶登錄用例圖如圖3-1所示。圖3-1用戶登錄用例圖3.2.2圖書(shū)類(lèi)別管理模塊經(jīng)過(guò)前期的調(diào)查得知,圖書(shū)管理員在對(duì)圖書(shū)類(lèi)別進(jìn)行整理時(shí),主要是對(duì)圖書(shū)類(lèi)別進(jìn)行增加與修改功能,為了方便圖書(shū)管理員的后續(xù)工作需要,在此,我有對(duì)圖書(shū)管理模塊增加了類(lèi)別查詢(xún)與類(lèi)別刪除功能。為了簡(jiǎn)化操作界面,我將圖書(shū)類(lèi)別的查詢(xún)、修改與刪除功能全部歸類(lèi)為圖書(shū)類(lèi)別維護(hù)模塊。圖書(shū)類(lèi)別管理模塊用例圖如圖3-2所示。圖3-2圖書(shū)類(lèi)別管理模塊用例圖3.2.3圖書(shū)信息管理模塊同樣,圖書(shū)信息管理的需求也有四點(diǎn):即圖書(shū)信息的添加、查詢(xún)、修改與刪除。為了統(tǒng)一界面風(fēng)格,同樣將圖書(shū)信息的查詢(xún)、修改、刪除操作歸類(lèi)為圖書(shū)信息維護(hù)操作。圖書(shū)信息管理模塊用例圖如圖3-3所示。圖3-3圖書(shū)信息管理模塊用例圖3.3非功能需求分析3.3.1安全性需求圖書(shū)管理員在登錄圖書(shū)管理系統(tǒng)時(shí),需要進(jìn)行身份的認(rèn)證,本系統(tǒng)采用的身份驗(yàn)證方式為用戶名及密碼,在一定程度上,保護(hù)了圖書(shū)存儲(chǔ)信息的安全。3.3.2硬件需求CPU:GenuineInter(R)CPUT2080@1.73或以上(服務(wù)器);內(nèi)存:1GB或以上(服務(wù)器);硬盤(pán):120GB以上(服務(wù)器)。3.3.3維護(hù)需求維護(hù)性具體包括易分析性、易改變性、穩(wěn)定性等相關(guān)內(nèi)容。對(duì)于易用性,考慮到不同用戶的操作熟練度不同,所以在開(kāi)發(fā)中,讓操作界面更簡(jiǎn)潔、更方便,每次進(jìn)行操作功能后,都會(huì)進(jìn)行友好信息的提示。對(duì)于穩(wěn)定性,系統(tǒng)可能會(huì)因?yàn)橛脩舻氖终`造成不必要的數(shù)據(jù)丟失或者數(shù)據(jù)更改,本系統(tǒng)加入了驗(yàn)證窗口,當(dāng)用戶進(jìn)行某一指定操作時(shí),系統(tǒng)會(huì)彈窗提示是否要進(jìn)行操作,只有當(dāng)用戶點(diǎn)擊確定之后才能執(zhí)行指定的操作。系統(tǒng)設(shè)計(jì)4.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖書(shū)管理系統(tǒng)經(jīng)過(guò)功能分解后分為三個(gè)模塊:用戶登錄模塊、圖書(shū)類(lèi)別管理模塊、圖書(shū)信息管理模塊。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖如圖4-1所示。圖4-1圖書(shū)管理系統(tǒng)結(jié)構(gòu)圖4.2系統(tǒng)功能設(shè)計(jì)4.2.1登陸功能登錄用戶在進(jìn)行登陸操作時(shí),需要輸入正確的用戶名及密碼,與后臺(tái)數(shù)據(jù)庫(kù)已錄入身份信息進(jìn)行匹配,若匹配成功,則可以進(jìn)入系統(tǒng)對(duì)圖書(shū)進(jìn)行相應(yīng)的管理;若匹配不成功,則會(huì)提示相關(guān)的錯(cuò)誤,提醒用戶重新輸入正確的用戶名及密碼。登錄功能設(shè)計(jì)圖如圖4-2所示。圖4-2登錄功能設(shè)計(jì)圖4.2.2圖書(shū)類(lèi)別管理功能圖書(shū)類(lèi)別管理功能分為圖書(shū)類(lèi)別添加功能與圖書(shū)類(lèi)別維護(hù)功能,圖書(shū)類(lèi)別維護(hù)功能內(nèi)又包含圖書(shū)的查詢(xún)、修改與刪除功能,圖書(shū)類(lèi)別管理功能圖如圖4-3所示。圖4-3圖書(shū)類(lèi)別管理功能4.2.3圖書(shū)信息管理功能圖書(shū)信息管理功能分為圖書(shū)信息添加功能與圖書(shū)信息維護(hù)功能,圖書(shū)信息維護(hù)功能內(nèi)又包含圖書(shū)的查詢(xún)、修改與刪除功能,圖書(shū)信息管理功能圖如圖4-4所示。圖4-4圖書(shū)信息管理功能4.3數(shù)據(jù)庫(kù)設(shè)計(jì)該系統(tǒng)的最主要功能就是用戶對(duì)數(shù)據(jù)進(jìn)行相應(yīng)功能的實(shí)現(xiàn),想要對(duì)數(shù)據(jù)進(jìn)行操作,就必須與存放學(xué)生信息的數(shù)據(jù)庫(kù)進(jìn)行連接,完整的數(shù)據(jù)庫(kù)是對(duì)進(jìn)行數(shù)據(jù)增刪改查的重要前提。在錄入龐大的數(shù)據(jù)時(shí)難免會(huì)混淆數(shù)據(jù)的來(lái)源,為了避免和減少數(shù)據(jù)錄入時(shí)的錯(cuò)誤,系統(tǒng)數(shù)據(jù)庫(kù)分別設(shè)置了用戶表、圖書(shū)類(lèi)別表、圖書(shū)信息表。其中用戶表是用來(lái)保存使用此系統(tǒng)用戶的信息,具體表格設(shè)計(jì)如下:表4-1用戶表是否為主鍵字段名字段類(lèi)型字段大小說(shuō)明是IdInt11用戶編號(hào)否userNameVarchar20用戶名否PasswordVarchar20用戶密碼圖書(shū)類(lèi)別表主要來(lái)保存圖書(shū)具體類(lèi)別和類(lèi)別詳細(xì)信息,具體表格設(shè)計(jì)如下:表4-2圖書(shū)類(lèi)別表是否為主鍵字段名字段類(lèi)型字段大小說(shuō)明是IdInt11圖書(shū)編號(hào)否bookTypeNameVarchar20圖書(shū)類(lèi)別否bookTypeDescVarchar1000類(lèi)別信息圖書(shū)信息表主要用來(lái)保存和錄入圖書(shū)的基本信息,如名稱(chēng)、作者、價(jià)格等,具體表格設(shè)計(jì)如下:表4-3圖書(shū)信息表是否為主鍵字段名字段類(lèi)型字段大小說(shuō)明是IdInt11圖書(shū)編號(hào)否bookNameVarchar20圖書(shū)名稱(chēng)否AuthorVarchar20作者否SexVarchar10性別否PriceFloat價(jià)格否bookTypeIdInt11圖書(shū)類(lèi)別號(hào)否bookDescVarchar1000圖書(shū)信息系統(tǒng)實(shí)現(xiàn)5.1用戶登錄界面當(dāng)用戶進(jìn)入系統(tǒng)時(shí),圖書(shū)管理員根據(jù)自己的身份信息,輸入具有唯一標(biāo)識(shí)的用戶名和密碼,進(jìn)行登陸;若輸入出現(xiàn)錯(cuò)誤,可清空數(shù)據(jù),重新進(jìn)行輸入。登錄界面如圖5-1所示,圖書(shū)管理界面如5-2所示。圖5-1登陸界面圖5-2圖書(shū)管理系統(tǒng)主界面具體功能實(shí)現(xiàn)代碼:publicclassUserDao{ publicUserlogin(Connectioncon,Useruser)throwsException{ UserresultUser=null; Stringsql="select*fromt_userwhereuserName=?andpassword=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,user.getUserName()); pstmt.setString(2,user.getPassword()); ResultSetrs=pstmt.executeQuery(); if(rs.next()){ resultUser=newUser(); resultUser.setId(rs.getInt("id")); resultUser.setUserName(rs.getString("userName")); resultUser.setPassword(rs.getString("password")); } returnresultUser; }5.2圖書(shū)類(lèi)別管理界面圖書(shū)類(lèi)別管理界面包括對(duì)圖書(shū)類(lèi)別的添加與維護(hù)功能,為了頁(yè)面的簡(jiǎn)潔性與操作的便利性,將圖書(shū)類(lèi)別的查詢(xún)、修改與刪除操作統(tǒng)一放在了維護(hù)功能內(nèi)。在圖書(shū)類(lèi)別添加界面,在添加完類(lèi)別與類(lèi)別的簡(jiǎn)單描述之后,數(shù)據(jù)庫(kù)將通過(guò)insert語(yǔ)句,完成對(duì)圖書(shū)類(lèi)別的添加;在維護(hù)功能頁(yè)面,數(shù)據(jù)庫(kù)將通過(guò)select語(yǔ)句、update語(yǔ)句、delete語(yǔ)句分別對(duì)圖書(shū)類(lèi)別進(jìn)行查詢(xún)、修改、刪除操作。圖書(shū)類(lèi)別添加界面如圖5-3所示,圖書(shū)類(lèi)別維護(hù)界面如圖5-4所示。圖5-3圖書(shū)類(lèi)別添加界面圖5-4圖書(shū)類(lèi)別維護(hù)界面具體功能實(shí)現(xiàn)代碼:publicclassBookTypeDao{ publicintadd(Connectioncon,BookTypebookType)throwsException{ Stringsql="insertintot_bookTypevalues(null,?,?)"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,bookType.getBookTypeName()); pstmt.setString(2,bookType.getBookTypeDesc()); returnpstmt.executeUpdate(); } publicResultSetlist(Connectioncon,BookTypebookType)throwsException{ StringBuffersb=newStringBuffer("select*fromt_bookType"); if(StringUtil.isNotEmpty(bookType.getBookTypeName())){ sb.append("andbookTypeNamelike'%"+bookType.getBookTypeName()+"%'"); } PreparedStatementpstmt=con.prepareStatement(sb.toString().replaceFirst("and","where")); returnpstmt.executeQuery(); } publicintdelete(Connectioncon,Stringid)throwsException{ Stringsql="deletefromt_bookTypewhereid=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,id); returnpstmt.executeUpdate(); } publicintupdate(Connectioncon,BookTypebookType)throwsException{ Stringsql="updatet_bookTypesetbookTypeName=?,bookTypeDesc=?whereid=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,bookType.getBookTypeName()); pstmt.setString(2,bookType.getBookTypeDesc()); pstmt.setInt(3,bookType.getId()); returnpstmt.executeUpdate(); }}5.3圖書(shū)信息管理界面圖書(shū)信息管理界面包括對(duì)圖書(shū)信息的添加與維護(hù)功能,為了頁(yè)面的簡(jiǎn)潔性與操作的便利性,將圖書(shū)信息的查詢(xún)、修改與刪除操作統(tǒng)一放在了維護(hù)功能內(nèi)。在圖書(shū)信息添加界面,在添加完圖書(shū)的名稱(chēng)、作者、價(jià)格等信息后,數(shù)據(jù)庫(kù)將通過(guò)insert語(yǔ)句,完成對(duì)圖書(shū)信息的添加;在維護(hù)功能頁(yè)面,數(shù)據(jù)庫(kù)將通過(guò)select語(yǔ)句、update語(yǔ)句、delete語(yǔ)句分別對(duì)圖書(shū)信息進(jìn)行查詢(xún)、修改、刪除操作,圖書(shū)信息添加界面如圖5-5所示,圖書(shū)信息維護(hù)界面如圖5-6所示。圖5-5圖書(shū)信息添加界面圖5-6圖書(shū)信息維護(hù)界面具體功能實(shí)現(xiàn)代碼:publicclassBookDao{ publicintadd(Connectioncon,Bookbook)throwsException{ Stringsql="insertintot_bookvalues(null,?,?,?,?,?,?)"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,book.getBookName()); pstmt.setString(2,book.getAuthor()); pstmt.setString(3,book.getSex()); pstmt.setFloat(4,book.getPrice()); pstmt.setInt(5,book.getBookTypeId()); pstmt.setString(6,book.getBookDesc()); returnpstmt.executeUpdate(); } publicResultSetlist(Connectioncon,Bookbook)throwsException{ StringBuffersb=newStringBuffer("select*fromt_bookb,t_bookTypebtwhereb.bookTypeId=bt.id"); if(StringUtil.isNotEmpty(book.getBookName())){ sb.append("andb.bookNamelike'%"+book.getBookName()+"%'"); } if(StringUtil.isNotEmpty(book.getAuthor())){ sb.append("andb.authorlike'%"+book.getAuthor()+"%'"); } if(book.getBookTypeId()!=null&&book.getBookTypeId()!=-1){ sb.append("andb.bookTypeId="+book.getBookTypeId()); } PreparedStatementpstmt=con.prepareStatement(sb.toString()); returnpstmt.executeQuery(); } publicintdelete(Connectioncon,Stringid)throwsException{ Stringsql="deletefromt_bookwhereid=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,id); returnpstmt.executeUpdate(); } publicintupdate(Connectioncon,Bookbook)throwsException{ Stringsql="updatet_booksetbookName=?,author=?,sex=?,price=?,bookDesc=?,bookTypeId=?whereid=?"; PreparedStatementpstmt=con.prepareStatement(sql); pstmt.setString(1,book.getBookName()); pstmt.setString(2,book.getAuthor()); pstmt.setString(3,book.getSex()); pstmt.setFloat(4,book.getPrice()); pstmt.setString(5,book.getBookDesc()); pstmt.setInt(6,book.getBookTypeId()); pstmt.setInt(7,book.getId()); returnpstmt.executeUpdate(); }}5.4功能界面實(shí)現(xiàn)原理系統(tǒng)整體使用swing框架,若要主界面添加菜單,則需要添加菜單空間menu和標(biāo)簽控件lable,然后在init方法內(nèi)設(shè)置各項(xiàng)屬性即可;若要在原窗體內(nèi)添加對(duì)象,則需先在init方法里添加所需控件,然后實(shí)例化對(duì)象,最后用代碼設(shè)置各項(xiàng)屬性;若要添加一個(gè)彈出式窗體,則先需將菜單項(xiàng)做好,加入一個(gè)監(jiān)聽(tīng)事件處理器,被彈出窗體要以新建源文件的形式編寫(xiě)(新建Java類(lèi)),并添加一個(gè)事件處理方法,然后在構(gòu)造方法里調(diào)用動(dòng)態(tài)加載的init方法,,再在這個(gè)動(dòng)態(tài)加載方法里添加要顯示的內(nèi)容即可。5.5數(shù)據(jù)庫(kù)實(shí)現(xiàn)系統(tǒng)與數(shù)據(jù)庫(kù)的成功連接和搭建,是該系統(tǒng)能夠順利實(shí)現(xiàn)其各個(gè)模塊功能的重要環(huán)節(jié),這個(gè)環(huán)節(jié)中利用Sqlyog建立連接并新建用戶表、圖書(shū)類(lèi)別管理表、圖書(shū)信息管理表后,再通過(guò)使用JDBC等各項(xiàng)技術(shù),實(shí)現(xiàn)了系統(tǒng)與數(shù)據(jù)庫(kù)的連接,具體代碼如下:publicclassDbUtil{ privateStringdbUrl="jdbc:mysql://localhost:3306/db_book"; privateStringdbUserName="root"; privateStringdbPassword="123456"; privateStringjdbcName="com.mysql.jdbc.Driver"; publicConnectiongetCon()throwsException{ Class.forName(jdbcName); Connectioncon=Dr

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論