2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  題 目: 學(xué)校圖書(shū)管理系統(tǒng) </p><p>  學(xué) 院: &

2、lt;/p><p>  專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  學(xué)生姓名: 學(xué)號(hào): </p><p>  指導(dǎo)教師: 職稱(chēng): </p><p

3、>  合作導(dǎo)師: 職稱(chēng): </p><p>  完成時(shí)間: </p><p>  成 績(jī): </p><p><b>  目 錄</

4、b></p><p><b>  摘要:1</b></p><p><b>  1 引言1</b></p><p>  1.1 圖書(shū)管理的現(xiàn)狀1</p><p>  1.2 現(xiàn)有圖書(shū)管理系統(tǒng)的概述2</p><p>  1.3 選題的目的、意義3<

5、;/p><p>  1.4 圖書(shū)管理系統(tǒng)的可行性分析3</p><p>  1.5 系統(tǒng)開(kāi)發(fā)運(yùn)行環(huán)境4</p><p>  2 圖書(shū)管理系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)的介紹4</p><p>  2.1 JAVA的介紹4</p><p>  2.1.1 JAVA的優(yōu)勢(shì)介紹4</p><p> 

6、 2.1.2 JAVA的特點(diǎn)5</p><p>  2.2SQL Server 2005 概述5</p><p>  2.3 Web技術(shù)6</p><p>  2.3.1 瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)6</p><p>  2.3.2 IIS服務(wù)器技術(shù)7</p><p>  3

7、 系統(tǒng)總體設(shè)計(jì)分析7</p><p>  3.1 系統(tǒng)需求分析7</p><p>  3.2 系統(tǒng)實(shí)現(xiàn)的目標(biāo)8</p><p>  3.3 系統(tǒng)功能模塊設(shè)計(jì)8</p><p>  3.4 系統(tǒng)功能結(jié)構(gòu)圖8</p><p>  3.5 系統(tǒng)流程圖11</p><p>  4

8、 數(shù)據(jù)總體結(jié)構(gòu)設(shè)計(jì)12</p><p>  4.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)12</p><p>  4.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)13</p><p>  4.3 圖書(shū)管理系統(tǒng)的系統(tǒng)E-R圖15</p><p>  4.4 數(shù)據(jù)表設(shè)計(jì)16</p><p>  5 圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)18</p>

9、;<p>  5.1 系統(tǒng)流程分析18</p><p>  5.2 主要模塊的運(yùn)行19</p><p>  5.2.1 登陸界面19</p><p>  5.2.2 圖書(shū)信息管理模塊19</p><p>  5.2.3 圖書(shū)借還信息模塊21</p><p>  5.3 系統(tǒng)開(kāi)發(fā)的遇到

10、的相關(guān)問(wèn)題及解決21</p><p>  5.3.1 圖書(shū)管理系統(tǒng)索引21</p><p>  5.3.2 如何驗(yàn)證輸入的字符串22</p><p>  5.3.3 自動(dòng)計(jì)算圖書(shū)歸還日期23</p><p>  5.3.4 系統(tǒng)登陸驗(yàn)證碼的實(shí)現(xiàn)23</p><p><b>  6 結(jié)論2

11、6</b></p><p>  6.1 主要研究?jī)?nèi)容及成果27</p><p>  6.2 今后進(jìn)一步研究方向27</p><p><b>  參考文獻(xiàn)27</b></p><p>  學(xué)校圖書(shū)管理系統(tǒng)的開(kāi)發(fā)</p><p>  武漢工業(yè)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 周密(05

12、600114)</p><p>  摘要:圖書(shū)管理系統(tǒng)是智能辦公系統(tǒng)(IOA)的重要組成部分,因此,圖書(shū)管理系統(tǒng)也以方便、快捷的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書(shū)管理方式徹底的解脫出來(lái),提高效率,減輕工作人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書(shū)和看書(shū)上。從而使人們有更多時(shí)間來(lái)獲取信息、了解信息、掌握信息。其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。采用MyS

13、QL5.0數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù)、JAVA編程語(yǔ)言作為前臺(tái)開(kāi)發(fā)工具,通過(guò)對(duì)數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成書(shū)目檢索、讀者管理、借閱管理、圖書(shū)管理、用戶(hù)維護(hù)、系統(tǒng)維護(hù)等系統(tǒng)功能。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的圖書(shū)管理系統(tǒng)可以滿(mǎn)足學(xué)生和教師借閱者、圖書(shū)管理員兩方面的需要,達(dá)到了設(shè)計(jì)要求。</p><p>  關(guān)鍵詞:圖書(shū)管理;系統(tǒng)設(shè)計(jì);信息;JAVA;MySQL5.0</p><p>

14、;<b>  1 引言</b></p><p>  隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet/Intranet應(yīng)用在全球范圍內(nèi)日益普及,當(dāng)今社會(huì)正快速向信息化社會(huì)前進(jìn),信息系統(tǒng)的作用也越來(lái)越大。圖書(shū)館在正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,書(shū)籍信息以及由兩者相互作用產(chǎn)生的借書(shū)信息,還書(shū)信息。因此圖書(shū)管理信息化是發(fā)展的必然趨勢(shì)。用結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)的方法,建立一套有效的圖書(shū)信息管理系統(tǒng)

15、,可以減輕工作,將工作科學(xué)化、規(guī)范化,提高了圖書(shū)館信息管理的工作質(zhì)量因此根據(jù)圖書(shū)館目前實(shí)際的管理情況開(kāi)發(fā)一套圖書(shū)管理系統(tǒng)是十分必要的。</p><p>  1.1 圖書(shū)管理的現(xiàn)狀</p><p>  一直以來(lái)人們使用傳統(tǒng)的人工方式管理圖書(shū)館的日常工作,對(duì)于圖書(shū)館的借書(shū)和還書(shū)過(guò)程,想必大家都已很熟悉。在計(jì)算機(jī)尚未在圖書(shū)管理系統(tǒng)廣泛使用之前,借書(shū)和還書(shū)過(guò)程主要依靠手工。一個(gè)最典型的手工處理還

16、書(shū)過(guò)程就是:讀者將要借的書(shū)和借閱證交給工作人員,工作人員將每本書(shū)上附帶的描述書(shū)的信息的卡片和讀者的借閱證放在一個(gè)小格欄里,并在借閱證和每本書(shū)貼的借閱條上填寫(xiě)借閱信息。這樣借書(shū)過(guò)程就完成了。還書(shū)時(shí),讀者將要還的書(shū)交給工作人員,工作人員根據(jù)圖書(shū)信息找到相應(yīng)的書(shū)卡和借閱證,并填好相應(yīng)的還書(shū)信息,這樣還書(shū)過(guò)程就完成了。隨著近年來(lái)信息技術(shù)及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展, 圖書(shū)館也先從傳統(tǒng)的圖書(shū)館發(fā)展到自動(dòng)化圖書(shū)館,再發(fā)展到今天的數(shù)字圖書(shū)館,這些變化使

17、得圖書(shū)館的形象越來(lái)越現(xiàn)代化,人們查找資料也更加方便。對(duì)于一些小圖書(shū)館和一些圖書(shū)室來(lái)說(shuō),由于工作人員比較少,長(zhǎng)期以來(lái),作為圖書(shū)館的主要工作—圖書(shū)借閱一直未能很好地開(kāi)展。在平常的圖書(shū)借閱工作中, 由于大部分讀者不熟悉圖書(shū)館藏書(shū),且對(duì)圖書(shū)排架分類(lèi)的不了解,往往花費(fèi)很長(zhǎng)時(shí)間才能找到其所需的書(shū)。為提高管理效率,更好地為讀者服務(wù),利用已有的辦公局域網(wǎng)絡(luò)條件,將館藏書(shū)籍做成基于WE</p><p>  傳統(tǒng)的圖書(shū)管理模式其最大

