版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì) 說(shuō) 明 書(shū)</p><p> 作 者: XXXXXXX 學(xué) 號(hào): XXXXXXXXXX </p><p> 院 系: 信息工程學(xué)院 </p><p> 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) &l
2、t;/p><p> 題 目: 基于Java Web的在線(xiàn)圖書(shū)訂購(gòu) </p><p> 與打印管理系統(tǒng) </p><p> 指導(dǎo)者: </p><p> (姓 名) (專(zhuān)業(yè)技術(shù)職務(wù))&l
3、t;/p><p> 評(píng)閱者: </p><p> (姓 名) (專(zhuān)業(yè)技術(shù)職務(wù)) </p><p> 2011 年 6 月 吉 林</p><p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)中文摘要</p><p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)外文摘要</
4、p><p><b> 目 錄</b></p><p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)中文摘要I</p><p> 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)外文摘要II</p><p> 第1章 前 言1</p><p> 1.1 課題的背景1</p><p> 1.2 課題的意義1&
5、lt;/p><p> 第2章 可行性分析3</p><p> 2.1 問(wèn)題的提出3</p><p> 2.2 經(jīng)濟(jì)可行性3</p><p> 2.3 操作可行性3</p><p> 2.3 技術(shù)可行性4</p><p> 2.4 開(kāi)發(fā)工具的選擇4</p><
6、;p> 2.4.1 系統(tǒng)開(kāi)發(fā)工具4</p><p> 2.4.2 數(shù)據(jù)庫(kù)5</p><p> 2.4.3 Tomcat6.0服務(wù)器6</p><p> 2.4.4 JDK工具7</p><p> 第3章 需求分析9</p><p> 3.1 圖書(shū)訂購(gòu)與打印管理系統(tǒng)需求概述9</p&g
7、t;<p> 3.2 功能需求9</p><p> 3.2.1 與訂購(gòu)者相關(guān)的基本功能元素9</p><p> 3.2.2 與管理員相關(guān)的基本功能元素9</p><p> 3.2.3 總體系統(tǒng)的基本功能元素10</p><p> 3.3 性能需求10</p><p> 3.3.1人身
8、和環(huán)境安全性需求10</p><p> 3.3.2 可靠性和可用性需求10</p><p> 3.3.3 容錯(cuò)性需求10</p><p> 3.3.4 易用性10</p><p> 3.3.5 易學(xué)性11</p><p> 3.4 運(yùn)行需求11</p><p> 3.4.
9、1 預(yù)期的物理環(huán)境11</p><p> 3.4.2 預(yù)期的技術(shù)環(huán)境11</p><p> 第4章 總體設(shè)計(jì)12</p><p> 4.1 圖書(shū)訂購(gòu)與打印管理系統(tǒng)設(shè)計(jì)指導(dǎo)思想和原則12</p><p> 4.2 設(shè)計(jì)模式12</p><p> 4.3 系統(tǒng)配置方案設(shè)計(jì)13</p>&
10、lt;p> 4.4 圖書(shū)訂購(gòu)與打印管理系統(tǒng)總體功能概述14</p><p> 4.5 圖書(shū)訂購(gòu)與打印管理系統(tǒng)各功能模塊概述15</p><p> 4.5.1 系統(tǒng)登錄模塊15</p><p> 4.5.2 打印管理模塊15</p><p> 4.5.3 圖書(shū)管理模塊16</p><p> 4
11、.5.4 分類(lèi)信息管理模塊17</p><p> 4.5.5 用戶(hù)信息管理17</p><p> 4.5.6 查詢(xún)統(tǒng)計(jì)管理19</p><p> 4.5.7 數(shù)據(jù)庫(kù)管理20</p><p> 4.5.8 前臺(tái)訂書(shū)管理21</p><p> 4.6 數(shù)據(jù)庫(kù)設(shè)計(jì)21</p><p&
12、gt; 4.6.1 編寫(xiě)目的21</p><p> 4.6.2 背景21</p><p> 4.6.3 環(huán)境要求21</p><p> 4.6.4 概念結(jié)構(gòu)設(shè)計(jì)22</p><p> 4.6.5 字段命名規(guī)則24</p><p> 4.6.6 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)24</p><p
13、> 第5章 詳細(xì)設(shè)計(jì)27</p><p> 5.1系統(tǒng)的軟件結(jié)構(gòu)27</p><p> 5.2 開(kāi)發(fā)環(huán)境搭建27</p><p> 5.2.1 導(dǎo)入開(kāi)發(fā)包27</p><p> 5.2.2 創(chuàng)建組織程序的包28</p><p> 5.2.3 系統(tǒng)的全局類(lèi)28</p><
14、p> 5.2.4 DAO層編寫(xiě)29</p><p> 5.3 登錄系統(tǒng)模塊的實(shí)現(xiàn)29</p><p> 5.4 打印管理模塊的實(shí)現(xiàn)31</p><p> 5.4.1 初始訂單顯示31</p><p> 5.4.2 未打印的訂單32</p><p> 5.4.3 需要打印的書(shū)籍32</
15、p><p> 5.4.4 未取書(shū)訂單34</p><p> 5.4.5 已取走訂單34</p><p> 5.5 圖書(shū)管理模塊的實(shí)現(xiàn)34</p><p> 5.5.1 圖書(shū)添加34</p><p> 5.5.2查看圖書(shū)36</p><p> 5.6 分類(lèi)管理模塊的實(shí)現(xiàn)36&l
16、t;/p><p> 5.7 用戶(hù)管理模塊的實(shí)現(xiàn)36</p><p> 5.7.1 添加用戶(hù)36</p><p> 5.7.2 后臺(tái)用戶(hù)36</p><p> 5.7.3 普通用戶(hù)36</p><p> 5.8 查詢(xún)統(tǒng)計(jì)模塊的實(shí)現(xiàn)36</p><p> 5.8.1 查詢(xún)統(tǒng)計(jì)36
17、</p><p> 5.9 數(shù)據(jù)庫(kù)管理模塊的實(shí)現(xiàn)38</p><p> 5.10 前臺(tái)訂購(gòu)管理模塊的實(shí)現(xiàn)39</p><p> 5.10.1 前臺(tái)圖書(shū)展示39</p><p> 5.10.2 圖書(shū)搜索39</p><p> 5.10.3 訂單狀態(tài)查詢(xún)40</p><p>
18、5.10.4 購(gòu)物車(chē)維護(hù)40</p><p> 5.10.5 訂單信息與用戶(hù)40</p><p><b> 第6章 測(cè)試42</b></p><p> 6.1 測(cè)試技術(shù)42</p><p> 6.1.1 單元測(cè)試42</p><p> 6.1.2 組合測(cè)試43</p&g
19、t;<p> 6.1.3 確認(rèn)測(cè)試43</p><p> 6.1.4 系統(tǒng)測(cè)試43</p><p> 6.1.5 用戶(hù)驗(yàn)收測(cè)試43</p><p> 6.2 單元測(cè)試44</p><p> 6.2.1過(guò)程登錄流圖44</p><p> 6.2.2 確定路徑45</p>
20、<p> 6.3 測(cè)試結(jié)論45</p><p><b> 結(jié) 論47</b></p><p><b> 參考文獻(xiàn)48</b></p><p><b> 致 謝49</b></p><p><b> 前 言</b&g
21、t;</p><p><b> 1.1 課題的背景</b></p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開(kāi)信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理
22、與信息管理系統(tǒng)的開(kāi)發(fā)密切相關(guān),系統(tǒng)的開(kāi)發(fā)是系統(tǒng)管理的前提。 </p><p> 本系統(tǒng)就是為了管理好圖書(shū)訂購(gòu)與打印信息而設(shè)計(jì)的。</p><p> 東門(mén)復(fù)印部的圖書(shū)和訂購(gòu)信息資料繁多,包含很多的信息數(shù)據(jù)的管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)訂購(gòu)情況(如訂購(gòu)數(shù)量、取書(shū)時(shí)間等)的統(tǒng)計(jì)和核實(shí)等都采用人工檢查進(jìn)行。數(shù)據(jù)信息
23、處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出,這就是圖書(shū)訂購(gòu)系統(tǒng)的開(kāi)發(fā)的基本環(huán)境。</p><p> 數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改,一般訂購(gòu)情況是記錄在賬簿上,圖書(shū)的數(shù)目和內(nèi)容記錄在文件中,復(fù)印部工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢(xún),就
24、得在眾多的資料中翻閱、查找了,造成查詢(xún)費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書(shū)進(jìn)行更改就更加困難了。</p><p> 基于這些問(wèn)題,有必要建立一個(gè)圖書(shū)訂購(gòu)與打印管理系統(tǒng),使訂書(shū)管理工作規(guī)范化,系統(tǒng)化,程序化,避免訂購(gòu)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢(xún)和修改圖書(shū)訂購(gòu)與打印情況。</p><p><b> 1.2 課題的意義</b>&l
25、t;/p><p> 圖書(shū)訂購(gòu)打印管理系統(tǒng)本著讓圖書(shū)訂購(gòu)與管理做到快捷、方便、簡(jiǎn)單、擺脫用手工操作處理圖書(shū)訂購(gòu)打印的問(wèn)題,工作非常繁瑣,需要大量的人力、物力和財(cái)力,極大的浪費(fèi)了資源的劣勢(shì)而設(shè)計(jì),它可以使管理員從繁重的手工操作中解脫出來(lái)。</p><p> 圖書(shū)訂購(gòu)與打印管理系統(tǒng)是一項(xiàng)非常有意義的開(kāi)發(fā)工作,其發(fā)展的潛力巨大,它的建立使東門(mén)復(fù)印部對(duì)圖書(shū)訂購(gòu)打印的管理擺脫傳統(tǒng)手工操作,實(shí)現(xiàn)通過(guò)互連
26、網(wǎng)而進(jìn)行的圖書(shū)訂購(gòu)打印管理,其發(fā)展前景和影響意義也將是非常深遠(yuǎn)的。</p><p><b> 可行性分析</b></p><p><b> 2.1 問(wèn)題的提出</b></p><p> 一方面東門(mén)復(fù)印部的圖書(shū)和訂購(gòu)信息資料繁多,包含很多的信息數(shù)據(jù)的管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介
27、質(zhì)的手工處理,對(duì)于圖書(shū)訂購(gòu)情況(如訂購(gòu)數(shù)量、取書(shū)時(shí)間等)的統(tǒng)計(jì)和核實(shí)等都采用人工檢查進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩?lái)說(shuō),缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有計(jì)算機(jī),但是尚未用于信息管理,沒(méi)有發(fā)揮它的效力,資源閑置比較突出。</p><p> 另一方面由于數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改,一般訂購(gòu)情況是記錄在賬簿上,圖書(shū)的數(shù)目和內(nèi)容記錄在文件中,
28、復(fù)印部工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢(xún),就得在眾多的資料中翻閱、查找了,造成查詢(xún)費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書(shū)進(jìn)行更改就更加困難了。</p><p> 基于這些問(wèn)題,有必要建立一個(gè)圖書(shū)訂購(gòu)與打印管理系統(tǒng),使訂書(shū)管理工作規(guī)范化,系統(tǒng)化,程序化,避免訂購(gòu)管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢(xún)和修改圖書(shū)訂購(gòu)與打印情況。</p><
29、p><b> 2.2 經(jīng)濟(jì)可行性</b></p><p> 根據(jù)成本/效益分析法,本系統(tǒng)所需的軟硬件資源都已具備,該系統(tǒng)簡(jiǎn)單易懂,本系統(tǒng)具有成本相對(duì)較低、利益高的特點(diǎn),經(jīng)濟(jì)上可行。</p><p><b> 2.3 操作可行性</b></p><p> 本系統(tǒng)開(kāi)發(fā)的開(kāi)發(fā)宗旨是以便捷為中心。開(kāi)發(fā)后的系統(tǒng)應(yīng)具有美
30、觀、大方、簡(jiǎn)單、易操作等優(yōu)點(diǎn),即使是不懂計(jì)算機(jī)的人員也可以根據(jù)系統(tǒng)提示使用和管理本系統(tǒng),它的操作簡(jiǎn)單的特點(diǎn)使本系統(tǒng)在操作上可行。</p><p><b> 2.3 技術(shù)可行性</b></p><p> MVC方法采用了JSP和Servlet方法的最佳特性,使這兩種技術(shù)可以協(xié)同工作。明確的是,Servlet是處理層(控制器)。Servlet接收請(qǐng)求,很像Model1
31、架構(gòu)中JSP頁(yè)面所做的那樣,并確定如何滿(mǎn)足那些請(qǐng)求。這就意味著,Servlet控制輸入的請(qǐng)求和輸出的回應(yīng)。商業(yè)邏輯體現(xiàn)了MVC架構(gòu)中的模式。商業(yè)邏輯代碼為頁(yè)面做處理。如果進(jìn)入Servlet的請(qǐng)求是一個(gè)數(shù)據(jù)庫(kù)查詢(xún),Servlet就將這個(gè)請(qǐng)求傳送到一個(gè)SQL調(diào)用或類(lèi)似的數(shù)據(jù)庫(kù)代碼。在某種意義上,架構(gòu)的模式部分是讓?xiě)?yīng)用程序處于領(lǐng)先地位的全部原因。 JSP頁(yè)面是顯示層(視圖),是用戶(hù)與應(yīng)用程序交互的地方。它提供輸入并顯示結(jié)果
32、。頁(yè)面不應(yīng)該包括任何腳本。它只是將數(shù)據(jù)傳送到Servlet,并接收和顯示返回的數(shù)據(jù)。 該架構(gòu)的優(yōu)勢(shì)應(yīng)該是很明顯的。首先,它將計(jì)算和顯示清楚地分開(kāi)了。結(jié)果很理想,在JSP頁(yè)面上沒(méi)有出現(xiàn)處理過(guò)程,在Servlet或商業(yè)邏輯中沒(méi)有數(shù)據(jù)格式。這種分離的另一個(gè)好處是Java程序員可以專(zhuān)注于Servlet代碼,HTML編寫(xiě)者可以專(zhuān)注于JSP。第二點(diǎn),控制器Servlet做頁(yè)面上的所有的決定。在你的頁(yè)面和邏</p>
33、<p> 本系統(tǒng)采用的技術(shù)均屬當(dāng)前流行的開(kāi)發(fā)技術(shù),具有技術(shù)成熟、效率高、穩(wěn)定、安全等優(yōu)點(diǎn),并且自行配置的兼容機(jī)性能優(yōu)越,能夠支持以上軟件的運(yùn)行。所以,本系統(tǒng)在技術(shù)上是完全可行的。</p><p> 2.4 開(kāi)發(fā)工具的選擇</p><p> 2.4.1 系統(tǒng)開(kāi)發(fā)工具(MyEclipse6.6)</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái)(My
34、Eclipse Enterprise Workbench ,簡(jiǎn)稱(chēng)MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate,在Eclipse中都有相應(yīng)的功能部
35、件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開(kāi)發(fā)環(huán)境,支持代碼編寫(xiě)、配置、測(cè)試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。 </p><p>
36、 Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具(Java Development Tools,JDT)。雖然大多數(shù)用戶(hù)很樂(lè)于將 Eclipse 當(dāng)作 Java IDE 來(lái)使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開(kāi)發(fā)環(huán)境(Plug-in D
37、evelopment Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶(hù)提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。 </p><p><b> 2.4.2 數(shù)據(jù)庫(kù)</b>&l
38、t;/p><p> 本軟件開(kāi)發(fā)使用的數(shù)據(jù)庫(kù)是MySQL,MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MySQL的官方網(wǎng)站的網(wǎng)址是:www.mysql.
39、com。</p><p> 與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。</p><p&g
40、t; 目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是遵循GPL的開(kāi)放源碼軟件,因此使用這種方式不用花一分錢(qián)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。</p><p> MyISAM Mysql的默認(rèn)數(shù)據(jù)庫(kù),最為常用。擁有較高的插入,
41、查詢(xún)速度,但不支持事務(wù)InnoDB 事務(wù)型數(shù)據(jù)庫(kù)的首選引擎,支持ACID事務(wù),支持行級(jí)鎖定BDB 源自Berkeley DB,事務(wù)型數(shù)據(jù)庫(kù)的另一種選擇,支持COMMIT和ROLLBACK等其他事務(wù)特性Memory 所有數(shù)據(jù)置于內(nèi)存的存儲(chǔ)引擎,擁有極高的插入,更新和查詢(xún)效率。但是會(huì)占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會(huì)在Mysql重新啟動(dòng)時(shí)丟失Merge 將一定數(shù)量的MyISAM表聯(lián)合而成一個(gè)整體,在超大規(guī)模數(shù)據(jù)存儲(chǔ)時(shí)很有用Archi
42、ve 非常適合存儲(chǔ)大量的獨(dú)立的,作為歷史記錄的數(shù)據(jù)。因?yàn)樗鼈儾唤?jīng)常被讀取。Archive擁有高效的插入速度,但其對(duì)查詢(xún)的支持相對(duì)較差Federated 將不同的Mysql服務(wù)器聯(lián)合起來(lái),邏輯上組成一個(gè)完整的數(shù)據(jù)庫(kù)。非常適合分布式應(yīng)用Cluster/NDB 高冗余的存儲(chǔ)引擎,用多臺(tái)數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用 CSV 邏輯上由逗號(hào)分割數(shù)據(jù)的存儲(chǔ)引擎BlackHole 黑洞引擎,寫(xiě)入的任何
43、數(shù)據(jù)都會(huì)消失,一般用于記錄binlog做復(fù)制的中繼。</p><p><b> MySQL的特性:</b></p><p> (1) 使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。 </p><p> (2) 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenB
44、SD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng) 。</p><p> (3) 為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 </p><p> (4) 支持多線(xiàn)程,充分利用CPU資源。 </p><p> (5) 優(yōu)化的SQL查詢(xún)算法,有效地提高查詢(xún)
45、速度 。</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) 提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。 </p><p> (8)
46、 提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具 。</p><p> (9) 可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。</p><p> 2.4.3 Tomcat6.0服務(wù)器</p><p> Tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web 應(yīng)用服務(wù)器,目前最新版本是6.0.14。Tomcat是Apache 軟件基金會(huì)(Apache Software Fou
47、ndation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(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ù)器。
48、 </p><p> Tomcat 很受廣大程序員的喜歡,因?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ā)訪問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序
49、的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪問(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è)面和Ser
50、vlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。</p><p> 2.4.4 JDK工具</p><p> JDK(Java Development Kit)是Sun Micros
51、ystems針對(duì)Java開(kāi)發(fā)員的產(chǎn)品。自從Java推出以來(lái),JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類(lèi)庫(kù)。JDK 是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境(Java Runtime Envirnment),一堆Java工具和Java基礎(chǔ)的類(lèi)庫(kù)(rt.jar)。不論什么Java應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個(gè)版本的JDK。最主流的JDK是Sun公司發(fā)布的
52、JDK,除了Sun之外,還有很多公司和組織都開(kāi)發(fā)了自己的JDK,例如IBM公司開(kāi)發(fā)的JDK,BEA公司的Jrocket,還有GNU組織開(kāi)發(fā)的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運(yùn)行效率要比Sun JDK包含的JVM高出許多。而專(zhuān)門(mén)運(yùn)行在x86平臺(tái)的Jrocket在服務(wù)端運(yùn)行效率也要比Sun JDK好很多。但不管怎么說(shuō),我們還是需要先把Sun JDK掌握好。JDK(Java Develop
53、ment Kit,Java開(kāi)發(fā)包,Java開(kāi)發(fā)工</p><p><b> JDK的版本包括:</b></p><p> SE(J2SE),standard edition,標(biāo)準(zhǔn)版,是我們通常用的一個(gè)版本,從JDK 5.0開(kāi)始,改名為Java SE。 </p><p> EE(J2EE),enterprise edition,企業(yè)版,使用
54、這種JDK開(kāi)發(fā)J2EE應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java EE。</p><p> ME(J2ME),micro edtion,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序,從JDK 5.0開(kāi)始,改名為Java ME。</p><p> JDK的基本組件包括: </p><p> (1) javac---編譯器,將源程序轉(zhuǎn)成字節(jié)碼。&l
55、t;/p><p> (2) jar---打包工具,將相關(guān)的類(lèi)文件打包成一個(gè)文件。</p><p><b> 需求分析</b></p><p> 3.1 圖書(shū)訂購(gòu)與打印管理系統(tǒng)需求概述</p><p> 圖書(shū)訂購(gòu)與打印管理系統(tǒng)的開(kāi)發(fā)主要涉及到圖書(shū)的管理、打印信息的管理、分類(lèi)信息的管理、用戶(hù)信息的管理、查詢(xún)統(tǒng)計(jì)、數(shù)據(jù)庫(kù)管
56、理、前臺(tái)購(gòu)物管理等七大功能的數(shù)據(jù)管理。圖書(shū)信息管理包括:添加圖書(shū)、刪除圖書(shū)、修改圖書(shū)信息。打印信息管理包括:查看未打印訂單、查看所需打印的圖書(shū)、查看未取訂單、查看取走訂單。用戶(hù)信息管理包括:添加用戶(hù)、查看后臺(tái)用戶(hù)、查看普通用戶(hù)。查詢(xún)統(tǒng)計(jì)管理即查詢(xún)某一時(shí)間段內(nèi)的訂單數(shù)量、訂單金額、和圖書(shū)訂購(gòu)數(shù)量等信息。數(shù)據(jù)庫(kù)管理即備份和恢復(fù)數(shù)據(jù)庫(kù)。前臺(tái)購(gòu)物管理包括:圖書(shū)查詢(xún)頁(yè)面、購(gòu)物車(chē)維護(hù)頁(yè)面、訂單信息填寫(xiě)等。 </p><p>
57、 圖書(shū)訂購(gòu)者的需求是查詢(xún)所有的圖書(shū),下訂單并填寫(xiě)訂單信息,查看訂單狀態(tài),更新取書(shū)信息。</p><p> 后臺(tái)管理員可以瀏覽、查詢(xún)、添加、刪除、修改的基本信息;查看并更新打印信息;統(tǒng)計(jì)訂購(gòu)信息等。</p><p><b> 3.2 功能需求</b></p><p> 在本系統(tǒng)中,對(duì)訂購(gòu)者來(lái)說(shuō),他們關(guān)心的問(wèn)題其實(shí)是如何方便的查詢(xún)到書(shū)籍以及
58、正確的訂購(gòu)圖書(shū),另一個(gè)關(guān)心的問(wèn)題就是所訂購(gòu)的圖書(shū)的打印狀況等等。由此可以得出系統(tǒng)一些需求。</p><p> 3.2.1 與訂購(gòu)者相關(guān)的基本功能元素</p><p> (1) 圖書(shū)查詢(xún):應(yīng)該能夠按照?qǐng)D書(shū)不同信息對(duì)圖書(shū)進(jìn)行模糊查詢(xún)。</p><p> (2) 打印狀態(tài)查詢(xún):應(yīng)該能夠查詢(xún)圖書(shū)打印狀態(tài)和確認(rèn)取書(shū)。</p><p> 3.2.
59、2 與管理員相關(guān)的基本功能元素</p><p> 在面向系統(tǒng)的管理員來(lái)說(shuō),應(yīng)注意如下幾點(diǎn):</p><p> (1) 查看哪些訂單未被打印,需按取書(shū)時(shí)間先后排序。</p><p> (2) 對(duì)圖書(shū)的添加、修改和刪除操作的方便性。</p><p> (3) 統(tǒng)計(jì)某時(shí)間段內(nèi)的訂購(gòu)信息。</p><p> 3.2.
60、3 總體系統(tǒng)的基本功能元素</p><p> 從以上問(wèn)題出發(fā),可以得出本系統(tǒng)應(yīng)該具有的功能:</p><p> (1) 圖書(shū)查詢(xún)---對(duì)所有影印的圖書(shū)進(jìn)行查詢(xún)。</p><p> (2) 訂購(gòu)管理---對(duì)購(gòu)物車(chē)和訂單信息的維護(hù)。</p><p> (3) 打印管理---對(duì)訂單和訂單中書(shū)籍打印信息的更新與管理。</p>&
61、lt;p> (4) 用戶(hù)管理---對(duì)后臺(tái)用戶(hù)進(jìn)行管理,添加、刪除以及修改信息。</p><p> (5) 數(shù)據(jù)庫(kù)管理---對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)。</p><p><b> 3.3 性能需求</b></p><p> 3.3.1人身和環(huán)境安全性需求</p><p> (1) 系統(tǒng)中的軟件不構(gòu)成對(duì)人身健康的
62、損害。</p><p> (2) 系統(tǒng)中的軟件失效時(shí)不造成財(cái)產(chǎn)的損失。</p><p> (3) 系統(tǒng)中的軟件失效時(shí)不造成環(huán)境的破壞。</p><p> 3.3.2 可靠性和可用性需求</p><p> (1) 系統(tǒng)中的軟件可以每天使用24小時(shí),每年使用365天。</p><p> (2) 系統(tǒng)中的軟件故障率
63、小于等于5%。</p><p> 3.3.3 容錯(cuò)性需求</p><p> 用戶(hù)輸入錯(cuò)誤信息時(shí),系統(tǒng)應(yīng)提示,不應(yīng)崩潰。</p><p><b> 3.3.4 易用性</b></p><p> 軟件適合12-70周歲的智力、視力、體力和肢體正常且具有圖書(shū)借閱相關(guān)知識(shí)的人使用。</p><p>
64、;<b> 3.3.5 易學(xué)性</b></p><p> 經(jīng)過(guò)1-2天培訓(xùn)的使用者可以正常使用本軟件。</p><p><b> 3.4 運(yùn)行需求</b></p><p> 3.4.1 預(yù)期的物理環(huán)境</p><p> (1) 系統(tǒng)在常溫環(huán)境下使用。</p><p>
65、; (2) 系統(tǒng)在潔凈的室內(nèi)使用。</p><p> 3.4.2 預(yù)期的技術(shù)環(huán)境</p><p> (1) 寬帶網(wǎng)、1M以上寬帶互聯(lián)網(wǎng)。</p><p> (2) 臺(tái)式計(jì)算機(jī):CPU P4 2.0G以上,內(nèi)存256M以上,硬盤(pán)40G以上,10M/100M網(wǎng)卡,Windows 2000/2003/NT/XP/Vista/Windows 7中文操作系統(tǒng)。<
66、/p><p> (3) 數(shù)據(jù)庫(kù)管理系統(tǒng):Mysql5.1及以上。</p><p><b> 總體設(shè)計(jì)</b></p><p> 總體設(shè)計(jì)的主要目的是用比較抽象的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是說(shuō),應(yīng)該確定系統(tǒng)的物理配置方案,并且進(jìn)而確定組成系統(tǒng)的每個(gè)程序的結(jié)構(gòu)。首先需要進(jìn)行系統(tǒng)設(shè)計(jì),從數(shù)據(jù)流圖出發(fā)設(shè)想完成系統(tǒng)功能的若干中合理的物理方案,
67、然后進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì),確定軟件由那些模塊組成以及這么模塊之間的動(dòng)態(tài)調(diào)用關(guān)系。在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)應(yīng)該遵循的基本原理是模塊獨(dú)立原理。</p><p> 4.1 圖書(shū)訂購(gòu)與打印管理系統(tǒng)設(shè)計(jì)指導(dǎo)思想和原則</p><p> (1) 利用軟件開(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> (2)
68、 系統(tǒng)應(yīng)該符合軟件工程開(kāi)發(fā)的理論,開(kāi)發(fā)方法等開(kāi)發(fā)依據(jù)。</p><p> (3) 系統(tǒng)應(yīng)滿(mǎn)足圖書(shū)訂購(gòu)與打印管理工作的需要,并達(dá)到操作過(guò)程中的直觀,方便,實(shí)用,安全,準(zhǔn)確等要求。</p><p> (4) 系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶(hù)需求進(jìn)行數(shù)據(jù)庫(kù)的各種操作。</p><p> (5) 系統(tǒng)采用原型,實(shí)用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改
69、,以及系統(tǒng)的測(cè)試與維護(hù)。</p><p> (6) 圖書(shū)訂購(gòu)與打印管理系統(tǒng)的設(shè)計(jì)應(yīng)適合市場(chǎng)的發(fā)展。</p><p> (7) 圖書(shū)訂購(gòu)與打印管理系統(tǒng)的設(shè)計(jì)應(yīng)當(dāng)遵循數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范。</p><p><b> 4.2 設(shè)計(jì)模式</b></p><p> 設(shè)計(jì)模式是面向?qū)ο蟮某绦蛟O(shè)計(jì)人員用來(lái)解決編程問(wèn)題的一種形式化表示
70、。本系統(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ì)變得更加容易。把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。</p><p> MVC模式如圖4-1所示
71、。</p><p> 圖4-1 MVC模式圖</p><p> MVC模式的出現(xiàn),很好的解決了傳統(tǒng)開(kāi)發(fā)WEB應(yīng)用方式中存在的問(wèn)題。M代表模型(Model),包含完成任務(wù)所需要的所有的行為和數(shù)據(jù);V代表視圖(View)界面,現(xiàn)實(shí)模型提供的數(shù)據(jù);C代表控制器(Controller),它將模型映射到界面中,處理用戶(hù)的輸入并相應(yīng)請(qǐng)求。其模型的關(guān)系如圖所示。在MVC模型中,三層各盡其職、相互獨(dú)立
72、,各層內(nèi)部的改變不會(huì)影響到其它層,從而降低了數(shù)據(jù)表達(dá)、數(shù)據(jù)描述和應(yīng)該操作的耦合度,也能更好的實(shí)現(xiàn)開(kāi)發(fā)中的分工,加速工程進(jìn)度。</p><p> 4.3 系統(tǒng)配置方案設(shè)計(jì)</p><p> 鑒于本系統(tǒng)的業(yè)務(wù)性質(zhì),必須選擇具有較高可靠性、穩(wěn)定性和必要的容錯(cuò)能力的計(jì)算機(jī)硬件和軟件系統(tǒng),以保證不丟失、破壞數(shù)據(jù)。</p><p> 必須具有較高的響應(yīng)速度,以保證各項(xiàng)具體
73、業(yè)務(wù)的順利進(jìn)行。</p><p> 應(yīng)考慮具有良好的可維護(hù)性、可操作性和可擴(kuò)充性,以保證將來(lái)系統(tǒng)規(guī)模的擴(kuò)展和升級(jí)的需要。</p><p> 計(jì)算機(jī)硬件的選擇取決于數(shù)據(jù)的處理方式和要運(yùn)行的軟件。管理對(duì)計(jì)算機(jī)的基本要求是速度快、容量大、通道能力強(qiáng)、操作靈活方便,但計(jì)算機(jī)的性能越高,其價(jià)格也就越昂貴,因此,在計(jì)算機(jī)硬件的選擇上應(yīng)全面考慮。由于現(xiàn)在微機(jī)在性能上已經(jīng)有了很大提高,甚至超過(guò)了早期大
74、型機(jī)的水平,而價(jià)格又相對(duì)較低,一般企事業(yè)單位選擇微機(jī)作為硬件支撐環(huán)境較為適宜。</p><p> 4.4 圖書(shū)訂購(gòu)與打印管理系統(tǒng)總體功能概述</p><p> 圖書(shū)訂購(gòu)與打印管理系統(tǒng)包含八個(gè)模塊分別是:系統(tǒng)登錄、圖書(shū)管理、打印信息的管理、分類(lèi)信息的管理、用戶(hù)信息的管理、查詢(xún)統(tǒng)計(jì)、數(shù)據(jù)庫(kù)管理、前臺(tái)購(gòu)物管理。</p><p> (1) 系統(tǒng)登錄模塊:管理員都必須登
75、錄才能進(jìn)入系統(tǒng),用戶(hù)登錄時(shí)在后臺(tái)通過(guò)過(guò)濾器(Filter)判斷用戶(hù)的權(quán)限類(lèi)型,分為普通用戶(hù)和管理員,普通用戶(hù)無(wú)法登陸后臺(tái),管理員可以登陸并對(duì)多種信息進(jìn)行操作。</p><p> (2) 打印管理模塊:管理員通過(guò)驗(yàn)證界面進(jìn)入系統(tǒng)后,進(jìn)入到打印管理模塊,可以進(jìn)行查看訂單狀態(tài)、更新訂單狀態(tài)、修改訂單等操作。</p><p> (3) 圖書(shū)管理模塊:管理員通過(guò)驗(yàn)證界面進(jìn)入系統(tǒng)后,進(jìn)入到圖書(shū)管理
76、模塊,可以對(duì)圖書(shū)進(jìn)行添加,刪除、修改圖書(shū)信息、查詢(xún)、查看等一系列的操作。</p><p> (4) 分類(lèi)信息管理模塊:管理員可以在此模塊中創(chuàng)建分類(lèi)、修改分類(lèi)、刪除分類(lèi)。</p><p> (5) 用戶(hù)管理模塊:管理員可以在此模塊中創(chuàng)建新的后臺(tái)用戶(hù),并且可以對(duì)用戶(hù)的信息進(jìn)行修改,刪除。</p><p> (6) 查詢(xún)統(tǒng)計(jì)模塊:管理員可以在此模塊中查詢(xún)某一時(shí)間段內(nèi)
77、的訂單信息、包括數(shù)量、金額等相關(guān)信息。</p><p> (7) 數(shù)據(jù)庫(kù)模塊:管理員可以在此模塊中對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)。</p><p> (8) 前臺(tái)購(gòu)物模塊:用戶(hù)可以完成搜索圖書(shū)、訂購(gòu)圖書(shū)、維護(hù)購(gòu)物車(chē)、填寫(xiě)訂單信息、查看訂單狀態(tài)等操作。</p><p> 系統(tǒng)的功能圖如圖4-2所示。</p><p> 圖4-2 系統(tǒng)功能圖<
78、;/p><p> 4.5 圖書(shū)訂購(gòu)與打印管理系統(tǒng)各功能模塊概述</p><p> 4.5.1 系統(tǒng)登錄模塊</p><p> 用戶(hù)進(jìn)入后臺(tái)管理界面時(shí)會(huì)通過(guò)的一個(gè)過(guò)濾器。該模塊根據(jù)用戶(hù)輸入的用戶(hù)名、密碼來(lái)判斷用戶(hù)的類(lèi)型,判斷是否可以登錄后臺(tái)。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 判斷用
79、戶(hù)名和密碼是否相符。</p><p> (2) 根據(jù)用戶(hù)的權(quán)限類(lèi)型,登錄到系統(tǒng)的制定界面操作使用。</p><p> 登錄模塊流程圖如圖4-3所示。</p><p> 圖4-3 登錄模塊流程圖</p><p> 4.5.2 打印管理模塊</p><p> 在本模塊中復(fù)印部工作人員可以對(duì)訂單進(jìn)行更新?tīng)顟B(tài)等操作。
80、</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 未打印訂單---查看最新未打印的訂單,并可查看訂單明細(xì),訂單按預(yù)約取書(shū)時(shí)間從大到小排序,同時(shí)可以更新圖書(shū)打印狀態(tài)。</p><p> (2) 需要打印的圖書(shū)---統(tǒng)計(jì)出所有訂單中書(shū)籍,相同書(shū)籍?dāng)?shù)量相加,可單獨(dú)更新某一訂單中圖書(shū)的打印狀態(tài),也可以同時(shí)更新所有訂單中本書(shū)的打印狀態(tài)。</p&g
81、t;<p> (3) 未取的訂單---顯示所有打印狀態(tài)為打印結(jié)束且取書(shū)狀態(tài)為未取走的訂單,可查看明細(xì),并更新取書(shū)狀態(tài)。</p><p> (4) 已取訂單---查看已去走訂單,并可查看明細(xì)。</p><p> 打印管理模塊流程圖如圖4-4所示。</p><p> 圖4-4 打印管理模塊流程圖</p><p> 4.5.
82、3 圖書(shū)管理模塊</p><p> 本模塊主要是對(duì)圖書(shū)信息進(jìn)行管理。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 添加圖書(shū)---添加圖書(shū)信息(書(shū)名、售價(jià)、圖片、作者等)。</p><p> (2) 查看圖書(shū)---查看圖書(shū)封面、修改圖書(shū)信息、刪除圖書(shū)。</p><p> 圖書(shū)管理模塊流程
83、圖如圖4-5所示。</p><p> 圖4-5 圖書(shū)管理模塊流程圖</p><p> 4.5.4 分類(lèi)信息管理模塊</p><p> 本模塊主要是管理員對(duì)分類(lèi)信息管理。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 添加分類(lèi)---添加圖書(shū)類(lèi)別信息。</p><p>
84、 (2) 查看分類(lèi)---包括查看分類(lèi)信息、修改分類(lèi)信息、刪除分類(lèi)。</p><p> 分類(lèi)信息管理模塊流程圖如圖4-6所示。</p><p> 4.5.5 用戶(hù)信息管理</p><p> 使用該模塊的只有管理員,本模塊可以維護(hù)用戶(hù)信息。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 添
85、加用戶(hù)---只能添加后臺(tái)用戶(hù)。</p><p> (1) 后臺(tái)用戶(hù)---可以查看后臺(tái)用戶(hù)信息、刪除后臺(tái)用戶(hù)信息。</p><p> (2) 普通用戶(hù)---可以查看普通用戶(hù)信息、刪除普通用戶(hù)信息。</p><p> 用戶(hù)信息管理模塊流程圖如圖4-7所示。</p><p> 圖4-6 分類(lèi)信息管理模塊流程圖</p><
86、p> 圖4-7 用戶(hù)信息管理模塊流程圖</p><p> 4.5.6 查詢(xún)統(tǒng)計(jì)管理</p><p> 使用該模塊可以統(tǒng)計(jì)訂單信息等。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 查詢(xún)統(tǒng)計(jì)---統(tǒng)計(jì)某一時(shí)間段內(nèi)的圖書(shū)訂購(gòu)信息、訂單數(shù)、營(yíng)業(yè)額等。</p><p> 用戶(hù)信息管理模塊流
87、程圖如圖4-8所示。</p><p> 圖4-8查詢(xún)統(tǒng)計(jì)模塊流程圖</p><p> 圖4-9 數(shù)據(jù)庫(kù)管理模塊流程圖</p><p> 4.5.7 數(shù)據(jù)庫(kù)管理</p><p> 使用該模塊可以維護(hù)數(shù)據(jù)庫(kù)信息。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 備份數(shù)據(jù)
88、庫(kù)---備份數(shù)據(jù)庫(kù),填寫(xiě)備份原因。</p><p> (2) 恢復(fù)數(shù)據(jù)庫(kù)---選擇數(shù)據(jù)庫(kù)的備份并恢復(fù)數(shù)據(jù)庫(kù)到備份前狀態(tài)。</p><p> 數(shù)據(jù)庫(kù)管理模塊流程圖如圖4-9所示。</p><p> 圖4-10 前臺(tái)訂購(gòu)管理模塊流程圖</p><p> 4.5.8 前臺(tái)訂書(shū)管理</p><p> 使用該模塊主要展
89、示圖書(shū)信息、可搜索、查詢(xún)等,維護(hù)購(gòu)物車(chē)和訂單頁(yè)面。</p><p> 本模塊的功能點(diǎn)包括:</p><p> (1) 展示圖書(shū)---展示所有圖書(shū)供用戶(hù)購(gòu)買(mǎi)。</p><p> (2) 搜索圖書(shū)---可以按類(lèi)別查找、也可輸入關(guān)鍵字模糊查找圖書(shū)。</p><p> (3) 查詢(xún)訂單---可以查詢(xún)客戶(hù)訂單當(dāng)前的打印狀態(tài)。</p>
90、<p> (4) 購(gòu)物車(chē)---維護(hù)客戶(hù)購(gòu)書(shū)的頁(yè)面,增加、刪除、修改等。</p><p> (5) 訂購(gòu)信息頁(yè)面---用戶(hù)填寫(xiě)訂購(gòu)人信息、備注、取書(shū)時(shí)間等。</p><p> 前臺(tái)訂購(gòu)管理模塊流程圖如圖4-10所示。</p><p><b> 4.6 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.6.1
91、 編寫(xiě)目的</p><p> 本說(shuō)明書(shū)說(shuō)明“圖書(shū)訂購(gòu)系統(tǒng)”的數(shù)據(jù)庫(kù)設(shè)計(jì)、結(jié)構(gòu)情況,用于開(kāi)發(fā)人員進(jìn)行項(xiàng)目設(shè)計(jì),同時(shí)也為后續(xù)的數(shù)據(jù)庫(kù)維護(hù)工作提供了良好的使用說(shuō)明,也可以作為未來(lái)版本升級(jí)時(shí)的重要參考資料。</p><p><b> 4.6.2 背景</b></p><p> 數(shù)據(jù)庫(kù)名稱(chēng):bookstore</p><p>
92、; 數(shù)據(jù)庫(kù)系統(tǒng):MySQL</p><p> 數(shù)據(jù)庫(kù)宿主環(huán)境:windows</p><p> 4.6.3 環(huán)境要求</p><p> 硬件平臺(tái):CPU:1.5Ghz</p><p><b> 內(nèi)存:512mb</b></p><p><b> 硬盤(pán)空間:8gb</b&
93、gt;</p><p> 操作系統(tǒng):windows xp,2000,Vista,win 7</p><p><b> 數(shù)據(jù)庫(kù):MySQL</b></p><p> 4.6.4 概念結(jié)構(gòu)設(shè)計(jì)</p><p><b> (1) 實(shí)體圖</b></p><p> 圖書(shū):圖
94、書(shū)屬性有編號(hào)、書(shū)名、作者、版次、出版社、價(jià)格、分類(lèi)、描述、圖片。</p><p> 圖書(shū)實(shí)體圖如圖4-11所示。</p><p> 圖4-11 圖書(shū)實(shí)體圖</p><p> 分類(lèi):分類(lèi)屬性有編號(hào)、分類(lèi)名、描述。</p><p> 分類(lèi)實(shí)體圖如圖4-12所示。</p><p> 圖4-12 分類(lèi)實(shí)體圖</
95、p><p> 訂單:訂單屬性有編號(hào)、價(jià)格、打印狀態(tài)、取書(shū)狀態(tài)、用戶(hù)編號(hào)、取書(shū)時(shí)間、下單時(shí)間、描述。</p><p> 分類(lèi)實(shí)體圖如圖4-13所示。</p><p> 圖4-13 訂單實(shí)體圖</p><p> 訂單項(xiàng):訂單項(xiàng)屬性有編號(hào)、打印狀態(tài)、訂單編號(hào)、書(shū)籍編號(hào)、價(jià)格、數(shù)量。</p><p> 訂單項(xiàng)實(shí)體圖如圖4
96、-14所示。</p><p> 圖4-14 訂單項(xiàng)實(shí)體圖</p><p> 用戶(hù):用戶(hù)屬性有編號(hào)、姓名、密碼、電話(huà)、權(quán)限。</p><p> 用戶(hù)實(shí)體圖如圖4-15所示。</p><p> 圖4-15 用戶(hù)實(shí)體圖</p><p><b> (2) E—R圖</b></p>
97、<p> 根據(jù)以上實(shí)體圖,分析了各個(gè)實(shí)體的屬性,根據(jù)這些屬性,可以得到系統(tǒng)的E—R圖,</p><p> 用戶(hù)可訂購(gòu)多個(gè)訂單,每個(gè)訂單含有多個(gè)訂單項(xiàng)信息,每個(gè)訂單項(xiàng)中又含有多本圖書(shū)信息。</p><p> 系統(tǒng)E-R圖如圖4-16所示。</p><p> 圖4-16 系統(tǒng)E-R圖</p><p> 4.6.5 字段命名規(guī)則
98、</p><p> 字段一律采用拼音首字母或簡(jiǎn)單單詞命名。</p><p><b> 如表4-1所示。</b></p><p> 表4-1 字段命名規(guī)則</p><p> 4.6.6 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)</p><p> 根據(jù)上述實(shí)體設(shè)計(jì),本系統(tǒng)需要?jiǎng)?chuàng)建以下數(shù)據(jù)表:</p>&
99、lt;p> 表4-2 category(分類(lèi)信息表)</p><p> 表4-3 book(圖書(shū)信息表)</p><p> 表4-4 user(用戶(hù)信息表)</p><p> 表4-5 orders(訂單信息表)</p><p> 表4-6 orderitem(訂單項(xiàng)信息表)</p><p><b
100、> 詳細(xì)設(shè)計(jì)</b></p><p> 5.1系統(tǒng)的軟件結(jié)構(gòu)</p><p> 處理靜態(tài)WEB是由Web瀏覽器向Web發(fā)送靜態(tài)頁(yè)面, Web服務(wù)器直接對(duì)發(fā)送的靜態(tài)網(wǎng)頁(yè)進(jìn)行處理。</p><p> 處理動(dòng)態(tài)WEB數(shù)據(jù)庫(kù)查詢(xún)的過(guò)程是:當(dāng)Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求時(shí),動(dòng)態(tài)網(wǎng)頁(yè)的處理流程是,屏蔽掉HTML語(yǔ)言,只輸入動(dòng)態(tài)網(wǎng)頁(yè)文件,由Web服
101、務(wù)器向數(shù)據(jù)庫(kù)中傳遞信息,經(jīng)過(guò)數(shù)據(jù)庫(kù)的處理返回?cái)?shù)據(jù)集,Web應(yīng)用服務(wù)器再把含有程序代碼的動(dòng)態(tài)網(wǎng)頁(yè)轉(zhuǎn)換為靜態(tài)網(wǎng)頁(yè)返還給Web瀏覽器。這就是用動(dòng)態(tài)網(wǎng)頁(yè)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)并將數(shù)據(jù)返還給瀏覽器處理的全過(guò)程,具體見(jiàn)圖5-1所示。</p><p> 圖5-1數(shù)據(jù)庫(kù)查詢(xún)示意圖</p><p> 5.2 開(kāi)發(fā)環(huán)境搭建</p><p> 5.2.1 導(dǎo)入開(kāi)發(fā)包</p>
102、<p><b> mysql驅(qū)動(dòng)</b></p><p><b> c3p0連接池</b></p><p><b> dbutils框架</b></p><p> beanutils框架</p><p> commons logging</p>
103、<p><b> jstl開(kāi)發(fā)包</b></p><p> commons fileupload</p><p> commons io包</p><p> 5.2.2 創(chuàng)建組織程序的包</p><p> nedu.com.domain</p><p> nedu.com
104、.dao</p><p> nedu.com.dao.impl</p><p> nedu.com.service</p><p> nedu.com.service.impl</p><p> nedu.com.web.manager </p><p> nedu.com.web.client <
105、/p><p> nedu.com.utils</p><p> nedu.com.web.filter</p><p> junit.test</p><p> 在web應(yīng)用下新建:</p><p> manager目錄:放后臺(tái)管理相關(guān)的jsp</p><p> client目錄:放前臺(tái)
106、管理相關(guān)的jsp</p><p> 5.2.3 系統(tǒng)的全局類(lèi)</p><p> JdbcUtils主要用于c3p0數(shù)據(jù)庫(kù)連接池連接,完成創(chuàng)建連接池、提交事務(wù)、事務(wù)回滾、關(guān)閉連接等操作。</p><p> WebUtils 創(chuàng)建靜態(tài)方法生成UUID,為圖書(shū)訂單等信息編號(hào)、處理頁(yè)面上傳文件、購(gòu)物車(chē)到訂單的轉(zhuǎn)換等功能。</p><p> C
107、haracterEncodingFilter 解決中文亂碼。</p><p> HtmlFilter 防止頁(yè)面輸入hml標(biāo)簽信息。</p><p> TransationFilter 開(kāi)啟事務(wù)。</p><p> AuthorityFilter 權(quán)限過(guò)濾器,實(shí)現(xiàn)粗粒度權(quán)限過(guò)濾。</p><p> 5.2.4 DAO層編寫(xiě)</p&
108、gt;<p> 數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Objects):是一種面向?qū)ο蟮慕缑娼涌?。通過(guò)DAO/Jet功能可以訪問(wèn)ISAM數(shù)據(jù)庫(kù),使用DAO/ ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程RDO功能。使用DAO的程序編碼非常簡(jiǎn)單,DAO提供豐富的游標(biāo)(Cursor)類(lèi)型的結(jié)果集和非游標(biāo)(Cursor-Less)類(lèi)型的結(jié)果集,同DDL(數(shù)據(jù)描述語(yǔ)言)的功能很類(lèi)似。</p><p> DAO
109、模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類(lèi)的集合。它們提供了完成管理這樣一個(gè)系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫(kù),定義表、字段和索引,建立表間的關(guān)系,定位和查詢(xún)數(shù)據(jù)庫(kù)等工具。本系統(tǒng)所涉及Dao接口及其實(shí)現(xiàn)類(lèi)如表5-1所示。</p><p> 表5-1 DAO實(shí)現(xiàn)類(lèi)對(duì)應(yīng)表</p><p> 5.3 登錄系統(tǒng)模塊的實(shí)現(xiàn)</p><p> 本模塊主要是用戶(hù)通過(guò)登
110、陸頁(yè)面進(jìn)入該系統(tǒng)。用戶(hù)輸入正確的用戶(hù)名和密碼,如果登錄信息有錯(cuò)誤,則系統(tǒng)提示登錄錯(cuò)誤信息。若登錄信息正確,系統(tǒng)會(huì)根據(jù)用戶(hù)的身份進(jìn)行相應(yīng)權(quán)限的判斷,普通用戶(hù)無(wú)法登陸后臺(tái),管理員可進(jìn)入后臺(tái)系統(tǒng),想進(jìn)入后臺(tái)的任何界面必須通過(guò)登陸窗口登陸才能進(jìn)入。本模塊主要通過(guò)過(guò)濾器實(shí)現(xiàn),在web.xml中配置filter,用戶(hù)要訪問(wèn)manager目錄下的文件都會(huì)通過(guò)過(guò)濾器,過(guò)濾器判斷session中的user是否存在,若存在則判斷權(quán)限是否為1,若為1則執(zhí)行d
111、oFilter()放行,否則訪問(wèn)不能通過(guò)過(guò)濾器,提示沒(méi)有登錄或者權(quán)限不足。</p><p> 圖書(shū)打印與管理系統(tǒng)登錄主頁(yè)面如圖5-2所示。</p><p> 圖5-2登陸主界面示意圖</p><p> 本功能主要通過(guò)LoginServlet和AuthorityFilter實(shí)現(xiàn)。</p><p> 其實(shí)現(xiàn)主要代碼如下:</p>
112、;<p> AuthorityFilter:</p><p> User login = (User) res.getSession().getAttribute("user");</p><p> if(login==null){</p><p> res.getRequestDispatcher("/lo
113、gin/login.jsp").forward(res, req);</p><p><b> }else{</b></p><p> if(login.getAuthority()==1){</p><p> chain.doFilter(res, req);</p><p><b>
114、 }else{</b></p><p> res.setAttribute("message", " Sorry~~~您的權(quán)限不夠?。。?!");</p><p> res.getRequestDispatcher("/login/login.jsp").forward(res, req);</p&g
115、t;<p><b> }</b></p><p><b> }</b></p><p> LoginServlet:</p><p> PrintWriter out = response.getWriter();</p><p> String name = request
116、.getParameter("name");</p><p> String psw = request.getParameter("psw");</p><p> BusinessService bs = new BusinessServiceImpl();</p><p> User login = bs.findU
117、ser(name, psw);</p><p> if(login==null){</p><p> out.print("用戶(hù)名或密碼有錯(cuò)誤!");</p><p><b> }else{</b></p><p> request.getSession().setAttribute(&quo
118、t;user", login);</p><p><b> }</b></p><p> 5.4 打印管理模塊的實(shí)現(xiàn)</p><p> 本模塊主要是使用者可以查看訂單信息、查看未打印信息、更新打印狀態(tài)、更新取書(shū)狀態(tài),還可以搜索訂單、更改訂單信息等。</p><p> 5.4.1 初始訂單顯示</p
119、><p> 系統(tǒng)登陸后顯示初始訂單頁(yè)面,包括為打印訂單列表和未取訂單列表,管理員可以通過(guò)電話(huà)號(hào)碼搜索訂單,并可以對(duì)訂單進(jìn)行修改,修改后會(huì)判斷訂單中的訂單項(xiàng)是否為0,為0的話(huà)則刪除訂單,否則更改訂單總價(jià)。</p><p> 初始訂單顯示頁(yè)面如圖5-3所示。</p><p> 圖5-3初始訂單顯示頁(yè)面示意圖</p><p> 5.4.2 未打
120、印的訂單</p><p> 未打印的訂單可以按訂單查看定購(gòu)信息,可顯示打印進(jìn)度、訂單人、電話(huà)、下單時(shí)間、預(yù)約取書(shū)時(shí)間、訂單總價(jià)等信息,點(diǎn)擊詳細(xì)信息可進(jìn)入詳細(xì)信息頁(yè)面,會(huì)顯示所有訂購(gòu)圖書(shū)的詳細(xì)信息,同時(shí)會(huì)顯示每本書(shū)的打印狀態(tài),還有備注信息,管理員可根據(jù)備注信息打印圖書(shū),點(diǎn)擊每本書(shū)后面的“DOC”鏈接,即可打開(kāi)本圖書(shū)的word文檔來(lái)打印圖書(shū),打印完成后可點(diǎn)擊“打印完成”鏈接來(lái)更新打印狀態(tài),但不可以點(diǎn)擊“確認(rèn)取書(shū)”,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的酒店管理系統(tǒng)論文(含源文件)
- 基于java的酒店管理系統(tǒng)論文(含源文件)
- 基于javaweb的在線(xiàn)考試系統(tǒng)論文
- 基于java和mysql的物業(yè)管理系統(tǒng)論文-修改(含源文件)
- 基于java的圖書(shū)管理系統(tǒng)的開(kāi)發(fā)(含源文件)
- visualbasic圖書(shū)管理系統(tǒng)大學(xué)設(shè)計(jì)課題論文(含源文件)
- 基于java和mysql的物業(yè)管理系統(tǒng)論文-修改(含源文件)畢業(yè)設(shè)計(jì)(論文)
- 基于java的酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(含源文件)
- 基于java的酒店管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(含源文件)
- c圖書(shū)館管理系統(tǒng)畢業(yè)設(shè)計(jì)含源文件
- 圖書(shū)管理系統(tǒng)論文圖書(shū)管理系統(tǒng)論文
- 基于jsp的家政服務(wù)管理系統(tǒng)畢業(yè)論文報(bào)告(含源文件)
- 基于javaweb客戶(hù)訂購(gòu)登記管理
- 基于java的教務(wù)管理系統(tǒng)開(kāi)題報(bào)告(含源文件)
- 基于java藥品管理系統(tǒng)畢業(yè)設(shè)計(jì)論文(含源文件)
- 牛奶訂購(gòu)系統(tǒng)論文
- 在線(xiàn)圖書(shū)管理系統(tǒng)
- 基于.net的在線(xiàn)圖書(shū)管理銷(xiāo)售系統(tǒng)
- 基于java手機(jī)游戲論文(含源文件)
- 基于javaweb技術(shù)的水果銷(xiāo)售系統(tǒng)論文.doc
評(píng)論
0/150
提交評(píng)論