畢業(yè)論文韋華興(定稿)_第1頁
畢業(yè)論文韋華興(定稿)_第2頁
畢業(yè)論文韋華興(定稿)_第3頁
畢業(yè)論文韋華興(定稿)_第4頁
畢業(yè)論文韋華興(定稿)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、廣西民族大學(xué) 本科畢業(yè)論文(設(shè)計(jì))論文題目: 基于J2EE的數(shù)字圖書館 學(xué)院(系):數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 專 業(yè) :軟件工程 年級(jí)班級(jí) :2006級(jí)2班 學(xué) 號(hào) : 學(xué)生姓名 :韋華興 指導(dǎo)教師 :劉美玲 職稱:講師 廣西民族大學(xué) 畢業(yè)論文(設(shè)計(jì))任務(wù)書 課題名稱: 基于J2EE的數(shù)字圖書館系統(tǒng) 學(xué)院:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院專 業(yè):軟件工程 班 級(jí):2006級(jí)2班 學(xué) 號(hào): 姓 名:韋華興 指導(dǎo)教師(簽名)_ 年 月 日教研室主任(簽名)_ 年 月 日 年 月 日畢業(yè)論文(設(shè)計(jì))任務(wù)書課題名稱基于J2EE的數(shù)字圖書館指導(dǎo)教師姓名劉美玲工作單位廣西民族大學(xué)數(shù)計(jì)學(xué)院主要內(nèi)容: 隨著科學(xué)技術(shù)的進(jìn)步,計(jì)

2、算機(jī)行業(yè)的迅速發(fā)展大大提高人們的工作效率。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多部門的經(jīng)營管理方式。圖書管理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成部分,試對(duì)圖書管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查研究,開發(fā)一套圖書管理系統(tǒng)。系統(tǒng)分析與設(shè)計(jì)所用的工具不限,實(shí)現(xiàn)的技術(shù)可以采用JSP和Servlet技術(shù),后臺(tái)數(shù)據(jù)庫任選,系統(tǒng)結(jié)構(gòu)為B/S?;疽?基本技術(shù)要求與數(shù)據(jù))閱讀理解教師指定的參考資料。論文格式按規(guī)范化要求撰寫,保證基本模型和求解的完成。文字表達(dá)通順,結(jié)構(gòu)邏輯合理(包括中英文摘要)。數(shù)據(jù)及論證可靠,理論結(jié)果有一定實(shí)際意義。論文字?jǐn)?shù)不少于6000字。論文(設(shè)計(jì))工作起始日期:自 2009 年 12 月20

3、 日起,至 2010 年 5 月 10 日止進(jìn)度與應(yīng)完成的工作:第一階段(2009.12.202010.1.20):布置論文題目,給學(xué)生推薦必讀參考材料第二階段(2010.1.212010.2.24):閱讀參考材料,構(gòu)思論文結(jié)構(gòu)第三階段(2010.2.252010.3.4):了解學(xué)生的構(gòu)作思路,給學(xué)生提出寫作建議和要求第四階段():完成初稿,檢查并指出修改意見第五階段(2010.4.212010.5.10):修改論文,定稿,打印論文(一式兩份)上交指導(dǎo)老師第六階段(2010.5.102010.5.24):論文答辯,評(píng)定成績主要參考文獻(xiàn)、資料 1 王立福. 軟件工程(第二版)M. 北京:北京大學(xué)

4、出版社.2002.2 張秋余,楊玥. 基于用例的需求建模方法J. 計(jì)算機(jī)工程與設(shè)計(jì),2006,19:3539-3541.3 王珊,薩師炫.數(shù)據(jù)庫系統(tǒng)概論(第三版)M. 北京:高等教育出版社.20024 孫衛(wèi)琴,李洪稱. Tomcat與Java Web開發(fā)技術(shù)詳解M. 北京:電子工業(yè)出版社,2003.5 何成萬,余秋惠. MVC模型2及軟件框架Struts的研究J. 計(jì)算機(jī)工程,2002,06:274-276.目 錄 TOC o 1-3 h z u HYPERLINK l _Toc261182960 基于J2EE的數(shù)字圖書館系統(tǒng) PAGEREF _Toc261182960 h 1 HYPERLI

5、NK l _Toc261182961 摘要 PAGEREF _Toc261182961 h 1 HYPERLINK l _Toc261182962 Abstract PAGEREF _Toc261182962 h 1 HYPERLINK l _Toc261182963 前言 PAGEREF _Toc261182963 h 2 HYPERLINK l _Toc261182964 1.系統(tǒng)需求分析 PAGEREF _Toc261182964 h 2 HYPERLINK l _Toc261182965 1.1功能需求 PAGEREF _Toc261182965 h 2 HYPERLINK l _To