18、的特點(diǎn)是手工;首先要把買(mǎi)來(lái)的圖書(shū)資料登記到資料本上,再給每本書(shū)分類(lèi)貼上標(biāo)簽及制作和標(biāo)簽相對(duì)應(yīng)的圖書(shū)分類(lèi)卡片,最后把圖書(shū)分類(lèi)卡片按類(lèi)別分別放置在文件柜里。對(duì)于有學(xué)生(教師)證的學(xué)生(教師)來(lái)說(shuō)還要對(duì)他們資料作一定的記錄。并且在人們來(lái)借書(shū)的時(shí)候,首先持證件者要去存放圖書(shū)分類(lèi)卡片的文件柜里查找想借的書(shū)是否在架,如果卡片存在,再按照?qǐng)D書(shū)分類(lèi)卡片在相應(yīng)的書(shū)架上找到需要的圖書(shū),然后登記持證件者的借還書(shū)時(shí)間和在書(shū)簽條上寫(xiě)下借還書(shū)記錄,之后把借書(shū)證留在

19、那里;還書(shū)的時(shí)候,相對(duì)應(yīng)的消去出借記錄;這樣做起來(lái)比較麻煩,比較費(fèi)時(shí)間。傳統(tǒng)圖書(shū)管理的特點(diǎn)是一直以來(lái),中小型書(shū)店、中小學(xué)的小型圖書(shū)館及各高校圖書(shū)館和資料室使用傳統(tǒng)的人工方式管理圖書(shū)檔案、會(huì)員檔案。這種管理方式存在著諸多缺點(diǎn),如:手續(xù)繁瑣、工作量大、效率低下、出錯(cuò)率高等,同時(shí)給對(duì)大量資料的查詢(xún)、更新及維護(hù)都帶來(lái)不少困難。</p><p>  1.2 現(xiàn)有圖書(shū)管理系統(tǒng)的概述</p><p>

20、  在試用了一些個(gè)圖書(shū)管理系統(tǒng)和查閱了大量相關(guān)資料文獻(xiàn)的基礎(chǔ)上,發(fā)現(xiàn)那些系統(tǒng)在幾個(gè)方面已經(jīng)不符合時(shí)代的要求,由于設(shè)計(jì)人員及其所用的工具的不同,有Visual Basic6.0、Visual ForPro6.0、Power Builder等,再加上這些圖書(shū)管理系統(tǒng)設(shè)計(jì)的時(shí)間也不一樣,所用具體場(chǎng)合也有區(qū)別,因此在功能上除了圖書(shū)資料管理所需的基本功能之外也有所不同。經(jīng)過(guò)比較總結(jié)他們都實(shí)現(xiàn)了以下圖書(shū)管理的基本功能:1、圖書(shū)檢索模塊:是圖書(shū)管理系

21、統(tǒng)的重要模塊之一,是讀者快速查詢(xún)圖書(shū)的途徑。2、圖書(shū)管理模塊:是圖書(shū)管理員操作模塊,讀者是無(wú)權(quán)進(jìn)入的。本模塊由借出圖書(shū)登記、歸還圖書(shū)登記和續(xù)借圖書(shū)登記子模塊構(gòu)成。3、數(shù)據(jù)維護(hù)模塊:是由圖書(shū)管理員控制的模塊,它由增加、修改和刪除讀者,增加、修改刪除圖書(shū),瀏覽修改讀者、瀏覽修改圖書(shū)等程序組成。 4、數(shù)據(jù)統(tǒng)計(jì)模塊:由讀者統(tǒng)計(jì)、圖書(shū)統(tǒng)計(jì)、借出圖書(shū)分類(lèi)統(tǒng)計(jì)、到期末歸還圖書(shū)讀者統(tǒng)計(jì)幾部分組成。這些系統(tǒng)解決了以前的那種管理方式所存在著的諸如手續(xù)繁瑣、

22、工作量大、效率低下、出錯(cuò)率高等缺點(diǎn),設(shè)計(jì)出的系統(tǒng)能使讀者快速檢索到自己喜愛(ài)的書(shū),圖書(shū)管理員能減輕工作量。</p><p>  但是鑒于開(kāi)發(fā)工具和開(kāi)發(fā)當(dāng)時(shí)的科技發(fā)展水平所限,再加上歷史發(fā)展到今天,人們的生活環(huán)境已經(jīng)發(fā)生了改變,大家對(duì)于圖書(shū)查詢(xún)這方面的要求也更高。比如在一個(gè)局域網(wǎng)內(nèi),大家希望能在本臺(tái)電腦上就能查找自己想要的圖書(shū),而不用跑到圖書(shū)館或圖書(shū)室里去用那里的電腦查詢(xún),這就需要一個(gè)網(wǎng)絡(luò)化的聯(lián)機(jī)查詢(xún)系統(tǒng)。</

23、p><p>  1.3 選題的目的、意義 </p><p>  隨著社會(huì)的進(jìn)步,信息技術(shù)的廣泛應(yīng)用,數(shù)字化管理的優(yōu)勢(shì)日趨顯著。針對(duì)中小型圖書(shū)館或圖書(shū)室管理落后的情況,設(shè)計(jì)實(shí)現(xiàn)一個(gè)圖書(shū)信息管理系統(tǒng),通過(guò)與計(jì)算機(jī)的結(jié)合使用對(duì)中小型圖書(shū)館或圖書(shū)室的各種圖書(shū)信息進(jìn)行管理可以給管理員和用戶(hù)帶來(lái)以下不同的方便:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作

24、效率,也是圖書(shū)館等部門(mén)管理科學(xué)化、正規(guī)化的重要標(biāo)志之一。而且計(jì)算機(jī)管理的成本不斷降低。因此,開(kāi)發(fā)一套這樣的中小型圖書(shū)管理軟件已經(jīng)很有必要,并且實(shí)現(xiàn)研究服務(wù)于實(shí)踐的原則。</p><p>  1.4 圖書(shū)管理系統(tǒng)的可行性分析</p><p>  本次畢業(yè)設(shè)計(jì)題目:“學(xué)校圖書(shū)管理系統(tǒng)的開(kāi)發(fā)”主要目的是利用數(shù)據(jù)庫(kù)軟件編制一個(gè)管理軟件,用以實(shí)現(xiàn)圖書(shū)、讀者以及日常工作等多項(xiàng)管理。同時(shí)對(duì)整個(gè)系統(tǒng)的分

25、析、設(shè)計(jì)過(guò)程給出一個(gè)完整論證。圖書(shū)管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫(kù)數(shù)據(jù)管理新模式。在對(duì)圖書(shū)、讀者的管理,其實(shí)是對(duì)圖書(shū)、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無(wú)疑會(huì)為管理者對(duì)圖書(shū)管理系統(tǒng)提供極大的幫助。本系統(tǒng)的設(shè)計(jì)主要從以下幾方面做起:系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)的功能設(shè)計(jì)、系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)等。作這些工作需對(duì)數(shù)據(jù)庫(kù)知識(shí)有足夠認(rèn)識(shí),并深入的了解Java的使用和管理系統(tǒng)的相關(guān)知識(shí)。在信息時(shí)代的今天,人類(lèi)需要對(duì)在政治、經(jīng)濟(jì)、軍事、文化、科研、教育等領(lǐng)

