網(wǎng)上書店設(shè)計(jì)文檔_第1頁(yè)
網(wǎng)上書店設(shè)計(jì)文檔_第2頁(yè)
網(wǎng)上書店設(shè)計(jì)文檔_第3頁(yè)
網(wǎng)上書店設(shè)計(jì)文檔_第4頁(yè)
網(wǎng)上書店設(shè)計(jì)文檔_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、廣東科貿(mào)職業(yè)學(xué)院 2013 屆學(xué)生畢業(yè)論文/設(shè)計(jì)題 目: 網(wǎng)上書店系統(tǒng) 姓 名: 劉德榮 系 別: _信息工程系_ 專 業(yè): _軟件技術(shù)_班 級(jí): _10軟件1班_指導(dǎo)老師: _ _嚴(yán)梅 _ _ _ 日 期: _2012-11-15_ 獨(dú) 創(chuàng) 性 聲 明 本人聲明所呈交的畢業(yè)論文(設(shè)計(jì))是本人在指導(dǎo)教師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文(設(shè)計(jì))中不包含其他人已經(jīng)發(fā)表或撰寫過(guò)的研究成果,也不包含為獲得廣東科貿(mào)職業(yè)學(xué)院或其他教育機(jī)構(gòu)的證書而使用過(guò)的材料。與我一同工作的同志對(duì)本論文(設(shè)計(jì))所做的任何貢獻(xiàn)均已在論文中作了明確的說(shuō)明并表示謝意。論文(

2、設(shè)計(jì))作者簽名: 簽字日期: 年 月 日摘 要隨著Internet的迅速發(fā)展,電子商務(wù)將成為21世紀(jì)主流的商業(yè)模式。網(wǎng)上書店是這些網(wǎng)絡(luò)技術(shù)的發(fā)展而出現(xiàn)的一種新型圖書銷售渠道。它通過(guò)人與電子通信方式的結(jié)合,依靠計(jì)算機(jī)網(wǎng)絡(luò),以通訊技術(shù)為基礎(chǔ),實(shí)現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店的經(jīng)營(yíng)方式和銷售渠道是全新的,它24小時(shí)的全天候和全方位服務(wù)是店面書店所不能比及的,成本低廉更是開設(shè)網(wǎng)上書店的主要原因。而與其他商品相比,書籍運(yùn)送幾乎不怕碰撞碎裂、不具時(shí)效性,同時(shí)書本具有功能單一、形式簡(jiǎn)單、易于判斷和選擇而獨(dú)具優(yōu)勢(shì),最適合于網(wǎng)上交易,再次是單價(jià)低,降低了消費(fèi)者第一次在網(wǎng)絡(luò)購(gòu)物的門檻

3、。所以網(wǎng)上書店成了電子商務(wù)的先鋒。本系統(tǒng)的開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前臺(tái)應(yīng)用程序的開發(fā)兩個(gè)方面。主要功能有:圖書類型瀏覽和圖書瀏覽、圖書搜索、購(gòu)物車、訂單、后臺(tái)管理。關(guān)鍵詞 JSP Struts2 Hibernate3 Spring2 MySql數(shù)據(jù)庫(kù) 網(wǎng)上書店 目 錄摘 要3第一章 緒論51.1項(xiàng)目背景51.2項(xiàng)目開發(fā)思路51.3主要?jiǎng)?chuàng)新點(diǎn)62.1系統(tǒng)開發(fā)工具的選擇72.2主要開發(fā)技術(shù)的介紹72.2.1 JavaEE平臺(tái)72.2.2 SSH技術(shù)介紹82.2.3 MySQL數(shù)據(jù)庫(kù)83.1系統(tǒng)功能及特性分析93.2 模塊需求分析9第四章 概要設(shè)計(jì)114.1系統(tǒng)功能概述114.2系統(tǒng)功

4、能結(jié)構(gòu)圖114.3 各模塊處理流程設(shè)計(jì)124.4 數(shù)據(jù)庫(kù)設(shè)計(jì)144.4.2數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖154.4.3數(shù)據(jù)字典16第五章 詳細(xì)設(shè)計(jì)185.1 首頁(yè)數(shù)據(jù)展示185.1.1 界面設(shè)計(jì)185.1.2 主要實(shí)現(xiàn)技術(shù)185.2后臺(tái)管理設(shè)計(jì)215.2.1 界面設(shè)計(jì)215.2.2 主要實(shí)現(xiàn)技術(shù)23第六章 軟件測(cè)試286.1測(cè)試目標(biāo)286.2 測(cè)試環(huán)境286.3 功能測(cè)試用例286.3.1 網(wǎng)店首頁(yè)測(cè)試286.3.2 后臺(tái)管理模塊測(cè)試29總 結(jié)30致 謝31參考文獻(xiàn)32第一章 緒論1.1項(xiàng)目背景隨著科技飛速的發(fā)展,人類使用和學(xué)習(xí)信息的方式以及信息的包裝方式正在進(jìn)行著不可阻擋的革命,這次革命將比印刷術(shù)的出現(xiàn)所