6、c261182966 1.2性能需求 PAGEREF _Toc261182966 h 3 HYPERLINK l _Toc261182967 1.3可行性分析 PAGEREF _Toc261182967 h 3 HYPERLINK l _Toc261182968 運(yùn)行可行性 PAGEREF _Toc261182968 h 3 HYPERLINK l _Toc261182969 技術(shù)可行性 PAGEREF _Toc261182969 h 4 HYPERLINK l _Toc261182970 經(jīng)濟(jì)可行性 PAGEREF _Toc261182970 h 4 HYPERLINK l _Toc2611

7、82971 1.4非功能性需求 PAGEREF _Toc261182971 h 4 HYPERLINK l _Toc261182972 用戶界面 PAGEREF _Toc261182972 h 4 HYPERLINK l _Toc261182973 軟硬件環(huán)境 PAGEREF _Toc261182973 h 4 HYPERLINK l _Toc261182974 2.系統(tǒng)設(shè)計(jì) PAGEREF _Toc261182974 h 4 HYPERLINK l _Toc261182975 2.1系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc261182975 h 4 HYPERLINK l _Toc2611

8、82976 2.2系統(tǒng)功能設(shè)計(jì) PAGEREF _Toc261182976 h 6 HYPERLINK l _Toc261182977 系統(tǒng)總體結(jié)構(gòu)圖 PAGEREF _Toc261182977 h 6 HYPERLINK l _Toc261182978 系統(tǒng)管理員模塊 PAGEREF _Toc261182978 h 7 HYPERLINK l _Toc261182979 2.2.3 圖書管理員模塊 PAGEREF _Toc261182979 h 7 HYPERLINK l _Toc261182980 2.2.4 讀者模塊 PAGEREF _Toc261182980 h 7 HYPERLINK

9、 l _Toc261182981 2.3數(shù)據(jù)庫設(shè)計(jì) PAGEREF _Toc261182981 h 8 HYPERLINK l _Toc261182982 2.3.1數(shù)據(jù)庫設(shè)計(jì)概述 PAGEREF _Toc261182982 h 8 HYPERLINK l _Toc261182983 2.3.2 圖書信息表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc261182983 h 9 HYPERLINK l _Toc261182984 圖書類型信息表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc261182984 h 10 HYPERLINK l _Toc261182985 圖書借還信息表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc

10、261182985 h 10 HYPERLINK l _Toc261182986 書庫信息表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc261182986 h 11 HYPERLINK l _Toc261182987 系統(tǒng)用戶信息表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc261182987 h 11 HYPERLINK l _Toc261182988 3.系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc261182988 h 12 HYPERLINK l _Toc261182989 3.1開發(fā)平臺(tái)與工具 PAGEREF _Toc261182989 h 12 HYPERLINK l _Toc261182990 J2EE平臺(tái)

11、PAGEREF _Toc261182990 h 12 HYPERLINK l _Toc261182991 WEB服務(wù)器和數(shù)據(jù)庫 PAGEREF _Toc261182991 h 12 HYPERLINK l _Toc261182992 使用框架組件 PAGEREF _Toc261182992 h 13 HYPERLINK l _Toc261182993 3.2程序?qū)崿F(xiàn) PAGEREF _Toc261182993 h 13 HYPERLINK l _Toc261182994 開發(fā)環(huán)境搭建 PAGEREF _Toc261182994 h 13 HYPERLINK l _Toc261182995 登錄

12、模塊實(shí)現(xiàn) PAGEREF _Toc261182995 h 16 HYPERLINK l _Toc261182996 系統(tǒng)管理員功能模塊實(shí)現(xiàn) PAGEREF _Toc261182996 h 17 HYPERLINK l _Toc261182997 圖書管理員功能模塊實(shí)現(xiàn) PAGEREF _Toc261182997 h 19 HYPERLINK l _Toc261182998 讀者功能模塊實(shí)現(xiàn) PAGEREF _Toc261182998 h 21 HYPERLINK l _Toc261182999 4.系統(tǒng)測(cè)試 PAGEREF _Toc261182999 h 23 HYPERLINK l _Toc

13、261183000 4.1測(cè)試的目的 PAGEREF _Toc261183000 h 23 HYPERLINK l _Toc261183001 5.結(jié)束語 PAGEREF _Toc261183001 h 24 HYPERLINK l _Toc261183002 5.1 工作成果 PAGEREF _Toc261183002 h 24 HYPERLINK l _Toc261183003 5.2 改進(jìn)意見 PAGEREF _Toc261183003 h 25 HYPERLINK l _Toc261183004 5.3 心得體會(huì) PAGEREF _Toc261183004 h 25 HYPERLINK