26、域產(chǎn)生的大量信息進(jìn)行管理,并對(duì)數(shù)據(jù)進(jìn)行加工處理,數(shù)據(jù)庫(kù)技術(shù)則是信息管理與數(shù)據(jù)處理的先進(jìn)技術(shù)。隨著信息量的不斷增加,作為計(jì)算機(jī)的三大主要應(yīng)用(科學(xué)計(jì)算、過(guò)程控制和數(shù)據(jù)處理)之一的數(shù)據(jù)處理,已迅速上升為計(jì)算機(jī)應(yīng)用的主要方面,數(shù)據(jù)庫(kù)技術(shù)則成為人們?nèi)粘I钪刑幚頂?shù)據(jù)不可缺少的有力工具,并且現(xiàn)代的信息管理系統(tǒng)幾乎都以數(shù)據(jù)庫(kù)技術(shù)作為核心。</p><p>  現(xiàn)在大多數(shù)的圖書(shū)管理方式為手工處理,重復(fù)勞動(dòng)多,勞動(dòng)強(qiáng)度大,而且容

27、易出錯(cuò),新系統(tǒng)的使用能否可以很好的解決這些問(wèn)題要看系統(tǒng)的可行性,可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。系統(tǒng)的可行性分析有以下幾個(gè)方面:</p><p>  (1)技術(shù)可行性:處理速度快、準(zhǔn)確通過(guò)權(quán)限的設(shè)置,數(shù)據(jù)的安全性好、方便查詢(xún)、借閱管理等。 </p><p>  (2)經(jīng)濟(jì)可行性:系統(tǒng)建設(shè)不需要很大的投入、可縮減人力投入。</p>&l

28、t;p>  (3)運(yùn)行上可行性:本系統(tǒng)作為一個(gè)小型的圖書(shū)館信息管理系統(tǒng),所耗費(fèi)的</p><p><b>  資源非常的小。 </b></p><p>  (4)從各種社會(huì)因素可行性分析:可降低工作人員工作強(qiáng)度,提高效率,會(huì)</p><p>  得到學(xué)校工作人員的一致同意的。</p><p>  綜上所述通過(guò)可行性

29、分析認(rèn)為新系統(tǒng)的開(kāi)發(fā)方案切實(shí)可行,可進(jìn)行開(kāi)發(fā)。</p><p>  1.5 系統(tǒng)開(kāi)發(fā)運(yùn)行環(huán)境 </p><p>  系統(tǒng)開(kāi)發(fā)環(huán)境:MyEclipse Java Enterprise 6.5</p><p>  系統(tǒng)開(kāi)發(fā)語(yǔ)言:Java</p><p>  運(yùn)行平臺(tái):Windows XP</p><p>  數(shù)據(jù)庫(kù):My

30、SQL5.0</p><p>  Web服務(wù)器: Tomcat6.0</p><p>  2 圖書(shū)管理系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)的介紹</p><p>  2.1 JAVA的介紹</p><p>  2.1.1 JAVA的優(yōu)勢(shì)介紹</p><p>  Java已用動(dòng)態(tài)的交互應(yīng)用軟件使Web栩栩如生。它使開(kāi)發(fā)人員具有‘編寫(xiě)一

31、次到處運(yùn)行TM”的巨大能力。而且,借助其JavaAPI及其編程語(yǔ)言上的Java虛擬機(jī),它已產(chǎn)生一種分布信息的嶄新模式。這種模式叫做Java企業(yè)計(jì)算,正在幫助各企業(yè)以各種不同的方法取得競(jìng)爭(zhēng)優(yōu)勢(shì)。網(wǎng)管和控制已大大簡(jiǎn)化。軟件分配基本上是免費(fèi)的,而且立即可實(shí)現(xiàn)。電子貿(mào)易已獲得。占有成本大幅度降低。信息和應(yīng)用軟件到處可存取。Java建立在簡(jiǎn)單的前提基礎(chǔ)上,即所有微處理器都應(yīng)講同一種語(yǔ)言——所有內(nèi)部采用芯片的產(chǎn)品都應(yīng)能一起工作,無(wú)縫而方便地共享信息

32、。它已經(jīng)改變企業(yè)和個(gè)人同Internet大交道的方式?,F(xiàn)在,它正在對(duì)消費(fèi)類(lèi)產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計(jì)算。</p><p>  借助Java,您可自由自在地使用您已擁有的硬件和軟件。這是因?yàn)镴ava是獨(dú)立于平臺(tái)的。它還可使您超越企業(yè)計(jì)算,使應(yīng)用軟件在便攜式計(jì)算機(jī)、信息亭、電視、蜂窩電話(huà)和其他大量設(shè)備上運(yùn)行。</p><p>  全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的

33、用途。所有用途可從其無(wú)可比擬的能力,即提高可靠性、安全性和簡(jiǎn)化各種不同計(jì)算產(chǎn)品和環(huán)境的能力中受益非淺,而且節(jié)省的時(shí)間和費(fèi)用十分可觀。</p><p>  Java無(wú)處不在。它已擁有幾百萬(wàn)個(gè)用戶(hù),其發(fā)展速度要快于在它以前的其他任何一種計(jì)算機(jī)產(chǎn)品。它可位于任何地方,而且能到處運(yùn)行。Java正在迅速被用做傳播信息的事實(shí)上標(biāo)準(zhǔn),這是因?yàn)樗瓤山o企業(yè),也可給最終用戶(hù)帶來(lái)似乎數(shù)不清的好處。</p><p&

34、gt;  2.1.2 JAVA的特點(diǎn)</p><p>  面向?qū)ο螅浩鋵?shí)是現(xiàn)實(shí)世界模型的自然延伸。現(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過(guò)消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類(lèi)事物,任何對(duì)象都是某一類(lèi)事物的實(shí)例。如果說(shuō)傳統(tǒng)的過(guò)程式編程語(yǔ)言是以過(guò)程為中心以算法為驅(qū)動(dòng)的話(huà),面向?qū)ο蟮木幊陶Z(yǔ)言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過(guò)程式編程語(yǔ)言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z(yǔ)言為:程序=

35、對(duì)象+消息。 所有面向?qū)ο缶幊陶Z(yǔ)言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java也不例外。現(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體??梢哉f(shuō),對(duì)象是支持封裝的手段,是封裝的基本單位。Java語(yǔ)言的封裝性較強(qiáng),因?yàn)镴ava無(wú)全程變量,無(wú)主函數(shù),在Java中絕大部分成員是對(duì)象,只有簡(jiǎn)單的數(shù)字類(lèi)

36、型、字符類(lèi)型和布爾類(lèi)型除外。而對(duì)于這些類(lèi)型,Java也提供了相應(yīng)的對(duì)象類(lèi)型以便與其他對(duì)象交互操作。 </p><p>  可移植性:就是在這個(gè)系統(tǒng)上作的程序經(jīng)過(guò)一次編譯后可以移植到別的系統(tǒng)上解釋執(zhí)行,只要經(jīng)過(guò)簡(jiǎn)單的粘貼和復(fù)制就行了,不影響程序的效果</p><p>  安全性:在 iSeries 服務(wù)器上運(yùn)行的大多數(shù) Java(TM) 程序是應(yīng)用程序,而不是 applet,所以“砂箱”安全