5、產(chǎn)生的影響以及對(duì)社會(huì)發(fā)展的推動(dòng)更加復(fù)雜更加巨大。網(wǎng)站也成為人們最簡(jiǎn)便和喜愛(ài)的交流方式和傳遞信息的手段,尤其在商品交易方面,人們更是尋求最佳簡(jiǎn)便的消費(fèi)方式。 網(wǎng)上商店的發(fā)展隨著 Internet 的迅速發(fā)展正以前所未有的深度和廣度影響和改善著人類生活的各個(gè)方面, 越來(lái)越多的人開始意識(shí)到 Internet 所蘊(yùn)含的經(jīng)濟(jì)價(jià)值的無(wú)窮商機(jī),并積極投身于電子商務(wù)活動(dòng)。實(shí)際上,電子商務(wù)是一些商業(yè)行為的電子化,例如網(wǎng)上書店,網(wǎng)上貿(mào)易,就網(wǎng)上書店來(lái)說(shuō),網(wǎng)上書店是目前應(yīng)用最廣,最成功的典范之一,網(wǎng)上書店的崛起對(duì)傳統(tǒng)的圖書流通體系產(chǎn)生了強(qiáng)烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將廣大讀者,圖書,出版者,發(fā)行者緊密地

6、結(jié)合在一起,大大提高了圖書流通率。世界上第一家網(wǎng)上書店是1991年在美國(guó)聯(lián)機(jī)公司 AOL 采購(gòu)網(wǎng)絡(luò)上建立的“閱讀美國(guó)書店” ,目前最有名的是美國(guó)西雅圖亞馬遜圖書公司的亞馬遜網(wǎng)上書店。它創(chuàng)建于 1995年,供書達(dá)310余萬(wàn)種,每年顧客達(dá)500萬(wàn)人次,其價(jià)格優(yōu)惠 20-50人民幣。自從亞馬遜網(wǎng)上書店成功后,中國(guó)的網(wǎng)上書店也建立起來(lái)。中國(guó)最早的網(wǎng)上書店是1997年在杭州新華書店誕生的,在經(jīng)過(guò)年余的艱苦經(jīng)營(yíng),接待400多位訪問(wèn)者后,悄然引退,而進(jìn)入1998年后,作為中國(guó)書業(yè)傳統(tǒng)經(jīng)營(yíng)力量的新華書店,正式宣布進(jìn)入網(wǎng)絡(luò)領(lǐng)域,先是第九屆全國(guó)書市首次開通書店網(wǎng)站,后來(lái)在1998年12月30日上海書城成為國(guó)內(nèi)首家

7、正規(guī)的網(wǎng)上書店,讀者在家中可以上網(wǎng)完成瀏覽,選購(gòu),付款的全過(guò)程。1999 年是網(wǎng)上書店迅速發(fā)展的一年,商業(yè)公司不斷進(jìn)入網(wǎng)上書店有超過(guò)幾百家,有自己網(wǎng)站的公司有40多家,這個(gè)數(shù)目還不斷增加。網(wǎng)上書店在價(jià)格、時(shí)效性、品種、查詢方式等方面都有優(yōu)勢(shì)。網(wǎng)上書店是一種直銷方式,在到書速度和價(jià)格上都有優(yōu)勢(shì),目前網(wǎng)上書店的到書時(shí)間在北京,上海,廣州等大城市一般為1-3天,在外省則一般3-10天到書,在價(jià)格上一般網(wǎng)上書店都有7-9折的折扣,如果是特價(jià)書折扣就更多了,網(wǎng)上書店的書目數(shù)據(jù)是任何訂購(gòu)書目都無(wú)法比擬的,亞馬遜網(wǎng)上書店有300多萬(wàn)種圖書,另外還有音樂(lè)系列產(chǎn)品和其它教育產(chǎn)品,剛剛成立的北京圖書大廈網(wǎng)上書店也