14、 l _Toc261183005 參考文獻(xiàn) PAGEREF _Toc261183005 h 26 HYPERLINK l _Toc261183006 致謝 PAGEREF _Toc261183006 h 27基于J2EE的數(shù)字圖書館系統(tǒng)摘要隨著科學(xué)技術(shù)的進(jìn)步,計(jì)算機(jī)行業(yè)的迅速發(fā)展大大提高人們的工作效率。計(jì)算機(jī)信息處理系統(tǒng)的引進(jìn)已徹底改變了許多部門的經(jīng)營管理方式。圖書管理系統(tǒng)是學(xué)校管理機(jī)制中的重要組成部分,通過對(duì)圖書管理系統(tǒng)的運(yùn)行管理機(jī)制進(jìn)行調(diào)查研究,開發(fā)了此圖書系統(tǒng)。本系統(tǒng)中解決了學(xué)校圖書管理事務(wù)中的常用基本問題以及相關(guān)工作。本系統(tǒng)中主要包含4個(gè)功能模塊:用戶管理,圖書管理,圖書借還,系統(tǒng)查詢

15、。本系統(tǒng)采用Extjs2.2框架進(jìn)行網(wǎng)頁界面的編寫,采用MVC設(shè)計(jì)模式,采用開源框架Struts + Spring2.5 + Ibatis2.3,這些框架采用了當(dāng)今軟件設(shè)計(jì)的最新技術(shù),具有開發(fā)效率高、設(shè)計(jì)靈活、生成的軟件界面友好美觀等特點(diǎn)。本系統(tǒng)中通過JDBC驅(qū)動(dòng)和數(shù)據(jù)庫進(jìn)行無縫連接,后端的數(shù)據(jù)庫是MySQL,也是一個(gè)開源的數(shù)據(jù)庫系統(tǒng),該數(shù)據(jù)庫具有較高的完整性,一致性和安全性。關(guān)鍵詞:J2EE 圖書館AbstractWith the progress of science and technology, the astonishing rapid development of the comp

16、uter industry has been improving peoples working efficiency greatly.The introduction of computerized information system has sharply changed the management mode in many departments in many fields. The management system of the library takes an important role in the administration of school organizatio

17、n. I desigen the system after the thorough investigations about the library management systems mechanism. This system contains with user management model, book information management model, books borrowing and returning and system information query.The system is contrived with Extjs2.2 framework as

18、well as Struts and Spring2.5 and Ibatis2.3, the software design mode of MVC, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for i

19、ts users. The batabase was desigend with highly integrity, security, and consistency.KeyWords:J2EE library前言隨著信息化時(shí)代的來臨,各個(gè)領(lǐng)域的系統(tǒng)化、集成化、自動(dòng)化已經(jīng)該領(lǐng)域提高工作效率及工作質(zhì)量必不可少的手段及途徑,如本人的畢業(yè)設(shè)計(jì)計(jì)算機(jī)數(shù)字圖書館系統(tǒng)就是為解決傳統(tǒng)圖書館工作效率低下的問題而做的。本系統(tǒng)將幫助我們快速在浩瀚的書海中找到我們所想要的書籍,了解該書籍的相關(guān)信息,及幫助圖書館工作人員提高管理和維護(hù)圖書館的效率,降低管理維護(hù)的難度及工作量。而這是傳統(tǒng)純?nèi)斯す芾韴D書館所不能做到的。

20、下面就來對(duì)本系統(tǒng)進(jìn)行基本的認(rèn)識(shí)。1.系統(tǒng)需求分析功能需求本系統(tǒng)采用的是用例驅(qū)動(dòng)的方法來獲取需求。用例是從用戶或外界系統(tǒng)的角度, 通過描述用戶與系統(tǒng)的交互來理解系統(tǒng)的功能。要建立需求分析的用例模型, 首先是獲取業(yè)務(wù)角色參與者, 然后從參與者中找出用例, 確定了系統(tǒng)參與者和用例之后, 即可得到系統(tǒng)用例圖。系統(tǒng)的目標(biāo)是構(gòu)建基于網(wǎng)絡(luò)的圖書搜索與管理服務(wù),幫助圖書館用戶快速搜索圖書信息,找尋自己想要的圖書,及幫助圖書館工作人員管理和維護(hù)圖書以及借書者的相關(guān)信息。本系統(tǒng)主要有三種角色用戶:系統(tǒng)管理員、圖書館管理員、讀者。從實(shí)際的使用模型及相關(guān)安全性等方面考慮,三種主要用戶的主要功能需求如圖1.1所示:圖1

21、.1 系統(tǒng)用例圖性能需求系統(tǒng)響應(yīng)時(shí)間。在10000條記錄內(nèi)搜索指定數(shù)據(jù)的時(shí)間不超過5秒,平均時(shí)間在13秒內(nèi)。系統(tǒng)并發(fā)要求。1500個(gè)用戶,500個(gè)并發(fā)用戶操作的負(fù)載下,可連續(xù)穩(wěn)定運(yùn)行。系統(tǒng)安全性要求。對(duì)于非法用戶不提供頁面操作功能。對(duì)于用戶非法操作提供提示功能。可行性分析運(yùn)行可行性本系統(tǒng)的開發(fā)是為了解決傳統(tǒng)圖書館工作效率低下、管理維護(hù)難度高的問題,系統(tǒng)的運(yùn)行在此前的過程中已被用戶所接受和歡迎;而且系統(tǒng)采用java語言編寫,擁有成熟的免費(fèi)開源的中間服務(wù)器軟件Tomcat支持運(yùn)行,因此系統(tǒng)不存在可運(yùn)行方面的障礙。技術(shù)可行性本人此前開發(fā)過數(shù)個(gè)系統(tǒng),具備一定的系統(tǒng)分析與設(shè)計(jì)能力,指導(dǎo)老師多年從事編程語

