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