8、有16萬(wàn)種書目數(shù)據(jù),“中國(guó)尋書網(wǎng)”目前也有50萬(wàn)種書籍,年度將突破100萬(wàn)種圖書,網(wǎng)上書店的書目除書名,著者,價(jià)格等信息外,還有封面,內(nèi)容簡(jiǎn)介,目次,評(píng)論等詳細(xì)信息。同時(shí)網(wǎng)上書店的目錄查詢功能也是傳統(tǒng)的按某種分類規(guī)則編排的圖書征訂目錄無(wú)法比擬的,其以關(guān)鍵詞或主題從網(wǎng)上檢索某類文獻(xiàn),查準(zhǔn)率與查全率都有一定的保障。另外還有一些書更是以網(wǎng)站包銷或總代理的形式進(jìn)行銷售,這就意味著一種全新的電子商務(wù)模式的開始。1.2項(xiàng)目開發(fā)思路傳統(tǒng)書店往往要占用大量的空間,雇傭數(shù)量較多的工作人員同時(shí)也難以避免讀者在 購(gòu)買圖書時(shí)造成圖書翻閱損耗等一系列費(fèi)用,而與此同時(shí)隨著互聯(lián)網(wǎng)在中國(guó)的發(fā)展,我 國(guó)網(wǎng)民已經(jīng)超過(guò)了2億,而其

9、中絕大部分有是屬于知識(shí)分子的青年人,無(wú)疑他們正是廣 大圖書出版物的潛在消費(fèi)者。相對(duì)于傳統(tǒng)的實(shí)體商城,網(wǎng)上商城投資少,回收快。一項(xiàng)針對(duì)中國(guó)中小企業(yè)的情況調(diào)查顯示,個(gè)人在網(wǎng)下啟動(dòng)銷售公司的平均費(fèi)用至少5萬(wàn)元,而網(wǎng)上開店建店成本非常小。一般說(shuō),籌辦一家網(wǎng)上的商店投入很小,不用去辦營(yíng)業(yè)執(zhí)照,不用去租門面,不用囤積貨品,所需資金不過(guò)1500元左右;網(wǎng)上商店比同等規(guī)模的地面商店“租金”要低得多,同時(shí)租金不會(huì)因?yàn)闋I(yíng)業(yè)面積的增加而增加,投資者也不用為延長(zhǎng)營(yíng)業(yè)時(shí)間而增加額外的費(fèi)用?;静恍枰?jí)嘿Y金。傳統(tǒng)商店的進(jìn)貨資金少則幾千元,多則數(shù)萬(wàn)元,而網(wǎng)上商店則不需要壓資金。 24小時(shí)營(yíng)業(yè)時(shí)間。網(wǎng)上商店 延長(zhǎng)了商店的營(yíng)

10、業(yè)時(shí)間,一天 24 小時(shí)、一年365天不停地運(yùn)作,無(wú)須專人值班看店,都可照常營(yíng)業(yè)。傳統(tǒng)店鋪的營(yíng)業(yè)時(shí)間一般為8-12小時(shí),遇上壞天氣或者老板、店員有急事也不得不暫時(shí)休息。銷售規(guī)模不受地盤限制。傳統(tǒng)商店有多大就只能擺放多少商品,生意大小常常被小店面積限制。而在網(wǎng)上,即便在地面上只有一個(gè)小商店,或者干脆就沒(méi)有門面,開店的生意卻可以照樣做得很大。不受店面空間的限制。哪怕只是街邊小店,在網(wǎng)上卻可以擁有百貨大樓那么大的店面,只要投資者愿意,可以擺上成千上萬(wàn)種商品。目前國(guó)內(nèi)最大的專業(yè)拍賣網(wǎng)站同時(shí)在線的商品要超過(guò)10萬(wàn)件已超過(guò)一些大超市。不受地理位置影響。不管客戶離店有多遠(yuǎn),也不管顧客是國(guó)內(nèi)還是國(guó)外,在網(wǎng)上,

11、客戶一樣可以很方便地找到并購(gòu)買商品。這令消費(fèi)群體突破了地域的限制,變得無(wú)限廣闊了。1.3主要?jiǎng)?chuàng)新點(diǎn)本系統(tǒng)采用MVC三層架構(gòu)的模式,在開發(fā)過(guò)程中使用輕量級(jí)架構(gòu)Struts2,Hibernate3和Spring2來(lái)處理頁(yè)面邏輯、業(yè)務(wù)控制和對(duì)象的持久化工作本系統(tǒng)的開發(fā)并沒(méi)有單純使用JSP + Servelt進(jìn)行,而是結(jié)合了Struts2,Hibernate3和Spring2,這是為了使系統(tǒng)的結(jié)構(gòu)更加清晰,同時(shí)簡(jiǎn)化開發(fā)工作,使用MySQL作為后臺(tái)數(shù)據(jù)庫(kù),MySQL是高性能,客戶/服務(wù)器的RDBMS(關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)),能夠支持大吞吐量的事務(wù)處理,具有較高的安全性,也能與其它系統(tǒng)進(jìn)行完好的交互操作。

