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