

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢 業(yè) 設 計</b></p><p> 題 目: 在線交易平臺設計與實現</p><p> 院、 系: 計算機科學與技術學院 計算機系</p><p> 姓 名: </p><p> 指導教師: </p><p
2、> 系主任: </p><p> 2010年6月23日</p><p> 畢業(yè)設計(論文)評語</p><p> 畢業(yè)設計(論文)任務書</p><p> 在線交易平臺設計與實現</p><p><b> 摘 要</b></p><p&g
3、t; 隨著Internet技術的飛速發(fā)展,人們的生活和Internet的關系越來越密切,如何通過Internet抓住商機成為擺在人們面前的一個重要話題。電子商務代表著未來貿易方式的發(fā)展方向,其應用和推廣將給社會和經濟帶來極大的效益。因此,一個能夠實現在線購物功能的系統(tǒng)的開發(fā)就成了當務之急。</p><p> 本購物系統(tǒng)是一個基于Internet,采用B2C(Business to Consumers)模式,并
4、根據現有的網上購物系統(tǒng)的現狀而設計開發(fā)的電子商務平臺。它不但可以擴大商家的規(guī)模和市場影響力,而且可以減少企業(yè)的經營成本,提高工作效率。為用戶提供了會員注冊,購物車管理,商品搜索,用戶資料修改等功能。</p><p> 本文主要介紹該系統(tǒng)是如何實現,并詳細介紹了系統(tǒng)分析、系統(tǒng)設計和數據庫設計的一些思路和方法。另外,在系統(tǒng)設計這一章節(jié)作者列出了實現在線購物過程的詳細流程。該系統(tǒng)憑借WEB服務器和客戶的瀏覽器,利用電
5、子工具高效率、低成本的特點,為客戶提供交易平臺、在Internet上發(fā)布商業(yè)信息,使用戶可以查閱商品、搜索商品、訂購商品,為客戶提供全天候的、更好、更快的商務活動空間。</p><p> 關鍵詞 電子商務;在線購物;JavaWeb</p><p> Design and Implementation of Online Trading </p><p><
6、;b> Abstract</b></p><p> With the fast development of the Internet technology, the relationship between people’s life and Internet is becoming more and more intimate. How to grasp commercial oppor
7、tunity through the Internet is becoming an important topic. The E-Commerce represent the developing direction of the future type of trading. It’s application and popularization will bring great benefit to the society and
8、 economic. So,the development of a system which is able to implement online shopping is becoming an immediate</p><p> The system has mainly provided users with the following functions: membership registrat
9、ion、shopping car management、goods search、information modify etc. It has also provided managers with goods management、customer information management、news management 、ad management and so on. It has been designed with B/S
10、 mode of three-tier structure, JSP technology in dynamic page design. Considering from the security and reusing code of the system, key codes has been secured by JavaBean technology. MySQL dat</p><p> The p
11、aper mainly introduced this, detailed introduced some thoughts and method of system analysis,system design and database analysis.Besides,in the chapter of system design,author listed the detailed algorithm of how to impl
12、ement online shopping.The system rely on Web server and client’s broswer,making use of the electronic instrument’s characteristics of high-efficiency and low-cost,providing a trading flat for client,release bussiness inf
13、ormation in the Internet,enable the user to look up, se</p><p> Keywords E-Commerce;Online Shopping;JavaWeb</p><p><b> 目 錄</b></p><p><b> 摘 要I</b>&l
14、t;/p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p> 1.1 選題目的和意義1</p><p> 1.2 國內外文獻綜述2</p><p> 1.3 論文研究內容3</p><p> 第2章 需求分析
15、4</p><p><b> 2.1 引言4</b></p><p> 2.1.1 背景分析4</p><p> 2.1.2 術語定義4</p><p> 2.2 任務概述5</p><p> 2.3 可行性分析5</p><p> 2.3.1 社會
16、可行性5</p><p> 2.3.2 經濟可行性6</p><p> 2.3.3 技術可行性6</p><p> 2.4 系統(tǒng)功能分析6</p><p> 2.5 本章小結6</p><p> 第3章 系統(tǒng)設計7</p><p> 3.1 總體結構設計7</p&
17、gt;<p> 3.2 系統(tǒng)架構設計7</p><p> 3.3 設計目標與用例分析10</p><p> 3.3.1 設計目標10</p><p> 3.3.2 用例分析10</p><p> 3.4 模塊功能詳細設計11</p><p> 3.4.1 權限管理模塊功能設計11
18、</p><p> 3.4.2 商品顯示模塊功能設計15</p><p> 3.4.3 交易模塊功能設計18</p><p> 3.4.4 搜索模塊功能設計21</p><p> 3.4.5 商品討論模塊功能設計21</p><p> 3.5 數據庫數據設計22</p><p&g
19、t; 3.5.1 數據庫主要實體類圖22</p><p> 3.5.2 數據主要實體描述24</p><p> 3.6本章小結26</p><p> 第4章 系統(tǒng)實現27</p><p> 4.1 總體實現27</p><p> 4.2 后臺邏輯實現28</p><p>
20、 4.2.1 持久層實現28</p><p> 4.2.2 事務處理28</p><p> 4.2.3 業(yè)務邏輯層實現29</p><p> 4.2.4 控制層實現29</p><p> 4.3 主要模塊功能實現29</p><p> 4.3.1 權限管理模塊實現29</p>&l
21、t;p> 4.3.2 商品顯示模塊實現30</p><p> 4.3.3 交易模塊功能實現30</p><p> 4.3.4 搜索模塊功能實現31</p><p> 4.3.5 商品討論模塊功能實現31</p><p> 4.3.6 其他功能實現31</p><p> 4.4 部分頁面展示
22、32</p><p> 4.5本章小結35</p><p> 第5章 系統(tǒng)測試36</p><p> 5.1 測試用例設計與測試用例的運行過程及測試結果分析36</p><p> 5.1.1 模塊測試36</p><p> 5.1.2 集成測試36</p><p> 5.1
23、.3 驗收測試37</p><p><b> 5.2 評價37</b></p><p> 5.3本章小結37</p><p><b> 結論38</b></p><p><b> 致謝39</b></p><p><b>
24、參考文獻40</b></p><p><b> 附錄41 </b></p><p><b> 第1章 緒論</b></p><p> 1.1 選題目的和意義</p><p> 隨著中國市場經濟的日趨成熟和計算機技術和網絡技術的發(fā)展,人們對信息的獲知程度和廣度都提出了更高的要求
25、。尤其是近年來,商品的種類變得五花八門,人們在采購貨物的時候對商品類別、型號、用途的要求也各不相同,如果采用傳統(tǒng)的將各種類別不同型號的商品都配送至每個可能需要該商品的地區(qū),就會增加很多配送方面的成本;同時,買家必須到商店里面去親自選購所需的商品也是傳統(tǒng)購物方式的弊端。因此網上購物這種新的商業(yè)運營模式就被越來越多的商家運用到競爭中去,并得到了大多數客戶的認可,這種基于瀏覽器、服務器實現的購物方式已經初具規(guī)模,一些在線購物網站的成立,改變了
26、人們以往傳統(tǒng)的購物觀念。</p><p> 圖1-1是根據CNNIC(中國互聯網絡信息中心)公布的中國B2C電子商務發(fā)展報告來進一步分析目前的網上購物的現狀(主要引用其中的關于進行網絡購物原因的分析圖表)。 </p><p> 圖1-1網絡購物原因調查圖表</p><p> 從圖1-1可以看出網上購物選擇節(jié)約時間和操作方便的分別占46.7%和44.2%,這說明
27、隨著生活節(jié)奏的加快,人們越來越希望擁有簡單快捷的購物方式。因此,一個允許買家在家里就可以瀏覽商家發(fā)布的所有商品信息的在線購物系統(tǒng)將大大減輕商家的工作量、降低投資成本。</p><p> 本系統(tǒng)是結合當前傳統(tǒng)購物方式消耗大量人力物力的弊端、以當前市場上已經存在的B2C、C2C等在線購物網站為模型,開發(fā)出適合于大部分中小型企業(yè)以及個體用戶的網上購物系統(tǒng)。該系統(tǒng)是在學習Java Web相關知識的基礎上,熟悉MyEcl
28、ipse開發(fā)環(huán)境并能熟練使用Java編程語言的同時,運用軟件工程理論知識,開發(fā)出的一套基于Java Web的在線購物系統(tǒng)。在系統(tǒng)開發(fā)的過程中能夠應用所學的知識,并促進本人更深入的學習Java Web的相關特性、積累更多MySQL的相關應用知識,這樣不僅能將所學的書面知識和實際應用結合起來達到學以致用的目的,同時也為以后的工作和學習積累經驗[1]。 </p><p> 1.2 國內外文獻綜述</p>
29、<p> 在線交易平臺即是電子商務中的一個分支,學界普遍認為,電子商務最早產生于60年代,發(fā)展于90年代。近30年來,計算機的處理速度越來越快,處理能力越來越強,價格越來越低,應用越來越廣泛,這為電子商務的應用提供了基礎;由于INTERNET逐漸成為全球通信與交易的媒體,全球上網用戶呈級數增長趨勢,快捷、安全、低成本的特點為電子商務的發(fā)展提供了應用條件;信用卡以其方便、快捷、安全等優(yōu)點而成為人們消費支付的重要手段,并由此形
30、成了完善的全球性信用卡計算機網絡支付與結算系統(tǒng),使"一卡在手,走遍全球"成為可能,同時也為電子商務中的網上支付提供的重要的手段;1997年5月31日,由美國VISA和Mastercard國際組織等聯合指定的SET(Secure Electronic Transfer Protocol)即電子安全交易協議的出臺,以及該協議得到大多數廠商的認可和支持,為在開發(fā)網絡上的電子商務提供了一個關鍵的安全環(huán)境;自1997年歐盟發(fā)布
31、了歐洲電子商務協議,美國隨后發(fā)布"全球電子商務綱要"以后,電子商務受到世界各國政府的重視,許多國家的政府開始嘗試"網上采購",這為電子商務的發(fā)展提供了有利的支持。</p><p> 電子商務作為一種新型的交易方式,將生產企業(yè)、流通企業(yè)以及消費者和政府帶入了一個網絡經濟、數字化生存的新天地;在電子商務環(huán)境中,人們不再受地域的限制,客戶能以非常簡捷的方式完成過去較為繁雜的商務
32、活動,如通過網絡銀行能夠全天侯地存取資金帳戶、查詢信息等,同時使得企業(yè)對客戶的服務質量可以大大提高;電子商務能夠規(guī)范事務處理的工作流程,將人工操作和電子信息處理集成為一個不可分割的整體,這樣不僅能提高人力和物力的利用,也可以提高系統(tǒng)運行的嚴密性;在電子商務中,安全性是一個至關重要的核心問題,它要求網絡能提供一種端到端的安全解決方案,如加密機制、簽名機制、安全管理、存取控制、防火墻、防病毒保護等等,這與傳統(tǒng)的商務活動有著很大的不同;商務活
33、動本身是一種協調過程,它需要客戶與公司內部、生產商、批發(fā)商、零售商間的協調,在電子商務環(huán)境中,它更要求銀行、配送中心、通訊部門、技術服務等多個部門的通力協作,往往電子商務的全過程是一氣呵成的。</p><p> 關于電子商務方面,我參考查閱了《國際電子商務概論》、《電子商務營銷案例》、《網上開店行銷指南》、《電子商務導論》、《電子商務萬事通》、《電子商務基礎》、《電子商務教程》、《電子商務原理》、《中國電子商務
34、發(fā)展研究報告》等電子書籍、文獻,還查看了"電子商務直通車網"和"電子商務研究網",這些的內容涵蓋了電子商務的產生、發(fā)展、概念、性質、目標和任務、作用、地位、特點、功能并提供了許多相關電子商務的案例。讓我了解到了近現代電子商務理論和實踐的基本內容和發(fā)展狀況,深刻認識到電子商務的重要性,為論文的寫作奠定了理論基礎。</p><p> 1.3 論文研究內容</p>
35、<p> 本論文主要研究在線交易平臺如何設計并使用JavaWeb實現。</p><p> 現在流行的網上購物系統(tǒng)不僅要有漂亮的網頁,更要有嚴謹的規(guī)劃,注重每一個細小的環(huán)節(jié),這樣才能使得在電子交易時避免不必要錯誤發(fā)生。本系統(tǒng)將使用HTML、JSP等技術來編輯網頁,并運用Hibernate把數據庫和動態(tài)網頁相關聯。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數據庫中,這種方
36、法在數據量不大時有很多的應用場合。當數據量比較大,并且有較強的專業(yè)性時,錄入的費用和出錯的可能性都相應上升。本設計在實際應用中的解決方案是建立網站,以及自己的數據庫,使得所需商品信息可以及時的保存、更新,可以更好的及時了解商品買賣的情況。</p><p><b> 第2章 需求分析</b></p><p><b> 2.1 引言</b><
37、;/p><p> 本系統(tǒng)使用Struts2+Hibernate3+Ajax+J2EE技術完成的一個網上在線購物系統(tǒng),模仿新豆網(xindou.com)制作完成,該項目主要完成在線購物平臺的設計與實現。</p><p> 2.1.1 背景分析</p><p> 電子商務的出現,是網絡經濟對我們現存經濟社會的體制挑戰(zhàn),尤其是對企業(yè)傳統(tǒng)的宣傳、經營模式和理念將會造成強烈
38、的沖擊。企業(yè)運營模式的各種問題都一個個的滋生出來,給企業(yè)帶來了經營上的各種匱乏,乃至企業(yè)覆滅的沉重代價;如果企業(yè)能有效解決這些問題,在網絡構建全球市場競爭的平臺上,企業(yè)的優(yōu)勢則會無限地放大,使企業(yè)從降低成本、有效商業(yè)信息、高效商業(yè)決策和加快產品流通等方面都會得到長足的發(fā)展。</p><p> 真正的電子商務解決方案應是基于客戶網下現有的資源,為客戶建立一整套的網上商業(yè)模式。而建立網站只是用技術的手段使已定的商業(yè)
39、模式在網上得以實現。</p><p> 面對對網站開發(fā)擁有不同知識層面的客戶,項目的負責人對用戶需求的理解程度在很大程度上決定了此類平臺實現的成敗。因此如何更好地的了解、分析、明確用戶需求,并且能夠準確、清晰以文檔的形式表達給參與項目開發(fā)的每個成員,保證開發(fā)過程按照滿足用戶需求為目的正確項目開發(fā)方向進行,是每個網站開發(fā)項目管理者需要面對的問題,也是需求分析的目的所在。</p><p>
40、 2.1.2 術語定義</p><p> 1. Java是由Sun Microsystems公司于1995年5月推出的一種程序設計語言和該語言平臺的總稱[2]。</p><p> 2. 面向對象是程序設計中采用封裝、繼承、抽象、多態(tài)等設計方法[3]。</p><p> 3. servlet是一種服務器端的Java應用程序,具有獨立于平臺和協議的特性,可以生成動
41、態(tài)的Web頁面。</p><p> 4. JSP是Java Server Pages的簡寫,是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。</p><p> 5. AJAX是Asynchronous JavaScript and XML的簡寫,異步JavaScript和XML,AJAX并非縮寫詞,而是由Jesse James Gaiiett創(chuàng)
42、造的名詞,是指一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術[5]。</p><p> 6. Struts最早是作為Apache Jakarta項目的組成部分,是目前非常流行的一種動態(tài)web開源框架技術[6]。</p><p> 7. Hibernate是一個開放源代碼的對象關系映射框架,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。</p><p>
43、8. Browser/Server,瀏覽器/服務器,簡稱B/S。 </p><p> 9. Client/Server,客戶端/服務器,簡稱C/S。 </p><p> 10.Business to Business(B2B)商家對商家,電子商務的一種業(yè)務形式。 </p><p> 11.Business to Consumer(B2C)商家對顧客,電子商務的
44、一種業(yè)務形式。 </p><p> 12.Consumer to Consumer(C2C)顧客對顧客,電子商務的一種業(yè)務形式。 </p><p><b> 2.2 任務概述</b></p><p> 任務目標:實現在線交易網站,可以使用戶方便,輕松的進行購物(買家)、討論、評價等和發(fā)布自己的商品(網站使用者)、信息、公告等。</p
45、><p><b> 用戶特點:</b></p><p> 買家特點:買家都喜歡便宜,關心商品的質量,怕買到的是假貨、次貨,但是網絡購物只能看圖片,看評論,看說明,看買過的人評價。這方面要給買家提供詳細的信息。圖片有大中小縮略圖、商品各種評價、打分、討論、排行等,給買家一個最好的用戶體驗。</p><p> 賣家特點(站長):及時的宣傳自己新商
46、品,熱賣商品等,讓用戶知道自己的商品,對于某些商品盡快脫銷,需要促銷活動等,都需要使買家盡快知道這些消息等。這方面要給賣家(站長)提供大量新聞,廣告信息(宣傳自己商品),在首頁使用公告,排行等方式醒目的顯示給買家。</p><p><b> 2.3 可行性分析</b></p><p> 可行性分析主要包括社會可行性、經濟可行性、技術可行性。</p>
47、<p> 2.3.1 社會可行性</p><p> 首先從當前社會商業(yè)市場運作情況來看,商業(yè)企業(yè)在運營的過程中,經常會受到以下一些條件的限制:</p><p> 1. 產品的宣傳受到限制,采購商或顧客只能通過上門咨詢、電話溝通等方式進行各種信息的獲取,受到一定的時間與物理空間的局限并且成本較高,龐大的商業(yè)經濟周轉。</p><p> 2. 復雜的產
48、品周轉渠道:從看樣品、談價格到支付貨款等一系列的產品周轉渠道過于復雜,企業(yè)與客戶之間缺乏一個全面的溝通與快捷運營的平臺系統(tǒng);商業(yè)企業(yè)中根據季節(jié)的變化,熱銷商品在銷售高峰到來時貨源緊張,企業(yè)需要實時了解商品的銷售情況,保證熱銷商品的要貨滿足率。</p><p> 基于商家在傳統(tǒng)銷售模式中遇到的以上困難,作者擬開發(fā)在線購物系統(tǒng)。商家在使用該系統(tǒng)后,只需將需要推廣的產品信息錄入數據庫,即可達到向購買者推銷的目的,節(jié)省
49、了大量的人力資源。同時可以根據在線購物的多少、實時查看庫存信息,實現商品周轉渠道的最簡潔化。因此,在社會方面,本系統(tǒng)的開發(fā)是可行的。</p><p> 2.3.2 經濟可行性</p><p> 由于使用開源框架開發(fā)本系統(tǒng),且在windows操作系統(tǒng)下完成本系統(tǒng)的開發(fā),所以開發(fā)成本僅為作者的時間,并未投入其他物質成本。且在傳統(tǒng)的銷售模式中,企業(yè)要投入大量的人力物力用于商品的配送,并且還不
50、能有效做到合理的供貨。而本系統(tǒng)為商家提供了隨時隨地查看所有商品信息的功能,是商家在短時間內充分了解當前市場貨物的供需情況,從而制定合理的配送計劃,達到配送成本最小化、供貨效率最大化。這樣就能為企業(yè)節(jié)約大量的人力資源投入,本系統(tǒng)的未來前景美好。所以在經濟方面,該系統(tǒng)的開發(fā)是可行的。</p><p> 2.3.3 技術可行性</p><p> Struts2、Hibernate3、Ajax
51、、JSP等技術比較成熟,常見功能可以輕易實現,且對windows系統(tǒng)有良好的支持,開發(fā)環(huán)境容易搭建,后期部署方便;該系統(tǒng)開發(fā)完成后在1024*768的瀏覽器下能夠達到最佳的瀏覽效果,在其他分辨率下亦不影響系統(tǒng)的正常功能;另外需要瀏覽該系統(tǒng)的計算機聯入Internet,而這些方面在當前條件下是完全能夠實現的,所以在技術方面,該系統(tǒng)的技術是可行的。</p><p> 2.4 系統(tǒng)功能分析</p>&l
52、t;p> 商家具有通過本系統(tǒng)發(fā)布商品、發(fā)布公告、了解商品銷售情況、銷售趨勢,與買家互動等功能。滿足賣家快速及時的出售自己商品的需求。</p><p> 買家具有注冊、方便的瀏覽、查詢、購買、討論和評價商品等功能。滿足買家購買到自己喜歡合適的商品需求。</p><p> 根據在線購物的邏輯過程,同時參考、分析目前市場上已有的在線購物網站,本系統(tǒng)的主要功能需求分為權限管理、商品展示
53、、交易、商品搜索和商品討論五大模塊。各個功能均參考當前互聯網主流門口網站實現的功能。</p><p> 權限管理模塊包含登錄、登出、查看用戶信息、以及增刪查改的功能;</p><p> 商品顯示模塊包含商品的分類查看、查詢、訂購功能;</p><p> 交易模塊包含購物車中商品的添加、刪除,修改,訂單生成等功能;</p><p> 商
54、品搜索模塊包含根據商品名稱、分類、品牌搜索詳細商品信息功能;</p><p> 商品討論模塊模擬論壇實現的,包含商品討論,打分,關注等功能。</p><p><b> 2.5 本章小結</b></p><p> 本章主要介紹了背景分析、術語定義、可行性分析與功能分析,從需求上確定了系統(tǒng)開發(fā)的主要功能模塊,從技術上確定了系統(tǒng)需要用到的編程語
55、言和開發(fā)環(huán)境等,為后續(xù)設計與實現奠定基礎。</p><p><b> 第3章 系統(tǒng)設計</b></p><p> 本章的總體目標是將上一章需求分析階段得到的功能需求轉換為詳細的業(yè)務邏輯模型,具體將從系統(tǒng)的結構設計和數據庫設計兩方面進行設計,即根據上一章節(jié)中需求分析的”做什么”,確定系統(tǒng)應該”怎么做”。</p><p> 3.1 總體結構設
56、計</p><p> 系統(tǒng)結構和功能是系統(tǒng)設計的核心部分,通過系統(tǒng)結構圖可以清楚的看出整個系統(tǒng)的結構。針對每個結構模塊分別做分析,為以后的設計和實現打下基礎。根據功能需求,根據在線購物的邏輯過程,同時參考、分析目前市場上已有的在線購物網站,本系統(tǒng)的主要功能需求分為權限管理、商品展示、交易、商品搜索和商品討論五大模塊。</p><p> 本系統(tǒng)開發(fā)的軟件模式選擇的是快速原型模式,因為本系
57、統(tǒng)模擬新豆網實現(主要模擬其業(yè)務流程),所以其原型選擇新豆網,大體功能(如商品交易,查詢等)即按其實現,對于當前新豆網不盡人意的地方,模擬當前互聯網其他網站主流實現方法實現。</p><p> 總體功能結構圖如圖3-1所示。</p><p> 3.2 系統(tǒng)架構設計 </p><p> 本系統(tǒng)采用4層架構的方式進行設計與實現,主要包括:表現層、控制層、業(yè)務層、持
58、久層[7],如圖3-2所示。</p><p> 表現層:主要負責用戶交互和結果顯示,交易系統(tǒng)和管理系統(tǒng)有不同的 URL 入口界面。該層業(yè)務展示主要使用JSP語言,為了加強用戶體驗度,使用JavaScript和Ajax異步與服務器交互,使用戶“無等待”交互。該層的美工布局使用div+css方式,使界面美觀舒適,便于觀看與操作。</p><p> 控制層:主要負責系統(tǒng)的訪問控制、數據處理和
59、注銷,是系統(tǒng)的核心控制單元??刂茖油ㄟ^系統(tǒng)描述來組織工作。 該層主要使用Struts2的過濾器作為核心控制器,控制請求跳轉與結果頁面渲染,有些功能使用攔截器實現,這種注入的方式方便擴展,加強了代碼的重用性,如權限判斷等的。</p><p> 業(yè)務層:實現了交易系統(tǒng)和管理系統(tǒng)的主要業(yè)務邏輯,是系統(tǒng)主要的運算單元。 該層主要使用service業(yè)務組件實現,即無狀態(tài)JavaBean,向后臺service調用持久層的d
60、ao方法操作數據庫,向前臺service提供接口供Struts2的action調用。</p><p> 持久層:實現了靜態(tài)數據和數據庫數據的持久化管理,為業(yè)務層提供數據服務,是系統(tǒng)進行數據操作的統(tǒng)一界面。 該層使用Hibernate管理JavaBean,使用面向對象的方法操作數據庫,為后期維護與擴展提供方便[11]。</p><p> 全局:使用log4j記錄日志,xml文件作為配置文
61、件,使用JavaMail處理所有郵件信息(由于沒有郵件服務器,該處模擬操作)。</p><p> 圖3-1 總體功能結構圖</p><p> 圖3-2 概要功能架構圖</p><p> 具體每層使用到的技術如圖3-3所示,Ajax使瀏覽器與服務器交互,并傳遞數據,所以Ajax同屬于顯示層與控制層。由于顯示層使用到了Struts的顯示標簽,所以Struts同屬于
62、顯示層與控制層。</p><p> 持久層雖然大部分使用Hibernate操作,但小部分功能使用JDBC靈活方便,所以部分持久層使用JDBC實現,其數據庫連接使用數據庫連接池,由JDK提供的線程池實現。</p><p> 圖3-3 技術架構圖</p><p> 3.3 設計目標與用例分析</p><p> 3.3.1 設計目標<
63、;/p><p> 本系統(tǒng)在設計時應該滿足以下幾個目標:</p><p> 1. 采用人機對話的操作方式,界面設計美觀友好。</p><p> 2. 信息查詢靈活、方便、快捷、準確、數據存儲安全可靠。</p><p> 3. 全面展示商城內所有商品,并可展示最新商品及特價商品。</p><p> 4. 用戶可選擇多
64、個商品進行比較。</p><p> 5. 會員可以隨時修改自己的會員資料。</p><p> 6. 實現網上購物。</p><p> 7. 各種商品排行,方便顧客了解本商城內的商品信息及幫助企業(yè)領導者做出相應的決策。</p><p> 8. 查看商城內的公告信息。</p><p> 9. 用戶隨時都可以查看自
65、己的訂單。</p><p> 10. 對用戶輸入的數據進行嚴格的數據檢驗,盡可能排除人為的錯誤。</p><p> 11. 系統(tǒng)最大限度地實現了易維護性和易操作性。</p><p> 12. 系統(tǒng)運行穩(wěn)定、安全可靠。</p><p> 13. 各處交易安全,不泄露用戶資料。</p><p> 3.3.2 用例
66、分析</p><p> 未登錄或登錄但未通過驗證的用戶具有登錄、注冊、瀏覽新聞公告、瀏覽論壇帖子、查看各種商品排行,瀏覽商品和商品詳細信息、搜索商品等功能,用例圖如圖3-4所示。</p><p> 圖3-4 未登錄或登錄用戶用例圖</p><p> 已登錄并通過驗證的用戶具有除注冊外其他所有非登錄用戶的功能,并額外具有論壇發(fā)帖、查看個人信息、個人資料修改、站內
67、發(fā)信、操作購物車、查看訂單、修改訂單、安全登出、商品打分等功能,用例圖如圖3-5所示。</p><p> 圖3-5 登錄用戶用例圖</p><p> 管理員具有普通會員的所有功能,且額外具有新聞管理,廣告管理,商品管理,會員管理等功能,用例圖如圖3-6所示。</p><p> 圖3-6 管理員用例圖</p><p> 3.4 模塊功能
68、詳細設計</p><p> 本系統(tǒng)分銷售模塊和系統(tǒng)管理模塊,每個模塊又有若干個子模塊構成,其中銷售模塊主要包括:商品展臺、購物車、會員管理、新聞管理、注銷登錄等子模塊。系統(tǒng)管理模塊主要包括:商品管理、訂單管理、會員管理、新聞管理、注銷登錄等子模塊。具體的模塊功能設計如下。</p><p> 3.4.1 權限管理模塊功能設計</p><p> 用戶權限功能用例圖
69、如圖3-7所示</p><p> 圖3-7 權限模塊用例圖</p><p><b> 主要用例說明:</b></p><p><b> 用例名稱:驗證郵箱</b></p><p> 用例描述:沒有通過驗證的用戶輸入驗證碼,激活郵箱驗證。</p><p> 前置條件:
70、用戶登錄且未通過驗證或用戶注冊后未驗證。</p><p> 后置條件:用戶通過郵箱驗證并加大權限。</p><p><b> 基本事件流:</b></p><p> 用戶登錄注冊郵箱,取得驗證碼。</p><p> 用戶處于驗證頁面,填入驗證碼,點擊提交。</p><p> 驗證碼不正確
71、,返回2;驗證碼正確,執(zhí)行后置條件。</p><p><b> 其他事件流:無。</b></p><p> 異常事件流:跳轉到錯誤頁顯示頁面,提示錯誤信息。</p><p><b> 注釋:無。</b></p><p> 主要功能詳細設計說明:</p><p> 1
72、. 注冊功能:提供瀏覽者注冊功能,注冊之后可以在網站選購商品到購物車,否則只能瀏覽商品信息而無法下達訂單。頁面使用Ajax技術,動態(tài)判斷用戶名是否已被占用,密碼,郵箱等是否符合格式等,友好的提示用戶,防止用戶提交信息失敗從而重新填寫大量的信息。注冊結束后在數據庫中存儲注冊信息,以加密的方式存儲,使用不可逆加密md5信息摘要與base64技術。用戶注冊序列圖如圖3-8所示。</p><p> 2. 注冊認證:激活
73、會員郵箱,只有激活郵箱的會員才能正常使用會員功能,否則只能等待激活郵箱。注冊后,會向會員郵箱發(fā)送一個郵件,郵件中含有激活碼,該激活碼使用uuid生成。激活成功后可以正常使用會員功能。</p><p> 3. 用戶登錄:針對已注冊的用戶設置,每個訪問者一次只能夠登陸一個賬戶。登錄成功后返回到主頁面查看商品,失敗則重新填寫。用戶登錄序列圖如圖3-9所示。</p><p> 4. 登出:注冊
74、用戶單擊“注銷”后實現安全退出。點擊注銷后清空session,清空cookie,返回到登錄頁面。</p><p> 圖3-8 用戶注冊序列圖</p><p> 圖3-9 用戶登錄序列圖</p><p> 6. 找回密碼:當已注冊用戶忘記密碼時可根據用戶名和驗證郵箱找回密碼,也可以通過密碼提示問題和答案找回密碼,不論何種方式找回密碼,只能以重設新密碼的方式重置密
75、碼,無法獲得舊密碼,因為為了安全性考慮,加密方式使用了MD5信息摘要這種不可逆的技術。</p><p> 7. 權限判斷功能:根據是否登錄和是否通過驗證郵箱判斷用戶權限,根據權限進行操作,如果權限不夠,則跳轉到對應頁面。該功能使用Struts2攔截器實現,在需要限定權限的功能前注入攔截器,如果權限足夠則通過,不足則返回到登錄界面,如果用戶登錄后權限仍然不足,則返回到驗證郵箱頁面。權限判斷詳細活動圖如圖3-10所
76、示。</p><p> 圖3-10 權限判斷活動圖</p><p> 3.4.2 商品顯示模塊功能設計</p><p> 商品顯示模塊功能及用例圖如圖3-11所示,詳細功能說明如下:</p><p> 1. 商品瀏覽:網站的首頁顯示出部分特價商品、新上架商品、促銷商品、店長推薦商品、關注商品榜、網站公告等,同時列出了網站發(fā)布的所有商品
77、類別導航樹。存儲使用request屬性范圍,所有信息以集合的方式存儲在request中。當用戶瀏覽1級分類時,使用樹形菜單形式顯示2級分類和3級分類。</p><p> 圖3-11 商品顯示模塊用例圖</p><p> 2. 商品詳細信息:根據商品的id,查詢數據庫,將商品的所有信息查詢并顯示給用戶,具體交序列如圖3-12所示。</p><p> 圖3-12
78、商品明細序列圖</p><p> 3. 商品分類顯示:根據商品的三級類別,顯示商品的概要信息,有分頁及排序功能,排序可按照名稱,價格,上架時間,人氣等。分類顯示序列圖如圖3-13所示。</p><p> 圖3-13 分類顯示序列圖</p><p> 4. 根據商品訂購信息展示銷售排行榜:根據購買者下訂單的情況,展示出當前網站中最暢銷的商品信息。首頁中顯示出各種
79、商品的排行榜,以List集合的方式存儲在request中。</p><p> 5. 新品上架:根據數據庫信息顯示出最近一周內上架的商品信息。首頁中顯示出各種新商品的排行榜,以List集合的方式存儲在request中。查詢時查詢一周內出現的新商品。</p><p> 6. 動態(tài)首頁:根據時間的不同,網站首頁將放置反映不同季節(jié)或不同銷售目的的圖片和廣告等。使用JavaScript,動感的顯
80、示一些廣告,新聞等。</p><p> 7. 首頁顯示動態(tài)新聞:在購物網站的首頁按照時間錄入先后順序顯示最近的新聞。在頁面左上角,顯示近期公告。</p><p> 3.4.3 交易模塊功能設計</p><p> 交易模塊功能及用例圖如圖3-14所示說明:</p><p> 圖3-14 交易模塊用例圖</p><p&
81、gt;<b> 主要用例說明:</b></p><p> 用例名稱:操作購物車</p><p> 用例描述:已登錄并通過驗證的用戶通過此用例對自己的購物車進行增刪改查操作。</p><p> 前置條件:用戶登錄并通過驗證。</p><p> 后置條件:更新購物車中的數據。</p><p>
82、;<b> 基本事件流:</b></p><p> 1.用戶點擊購物車按鈕,顯示原有購物車詳單信息。</p><p> 2.用戶操作購物車,刪除商品,修改購物車內商品數量,確定提交。</p><p> 3.執(zhí)行后置條件。</p><p> 其他事件流:登錄系統(tǒng)并通過驗證后,可以瀏覽商品并點擊購買按鈕,則商
83、品添加到購物車中并顯示購物車詳單。</p><p> 異常事件流:跳轉到錯誤頁顯示頁面,提示錯誤信息。</p><p><b> 注釋:無。</b></p><p><b> 用例名稱:商品交易</b></p><p> 用例描述:已登錄并通過驗證的用戶確認購買商品。</p>
84、<p> 前置條件:用戶登錄并通過驗證,購物車中有商品。</p><p> 后置條件:系統(tǒng)更新訂單信息,提示站長發(fā)貨。</p><p><b> 基本事件流:</b></p><p> 1.用戶處于購物車詳單頁面,點擊付款按鈕,跳轉到訂單生成頁面。</p><p> 2.用戶填入或選擇收貨地址,填
85、寫買家說明,選擇付款方式與銀行,點擊去付款按鈕,跳轉到模擬付款頁面。</p><p> 3.付款結束,跳轉到訂單詳單頁面。</p><p> 4.執(zhí)行后置條件。</p><p> 其他事件流:訂單生成與付款頁面,用戶隨時可以點擊“返回”按鈕,返回到購物車詳單頁面。</p><p> 異常事件流:跳轉到錯誤頁顯示頁面,提示錯誤信息。
86、</p><p><b> 注釋:無。</b></p><p><b> 詳細功能設說明:</b></p><p> 1. 購物車功能:已登錄的會員選中的商品都將暫時存放在購物車中,可通過查看購物車修改購買數量。如果用戶登錄了,且權限足夠,則點擊添加到購物車時,使用cookie添加信息,不訪問服務器,而只將商品的id
87、存儲在cookie中,操作cookie使用JavaScript實現,具體序列圖如圖3-15所示。</p><p> 圖3-15 修改購物車序列圖</p><p> 2. 訂單生成功能:根據購物車中的信息,生成訂單。生成訂單時根據cookie中的id信息,查找數據庫得到商品List,根據List計算價錢,生成訂單,具體交互圖如圖3-16所示。</p><p>
88、圖3-16 訂單生成交互圖</p><p> 3. 付款功能:根據訂單,用戶信息,付款方式等付款,該處不能連接真正的網上銀行,屬于模擬操作。</p><p> 4. 用戶管理自己的收貨地址,用戶可以有5個收貨地址,使用時可以選擇或重新填寫。在付款時選擇收貨地址、付款方式和郵遞方式。</p><p> 3.4.4 搜索模塊功能設計</p><
89、p> 圖3-17 商品搜索模塊用例圖</p><p> 商品搜索模塊包含根據商品名稱、分類、品牌搜索詳細商品信息功能,具體功能及用例圖如圖3-17所示。</p><p> 1. 根據輸入的商品名稱搜索商品,在主頁上即有搜索輸入框。主頁頭部使用Ajax添加搜索框,以下拉列表框形式展示商品類別,在搜索時根據類別,商品名搜索。始終顯示在所有的頁面之上。</p><
90、p> 2. 根據選擇的商品類別、品牌等,按對應方式搜索商品,同理如上。</p><p> 4. 列表的方式顯示出商品的全部類別,品牌等,同理如上。</p><p> 3.4.5 商品討論模塊功能設計</p><p> 圖3-18 商品討論模塊用例圖</p><p> 商品討論模塊功能及用例圖如圖3-18所示:</p>
91、;<p> 1. 給已經成功購買過的商品打分。</p><p> 2. 以論壇的形式討論商品,熱門商品開辟專區(qū)。</p><p> 3. 按照用戶發(fā)帖數量、質量,版主可以給予評分,按照用戶積分升級,獲得頭銜等。</p><p> 由于該系統(tǒng)目的是在線購物,所以商品討論簡要設計并實現,如果做一個論壇(bbs),該工程不小于電子商務,所以避免主次分
92、離,側重點放到了商品交易部分,而討論簡要設計與實現。</p><p> 3.5 數據庫數據設計</p><p> 3.5.1 數據庫主要實體類圖</p><p> 數據庫的表與實體類對應,字段與屬性對應,此處涉及的所有與數據庫有關的類都屬于POJO類,所以沒有業(yè)務方法,只有get和set方法[12]。以下列出主要實體類和實體類的主要屬性說明。</p>
93、;<p> 商品關聯實體類圖如圖3-19所示,詳細說明如下:</p><p> 圖3-19 商品關聯實體類圖</p><p> Product商品實體:商品名,商品類別,商品頂級id,是否推薦,品牌,型號,價格,贈送豆豆,是否促銷,搶購價,限購件數,截止時間,質保,備注,上架時間,簡介,規(guī)格,圖片,顏色,市場價格,購買人氣,瀏覽人氣,總分,外觀分,價格分,性能分。<
94、;/p><p> Photo圖片實體:圖片、說明。與商品一對一的關系。</p><p> Price價格實體:市場名、價格。與商品一對一的關系。</p><p> Color顏色實體:顏色名稱、圖片。每個商品可以有多個顏色的圖片,與商品多對一的關系。</p><p> Category分類實體:分類名、父類id、分類說明。每個分類中可以有
95、多個商品,每個商品若屬于某三級分類,必屬于其父級分類,所以與商品多對多關系。</p><p> Orders訂單實體:下單時間,狀態(tài),商品總金額,支付方式id,送貨方式id,運費,手續(xù)費,訂單總金額,使用豆豆數,應付金額,收貨id,是否需要發(fā)票,最佳收貨時間,發(fā)票抬頭,用戶留言,物流公司名稱,物流單號。一個訂單中可以有多個商品,與商品一對多的關系。</p><p> Brand品牌實體
96、:品牌英文名,品牌中文名,品牌大圖,品牌小圖,品牌介紹。一個商品對應一個品牌,與商品一對一關系。</p><p> 訂單關聯實體類圖如圖3-20所示,詳細說明如下:</p><p> 圖3-20 訂單關聯實體類圖</p><p> Sendway送貨方式實體:送貨方式,送貨描述,基本費用,到貨時間。一個訂單一種送貨方式,與訂單一對一關系。</p>
97、<p> Payway支付方式實體:支付名稱,支付介紹,手續(xù)費。一個訂單一種支付方式,使用一次付清方式,與訂單一對一關系。</p><p> ReceiveAddress收貨地址實體:收貨人姓名,所在地區(qū)省,市,區(qū),街道地址,郵政編碼,電話號碼,手機。一個訂單對應一個收貨地址,一對一關系。</p><p> User用戶實體類:主要屬性有用戶名,密碼,性別,昵稱,Emai
98、l,手機,聯系電話等。一個用戶可以有多個訂單,所以與訂單一對多關系。</p><p> 用戶關聯實體類圖如圖3-21所示,詳細說明如下:</p><p> ReceiveAddress收貨地址實體,一個用戶可以擁有多個收貨地址,與用戶多對一關系。</p><p> Post主題實體:主要屬性有主題類型、是否精華帖、執(zhí)行精華的用戶id、是否加亮顯示、加亮顯示顏色
99、、加亮的用戶id、是否置頂、置頂結束日期、置頂版塊區(qū)、置頂的用戶id、版塊id、是否投票、已投票的用戶等。一個用戶可以發(fā)表多個主題,與用戶多對一關系。</p><p> Transaction交易實體:商品id,顏色id,數量,金額小計,訂單id。與用戶多對一的關系。</p><p> Message消息實體:發(fā)送用戶名、接收用戶名、標題、內容、是否保存到發(fā)件箱、發(fā)送時間、消息狀態(tài)、消
100、息類型。與用戶多對一的關系。</p><p> 圖3-21 用戶關聯的實體類圖</p><p> 3.5.2 數據主要實體描述</p><p> 以下列出了一些重要的數據表與表中的主要字段。</p><p> 商品表(參見表3-1),商品價格表(參見表3-2),分類表(參加表3-3),訂單表(參見表3-4),會員表(參見表3-5),
101、公告表(參見表3-6)。</p><p> 表3-1 Product</p><p> 表3-2 Price</p><p> 表3-3 Category</p><p> 表3-4 Orders</p><p><b> 表3-5 User</b></p><p&g
102、t; 表3-6 Anncounce</p><p><b> 3.6本章小結</b></p><p> 本章詳細的設計了系統(tǒng)的各模塊的功能以及數據庫的設計和表的結構,確定了各個功能實現的方法,為下一章的代碼實施提供良好的邏輯模型。</p><p><b> 第4章 系統(tǒng)實現</b></p><p
103、><b> 4.1 總體實現</b></p><p> 系統(tǒng)實現使用Struts2框架,應用MVC分層設計思想,使用Model2的形式實現各個功能及顯示,流程如圖4-1所示。</p><p> M:模型,使用JavaBean方式,將數據庫每個表對應一個POJO類,使用Hibernate操作持久層數據庫,并將操作封裝到每個類的DAO中,供上層service調
104、用[4]。</p><p> V:顯示層,主要使用tiles框架實現,作為Struts2的插件,titles完美的應用了標簽+布局的方式,大大減少了重復代碼,并易于維護和修改,體現了軟件開發(fā)中的“開閉原則”和分層思想。</p><p> C:控制層,控制層使用Struts2,Struts2應用過濾器方式實現其控制,每個request請求發(fā)送給服務器時,先通過過濾器,找到對應的操作類,在
105、通過配置文件中指定的位置,渲染結果顯示給用戶,提供了很強的維護性與擴展性。</p><p> Ajax:頁面中大量使用Ajax交互技術,提高了用戶的體驗度,使用戶操作更加方便,使用更加舒適,雖然與服務器的交互增加,但是減少了頁面跳轉與重定向的次數,大大增加了用戶體驗[5]。</p><p> 前臺頁面主要由JSP實現;美工使用CSS;頁面控制使用JavaScript;異步交互使用Aja
106、x;頁面框架使用property。</p><p> 根據上一章節(jié)的功能分析中分析各個頁面中的數據。對于頁面中重復出現的數據,此處未必全部列出,由于頁面中大量使用Ajax技術,使用異步交互,提高用戶體驗,所以顯示uri的頁面非常少,也正是本系統(tǒng)的目的。用于Ajax交互的jsp頁面由于過于繁多且大量使用tag標簽技術,因本系統(tǒng)非美工系統(tǒng),故此處未提供全部.tag和.jsp文件。只列出含有uri的頁面,參見表4-1
107、所示。</p><p><b> 表4-1 UI頁面</b></p><p><b> 續(xù)表4-1</b></p><p> 4.2 后臺邏輯實現</p><p> 4.2.1 持久層實現</p><p> 持久層使用DAO分層模式,每個實體類均有其“實體名+Dao
108、”的類作為其操作底層數據庫的方法,操作方法使用Hibernate操作[9]。數據庫連接通過Hibernate工廠獲得,使用線程池[15],部分代碼參見附錄C。</p><p> 4.2.2 事務處理</p><p> 事務處理使用單線程Session方式,Session是Hibernate的事務會話,每次會話都采用新的Session,因為Session輕量級,占用資源小,并且可以確保事
109、務的原子性與一致性[9]。</p><p> Session工廠屬于重量級,創(chuàng)建與銷毀占用資源大,所以Session工廠使用單例模式創(chuàng)建,只創(chuàng)建一次,使用結束后不銷毀[11]。</p><p> Session獲得方法如下:</p><p> private static final ThreadLocal<Session> threadLocal
110、 = </p><p> new ThreadLocal<Session>();</p><p> public static Session getSession() </p><p> throws HibernateException {</p><p> Session session = (Session) th
111、readLocal.get();</p><p> if (session == null || !session.isOpen()) {</p><p> if (sessionFactory == null) {</p><p> rebuildSessionFactory();</p><p><b> }</b
112、></p><p> session = (sessionFactory != null) ?</p><p> sessionFactory.openSession(): null;</p><p> threadLocal.set(session);</p><p><b> }</b></p&
113、gt;<p> return session;</p><p><b> }</b></p><p> 4.2.3 業(yè)務邏輯層實現</p><p> 業(yè)務層使用service分層模式,調用持久層dao方法操作實體,由于service構造繁瑣,故service使用高級工廠模式創(chuàng)建其示例[10],主要代碼如下:</p&g
114、t;<p> package tarena.service;</p><p> public class ServiceFactory {</p><p> public static Object newInstance(String interfaceName) {</p><p><b> try {</b><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計—在線交易平臺的設計與實現
- 在線交易平臺設計與實現
- 畢業(yè)論文--jsp在線交易平臺的設計與實現
- 煤炭在線交易平臺的設計與實現.pdf
- 基于NGMC的在線交易平臺的設計與實現.pdf
- 二手書交易平臺的設計與實現-畢業(yè)設計
- 電子交易平臺的設計與實現
- 農產品交易平臺畢業(yè)設計
- 電子交易平臺的設計與實現.pdf
- 校園二手物品交易平臺的設計與實現畢業(yè)設計論文
- 畢業(yè)設計二手交易平臺的設計
- 網上圖書交易平臺畢業(yè)設計論文
- 校園二手物品交易平臺的設計與實現畢業(yè)設計論文
- 學生閑置物品交易平臺的設計與實現
- 量販交易平臺的設計與實現.pdf
- 銀行證券交易平臺的設計與實現.pdf
- 校園商品交易平臺的設計與實現.pdf
- 校園學生自助交易平臺的設計與實現.pdf
- 二手教科書交易平臺——教科書交易模塊---畢業(yè)設計論文
- 畢業(yè)答辯農副產品交易平臺的設計與實現
評論
0/150
提交評論