22、言的教學(xué)與研究工作,再加上系統(tǒng)實(shí)現(xiàn)所需要的細(xì)節(jié)技術(shù)本人曾都學(xué)習(xí)過,因而本系統(tǒng)的實(shí)現(xiàn)在技術(shù)上是可行的。經(jīng)濟(jì)可行性本系統(tǒng)以技術(shù)學(xué)習(xí)研究為主要目的,并非商業(yè)的運(yùn)做,所用工具全部為免費(fèi)的,在經(jīng)濟(jì)上是可行的。非功能性需求用戶界面簡(jiǎn)潔、易用、易懂,美觀、大方、標(biāo)準(zhǔn),具備一定的兼容性。軟硬件環(huán)境軟件環(huán)境:開發(fā)工具采用MyEclipse 6.5,中間服務(wù)器采用Tomcat,數(shù)據(jù)庫服務(wù)器采用MySQL 5.0。硬件環(huán)境:CPU:至少Pentium2.4以上,建議使用Pentium2.6內(nèi)存:至少256M以上,建議使用512M硬盤:至200M硬盤空間2.系統(tǒng)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用三層B/S結(jié)構(gòu),即表示層、

23、業(yè)務(wù)邏輯層、數(shù)據(jù)庫操作層。開發(fā)采用Struts + Spring 2.5 + Ibatis 2.3三大框架,頁面采用Extjs javascript框架,這些框架組件都是免費(fèi)開源的組件,能讓我們避免進(jìn)行大量的不必要的重復(fù)工作,從煩瑣的技術(shù)細(xì)節(jié)中抽身出來,專注于業(yè)務(wù)領(lǐng)域模型的研究,從而能進(jìn)行快速開發(fā)。而且這些組件使開發(fā)的系統(tǒng)具有更好的可擴(kuò)展性、可維護(hù)性,提高系統(tǒng)的質(zhì)量。三層B/S結(jié)構(gòu)層如圖2.1所示:數(shù)據(jù)庫操作層(采用Ibais)表示層(采用Strust2進(jìn)行控制處理,并用Extjs+jsp進(jìn)行頁面編寫)面的編寫)業(yè)務(wù)邏輯層(采用Spring進(jìn)行事務(wù)的控制和處理)數(shù)據(jù)的保存和管理數(shù)據(jù)及信息的處理

24、信息的輸入和結(jié)果的顯示圖2.1 三層B/S結(jié)構(gòu)圖Struts2框架:Struts,是Apache的一個(gè)開源免費(fèi)框架,是使用Servlet和JavaServer Pages技術(shù)的一種MVC實(shí)現(xiàn)。MVC即模型(Model)-視圖(View)-控制器(Controller),是用來幫助控制變化的一種設(shè)計(jì)模式,減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合。Struts2基于Webwork框架核心(此框架同樣是一款優(yōu)秀的免費(fèi)開源框架),整合了FreeMaker,Velocity等視圖技術(shù),Struts2使用了大量的Filter(攔截器)來處理用戶的請(qǐng)求,從而用戶的業(yè)務(wù)邏輯控制器與Servlet API分離,大

25、大提高了代碼的可重用性。Spring 框架:Spring框架同樣是一款優(yōu)秀的免費(fèi)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。其中最有名的是它的IOC(依賴注入)和AOP(面向切面編程),它的這兩個(gè)特性也是我們開發(fā)項(xiàng)目最常用的兩個(gè)特性。它的IOC容器可以幫助管理對(duì)象生命周期,從而允許用戶不必花費(fèi)大量的精力去注意并手動(dòng)管理對(duì)象,而對(duì)象生命周期管理是一個(gè)系統(tǒng)質(zhì)量和性能提高必不可少的手段。并且Spring IOC 允許用戶通過XML配置來自動(dòng)化的管理事務(wù)。AOP彌補(bǔ)了面向?qū)ο缶幊痰牟蛔?,可以解決OOP和過程化方法不能夠很好解決的橫切問題,如:事務(wù)、安全、日志等橫切關(guān)注。當(dāng)未來系統(tǒng)變得越來越復(fù)雜