12、在計(jì)算機(jī)硬件和軟件快速發(fā)展的今天,計(jì)算機(jī)硬件和軟件已經(jīng)足夠滿足本管理系統(tǒng)的要求,在數(shù)據(jù)庫(kù)編程工具方面,各種可視化編程方法的出現(xiàn),一改過(guò)去程序設(shè)計(jì)的概念和方法,用戶用鼠標(biāo)就可以快速,簡(jiǎn)捷地創(chuàng)建應(yīng)用程序,極大地提高了編程效率。本網(wǎng)上書店系統(tǒng)分為以下幾個(gè)層次:1、視圖層:由JSP技術(shù)實(shí)現(xiàn),根據(jù)Struts2控制器的操作顯示結(jié)果。2、控制器:由Struts2技術(shù)實(shí)現(xiàn),根據(jù)用戶的請(qǐng)求執(zhí)行相關(guān)的操作,數(shù)據(jù)相關(guān)操作調(diào)用service層方法。3、模型層:實(shí)現(xiàn)數(shù)據(jù)模型,有java POJO類實(shí)現(xiàn)。4、DAO層:由Hibernate3技術(shù)實(shí)現(xiàn),以間接形式為控制器部分提供數(shù)據(jù)操作業(yè)務(wù)邏輯。5、服務(wù)層:是介于DAO和

13、控制器的一個(gè)服務(wù)型組件,調(diào)用DAO方法為控制器提供業(yè)務(wù)方法。最后由Spring2技術(shù)整合所有功能,配置數(shù)據(jù)源。并且管理組件與組件之間的聯(lián)系,使整個(gè)系統(tǒng)有效的運(yùn)行。第二章 系統(tǒng)開發(fā)平臺(tái)2.1系統(tǒng)開發(fā)工具的選擇本系統(tǒng)主要的開發(fā)工具有:MyEclipse 9、MySQL、Tomcat 6.0。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)布以及運(yùn)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)

14、試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能??梢哉f(shuō)MyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管

15、理系統(tǒng),開發(fā)者為瑞典MySQLAB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。 Tomcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用和輕量級(jí)應(yīng)用的服務(wù)器,因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat部分是Apac

16、he服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。2.2主要開發(fā)技術(shù)的介紹2.2.1 JavaEE平臺(tái)JavaEE包括Faculies for develops JavaEE Apps, Runtime Environment, Docs&Samples,JavaEE核心就是來(lái)解決分布式應(yīng)用。Java EE一般分為4層:(1)客戶端(2)web層(3)業(yè)務(wù)邏輯層(4)企業(yè)信息層(EIS:Enterprise Information System)Java EE組件:它本意是指可以重用的代碼單元,一般代表著一個(gè)或者一組可以獨(dú)立出來(lái)

17、的功能模塊,在J2ee中組件的種類有很多種,比較常見(jiàn)的是EJB組件、DAO組件、客戶端組件或者應(yīng)用程序組件等,它們有個(gè)共同特點(diǎn)是分別會(huì)打包成.war,.jar,.jar,.ear,每個(gè)組件由特定格式的xml描述符文件進(jìn)行描述,而且服務(wù)器端的組件都需要被部署到應(yīng)用服務(wù)器上面才能夠被使用。Java EE 容器:它是用來(lái)管理組件行為的一個(gè)集合工具,組件的行為包括與外部環(huán)境的交互、組件的生命周期、組件之間的合作依賴關(guān)系等等。 2.2.2 SSH技術(shù)介紹J2EE輕量級(jí)框架SSH。SSH集成框架是Struts、Hibernate和Spring三種技術(shù)的有機(jī)融合,是目前應(yīng)用最廣泛的Java EE架構(gòu)。在SS

18、H 集成框架中,Struts的作用是提供MVC模型,將界面、業(yè)務(wù)邏輯和數(shù)據(jù)分離,并提供一個(gè)高可擴(kuò)展的架構(gòu)。Spring作為核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IoC容器來(lái)管理各組件之間之間的依賴關(guān)系,Spring的聲明事務(wù)將負(fù)責(zé)邏輯層組件的事務(wù)管理。而Hibernate提供了一個(gè)抽象的數(shù)據(jù)服務(wù)視圖,將用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)進(jìn)行高度抽象。Struts是目前創(chuàng)建Web應(yīng)用最常用的表現(xiàn)層MVC框架實(shí)現(xiàn),是Jakarta Apache的一個(gè)開源項(xiàng)目?;鵐odel2的Struts框架利用控制器和定制標(biāo)簽庫(kù)將應(yīng)用中的模型和視圖分離,達(dá)到了層間松散耦合的效果,同時(shí)提高系統(tǒng)的靈活性、重

