

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 信息系統(tǒng)工程與實(shí)踐</b></p><p> ---- Java Web圖書(shū)管理系統(tǒng)</p><p><b> 班級(jí): </b></p><p><b> 姓名: </b></p><p><b> 學(xué)號(hào): </b>&
2、lt;/p><p><b> 一、題目的選擇</b></p><p> Java Web圖書(shū)管理系統(tǒng)</p><p><b> 二、系統(tǒng)分析</b></p><p> 2.1 系統(tǒng)的可行性分析</p><p> 可行性分析是在進(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開(kāi)發(fā)必要性和可能
3、性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性和社會(huì)可行性三方面來(lái)論證。通過(guò)長(zhǎng)時(shí)間的觀察與實(shí)踐,我認(rèn)為圖書(shū)館管理系統(tǒng)的可行性分析如下:</p><p> 2.1.1經(jīng)濟(jì)可行性分析</p><p> 作為圖書(shū)館這樣的商業(yè)性質(zhì)較小的場(chǎng)所,其經(jīng)濟(jì)成分比重相對(duì)較少,主要是支出的費(fèi)用:其中包括設(shè)備購(gòu)置費(fèi)、軟件開(kāi)發(fā)費(fèi)用、管理和維護(hù)費(fèi)、人員工資和培訓(xùn)費(fèi)等。由于各個(gè)圖書(shū)館實(shí)行統(tǒng)一
4、操作,系統(tǒng)共享,其設(shè)備購(gòu)置,人員工資,維護(hù)費(fèi)用相對(duì)較少,前期的資金投入主要集中于購(gòu)置圖書(shū)上。建立信息中心,可將來(lái)自各方面的信息集中管理,提高圖書(shū)管理的計(jì)劃性和預(yù)見(jiàn)性,快速地反饋市場(chǎng)信息。</p><p> 2.1.2技術(shù)可行性分析</p><p> 技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開(kāi)發(fā)工作,硬件、軟件配置能否滿足開(kāi)發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來(lái)源等。圖書(shū)館管
5、理系統(tǒng)的工作主要是在讀者和圖書(shū)館之間架起一座橋梁,能相互溝通信息和處理信息。這一特點(diǎn)非常適合計(jì)算機(jī)特點(diǎn),通過(guò)網(wǎng)絡(luò)internet技術(shù),發(fā)揮計(jì)算機(jī)的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢(shì)。計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。</p><p> 2.1.3社會(huì)可行性分析</p><p> 社會(huì)可行性有時(shí)也稱為操作可行性,主要論證新系統(tǒng)在企業(yè)或機(jī)構(gòu)開(kāi)發(fā)和運(yùn)行的可能性以及運(yùn)行后
6、可能一起的對(duì)企業(yè)或機(jī)構(gòu)的影響,即組織內(nèi)外是否具備接受和使用新系統(tǒng)的條件。在當(dāng)前信息技術(shù)飛速發(fā)展的大環(huán)境下,計(jì)算機(jī)技術(shù)和軟件技術(shù)的更新是圖書(shū)館完全有可能也有能力采用這樣先進(jìn)的管理技術(shù)。它對(duì)圖書(shū)館帶來(lái)的影響可以看到:</p><p> ?。╝)對(duì)傳統(tǒng)管理理念的沖擊,可能引起管理層的變動(dòng)和人員的調(diào)整。</p><p> ?。╞)對(duì)圖書(shū)館工作人員的要求提高,使圖書(shū)館在一定的可能下進(jìn)行機(jī)構(gòu)精簡(jiǎn),迫使
7、工作人員繼續(xù)學(xué)習(xí)新知識(shí),拓寬圖書(shū)館在市場(chǎng)環(huán)境下的生存空間。</p><p> (c)對(duì)圖書(shū)館與讀者之間業(yè)務(wù)方式的轉(zhuǎn)變和擴(kuò)充。</p><p> 最后,針對(duì)用戶對(duì)圖書(shū)資源進(jìn)行有效利用和管理的功能需求,用建模技術(shù)對(duì)圖書(shū)管理資源采用面向?qū)ο蟮拿枋龇绞剑诰唧w系統(tǒng)功能實(shí)現(xiàn)之前,建立起系統(tǒng)模型是很必要的,這里采用具有可視化、能夠柔性實(shí)現(xiàn)分析、設(shè)計(jì)和開(kāi)發(fā)系統(tǒng)的統(tǒng)一建模語(yǔ)言實(shí)現(xiàn)系統(tǒng)模型構(gòu)建。同時(shí),結(jié)
8、合最流行的基于瀏覽器的數(shù)據(jù)管理模式,建議采用基于組件技術(shù)的B/S(brower/server)系統(tǒng)結(jié)構(gòu)。</p><p> 從技術(shù)的角度來(lái)考慮,隨著計(jì)算機(jī)技術(shù)的深入發(fā)展,相關(guān)的應(yīng)用軟件、技術(shù)已經(jīng)很成熟了,各種信息系統(tǒng)的開(kāi)發(fā)工具也很完善了。運(yùn)用現(xiàn)在軟件行業(yè)中流行的開(kāi)發(fā)工具JAVA以及MySQL,借鑒別人成功開(kāi)發(fā)的寶貴經(jīng)驗(yàn),可成功開(kāi)發(fā)一個(gè)功能基本完善的、符合中小型生產(chǎn)企業(yè)生產(chǎn)管理所需的生產(chǎn)管理信息系統(tǒng)。</p
9、><p> 綜上所述,實(shí)施生產(chǎn)管理系統(tǒng)在技術(shù)上、經(jīng)濟(jì)上、運(yùn)行上以及社會(huì)環(huán)境上都是可行的,因此,開(kāi)發(fā)生產(chǎn)管理信息系統(tǒng)是可行的。</p><p> 2.2 系統(tǒng)的需求分析</p><p> 公司的圖書(shū)管理涉及圖書(shū)信息、系統(tǒng)用戶信息、讀者信息、圖書(shū)借閱等多種數(shù)據(jù)管理。從管理的角度可將圖書(shū)分為三類:圖書(shū)信息管理、系統(tǒng)用戶管理、讀者數(shù)據(jù)管理。圖書(shū)信息管理包括圖書(shū)征定、借還、
10、查詢等操作,系統(tǒng)用戶管理包括系統(tǒng)用戶類別和用戶數(shù)據(jù)管理,讀者數(shù)據(jù)管理包括讀者類別管理和個(gè)人數(shù)據(jù)的錄入、修改和刪除。</p><p> 圖書(shū)借閱者的需求是查詢圖書(shū)室所存的圖書(shū)、個(gè)人借閱情況及個(gè)人信息的修改;圖書(shū)館工作人員對(duì)圖書(shū)借閱者的借閱及還書(shū)要求進(jìn)行操作,同時(shí)形成借書(shū)或還書(shū)報(bào)表給借閱者查看確認(rèn);圖書(shū)館管理人員的功能最為復(fù)雜,包括對(duì)工作人員、圖書(shū)借閱者、圖書(shū)進(jìn)行管理和維護(hù),及系統(tǒng)狀態(tài)的查看、維護(hù)等。圖書(shū)借閱者可直
11、接查看圖書(shū)館圖書(shū)情況,如果圖書(shū)借閱者根據(jù)本人借書(shū)證號(hào)和密碼登錄系統(tǒng),還可以進(jìn)行本人借書(shū)情況的查詢和維護(hù)部分個(gè)人信息。一般情況下,圖書(shū)借閱者只應(yīng)該查詢和維護(hù)本人的借書(shū)情況和個(gè)人信息,若查詢和維護(hù)其他借閱者的借書(shū)情況和個(gè)人信息,就要知道其他圖書(shū)借閱者的借書(shū)證號(hào)和密碼。這些是很難得到的,特別是密碼,所以不但滿足了圖書(shū)借閱者的要求,還保護(hù)了圖書(shū)借閱者的個(gè)人隱私。圖書(shū)館工作人員有修改圖書(shū)借閱者借書(shū)和還書(shū)記錄的權(quán)限,所以需對(duì)工作人員登陸本模塊進(jìn)行更
12、多的考慮。在此模塊中,圖書(shū)館工作人員可以為圖書(shū)借閱者加入借書(shū)記錄或是還書(shū)記錄,并打印生成相應(yīng)的報(bào)表給用戶查看和確認(rèn)。圖書(shū)館管理人員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實(shí)現(xiàn)對(duì)圖書(shū)信息、借閱者信息、總體借閱情況信息的管理和統(tǒng)計(jì)、工作人員和管理人員信息查看及維護(hù)。圖書(shū)館管</p><p> 2.3系統(tǒng)的功能需求</p><p> 在本系統(tǒng)中,對(duì)讀者來(lái)說(shuō),他們關(guān)心的問(wèn)題其實(shí)是如
13、何方便的查詢到圖書(shū)館中的書(shū)籍以及自己正在借閱或是已經(jīng)借閱過(guò)些什么書(shū),所借的書(shū)是否到期等。[3]由此可以得出系統(tǒng)在面向讀者方面應(yīng)該至少做到如下幾點(diǎn):</p><p><b> 1.圖書(shū)查詢。</b></p><p> 2.讀者信息查詢,讀者信息的查詢內(nèi)容應(yīng)包括下面的幾個(gè)方面:</p><p> 讀者信息——對(duì)讀者的基本信息進(jìn)行顯示。<
14、/p><p> 書(shū)刊借閱——對(duì)該讀者借閱過(guò)的所有書(shū)籍進(jìn)行查詢。</p><p> 借閱歷史——查詢?cè)撟x者借閱過(guò)的所有書(shū)籍。</p><p> 違章信息——該讀者的違章信息。</p><p> 讀者規(guī)則——該讀者所應(yīng)用的規(guī)則。</p><p> 對(duì)系統(tǒng)的管理員來(lái)說(shuō),應(yīng)該注意的是:</p><p&
15、gt; 1.圖書(shū)館中有些什么書(shū),它們都存放在那里,是不是可以被借閱;</p><p> 2.本圖書(shū)館發(fā)放的讀者證有那些,如何管理這些讀者證;</p><p> 3.這些讀者證都借閱著那些書(shū);</p><p> 4.如何來(lái)確定這些讀者證是否可用,以及借書(shū)的還期等。</p><p> 從以上問(wèn)題出發(fā),可以得出本系統(tǒng)應(yīng)該具有的功能:<
16、;/p><p> 1.圖書(shū)查詢——對(duì)館內(nèi)的圖書(shū)進(jìn)行查詢。</p><p> 2.借閱管理——對(duì)讀者的每一次借閱,還書(shū)進(jìn)進(jìn)登記和管理。</p><p> 3.圖書(shū)管理——對(duì)圖書(shū)館的書(shū)籍進(jìn)行管理。</p><p> 4.借閱證管理——對(duì)讀者的借閱證進(jìn)行管理。</p><p> 5.讀者規(guī)則管理——設(shè)置和管理讀者規(guī)則。
17、</p><p><b> 2.4設(shè)計(jì)模式</b></p><p> 設(shè)計(jì)模式是面向?qū)ο蟮某绦蛟O(shè)計(jì)人員用來(lái)解決編程問(wèn)題的一種形式化表示。本系統(tǒng)開(kāi)發(fā)采用目前一種目前廣泛流行的軟件設(shè)計(jì)模式MVC。MVC(Model-View - Controller)應(yīng)用程序結(jié)構(gòu)被用來(lái)分析分布式應(yīng)用程序的特征。這種抽象結(jié)構(gòu)能有助于將應(yīng)用程序分割成若干邏輯部件,使程序設(shè)計(jì)變得更加容易。
18、把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。如下圖2.1所示:</p><p> 圖2.1 MVC模式</p><p><b> 三、系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1 系統(tǒng)概要</b></p&
19、gt;<p> 本圖書(shū)管理系統(tǒng)總體上分為前臺(tái)頁(yè)面顯示和后臺(tái)管理。前臺(tái)頁(yè)面(即本書(shū)圖書(shū)管理系統(tǒng)的首頁(yè))實(shí)現(xiàn)了公告的顯示圖書(shū)查詢,留言建議三大功能。而后臺(tái)的頁(yè)面則集成了圖書(shū)管理中所需的功能和錄入新書(shū)到庫(kù),辦公圖書(shū),借還手續(xù),查詢圖書(shū)等等。平時(shí)圖書(shū)管理人員的工作都是在后臺(tái)中完成的。前臺(tái)是為了師生顯示的。師生們可以看到圖書(shū)管理人員發(fā)布的最新公告信息;并可以查詢自己感興趣的圖書(shū),也可以給學(xué)校的圖書(shū)管理人員留言提議。相對(duì)應(yīng)的后臺(tái)是針
20、對(duì)學(xué)校圖書(shū)管理人員,后臺(tái)的頁(yè)面都加密,如果不正常登錄是進(jìn)入不了后臺(tái)管理頁(yè)面的,后臺(tái)功能具體包括:發(fā)布首頁(yè)公告,添加新書(shū)到庫(kù)等等。</p><p><b> 3.2功能模塊</b></p><p> 本系統(tǒng)的功能模塊的設(shè)計(jì)如圖3.1所示,整個(gè)系統(tǒng)包含基本信息設(shè)置,圖書(shū)信息管理,查詢圖書(shū)管理,添加圖書(shū)管理,修改圖書(shū)管理和用戶借閱管理。</p><p
21、><b> 圖3.1功能結(jié)構(gòu)圖</b></p><p><b> 3.3設(shè)計(jì)思想</b></p><p> 利用軟件開(kāi)發(fā)現(xiàn)有軟硬件環(huán)境,及先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,從而達(dá)到充分利用現(xiàn)在資源提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果的目的。</p><p> 系統(tǒng)應(yīng)該符合軟件工程開(kāi)發(fā)的理論,開(kāi)發(fā)方法等開(kāi)發(fā)依據(jù)。</p&g
22、t;<p> 系統(tǒng)應(yīng)滿足圖書(shū)館管理工作需要,到操作過(guò)程中的直觀,方便,實(shí)用,安全等要求。</p><p> 系統(tǒng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)庫(kù)的各種操作。</p><p> 系統(tǒng)采用原型,使用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改,以及系統(tǒng)的測(cè)試與維護(hù)。</p><p> 3.4模塊設(shè)計(jì)及功能</p>
23、<p><b> 3.4.1圖書(shū)查詢</b></p><p> 讀者可以通過(guò)網(wǎng)絡(luò)訪問(wèn)學(xué)校圖書(shū)館管理系統(tǒng),并對(duì)館內(nèi)的圖書(shū)進(jìn)行查詢,對(duì)查到的在館圖書(shū)可以進(jìn)行借閱,如圖3.2所示:</p><p> 圖3.2 圖書(shū)查詢流程圖</p><p><b> 3.4.2借閱管理</b></p><p
24、> 這一部分是對(duì)書(shū)籍借閱、書(shū)籍歸還的管理,當(dāng)讀者借書(shū)的時(shí)候,圖書(shū)館管理員把書(shū)籍的編號(hào)和讀者的借閱證號(hào)輸入系統(tǒng),當(dāng)此次借閱符合借閱規(guī)則的時(shí)候,借閱成功。并將結(jié)果寫(xiě)入到數(shù)據(jù)庫(kù)中。讀者歸還書(shū)籍時(shí),將圖書(shū)交給圖書(shū)管理員,管理員把書(shū)籍的編號(hào)和讀者的借閱證號(hào)輸入系統(tǒng),系統(tǒng)核對(duì)借閱規(guī)則,對(duì)違規(guī)(如超期)的讀者進(jìn)行罰款之類。如圖3.3所示:</p><p> 圖3.3借閱管理流程圖</p><p&g
25、t;<b> 3.4.3圖書(shū)管理</b></p><p> 圖書(shū)管理主要實(shí)現(xiàn)的功能是對(duì)新購(gòu)的圖書(shū)進(jìn)行入庫(kù)和廢書(shū)記錄從庫(kù)中刪除。當(dāng)新書(shū)被放入圖書(shū)館時(shí),管理員登錄進(jìn)入系統(tǒng),把圖書(shū)的信息添加到圖書(shū)館管理系統(tǒng)中,并指定是放到哪一個(gè)藏書(shū)館中。這時(shí)圖書(shū)可以被讀者查詢到,并可以借閱。當(dāng)要把一本廢書(shū)刪除時(shí),圖書(shū)管理員登錄進(jìn)入系統(tǒng),查找到這一本書(shū),并將其刪除。這時(shí),這一本圖書(shū)將不再能被查詢到。如圖3.4所
26、示:</p><p> 圖3.4圖書(shū)管理流程圖</p><p> 3.4.4借書(shū)證管理</p><p> 本部分是對(duì)借閱證進(jìn)行管理,并對(duì)讀者的一些基本的信息進(jìn)行維護(hù),提供增、刪、改等功能。每一個(gè)借閱證都要以某一個(gè)讀者規(guī)則相應(yīng),讀者規(guī)則決定讀者可以借閱書(shū)籍的等級(jí),如借書(shū)時(shí)間、借書(shū)種類等。當(dāng)讀者借閱證丟失時(shí),可以進(jìn)行掛失處理。持失之后借閱證失效。如圖4.5所示:&
27、lt;/p><p> 圖3.5借書(shū)證管理流程圖</p><p> 3.4.5讀者規(guī)則管理</p><p> 讀者規(guī)則包括借閱時(shí)間,可借閱的圖書(shū)數(shù)目,可借閱圖書(shū)的書(shū)館等。這一部分可以對(duì)讀者規(guī)則進(jìn)行管理,主要是增、刪、改操作。如圖3.6所示:</p><p> 圖3.6 讀者規(guī)則管理流程圖</p><p> 3.4.
28、6借還圖書(shū)功能流程圖</p><p> 圖3.7 借還書(shū)流程圖</p><p><b> 3.5數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)兩個(gè)表:</b></p><p> 書(shū)籍信息autos(id,category類別,model型號(hào),no書(shū)籍編號(hào),price租書(shū)價(jià)格),如表3.8
29、所示:</p><p><b> 表3.8書(shū)籍信息表</b></p><p> 租書(shū)信息leases(id,autoId書(shū)籍id,customer客戶名稱,leaseDate租書(shū)日期,returned是否還書(shū)?,returnDate還書(shū)日期),如表3.9所示:</p><p><b> 表3.9租書(shū)信息表</b>&l
30、t;/p><p> 3.5.1創(chuàng)建數(shù)據(jù)庫(kù)的代碼</p><p><b> 代碼1:</b></p><p> create database bookmanage;</p><p> use bookmanage;</p><p> create table autos</p>
31、<p> (id int primary key auto_increment,</p><p> category varchar(50) not null,</p><p> model varchar(50) not null,</p><p> no varchar(50) not null,</p><p>
32、price double </p><p> )ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b> 代碼2:</b></p><p> create table leases</p><p><b> (</b></p><
33、p> id int primary key auto_increment,</p><p> autoId int not null,</p><p> customer varchar(20) not null,</p><p> leasedate date,</p><p> returned int default
34、0,</p><p> returndate date</p><p> )ENGINE=InnoDB DEFAULT CHARSET=utf8;</p><p><b> 四、程序設(shè)計(jì)與編碼</b></p><p> 4.1 系統(tǒng)登錄界面</p><p> 當(dāng)系統(tǒng)登陸時(shí),首先出現(xiàn)的是一
35、個(gè)用戶權(quán)限登陸的界面, 權(quán)限設(shè)置主要是維護(hù)系統(tǒng)的安全性和完整性。擁有管理員權(quán)限的操作員能對(duì)其他操作員進(jìn)行相應(yīng)的權(quán)限設(shè)置,沒(méi)有權(quán)限的操作員不能對(duì)相應(yīng)的窗口進(jìn)行操作。如下圖4.1所示:</p><p> 圖4.1 管理員登入界面</p><p> 這是進(jìn)入系統(tǒng)時(shí)的身份驗(yàn)證,用戶首先要從軟件開(kāi)發(fā)者那里申請(qǐng)用戶名和密碼,才可以進(jìn)入。該過(guò)程的流程圖如下圖4.2所示:</p><
36、;p> 圖4.2系統(tǒng)登入流程圖</p><p><b> 核心代碼如下:</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOExc
37、eption {</p><p> response.setContentType(Constant.CONTENTTYPE);</p><p> request.setCharacterEncoding(Constant.CHARACTERENCODING);</p><p><b> try{</b></p><p
38、> String method=request.getParameter("method").trim();</p><p> AdminBean loginbean = new AdminBean();</p><p> HttpSession session = request.getSession();</p><p> se
39、ssion.setMaxInactiveInterval(1200);</p><p> SystemBean systembean = new SystemBean();</p><p> String sysdir = systembean.getDir();</p><p> if(method.equals("one")){//ad
40、min登錄</p><p> String username = request.getParameter("username");</p><p> String password = request.getParameter("password");</p><p> if(username == null||use
41、rname.trim().equals("")){</p><p> request.setAttribute("message", "請(qǐng)正確輸入用戶名!");</p><p> request.getRequestDispatcher("index.jsp").forward(request, respo
42、nse);</p><p><b> return ;</b></p><p><b> }</b></p><p> else if(password == null||password.trim().equals("")){</p><p> request.setA
43、ttribute("message", "請(qǐng)輸入密碼!");</p><p> request.getRequestDispatcher("index.jsp").forward(request, response);</p><p><b> return ;</b></p><p&
44、gt;<b> }</b></p><p> DBO dao = new DBO();</p><p> String realPassword ="";</p><p> dao.open();</p><p> java.util.ArrayList list = new java.ut
45、il.ArrayList();</p><p> ResultSet rs = dao.executeQuery("select * from admin where username='"+username+"'"); </p><p> Date date = new Date();</p><p>
46、 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");</p><p> String logintime = format.format(date);</p><p> if(rs.next()){</p><p> realPassword = rs.getStri
47、ng("password").trim();</p><p> String userName = rs.getString("username").trim();</p><p> String right = rs.getString("quanxian").trim();</p><p>
48、 Integer logintimes = Integer.valueOf(rs.getInt("logintimes"));</p><p> list.add(userName);</p><p> list.add(right);</p><p> list.add(logintimes);</p><p>
49、 list.add(logintime);</p><p><b> }</b></p><p> String pwd = MD5.MD5(password.trim());</p><p> if(!pwd.equals(realPassword)){</p><p> request.setAttribu
50、te("message", "密碼錯(cuò)誤!");</p><p> request.getRequestDispatcher("index.jsp").forward(request, response);</p><p><b> }else{</b></p><p> sess
51、ion.setAttribute("list",list);</p><p> session.setAttribute("user",username);</p><p> request.getRequestDispatcher("admin/index.jsp").forward(request, response);&
52、lt;/p><p><b> }</b></p><p> 4.2 添加圖書(shū)信息</p><p> 身份驗(yàn)證通過(guò)以后,點(diǎn)擊可以使用系統(tǒng)的基本信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入包括圖書(shū)類別,圖書(shū)名稱,圖書(shū)作者等。填寫(xiě)好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面見(jiàn)下圖5.3所示:</p>
53、<p> 圖4.3 添加圖書(shū)信息界面</p><p><b> 核心代碼如下:</b></p><p> public int addBOOK(String booktype,String name,String author,String cbs,String isbn,String price,String num,String intro,St
54、ring jyjg){</p><p> String sql="insert into book(booktype,name,author,cbs,isbn,price,num,intro,jyjg,addtime) " +</p><p> "values('"+booktype+"','"+nam
55、e+"','"+author+"','"+cbs+"','"+isbn+"','"+price+"','"+num+"','"+intro+"','"+jyjg+"',&
56、#39;"+date+"')";</p><p> DBO dbo = new DBO();</p><p> dbo.open();</p><p><b> try{</b></p><p> int i = dbo.executeUpdate(sql);</p&g
57、t;<p> if(i == 1)</p><p> return Constant.SUCCESS;</p><p><b> else</b></p><p> return Constant.SYSTEM_ERROR;</p><p> }catch(Exception e){</p&
58、gt;<p> e.printStackTrace();</p><p> return Constant.SYSTEM_ERROR;</p><p><b> }finally{</b></p><p> dbo.close();</p><p><b> }</b><
59、;/p><p><b> }</b></p><p> public int upBOOK(String id,String booktype,String name,String author,String cbs,String isbn,String price,String num,String intro,String jyjg){</p>&l
60、t;p> String sql="update book set booktype='"+booktype+"',name='"+name+"',author='"+author+"',cbs='"+cbs+"',isbn='"+isbn+"'
61、;," +</p><p> "price='"+price+"',num='"+num+"',intro='"+intro+"',jyjg='"+jyjg+"' where id='"+id+"'";&
62、lt;/p><p> DBO dbo = new DBO();</p><p> dbo.open();</p><p><b> try{</b></p><p> int i = dbo.executeUpdate(sql);</p><p> if(i == 1)</p>
63、<p> return Constant.SUCCESS;</p><p><b> else</b></p><p> return Constant.SYSTEM_ERROR;</p><p> }catch(Exception e){</p><p> e.printStackTrace();
64、</p><p> return Constant.SYSTEM_ERROR;</p><p><b> }finally{</b></p><p> dbo.close();</p><p><b> }</b></p><p><b> }</b
65、></p><p> 4.3 圖書(shū)類別管理</p><p> 點(diǎn)擊可以使用系統(tǒng)的基本信息管理界面,這是管理員主要的輸入信息部分,它即可以對(duì)數(shù)據(jù)進(jìn)行輸入,可以添加圖書(shū)的類別。填寫(xiě)好各項(xiàng)信息后,單擊保存按鈕,系統(tǒng)將對(duì)這些信息進(jìn)行處理。界面見(jiàn)下圖4.4所示:</p><p> 圖4.4圖書(shū)管理類別管理</p><p><b>
66、 核心代碼如下:</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> System.out.println
67、("-----------");</p><p> response.setContentType(Constant.CONTENTTYPE);</p><p> request.setCharacterEncoding(Constant.CHARACTERENCODING);</p><p> PayBean pb=new PayBean
68、();</p><p> String method=request.getParameter("method").trim();</p><p><b> //圖書(shū)類型</b></p><p> if(method.equals("addTYPE")){</p><p>
69、 String name=request.getParameter("booktype");</p><p> int flag=pb.addTYPE(name);</p><p> if(flag==Constant.SUCCESS){</p><p> request.setAttribute("message",
70、"操作成功!");</p><p> request.getRequestDispatcher("admin/type/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b&g
71、t;</p><p> request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");</p><p> request.getRequestDispatcher("admin/type/index.jsp").forward(request, response);</p>&l
72、t;p><b> }</b></p><p><b> }</b></p><p> else if(method.equals("addBOOK")){</p><p> String booktype=request.getParameter("booktype")
73、;</p><p> String name=request.getParameter("name");</p><p> String author=request.getParameter("author");</p><p> String cbs=request.getParameter("cbs&qu
74、ot;);</p><p> String isbn=request.getParameter("isbn");</p><p> String price=request.getParameter("price");</p><p> String num=request.getParameter("num&
75、quot;);</p><p> String intro=request.getParameter("intro");</p><p> String jyjg=request.getParameter("jyjg");</p><p> int flag=pb.addBOOK(booktype, name, auth
76、or, cbs, isbn, price, num, intro, jyjg);</p><p> if(flag==Constant.SUCCESS){</p><p> request.setAttribute("message", "操作成功!");</p><p> request.getRequestDispa
77、tcher("admin/book/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p><p> request.setAttribute("message"
78、, "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");</p><p> request.getRequestDispatcher("admin/book/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> }<
79、;/b></p><p><b> 4.4 管理員設(shè)置</b></p><p> 增加系統(tǒng)管理員。管理員可以添加新的管理員,包括為管理員設(shè)置一個(gè)密碼。管理員登入后,可以自己修改密碼。同樣,總管理員可以刪除管理員。管理員還可以將狀態(tài)設(shè)置成當(dāng)前在用和關(guān)閉狀態(tài)。如下圖4.5所示:</p><p> 圖4.5管理員設(shè)置界面</p>
80、;<p><b> 核心代碼如下:</b></p><p> String username2 = (String)session.getAttribute("user");</p><p> if(username2 == null){</p><p> request.getRequestDispa
81、tcher("error.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p><p> session.removeAttribute("user");</p>
82、;<p> session.removeAttribute("list");</p><p> System.gc();</p><p> request.getRequestDispatcher("index.jsp").forward(request, response);</p><p><b&
83、gt; }</b></p><p><b> }</b></p><p> else if(method.equals("manager")){//添加修改管理員</p><p> String username2 = (String)session.getAttribute("user&
84、quot;);</p><p> if(username2 == null){</p><p> request.getRequestDispatcher("error.jsp").forward(request, response);</p><p><b> }</b></p><p>&l
85、t;b> else{</b></p><p> String ra = request.getParameter("ra").trim();</p><p> if(ra.equals("add")){</p><p> String username = request.getParameter(&
86、quot;username").trim();</p><p> String password = MD5.MD5(request.getParameter("password").trim());</p><p> String isuse = request.getParameter("isuse").trim();</p&
87、gt;<p> if(isuse.equals("在用"))</p><p> isuse = "1";</p><p><b> else</b></p><p> isuse = "2";</p><p> int flag = lo
88、ginbean.addManager(username, password, "2", isuse);</p><p> if(flag == Constant.SUCCESS){</p><p> request.setAttribute("message", "增加管理員成功!");</p><p>
89、; request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);</p><p><b> }</b></p><p> else if(flag == Constant.SAME_NAME){</p><p>
90、 request.setAttribute("username", username);</p><p> request.setAttribute("message", "該用戶名已經(jīng)存在!");</p><p> request.getRequestDispatcher(sysdir+"/system/user.
91、jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p><p> request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");
92、request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);</p><p><b> }</b></p><p><b> }</b></p><p> else if(ra
93、.equals("update")){</p><p> String username = request.getParameter("username").trim();</p><p> String password = request.getParameter("password").trim();</p>
94、;<p> String isuse = request.getParameter("isuse").trim();</p><p> if(!password.equals("")){</p><p> password = MD5.MD5(password);</p><p><b> }&
95、lt;/b></p><p> if(isuse.equals("在用"))</p><p> isuse = "1";</p><p><b> else</b></p><p> isuse = "2";</p><p>
96、; int flag = loginbean.updateManager(username, password, "2", isuse);</p><p> if(flag == Constant.SUCCESS){</p><p> request.setAttribute("message", "修改管理員信息成功!")
97、;</p><p> request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p>
98、<p> request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");</p><p> request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);</p><p><
99、b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.5 圖書(shū)借閱管理</p><p> 點(diǎn)擊圖書(shū)借閱界面,管理員可以查看到圖書(shū)的借閱情況,包括借閱者,圖書(shū)名稱,借出的時(shí)間,歸還的時(shí)間,圖書(shū)的狀態(tài),借閱圖書(shū)
100、的價(jià)格等。管理員同樣可以修改和刪除圖書(shū)借閱的內(nèi)容。操作成功后,點(diǎn)擊保存退出。如圖4.6所示:</p><p> 圖4.6圖書(shū)借閱管理界面</p><p><b> 核心代碼如下:</b></p><p> String card=request.getParameter("card");</p><
101、p> String bookid=request.getParameter("bookid");</p><p> String stime=request.getParameter("stime");</p><p> String etime=request.getParameter("etime");</p
102、><p> int flag=pb.addJY(card, bookid, stime, etime);</p><p> if(flag==Constant.SUCCESS){</p><p> request.setAttribute("message", "操作成功!");</p><p>
103、request.getRequestDispatcher("admin/jy/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p><p> request.setAttribut
104、e("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");</p><p> request.getRequestDispatcher("admin/jy/index.jsp").forward(request, response);</p><p><b> }</b></p><p
105、><b> }</b></p><p> else if(method.equals("upJY")){</p><p> String id=request.getParameter("id");</p><p> String card=request.getParameter(&quo
106、t;card");</p><p> String bookid=request.getParameter("bookid");</p><p> String stime=request.getParameter("stime");</p><p> String etime=request.getParam
107、eter("etime");</p><p> int flag=pb.upJY(id, card, bookid, stime, etime);</p><p> if(flag==Constant.SUCCESS){</p><p> request.setAttribute("message", "操作成
108、功!");</p><p> request.getRequestDispatcher("admin/jy/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p>
109、;<p> request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");</p><p> request.getRequestDispatcher("admin/jy/index.jsp").forward(request, response);</p><p><b&
110、gt; }</b></p><p><b> }</b></p><p> else if(method.equals("delJY")){</p><p> String id=request.getParameter("id");</p><p> int
111、 flag=pb.delJY(id);</p><p> if(flag==Constant.SUCCESS){</p><p> request.setAttribute("message", "操作成功!");</p><p> request.getRequestDispatcher("admin/jy/
112、index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> else{</b></p><p> request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!&qu
113、ot;);</p><p> request.getRequestDispatcher("admin/jy/index.jsp").forward(request, response);</p><p><b> }</b></p><p><b> }</b></p><p&
114、gt; 5.4設(shè)計(jì)測(cè)試用例 </p><p> 基于測(cè)試原則,本系統(tǒng)在設(shè)計(jì)測(cè)試用例時(shí)采用了黑盒測(cè)試技術(shù)中的劃分等價(jià)類方案,其測(cè)試用例設(shè)計(jì)如下:</p><p><b> 劃分等價(jià)類</b></p><p><b> 合理類測(cè)試用例</b></p><p><b> 不合理類測(cè)試用
115、例</b></p><p> 通過(guò)以上的測(cè)試用例,系統(tǒng)在運(yùn)行合理的測(cè)試用例都能正常運(yùn)行,系統(tǒng)的穩(wěn)定性良好。在輸入不合理的測(cè)試用例數(shù)據(jù)后,系統(tǒng)不能正常運(yùn)行,提示輸入有誤。</p><p><b> 五、經(jīng)驗(yàn)與總結(jié)</b></p><p> 本文提出的基于WEB的圖書(shū)管理系統(tǒng)完成了借書(shū),還書(shū),查詢圖書(shū),管理借書(shū)證和管理員帳戶設(shè)置等
116、主要功能,本系統(tǒng)是基于B/S模式,其后臺(tái)部分完全實(shí)現(xiàn)借書(shū)與還書(shū)的手續(xù)操作與對(duì)圖書(shū)和人員的管理功能,系統(tǒng)界面簡(jiǎn)單、易用,任何人都可以在短時(shí)間內(nèi)學(xué)會(huì)使用該系統(tǒng),在前臺(tái)部分,創(chuàng)新設(shè)計(jì)的WAP圖書(shū)查詢部分,不僅大大方便了同學(xué)們查詢圖書(shū),而且使得系統(tǒng)多樣化,多元化,具有有很強(qiáng)的擴(kuò)展性。</p><p> 在技術(shù)方面,通過(guò)此項(xiàng)目的開(kāi)發(fā),對(duì)基于B/S模式的多層體系結(jié)構(gòu)的JSP技術(shù)有了一定的實(shí)戰(zhàn)經(jīng)驗(yàn),同時(shí)對(duì)JavaBean的使
117、用有了深刻的理解。將不同復(fù)雜的數(shù)據(jù)庫(kù)操作劃分為獨(dú)立的模塊封裝于Bean中,提高了系統(tǒng)的安全性和可移植性。</p><p> 通過(guò)對(duì)基于JSP的圖書(shū)館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),感受頗深,獲益匪淺,同時(shí)獲得了許多項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)的方法和經(jīng)驗(yàn)。</p><p><b> 1.合理的開(kāi)發(fā)原則</b></p><p><b> 2.科學(xué)的開(kāi)發(fā)過(guò)
118、程</b></p><p><b> 3.良好的編程習(xí)慣</b></p><p><b> 4.全面有效的測(cè)試</b></p><p> 但是由于個(gè)人水平有限,導(dǎo)致該系統(tǒng)還有許多不盡人意的地方,比方說(shuō)所實(shí)現(xiàn)的功能還不夠強(qiáng)大、完全和實(shí)用,仍然存在著許多漏洞。在做此系統(tǒng)時(shí)也不規(guī)范,先考慮功能的實(shí)現(xiàn),沒(méi)有綜合考
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- java課程設(shè)計(jì)-- 小型圖書(shū)管理系統(tǒng)
- java課程設(shè)計(jì)--小型圖書(shū)管理系統(tǒng)
- java課程設(shè)計(jì)小型圖書(shū)管理系統(tǒng)
- java課程設(shè)計(jì)小型圖書(shū)管理系統(tǒng)
- java應(yīng)用課程設(shè)計(jì)---小型圖書(shū)管理系統(tǒng)
- java課程設(shè)計(jì)---簡(jiǎn)單高校圖書(shū)管理系統(tǒng)
- 基于web的圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)(基于ui的圖書(shū)管理系統(tǒng))
- java課程設(shè)計(jì)--簡(jiǎn)單圖書(shū)管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
- 《圖書(shū)管理系統(tǒng)》課程設(shè)計(jì)
- web開(kāi)發(fā)技課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)的設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- web應(yīng)用技術(shù)課程設(shè)計(jì)(圖書(shū)管理系統(tǒng))
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì) (2)
評(píng)論
0/150
提交評(píng)論