26、,橫切關(guān)注點(diǎn)就成為一個(gè)大問題的時(shí)候,AOP就可以很輕松的解決橫切關(guān)注點(diǎn)這個(gè)問題。Ibatis 框架:Ibatis是一款優(yōu)秀的免費(fèi)開源的半自動(dòng)化ORM(對(duì)象-關(guān)系映射)框架。它不同于Hibernate等一站式ORM解決方案,以SQL開發(fā)的工作量和數(shù)據(jù)庫移植性上的讓步,為系統(tǒng)設(shè)計(jì)者提供了更自由的空間,它既可以讓我們免于寫大量的乏味的數(shù)據(jù)庫訪問JDBC代碼,又可以使系統(tǒng)的性能得到不錯(cuò)的提升。系統(tǒng)功能設(shè)計(jì)系統(tǒng)總體結(jié)構(gòu)圖系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶使用和理解整個(gè)系統(tǒng)。本系統(tǒng)的結(jié)構(gòu)圖如圖2.2所示:圖2.2 系統(tǒng)結(jié)構(gòu)圖根據(jù)需求分析的結(jié)果,

27、按照“低耦合、高內(nèi)聚”的原則,本系統(tǒng)將劃分為以下主要功能模塊:系統(tǒng)管理功能模塊,圖書管理員功能模塊,讀者功能模塊。系統(tǒng)管理員模塊該模塊主要包括用戶管理,書架管理,圖書查詢,借閱查詢。1.用戶管理該子模塊主要是系統(tǒng)管理員對(duì)系統(tǒng)用戶的管理,通過此子模塊的功能實(shí)現(xiàn)可以對(duì)用戶進(jìn)行添加、修改、刪除、分配角色等操作,該子模塊能將圖書館的不同工作細(xì)化到不同的相關(guān)人員,極大地提高了圖書館的工作效率。該操作是對(duì)t_users表進(jìn)行操作,在對(duì)用戶進(jìn)行了相關(guān)的操作后把操作后的最新信息存放在該表中。2.書庫管理該子模塊主要是實(shí)現(xiàn)對(duì)書庫信息進(jìn)行添加、修改、刪除等操作,以便提供書籍的存放地址。3.圖書查詢?cè)撟幽K主要是實(shí)

28、現(xiàn)系統(tǒng)管理員對(duì)圖書信息的查詢。4.借閱查詢?cè)撟幽K主要是實(shí)現(xiàn)系統(tǒng)管理員對(duì)某一用戶未還書籍借閱信息的查詢,根據(jù)用戶名查詢。因?yàn)橄到y(tǒng)管理員也有可能在系統(tǒng)中擔(dān)當(dāng)讀者的角色,為了方便,使其不用為了查詢而再建立一個(gè)讀者的賬戶登上系統(tǒng),所以提供該子模塊。 圖書管理員模塊1圖書管理該子模塊主要是實(shí)現(xiàn)對(duì)圖書信息進(jìn)行添加、修改、刪除等操作。2圖書管理該子模塊主要是實(shí)現(xiàn)對(duì)圖書信息借還的管理。3圖書查詢?cè)撟幽K主要是實(shí)現(xiàn)圖書管理員對(duì)圖書信息的查詢。4借閱查詢?cè)撟幽K主要是實(shí)現(xiàn)圖書管理員對(duì)某一用戶未還書籍借閱信息的查詢,根據(jù)用戶名查詢。因?yàn)橄到y(tǒng)管理員也有可能在系統(tǒng)中擔(dān)當(dāng)讀者的角色,為了方便,使其不用為了查詢而再建立一

29、個(gè)讀者的賬戶登上系統(tǒng),所以提供該子模塊。 讀者模塊1圖書查詢?cè)撟幽K主要是實(shí)現(xiàn)圖書管理員對(duì)圖書信息的查詢。2借閱查詢?cè)撟幽K主要是實(shí)現(xiàn)讀者對(duì)自己未還書籍信息的查詢,根據(jù)用戶名查詢。數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)概述數(shù)據(jù)庫是整個(gè)系統(tǒng)的基石,數(shù)據(jù)庫的設(shè)計(jì)優(yōu)劣直接影響到整個(gè)系統(tǒng)的設(shè)計(jì)成敗,本節(jié)對(duì)數(shù)據(jù)庫的設(shè)計(jì)進(jìn)行專門闡述。數(shù)據(jù)庫設(shè)計(jì)是把現(xiàn)實(shí)世界的實(shí)體模型與需求轉(zhuǎn)換成數(shù)據(jù)庫的模型的過程,它是建立數(shù)據(jù)庫應(yīng)用系統(tǒng)的核心問題。數(shù)據(jù)庫及其應(yīng)用的性能都建立在良好的數(shù)據(jù)庫設(shè)計(jì)的基礎(chǔ)之上,數(shù)據(jù)庫的數(shù)據(jù)是一切操作的基礎(chǔ),如果數(shù)據(jù)庫設(shè)計(jì)不好,那么其它一切用于提高數(shù)據(jù)庫性能的方法收效都是有限的。數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵是如何使設(shè)計(jì)的數(shù)據(jù)庫能