19、用性和維護(hù)性。作為開源項(xiàng)目,Struts經(jīng)受了大量實(shí)踐的檢驗(yàn),功能越來(lái)越強(qiáng)大,體系也日臻完善,并且對(duì)其他技術(shù)和框架顯示出良好的融合性。Spring由Rod Johnson創(chuàng)建,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring 使用基本的JavaBean來(lái)完成以前只可能由EJB 完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)

20、象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate 可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP 的Web 應(yīng)用中使用。2.2.3 MySQL數(shù)據(jù)庫(kù)MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個(gè)性化的需要對(duì)其進(jìn)行修改。MySQL因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)

21、化處理的情況下,MySQL是管理內(nèi)容最好的選擇。MySQL,雖然功能未必很強(qiáng)大,但因?yàn)樗拈_源、廣泛傳播,導(dǎo)致很多人都了解到這個(gè)數(shù)據(jù)庫(kù)。MySQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫(kù)組成。SQL是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí)MySQL也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。MySQL數(shù)據(jù)庫(kù)具有以下主要特點(diǎn):同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)的用戶數(shù)量不受

22、限制;可以保存超過(guò) 50,000,000 條記錄;是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫(kù)系統(tǒng); 用戶權(quán)限設(shè)置簡(jiǎn)單,有效。第三章 需求分析3.1系統(tǒng)功能及特性分析 本系統(tǒng)的開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前臺(tái)應(yīng)用程序的開發(fā)、后臺(tái)管理三個(gè)模塊。主要功能有:1、圖書類型瀏覽和圖書瀏覽圖書類型瀏覽功能允許登錄用戶和未登錄用戶隨意瀏覽圖書類型(如程序設(shè)計(jì)圖書和外語(yǔ)圖書等),可以單擊任意一種圖書類型查看該類型下的所有圖書列表。圖書瀏覽功能允許登陸用戶和未登錄用戶隨意瀏覽某圖書的詳細(xì)信息,包括書名、圖片、介紹、市場(chǎng)價(jià)及會(huì)員價(jià)等。2、圖書搜索圖書搜索功能允許用戶用過(guò)輸入關(guān)鍵字搜索匹配的圖書,并以列表

23、形式顯示。3、購(gòu)物車在圖書詳細(xì)內(nèi)容頁(yè)面顯示圖書的所有信息,可以單擊“加入購(gòu)物車”表單按鈕,將該圖書添加到購(gòu)物車,并在購(gòu)物車頁(yè)面刪除或者修改數(shù)量等。也可以單擊“生成訂單”和“清空購(gòu)物車”表單按鈕執(zhí)行相關(guān)操作。4、訂單在購(gòu)物車頁(yè)面通過(guò)生成訂單按鈕生成訂單,結(jié)算購(gòu)物車所有物品,并顯示表單來(lái)填寫顧客資料。5、后臺(tái)管理管理員登陸之后可以添加新用戶和刪除用戶,可以添加新書籍可刪除書籍。3.2 模塊需求分析3.2.1前臺(tái)運(yùn)用程序的開發(fā)前臺(tái)界面的模塊結(jié)構(gòu)圖如下:圖3-1前臺(tái)界面的模塊結(jié)構(gòu)圖用戶登陸中,用戶登陸之后才能購(gòu)買圖書,如果沒(méi)有登陸,只是一般的查看圖書的話,不能進(jìn)入購(gòu)買圖書;圖書分類中可以看到各種類別的

24、圖書,點(diǎn)擊進(jìn)入后可以看到各種類別的詳細(xì)圖書;用戶可以在搜索圖書中搜索自己想要的圖書,并支持關(guān)鍵字搜素;購(gòu)物車中可以看到自己已經(jīng)加入到購(gòu)物車的圖書,在購(gòu)物車中有生成訂單的的功能,可以看到購(gòu)物車的詳細(xì)信息并可以填寫客戶的詳細(xì)信息,生成的單后可以看到用戶買了什么書,什么時(shí)候買的等等。3.2.2后臺(tái)管理后臺(tái)結(jié)構(gòu)模塊圖如下:圖3-2后臺(tái)結(jié)構(gòu)模塊圖以管理員的身份登陸之后進(jìn)入后臺(tái)管理部分,本系統(tǒng)的管理員是:admin,密碼也是admin。后臺(tái)管理中分為書籍管理和用戶管理兩部分,書籍管理中可以增加新書籍,還有對(duì)現(xiàn)有書籍進(jìn)行修改和刪除;用戶管理部分可以增加新用戶和刪除現(xiàn)有用戶。用戶購(gòu)買的書籍?dāng)?shù)量,書籍的存活都可

