jsp圖書館圖書借閱管理系統(tǒng)-qlrp-缺代碼論文_第1頁(yè)
jsp圖書館圖書借閱管理系統(tǒng)-qlrp-缺代碼論文_第2頁(yè)
jsp圖書館圖書借閱管理系統(tǒng)-qlrp-缺代碼論文_第3頁(yè)
jsp圖書館圖書借閱管理系統(tǒng)-qlrp-缺代碼論文_第4頁(yè)
jsp圖書館圖書借閱管理系統(tǒng)-qlrp-缺代碼論文_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)圖書管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要圖書館作為人們生活中不可或缺的洗滌自己心靈方式地方,應(yīng)該改變傳統(tǒng)圖書管理中的不足,將現(xiàn)代圖書管理與網(wǎng)絡(luò)相結(jié)合,利用互聯(lián)網(wǎng)絡(luò)本身的特性,打破地理位置的約束,將現(xiàn)代圖書管理模式傳播到人們眼前。目前,網(wǎng)絡(luò)中已經(jīng)出現(xiàn)了大量的圖書管理方式,圖書管理作為時(shí)代的必然產(chǎn)物,已經(jīng)得到了人們的認(rèn)同。隨著互聯(lián)網(wǎng)絡(luò)在圖書管理領(lǐng)域的廣泛應(yīng)用,本課題主要設(shè)計(jì)了計(jì)算機(jī)圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,為人們提供一個(gè)休閑的讀書場(chǎng)所,緩解現(xiàn)代人們?cè)絹碓酱蟮膲毫?,并?shí)現(xiàn)對(duì)圖書更好的管理,讓更多的人能夠從介紹、閱讀整個(gè)過程更加方便。本文闡述了圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),本系統(tǒng)采用myeclipse10+SQLSever2005作為開發(fā)工具。主要實(shí)現(xiàn)書架管理、圖書與讀者類型管理、讀者管理、圖書管理、還創(chuàng)建了正在借閱與借閱歷史等管理界面。本系統(tǒng)操作簡(jiǎn)單,界面友好。。關(guān)鍵詞:圖書,jsp,Java,mysql;DesignandRealizationofASmallDigitalLibraryAbstractLibrary,asanessentialpartofpeoplelifewayofwashinginourownminds,shouldchangethedeficiencyoftraditionalbookmanagement,combiningthemodernbooksmanagementandnetwork,usingthecharacteristicsoftheInternetitself,breaktheconstraintsofgeographicallocation,spreadtothemodernbooksmanagementmode.Atpresent,thenetworkhasemergedalargenumberofbooksmanagement,booksmanagementastheinevitableoutcomeofTheTimes,hasobtainedpeople'sapproval.WiththewideapplicationofInternetnetworkinthefieldoflibrarymanagement,thistopicmainlydesignedthecomputerbooksmanagementsystemmanagementsystemdesignandimplementationofthescheme,providepeoplewithaleisurereadingplace,alleviatethepressureofthemodernpeoplemoreandmorebig,andachievebettermanagementofbooks,letmorepeopletothewholeprocessfromtheintroduction,readingmoreconvenient.Thisarticleelaboratedthebooksmanagementsystemmanagementsystemdesignandimplementation,thissystemadoptsthemyeclipse10+SQLSever2005asadevelopmenttool.Mainrealizationbookshelf,thetypesofbooksandreadersmanagement,readermanagement,librarymanagement,alsocreatedareborrowingandlendinghistorymanagementinterface,etc.Thissystemoperationissimple,friendlyinterface.KeyWords:Library,jsp,SQLSEVER2005