30、合理地存儲(chǔ)用戶的數(shù)據(jù),方便用戶進(jìn)行數(shù)據(jù)處理。設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系型數(shù)據(jù)庫中,這種規(guī)則就是范式,范式是符合某一種級(jí)別的關(guān)系模式的集合。一般人們?cè)O(shè)計(jì)數(shù)據(jù)庫遵循第三范式。即:數(shù)據(jù)庫表中不包含已在其他表中包含的非主關(guān)鍵字信息。采用范式減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,同時(shí)加快了增、刪、改的速度。整個(gè)系統(tǒng)所包括的信息有圖書信息、圖書類型信息、圖書借還信息、書庫信息、系統(tǒng)用戶信息。可將這些信息抽象為下列系統(tǒng)所需要的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1)圖書信息(編號(hào),圖書名稱,作者,出版社,出版日期,價(jià)格,版本,ISBN號(hào),條形碼,所屬分類ID,字?jǐn)?shù),頁數(shù),開本,紙張,包裝,封面,所在書庫ID,編輯推薦,內(nèi)

31、容簡(jiǎn)介,作者簡(jiǎn)介,當(dāng)前借還狀態(tài),當(dāng)前關(guān)聯(lián)的借閱記錄ID)2) 圖書類型信息(編號(hào),名稱,備注)3) 圖書借還信息(編號(hào),圖書ID,借出時(shí)間,應(yīng)還書時(shí)間,實(shí)際還書時(shí)間,讀者ID,操作員ID,操作時(shí)間)4) 書庫信息(編號(hào),書庫名稱,書庫電話,書庫負(fù)責(zé)人姓名,書庫負(fù)責(zé)人電話,備注)5) 系統(tǒng)用戶信息(編號(hào),用戶名,密碼,性別,年齡,借書證條形碼,身份證件類型,身份證件號(hào)碼,聯(lián)系電話,角色)注:帶下劃線表示主鍵在這里使用E-R圖描述了圖書借閱管理系統(tǒng)的數(shù)據(jù)模型。圖3.1圖書借閱管理系統(tǒng)E-R圖描述了該系統(tǒng)所涉及到的實(shí)體以及他們之間的關(guān)系。具體結(jié)構(gòu)如下圖所示: 圖書信息表結(jié)構(gòu)設(shè)計(jì)圖書信息表主要用于存儲(chǔ)

32、圖書館中所藏圖書的相關(guān)信息,其中的相關(guān)信息是在圖書入庫時(shí)由操作員進(jìn)行添加完善,此表主要用于系統(tǒng)用戶對(duì)館中圖書的查詢,系統(tǒng)用戶根據(jù)圖書的某個(gè)屬性進(jìn)行查詢,便可得知圖書的其他相關(guān)信息,其中圖書所在書架屬性是便于讀者借閱時(shí)對(duì)圖書的尋找,圖書價(jià)格是在讀者不慎將圖書遺失時(shí)對(duì)遺失圖書進(jìn)行賠償?shù)囊罁?jù)。表的具體結(jié)構(gòu)如表2.1所示:表2.1 圖書信息表t_book字段名稱數(shù)據(jù)類型字段長度允許為空說明bookIdintno主鍵,自動(dòng)遞增bookNamevarchar200noauthorvarchar100yespressvarchar200yespublicationDaydatetimeyespricevar

33、char50noeditionvarchar70yesisbnvarchar100yesindexNovarchar50yescategoryIdintyes外鍵,引用表t_category的categoryIdwordCountvarchar20yespageCountintyesbookSizeintyespapervarchar30yespackvarchar30yesimageUrlvarchar255yeslibIdintyes外鍵,引用表t_Lib的libIdeditorRecommendvarchar255yesdescriptionvarchar255yesauthorDesc

34、varchar255yesstateint1nocurrentlogIdintyes圖書類型信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)主要是方便對(duì)圖書的分類,和對(duì)圖書的查詢,在實(shí)際應(yīng)用中圖書管理員就是根據(jù)圖書類型的不同將之分列在不同的書架,以方便讀者的借閱尋找,可根據(jù)圖書的具體情況進(jìn)行不同的維護(hù)管理,表的具體結(jié)構(gòu)設(shè)計(jì)如表2.2所示:表2.2 圖書類型信息表t_category字段名稱數(shù)據(jù)類型字段長度允許為空說明categoryIdintno主鍵,自動(dòng)遞增categoryNamevarchar30noremarkvarchar255yes圖書借還信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)是用于對(duì)讀者借閱圖書進(jìn)行管理,表中圖書ID屬