37、性模型對(duì)它們不起限制作用。從安全性的觀點(diǎn)看,Java 應(yīng)用程序所受的安全性限制與 iSeries 服務(wù)器上的任何其它程序相同。要在 iSeries 服務(wù)器上運(yùn)行 Java 程序,您必須對(duì)集成文件系統(tǒng)中的類(lèi)文件具有權(quán)限。程序一旦啟動(dòng),它就在該用戶(hù)權(quán)限控制下運(yùn)行。 您可以使用沿用權(quán)限來(lái)訪(fǎng)問(wèn)具有運(yùn)行程序的用戶(hù)的權(quán)限和程序擁有者權(quán)限的對(duì)象。沿用權(quán)限臨時(shí)地將用戶(hù)原先無(wú)權(quán)訪(fǎng)問(wèn)的對(duì)象的權(quán)限授予用戶(hù)。</p><p>  并發(fā)性

38、:JAVA支持多線(xiàn)程技術(shù),就是多個(gè)線(xiàn)程并行機(jī)制,多線(xiàn)程是Java的一個(gè)重要方法,特別有利于在程序中實(shí)現(xiàn)并發(fā)任務(wù).Java提供Thread線(xiàn)程類(lèi),實(shí)現(xiàn)了多線(xiàn)程的并發(fā)機(jī)制.然而,程序的并發(fā)執(zhí)行必定會(huì)出現(xiàn)多個(gè)線(xiàn)程互斥訪(fǎng)問(wèn)臨界資源的局面,因而并發(fā)系統(tǒng)解決的關(guān)鍵就是對(duì)臨界資源的管理和分配問(wèn)題,而在進(jìn)行臨界資源分配時(shí)有兩方面需要考慮,即安全性和公平性.文中首先討論了多線(xiàn)程并發(fā)系統(tǒng)中的安全性與公平性問(wèn)題,指出安全性與公平性在并發(fā)系統(tǒng)中訪(fǎng)問(wèn)臨界資源時(shí)的

39、重要性.并通過(guò)火車(chē)行駛單行隧道的實(shí)例,演示各種條件下的行駛情況來(lái)進(jìn)一步說(shuō)明該問(wèn)題. </p><p>  SQL Server 2005 概述</p><p>  MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu).對(duì)于Mysql的前途,沒(méi)有任何人抱樂(lè)觀的態(tài)度.目前MySQL被廣泛地應(yīng)

40、用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p><b>  它具有以下特點(diǎn):</b></p><p>  (1).使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。 </p><p>

41、  (2).支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。 </p><p>  (3).為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 </p><p>  (4).支持多

42、線(xiàn)程,充分利用CPU資源。 </p><p>  (5).優(yōu)化的SQL查詢(xún)算法,有效地提高查詢(xún)速度。 </p><p>  (6).既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶(hù)端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。</p><p>  (7

43、).提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。 </p><p>  (8).提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。 </p><p>  (9).可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。</p><p>  2.3 Web技術(shù)</p><p>  2.3.1 瀏覽器/服務(wù)器(Browser/Server)結(jié)構(gòu)<

44、;/p><p>  隨著Web和Internet計(jì)算環(huán)境的發(fā)展,將使企業(yè)能夠以更快的速度、更低的費(fèi)用去創(chuàng)建和布置企業(yè)的應(yīng)用系統(tǒng),因而,普遍認(rèn)為C/S架構(gòu)將會(huì)被B/S結(jié)構(gòu)取代。Internet為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)提供了新的機(jī)會(huì),采用B/S結(jié)構(gòu),客戶(hù)機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explores;中間層采用Web服務(wù)器,它接受客戶(hù)端的請(qǐng)求,將其轉(zhuǎn)換為SQL

45、語(yǔ)句,通過(guò)ODBC或其他手段傳給數(shù)據(jù)庫(kù)服務(wù)器,并將數(shù)據(jù)庫(kù)服務(wù)器返回的結(jié)果用HTML文件格式傳回給客戶(hù)機(jī)??蛻?hù)機(jī)的要求大大降低,大部分程序在服務(wù)器端執(zhí)行。采用3層體系結(jié)構(gòu)的Web應(yīng)用程序由Web瀏覽器、Web服務(wù)器和數(shù)據(jù)庫(kù)3部分組成,如圖2-1所示。Web瀏覽器與Web服務(wù)器之間的通信仍然遵循HTTP,Web服務(wù)器與數(shù)據(jù)庫(kù)之間的通信遵守CGI(Common Gateway Interface)或者Server API規(guī)范。在采用三層體系結(jié)

46、構(gòu)的Web應(yīng)用程序中,Web瀏覽器向Web服務(wù)器請(qǐng)求某個(gè)HTML文檔或者請(qǐng)求執(zhí)行某個(gè)CGI腳本程序。Web服務(wù)器根據(jù)Web瀏覽器請(qǐng)求的是某個(gè)CGI程序或者API</p><p>  2.3.2 IIS服務(wù)器技術(shù)</p><p>  Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun

47、和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門(mén)omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。</p><p>  Tomcat 很

48、受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。 </p><p>  Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪(fǎng)問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服

49、務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪(fǎng)問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 </p><p>  這里的訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HT

50、ML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。</p><p>  3 系統(tǒng)總體設(shè)計(jì)分析</p><p>  3.1 系統(tǒng)需求分析</p><p>  隨著互聯(lián)網(wǎng)的爆炸性發(fā)展,人們?cè)絹?lái)越習(xí)慣于利用網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)所需的服務(wù),網(wǎng)絡(luò)已深深影響到人們生

51、活的各個(gè)方面。另外,傳統(tǒng)的圖書(shū)館不能滿(mǎn)足一部分現(xiàn)代人的需要,而電子閱覽室,由于其不受時(shí)間與空間的限制同時(shí)又具有傳統(tǒng)圖書(shū)館的大部分功能,能夠滿(mǎn)足各類(lèi)用戶(hù)的常規(guī)與特殊需求,而且其方便快捷,實(shí)現(xiàn)技術(shù)又比較成熟,因此受到當(dāng)代人的喜愛(ài)。</p><p>  該系統(tǒng)主要分為兩部分:讀者部分和管理員部分。為了方便讀者查找自己感興趣的主題進(jìn)行閱讀,要將圖書(shū)按照內(nèi)容進(jìn)行分類(lèi)。讀者可以按照類(lèi)別進(jìn)行查找,逐級(jí)瀏覽、可以查看自己的信息。

52、本系統(tǒng)還可對(duì)用戶(hù)的賬號(hào)和書(shū)目的閱讀權(quán)限進(jìn)行管理。管理員需要給用戶(hù)分配用戶(hù)名和密碼,及設(shè)定用戶(hù)的級(jí)別,還為用戶(hù)提供圖書(shū)的排行榜讓用戶(hù)能知道那些圖書(shū)受到大家的歡迎。</p><p>  3.2 系統(tǒng)實(shí)現(xiàn)的目標(biāo) </p><p>  學(xué)校圖書(shū)管理系統(tǒng)的開(kāi)發(fā)主要要實(shí)現(xiàn)的目標(biāo)有以下幾個(gè)方面:</p><p>  (1)界面設(shè)計(jì)友好、美觀。</p><p&

