版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘 要網(wǎng)上書店是指利用互聯(lián)網(wǎng)絡(luò)來實現(xiàn)圖書銷售業(yè)務(wù)的一種新型圖書零售渠道。網(wǎng)上書店訂單處理速度快,服務(wù)范圍寬,存書量大,讀者坐在家里就可以“逛書店”。本文就網(wǎng)上書店的整個開發(fā)流程(包括需求分析,系統(tǒng)設(shè)計,詳細設(shè)計,系統(tǒng)測試等)進行了詳細的論述,并在架構(gòu)設(shè)計和實現(xiàn)方案上給出了考慮因素和理論依據(jù)。系統(tǒng)實現(xiàn)的主要功能包括:前臺的用戶注冊登錄、圖書信息的查詢和瀏覽、購物車、下訂單等,后臺的圖書管理,用戶管理,訂單管理等。本系統(tǒng)采用了B/S結(jié)構(gòu),三層運行模式,同時適用于Intranet/Internet。瀏覽器為第一層,作為系統(tǒng)的應(yīng)用界面;應(yīng)用邏輯服務(wù)為第二層;數(shù)據(jù)鏈接為第三層,作為系統(tǒng)的數(shù)據(jù)存取服務(wù)。此
2、架構(gòu)無須安裝客戶端軟件,便于軟件的分發(fā)和維護升級,適應(yīng)了眾多應(yīng)用客戶端分散環(huán)境下的運行和維護需求。關(guān)鍵詞:網(wǎng)上書店;Java;Struts2;面向?qū)ο驛BSTRACTOnline bookstore is using the Internet to achieve a new kind of book sales book retailing channels. Online bookstore order processing speed, wide range of services, volume of books, the reader can sit at home, booksto
3、re.In this article online bookstore throughout the development process (Including requirements analysis, system design, detailed design, system testing, etc.) are discussed in detail, and in architecture design and implementation of programs on the consideration given and the theoretical basis. Syst
4、em to achieve the main features include: front desk of the user registration log book information query and browsing, shopping cart, orders, etc., the background of the library management, user management, order management. The system uses the B / S structure, three operating modes, both for Intrane
5、t / Internet. Browser as the first layer, the application interface as a system; application logic services for the second layer; data link for the third layer, as the systems data access services. This architecture is no need to install client software, easy software distribution and maintenance up
6、grades to adapt to many applications distributed environment, the client operation and maintenance needs.Key words: Online bookstore; Java; Struts2; object-oriented目 錄1 系統(tǒng)概述11.1 網(wǎng)上書店的發(fā)展11.2 網(wǎng)上書店的現(xiàn)狀11.3 網(wǎng)上書店的優(yōu)勢12 系統(tǒng)開發(fā)技術(shù)32.1 MVC模式簡介32.2 Struts是實現(xiàn)MVC模式的框架43 需求分析53.1 可行性分析53.2 系統(tǒng)需求分析53.2.1 功能需求63.2.2 性能
7、需求63.3 數(shù)據(jù)流程分析63.3.1 頂層數(shù)據(jù)流圖63.3.2 第一層數(shù)據(jù)流圖73.3.3 第二層數(shù)據(jù)流圖94 系統(tǒng)總體設(shè)計114.1 系統(tǒng)設(shè)計目標114.2 系統(tǒng)模塊設(shè)計114.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計114.2.2 系統(tǒng)模塊設(shè)計125 系統(tǒng)詳細設(shè)計145.1 系統(tǒng)功能模塊設(shè)計145.1.1 用戶登錄模塊155.1.2 用戶注冊模塊165.1.3 管理員功能模塊165.1.4 圖書信息管理模塊175.1.5 購物車管理模塊185.1.6 訂單管理模塊205.1.7 添加圖書模塊225.1.8 圖書查詢模塊235.2 數(shù)據(jù)庫設(shè)計255.2.1 數(shù)據(jù)庫的需求分析255.2.2 數(shù)據(jù)庫的邏輯設(shè)計25
8、5.2.3 創(chuàng)建數(shù)據(jù)表腳本276 系統(tǒng)測試306.1 配置測試環(huán)境306.2 測試結(jié)果31結(jié) 論37參考文獻38致 謝391 系統(tǒng)概述1.1 網(wǎng)上書店的發(fā)展Internet 的迅速發(fā)展正以前所未有的深度和廣度影響和改善著人類生活的各個方面,越來越多的人開始意識到Internet所蘊含的經(jīng)濟價值的無窮商機,并積極投身于電子商務(wù)活動.實際上,電子商務(wù)是一些商業(yè)行為的電子化,例如網(wǎng)絡(luò)書城,網(wǎng)上貿(mào)易,就網(wǎng)絡(luò)書城來說,網(wǎng)絡(luò)書城是目前應(yīng)用最廣,最成功的典范之一,網(wǎng)絡(luò)書城的崛起對傳統(tǒng)的圖書流通體系產(chǎn)生了強烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將廣大讀者,圖書,出版者,發(fā)行者緊密地結(jié)合在一起,大大提高了圖書
9、流通率。1.2 網(wǎng)上書店的現(xiàn)狀出版物網(wǎng)上銷售不僅是傳統(tǒng)銷售渠道的發(fā)展和補充,也是未來圖書銷售的發(fā)展方向目前我國運作和銷售較好的大型網(wǎng)上書店,如當當、卓越和旌旗席殊、中國書網(wǎng)網(wǎng)上書店等,這些網(wǎng)上書店各具優(yōu)勢,其中當當網(wǎng)上書店在價格和品種方面的優(yōu)勢是無人能比;卓越網(wǎng)上書店創(chuàng)造流行的能力比較強;旌旗席殊網(wǎng)上書店的優(yōu)勢是網(wǎng)點多,覆蓋面廣。在國外,影響較大的網(wǎng)上書店有美國的亞馬遜,德國的貝塔斯曼和英國的因特網(wǎng)書店。其中亞馬遜網(wǎng)上書店在1998年擁有450萬名顧客,到2002年有將近32億人網(wǎng)上購書,銷售額達到了78億美元。1999年英國的20億英鎊圖書總銷售額中,網(wǎng)上銷售占5%。英國書業(yè)界人士分析,未來
10、英國的網(wǎng)上售書將成為圖書銷售渠道中的主要渠道。1.3 網(wǎng)上書店的優(yōu)勢(1)網(wǎng)上書店擠壓盜版空間網(wǎng)絡(luò)書店的興起無疑給盜版商以有力的打擊,因為發(fā)達的網(wǎng)絡(luò)可以直接疏通圖書的發(fā)行渠道,縮短了網(wǎng)上購書者與出版社的距離,給圖書消費者以清新、便宜的享受。(2)網(wǎng)上書店濃縮了圖書的庫存空間傳統(tǒng)圖書店內(nèi)的圖書擺放面積是有限的,每增加一本書其成本都在以一定比例增加,而網(wǎng)絡(luò)書店解決了存儲空間問題,每增加一本書成本增長幾乎為零。(3)數(shù)量、種類多,出版時間跨度大綜合性的網(wǎng)上書店涉及各種各類內(nèi)容的圖書,提供訂購的書目信息達上萬、幾十萬條,而圖書出版的時間有最新出版的,也有幾十年前的,這是傳統(tǒng)書店難以做到的。(4)不受時
11、間、地域限制網(wǎng)上書店是24小時向全球各地的用戶提供網(wǎng)上服務(wù)的,用戶借助網(wǎng)絡(luò)可以漫游于世界各地的圖書海洋中,隨時選書、下訂單。(5)多途徑綜合檢索網(wǎng)上書店主要提供分類和自定義搜索的方式對圖書進行查找。(6)個性服務(wù)網(wǎng)上書店不只單純銷售圖書,還充分發(fā)揮網(wǎng)絡(luò)優(yōu)勢,提供豐富多彩的個性化服務(wù),滿足讀者特定的需求。網(wǎng)上書店開設(shè)的如新書推薦、暢銷書排行、讀者評論、作者訪談、專家點評等欄目,既使讀者把握全方位的圖書信息,又可使其利用網(wǎng)絡(luò)公告版同圖書的作者及其他讀者進行在線討論、交流心得體會,并根據(jù)他人的書評來協(xié)助選書。2 系統(tǒng)開發(fā)技術(shù)2.1 MVC模式簡介MVC是Model(模型)View(視圖)Contro
12、ller(控制器)的縮寫,它適用于大型可擴展的Web應(yīng)用的開發(fā),它強制性地將應(yīng)用程序的輸入、處理和輸出分開,將其劃分為模型、視圖和控制器三個核心部分,使它們各司其職,各自完成不同的任務(wù),其中任何一部分的修改都不會影響其它兩部分。在MVC模式中,模型封裝了應(yīng)用問題的核心數(shù)據(jù)、邏輯關(guān)系和業(yè)務(wù)規(guī)則,提供了業(yè)務(wù)邏輯的處理過程。模型一方面被控制器調(diào)用,完成問題處理的操作過程,另一方面為視圖獲取顯示數(shù)據(jù)提供了訪問數(shù)據(jù)的操作。因為模型是與數(shù)據(jù)格式無關(guān)的,因此一個模型可以為多個視圖提供數(shù)據(jù),這樣一個模型一次編寫可以被多個視圖重用,從而避免了代碼的重復(fù)編寫。視圖是MVC模式下用戶看到的并與之交互的界面。視圖從模
13、型處獲得數(shù)據(jù),視圖的更新由控制器控制。視圖不包含任何業(yè)務(wù)邏輯的處理,它只是作為一種輸出數(shù)據(jù)的方式。MVC模式中,控制器主要起導(dǎo)航的作用,它根據(jù)用戶的輸入調(diào)用相應(yīng)的模型和視圖去完成用戶的請求??刂破鞅旧聿惠敵鋈魏螙|西,它接受用戶請求并決定調(diào)用哪個模型構(gòu)件去處理,以及由哪個視圖來顯示模型處理之后返回的數(shù)據(jù)。MVC的處理過程是這樣的:對于每一個用戶輸入的請求,首先被控制器接收,并決定由哪個模型來進行處理,然后模型通過業(yè)務(wù)處理邏輯處理用戶的請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過顯示頁面呈現(xiàn)給用戶。如下圖所示為模型、視圖、控制器這三個模塊各自的功能以及它們之間的相互關(guān)系:圖1
14、 MVC模式2.2 Struts是實現(xiàn)MVC模式的框架設(shè)計模式是軟件開發(fā)經(jīng)驗的總結(jié),它是一個概念,是一個邏輯實體,而框架可以看成是基于某一特定平臺的一種或幾種設(shè)計模式的物理實現(xiàn)。設(shè)計模式比框架更抽象,設(shè)計模式只有其實例才能表示為代碼,而框架本身可以用代碼表示,框架是一套設(shè)計詳細的類,類與類之間功能各異,又彼此聯(lián)系,相輔相成,形成了對某一類問題的可重用的、易擴展的解決方案。Struts是實現(xiàn)MVC模式的通用框架,它由四個主要部分組成,模型、視圖、控制器和XML文件。模型通常由Java Bean或EJB組件實現(xiàn),負責(zé)處理業(yè)務(wù)邏輯;視圖包括一組JSP文件,這些文件主要由JSP標簽或客戶化標簽構(gòu)成,它
15、簡化了JSP頁面的編碼工作;在Struts框架中控制器主要包括ActionServlet類和Action類,ActionServlet是Struts的核心部件,它接受用戶的Http請求,根據(jù)配置信息將請求轉(zhuǎn)發(fā)給適當?shù)腁ction對象,Action類負責(zé)調(diào)用模型的方法,并幫助控制應(yīng)用程序的流程;Struts包括Web.xml和Strutsconfig.xml兩個配置文件,其中Web.xml是Web應(yīng)用的發(fā)布描述文件,Strutsconfig.xml是與Struts相關(guān)的特殊信息配置的描述文件。3 需求分析網(wǎng)上書店系統(tǒng)主要是實現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。一個典型的網(wǎng)上商城一般都需要實現(xiàn)
16、商品信息的動態(tài)展示、購物車管理、客戶信息注冊登錄管理、訂單處理等模塊。3.1 可行性分析開發(fā)任何一個基于計算機的系統(tǒng)都會受到時間和資源的限制。因此在開發(fā)軟件項目之前,必須根據(jù)可利用的時間和資源等條件進行可行性研究??尚行匝芯抗ぷ鞯闹饕蝿?wù)不是研究如何解決問題,而是要用最小的代價在最短的時間內(nèi)確定該項目是否具有開發(fā)的可行性。(1)技術(shù)可行性:本網(wǎng)站嚴格按照MVC設(shè)計模式來開發(fā),采用JSP、Struts2、Spring和Hibernate等一些JAVA Web相關(guān)技術(shù)實現(xiàn)。Java語言是一種優(yōu)秀的編程語言。它最大的優(yōu)點就是與平臺無關(guān),在Windows 、Linux以及其它平臺上,都可以使用相同的代
17、碼。“一次編寫,到處運行”的特點,使其在互聯(lián)網(wǎng)上廣泛采用。JSP+JavaBeans幾乎可以在所有平臺上通行無阻,從一個平臺移植到另外一個平臺,JSP和JavaBeans甚至不用重新編譯。除此之外Java語言還提供了一些有用的新特性,使得使用Java語言比C+語言更容易寫出“無錯代碼”。(2)經(jīng)濟可行性:選擇圖書做本購物系統(tǒng)的主打商品,因為圖書屬于折扣大利潤豐厚的商品,而且網(wǎng)上書店不需要門面等成本開銷,故大大降低其價格。加之傳遞方便、耐存儲,故網(wǎng)上賣書具有比傳統(tǒng)書店更大的成本優(yōu)勢。有較大的客戶群,本網(wǎng)站的商品主要為各類教材,銷售對象主要是學(xué)生,故存在很大的市場。3.2 系統(tǒng)需求分析通過對系統(tǒng)的
18、分析及對其他網(wǎng)店的參考,基本確定了“網(wǎng)絡(luò)書城”的基本功能以及基本性能的基本需求。3.2.1 功能需求這方面的需求指定系統(tǒng)必須提供的服務(wù),通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能。(1)圖書查詢:當客戶進入網(wǎng)上書店時,應(yīng)該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時也應(yīng)該提供按照圖書名稱,或者作者名稱快速查詢所需書目信息的功能。(2)購物車管理:當客戶選擇購買某圖書產(chǎn)品時,應(yīng)該能夠?qū)?yīng)圖書信息,例如:價格、數(shù)量記錄到購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當對購物訂單生成后,應(yīng)該能夠自動清除以生成訂單的購物車中的信息。(3)訂單處理:對應(yīng)客戶購
19、買圖書商品信息的需求,在確定了所購圖書商品的價格、數(shù)量等信息后,提示用戶選擇對應(yīng)的送貨方式及付款方式,最終生成對應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進行后續(xù)的出貨、送貨和處理。(4)會員注冊:為了能夠?qū)崿F(xiàn)圖書商品的購買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點等相關(guān)信息。3.2.2 性能需求指定系統(tǒng)必須滿足的定時約束或容量約束,通常包括速度(響應(yīng)時間)、信息量速率、主存容量、磁盤容量、安全性等方面的要求。(1)用戶在客戶端點擊存在服務(wù)器中的主頁時,系統(tǒng)能快速響應(yīng)。(2)在安全性方面,Java程序要滿足客戶傳輸信息的基本安全。3.3 數(shù)據(jù)流程分析3.3.1 頂層數(shù)據(jù)流圖說明:未注冊用戶通過注
20、冊后可以登錄到前臺進行購書,管理員通過登錄可以進入后臺進行管理。系統(tǒng)頂層數(shù)據(jù)流圖如下圖所示。圖2 系統(tǒng)頂層數(shù)據(jù)流圖3.3.2 第一層數(shù)據(jù)流圖前臺購書和后臺管理。根據(jù)頂層數(shù)據(jù)流圖,對前臺購書和后臺管理模塊作進一步分解,得到第一層數(shù)據(jù)流圖。(1)前臺購書用戶登錄后進行書籍瀏覽和查詢,對書籍信息有了一定了解后可根據(jù)自己的需求進行購書,購書后將所需書放入購物車,最終確定要購買的圖書,提交訂單,等待訂單的處理結(jié)果。系統(tǒng)第一層數(shù)據(jù)流圖(前臺購書)如下圖所示。圖3 系統(tǒng)第一層數(shù)據(jù)流圖(前臺購書)(2)后臺管理管理員可以登錄到后臺,查看相關(guān)的訂單信息,然后修改訂單的信息,主要是審核訂單的有效性。系統(tǒng)第一層數(shù)據(jù)
21、流圖(后臺管理)如下圖所示:圖4 系統(tǒng)第一層數(shù)據(jù)流圖(后臺管理)3.3.3 第二層數(shù)據(jù)流圖用戶登錄處理。為保證數(shù)據(jù)的有效和客戶的管理,系統(tǒng)必須登錄后才能進行購買圖書的相關(guān)操作,登錄是系統(tǒng)安全和數(shù)據(jù)有效性驗證的第一部分。系統(tǒng)第二層數(shù)據(jù)流圖(用戶登錄)如下圖所示:圖5 系統(tǒng)第二層數(shù)據(jù)流圖(用戶登錄)4 系統(tǒng)總體設(shè)計4.1 系統(tǒng)設(shè)計目標本系統(tǒng)設(shè)計的目標是提高軟件的質(zhì)量與生產(chǎn)率,最終實現(xiàn)軟件的工業(yè)化生產(chǎn)。質(zhì)量是軟件需求方最關(guān)心的問題,用戶即使不圖物美價廉,也要求個貨真價實。生產(chǎn)率是軟件供應(yīng)方最關(guān)心的問題,老板和員工都想用更少的時間掙更多的錢。質(zhì)量與生產(chǎn)率之間有著內(nèi)在的聯(lián)系,高生產(chǎn)率必須以質(zhì)量合格為前提
22、。如果質(zhì)量不合格,對供需雙方都是壞事情。從短期效益看,追求高質(zhì)量會延長軟件開發(fā)時間并且增大費用,似乎降低了生產(chǎn)率。從長期效益看,高質(zhì)量將保證軟件開發(fā)的全過程更加規(guī)范流暢,大大降低了軟件的維護代價,實質(zhì)上是提高了生產(chǎn)率,同時可獲得很好的信譽。質(zhì)量與生產(chǎn)率之間不存在根本的對立,好的軟件工程方法可以同時提高質(zhì)量與生產(chǎn)率。4.2 系統(tǒng)模塊設(shè)計4.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)總體結(jié)構(gòu)設(shè)計確定軟件由哪些模塊組成以及這些模塊之間的動態(tài)調(diào)用關(guān)系。網(wǎng)上書店不是一個簡單的概念 ,它包含了許多個內(nèi)容,是由多個頁面組成的一個整體的系統(tǒng)。(1)在操作性方面,采用圖形用戶界面技術(shù),使系統(tǒng)能夠有多重圖形窗口和豐富便利的操作界面
23、 ,通過鼠標或鍵盤的操作 ,為用戶提供最簡潔的使用方法。(2)在系統(tǒng)開放性方面,按照軟件工程開發(fā)規(guī)范實現(xiàn)系統(tǒng)的開放性,既便于擴充又便于升級,以適用今后其他人的借鑒需求。(3)在系統(tǒng)和數(shù)據(jù)的安全性方面,系統(tǒng)采用數(shù)據(jù)庫級用戶權(quán)限和應(yīng)用程序級運行權(quán)限的雙重控制機構(gòu),提供了統(tǒng)一的基于角色的用戶管理手段,具有完善的系統(tǒng)和數(shù)據(jù)安全的保障體系。根據(jù)MVC的設(shè)計思想,可以得出如圖所示的系統(tǒng)結(jié)構(gòu)設(shè)計圖。圖6 系統(tǒng)結(jié)構(gòu)設(shè)計圖4.2.2 系統(tǒng)模塊設(shè)計網(wǎng)上書店系統(tǒng)主要是實現(xiàn)以下兩個功能:一是客戶在網(wǎng)上查書,選書,購書和產(chǎn)生訂單等功能。二是后臺的圖書管理功能,包括圖書種類的管理和圖書的管理。一個典型的網(wǎng)上書店一般都有需
24、要實現(xiàn)商品信息的動態(tài)展示,購物車管理,會員管理(包括會員信息注冊)和訂單處理等模塊。根據(jù)需求分析可以分為五大功能模塊,如圖所示:該網(wǎng)站的功能模塊如下表所示:表1 網(wǎng)站的功能模塊功能模塊功能概述圖書信息管理該模塊實現(xiàn)依據(jù)書名或作者的信息來對圖書信息的快速搜索,也提供圖書書目信息的分類查詢,顯示功能。此外,在用戶選擇了對應(yīng)書目信息后,還可以顯示出有關(guān)該圖書的詳細信息,以便客戶能更詳細的了解所購買的商品。購物車管理用于維護每一個進入網(wǎng)上書店的客戶對應(yīng)的購物車,也就是將客戶所選購的圖書商品信息記錄到對應(yīng)的購物車里,以便于生成訂單。會員管理實現(xiàn)網(wǎng)上書店客戶信息的注冊及身份驗證。由于目前網(wǎng)上商城普遍采用的
25、方式為送貨上門或者郵寄,因此需要收集與客戶相關(guān)的真實姓名,通信地址和聯(lián)系方式等信息。訂單管理實現(xiàn)根據(jù)客戶購物車中的商品信息,以及客戶所選擇的送貨方式和付款方式連同客戶對應(yīng)的個人信息一同生成訂單,以便后面進行送貨處理。圖書管理該模塊是后臺管理模塊,實現(xiàn)進入后臺頁面的身份驗證,圖書類型的添加,刪除及對應(yīng)類型下圖書信息的發(fā)布,刪除等功能。5 系統(tǒng)詳細設(shè)計5.1 系統(tǒng)功能模塊設(shè)計本網(wǎng)站系統(tǒng)包括兩大部分,前臺和后臺。用戶只能使用前臺的各項功能包括注冊、登錄、購物、收藏、瀏覽書籍信息等;后臺只有管理員才能使用,對網(wǎng)站進行綜合管理使其動態(tài)更新。下圖為系統(tǒng)前臺主要業(yè)務(wù)流程與系統(tǒng)前臺主要業(yè)務(wù)流程:圖7 系統(tǒng)前臺
26、主要業(yè)務(wù)流程圖8 系統(tǒng)后臺主要業(yè)務(wù)流程5.1.1 用戶登錄模塊這里介紹用戶登錄的程序設(shè)計思路,數(shù)據(jù)庫中存放有用戶的基本信息,用戶在網(wǎng)站中輸入相關(guān)信息,通過匹配檢測,便可以知道數(shù)據(jù)的有效性。下面是登錄程序流程圖,如下圖所示:圖9 登錄程序流程圖5.1.2 用戶注冊模塊注冊模塊,會出現(xiàn)在很多程序中,這里借鑒了其他注冊程序的流程。注冊模塊的核心思想是向數(shù)據(jù)庫中輸入數(shù)據(jù),并且數(shù)據(jù)要不能重復(fù),下面是注冊模塊的程序流程圖如下圖所示:圖10 注冊程序流程圖5.1.3 管理員功能模塊網(wǎng)站管理員登錄到管理員界面后,可以對圖書數(shù)據(jù)進行添加,修改,刪除操作,管理圖書信息,方便管理員和用戶瀏覽圖書信息,管理員可以添加
27、需要上架的新書以不斷的補充書店的圖書,讓書店的圖書更加豐富,對于已經(jīng)明顯顯示出下滑趨勢的圖書,管理員可以進行刪除處理,之后用戶便不能再看到該書的信息。管理員可以添加公告信息等。5.1.4 圖書信息管理模塊該模塊實現(xiàn)依據(jù)書名或作者的信息來對圖書信息的快速搜索,也提供圖書書目信息的分類查詢,顯示功能。此外,在用戶選擇了對應(yīng)書目信息后,還可以顯示出有關(guān)該圖書的詳細信息,以便客戶能更詳細的了解所購買的商品。主要分為兩大部分,圖書展示和圖書查詢。(1)圖書展示數(shù)據(jù)庫準備。圖書展示和圖書查詢是將網(wǎng)上書店中的圖書有序地羅列出來。該操作涉及到es_bookshop數(shù)據(jù)庫中的es_book數(shù)據(jù)表。下面是圖書展示
28、設(shè)計流程圖,如下圖所示:圖11 圖書展示設(shè)計流程圖(2)圖書查詢圖書查詢在網(wǎng)上書店中也是一項很重要的功能,主要幫助用戶快速地找到想要購買的圖書。再一個規(guī)模較大的書城中,如果沒有這項功能,用戶很難找到所需要的圖書,那么這個網(wǎng)上書城的吸引力將會因此大大降低。同時好的搜索功能將會帶來更多的用戶青睞。為適合不同的擁護的需求,本次采用模糊查詢的方法為用戶提供方便的圖書查詢。數(shù)據(jù)庫準備。查詢圖書模塊的目的是為了幫助用戶快速找到想要購買的圖書。由于用戶對書城中的圖書情況不可能十分清楚,因此采用了模糊查詢的方法,只要用戶輸入了相關(guān)的少量信息就可以查詢到相應(yīng)的結(jié)果。該操作涉及到es_bookshop數(shù)據(jù)庫中的e
29、s_book數(shù)據(jù)表。另外在模糊查詢時使用了數(shù)據(jù)庫系統(tǒng)的like運算符。處理邏輯。處理過程首先建立數(shù)據(jù)庫連接,打開es_book數(shù)據(jù)表,并按照用戶指定的方式和關(guān)鍵字信息將es_book 數(shù)據(jù)表中滿足要求的圖書信息顯示出來。為了適合用戶的不同要求,本次提供了四種查詢方法,可按照書名、出版社、作者、ISBN等方式查詢,并且查詢方法采用模糊查詢的方法,這樣用戶在輸入查詢信息時只需輸入部分信息即可。5.1.5 購物車管理模塊購物車管理用于維護每一個進入網(wǎng)上書店的客戶對應(yīng)的購物車,也就是將客戶所選購的圖書商品信息記錄到對應(yīng)的購物車里,以便于生成訂單。本次將以session技術(shù)、cookie技術(shù)來實現(xiàn)購物車
30、。(1)優(yōu)點占用系統(tǒng)資源少,我們可以把數(shù)據(jù)庫安置在一臺電腦中,Web服務(wù)器安置在另一電腦中,系統(tǒng)資源充分發(fā)揮。購物車中數(shù)據(jù)可以得到有效保留,我們可以試想一客戶在購物時,突然某其他原因(死機等原因)離開了購物站,他在購物車中數(shù)據(jù)有效保留下來,他下次登錄時購物車中還有上次保留的數(shù)據(jù),避免用戶再次選購商品的操作(此功能只對登錄用戶的購物車有效),要是用會話實現(xiàn)購物車,所有用戶一旦離開站點,他的購物車中數(shù)據(jù)全部失效。(2)實現(xiàn)數(shù)據(jù)庫及 session準備。購物車是網(wǎng)上書城必需的一項功能。主要用于記錄客戶購買的圖書編號、書名、出版社、作者、數(shù)量、單價等信息,并且應(yīng)該計算出總價及打折后應(yīng)付的金額,以便用戶
31、隨時掌握自己的購買信息。本系統(tǒng)實現(xiàn)購物車時使session技術(shù)和數(shù)據(jù)庫。對于用戶的購買信息主要用session來記錄,購買結(jié)束后再一起提交到數(shù)據(jù)庫中,另打折信息是由數(shù)據(jù)庫統(tǒng)一管理的,它是和圖書入庫一起完成的。這里要注意的是購物車也可以不使用session,而直接把信息寫到數(shù)據(jù)庫中,這樣做比較簡單,但由于每次選購都要將信息寫入數(shù)據(jù)庫中,這樣將給服務(wù)器帶來很大的負擔(dān)。如果有很多用戶同時在購書,就很容易使服務(wù)器癱瘓。所以基于以上考慮,我們采用session對象。購物車功能定義。購物車是客戶在書店中實施購買活動的輔助工具,購物車性能的優(yōu)劣在某種程度上也會影響購買者的購買情緒和行為。因此在設(shè)計購物車時不
32、僅要考慮功能的多樣性也要考慮購物車的實用性。本次對購物車的功能如下功能:1)存放客戶選好的圖書2)可以隨時改變是否要購買3)可以隨時改變購買的數(shù)量 4)可以顯示目前購物車中的圖書的金額處理邏輯。在購物車信息顯示頁面中,將顯示客戶所選的圖書信息,在該頁面中,客戶可以指定選購數(shù)據(jù)量,也可以將對應(yīng)商品從購物車中刪除。此外,在該頁面中也可以返回數(shù)目顯示頁面繼續(xù)購物,或者清空整個購物車。如果用戶確定購物車信息后,可以單擊【提交訂單】,進入訂單確認頁面,選擇送貨方式以及付款方式。下面是購物車程序流程圖,如下圖所示:圖12 購物車程序流程圖5.1.6 訂單管理模塊實現(xiàn)根據(jù)客戶購物車中的商品信息,以及客戶所選
33、擇的送貨方式和付款方式連同客戶對應(yīng)的個人信息一同生成訂單,以便后面進行送貨處理。(1)cookie信息及數(shù)據(jù)庫準備生成訂單是購書者購書的最后一步了。為了將圖書送到客戶手中,必須要求客戶輸入自己的信息(包括送貨信息)本次在處理購書信息時采用cookie保存客戶的注冊信息,還有一些客戶的信息在填寫訂單時一并完成的。購書結(jié)帳時會涉及到多個數(shù)據(jù)表的操作,如es_book表、es_order表、es_orderItem表。(2)處理邏輯在該頁面中,客戶可以依據(jù)表單提示,選擇送貨方式和付款方式,確認對應(yīng)選擇后,單擊【確認】進入訂單確認頁面??蛻舸_認訂單對應(yīng)的信息后,再單擊【生成訂單】,將生成客戶這次購買圖
34、書的訂單。如果成功則跳轉(zhuǎn)到訂單成功生成頁面,一次購物過程基本完成,如單擊【返回購物車】則可以繼續(xù)選購其他圖書。下面是生成訂單流程圖,如下圖所示:圖13 生成訂單流程圖本模塊是系統(tǒng)的核心,主要負責(zé)訂單的審查,是訂單的流程最后一個環(huán)節(jié),也是最重要的一個環(huán)節(jié)。書店的任何數(shù)據(jù)都和訂單數(shù)據(jù)有直接或者間接的關(guān)系,有效的訂單和書店的經(jīng)濟利益有直接的關(guān)系,收入和支出都是由訂單引起的。程序當中也嚴格限制數(shù)據(jù)的有效性,無效數(shù)據(jù)不會錄入到數(shù)據(jù)庫中。5.1.7 添加圖書模塊該模塊是后臺管理模塊,實現(xiàn)進入后臺頁面的身份驗證,圖書類型的添加,刪除及對應(yīng)類型下圖書信息的發(fā)布,刪除等功能。該頁面具有權(quán)限,只有管理員可以進入,
35、普通客戶沒有此權(quán)限。(1)數(shù)據(jù)庫準備圖書管理模塊的目的是為了實現(xiàn)網(wǎng)上書店中圖書信息的添加,修改及刪除。該操作涉及到es_bookshop數(shù)據(jù)庫中的es_book數(shù)據(jù)表和es_category數(shù)據(jù)表。(2)數(shù)據(jù)處理邏輯該頁面進入時會彈出登錄對話框,只有正確的管理員姓名和密碼才可進入。進入頁面后,管理員可以根據(jù)書店的圖書情況對所有圖書進行添加,修改或刪除。下面是圖書管理流程圖,如下圖所示:圖14 圖書管理流程圖5.1.8 圖書查詢模塊該模塊實現(xiàn)依據(jù)書名或作者的信息來對圖書信息的快速搜索,也提供圖書書目信息的分類查詢,顯示功能。此外,在用戶選擇了對應(yīng)書目信息后,還可以顯示出有關(guān)該圖書的詳細信息,以便
36、客戶能更詳細的了解所購買的商品。主要分為兩大部分,圖書展示和圖書查詢。(1)圖書展示數(shù)據(jù)庫準備。圖書展示和圖書查詢是將網(wǎng)上書店中的圖書有序地羅列出來。該操作涉及到es_booshop數(shù)據(jù)庫中的 es_book數(shù)據(jù)表。下面是圖書展示設(shè)計流程圖,如下圖所示:圖15 圖書展示設(shè)計流程圖(2)圖書查詢圖書查詢在網(wǎng)上書店中也是一項很重要的功能,主要幫助用戶快速地找到想要購買的圖書。在一個規(guī)模較大的書城中,如果沒有這項功能,用戶很難找到所需要的圖書,那么這個網(wǎng)上書城的吸引力將會因此大大降低。同時好的搜索功能將會帶來更多的用戶青睞。為適合不同的擁護的需求,本次采用模糊查詢的方法為用戶提供方便的圖書查詢。數(shù)據(jù)
37、庫準備。查詢圖書模塊的目的是為了幫助用戶快速找到想要購買的圖書。由于用戶對書城中的圖書情況不可能十分清楚,因此采用了模糊查詢的方法,只要用戶輸入了相關(guān)的少量信息就可以查詢到相應(yīng)的結(jié)果。該操作涉及到es_bookshop數(shù)據(jù)庫中的es_book數(shù)據(jù)表。另外在模糊查詢時使用了數(shù)據(jù)庫系統(tǒng)的like運算符。處理邏輯。處理過程首先建立數(shù)據(jù)庫連接,打開es_book數(shù)據(jù)表,并按照用戶指定的方式和關(guān)鍵字信息將es_book 數(shù)據(jù)表中滿足要求的圖書信息顯示出來。為了適合用戶的不同要求,本次提供了四種查詢方法,可按照書名、出版社、作者、ISBN等方式查詢,并且查詢方法采用模糊查詢的方法,這樣用戶在輸入查詢信息時
38、只需輸入部分信息即可。5.2 數(shù)據(jù)庫設(shè)計5.2.1 數(shù)據(jù)庫的需求分析依據(jù)網(wǎng)上書店的處理需求,對應(yīng)數(shù)據(jù)表的設(shè)計及功能如下:(1)買家表:存放書店客戶的基本信息。(2)圖書分類表:存放網(wǎng)上書店所提供圖書分類的信息。(3)圖書表:存放網(wǎng)上書店所銷售圖書的基本信息。(4)訂單表:存放與客戶相關(guān)的訂單的基本信息。(5)訂單項表:存放訂單中訂單項的基本信息。5.2.2 數(shù)據(jù)庫的邏輯設(shè)計根據(jù)以上需求分析,在確定了各個表主鍵字段的基礎(chǔ)上,依據(jù)表與表之間相關(guān)字段之間的聯(lián)系建立了各表之間的關(guān)系,對應(yīng)的關(guān)系圖如圖所示:Es_useruserId bigint loginName varchar(128) passw
39、ord varchar(32) email varchar(128) nickName varchar(128) question varchar(128) answer varchar(128) addressId varchar(32),address varchar(128) telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigintlastModifiedTimestamp bigin
40、tEs_bookbookId bigint bookName varchar(128) author varchar(128),number int,originalPrice Decimal(10,2) realPrice Decimal(10,2) publisher varchar(256)description text coverImagePath varchar(256) createdTimestamp bigint lastModifiedTimestamp bigint categoryId bigint Es_orderorderId bigint orderNo varc
41、har(128) status smallint description varchar(128) amount Decimal(10,2) number int createdTimestamp bigint lastModifiedTimestamp bigint userId bigint receiptAddressId bigintEs_categorycategoryId bigint superior bigint booksNum bigintcategoryName varchar(128) createdTimestamp bigint lastModifiedTimest
42、amp bigint lastModifierId bigintlastModifierName varchar(128)orderNo int Es_orderItemorderItemId bigint number int amount Decimal(10,2) orderId bigint圖16 數(shù)據(jù)庫邏輯圖其中圖書表中的分類編號“categoryId”與圖書分類表中的“categoryId”為相關(guān)字段。訂單表中的“orderId”與訂單項表中的“orderId”是相關(guān)字段,而訂單表中的“userId”與買家表中的“userId”相關(guān)。5.2.3 創(chuàng)建數(shù)據(jù)表腳本在基本的數(shù)據(jù)表的結(jié)構(gòu)確
43、定后,就可以在mysql中完成數(shù)據(jù)表的創(chuàng)建工作,下面給出建立對應(yīng)數(shù)據(jù)表的SQL腳本。(1)買家信息表:create table es_user(userId bigint auto_increment primary key not null,loginName varchar(128) not null unique,password varchar(32) not null,email varchar(128) unique,nickName varchar(128) comment 昵稱,question varchar(128) comment 密保問題,answer varchar(
44、128) comment 密保答案,addressId varchar(32),address varchar(128) comment 記錄省市,telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigint not null,lastModifiedTimestamp bigint not null);(2)圖書分類表:create table es_category(categoryId b
45、igint auto_increment primary key not null,superior bigint,booksNum bigint,categoryName varchar(128) not null unique,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,lastModifierId bigint,lastModifierName varchar(128),orderNo int);(3)書籍信息表:create table es_book(bookId bigint auto
46、_increment primary key not null,bookName varchar(128) not null,author varchar(128),number int,originalPrice Decimal(10,2) comment 原價,realPrice Decimal(10,2) comment 實價,publisher varchar(256),description text comment 簡介,coverImagePath varchar(256) comment 封面圖,createdTimestamp bigint not null,lastModi
47、fiedTimestamp bigint not null,categoryId bigint not null comment 所屬分類);(4)訂單表:create table es_order(orderId bigint auto_increment primary key not null,orderNo varchar(128) comment 訂單號,status smallint not null comment 1、未付款;2、等待發(fā)貨;3、已發(fā)貨;4、已收貨,description varchar(128) comment 訂單描述,amount Decimal(10,2)
48、 comment 總額,number int not null comment 數(shù)量,各訂單項中數(shù)量總和,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,userId bigint not null comment 用戶,receiptAddressId bigint comment 收貨地址);(5)訂單項表:create table es_orderItem(orderItemId bigint auto_increment primary key not null,number int comm
49、ent 數(shù)量,amount Decimal(10,2) comment 金額,orderId bigint not null comment 訂單); 6 系統(tǒng)測試6.1 配置測試環(huán)境(1)JDK下載和安裝:第一步:進入SUN公司JAVA的JDK 1.5版本免費安裝程序,下載主頁地址:單擊download,進入下載協(xié)議,選擇接受協(xié)議。第二步:JDK安裝程序:我安裝的是: j2sdk-1_5_0-windows-i586-p.exe第三步:安裝JDK的目錄,在些設(shè)為e:jdk(2)TOMCAT下載和安裝:第一步:登陸 http:/jakarta-第二步:下載tomcat程序。安裝的是:jakar
50、ta-tomcat-5.0.19第三步:在安裝tomcat時,要選擇custom形式第四步:安裝tomcat時,目錄設(shè)為e:tomcat(3)在安裝完JDK和tomcat后,要設(shè)置“控制面板”中的系統(tǒng)特性中的環(huán)境變量:增加變量CLASSPATH,它里面的內(nèi)容為:e:jdklibtools.jar;e:jdklibdt.jar圖17增加變量JAVA_HOME,內(nèi)容為:e:jdk圖186.2 測試結(jié)果測試結(jié)果如下各界面所示:圖19 首頁顯示圖 圖20 商城書籍列表圖圖21 圖書詳細信息圖圖22 購物車信息圖23 查詢結(jié)果圖24 登錄頁面圖25 注冊頁面圖26 確認訂單圖27 買家付款圖28 訂單列
51、表圖29 訂單詳情結(jié) 論本設(shè)計實現(xiàn)了在Struts框架下,開發(fā)一個網(wǎng)上書店系統(tǒng)。網(wǎng)上書店主要包括前臺客戶操作和后臺管理員管理兩部分。前臺客戶操作主要實現(xiàn)用戶的注冊和登錄,按分類瀏覽圖書,對圖書進行評論,使用購書幫助文檔,查看購物車,下訂單,查看訂單,修改用戶個人資料,修改用戶密碼等。后臺管理主要實現(xiàn)對數(shù)據(jù)庫中的書籍信息,用戶信息以及訂單信息的維護。經(jīng)過多日的開發(fā),本網(wǎng)站的建設(shè)基本完成,各項功能也能夠正常使用,但是由于能力和時間有限,所以該系統(tǒng)還有許多不盡如人意的地方,比如說功能不夠豐富,沒有對部分功能進行細化,對數(shù)據(jù)的安全性考慮不多等,這些都有待改進。此次設(shè)計過程真的讓我受益匪淺:(1)學(xué)到了
52、很多新知識,并且對老知識進行了回顧。經(jīng)過長時間的學(xué)習(xí),更進一步熟悉了Java語言。(2)通過不斷上機實驗,調(diào)試程序,總結(jié)經(jīng)驗,從對課題的不理解到能夠開始動手去做,提出問題并自己想辦法解決問題,增強了動手能力。(3)提高了中、英文資料的檢索能力。這次畢業(yè)設(shè)計過程中我查閱了很多資料,不但有圖書館的期刊、雜志、館藏圖書,還有網(wǎng)絡(luò)中的電子文檔、電子書籍及視頻教學(xué)課程;不但有中文資料還有英文資料。這些資料,使我的眼界更加開闊,對課題的認識更加深刻,編寫程序時的思路更加清析,少走了很多彎路?;仡欉@個設(shè)計過程,我學(xué)到了許多書本上沒有學(xué)到的知識。不僅豐富了自己的實踐技能,擴展了本專業(yè)的知識面,同時也體驗到了軟
53、件開發(fā)時的無窮樂趣。在以后的生活和工作中,我一定會更加努力,實現(xiàn)自己的人生價值!參考文獻1孫衛(wèi)琴.精通Struts:基于MVC的JavaWeb設(shè)計與開發(fā).北京:電子工業(yè)出版社,2004.112萬峰科技.JSP網(wǎng)站開發(fā)四“酷”全書:新聞、論壇、電子商城、博客.北京:電子工業(yè)出版社,2005.93張桂元,賈燕楓.Struts開發(fā)入門與項目實踐.北京:人民郵電出版社,2005.12 4孫衛(wèi)琴.Tomcat與Java Web開發(fā)技術(shù)詳解.北京:電子工業(yè)出版社,2003.115吳其慶.Java模塊設(shè)計實例經(jīng)典.北京:冶金工業(yè)出版社,2004.6 6美坎瓦思(Cavaness,c.)著,孫江宏,楊繼萍譯.Jakarta Struts編程.北京:清華大學(xué)出版社,2004.47美James Turner,美Kevin Bedell著,孫勇譯.Struts kick start中文版.北京:電子工業(yè)出版社, 20048 美Deitel H.M.,Deitel P.J.Listfield J.A.等著. Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國汽輪機市場運行動態(tài)及行業(yè)投資潛力預(yù)測報告
- 2025年車尾導(dǎo)風(fēng)板行業(yè)深度研究分析報告
- 二零二五年度酒吧文藝表演藝人合作范本3篇
- 二零二五年度酒店裝修大理石材料采購合同4篇
- 2025年度水利設(shè)施安全監(jiān)控系統(tǒng)維護與防洪預(yù)警合同2篇
- 2025年中國脊柱類植入耗材行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報告
- 2019-2025年中國智慧環(huán)保市場深度調(diào)研分析及投資前景研究預(yù)測報告
- 二零二五年度汽車維修店面經(jīng)營管理合同4篇
- 2025年度陵園墓位銷售管理合同3篇
- 2025年中國美妝新零售行業(yè)市場前景預(yù)測與投資戰(zhàn)略規(guī)劃分析報告
- 項目績效和獎勵計劃
- 光伏自發(fā)自用項目年用電清單和消納計算表
- 量子計算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺歷史文化名城保護規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 實體瘤療效評價標準RECIST-1.1版中文
- 企業(yè)新春茶話會PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計算方法
- DIC診治新進展課件
評論
0/150
提交評論