目錄259201緒論 -1-120611.1課題背景及意義 -1-284601.2課題的研究與開發(fā)目的 -1-61351.3本文的主要工作 -2-237732圖書館管理系統(tǒng)的需求分析 -3-86502.1系統(tǒng)需求分析 -3-255582.2系統(tǒng)流程分析 -3-184742.3系統(tǒng)功能分析 -3-176533開發(fā)工具及相關(guān)技術(shù) -4-55523.1myeclipse軟件的介紹 -4-166013.2JSP語言的簡(jiǎn)介 -4-202903.3Mysql介紹 -5-318834圖書管理系統(tǒng)的總體設(shè)計(jì) -6-47584.1系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì) -6-164964.2數(shù)據(jù)庫(kù)的E-R圖 -8-189114.3系統(tǒng)主要功能的用例圖 -8-96634.4系統(tǒng)主要功能的靜態(tài)圖 -9-24034.5系統(tǒng)的組件視圖 -10-56125圖書管理系統(tǒng)主要實(shí)現(xiàn)的功能 -10-236615.1登入界面 -11-203515.2用戶管理界面 -11-193225.3圖書與讀者類型界面 -12-225955.4圖書與讀者管理界面 -12-271855.5正在借閱與借閱歷史界面 -13-143006測(cè)試與分析 -13-17726.1為什么要進(jìn)行系統(tǒng)測(cè)試軟件 -14-163076.2軟件測(cè)試 -14-189226.3本系統(tǒng)測(cè)試 -15-231247結(jié)論 -15-30172附錄 -16-28446參考文獻(xiàn) -20-18742致謝 -2116-1緒論1.1項(xiàng)目研究背景隨著改革開放的進(jìn)一步深入,科學(xué)技術(shù)的發(fā)展越來越快,也愈來愈影響到人們的生活。手機(jī)、固定電話也逐漸進(jìn)入尋常百姓家。電話的普及使人與人之間的關(guān)系更加密切,交流也更加便捷頻繁。移動(dòng)通信逐漸成為通信領(lǐng)域中的主流。在這種通信環(huán)境下,人們可以在任何地方、任何時(shí)間享受自由通信,通話質(zhì)量幾乎不受電磁波等外界環(huán)境的影響,而高效便捷的通訊錄是保持良好通信的重要基礎(chǔ)。傳統(tǒng)的通訊錄是把聯(lián)系人信息寫到紙質(zhì)材料上,這種通訊錄攜帶不方便,而且修改、查詢都會(huì)增加時(shí)間成本[1]。還有一種是名片夾通訊錄,這種通訊錄也有較多的缺點(diǎn)。名片夾容量有限,不宜批量、長(zhǎng)時(shí)間保存。現(xiàn)在比較流行的通訊錄是我們的手機(jī)電話簿。手機(jī)容量較大,且可以長(zhǎng)時(shí)間保存。但是手機(jī)存儲(chǔ)界面單一,存儲(chǔ)單元的信息也較少[2]。一旦手機(jī)丟失或損壞,通訊錄也就無法找回。因此,開發(fā)一個(gè)免費(fèi)的、功能豐富的基于網(wǎng)絡(luò)存儲(chǔ)的個(gè)人通訊錄是非常有必要的。1.2課題的研究的目的與意義現(xiàn)今社會(huì)網(wǎng)絡(luò)無處不在,無孔不入。我們可以在網(wǎng)絡(luò)上建立一個(gè)WEB服務(wù)系統(tǒng)。這種系統(tǒng)能夠固定存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器上,專門記錄用戶聯(lián)系人的信息。隨著硬件成本的降低和服務(wù)需求的增長(zhǎng),手機(jī)的功能越來越多,而且大都支持互聯(lián)網(wǎng)接入,這樣我們便可以隨時(shí)隨地在線查找、更新通訊錄。在此基礎(chǔ)上還可以開發(fā)出手機(jī)客戶端。手機(jī)客戶端不僅可以提高信息檢索的速度,而且沒有網(wǎng)絡(luò)復(fù)雜環(huán)境的影響[3]。此外客戶端還會(huì)定期更新信息,保持手機(jī)和網(wǎng)絡(luò)信息的同步。1.3系統(tǒng)設(shè)計(jì)思想對(duì)于典型的數(shù)據(jù)庫(kù)管理系統(tǒng),尤其是通訊錄這樣的存儲(chǔ)信息特別大的網(wǎng)絡(luò)管理系統(tǒng),必須要滿足使存儲(chǔ)數(shù)據(jù)方便、操作數(shù)據(jù)靈活等要求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)該滿足以下幾個(gè)目標(biāo):(1)采用良好的人機(jī)界面設(shè)計(jì)模式,界面?zhèn)€性、友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)準(zhǔn)確、安全可靠;(2)快速存儲(chǔ)聯(lián)系人大量信息;(3)用戶可以多條件進(jìn)行信息檢索;(4)新用戶可以快速注冊(cè),登陸系統(tǒng)后可以隨時(shí)修改自己的基本資料;(5)實(shí)現(xiàn)添加、刪除聯(lián)系人類別的功能;(6)實(shí)現(xiàn)聯(lián)系人類別排行功能,以方便用戶了解聯(lián)系人信息;(7)可以實(shí)現(xiàn)用戶之間留言的功能;(8)用戶可以隨時(shí)查看留言、聯(lián)系人信息;(9)對(duì)輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),并有合理的信息提示,盡可能排除人為的錯(cuò)誤[9]。1.4本文結(jié)構(gòu)本文具體內(nèi)容包括:可行性分析、需求分析、系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、系統(tǒng)的測(cè)試。著重描述了通訊錄系統(tǒng)的組成與結(jié)構(gòu),闡述了系統(tǒng)的設(shè)計(jì)方案、實(shí)現(xiàn)方法以及所采用的開發(fā)工具和相關(guān)技術(shù),另外,重點(diǎn)剖析了部分環(huán)節(jié)的開發(fā)過程。本系統(tǒng)在一定的環(huán)境下,分別從管理員的角度和普通用戶的角度,對(duì)系統(tǒng)的重要模塊進(jìn)行了反復(fù)的模擬測(cè)試,模擬測(cè)試結(jié)果與預(yù)期結(jié)果相符,從而充分證實(shí)了系統(tǒng)的可用性、易操作性。從數(shù)據(jù)庫(kù)數(shù)據(jù)角度,對(duì)系統(tǒng)的相關(guān)模塊進(jìn)行,全方位覆蓋測(cè)試,測(cè)試結(jié)果沒有Bug出現(xiàn),證實(shí)了系統(tǒng)的準(zhǔn)確性、可靠性。管理員和用戶都可以放心使用,不用擔(dān)心操作困難,以及信息泄露等安全問題,而且操作效率高,易維護(hù)。2系統(tǒng)開發(fā)環(huán)境與技術(shù)介紹本章主要是對(duì)本系統(tǒng)的系統(tǒng)開發(fā)環(huán)境以及設(shè)計(jì)系統(tǒng)所使用相關(guān)技術(shù)的介紹,通過第一章的介紹我們已經(jīng)對(duì)個(gè)人通訊錄系統(tǒng)的國(guó)內(nèi)外現(xiàn)狀以及系統(tǒng)目標(biāo)有了一定的了解。為了改善控制結(jié)構(gòu),提高程序的可讀性、可移植性、可擴(kuò)展性與可維護(hù)性,本系統(tǒng)采用了結(jié)構(gòu)化的設(shè)計(jì)方法本系統(tǒng)詳細(xì)設(shè)計(jì)的原則是采用結(jié)構(gòu)化的設(shè)計(jì)方法。2.1系統(tǒng)運(yùn)行平臺(tái)設(shè)置本系統(tǒng)的運(yùn)行平臺(tái)設(shè)置分為硬件環(huán)境和軟件環(huán)境。硬件環(huán)境系統(tǒng)的硬件環(huán)境配置為處理器PentiumIII800,內(nèi)存512M,硬盤1G。軟件環(huán)境系統(tǒng)的軟件環(huán)境配置為WindowsXP操作系統(tǒng),MySql數(shù)據(jù)庫(kù),JDK1.5、MyEclipse6.0開發(fā)工具包和Tomcat6.0服務(wù)器。2.2運(yùn)行環(huán)境系統(tǒng)開發(fā)環(huán)境:MyEclipseJavaEnterprise6.5系統(tǒng)開發(fā)語言:Java運(yùn)行平臺(tái):WindowsXP數(shù)據(jù)庫(kù):MySQLWeb服務(wù)器:Tomcat6.0使用該方案,不僅可以提高程序運(yùn)行效率,而且可以減少成本,提高數(shù)據(jù)安全性。2.3開發(fā)工具及技術(shù)簡(jiǎn)介以下內(nèi)容是對(duì)本系統(tǒng)所采用的開發(fā)工具和技術(shù)進(jìn)行的簡(jiǎn)單介紹。2.3.1開發(fā)工具簡(jiǎn)介MyEclipse簡(jiǎn)介MyEclipse是一個(gè)非常優(yōu)秀的集成開發(fā)環(huán)境,它旨在簡(jiǎn)化用于多操作系統(tǒng)軟件工具的開發(fā)過程,可以用于管理多種開發(fā)任務(wù),其中包括測(cè)試、性能調(diào)整以及程序調(diào)試等,而且還可以集成來自多個(gè)供應(yīng)商的第三方應(yīng)用程序開發(fā)工具[10]。通過集成大量的插件,Eclipse的功能可以不斷擴(kuò)展,以支持各種不同的應(yīng)用。MySQL簡(jiǎn)介MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。MySQL的SQL結(jié)構(gòu)化查詢語言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語言[12]。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。其存儲(chǔ)和管理數(shù)據(jù)有以下優(yōu)點(diǎn):=1\*GB3①優(yōu)化的SQL查詢算法,有效地提高查詢速度。=2\*GB3②提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。=3\*GB3③提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。=4\*GB3④可以處理?yè)碛猩锨f條記錄的大型數(shù)據(jù)庫(kù)。=5\*GB3⑤支持AIX、Linux、NovellNetware、Solaris、Windows等多種操作系統(tǒng)[13]。=6\*GB3⑥為多種編程語言提供了API。這些編程語言包括C、C++、Java、PHP、Ruby和Tcl等。2.3.2開發(fā)技術(shù)簡(jiǎn)介本系統(tǒng)需要用到的Java相關(guān)技術(shù)有jsp技術(shù)、DWR技術(shù)、jdbc技術(shù)、SSH框架。其中,關(guān)鍵的技術(shù)難點(diǎn)在于Struts2技術(shù)的運(yùn)用。Struts2技術(shù)是基于MVC的Web應(yīng)用框架,有良好的架構(gòu)和設(shè)計(jì),可重用,模塊化,擴(kuò)展性好,而且是開源代碼[14]。MVC(Model-View-Controller)是一種設(shè)計(jì)模式,它把應(yīng)用程序分成3個(gè)核心模塊:Model(模型)、View(視圖)、Controller(控制器)。視圖提供可交互的用戶界面,向用戶顯示模型數(shù)據(jù),但是視圖并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。模型是應(yīng)用程序的主體部分,表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯,一個(gè)模型能為多個(gè)視圖提供業(yè)務(wù)數(shù)據(jù),同一個(gè)模型可以被多個(gè)視圖重用??刂破鹘邮沼脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的請(qǐng)求,當(dāng)用戶在視圖上選擇按鈕或菜單時(shí),控制器接收請(qǐng)求并調(diào)用相應(yīng)的模型組件去處理請(qǐng)求,然后調(diào)用相應(yīng)的視圖來顯示模型返回的數(shù)據(jù)。MVC的3個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),能構(gòu)造良好的松耦合的組件。多個(gè)視圖能共享一個(gè)模型。在MVC設(shè)計(jì)模式中,模型響應(yīng)用戶請(qǐng)求并返回響應(yīng)數(shù)據(jù),視圖負(fù)責(zé)格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,業(yè)務(wù)邏輯和數(shù)據(jù)表示分離,同一個(gè)模型可以被不同的視圖重用,所以大大提高了模型層的程序代碼的可重用性。模型是自包含的,與控制器和視圖保持相對(duì)獨(dú)立,因此可以方便地改變應(yīng)用程序的業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)規(guī)則??刂破魈岣吡藨?yīng)用程序的靈活性和可配置性??梢杂脕磉B接不同的模型和視圖去完成用戶的需求。MVC模式可以實(shí)現(xiàn)JavaEE應(yīng)用的多層構(gòu)架,層與層之間以松耦合的方式組織在一起,各層完成獨(dú)立的功能,所以一旦哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)層中的代碼而不會(huì)影響到其他層的代碼,利于系統(tǒng)的擴(kuò)展和維護(hù)。3可行性分析可行性研究主要內(nèi)容是要求以全面、系統(tǒng)的分析為主要方法,經(jīng)濟(jì)效益為核心,圍繞影響項(xiàng)目的各種因素,運(yùn)用大量的數(shù)據(jù)資料論證擬建項(xiàng)目是否可行。對(duì)整個(gè)可行性研究提出綜合分析評(píng)價(jià),指出優(yōu)缺點(diǎn)和建議。為了結(jié)論的需要,往往還需要加上一些附件,如試驗(yàn)數(shù)據(jù)、論證材料、計(jì)算圖表、附圖等,以增強(qiáng)可行性報(bào)告的說服力[15]。本章主要對(duì)系統(tǒng)開發(fā)的可行性進(jìn)行具體的分析,從用戶方角度考慮本系統(tǒng)是否可行,主要通過有力的數(shù)據(jù)和軟件運(yùn)行環(huán)境方面作為依據(jù)。通過經(jīng)濟(jì)可行性、技術(shù)可行性、應(yīng)用可行性、運(yùn)行可行性、等方面的分析說明本工程的技術(shù)成熟、完備,測(cè)試手段可靠,具有良好的市場(chǎng)拓展,它追求的是簡(jiǎn)單、易學(xué)、易懂、易用。通訊錄系統(tǒng),從長(zhǎng)遠(yuǎn)來看,不僅有效管理了聯(lián)系人信息,而且方便整合自己的人脈資源。該系統(tǒng)具有一定的擴(kuò)展性,既可以用于個(gè)人,也能滿足企業(yè)的簡(jiǎn)單需求。3.1myeclipse軟件的介紹MyEclipse是比eclipse功能更加強(qiáng)大的一種企業(yè)級(jí)集成開發(fā)環(huán)境,主要用于Java、JavaEE以及移動(dòng)應(yīng)用的開發(fā)。MyEclipse的功能非常強(qiáng)大,應(yīng)用領(lǐng)域更加廣泛,在網(wǎng)站開發(fā)領(lǐng)域備受人們青睞。3.2JSP語言的簡(jiǎn)介Java語言自從1996年正式發(fā)布。目前已經(jīng)成長(zhǎng)為IT領(lǐng)域必不可少的主流編程語言。Java起源于Sun公司的“Green”項(xiàng)目。1999年,Sun公司把Java2技術(shù)分成了J2SE,J2EE和J2ME。進(jìn)入21世紀(jì)以后,J2EE由于固有的良好的線性和可擴(kuò)展性,逐漸成為各大開發(fā)商青睞的對(duì)象。Java語言中具有面向?qū)ο蟮膬?yōu)勢(shì)、安全、跨平臺(tái)、直接支持分布式的網(wǎng)絡(luò)中的應(yīng)用、效率等.Java語言是非常簡(jiǎn)單且高效的,它使編程時(shí)間縮短,卻使功能增強(qiáng),方便。Java語言就像萬花筒一樣,隨意只是幾個(gè)普通碎片組成起來,但是只要你發(fā)揮想象輕輕搖一搖,就會(huì)變換出千萬種不同的花色。2.互聯(lián)網(wǎng)已經(jīng)發(fā)展成為Web應(yīng)用程序中,如電子商務(wù),電子政務(wù),應(yīng)用系統(tǒng)的基礎(chǔ)設(shè)施。在開發(fā)Web程序中已經(jīng)不像傳統(tǒng)的HTML不能滿足客戶需求,滿足客戶需求或者客戶需要時(shí),必須通過添加代碼才可實(shí)現(xiàn)。目前,生成動(dòng)態(tài)網(wǎng)頁(yè)的方法有CGI、ASP.NET、PHP和JSP。其中JSP是基于Java的。JSP具有以下特點(diǎn):1.可以將代碼和所顯示內(nèi)容分離2.可以凸顯出重要的組件3.采用有標(biāo)識(shí)可簡(jiǎn)化的頁(yè)面開發(fā)4.是企業(yè)級(jí)的可擴(kuò)展性和延伸性。3.3Mysql介紹SQLSever2005是非結(jié)構(gòu)化語言,用戶可以在高層數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)上工作,并且其語言簡(jiǎn)單,學(xué)習(xí)起來比較容易,其結(jié)構(gòu)也簡(jiǎn)單,功能強(qiáng)大,存儲(chǔ)信息量大,SQLSever2005是一種主要應(yīng)用于數(shù)據(jù)的查詢和編程,現(xiàn)在普遍存在的關(guān)系數(shù)據(jù)庫(kù)有很多,而SQL數(shù)據(jù)庫(kù)在其中得到了普遍的應(yīng)用。使用SQLSever2005數(shù)據(jù)庫(kù)在編程過程中帶來了極大的方便,可以對(duì)數(shù)據(jù)進(jìn)行廣泛地查詢,SQLSever2005數(shù)據(jù)庫(kù)的應(yīng)用并不需要用戶了解其存儲(chǔ)的方式,更不用掌握數(shù)據(jù)存放的方法,所以,SQL數(shù)據(jù)庫(kù)是完全不同于其他數(shù)據(jù)的結(jié)構(gòu),并且不同數(shù)據(jù)庫(kù)系統(tǒng)也可以使用相同的數(shù)據(jù)庫(kù)進(jìn)行輸入和管理的接口,它的操縱對(duì)象是記錄相應(yīng)集合,SQL數(shù)據(jù)庫(kù)的靈活性較強(qiáng),功能也較強(qiáng)大,大多數(shù)情況下,在其他程序中實(shí)現(xiàn)某功能需要編寫一大堆代碼,而在SQL數(shù)據(jù)庫(kù)中只需要一小段代碼就可以實(shí)現(xiàn)功能,所以,SQL數(shù)據(jù)庫(kù)的語言較簡(jiǎn)潔,數(shù)據(jù)庫(kù)文件的擴(kuò)展名是SQL。數(shù)據(jù)庫(kù),就是數(shù)據(jù)存儲(chǔ)的儲(chǔ)藏室,只不過數(shù)據(jù)是存儲(chǔ)在計(jì)算機(jī)上的,而不是現(xiàn)實(shí)中的儲(chǔ)藏室,數(shù)據(jù)的存放是按固定格式,而不是無序的,則定義就是:長(zhǎng)期有固定格式,可以共享的存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器上。數(shù)據(jù)庫(kù)管理主要包括數(shù)據(jù)表的建立,數(shù)據(jù)存儲(chǔ)、修改和增加數(shù)據(jù),為了使數(shù)據(jù)庫(kù)系統(tǒng)能夠正常運(yùn)行,相關(guān)人員進(jìn)行的管理工作。數(shù)據(jù)表的建立,可以對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行調(diào)整,數(shù)據(jù)的重新組合及重新構(gòu)造,保證數(shù)據(jù)的安全性。介于數(shù)據(jù)庫(kù)的功能強(qiáng)大等特點(diǎn),本系統(tǒng)的開發(fā)主要應(yīng)用了SQLSever2005進(jìn)行對(duì)數(shù)據(jù)的管理。4圖書管理系統(tǒng)的總體設(shè)計(jì)4.1系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)根據(jù)對(duì)本系統(tǒng)的設(shè)計(jì)分析劃分,對(duì)于計(jì)算機(jī)系圖書管理系統(tǒng)一共設(shè)計(jì)了如下幾個(gè)表。它們分別是:圖書表(book),管理員表(admins),用戶表(users),圖書借閱表(brow),圖書類型表(types)。如下所示:(1)圖書表(book):主要用于存放圖書的詳細(xì)信息。其詳細(xì)設(shè)計(jì)結(jié)構(gòu)如表1所示。表1book結(jié)構(gòu)表字段類型中文翻譯IdInt主鍵標(biāo)示namesnvarchar(50)書名TidInt圖書類型Nonvarchar(50)書號(hào)Zznvarchar(50)作者Dwnvarchar(50)出版單位Sjnvarchar(50)出版時(shí)間Jgnvarchar(50)價(jià)格(2)用戶表(users):主要用于存放用戶的詳細(xì)信息。其詳細(xì)設(shè)計(jì)結(jié)構(gòu)如表2所示。表2admins結(jié)構(gòu)表字段類型中文翻譯IdInt主鍵標(biāo)示usernamenvarchar(50)用戶名passwordnvarchar(50)密碼Namenvarchar(50)真實(shí)姓名telnvarchar(50)電話Nonvarchar(50)身份證(3)圖書類別表(types):主要用于存放圖書類型的詳細(xì)信息。其詳細(xì)設(shè)計(jì)結(jié)構(gòu)如表1所示。表3booktype結(jié)構(gòu)表字段類型中文翻譯IdInt主鍵標(biāo)示namesnvarchar(50)類型名稱(4)借閱信息表(brow):主要用于存放用戶的詳細(xì)信息。其詳細(xì)設(shè)計(jì)結(jié)構(gòu)如表2所示。表4admins結(jié)構(gòu)表字段類型中文翻譯IdInt主鍵標(biāo)示Uidnvarchar(50)借閱者Bidnvarchar(50)圖書表begintimedatetime開始時(shí)間endtimedatetime結(jié)束時(shí)間statesnvarchar(50)狀態(tài)daysInt借閱天數(shù)4.2數(shù)據(jù)庫(kù)的E-R圖圖4-1ER圖4.3系統(tǒng)主要功能的用例圖圖4-2用例圖4.4系統(tǒng)主要功能的靜態(tài)圖圖4-3靜態(tài)圖4.5系統(tǒng)的組件視圖圖4-4組件視圖5圖書管理系統(tǒng)主要實(shí)現(xiàn)的功能5.1登入界面作為系統(tǒng)的第一個(gè)界面,也是很重要的一個(gè)界面,登入界面主要是防止用戶權(quán)限,用戶必須登入才可以使用。在這個(gè)頁(yè)面設(shè)計(jì)中,有兩個(gè)輸入框,一個(gè)是用戶名一個(gè)是密碼,在頁(yè)面用js進(jìn)行了驗(yàn)證控制,然后在后臺(tái)java代碼中隊(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢,如果存在在根據(jù)權(quán)限調(diào)整到相應(yīng)界面,如果不存在則給出提示。圖5-1用戶登錄界面5.2用戶管理界面用戶管理界面,是對(duì)系統(tǒng)的參與用戶的進(jìn)行管理,這個(gè)頁(yè)面包含了增刪改和列表幾個(gè)基本的功能,在本系統(tǒng)中有很多這樣的頁(yè)面,這里就以此頁(yè)面作為例子,后面不做重復(fù)界面。此頁(yè)面上半部分有個(gè)功能菜單,分別為增加,刪除,修改。點(diǎn)擊增加按鈕會(huì)跳轉(zhuǎn)到新增頁(yè)面,選中一條點(diǎn)擊修改按鈕會(huì)跳轉(zhuǎn)到修改界面,選中一條點(diǎn)擊會(huì)進(jìn)行刪除。圖5-2用戶登錄界面5.3圖書與讀者類型界面圖5-3圖書類型界面圖5-4讀者類型界面5.4圖書與讀者管理界面圖5-5讀者管理界面圖5-6圖書管理界面5.5正在借閱與借閱歷史界面圖5-7正在借閱界面圖5-7借閱歷史界面

6測(cè)試與分析6.1為什么要進(jìn)行系統(tǒng)測(cè)試軟件隨著飛速發(fā)展的信息技術(shù),在社會(huì)的各大領(lǐng)域都已經(jīng)開始使用,因此人們會(huì)將關(guān)注的焦點(diǎn)放到軟件的質(zhì)量問題上來,已經(jīng)生存在競(jìng)爭(zhēng)的環(huán)境中無論是對(duì)軟件的使用還是生產(chǎn),所以軟件的質(zhì)量是占有市場(chǎng)率的重要任務(wù)。選擇好的軟件是用戶必須考慮的問題,也是為了使自己的業(yè)務(wù)能夠更好的完成。因?yàn)閷?duì)質(zhì)量不好的軟件無論是維修費(fèi)用還是用戶的使用起來都是付出更大的成本。6.2軟件測(cè)試軟件測(cè)試是在分析,編碼等后進(jìn)行的一項(xiàng)工作,在編寫出源碼之后,開始對(duì)軟件進(jìn)行測(cè)試,如果在測(cè)試之前沒有對(duì)軟件的錯(cuò)誤與缺陷進(jìn)行及時(shí)處理,可能導(dǎo)致軟件不能正常使用,所以通過測(cè)試來檢查問題與缺陷是處理這些問題的主要手段。測(cè)試并不是一項(xiàng)簡(jiǎn)單的工作,工作量占據(jù)整個(gè)開發(fā)過程的45%以上。測(cè)試的目的:能夠找出軟件開發(fā)的錯(cuò)誤與缺陷,對(duì)測(cè)試目的進(jìn)行認(rèn)識(shí)非常重要,所以在現(xiàn)實(shí)生活中會(huì)存在很多對(duì)測(cè)試工作錯(cuò)誤的看法,這對(duì)測(cè)試工作順利進(jìn)行影響很大。白盒測(cè)試和黑盒測(cè)試黑盒測(cè)試又稱為功能測(cè)試,在程序接口進(jìn)行,只檢查程序功能是否能夠按照規(guī)格說明書的規(guī)定正確使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并發(fā)生正確的輸出信息,而且要能夠保持外部信息的完整性。白盒測(cè)試又叫結(jié)構(gòu)測(cè)試,完全了解程序的結(jié)構(gòu)和處理過程,這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中每條通路是否都能按照預(yù)定要求正確工作。6.3本系統(tǒng)測(cè)試軟件的調(diào)試和測(cè)試程序開發(fā)中是必不可少的,通過測(cè)試可以檢測(cè)出程序中的錯(cuò)誤,然后進(jìn)行調(diào)試修改程序中的錯(cuò)誤,在程序開發(fā)中,人為進(jìn)行查錯(cuò)是非常復(fù)雜的,所以就會(huì)使用到測(cè)試工具進(jìn)行測(cè)試。測(cè)試方法有connent,測(cè)試true或者flase,Tunit測(cè)試等方法。在Myeclipse中應(yīng)用到了對(duì)程序進(jìn)行調(diào)試和測(cè)試的功能,在Myeclipse中的測(cè)試不是對(duì)整個(gè)項(xiàng)目進(jìn)行測(cè)試,而是對(duì)一小部分代碼進(jìn)行測(cè)試。首先,使用斷點(diǎn)測(cè)試,斷點(diǎn)測(cè)試在Myeclipse程序測(cè)試中起到非常重要的作用,如果不使用斷點(diǎn)進(jìn)行測(cè)試,若程序在調(diào)試過程中未發(fā)生異常,則程序會(huì)一直進(jìn)行下去,如果使用斷點(diǎn)進(jìn)行測(cè)試,就會(huì)將正在執(zhí)行的程序掛起,人為的對(duì)程序進(jìn)行控制,同時(shí),可以按F6繼續(xù)執(zhí)行。在調(diào)試中遇到斷點(diǎn)就會(huì)掛起,但有時(shí)我們并不想每次遇到斷點(diǎn)都要掛起,這時(shí)就可以使用到斷點(diǎn)計(jì)時(shí)數(shù)進(jìn)行測(cè)試,測(cè)試過程如下:創(chuàng)建測(cè)序程序后,就會(huì)自動(dòng)生成代碼,就會(huì)出現(xiàn)程序中的錯(cuò)誤然后進(jìn)行調(diào)試,使程序能正常運(yùn)行。7結(jié)論經(jīng)過四個(gè)多月的努力,在X導(dǎo)師指導(dǎo)下,我對(duì)計(jì)算機(jī)系圖書管理系統(tǒng)所應(yīng)該具有的功能有了較深刻的了解認(rèn)識(shí),在技能上面也具備了一定的實(shí)際開發(fā)經(jīng)驗(yàn)。從開發(fā)中認(rèn)識(shí)到開發(fā)計(jì)算機(jī)系圖書管理系統(tǒng)首先要明確用戶的需求,然后進(jìn)行系統(tǒng)分析,其次構(gòu)建系統(tǒng)模型、建立完善的數(shù)據(jù)庫(kù),接著編寫代碼,最后測(cè)試系統(tǒng)。明確用戶需求階段,在網(wǎng)上查閱了大量的醫(yī)院排班管理系統(tǒng)的相關(guān)資料,基本滿足了對(duì)系統(tǒng)的要求。系統(tǒng)分析階段,查閱了大量基于不同技術(shù)的開發(fā)的文章,具有了一定的理論基礎(chǔ)后,比較分析后采用了jsp 編程技術(shù)和SQLServer2005數(shù)據(jù)庫(kù),在Windows7操作系統(tǒng)環(huán)境下,運(yùn)用myeclipse開發(fā)工具,開發(fā)了這個(gè)計(jì)算機(jī)系圖書管理系統(tǒng)。本系統(tǒng)不但有良好的系統(tǒng)運(yùn)行穩(wěn)定性、可靠性和實(shí)用性,而且操作簡(jiǎn)單,維護(hù)方便,具有一定的實(shí)用價(jià)值。在需求分析結(jié)束后,系統(tǒng)進(jìn)入編程階段后,因?yàn)榫幊碳夹g(shù)的缺失,我遇到了很多的困難。首先數(shù)據(jù)庫(kù)的建立需要有很強(qiáng)的邏輯性,我在反復(fù)畫圖研究后仍然設(shè)計(jì)不出很理想的數(shù)據(jù)庫(kù)模型,對(duì)jsp編程語言的一些語法不是很了解,導(dǎo)致在開發(fā)調(diào)試過程中經(jīng)常出現(xiàn)一些細(xì)小錯(cuò)誤等。但經(jīng)過自己的努力及X老師的細(xì)心指導(dǎo),最終解決了這些問題,開發(fā)出一個(gè)實(shí)現(xiàn)基本功能的系統(tǒng),并達(dá)到了客戶預(yù)期的設(shè)想。經(jīng)過后期的測(cè)試和自己的了解,本系統(tǒng)還有很多不足之處需要改進(jìn),比如:程序中對(duì)頁(yè)面輸入信息的驗(yàn)證不夠全面,可能導(dǎo)致輸入不合法而造成程序錯(cuò)。但是在整個(gè)的系統(tǒng)開發(fā)開發(fā)過程中我學(xué)到了很多以前不了解的知識(shí),很好的增強(qiáng)了自己的動(dòng)手能力,積累了許多解決技術(shù)問題的的經(jīng)驗(yàn)。同時(shí)也讓我發(fā)現(xiàn)了自己的很多不足之處,有待在將來的工作學(xué)習(xí)中進(jìn)一步的改進(jìn)和完善,同時(shí)自己還需要掌握和運(yùn)用更多的知識(shí)和技能。