35、性是對(duì)借閱圖書的主鍵,讀者ID號(hào)記錄借閱的相應(yīng)讀者,實(shí)際還書時(shí)間記錄了相應(yīng)的歸還時(shí)間,操作員ID是對(duì)借閱進(jìn)行操作的人員的記錄方便日后的查詢,表的具體結(jié)構(gòu)設(shè)計(jì)如表2.3所示:表2.3 圖書借還信息表t_loanlog字段名稱數(shù)據(jù)類型字段長度允許為空說明loanlogIdintno主鍵,自動(dòng)遞增bookIdintno外鍵,引用表t_book的bookIdloanTimedatetimenopreReturnTimedatetimenoreturnTimedatetimeyesreaderIdintno外鍵,引用表t_user的userIdoperatorIdintno外鍵,引用表t_user的us

36、erIdoperationTimedatetimeno書庫信息表結(jié)構(gòu)設(shè)計(jì)該表包含了關(guān)于圖書館書庫的一些基本信息,如書庫ID,書庫名稱等,見表2.4。表2.4 書庫信息表t_lib字段名稱數(shù)據(jù)類型字段長度允許為空說明libIdintno主鍵,自動(dòng)遞增libNamevarchar40notellPhonevarchar20yesleadervarchar20yesleaderPhonevarchar20yesremarkvarchar255yes系統(tǒng)用戶信息表結(jié)構(gòu)設(shè)計(jì)該表的設(shè)計(jì)用于記錄圖書管理系統(tǒng)用戶的信息,方便對(duì)用戶的管理,表中包括用戶ID 和用戶的登錄密碼,表的具體結(jié)構(gòu)設(shè)計(jì)如表2.5所示:表2

37、.5 系統(tǒng)用戶信息表t_user字段名稱數(shù)據(jù)類型字段長度允許為空說明userIdintno主鍵,自動(dòng)遞增userNamevarchar20nopasswordvarchar20nosexvarchar2noageintyesindexNovarchar30yesidentityTypevarchar20noidentityNovarchar50nophonevarchar20yesrolevarchar30no3.系統(tǒng)實(shí)現(xiàn)開發(fā)平臺(tái)與工具J2EE平臺(tái)J2EE ,即是Java2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition),是原Sun公司(現(xiàn)已被甲骨文公司收購)

38、為企業(yè)級(jí)應(yīng)用推出的標(biāo)準(zhǔn)平臺(tái)。它簡(jiǎn)化了企業(yè)解決方案的開發(fā)、部署和管理相關(guān)復(fù)雜問題的體系結(jié)構(gòu),J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如編寫一次、隨處運(yùn)行的特性、方便存取數(shù)據(jù)庫的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。J2EE體系結(jié)構(gòu)提供中間層集

39、成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。在開發(fā)圖書館借閱管理系統(tǒng)的過程中,應(yīng)用Myeclipse6.5,它可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。Myeclipse是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS

40、, Javascript, SQL。WEB服務(wù)器和數(shù)據(jù)庫在系統(tǒng)的開發(fā)過程中使用的Web應(yīng)用服務(wù)器是Tomcat,是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、SUN和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,它運(yùn)行時(shí)占用的系統(tǒng)資源小、擴(kuò)展性好、支持負(fù)載平衡和郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,因此在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的時(shí)候,經(jīng)常被使用。 使用MySQL作為數(shù)據(jù)庫

41、開發(fā)工具。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。使用框架組件為了開發(fā)的便捷快速,系統(tǒng)將使用Struts, Spring2.5, Ibatis2.3這三個(gè)免費(fèi)開源組件,頁面將使用Extjs2.2 + jsp來編寫。程序?qū)崿F(xiàn)開發(fā)環(huán)境搭建系統(tǒng)開發(fā)到了編碼階段時(shí),要做的第一件事就是先將環(huán)境搭建起來。首先我們先生成數(shù)據(jù)庫和表,將MyS