25、以在后臺(tái)管理的數(shù)據(jù)庫(kù)中查找得到。第四章 概要設(shè)計(jì)4.1系統(tǒng)功能概述本系統(tǒng)只要分為前臺(tái)顧客對(duì)網(wǎng)店的訪問(wèn)和管理員對(duì)網(wǎng)店的后臺(tái)管理兩部分。前臺(tái)顧客對(duì)網(wǎng)店的訪問(wèn)只要的功能有圖書類型瀏覽和圖書瀏覽、圖書搜索、購(gòu)物車、訂單等功能;管理員對(duì)網(wǎng)店的后天管理部分的只要功能有書籍管理和用戶管理。4.2系統(tǒng)功能結(jié)構(gòu)圖4.2.1前臺(tái)系統(tǒng)功能結(jié)構(gòu)圖圖4-1前臺(tái)系統(tǒng)功能結(jié)構(gòu)圖4.2.2后臺(tái)系統(tǒng)功能結(jié)構(gòu)圖圖4-2后臺(tái)系統(tǒng)功能結(jié)構(gòu)圖4.3 各模塊處理流程設(shè)計(jì)4.3.1 網(wǎng)店購(gòu)書子模塊圖4-3網(wǎng)上書店模塊活動(dòng)圖4.3.2 未登錄子模塊圖4-4 未登錄子模塊圖4.3.3登錄子模塊圖4-5登陸子模塊圖4.3.4 管理員子模塊圖4-

26、6管理員子模塊圖4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)4.4.1數(shù)據(jù)庫(kù)的建立:數(shù)據(jù)庫(kù)表設(shè)計(jì):數(shù)據(jù)庫(kù)實(shí)現(xiàn)網(wǎng)上書店的相關(guān)信息表,包括用戶表(user)、圖書類型表(booktype)、圖書表(books)、訂單表(orders)、和管理員表(admin)。如下圖:購(gòu)物車只是一個(gè)保存在Session會(huì)話中的一組數(shù)據(jù),當(dāng)用戶離開系統(tǒng)后其中的數(shù)據(jù)將丟失,并不保存在數(shù)據(jù)庫(kù)中,而只有購(gòu)買圖書并填寫了訂單才寫入數(shù)據(jù)庫(kù)。所以購(gòu)物車沒(méi)有數(shù)據(jù)庫(kù)表。4.4.2數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖數(shù)據(jù)庫(kù)設(shè)計(jì)的ER圖:圖4-7數(shù)據(jù)庫(kù)設(shè)計(jì)的ER圖用戶與購(gòu)書之間是一對(duì)多的關(guān)系;訂單列表和訂單是一對(duì)多的關(guān)系;訂單和圖書是多對(duì)多的關(guān)系;圖書和圖書分類是多對(duì)一的關(guān)系。4

27、.4.3數(shù)據(jù)字典表4-1 User表字段數(shù)據(jù)類型長(zhǎng)度說(shuō)明備注UseridINTEGER11用戶Id設(shè)自動(dòng)生成主鍵usernamevARCHAR11用戶名不為空passwordvARCHAR11密碼不為空isAdminvARCHAR11不為空表4-2 Book表字段數(shù)據(jù)類型長(zhǎng)度說(shuō)明備注bookidint11設(shè)自動(dòng)生成主鍵booknamevarchar11書名不為空typeidvarchar11類型不為空priceInt11價(jià)格Salepriceint11Descriptvarchar11Imageurlvarchar11saletimedatetime11表4-3 Booktype表字段數(shù)據(jù)類型

28、長(zhǎng)度說(shuō)明備注typeidint11設(shè)自動(dòng)生成主鍵typenamevarchar11不為空booktypenamevarchar11不為空表4-4 Order表字段數(shù)據(jù)類型長(zhǎng)度說(shuō)明備注idInt11設(shè)自動(dòng)生成主鍵orderidvarchar11不為空usernamevarchar11不為空realnamevarchar11不為空addressvarchar11不為空zipint11不為空telvarchar11不為空emailvarchar11不為空priceInt11不為空ordertimevarchar11不為空descriptvarchar11paytypevarchar11不為空第五章

29、詳細(xì)設(shè)計(jì)5.1 首頁(yè)數(shù)據(jù)展示5.1.1 界面設(shè)計(jì)界面截圖如下:圖5-1網(wǎng)上書店首頁(yè)截圖在界面中,有網(wǎng)上書店的主要功能,此圖為未還沒(méi)登陸的界面,所以沒(méi)有顯示用戶名。在界面中,我們可以搜索圖書,查看圖書分類,把圖書放入購(gòu)物車,可以用戶登陸,管理員登陸等。5.1.2 主要實(shí)現(xiàn)技術(shù)網(wǎng)上書店的首頁(yè),顯示的是網(wǎng)店的基本信息,顧客打開網(wǎng)店的地址,就可以瀏覽圖書和購(gòu)買圖書,頁(yè)面有多個(gè)鏈接,點(diǎn)擊鏈接可以查看信息或者登陸。其主要的代碼如下:package .action;import com.opensymphony.xwork2.ActionContext;import com.opensymph