53、gt;  (2)數(shù)據(jù)存儲(chǔ)安全、可靠。</p><p>  (3)信息分類(lèi)清晰、準(zhǔn)確。</p><p>  (4)強(qiáng)大的查詢(xún)功能,保證數(shù)據(jù)查詢(xún)的靈活性。</p><p>  (5)實(shí)現(xiàn)對(duì)圖書(shū)借閱和歸還過(guò)程的全程數(shù)據(jù)信息跟蹤。</p><p>  (6)提供圖書(shū)借閱排行榜,為圖書(shū)管理員提供了真實(shí)的數(shù)據(jù)信息。</p><p>

54、;  (7)提供靈活、方便的權(quán)限設(shè)置功能,使整個(gè)系統(tǒng)的管理分工明確。</p><p>  (8)具有易維護(hù)性和易操作性。</p><p>  3.3 系統(tǒng)功能模塊設(shè)計(jì)</p><p>  (1)系統(tǒng)設(shè)置模塊:添加刪除管理員、設(shè)置管理員的權(quán)限、說(shuō)明圖書(shū)存放書(shū)架信息添加刪除書(shū)架信息。</p><p>  (2)讀者管理模塊:添加刪除不同類(lèi)型的讀

55、者及注明可借圖書(shū)的數(shù)量、添加刪除讀者的檔案。</p><p>  (3)圖書(shū)管理模塊:添加刪除不同類(lèi)型的的圖書(shū)及注明圖書(shū)可借的天數(shù)庫(kù)存數(shù)量、添加刪除圖書(shū)的檔案。</p><p>  (4)圖書(shū)借還模塊:可查詢(xún)讀者借閱和歸還圖書(shū)的信息及圖書(shū)的現(xiàn)有庫(kù)存量。</p><p>  (0035)系統(tǒng)查詢(xún)模塊:可根據(jù)不同的條件(條形碼、書(shū)名、類(lèi)別、作者、書(shū)架、出版社)查詢(xún)讀者需

56、要的圖書(shū)、讀者可根據(jù)不同的條件(圖書(shū)條形碼、圖書(shū)名稱(chēng)、讀者編號(hào)、讀者名字、到期時(shí)間)查詢(xún)自己借閱圖書(shū)信息。</p><p>  (6)排行榜模塊:可以讓讀者知道圖書(shū)借閱的排行榜及讀者借閱的排行榜。</p><p>  3.4 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  根據(jù)圖書(shū)管理系統(tǒng)的實(shí)際需求,可以將圖書(shū)管理系統(tǒng)劃分為系統(tǒng)設(shè)置、圖書(shū)管理、讀者管理、圖書(shū)借還、系統(tǒng)查詢(xún)、排

57、行榜6個(gè)部分各個(gè)部分的具體功能的系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  (1)圖書(shū)借閱系統(tǒng)完成用戶(hù)的借書(shū)過(guò)程其數(shù)據(jù)流圖如圖3-2所示。</p><p>  圖3-2 借閱系統(tǒng)的數(shù)據(jù)流圖</p><p>  (2)還書(shū)系統(tǒng)完成圖書(shū)的歸還過(guò)程其數(shù)據(jù)流圖如圖3-3所示。</p>

58、;<p>  圖3-3 歸還系統(tǒng)的數(shù)據(jù)流圖</p><p>  (3)圖書(shū)檔案管理系統(tǒng)為用戶(hù)提供圖書(shū)檔案信息其數(shù)據(jù)流圖如圖3-4所示。</p><p>  圖3-4 圖書(shū)檔案管理數(shù)據(jù)流圖</p><p>  (4)讀者檔案系統(tǒng)用于記錄讀者的詳細(xì)信息其數(shù)據(jù)流圖如圖3-5所示。</p><p>  圖3-5 讀者檔案管理數(shù)據(jù)流

59、圖</p><p>  3.5 系統(tǒng)流程圖</p><p>  圖書(shū)管理系統(tǒng)的流程是用戶(hù)先輸入自己的帳號(hào)密碼及系統(tǒng)顯示的驗(yàn)證碼進(jìn)入系統(tǒng)如有一項(xiàng)不符合則不能進(jìn)入系統(tǒng),成功登陸系統(tǒng)后系統(tǒng)根劇登陸的帳號(hào)信息從數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行對(duì)比判斷是讀者還是管理員,如果是讀者則能進(jìn)行信息查詢(xún),及修改自己的相關(guān)信息,查詢(xún)到自己所需要的圖書(shū)就能通過(guò)管理員進(jìn)行借閱圖書(shū)、歸還圖書(shū)也是通過(guò)管理員完成的。如果不是讀者而

60、是管理員,那管理員可以進(jìn)行相關(guān)信息的查詢(xún)、添加刪除圖書(shū)及讀者的所有信息、設(shè)置相應(yīng)的權(quán)限、為圖書(shū)更新排行榜的信息、以及完成讀者的圖書(shū)借閱與歸還。圖書(shū)管理系統(tǒng)的系統(tǒng)流程圖如圖3-6所示。</p><p>  圖3-6 圖書(shū)管理系統(tǒng)的流程圖</p><p>  4 數(shù)據(jù)總體結(jié)構(gòu)設(shè)計(jì)</p><p>  4.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p&g

61、t;  數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這個(gè)階段不用考慮所采用的數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)類(lèi)型、機(jī)器類(lèi)型等問(wèn)題。這階段可用的工具很多。用的最多的是E-R圖(Entity-Relation,實(shí)體-關(guān)系圖),另外還有許多計(jì)算機(jī)輔助工具(Computer Aided Software Engineering, CASE)可以幫助進(jìn)行設(shè)計(jì)。本系統(tǒng)采用了E-

62、R圖的方法進(jìn)行數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。E-R圖是描述數(shù)據(jù)實(shí)體關(guān)系的一種直觀描述工具。這種圖中有:</p><p>  (1)實(shí)體:用方框表示,方框內(nèi)為實(shí)體的名稱(chēng)。</p><p>  (2)實(shí)體的各種屬性:用橢圓表示,橢圓內(nèi)為屬性名稱(chēng)。使用線(xiàn)段將其和響應(yīng)的實(shí)體連接起來(lái)。</p><p>  (3)實(shí)體之間的聯(lián)系:用菱形表示,菱形內(nèi)為聯(lián)系的名稱(chēng)。</p>&

63、lt;p>  實(shí)體和實(shí)體之間的聯(lián)系較多,比較常見(jiàn)的聯(lián)系有l(wèi):1,l:N和M:N這三種。</p><p>  4.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  概念結(jié)構(gòu)是獨(dú)立于實(shí)際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用的設(shè)計(jì)。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型。</p><p>  第一種轉(zhuǎn)化是將實(shí)體轉(zhuǎn)化為關(guān)系表。

64、這種轉(zhuǎn)化較簡(jiǎn)單,需要將實(shí)體的屬性定義為表的屬性即可。</p><p>  第二種轉(zhuǎn)化是聯(lián)系的轉(zhuǎn)化。即將各個(gè)實(shí)體之間的聯(lián)系轉(zhuǎn)化為表格之間的關(guān)系,如外部鍵的定義。</p><p>  在上面工作的基礎(chǔ)上歸納出人員管理數(shù)據(jù)庫(kù)表格的組成之間的聯(lián)系等等。該數(shù)據(jù)庫(kù)系統(tǒng)具有以下方面的特點(diǎn):</p><p>  結(jié)構(gòu)合理,對(duì)一個(gè)人員建立多條記錄。</p><p&