42、QL啟動(dòng),因?yàn)橄到y(tǒng)使用了組件來進(jìn)行快速開發(fā),所以要進(jìn)行基本的配置。下面就是一些主要的配置:Ibatis配置:SqlMapConfig.xmlSpring配置:applicationContext-common.xmljdbc:mysql:/localhost/testrootmieshowclasspath:SqlMapConfig.xmlWeb配置:web.xmllogin.jspcontextConfigLocation/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xmlstruts2struts2/*做

43、完這些配置,我們就可以使用框架組件進(jìn)行程序的開發(fā)了。登錄模塊實(shí)現(xiàn)本模塊主要是用戶通過系統(tǒng)的首頁登錄進(jìn)入該系統(tǒng)。用戶輸入正確的用戶名和密碼,系統(tǒng)會(huì)根據(jù)用戶的身份進(jìn)行相應(yīng)權(quán)限劃分;如果登錄信息有錯(cuò)誤,則系統(tǒng)提示登入錯(cuò)誤的信息,并且禁止系統(tǒng)用戶進(jìn)行任何操作。系統(tǒng)的登錄主頁面如圖3.1所示。圖3.1 系統(tǒng)用戶登錄界面用戶在登錄頁面寫好用戶名和密碼,選擇登錄,登錄成功則跳轉(zhuǎn)到系統(tǒng)的首頁,否則提示錯(cuò)誤信息。在服務(wù)器端進(jìn)行用戶身份驗(yàn)證的程序流程圖如圖3-2程序流程圖所示:圖3. 2 登錄流程圖系統(tǒng)管理員功能模塊實(shí)現(xiàn)本模塊中最主要的是管理系統(tǒng)用戶,管理書庫信息等操作,其中管理系統(tǒng)用戶包括對(duì)他們進(jìn)行添加,修改,

44、刪除及角色設(shè)置操作。其中系統(tǒng)管理員讀系統(tǒng)用戶進(jìn)行管理的操作頁面如改為:圖3.3,3.4所示:圖 3.3 系統(tǒng)管理員管理用戶信息主界面圖3.4系統(tǒng)管理員添加用戶信息界面圖書管理員功能模塊實(shí)現(xiàn)本模塊主要是對(duì)圖書信息及圖書借還進(jìn)行管理,和對(duì)圖書類型進(jìn)行管理,其界面如圖3.5、3.6、3.7所示:圖3.5 圖書管理員管理圖書主界面圖3.6 圖書管理員添加圖書信息界面圖3.7 圖書管理員進(jìn)行借書操作界面讀者功能模塊實(shí)現(xiàn)本模塊主要是提供給讀者查詢書籍和借閱情況的信息,其界面如下:圖3.8 讀者未還書籍查詢界面圖3.9 圖書信息查詢界面4.系統(tǒng)測(cè)試測(cè)試的目的在開發(fā)軟件系統(tǒng)的過程中,需要面對(duì)錯(cuò)綜復(fù)雜的問題,因

45、此,在軟件生存周期的每個(gè)階段都不可避免地會(huì)產(chǎn)生錯(cuò)誤。測(cè)試目的在于:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行一個(gè)程序的過程,測(cè)試重要發(fā)現(xiàn)一個(gè)發(fā)現(xiàn)其中尚未發(fā)現(xiàn)的錯(cuò)誤。為了設(shè)計(jì)出有效地測(cè)試方案按照下面準(zhǔn)則進(jìn)行測(cè)試:所有測(cè)試都應(yīng)追溯到用戶需求;在完成了需求模型就要著手制定測(cè)試計(jì)劃,在編碼之前最所有測(cè)試工作進(jìn)行計(jì)劃和設(shè)計(jì);運(yùn)用Pareto原理著重對(duì)占出現(xiàn)錯(cuò)誤80%的容易出錯(cuò)的20%的模塊進(jìn)行測(cè)試,從小規(guī)模開始逐步進(jìn)行大規(guī)模測(cè)試,通常先重點(diǎn)測(cè)試單個(gè)程序模塊再轉(zhuǎn)向集成的模塊簇;精心設(shè)計(jì)測(cè)試方案,盡可能充分覆蓋程序邏輯使之達(dá)到要求的可靠性。按照軟件工程的觀點(diǎn),軟件測(cè)試(主要是指多模塊程序的測(cè)試)共包括4個(gè)層次。1)單元測(cè)試。單元測(cè)試的

46、用例從單元詳細(xì)設(shè)計(jì)中導(dǎo)出。在單元測(cè)試中可以采用功能性測(cè)試和結(jié)構(gòu)性測(cè)試兩種。2)集成測(cè)試和確認(rèn)測(cè)試。這一階段的任務(wù),是通過了單元測(cè)試的模塊逐步組裝起來,通過測(cè)試與糾錯(cuò),最終得到一個(gè)滿足需求的目標(biāo)軟件。3)驗(yàn)證測(cè)試。在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是需求規(guī)格說明的錯(cuò)誤。一般來說,系統(tǒng)測(cè)試是功能性測(cè)試,不是結(jié)構(gòu)性測(cè)試。在開發(fā)過程中對(duì)本系統(tǒng)的各個(gè)功能模塊都進(jìn)行了單元測(cè)試,在系統(tǒng)完成后也進(jìn)行了所有功能模塊的集成測(cè)試,但由于論文篇幅有限,在此我們只給出了用戶登錄模塊的測(cè)試過程模塊測(cè)試。1)登錄模塊測(cè)試表4.1登錄模塊用例測(cè)試用例測(cè)試數(shù)據(jù)預(yù)期結(jié)果UC1:輸入正確的用戶名和密碼,并選擇正確的角色用戶名:mie密碼:mieshow 角色:系統(tǒng)管理員系統(tǒng)跳轉(zhuǎn)到登陸成功頁面UC2:輸入空用戶名用戶名:請(qǐng)輸入用戶名UC3:輸入用戶名和空密碼用戶名:mie 密碼:請(qǐng)輸入密碼UC4:輸入用戶名和錯(cuò)誤的密碼用戶名:mie 密碼:321ff用戶

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論