30、ony.xwork2.ActionSupport;import .service.*;import com.sun.corba.se.spi.activation.Server;import java.util.*;import model.User;import org.apache.struts2.ServletActionContext;public class LoginAction extends ActionSupport private String username;private String password;pr

31、ivate List booktype;private List book;private BookDetailControl bookcontrol; public void setBookcontrol(BookDetailControl bookcontrol) this.bookcontrol = bookcontrol; private UserControl usercontrol; public void setUsercontrol(UserControl usercontrol) this.usercontrol = usercontrol; public String Lo

32、ginIn() throws Exception if (getUsername() = null | getUsername().trim().equals()addFieldError(username, 用戶名不能為空);if (getPassword() = null | getPassword().trim().equals()addFieldError(password, 密碼不能為空);Map session = ActionContext.getContext().getSession();booktype= bookcontrol.ShowBookTypeList();boo

33、k = bookcontrol.ShowBookList(1);boolean returnCode=usercontrol.validUserNamandPass(username, password);if (returnCode=true) session.put(username , getUsername(); return SUCCESS;else addActionError(用戶名/密碼不匹配);return INPUT;public String AdminLoginIn() throws Exception if (getUsername() = null | getUse

34、rname().trim().equals()addFieldError(username, 用戶名不能為空);if (getPassword() = null | getPassword().trim().equals()addFieldError(password, 密碼不能為空);Map session = ActionContext.getContext().getSession();book = bookcontrol.listAllBook();boolean returnCode=usercontrol.validAdminNamandPass(username, passwor

35、d);System.out.print(returnCode);if (returnCode=true) session.put(username , getUsername(); return SUCCESS;else addActionError(用戶名/密碼不匹配);return INPUT;public String LoginOut() throws Exception Map session = ActionContext.getContext().getSession();booktype= bookcontrol.ShowBookTypeList();book = bookco

36、ntrol.ShowBookList(1);session.remove(username);return SUCCESS;public void setUsername(String username) this.username = username;public String getUsername() return this.username;public void setPassword(String password) this.password = password;public String getPassword() return this.password;public L

37、ist getBooktype() return booktype;public void setBooktype(List booktype) this.booktype = booktype;public List getBook() return book;public void setBook(List book) this.book = book;5.2后臺(tái)管理設(shè)計(jì)5.2.1 界面設(shè)計(jì)后臺(tái)截圖如下:圖5-2后臺(tái)管理圖后臺(tái)管理中分為兩部分,書籍管理部分和用戶管理部分:書籍管理的那個(gè)部分可以對(duì)書籍進(jìn)行添加新書籍和修改、刪除現(xiàn)有書籍:圖5-3書籍管理圖用戶管理部分可以添加新用戶和刪除修改現(xiàn)

38、有用戶:圖5-4用戶管理圖5.2.2 主要實(shí)現(xiàn)技術(shù)后臺(tái)管理部分的主要實(shí)現(xiàn)代碼 如下:package .action;import java.io.File;import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.List;import mons.io.FileUtils;import org.apache.struts2.ServletActionContext;import .model.Book;import .

39、model.Order;import .model.User;import .service.BookDetailControl;import .service.UserControl;public class AdminManageAction private List book;private Order oneorder;private File uploadFile;private String uploadFileFileName;public File getUploadFile() return uploadFile;public voi

40、d setUploadFile(File uploadFile) this.uploadFile = uploadFile;public String getUploadFileFileName() return uploadFileFileName;public void setUploadFileFileName(String uploadFileFileName) this.uploadFileFileName = uploadFileFileName;public Order getOneorder() return oneorder;public void setOneorder(O

41、rder oneorder) this.oneorder = oneorder;private Book onebook;private BookDetailControl bookcontrol;private UserControl usercontrol;private User oneuser;public UserControl getUsercontrol() return usercontrol;public void setUsercontrol(UserControl usercontrol) this.usercontrol = usercontrol;public Use

42、r getOneuser() return oneuser;public void setOneuser(User oneuser) this.oneuser = oneuser;public List getBook() return book;public void setBook(List book) this.book = book;public Book getOnebook() return onebook;public void setOnebook(Book onebook) this.onebook = onebook;public BookDetailControl get

43、Bookcontrol() return bookcontrol;public void setBookcontrol(BookDetailControl bookcontrol) this.bookcontrol = bookcontrol;public String DelBook() throws Exception System.out.println(.+onebook.getBookid();onebook=bookcontrol.SearchBooks(onebook.getBookid().get(0);bookcontrol.bookDel(onebook);return s

44、uccess;public String UpdateBook() throws Exception bookcontrol.bookUpdate(onebook);return success;public String AddBook() throws ExceptionSystem.out.print(1.); onebook.setTypeid(1);String targetDirectory = ServletActionContext.getRequest().getRealPath(/images);System.out.println(getUploadFileFileNam

45、e();onebook.setImageurl(getUploadFileFileName();File target=new File(targetDirectory,getUploadFileFileName(); FileUtils.copyFile(getUploadFile(), target); bookcontrol.addBook(onebook); book = bookcontrol.listAllBook(); return success; public String ShowAllBook() throws Exception book = bookcontrol.l

46、istAllBook();return success;public String QueryBook() throws Exception System.out.println(onebook.getBookid();onebook = bookcontrol.BookContent(onebook.getBookid();System.out.println(show bookcontent-+onebook.getBookname();return success;public String ListUser()List ulist=usercontrol.getUserlist();S

47、ervletActionContext.getRequest().setAttribute(ulist, ulist);System.out.print(+ulist.size()+ulist.get(0).getUsername();return success;public String DleUser()oneuser=usercontrol.getUser(oneuser);usercontrol.delUser(oneuser);return success;public String AddUser()System.out.println(+oneuser.getUsername(

48、)+oneuser.getPassword();oneuser.setIsAdmin(n);usercontrol.addUser(oneuser);return success;public String Register()System.out.println(+oneuser.getUsername()+oneuser.getPassword();oneuser.setIsAdmin(n);usercontrol.addUser(oneuser);return success;public String orderBook()throws Exception System.out.pri

49、ntln(=);System.out.println(=+oneorder.getOrderid();oneorder.setOrdertime(new Date();/添加到數(shù)據(jù)庫(kù)bookcontrol.CreateOrder(oneorder);return success;第六章 軟件測(cè)試6.1測(cè)試目標(biāo)測(cè)試的目標(biāo)是主要是測(cè)試本網(wǎng)上書店系統(tǒng)的基本功能是否都可以實(shí)現(xiàn),測(cè)試實(shí)現(xiàn)系統(tǒng)的代碼是否有錯(cuò),測(cè)試的范圍主要包括: 圖書類型瀏覽和圖書瀏覽、圖書搜索、購(gòu)物車、訂單、后臺(tái)管理等。6.2 測(cè)試環(huán)境6.2.1.硬件環(huán)境:處理器:Inter Pentium 4 2.0GHz或更高內(nèi)存:2G或以上。硬盤

50、空間:500GB或以上。光驅(qū):CD-ROM、DVD-ROM顯卡:ATI顯卡6.2.2.軟件環(huán)境:服務(wù)器:Tomcat 6.0版本。 操作系統(tǒng):Windows 8網(wǎng)絡(luò)協(xié)議:本機(jī)瀏覽器Internet Explore 6.0以上,建議分辨率為1024*768像素。數(shù)據(jù)庫(kù):mysql。開發(fā)環(huán)境:Eclipse 96.3 功能測(cè)試用例6.3.1 網(wǎng)店首頁(yè)測(cè)試表6-1 網(wǎng)店首頁(yè)模塊測(cè)試用例表功能描述測(cè)試網(wǎng)店首頁(yè)的功能用例目的測(cè)試功能是否都能實(shí)現(xiàn)前提條件無(wú)輸入數(shù)據(jù)期望的性能數(shù)據(jù)實(shí)際性能數(shù)據(jù)點(diǎn)擊登陸進(jìn)入登陸界面與期望值相同點(diǎn)擊圖書分類進(jìn)入圖書分類與期望值相同點(diǎn)擊搜索圖書開始搜素圖書與期望值相同點(diǎn)擊查看購(gòu)物車進(jìn)入購(gòu)物車與期望值相同點(diǎn)擊管理員登陸進(jìn)入管理員登陸界面與期望值相同點(diǎn)擊程序設(shè)計(jì)進(jìn)入與程序設(shè)計(jì)有關(guān)的圖書界面與期望值相同點(diǎn)擊外語(yǔ)學(xué)習(xí)進(jìn)入與外語(yǔ)學(xué)習(xí)有關(guān)的圖書界面與期望值相同點(diǎn)擊網(wǎng)絡(luò)通信進(jìn)入與網(wǎng)絡(luò)通信有關(guān)的圖書界面與期望值相同點(diǎn)擊生成訂單進(jìn)入生成訂單界面與期望值相同6.3.2 后臺(tái)管理模塊測(cè)試表6-2 后臺(tái)管理模塊測(cè)試用例表功能描述測(cè)試本系統(tǒng)后臺(tái)管理的功能用例目的測(cè)試功能是否都能實(shí)現(xiàn)前提條件管理員

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論