附錄圖書管理模塊程序代碼:添加部分代碼:Stringno=request.getParameter("no"); Stringnames=request.getParameter("names"); Stringtypes=request.getParameter("types"); Stringsj=request.getParameter("sj"); Stringcbs=request.getParameter("cbs"); Stringzz=request.getParameter("zz"); Stringjg=request.getParameter("jg"); Stringsqladd="insertintobook(no,names,types,sj,cbs,zz,jg,num,state)values('" +no+"','"+names+"','"+types+"','"+sj+"','"+cbs+"','"+zz+"','"+jg+"',0,1)"; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqladd); 刪除部分代碼:Stringid=request.getParameter("id"); Stringsqldelete="updatebooksetstate=0whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqldelete);列表部分代碼:StringpageNoStr=request.getParameter("pageNo")==null?"1" :request.getParameter("pageNo"); System.out.println("pageNoStr"+pageNoStr); System.out.println("request.getParameter()"+request.getParameter("pageNo")); intm=0; intn=30; inttotle=0; intpageNo=Integer.parseInt(pageNoStr); if(pageNo==1){//首頁(yè) }else{ m=(pageNo-1)*n; } Stringsql2="selectcount(*)frombookwhere1=1andstate=1"; Stringsql="select*frombookwhere1=1andstate=1" +"limit"+m+","+n; ResultSetrs=null; ResultSetrs2=null; System.out.println(sql); try{ PreparedStatementpstmt=conn.prepareStatement(sql); PreparedStatementpstmt2=conn.prepareStatement(sql2); rs=pstmt.executeQuery(); rs2=pstmt2.executeQuery(); rs2.next(); totle=rs2.getInt(1); }catch(SQLExceptione){ e.printStackTrace(); } inttotlePage=totle/n; inttotlePageY=totle%n; if(totlePageY!=0){ totlePage=totlePage+1; } List<Book>list=newArrayList<Book>(); try{ while(rs.next()){ Bookbean=newBook(); bean.setId(rs.getInt("id")); bean.setCbs(rs.getString("cbs")); bean.setJg(rs.getString("jg")); bean.setNames(rs.getString("names")); bean.setNo(rs.getString("no")); bean.setNum(rs.getInt("num")); bean.setSj(rs.getString("sj")); bean.setTypes(rs.getString("types")); bean.setZz(rs.getString("zz")); list.add(bean); } }catch(SQLExceptione){ e.printStackTrace(); } Pagepage=newPage(); page.setList(list); page.setPageNo(pageNo); page.setTotlePage(totlePage); page.setTotle(totle); request.setAttribute("page",page);借閱管理模塊程序代碼:借閱管理模塊主要實(shí)現(xiàn)兩部分的功能,一部分是圖書借閱,一部分是圖書歸還。借閱管理模塊我們是在BrowServlet.java中實(shí)現(xiàn)的,主要是在dopost函數(shù)中進(jìn)行了代碼的編寫。其中用到了Brow.java這個(gè)實(shí)體累。算法部分:我們利用mode變量作為一個(gè)條件選擇控制節(jié)點(diǎn)。對(duì)于借閱部分,當(dāng)mode值為add時(shí)則執(zhí)行借閱部分代碼。代碼執(zhí)行的結(jié)果是完成了圖書的借閱功能。對(duì)于還書部分,當(dāng)mode值為update時(shí)則執(zhí)行還書部分的代碼。代碼執(zhí)行的結(jié)果是完成還書操作。借閱代碼:Stringbid=request.getParameter("bid"); Stringuid=request.getParameter("uid"); Stringsqladd="insertintobrow(bid,uid,begintime,endtime,state)values(" +bid+","+uid+",now(),null,'借閱')"; System.out.println("======"+sqladd); Statementstmt=conn.createStatement(); stmt.executeUpdate(sqladd);還書代碼:Stringid=request.getParameter("id"); Stringsqlmodify="updatebrowsetendtime=now(),state='歸還'whereid="+id; Statementstmt=conn.createStatement(); stmt.executeUpdate(sqlmodify);在數(shù)據(jù)庫(kù)連接部分,我們采用高內(nèi)聚低耦合的模式,采用可靈活配置的數(shù)據(jù)庫(kù)算法,利用代碼和配置文件想結(jié)合的模式:所涉及的文件:DBCperties數(shù)據(jù)庫(kù)的配置文件//數(shù)據(jù)庫(kù)的驅(qū)動(dòng)driver=com.mysql.jdbc.Driver//連接數(shù)據(jù)庫(kù)字符串url=jdbc:mysql://localhost:3306/booklibsystem?useUnicode=true&characterEncoding=utf-8//

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論