65、gt;  所建立的數(shù)據(jù)冗余度小,獨(dú)立性強(qiáng)。</p><p>  建檔、修改、查詢(xún)、統(tǒng)計(jì)快速而準(zhǔn)確。</p><p>  保密性好、可靠性好。 </p><p>  圖書(shū)管理系統(tǒng)中要有圖書(shū),圖書(shū)是圖書(shū)管理系統(tǒng)中密不可分的部分,因此要?jiǎng)?chuàng)建一圖書(shū)信息實(shí)體,用來(lái)保存圖書(shū)的詳細(xì)信息。圖書(shū)信息實(shí)體屬性圖如圖4-1所示。</p><p>  圖4-1 圖

66、書(shū)信息實(shí)體屬性圖</p><p>  讀者是圖書(shū)管理系統(tǒng)重要組成部分,這里創(chuàng)建了一個(gè)讀者信息實(shí)體,用來(lái)存儲(chǔ)讀者的詳細(xì)信息。讀者信息實(shí)體E-R圖如圖4.2所示。</p><p>  圖4-2 讀者信息實(shí)體屬性圖</p><p>  圖書(shū)的借閱和歸還是圖書(shū)管理系統(tǒng)中的一項(xiàng)重要的環(huán)節(jié),開(kāi)發(fā)圖書(shū)管理系統(tǒng)就是為了方便讀者對(duì)圖書(shū)的借閱和歸還,因此要建立一個(gè)圖書(shū)借還實(shí)體,用來(lái)保

67、存讀者對(duì)圖書(shū)的借閱和歸還的詳細(xì)信息。圖書(shū)的借閱和歸還實(shí)體屬性圖如圖4-3所示。</p><p>  圖4-3 讀者借還實(shí)體屬性圖</p><p>  圖書(shū)管理系統(tǒng)為了增加系統(tǒng)的安全性,管理員只有在系統(tǒng)登陸模塊驗(yàn)證通過(guò)后才能進(jìn)入管理員的操作界面,因此套在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)存放登錄用戶(hù)信息的管理員實(shí)體。管理員實(shí)體屬性圖如圖4-4所示。</p><p>  圖4-4 管

68、理員實(shí)體屬性圖</p><p>  4.3 圖書(shū)管理系統(tǒng)的系統(tǒng)E-R圖</p><p>  圖書(shū)管理系統(tǒng)的系統(tǒng)E-R圖如圖4-5所示。</p><p>  圖4-5 圖書(shū)管理系統(tǒng)的系統(tǒng)E-R圖</p><p>  4.4 數(shù)據(jù)表設(shè)計(jì)</p><p>  本系統(tǒng)使用的數(shù)據(jù)庫(kù)管理系統(tǒng)為MySQL5.0。數(shù)據(jù)庫(kù)中的表有

69、管理員信息表、圖書(shū)信息表、讀者信息表、管理員權(quán)限表、圖書(shū)借閱歸還表等。</p><p>  圖書(shū)管理員基本信息表tb_admin,如表4-6所示。</p><p>  表4-6 tb_admin(管理員)表 </p><p>  讀者詳細(xì)信息表tb_reader,如表4-7所示。</p><p>  表4-7 tb_reader(讀者信息

70、)表</p><p>  圖書(shū)詳細(xì)信息表tb_bookkifo,如表4-8所示。</p><p>  表4-8 tb_bookkifo(圖書(shū)信息)表</p><p>  圖書(shū)借閱和歸還信息表tb_borrowandback,如表4-9所示。</p><p>  表4-9 tb_borrowandback(圖書(shū)借閱和歸還信息)表</p

71、><p>  權(quán)限信息表tb_purview,如表4-10所示。</p><p>  表4-10 tb_purview(權(quán)限信息)表</p><p>  5 圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  5.1 系統(tǒng)流程分析</p><p>  根據(jù)開(kāi)發(fā)圖書(shū)管理系統(tǒng)的需求分析,本系統(tǒng)設(shè)計(jì)了三種用戶(hù),分別為系統(tǒng)管理員、教師

72、和學(xué)生。</p><p>  系統(tǒng)要求有系統(tǒng)管理員用戶(hù),我們?cè)O(shè)定系統(tǒng)管理員,當(dāng)系統(tǒng)管理員使用帳戶(hù)登錄后,需要查看有關(guān)圖書(shū)的一系列的信息,管理員可以通過(guò)系統(tǒng)導(dǎo)航菜單進(jìn)入讀者管理界面、圖書(shū)管理界面、圖書(shū)借還界面、系統(tǒng)查詢(xún)界面、排行榜界面,在讀者界面中,管理員添加和修改學(xué)生或教師信息、用戶(hù)可以查看自己信息,在圖書(shū)管理界面管理員可以添加和修改圖書(shū)信息、用戶(hù)可查看圖書(shū),在圖書(shū)借還界面完成讀者借書(shū)還書(shū)的操作,系統(tǒng)查詢(xún)界面管理

73、員可以查看借出去的圖書(shū)信息及庫(kù)存的信息、用戶(hù)可以查找自己的所需的圖書(shū),排行榜界面主要是可以讓用戶(hù)知道哪些圖書(shū)受到讀者的喜愛(ài)。讀者(老師和學(xué)生)使用讀者帳號(hào)登陸系統(tǒng)后,可以查詢(xún)自己所需要的圖書(shū)的信息、也可以查詢(xún)自己個(gè)人的基本信息及圖書(shū)的借還信息,還能查看排行榜的信息。讀者的借書(shū)和還書(shū)過(guò)程是通過(guò)管理員完成的。</p><p>  5.2 主要模塊的運(yùn)行</p><p>  5.2.1 登陸

74、界面</p><p>  當(dāng)用戶(hù)輸入用戶(hù)名、密碼,系統(tǒng)自動(dòng)將輸入的信息和相關(guān)數(shù)據(jù)表中的內(nèi)容進(jìn)行比較,如果該用戶(hù)輸入的內(nèi)容和數(shù)據(jù)表中的內(nèi)容相符,則通過(guò)驗(yàn)證,此次登錄成功;否則登錄失敗。比較的過(guò)程是由瀏覽器將指令,數(shù)據(jù)發(fā)送到Web服務(wù)器,Web服務(wù)器通過(guò)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)將結(jié)果返回到瀏覽器,從而端顯示成功的消息,用戶(hù)只有成功登陸系統(tǒng)后才能進(jìn)行一系列的操作,如下圖5-1所示。</p><p>  

75、5-1 圖書(shū)管理系統(tǒng)登陸界面</p><p>  5.2.2 圖書(shū)信息管理模塊</p><p>  圖書(shū)信息管理模塊主要分為查看圖書(shū)信息頁(yè)面和添加修改圖書(shū)信息頁(yè)面,用戶(hù)可以在查看圖書(shū)信息頁(yè)面查看圖書(shū)的基本信息,管理員也可以看這些信息,并且可以通過(guò)單擊“添加圖書(shū)信息”這個(gè)超級(jí)鏈接或集合列表中的“詳情”超級(jí)鏈接轉(zhuǎn)到添加或刪除圖書(shū)信息界面,并在該頁(yè)中添家或修改圖書(shū)信息,如圖5-2與5-3所示

76、。</p><p>  圖5-2 查看圖書(shū)信息界面</p><p>  圖5-3 添家或修改圖書(shū)信息界面</p><p>  圖書(shū)信息管理模塊的實(shí)現(xiàn),主要是使用了Hibernate框架操作數(shù)據(jù)庫(kù)技術(shù)。</p><p>  Hibernate,通過(guò)對(duì)jdbc進(jìn)行封裝,對(duì) java類(lèi)和關(guān)系數(shù)據(jù)庫(kù)進(jìn)行mapping,實(shí)現(xiàn)了對(duì)關(guān)系數(shù)據(jù)庫(kù)的面向?qū)ο?/p>

