




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)軟件開發(fā)設(shè)計(jì)畢業(yè)論文目錄摘 要.IAbstract .II第1章緒 論1第2章系統(tǒng)分析.22.1需求分析22.2 可行性分析2第3章總體設(shè)計(jì).33.1項(xiàng)目規(guī)劃33.2訪問控制流程圖33.3功能結(jié)構(gòu)43.4用例描述5第4章系統(tǒng)設(shè)計(jì)134.1 設(shè)計(jì)目標(biāo)134.2 開發(fā)及運(yùn)行環(huán)境134.3 系統(tǒng)概要設(shè)計(jì)134.4 數(shù)據(jù)庫設(shè)計(jì)14第5章系統(tǒng)的實(shí)現(xiàn)175.1 登錄的實(shí)現(xiàn)175.2 會(huì)員注冊(cè)界面185.3 菜單顯示功能的實(shí)現(xiàn)195.4 商品瀏覽功能的實(shí)現(xiàn)215.5 熱銷圖書等功能的實(shí)現(xiàn)215.6 購物車功能的實(shí)現(xiàn)215.7 訂單的實(shí)現(xiàn)24第6章性能測(cè)試與分析276.1 測(cè)試環(huán)境276.2 測(cè)試流程276.3 測(cè)試數(shù)據(jù)的選擇與研究29結(jié)論30參考文獻(xiàn)31致謝3233第1章 緒論第1章 緒 論隨著經(jīng)濟(jì)的發(fā)展,經(jīng)濟(jì)逐步進(jìn)入網(wǎng)絡(luò)信息化時(shí)代。在信息時(shí)代來臨之季,各企業(yè)都緊跟時(shí)代的腳步,轉(zhuǎn)變著企業(yè)的經(jīng)營模式、管理模式,從傳統(tǒng)的人工管理體制,向信息自動(dòng)化管理體制過渡。與此同時(shí),企業(yè)的傳統(tǒng)式的辦公管理模式也在逐步向自動(dòng)化辦公管理模式轉(zhuǎn)變。網(wǎng)上交易系統(tǒng)也隨之興盛,正在一步一步進(jìn)入人們的生活。信息時(shí)代的到來讓人們嘗了“信息爆炸”的滋味,信息的大量擁入讓企業(yè)在信息處理方便應(yīng)接不暇,傳統(tǒng)的辦公模式、對(duì)信息的處理方法,早已不能滿足企業(yè)對(duì)信息快速、準(zhǔn)確的處理的要求。一個(gè)企業(yè)對(duì)信息數(shù)據(jù)的掌握程度、處理能力,體現(xiàn)了一個(gè)企業(yè)對(duì)市場(chǎng)的敏感程度,數(shù)據(jù)的真實(shí)性、準(zhǔn)確性直接決定著企業(yè)的發(fā)展方向。從一個(gè)傳統(tǒng)的面對(duì)面交易模式,轉(zhuǎn)向了虛擬的購物場(chǎng)景,更大程序的解決了空間、時(shí)間、路程等一系列問題,極大了擴(kuò)展的公司的業(yè)務(wù)范圍,擴(kuò)展了客戶量,并且同時(shí)也給了用戶的更多的選擇空間。當(dāng)當(dāng)網(wǎng)上書店在1999年11月成立,是全球最大的中文網(wǎng)上書店。當(dāng)當(dāng)是由美國IDG集團(tuán)、盧森堡劍橋集團(tuán)、日本軟庫(Softbank)和中國科文公司的共同投資,它的管理團(tuán)隊(duì)擁有很多年的圖書出版、零售、信息技術(shù)及市場(chǎng)營銷等經(jīng)驗(yàn)。當(dāng)當(dāng)對(duì)全世界中文讀者提供20多萬種中文圖書并且超過1萬種的音像商品,它每天為成千上萬的網(wǎng)上消費(fèi)者們提供方便、快捷的服務(wù),給網(wǎng)上購物者帶來很大的方便和實(shí)惠。當(dāng)當(dāng)一直肩負(fù)的使命是以世界上最全的中文圖書使得所有中文讀者獲得啟迪,得到教育,享受娛樂!為什么要選擇圖書作為主力商品呢?在中信出版社2000年出版的電子商務(wù)之父亞馬遜網(wǎng)絡(luò)書店傳奇的第20頁這樣寫道:電子商務(wù)之父全球的最大的網(wǎng)上商店亞馬遜網(wǎng)絡(luò)書店創(chuàng)辦人貝佐斯在選擇銷售的產(chǎn)品時(shí)就進(jìn)行調(diào)查,發(fā)現(xiàn)特別適合在網(wǎng)上銷售商品,書籍市場(chǎng)的潛力是最大的。我們準(zhǔn)備推出品牌的網(wǎng)上書店程序系統(tǒng),給有志致力于電子商務(wù)的客戶提供網(wǎng)上書店的解決方案。作為學(xué)習(xí)先進(jìn)IT技術(shù)的科技人員,我被基于這樣的靈感觸發(fā)了開始開發(fā)網(wǎng)上書店的項(xiàng)目。從一開始的懵懵懂懂,經(jīng)過逐步的調(diào)查、研究、了解,然后又通過在開發(fā)的過程中請(qǐng)教老師與同學(xué),直到后期的順利完成項(xiàng)目。這一路走來,自身的技術(shù)能力在很大程度上提高了,而且對(duì)自己以后的發(fā)展充滿了無限的信心。第2章 系統(tǒng)分析2.1 需求分析通過調(diào)查,要求系統(tǒng)需要有以下功能:由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面;管理系統(tǒng)用戶,由于系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理;商品詳細(xì)瀏覽信息服務(wù);熱銷商品展示;最新上架商品展示;編輯推薦商品展示;菜單功能的實(shí)現(xiàn);購物車功能的實(shí)現(xiàn);可以對(duì)數(shù)據(jù)進(jìn)行備份;在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好;對(duì)購物車?yán)锏男畔⑦M(jìn)行用戶的限制;2.2 可行性分析 1、經(jīng)濟(jì)性 經(jīng)濟(jì)可行性分析視該系統(tǒng)的應(yīng)用范圍而定,如果應(yīng)用于某一個(gè)城市,則可以使用單個(gè)程序服務(wù)器加一個(gè)或幾個(gè)數(shù)據(jù)庫服務(wù)器,加起來不過數(shù)萬元,這對(duì)于一個(gè)國有企業(yè)公司來說,完全沒有問題。該系統(tǒng)成本主要是集中在系統(tǒng)開發(fā)上。當(dāng)系統(tǒng)進(jìn)入運(yùn)行后,即可實(shí)現(xiàn)網(wǎng)上賣書功能,所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件開發(fā)的成本。在經(jīng)濟(jì)上是完全可行。 2、技術(shù)性 本系統(tǒng)擬采用B/S架構(gòu),用Jsp+struts2+Tomcat,這些技術(shù)已經(jīng)相當(dāng)成熟穩(wěn)定,同時(shí),需要考慮大量用戶同時(shí)查詢時(shí)的系統(tǒng)負(fù)載情況,所以系統(tǒng)反應(yīng)速度及數(shù)據(jù)庫查詢優(yōu)化必不可少。此網(wǎng)上書店系統(tǒng)可以運(yùn)行在Windows xp,Windows server 2000/2003,Windows vista操作系統(tǒng)。對(duì)計(jì)算機(jī)硬件配置沒有太高的要求,現(xiàn)在的個(gè)人電腦完全可以滿足。數(shù)據(jù)庫運(yùn)用MYSQL來實(shí)現(xiàn)。在網(wǎng)站設(shè)計(jì)方面,運(yùn)用HTML、JSP等知識(shí),利用PhotoShop圖像處理工具及Dreamweaver CS5制作出合理的網(wǎng)頁。3、 操作性界面設(shè)計(jì)充分考慮到瀏覽用戶的習(xí)慣,圖書信息瀏覽、會(huì)員注冊(cè)登錄、查看購物車等功能操作很方便。而且所有網(wǎng)頁設(shè)計(jì)的比較清新、簡(jiǎn)潔、合理,不會(huì)讓用戶感到視覺疲勞,可操作性很強(qiáng)。第3章 總體設(shè)計(jì)第3章 總體設(shè)計(jì)第3章 總體設(shè)計(jì)3.1 項(xiàng)目規(guī)劃網(wǎng)上商城電子購物系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫開發(fā)應(yīng)用程序,由商品瀏覽模塊、用戶管理模塊、訂單管理模塊組成,規(guī)劃系統(tǒng)功能模塊如下:1.商品瀏覽模塊:該模塊主要包括:編輯推薦、最新上架、熱銷圖書、最新上架熱賣、圖書詳細(xì)信息瀏覽、購物車。2.用戶管理模塊:該模塊主要包括:用戶注冊(cè)、用戶登陸、郵箱驗(yàn)證。3.訂單模塊:訂單信息顯示、添加訂單信息、生成訂單。3.2 訪問控制流程圖本系統(tǒng)的大體框架使用MVC模式,由控制層Action去掉用service的方法,再由service方法去掉dao里面的方法,由dao來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問,實(shí)現(xiàn)對(duì)程序的控制,使用這種方法的好處是,程序便于修改和維護(hù),可插拔性增強(qiáng)。其訪問控制流程如下圖(3-1)所示:圖3-1 訪問控制流程3.3 功能結(jié)構(gòu)程序結(jié)構(gòu)使用分模塊管理,實(shí)現(xiàn)了功能的主體分工,但各個(gè)模塊都有相互關(guān)聯(lián),這些關(guān)聯(lián)關(guān)系總體構(gòu)成此應(yīng)用程序。以下為整個(gè)系統(tǒng)的功能模塊圖3-2:商品預(yù)覽商品明細(xì)分類檢索購物車管理添加商品刪除列表恢復(fù)列表數(shù)量修改清空購物車結(jié)算GWAP通用WEB應(yīng)用平臺(tái)商品展示我的訂單訂單確認(rèn)訂單列表刪除訂單查詢明細(xì)用戶管理登入/登出用戶注冊(cè)圖3-2 系統(tǒng)功能模塊圖3.4 用例描述本節(jié)對(duì)系統(tǒng)的主要功能模塊(商品瀏覽、購物車實(shí)現(xiàn)、訂單交易實(shí)現(xiàn)、用戶管理)的各個(gè)子功能的用例分析進(jìn)行了詳細(xì)的描述,包括用例名稱、功能簡(jiǎn)述、前置條件、基本流程、分支與異常、后置條件、備注。其中:前置條件:是一個(gè)條件列表的集合,可以是一個(gè),也可以是多個(gè),表示在要進(jìn)行此功能之前,所要達(dá)到的一種條件或者狀態(tài)。 后置條件:是一個(gè)條件列表的集合,可以是一個(gè),也可以是多個(gè),表示在要此功能結(jié)束之后,后續(xù)所對(duì)應(yīng)所達(dá)到的條件?;玖鞒蹋褐饕窃谟美兴裱倪壿嬯P(guān)系。它控制著該過程的工作流程以及跳轉(zhuǎn)情況。分支與異常:在用例中,不同的業(yè)務(wù)邏輯關(guān)系,需要遵循不同的流程,所以它控制著程序的不同邏輯關(guān)系之間的流程。若在流程控制中,出現(xiàn)對(duì)于不符合主要業(yè)務(wù)邏輯關(guān)系的情況,稱之為異常。JAVA運(yùn)行機(jī)制中,異常主要為可恢復(fù)性異常和不可恢復(fù)性異常,也稱之為普通異常和系統(tǒng)異常。對(duì)于異常的處理,給用戶以友好的界面提示,在本程序的設(shè)計(jì)實(shí)現(xiàn)中,對(duì)于異常的處理,可恢復(fù)性異常,用捕捉進(jìn)行人工處理,給用戶以友好的提示,而不可恢復(fù)性異常,如數(shù)據(jù)庫服務(wù)沒有啟動(dòng)等,這類異常信息,處理方式為配置異常界面,進(jìn)行顯示,解決用戶體驗(yàn)度問題。 商品展示 商品預(yù)覽:用例描述其實(shí)現(xiàn)功能,在訪問請(qǐng)示地址時(shí),可以實(shí)現(xiàn)商品信息的查看,是交易系統(tǒng)的首頁面,交易所選商品的必要入口,以及交易功能進(jìn)行時(shí)的必要步驟。表3-1 商品預(yù)覽的用例描述Table 3-1 Use case description of goods preview用例名稱 商品預(yù)覽功能簡(jiǎn)述 交易系統(tǒng)首頁面 交易功能入口前置條件 應(yīng)用程序部署完成 Tomcat服務(wù)器正常啟動(dòng)基本流 商品展示瀏覽器訪問應(yīng)用程序(http:/localhost:8080/dandang/main/main.action) 顯示系統(tǒng)首頁面(商品瀏覽、交易功能入口)分支與異常 無后置條件 無備注 無 商品明細(xì): 對(duì)于感興趣的商品進(jìn)行詳細(xì)的信息查看,顯示出商品的細(xì)節(jié)信息。此功能的實(shí)現(xiàn),是商品瀏覽中的最后一個(gè)模塊,把商品的所有詳細(xì)信息查詢出來。表3-2 商品明細(xì)的用例描述Table 3-2 Use case description of goods detail用例名稱 商品明細(xì)功能簡(jiǎn)述 對(duì)感興趣的商品信息進(jìn)行詳細(xì)查看前置條件 進(jìn)入交易系統(tǒng)首頁面基本流 通過商品分類,來快速查找商品信息 選擇感興趣商品 顯示商品明細(xì)分支與異常 無后置條件 無備注 無 分類檢索: 不同商品信息有不同的分類,就是按照不同的類別進(jìn)行查看。在查看商品信息的同時(shí),還對(duì)商品的提供分類統(tǒng)計(jì)個(gè)數(shù)、分頁、商品檢索等功能。類別分一級(jí)總類別和二級(jí)子類類別。表3-3 分類檢索的用例描述Table 3-3 Classification retrieval use case descriptions用例名稱 分類檢索功能簡(jiǎn)述 按照類別顯示商品 提供分類統(tǒng)計(jì)、分頁、檢索功能前置條件 已經(jīng)發(fā)布了多種類別以上的商品 進(jìn)入交易系統(tǒng)首頁面基本流 選擇感興趣的一級(jí)類別顯示類別二級(jí)類別和統(tǒng)計(jì)、顯示類別下所有商品 對(duì)商品進(jìn)行分頁顯示、回到主類別分支與異常 無后置條件 無備注 無 購物車管理 添加商品:把對(duì)于感興趣的商品加入購物車,以繼續(xù)查看商品信息時(shí)保留感興趣的商品。表3-4 添加商品的用例描述Table 3-4 Add the use case description of goods用例名稱 添加商品功能簡(jiǎn)述 添加商品到購物車 添加完成自動(dòng)顯示購物車界面前置條件 已經(jīng)發(fā)布了多種類別以上的商品 進(jìn)入交易系統(tǒng)首頁面基本流 感興趣商品已經(jīng)選擇 用戶已經(jīng)登錄分支與異常 未登錄用戶,點(diǎn)擊“購買”后,進(jìn)入登錄頁面后置條件 無備注 只有登錄的注冊(cè)用戶才可以使用購物車 刪除列表: 把選擇的商品從購物車中放入待刪除區(qū)域,可以恢復(fù)。表3-5 刪除列表的用例描述Table 3-5 Delete the list of use case descriptions用例名稱 刪除訂單列表功能簡(jiǎn)述 刪除訂單中訂單列表 刪除后重新統(tǒng)計(jì)訂單金額前置條件 用戶已經(jīng)登陸 購物車不為空基本流 購物車中存在1條以上訂單列表選擇刪除 重新統(tǒng)計(jì)訂單金額分支與異常 刪除后,購物車中如果沒有訂單,不能顯示“結(jié)算”按鈕后置條件 無備注 無 恢復(fù)列表: 從待刪除商品中,把想要購買的商品恢復(fù)到購物車中。表3-6 恢復(fù)列表的用例描述Table 3-6 Return a list of use case descriptions用例名稱 恢復(fù)刪除的訂單列表功能簡(jiǎn)述 恢復(fù)刪除的訂單中的訂單列表 恢復(fù)后重新統(tǒng)計(jì)訂單金額前置條件 用戶已經(jīng)登陸 購物車中有已經(jīng)刪除得訂單列表基本流 購物車中存在不少于1條的商品信息選擇“恢復(fù)” 重新統(tǒng)計(jì)訂單金額分支與異常 無后置條件 無備注 無 修改數(shù)量: 對(duì)于感興趣的商品可以一次性購買多個(gè)。表3-7 修改數(shù)量的用例描述Table 3-7 Modify the number of the use case description用例名稱 修改數(shù)量功能簡(jiǎn)述 修訂訂單列表中商品數(shù)量 自動(dòng)統(tǒng)計(jì)訂單價(jià)格前置條件 用戶已經(jīng)登陸 購物車中至少有1條以上的數(shù)據(jù)基本流 輸入新的數(shù)量點(diǎn)擊修改后,重新計(jì)算訂單 訂單總額如果為零,訂單不能“結(jié)算”分支與異常 訂單總額為零,不能結(jié)算后置條件 無備注 無 清空購物車: 把購物車?yán)锩娴纳唐妨斜硇畔⑶蹇铡H糍徫镘囍袥]有商品信息,則不能清空購物車,對(duì)于購物車的清空操作,前提是已經(jīng)登錄的用戶,用于區(qū)分哪個(gè)是哪用戶清空的,避免了清空出錯(cuò)。表3-8 清空購物車的用例描述Table 3-8 Empty shopping cart use case descriptions用例名稱 清空購物車中商品功能簡(jiǎn)述 清空購物車中所有商品 清空后回到首頁面前置條件 用戶已經(jīng)登陸 購物車中有訂單列表基本流 首頁選擇“購物車”選擇“清空購物車” 返回首頁面,再次選擇“購物車”,顯示選購為空分支與異常 無后置條件 無備注 無 結(jié)算: 對(duì)于心經(jīng)登錄的用戶,已經(jīng)確認(rèn)購買的商品,進(jìn)行價(jià)格結(jié)算與支付。點(diǎn)擊結(jié)算后,會(huì)生成一個(gè)訂單確認(rèn),并且訂單的金額必須大于零。表3-9 結(jié)算商品的用例描述Table 3-9 Goods to the settlement of the use case description用例名稱 購物車中商品結(jié)算功能簡(jiǎn)述 購物車中商品結(jié)算前置條件 用戶已經(jīng)登陸 購物車中有訂單列表,金額總計(jì)大于零基本流 進(jìn)入購物車(確保購物車中訂單金額大于零)點(diǎn)擊“結(jié)算”分支與異常 無后置條件 無備注 無 我的訂單 訂單確認(rèn): 系統(tǒng)會(huì)依照購物車生成一個(gè)訂單,由用戶確認(rèn)訂單是否有誤。在這里,用戶是不能夠進(jìn)行修改訂單信息的,只可以核對(duì)訂單信息是否正確。核對(duì)正確無誤后,進(jìn)行下一步生成訂單,并且反饋訂單信息給用戶。表3-10 訂單確認(rèn)的用例描述Table 3-10 Use case description of order confirmation用例名稱 訂單確認(rèn)功能簡(jiǎn)述 訂單信息確認(rèn) 售貨信息確認(rèn)修改前置條件 訂單已經(jīng)“結(jié)算”基本流 進(jìn)入“訂單確認(rèn)”頁面修改“送貨地址” 生成訂單分支與異常 沒有登陸的用戶,到登陸頁面以及收獲信息輸入異常后置條件 無備注無 訂單列表: 顯示已經(jīng)有購買的訂單信息。顯示訂單的詳細(xì)信息,如總價(jià)、個(gè)數(shù)、商品信息,可以對(duì)已經(jīng)支付過的訂單進(jìn)行操作,操作為刪除、統(tǒng)計(jì)等。訂單的維護(hù),可以查看以往的購買情況,對(duì)以往的歷史記錄進(jìn)行詳細(xì)信息的查詢。表3-11 訂單列表的用例描述Table 3-11 The use case description of the order list用例名稱 訂單列表功能簡(jiǎn)述 顯示訂單列表信息 計(jì)算總價(jià),顯示個(gè)數(shù)等信息前置條件 已經(jīng)有購物記錄基本流 進(jìn)入“我的當(dāng)當(dāng)”頁面分支與異常 無后置條件 無備注 無 訂單刪除: 對(duì)于已經(jīng)確認(rèn)的訂單可以進(jìn)行刪除。刪除訂單必須先登錄,并且有購物記錄,對(duì)于不滿足條件的進(jìn)行信息提示。在刪除前,要對(duì)用戶進(jìn)行確認(rèn)提示,提示是否進(jìn)行刪除,刪除后無法恢復(fù)。以免誤刪記錄。表3-12 訂單刪除的用例描述Table 3-12 Order to remove the use case description用例名稱 訂單刪除功能簡(jiǎn)述 刪除購物訂單信息前置條件 已經(jīng)有購物記錄基本流 進(jìn)入“我的當(dāng)當(dāng)”頁面在要?jiǎng)h除訂單上,選擇“刪除”分支與異常 無后置條件 無備注 無 查詢明細(xì): 查詢訂單的商品列表詳細(xì)信息。對(duì)以往的購買記錄進(jìn)行詳細(xì)查詢,查看以往的當(dāng)當(dāng)價(jià)、商品定價(jià),以及優(yōu)惠情況。以方便用戶在購買同樣的商品時(shí),對(duì)以往價(jià)收貨地址等有一個(gè)詳細(xì)的了解。在明細(xì)中,最好是有圖表進(jìn)行統(tǒng)計(jì)顯示,讓用戶查看的更明顯直觀,由于時(shí)間等原因,在程序設(shè)計(jì)的時(shí)候,沒有進(jìn)行設(shè)計(jì),在以后的相關(guān)學(xué)習(xí)開發(fā)中,引入此功能,進(jìn)一步完善程序,提高其實(shí)用價(jià)值。表3-13 添加商品的用例描述Table 3-13 Add the use case description of goods用例名稱 訂單列表功能簡(jiǎn)述 顯示訂單列表信息 提供訂單刪除入口前置條件 已經(jīng)有購物記錄基本流 進(jìn)入“我的當(dāng)當(dāng)”頁面分支與異常 無后置條件 無備注 無 用戶管理 登入/登出:用戶登陸系統(tǒng)和退出系統(tǒng)的功能實(shí)現(xiàn)。表3-14 用戶登入登出的用例描述Table 3-14 User login logout the use case description用例名稱 登入/登出功能簡(jiǎn)述 已經(jīng)注冊(cè)并且通過郵箱驗(yàn)證的用戶登入 已經(jīng)登陸用戶登出前置條件 用戶已經(jīng)注冊(cè)并且通過郵箱驗(yàn)證基本流 由登陸頁面登陸功能進(jìn)入未登陸用戶“詳細(xì)信息”頁面登入 登入后頁頭提示分支與異常 未注冊(cè)用戶提示注冊(cè)后置條件 登入頁頭提示(歡迎信息),登出頁頭提示(登出入口)備注 無 用戶注冊(cè): 對(duì)于有興趣在此網(wǎng)站上購物的用戶提供注冊(cè)功能。表3-14 用戶登入登出的用例描述Table 3-14 User login logout the use case description用例名稱 用戶注冊(cè)功能簡(jiǎn)述 用戶注冊(cè) Email驗(yàn)證前置條件 系統(tǒng)不存在的用戶基本流 進(jìn)入注冊(cè)頁面,填寫基本信息 驗(yàn)證用戶名是否重復(fù)提交確認(rèn)Email信息輸入驗(yàn)證碼注冊(cè)分支與異常 用戶已經(jīng)不存在不選擇Email驗(yàn)證后置條件 無備注 無第4章 系統(tǒng)設(shè)計(jì)第4章 系統(tǒng)設(shè)計(jì)4.1 設(shè)計(jì)目標(biāo) 本系統(tǒng)主要實(shí)現(xiàn)以下目標(biāo):1、系統(tǒng)采用人機(jī)交互方式,界面清晰,信息傳輸靈活方便。2、鍵盤操作,快速靈活3、商品詳細(xì)瀏覽信息服務(wù)4、熱銷商品展示5、最新上架商品展示6、編輯推薦商品展示7、購物車功能的實(shí)現(xiàn)8、系統(tǒng)運(yùn)行穩(wěn)定,能有一定的基本的容錯(cuò)能力4.2 開發(fā)及運(yùn)行環(huán)境1、硬件平臺(tái): lenovo B4602、軟件環(huán)境: 操作系統(tǒng):windows7 數(shù)據(jù)庫:mysql 瀏覽器:IE8.0及以上、fixFox Tomcat-5.5.28 分辨率:1024*7683、所用技術(shù): Struts2+jQuery+JDBC+JSP 采用MVC編程思想進(jìn)行設(shè)計(jì)4.3 系統(tǒng)概要設(shè)計(jì)總體系統(tǒng)架構(gòu)如下:交易系統(tǒng)采用 4 層結(jié)構(gòu),主要包括:表現(xiàn)層、控制層、業(yè)務(wù)層、持久層。表現(xiàn)層:主要負(fù)責(zé)用戶交互和結(jié)果顯示,交易系統(tǒng)和管理系統(tǒng)有不同的 URL 入口界面,詳細(xì)設(shè)計(jì)參考“GWAP DEMO”。控制層:主要負(fù)責(zé)系統(tǒng)的訪問控制、數(shù)據(jù)加載和注銷,是系統(tǒng)的核心控制單元??刂茖油ㄟ^系統(tǒng)描述來組織工作。業(yè)務(wù)層:實(shí)現(xiàn)了交易系統(tǒng)和管理系統(tǒng)的主要業(yè)務(wù)邏輯,是系統(tǒng)主要的運(yùn)算單元。持久層:實(shí)現(xiàn)了靜態(tài)數(shù)據(jù)和數(shù)據(jù)庫數(shù)據(jù)的持久化管理,為業(yè)務(wù)層提供數(shù)據(jù)服務(wù),是系統(tǒng)進(jìn)行數(shù)據(jù)操作的統(tǒng)一界面??傮w系統(tǒng)架構(gòu)圖,如圖4-1所示:圖 4-1 總體系統(tǒng)架構(gòu)圖根據(jù)系統(tǒng)功能模塊,可以設(shè)計(jì)出能滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含和種具體信息,通過之間的步入形成數(shù)據(jù)的流動(dòng)。從需求分析可得出系統(tǒng)有如下實(shí)體:商品實(shí)體、用戶實(shí)體、商品詳細(xì)信息實(shí)體、訂單實(shí)體,訂單詳細(xì)信息實(shí)體,收貨人地址實(shí)體,購物車實(shí)體,購物車明細(xì)實(shí)體。4.4 數(shù)據(jù)庫設(shè)計(jì)(1)根據(jù)以上對(duì)系統(tǒng)的分析,對(duì)數(shù)據(jù)庫進(jìn)行如下圖(4-2)E-R數(shù)據(jù)庫設(shè)計(jì)模型設(shè)計(jì):圖4-2 數(shù)據(jù)表關(guān)系圖(2)E-R數(shù)據(jù)庫設(shè)計(jì)模型說明:d_user表:是用戶信息表(表4-1)表4-1 用戶信息表Table 4-1 The user information tableid主鍵,自動(dòng)生成email用戶的email,注冊(cè)的用戶名,唯一nickname用戶妮稱password密碼user_integral用戶等級(jí),比如會(huì)員啊,超級(jí)會(huì)員等is_email_verify是否進(jìn)行驗(yàn)證Y/Nemail_verify_code郵箱驗(yàn)證碼,系統(tǒng)生成的UUID碼用于驗(yàn)證郵箱last_login_time最后一次登錄時(shí)間last_login_ip最后一次登錄IPd_receive_address表:用戶的地址表(表4-2)表4-2 用戶的地址表Table 4-2 The users address tableid主鍵,自動(dòng)生成user_id用戶的id,與user表進(jìn)行關(guān)連receive_address收貨地址full_address收獲詳細(xì)地址postal_code郵政編碼mobile手機(jī)phone固定電話d_category表:商品類別表,分類顯示商品(表4-3)表4-3 商品類別表Talbe 4-3 Product category tableid主鍵turn排序字段en_name英文名字name名稱description描述parent_id父類的id表之前的內(nèi)聯(lián),用于第一級(jí)類和二級(jí)類d_product表:商品信息表,存儲(chǔ)商品信息(表4-4)表4-4 商品信息表Table 4-4 Commodity information tableid主鍵product_name商品名稱add_time上架時(shí)間fixed_pric定價(jià)dang_price當(dāng)當(dāng)價(jià)keywords關(guān)鍵字,用于檢索has_deleted是否刪除product_pic商品圖片d_category_product表:類別表和商品信息表間的維護(hù)關(guān)連關(guān)系的表(表4-5)表4-5 類別和商品關(guān)系表Table 4-5 Category and merchandise relational tablesId 主鍵Cat_id類別的主鍵Product_id商品信息主鍵d_order表:用戶訂單表(表4-6)表4-6 用戶訂單表Table 4-6 The user order formid主鍵user_id用戶IDstatus訂單狀態(tài)order_time下訂單時(shí)間order_desc訂單描述total_price總價(jià)receive_name收貨名稱full_address收貨詳細(xì)地址postal_code郵編mobile手機(jī)phone電話d_item表:訂單明細(xì)表(表4-7)表4-7 訂單明細(xì)表Table 4-7 Schedule of the orderid主鍵order_id訂單編號(hào)product_id商品IDproduct_name商品名稱dang_price當(dāng)當(dāng)價(jià)product_num商品個(gè)數(shù)amount總價(jià)d_book表:圖書表(表4-8)表4-8 圖書表Table 4-8 Book tableid主鍵author作者publishing出版社publish_time出版時(shí)間word_number字?jǐn)?shù)which_ediion版次total_page總頁數(shù)print_number出版量author_summary作者簡(jiǎn)介catalogue圖書簡(jiǎn)介第5章 系統(tǒng)的實(shí)現(xiàn)第5章 系統(tǒng)的實(shí)現(xiàn)5.1 登錄的實(shí)現(xiàn)登錄界面如圖5-1所示:圖5-1 登陸界面登錄功能的實(shí)現(xiàn):/用于接收頁面通過Struts2傳過來的用戶名和密碼private String email;private String password;/返回給用戶用戶名錯(cuò)誤的信息private String nameerrorMsg;/返回給用戶密碼錯(cuò)誤的信息private String pwderrorMsg;private UserDao dao = new UserDaoImpl();public String execute()throws Exception/調(diào)用登陸方法,查詢User對(duì)象User user = dao.login(email);/對(duì)用戶和密碼進(jìn)行驗(yàn)證,判斷是否輸入正確if(user!=null)if(MD5.getString(password).equals(user.getPassword()Map session = super.session;第5章 系統(tǒng)的實(shí)現(xiàn)/登陸成功之后,把用戶對(duì)象綁定至session中,session來自于繼承的BaseActionsession.put(user, user);return success;elsepwderrorMsg = 密碼錯(cuò)誤;return login;elsenameerrorMsg = 用戶名錯(cuò)誤;return login;5.2 會(huì)員注冊(cè)界面 會(huì)員注冊(cè)界面如圖5-2所示:圖5-2 會(huì)員注冊(cè)頁面 在頁面中對(duì)數(shù)據(jù)格式的校驗(yàn),以用戶名為例子實(shí)現(xiàn):/驗(yàn)證郵箱開始$(#txtEmail).blur(function()$(#).html();var email=$(this).val();var reg=/b(_A-Za-z0-9-+(._A-Za-z0-9-+)*(A-Za-z0-9-)+(.A-Za-z0-9-+)*(.A-Za-z0-92,)|(.A-Za-z0-92,.A-Za-z0-92,)$)b/;if(email.trim().length=0)$(#).html(郵箱不能為空);return;if(!reg.test(email)$(#).html(郵箱格式不正確);return;/接收通過ajax異步發(fā)請(qǐng)求,向服務(wù)器驗(yàn)證是否存在用戶名$.ajax(url:verify,type:post,data:email=+email,dataType:text,success:function(data)if(data=true)$(#).html(可以使用);else$(#).html(郵箱名已經(jīng)存在);return;););/驗(yàn)證郵箱結(jié)束 5.3 菜單顯示功能的實(shí)現(xiàn) 菜單顯示界面如圖5-3:圖5-3 分類瀏覽 菜單顯示的功能實(shí)現(xiàn):通過數(shù)據(jù)表d_category,發(fā)現(xiàn)數(shù)據(jù)存儲(chǔ)的方式有parent_id和id有對(duì)應(yīng)關(guān)系,在菜單實(shí)體類下新增用于存放菜單的List集合,使用內(nèi)聯(lián)查詢就可以查詢一級(jí)和二級(jí)菜單項(xiàng)目,然后在JSP頁面進(jìn)行迭代就可以顯示出信息數(shù)據(jù)查詢代碼如下: Select * from d_category c inner join d_category d on c.id=d.parent_id然后再JSP頁面中進(jìn)行迭代就可以顯示:代碼如下:5.4 商品瀏覽功能的實(shí)現(xiàn)以最新上架圖書為例,程序運(yùn)行結(jié)果如圖5-4所示:圖5-4 最新上架圖書欄目實(shí)現(xiàn)思路如下: news.action-NewsAction(獲取最新上架圖書信息)-new.jsp 1.根據(jù)需求找到涉及的數(shù)據(jù)表,了解數(shù)據(jù)表結(jié)構(gòu) 2.根據(jù)需求了解對(duì)數(shù)據(jù)表做什么操作,編寫DAO實(shí)現(xiàn) 3.編寫Action實(shí)現(xiàn) 4.編寫JSP標(biāo)簽 5.輸入action請(qǐng)求測(cè)試 6.將news.action響應(yīng)內(nèi)容引入到main.jsp中部分代碼實(shí)現(xiàn)如下:dao的實(shí)現(xiàn)部分定義: public List getProductRecommand() throws Exception通過 select * from d_product p join d_bokk on p.id=d.id where p.hasdeleted=0 order by rand() limit 0,2;查出數(shù)據(jù),并返回一個(gè)集合,在頁面中進(jìn)行迭代實(shí)現(xiàn)5.5 熱銷圖書等功能的實(shí)現(xiàn)這些功能實(shí)現(xiàn)方法與商品瀏覽功能的實(shí)現(xiàn)方法基本一樣,在這里不作詳細(xì)闡述5.6 購物車功能的實(shí)現(xiàn)運(yùn)行結(jié)果如圖5-5所示:圖5-5 購物車中的商品實(shí)現(xiàn)思路:1.根據(jù)購物車列表?xiàng)l目編寫CartItem2.以購買為例,編寫Action和action配置(ajax)buy.action-BuyAction-Cart-DAO-d_product3.編寫JSP端的標(biāo)簽和js腳本代碼實(shí)現(xiàn):購物車實(shí)體分為:Cart實(shí)體類和CartItem實(shí)體類、CartItem類:商品名細(xì)實(shí)體類,存放商品信息和每件商品的個(gè)數(shù),總體形成Cart類,便于對(duì)購物車的管理。實(shí)體類代碼如圖:圖5-6圖5-6 CartItem實(shí)體類 Cart實(shí)體類:購物車類,存放CartItem商品名細(xì)以及對(duì)購物車增刪改查的操作的方法,部分代碼如圖5-7圖5-7 購物車的操作Action的部分代碼實(shí)現(xiàn),實(shí)現(xiàn)過程中對(duì)于購物車的刪改是通過兩個(gè)集合實(shí)現(xiàn)的,從另一個(gè)集合刪除增加到另一個(gè)集合,對(duì)list集體的add,remove同時(shí)操作兩個(gè)集合,就把對(duì)購物車的操作轉(zhuǎn)化為了對(duì)集合的操作,方便了對(duì)購物車的管理,更好的實(shí)現(xiàn)對(duì)購物車的增刪改查。如圖5-8:圖5-8 Action的部分代碼對(duì)result結(jié)果集的選擇說明:通過Action控制層的返回值,來判斷是哪一個(gè)result,也就是說,result的name屬性的值為Action的返回值,通過result的默認(rèn)type的值dispcher來進(jìn)行轉(zhuǎn)發(fā)的控制。具體Action的配置如圖5-9:圖5-9 Action的配置5.7 訂單的實(shí)現(xiàn)確認(rèn)訂單運(yùn)行結(jié)果如圖5-10所示:圖5-10 確認(rèn)訂單生成訂單運(yùn)行結(jié)果:如圖5-11圖5-11 填寫送貨地址設(shè)計(jì)實(shí)現(xiàn)思路 1、用戶填寫送貨地址信息后,當(dāng)單擊下一步按鈕執(zhí)行下面處理 (1)先向d_order表寫入一條記錄. (2)然后向d_item表寫入若干條記錄(購物車有多少個(gè)購買的Item對(duì)象) (3)如果選擇地址項(xiàng)為填寫新地址,將表單信息,還要向d_receive_address表寫入一份. (4)清空購物車信息 2、當(dāng)用戶選擇地址下拉單選項(xiàng)時(shí),執(zhí)行下面處理 (1)采用ajax方式根據(jù)選項(xiàng)去d_receive_address表查找以前用過的地址,將地址信息以json格式返回 (2)將地址信息填充到表單中各個(gè)輸入框中. (3)如果選擇的是填寫新地址,將表單各輸入框清空部分代碼實(shí)現(xiàn):設(shè)計(jì)實(shí)現(xiàn)思路:首先從頁面判斷是否是使用的新地址(addressInfo的值,0為新的地址,其它不為新的),如果是新的地址,往收貨人信息表里面寫入新的地址數(shù)據(jù),若不為新的地址,則直接寫order和item的信息。Item表的信息從購物車中獲取訂單的詳細(xì)信息,然后封裝成一個(gè)item對(duì)象,寫入數(shù)據(jù)庫。Order信息由收貨人信息和訂單的信息,這此信息從頁面中傳入,然后封裝成一個(gè)order對(duì)象,寫入數(shù)據(jù)庫。具體代碼實(shí)現(xiàn),如圖5-12:圖5-12 業(yè)務(wù)控制代碼第6章 性能測(cè)試與分析第6章 性能測(cè)試與分析6.1 測(cè)試環(huán)境硬件環(huán)境:處理器:I5;內(nèi)存:2GB;硬盤空間:500GB;顯卡: NVIDIA GeForce 310M。軟件環(huán)境:Windows7和linux;數(shù)據(jù)庫:mysql,tomcat 6.x,瀏覽器:IE6.2 測(cè)試流程登錄控制流程:在登陸界面user/login_form.jsp頁面輸入用戶名及密碼,先在JSP頁面中檢查格式是否正確,然后,首先判斷郵箱是否已經(jīng)進(jìn)行了驗(yàn)證,若沒有驗(yàn)證,則進(jìn)行驗(yàn)證,若進(jìn)行驗(yàn)證,則進(jìn)入正常的登陸流程。如圖6-1:開始Y判斷郵箱是否驗(yàn)證正常登錄,查看商品信息進(jìn)行驗(yàn)證N 圖 6-1 用戶登錄流程商品瀏覽及訂單測(cè)試流程:首先訪問應(yīng)用程序的主頁面main/main,進(jìn)入分類瀏覽圖書商品,若要購物圖書,首先判斷圖書是否已經(jīng)購買,若購買,提示已經(jīng)購買,若沒有購買,提示購買成功,加入購物車。然后進(jìn)入結(jié)算流程,首先判斷是否登陸,若沒有登陸,則進(jìn)行登陸流程,在登錄的過程中,有一個(gè)用戶名和密碼驗(yàn)證,若通過驗(yàn)證,則成功登錄,登錄的時(shí)候,還要判斷是從哪里登錄的,登錄成功后的跳轉(zhuǎn)界面,若在主頁上登錄,則登錄成功到主頁面顯示,若是在點(diǎn)擊結(jié)算的時(shí)候,進(jìn)行的登錄,登錄成功之后跳轉(zhuǎn)到結(jié)算。在登錄的時(shí)候。若沒有登錄成功,則對(duì)用戶進(jìn)行提示。若已經(jīng)成功登陸,進(jìn)行訂單商品信息流程,經(jīng)商品信息確認(rèn)無誤后,則進(jìn)入收貨填寫流程,當(dāng)收貨地址填寫信息無誤(符合數(shù)據(jù)規(guī)范)后,進(jìn)入提交的確認(rèn)訂單流程,把商品信息及收貨人地址信息存入數(shù)據(jù)庫,生成一個(gè)訂單編號(hào)和商品的總價(jià),顯示給用戶。如圖6-2所示:第6章 性能測(cè)試與分析已經(jīng)登錄訪問 main/main分類瀏覽圖書商品點(diǎn)購買,購買書沒有購買過加入購物車提示已經(jīng)購買,返回結(jié)算,是否登錄沒有登錄登錄界面訂單商品信息確認(rèn)登錄判斷登錄成功登錄失敗填寫收貨地址信息提交確認(rèn)訂單已經(jīng)購買圖 6-2 整個(gè)購物流程6.3 測(cè)試數(shù)據(jù)的選擇與研究對(duì)本系統(tǒng)進(jìn)行測(cè)試,采用黑盒測(cè)試法進(jìn)行測(cè)試,對(duì)于一些測(cè)試,采用一些邊界測(cè)試,對(duì)其驗(yàn)證的功能,有一定的數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛質(zhì)押貸款及汽車租賃及保養(yǎng)服務(wù)合同
- 產(chǎn)權(quán)式酒店租賃合同示范文本及經(jīng)營風(fēng)險(xiǎn)控制
- 醫(yī)療健康園區(qū)場(chǎng)站委托運(yùn)營管理協(xié)議
- 產(chǎn)業(yè)園區(qū)場(chǎng)地租賃合同行政備案及產(chǎn)業(yè)扶持政策
- 餐飲企業(yè)特色餐廳承包經(jīng)營合同范本
- 茶葉原料種植基地合作合同樣本
- 柴油市場(chǎng)拓展與銷售獎(jiǎng)勵(lì)合同范本
- 草場(chǎng)租賃與水資源保護(hù)與利用協(xié)議
- 稅務(wù)籌劃與財(cái)務(wù)代理一體化服務(wù)合同
- 金融投資代理居間業(yè)務(wù)合同
- 孕期保健主題宣教培訓(xùn)課件
- 《高血壓健康教育規(guī)范》
- 骨科手術(shù)后的康復(fù)用具與輔助器具
- 小學(xué)特色課程《口風(fēng)琴課程》校本教材
- 電腦教室搬遷方案
- 《如何寫文獻(xiàn)綜述》課件
- 汽車美容店計(jì)劃書案例
- 2023高教版中職中國特色社會(huì)主義基礎(chǔ)模塊課程標(biāo)準(zhǔn)
- 信息機(jī)房火災(zāi)事故應(yīng)急處置方案
- 火災(zāi)調(diào)查專業(yè)技能.全國比武單項(xiàng)科目解析
- 抑郁癥健康教育
評(píng)論
0/150
提交評(píng)論