77、方式的操作,改變了傳統(tǒng)的jdbc + sql操作數(shù)據(jù)的方式,從而使開(kāi)發(fā)人員可以話(huà)更多精力進(jìn)行對(duì)象方面的開(kāi)發(fā)。其優(yōu)點(diǎn)并不只是簡(jiǎn)化了數(shù)據(jù)庫(kù)操作,更有價(jià)值的是對(duì)不同的數(shù)據(jù)庫(kù)提供了統(tǒng)一操作的接口,使應(yīng)用程序的跨數(shù)據(jù)庫(kù)開(kāi)發(fā)成為可能。</p><p>  5.2.3 圖書(shū)借還信息模塊</p><p>  圖書(shū)借還管理模塊主要分為圖書(shū)借閱頁(yè)面和圖書(shū)歸還頁(yè)面,用戶(hù)可以在通過(guò)這個(gè)模塊查看圖書(shū)的借閱和歸還信

78、息。管理員可以在圖書(shū)通過(guò)這個(gè)模塊來(lái)完成讀者借和還書(shū)的操作,如圖5-4與5-5所示。</p><p>  圖5-4 圖書(shū)的借閱管理</p><p>  圖5-5 圖書(shū)歸還管理</p><p>  5.3 系統(tǒng)開(kāi)發(fā)的遇到的相關(guān)問(wèn)題及解決</p><p>  5.3.1 圖書(shū)管理系統(tǒng)索引 </p><p>  圖書(shū)管

79、理系統(tǒng)開(kāi)發(fā)中存在大量的數(shù)據(jù)和信息檢索,怎樣更好的檢索數(shù)據(jù)和信息操作是保證檢索速度的提高和數(shù)據(jù)的分頁(yè)顯示,主要考慮了以下幾個(gè)方面:</p><p>  (1)設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)充分考慮冗余量和可處理性?xún)煞矫娴囊?,在接受冗余量的提下,盡量減少表的連接操作。</p><p>  (2)關(guān)系的大小對(duì)查詢(xún)的影響也是很大的,因此為了提高數(shù)據(jù)庫(kù)的查詢(xún)速度,減小系的大小和數(shù)據(jù)量也是必要的。</p>

80、;<p>  (3)建立合理的索引結(jié)構(gòu)。索引相當(dāng)于一個(gè)映射機(jī)構(gòu),將鍵值轉(zhuǎn)換成相對(duì)應(yīng)的</p><p>  記錄地址,形成索引文件。</p><p>  索引設(shè)計(jì)是數(shù)據(jù)庫(kù)物理設(shè)計(jì)的基本問(wèn)題,也是較困難的問(wèn)題,建立索引可以極大地提高系統(tǒng)的查詢(xún)速度,但是同時(shí)做Insert、Update、Delete操作時(shí)會(huì)降低速度,因?yàn)樽鲞@些操作的同時(shí)需要更新索引,所以不能對(duì)數(shù)據(jù)庫(kù)中所有的表都建立

81、索引。比如滿(mǎn)足下列條件之一的不易建立索引:不出現(xiàn)或很少出現(xiàn)的屬性或表、屬性分布嚴(yán)重不均的屬性、經(jīng)常更新的屬性或表、過(guò)長(zhǎng)的屬性、太小的表等。</p><p>  滿(mǎn)足下列條件之一的可以考慮建立索引:主鍵和外鍵都建立索引、對(duì)于以讀為主或只讀的表,只要需要,且存儲(chǔ)空間允許,可以減少連接開(kāi)銷(xiāo)、對(duì)于等值查詢(xún)(即查詢(xún)條件以等號(hào)為比較符),最好建立索引、對(duì)查詢(xún)范圍(即查詢(xún)條件>,<,≤,≥為比較符),最好建立索引、

82、有些查詢(xún)可以由檢索直接得到結(jié)果,不必訪(fǎng)問(wèn)數(shù)據(jù)塊。</p><p>  根據(jù)實(shí)際需要,讀者信息表,圖書(shū)信息表,圖書(shū)借還信息表,權(quán)限信息,管理員信息表等都建立索引,合理使用緩沖區(qū)。</p><p>  5.3.2 如何驗(yàn)證輸入的字符串</p><p>  在圖書(shū)管理系統(tǒng)的開(kāi)發(fā)過(guò)程中,需要對(duì)一些輸入的字符串進(jìn)行驗(yàn)證,例如金額、電話(huà)號(hào)碼、E-mail等,由于許多模塊都需要

83、用到這些驗(yàn)證,因此可以將其寫(xiě)入到一個(gè)公共JS腳本中然后在其他的頁(yè)面中直接調(diào)用即可。JS中對(duì)字符串進(jìn)行驗(yàn)證時(shí),十分的方便快捷,減少服務(wù)器與客戶(hù)端交互的過(guò)程,在客戶(hù)端輕松的解決,要使用正則表達(dá)式驗(yàn)證輸入的字符串,如驗(yàn)證輸入的字符串是否為E-mail的地址格式的實(shí)現(xiàn)方法。代碼如下:</p><p>  驗(yàn)證輸入為Email</p><p>  if(formname.email.value!=f

84、ormname.email.value.match(/^\w +[@]\w +[.][\w.] +$/)) </p><p><b>  {</b></p><p>  alert("您的電子郵件格式錯(cuò)誤!"); </p><p>  formname.email.focus(); </p><p>

85、  return false; </p><p><b>  }</b></p><p>  5.3.3 自動(dòng)計(jì)算圖書(shū)歸還日期</p><p>  在圖書(shū)管理系統(tǒng)運(yùn)行中會(huì)常常遇到這樣的問(wèn)題:在借閱圖書(shū)時(shí),需要自動(dòng)計(jì)算圖書(shū)的歸還日期,而這個(gè)日期又不是固定不變的,它是需要根據(jù)系統(tǒng)日期和數(shù)據(jù)表中保存的各類(lèi)圖書(shū)的最多借閱天數(shù)來(lái)計(jì)算的,即圖書(shū)歸還

86、日期=“系統(tǒng)日期”+“最多借閱天數(shù)”。因此本系統(tǒng)是這樣解決問(wèn)題的:首先獲取系統(tǒng)時(shí)間,然后從數(shù)據(jù)表中查詢(xún)出該類(lèi)圖書(shū)最多借閱天數(shù),最后計(jì)算歸還日期。計(jì)算方法如下:</p><p>  首先取出所借圖書(shū)的最多借閱天數(shù),然后根據(jù)圖書(shū)的最多借閱天數(shù),使用getMaxDay()方法返回一個(gè)int值,最后使用當(dāng)前時(shí)間與先返回的Timespan時(shí)間間隔相加。</p><p>  自動(dòng)計(jì)算圖書(shū)歸還日期的關(guān)鍵

87、代碼如下:</p><p><b>  //獲得當(dāng)前日期</b></p><p>  SimpleDateFormat time=new SimpleDateFormat("yyyy-MM-dd");</p><p>  Calendar c = Calendar.getInstance();</p><

88、p>  //獲得最多借閱天數(shù)</p><p>  int days = getMaxDay();</p><p>  //增加圖書(shū)借閱天數(shù)</p><p>  c.add(Calendar.DAY_OF_MONTH, days);</p><p>  //獲得圖書(shū)歸還日期</p><p>  String bor

89、rowandbackmanage = time.format(c.getTime());</p><p>  5.3.4 系統(tǒng)登陸驗(yàn)證碼的實(shí)現(xiàn)</p><p>  在學(xué)校圖書(shū)管理系統(tǒng)的開(kāi)發(fā)過(guò)程中,怎么樣防止某些人利用某些惡意的軟件對(duì)圖書(shū)管理系統(tǒng)進(jìn)行惡意的登陸來(lái)攻擊系統(tǒng),增加圖書(shū)管理系統(tǒng)的安全性是一個(gè)重要的問(wèn)題。在圖書(shū)管理系統(tǒng)的登陸模塊中加入一個(gè)驗(yàn)證碼的功能,即用戶(hù)除了要輸入帳號(hào)和密碼還要

90、輸入系統(tǒng)為用戶(hù)提供的驗(yàn)證碼。驗(yàn)證碼可以很好的解決了怎樣防止惡意用戶(hù)利用惡意軟件對(duì)系統(tǒng)頁(yè)面的瘋狂提交、以及暴力破解密碼進(jìn)行登陸的問(wèn)題。因此,設(shè)置一個(gè)隨機(jī)函數(shù)在數(shù)字0~9和英文字母A~Z中隨機(jī)抽取四個(gè),在用戶(hù)打開(kāi)登陸界面的時(shí)候,系統(tǒng)通過(guò)隨機(jī)生成器隨機(jī)生成4個(gè)數(shù)字或字母或數(shù)字加字母存放在緩存內(nèi),并出現(xiàn)在界面上順序是隨機(jī)的,當(dāng)用戶(hù)登陸時(shí)輸入的驗(yàn)證碼要與緩存中的進(jìn)行對(duì)比符合就進(jìn)入,不符合就不能登陸。系統(tǒng)在提供驗(yàn)證碼時(shí)候要加入一些干擾的條件的,不過(guò)

91、這些人的肉眼是很容易分辨,但機(jī)器人程序不能分辨,很好的防止某人利用機(jī)器人程序?qū)ο到y(tǒng)的惡意操作增加了系統(tǒng)的安全性。驗(yàn)證碼實(shí)現(xiàn)的關(guān)鍵代碼如下:</p><p>  <input name="rand" type="text" style="width:40px; height:20px;" onkeydown="if(event.keyCod

92、e==13)MM_submit();" /> <img src="image.jsp" border="1" align="absmiddle" /></p><p>  Image.jsp頁(yè)面</p><p>  <%@ page contentType="image/jpeg&quo

93、t;%></p><p>  <%@page import="javax.imageio.*,com.lilosoft.util.VerifyImage"%></p><p><b>  <%</b></p><p>  response.setDateHeader("Expires&quo

94、t;,-1000);</p><p>  //response.setContentType("image/jpeg");</p><p>  response.setHeader("Pragma","No-cache");</p><p>  response.setHeader("Cache-

95、Control","no-cache");</p><p>  response.setDateHeader("Expires",0);</p><p>  VerifyImage vb=VerifyImage.creatInstance();</p><p>  ImageIO.write(vb.image,&qu

96、ot;JPEG",response.getOutputStream());</p><p>  session.setAttribute(VerifyImage.VerifyNo,vb.sRand);</p><p>  response.flushBuffer();</p><p>  out.clear();</p><p> 

97、 out = pageContext.pushBody();</p><p><b>  %></b></p><p>  //VerifyImage 驗(yàn)證碼類(lèi)文件</p><p>  import java.awt.Color;</p><p>  import java.awt.Font;</p>

98、<p>  import java.awt.Graphics;</p><p>  import java.awt.Image;</p><p>  import java.awt.image.BufferedImage;</p><p>  import java.util.Random;</p><p><b> 

99、 /**</b></p><p>  * @author To change the template for this generated type comment go to</p><p>  * Window>Preferences>Java>Code Generation>Code and Comments</p>

100、<p><b>  */</b></p><p>  public class VerifyImage{</p><p>  public String sRand="";</p><p>  public BufferedImage image=null;</p><p>  publ

101、ic String getSRand(){</p><p>  return sRand;</p><p><b>  }</b></p><p>  public BufferedImage getImage(){</p><p>  return image;</p><p><b>

102、;  }</b></p><p>  private VerifyImage(){</p><p><b>  }</b></p><p>  public static final String VerifyNo="VerifyNo";</p><p>  public static

103、 VerifyImage creatInstance(){</p><p>  VerifyImage vi=new VerifyImage();</p><p>  // 在內(nèi)存中創(chuàng)建圖象</p><p>  int width=40,height=17;</p><p>  vi.image=new BufferedImage(width

104、,height,BufferedImage.TYPE_INT_RGB);</p><p>  // 獲取圖形上下文</p><p>  Graphics g=vi.image.getGraphics();</p><p><b>  // 生成隨機(jī)類(lèi)</b></p><p>  Random random=new Ran

105、dom();</p><p><b>  // 設(shè)定背景色</b></p><p>  g.setColor(getRandColor(200,250));</p><p>  g.fillRect(0,0,width,height);</p><p><b>  // 設(shè)定字體</b></p

106、><p>  g.setFont(new Font("Times New Roman",Font.PLAIN,12));</p><p><b>  // 畫(huà)邊框</b></p><p>  // g.setColor(new Color());</p><p>  //g.drawRect(0,0,wi

107、dth-1,height-1);</p><p>  // 隨機(jī)產(chǎn)生155條干擾線(xiàn),使圖象中的認(rèn)證碼不易被其它程序探測(cè)到</p><p>  g.setColor(getRandColor(160,200));</p><p>  for(int i=0;i<155;i++){</p><p>  int x=random.nextIn

108、t(width);</p><p>  int y=random.nextInt(height);</p><p>  int xl=random.nextInt(12);</p><p>  int yl=random.nextInt(12);</p><p>  g.drawLine(x,y,x+xl,y+yl);</p>

109、<p><b>  }</b></p><p>  // 取隨機(jī)產(chǎn)生的認(rèn)證碼(4位數(shù)字)</p><p>  for(int i=0;i<4;i++){</p><p>  String rand=String.valueOf(random.nextInt(10));</p><p>  vi.sRand

110、=vi.sRand+""+rand;</p><p>  // 將認(rèn)證碼顯示到圖象中</p><p>  g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));// 調(diào)用函數(shù)出來(lái)的顏色相同,可能是因?yàn)榉N子太接近,所以只能直接生成</p&

111、gt;<p>  g.drawString(rand,9*i+3,14);</p><p><b>  }</b></p><p><b>  // 圖象生效</b></p><p>  g.dispose();</p><p>  // com.et.util.Log.write(&

112、quot;sRand======"+sRand);</p><p>  return vi;</p><p><b>  }</b></p><p>  private static Color getRandColor(int fc,int bc){// 給定范圍獲得隨機(jī)顏色</p><p>  Random

113、 random=new Random();</p><p>  if(fc>255)</p><p><b>  fc=255;</b></p><p>  if(bc>255)</p><p><b>  bc=255;</b></p><p>  int r=

114、fc+random.nextInt(bc-fc);</p><p>  int g=fc+random.nextInt(bc-fc);</p><p>  int b=fc+random.nextInt(bc-fc);</p><p>  return new Color(r,g,b);</p><p><b>  }</b&

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論