基于JSP的在線書店系統(tǒng)畢業(yè)設(shè)計論文_第1頁
基于JSP的在線書店系統(tǒng)畢業(yè)設(shè)計論文_第2頁
基于JSP的在線書店系統(tǒng)畢業(yè)設(shè)計論文_第3頁
基于JSP的在線書店系統(tǒng)畢業(yè)設(shè)計論文_第4頁
基于JSP的在線書店系統(tǒng)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于jsp的在線書店系統(tǒng)摘 要基于jsp的網(wǎng)上書店系統(tǒng)是基于jsp/servlet/bean的mvc架構(gòu),并使用mysql數(shù)據(jù)庫存儲數(shù)據(jù)來開發(fā)的系統(tǒng)。該論文首先介紹了基于jsp的網(wǎng)上書店的開發(fā)背景,然后根據(jù)瀑布模型的開發(fā)思路和步驟,一步步完成基于jsp的網(wǎng)上書店的開發(fā)。該系統(tǒng)模擬網(wǎng)上成熟的書店系統(tǒng),進行精簡之后,剔除一些復(fù)雜或?qū)嵱眯圆桓叩墓δ?,保留使用的精簡的功能完成了初期的畢設(shè)內(nèi)容:1、 用戶模塊:主要實現(xiàn)了用戶的登陸注冊個人中心的諸多功能;2、 圖書模塊:主要實現(xiàn)了圖書的展示;3、 購物車模塊:主要實現(xiàn)了系統(tǒng)的購買功能,將圖書添加入購物車;4、 訂單模塊:主要實現(xiàn)了系統(tǒng)的付款功能,講購物

2、車中的圖書生成訂單;并付款;5、 管理員模塊:主要實現(xiàn)了對圖書的上架下架,更改圖書數(shù)量和價格等功能。關(guān)鍵字:mvc;mysql;用戶模塊;圖書模塊;購物車模塊;訂單模塊;搜索模塊;管理員模塊;abstractonline bookstore system based jsp is a based on jsp/servlet/bean and mysqlserver database development system.thepaper firstly introduces thebackground of the development ofjspbasedonline bookstore

3、,and thenaccording to the developmentideas and steps ofthe waterfall model,step by stepto complete the developmentof online bookstore based on jsp.thesimulation system ofmature onlinebookstore system,streamlining,eliminate somecomplex orpracticality is not high,retain the use ofsimplifiedfunctioncom

4、pleted theinitialdesigncontent:1、 user module: mainly realizes thefunctions ofthe center:land registration of individual users2、 book module: the mainachievement of the books of theshow3、 cart module: the mainfunction ofthesystemto buybooks,add tocart4、 order module: mainly realizes thepaymentfuncti

5、on,to generate ordersaboutbooksin the shopping cartandpayment;5、 search module: the main achievement of the systems search function,this functiondepends mainly on therealization offuzzyquery6、 administrator module: mainly realizes theshelvesof booksoff the shelf,changethequantity and priceetc.key wo

6、rds:mvc;mysql; user module; book module; cart module; order module; search module; administrator module;目 錄第一章 緒論11.1課題背景11.2開發(fā)目標11.3開發(fā)工具11.4論文結(jié)構(gòu)2第二章 技術(shù)背景介紹42.1mvc架構(gòu)(jsp/servlet/bean)42.2java簡介42.3hibernate簡介52.4jquery簡介52.5ajax簡介5第三章 系統(tǒng)分析73.1需求分析73.2可行性分析73.2.1需求可行性73.2.2技術(shù)可行性8第四章 概要設(shè)計94.1架構(gòu)設(shè)計94.2數(shù)

7、據(jù)庫設(shè)計94.2.1數(shù)據(jù)庫概念設(shè)計94.2.2數(shù)據(jù)庫的e-r圖104.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計104.3用戶用例134.3.1用戶用例示意圖:134.3.2用戶用例說明134.3.2.1用戶用例說明134.3.2.2圖書用例說明154.3.2.3購物車用例說明174.3.2.4訂單用例說明194.4模塊設(shè)計204.4.1模塊劃分204.4.2模塊接口設(shè)計224.4.2.1用戶模塊234.4.2.2圖書模塊244.4.2.3管理員模塊254.4.2.4購物車模塊264.4.2.5訂單模塊274.5概要設(shè)計總結(jié)28第五章 詳細設(shè)計295.1用戶模塊設(shè)計295.1.1注冊模塊295.1.2登陸模塊3

8、05.1.2個人信息模塊325.1.2完善資料模塊355.1.2消費模塊385.2圖書模塊設(shè)計405.2.1圖書顯示模塊405.2.1.1圖書分頁顯示405.2.1.1圖書分類顯示445.2.2圖書信息查詢模塊445.2.2圖書收藏模塊465.3管理員模塊設(shè)計485.3.1圖書上架模塊485.3.2圖書下架模塊495.4購物車模塊設(shè)計505.4.1創(chuàng)建購物車模塊505.4.2加入購物車模塊515.4.2修改購物車模塊525.5訂單模塊設(shè)計535.5.1訂單生成模塊535.5.2訂單刪除模塊565.6詳細設(shè)計總結(jié)57第六章 系統(tǒng)測試586.1系統(tǒng)測試總體概述586.2項目測試名稱與測試內(nèi)容586

9、.3測試用例596.4測試結(jié)果59第七章 結(jié)語61第一章 緒論1.1課題背景隨著互聯(lián)網(wǎng)飛速發(fā)展的今天,互聯(lián)網(wǎng)已經(jīng)與我們的衣食住行息息相關(guān),在本次人代會上,更有人大代表提出,將網(wǎng)絡(luò)作為一個等同于電力系統(tǒng)的國家工程對待,可見現(xiàn)在互聯(lián)網(wǎng)對于現(xiàn)代社會的重要作用。而受互聯(lián)網(wǎng)沖擊最大的莫過于傳統(tǒng)商業(yè)市場了。電子商務(wù)隨著互聯(lián)網(wǎng)的崛起而不斷沖擊著傳統(tǒng)商務(wù)市場,地產(chǎn)大亨王健林和電商巨頭馬云當年的賭約在現(xiàn)在看來勝負已然揭曉,電子商務(wù)已經(jīng)侵占傳統(tǒng)商務(wù)的半壁江山。人們享受到了電商的快捷方便的同時,我們也可以利用這一市場大潮,以當當網(wǎng)為代表的在線書店也已進入廣大民眾的視野,所以,在線書店的經(jīng)營模式勢必要占有書籍市場的大

10、部分份額。根據(jù)這一市場環(huán)境下,我們有必要做一款在線書店系統(tǒng),并以該系統(tǒng)為主題做一篇畢業(yè)論文。1.2開發(fā)目標利用eclipse開發(fā)工具,通過sqlyog操作mysql數(shù)據(jù)庫,tomcat作為系統(tǒng)服務(wù)器,開發(fā)出一款基于jsp/servlet/bean的mvc架構(gòu)的在線書店系統(tǒng)。該系統(tǒng)需要具備在線書店通用的登陸注冊購物車等功能,還要實現(xiàn)管理員,搜索,訂單等功能完善在線書店的功能設(shè)計。我們的目標是開發(fā)出一款功能齊全,操作流暢,能夠提供用戶良好體驗的購書系統(tǒng),同時保證沒有明顯的邏輯錯誤和bug,避免出現(xiàn)惡性bug。1.3開發(fā)工具1) eclipse 4.2.0一個開發(fā)源代碼的、基于java的可擴展開發(fā)平

11、臺,是java開發(fā)的常用和最實用的開發(fā)平臺之一,該平臺自帶很多實用插件并且可以擴展。2) sqlyog 11.11 一個易于使用的、快速而簡潔的圖形化管理mysql數(shù)據(jù)庫的工具,它能夠在任何地點有效地管理數(shù)據(jù)庫。3) tomcat 7.0.55一個免費的開放源代碼的web應(yīng)用服務(wù)器,數(shù)據(jù)輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試jsp程序的首選,所以,該服務(wù)器也是本項目最適合的服務(wù)器。4) ie/firefoxie:美國微軟公司開發(fā)的一款網(wǎng)頁瀏覽器,是國內(nèi)最普及的一款瀏覽器,所以我們的項目必須通過ie瀏覽器的考驗。firefox:一款開源的網(wǎng)頁瀏覽器,

12、市場占有率最高的瀏覽器之一,并且因為其開源和firebug的存在,成為眾多程序員的最愛。5) firebug 2.0.9firebug是firefox下的一個擴展,能夠調(diào)試所有網(wǎng)站語言,但firebug最吸引人的就是javascript調(diào)試功能,使用起來非常方便,而且在各種瀏覽器下都能使用(ie,firefox,opera, safari)。除此之外,其他功能還很強大,比如html,css,dom的查看與調(diào)試,網(wǎng)站整體分析等等。總之就是一整套完整而強大的 web開發(fā)工具。再有就是其為開源的軟件。6) mysql 6.0是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在web應(yīng)用方面

13、mysql是最好的rdbms應(yīng)用軟件之一,并且因為其開放源碼這一特點,一些中小型網(wǎng)站的開發(fā)都選擇mysql作為網(wǎng)站數(shù)據(jù)庫。所以該項目中,mysql是我們最好的選擇。1.4論文結(jié)構(gòu)全文共分為七章:第一章 緒論:主要介紹了課題的研究背景,接著點出課題的開發(fā)目標,同時介紹了我們本次畢業(yè)設(shè)計需要使用的工具,最后介紹了本次論文的結(jié)構(gòu)。第二章 技術(shù)背景介紹:對被系統(tǒng)所涉及到的主要技術(shù)進行一個簡單的介紹.第三章 系統(tǒng)分析:通過需求分析、可行性分析等幾個方面對該系統(tǒng)進行全方位的分析處理,為以后的概要設(shè)計做準備。第四章 概要設(shè)計:根據(jù)需求分析結(jié)果,對本系統(tǒng)進行概要設(shè)計,對模塊劃分,功能邏輯,數(shù)據(jù)庫一一進行設(shè)計,

14、作出類圖和e-r圖,作出整套解決方案,為以后的詳細設(shè)計做準備。第五章 詳細設(shè)計:根據(jù)概要設(shè)計結(jié)果,對本系統(tǒng)進行詳細設(shè)計,給出該畢設(shè)的關(guān)鍵實現(xiàn)和核心代碼,并展示完成后的系統(tǒng)界面,著重介紹基于jsp的網(wǎng)上書城的實現(xiàn)邏輯和實現(xiàn)方法。第六章 系統(tǒng)測試:介紹并使用了比較常用的一些測試方法,并用這些方法進行單元測試和系統(tǒng)測試。第七章 結(jié)語:總結(jié)該畢設(shè)的亮點與不足,正視開發(fā)成果,并對以后的開發(fā)工作作出美好展望。第二章 技術(shù)背景介紹該系統(tǒng)是才采用jsp/servlet/bean技術(shù)的mvc架構(gòu),在window7 64位環(huán)境下,運用面向?qū)ο蟮木幊趟枷?,采用eclipse開發(fā)工具以及javabeans編寫完成設(shè)計

15、與開發(fā)基于c/s架構(gòu)的在線書店。2.1mvc架構(gòu)(jsp/servlet/bean)mvc全名是model view controller,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面 顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。mvc被獨特的發(fā)展起來用于 映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。jsp全名為java server pages,其根本是一個簡化的servlet設(shè)計,它是一種動態(tài)網(wǎng)頁技術(shù)標準,它是在傳統(tǒng)的網(wǎng)頁

16、html文件中插入java程序段,從而形成jsp文件。用jsp開發(fā)的web應(yīng)用是跨平臺的,技能在linux下運行,也能在其他操作系統(tǒng)上運行。servlet實在服務(wù)器上運行的小程序。一個 servlet 就是 java 編程語言中的一個類,它被用來擴展服務(wù)器的性能,服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用程序。雖然 servlet 可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴展 web 服務(wù)器的應(yīng)用程序。javabean 是一種java語言寫成的可重用組件。為寫成javabean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。javabean 通過提供符合一致性設(shè)計模式的公共方

17、法將內(nèi)部域暴露成員屬性。眾所周知,屬性名稱符合這種模式,其他java 類可以通過自身機制發(fā)現(xiàn)和操作這些javabean 的屬性。2.2java簡介java 編程語言是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于pc、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群java自面世后就非常流行,發(fā)展迅速,對c+語言形成有力沖擊。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,java更具備了

18、顯著優(yōu)勢和廣闊前景。java分為三個體系,分別為java se(j2se,java2 platform standard edition,標準版),javaee(j2ee,java 2 platform, enterprise edition,企業(yè)版),java me(j2me,java 2 platform micro edition,微型版)。2.3hibernate簡介hibernate是一個開放源代碼的對象關(guān)系映射框框架,它對jdbc進行了非常輕量級的對象封裝,使得java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 hibernate可以應(yīng)用在任何使用jdbc的場合,既可以在j

19、ava的客戶端程序使用,也可以在servlet/jsp的web應(yīng)用中使用,最具革命意義的是,hibernate可以在應(yīng)用ejb的j2ee架構(gòu)中取代cmp,完成數(shù)據(jù)持久化的重任。hibernate的核心接口一共有6個,分別為:session、sessionfactory、transaction、query、criteria和configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。2.4jquery簡介jquery是繼prototype之后又一個優(yōu)秀的javascript庫。它是輕量級的js庫 ,它兼容css3,還兼容各種瀏覽

20、器。jquery使用戶能更方便地處理html(標準通用標記語言下的一個應(yīng)用)、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供ajax交互。jquery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細,同時還有許多成熟的插件可供選擇。jquery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需要定義id即可。jquery是一個兼容多瀏覽器的javascript庫,核心理念是write less,do more(寫得更少,做得更多)。jquery是免費、開源的,使用mit許可協(xié)議。jquery的語法設(shè)計可以使開發(fā)者

21、更加便捷,例如操作文檔對象、選擇dom元素、制作動畫效果、事件處理、使用ajax以及其他功能。2.5ajax簡介ajax即“asynchronous javascript and xml”(異步j(luò)avascript和xml),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。ajax 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,ajax 可以使網(wǎng)頁實現(xiàn)異步更新。這意味著可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進行更新。ajax不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強的web應(yīng)用程序的技術(shù)。ajax 在瀏覽器與 web 服務(wù)器之間使用異步數(shù)據(jù)傳輸(h

22、ttp 請求),這樣就可使網(wǎng)頁從服務(wù)器請求少量的信息,而不是整個頁面。ajax 可使因特網(wǎng)應(yīng)用程序更小、更快,更友好。ajax 是一種獨立于 web 服務(wù)器軟件的瀏覽器技術(shù)。ajax 基于下列 web 標準:javascript、xml、html、css在 ajax 中使用的 web 標準已被良好定義,并被所有的主流瀏覽器支持。ajax 應(yīng)用程序獨立于瀏覽器和平臺。第三章 系統(tǒng)分析3.1需求分析本畢設(shè)課題主要是模擬主流的網(wǎng)上書店的成熟網(wǎng)站,作出我自己的在線書店,該項目必須包含一個網(wǎng)上書店所包含的大部分使用功能,努力提高用戶體驗和安全性。綜上所述,該課題項目需要包含以下功能:l 用戶登錄和注冊等

23、功能:為用戶提供登錄、注冊、修改個人信息等功能。l 圖書的顯示和查詢等功能:將圖書信息顯示到前臺頁面供用戶選擇,并對信息進行分類存儲。l 圖書管理:通過管理員實體對圖書進行上架下架的相關(guān)操作,并且能夠修改圖書的信息。l 購物車管理:用來存儲用戶加入購物車操作后的圖書,同時用戶付款是可以自動生成訂單存儲到數(shù)據(jù)庫中。l 訂單管理:當用戶付款時講購物車中的商品自動生成訂單并保存到數(shù)據(jù)庫中,同時為用戶提供訂單查詢功能,同時為管理員提供訂單查詢功能。3.2可行性分析3.2.1需求可行性在線書店是時代的產(chǎn)物,是順應(yīng)互聯(lián)網(wǎng)的必然,是以后書店的主要形態(tài)之一:l 信息時代的時代大潮:人們的互聯(lián)網(wǎng)思維的形成,人們

24、可以不受時間、空間的限制,不受傳統(tǒng)購物的限制,可以隨時隨地隨心隨性的在網(wǎng)上瀏覽、購物、評價、吐槽。l 蓬勃發(fā)炸您的電子商務(wù)市場:在網(wǎng)上做書店,商家可以面對全球的消費者,而一個消費者同時可以在全球任何一家網(wǎng)上書店選購自己喜歡的商品,這種環(huán)境下給商家更大的挑戰(zhàn)和商機,給消費者更大的選擇和實惠。l 物流系統(tǒng)的快速成長:在電子商務(wù)領(lǐng)域的刺激下,物流系統(tǒng)飛速發(fā)展,消費者當天下單,當天到貨,讓消費者感受到網(wǎng)上購物的便捷,讓消費者更愿意在網(wǎng)上購買自己的商品。l 更加低廉的價格:網(wǎng)上商店不僅節(jié)約成本,而且有更具挑戰(zhàn)的競爭,促使網(wǎng)購的物品更加的實惠和低廉,這也是當前消費者更愿意在網(wǎng)上購買自己需要的商品的原因。l

25、 更加契合時代需求:當前的年輕人越來越追求時尚、追求個性,注重購物環(huán)境,網(wǎng)上購物,更加體現(xiàn)個性化的購物過程。綜上所述,開發(fā)的在線書店系統(tǒng)是一款適應(yīng)時代潮流并且有很好發(fā)展前景的產(chǎn)品,并且我能夠把在學校中學習的知識運用到實際開發(fā)中,讓我能夠積累項目經(jīng)驗,能夠更好地適應(yīng)以后的工作和學習。3.2.2技術(shù)可行性隨著近幾年互聯(lián)網(wǎng)的飛速發(fā)展,各種各樣的新技術(shù)紛紛被開發(fā)出來,經(jīng)過用戶和企業(yè)的淘汰,留下一批比較成熟的技術(shù)體系,并且隨著用戶需求的與日俱增,還有更多更好地技術(shù)漸漸進入人們的視野,所以,web開發(fā)技術(shù)變得越來越繁多,也越來越強大。而我們本次畢設(shè)所涉及的語言:j2ee是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架

26、構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進而提高可移植性、安全與再用價值。j2ee核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共同的標準及規(guī)格,讓各種依循j2ee架構(gòu)的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,企業(yè)內(nèi)部或外部難以互通的窘境。我們本次畢設(shè)所涉及的jsp/servlet/bean就是基于j2ee的技術(shù),同時持久性框架hibernate更是趨近成熟的輕量級框架。綜上所述,我的本次畢業(yè)設(shè)計課題在技術(shù)層面具有完全的可行性。第四章 概要設(shè)計4.1架構(gòu)設(shè)計該網(wǎng)上書城是模擬成熟網(wǎng)上書城開發(fā),實現(xiàn)了常用的大部分功能

27、。在技術(shù)上,使用了jsp/servlet/bean的開發(fā)架構(gòu),本系統(tǒng)分為3層,分別為:表示層(視圖)、控制層(控制器)、模型層。表示層主要是有jsp文件組成,主要負責顯示頁面和與用戶交互;控制層主要是servlet文件組成,主要負責接收前臺數(shù)據(jù)并將數(shù)據(jù)交給模型層處理;模型層主要負責將接收的數(shù)據(jù)進行邏輯處理并將數(shù)據(jù)存儲到數(shù)據(jù)庫中。數(shù)據(jù)持久化采用hibernate持久層框架來處理,大大提高的編碼效率。4.2數(shù)據(jù)庫設(shè)計4.2.1數(shù)據(jù)庫概念設(shè)計該系統(tǒng)的數(shù)據(jù)庫主要涉及到的實體有:圖書、用戶、訂單項、訂單,同時只有這些實體并不能完全存儲系統(tǒng)的數(shù)據(jù),還需要的實體有:收藏實體。圖書的屬性有:圖書名稱、圖書作者

28、、圖書出版社、圖書價格、圖書封面、圖書介紹、圖書庫存、圖書折扣、圖書類型等。用戶的屬性有:用戶名稱、用戶密碼、用戶真實姓名、用戶郵箱、用戶地址、用戶詳細地址、用戶郵編、用戶電話號碼、用戶余額、用戶性別等,用戶頭像地址。訂單的屬性有:訂單總價、訂單生成日期、訂單狀態(tài)、訂單付款方式、訂單所屬用戶等。訂單項的屬性有:該訂單項包含的商品、該訂單項所屬的訂單、該訂單包含的商品的數(shù)量等。收藏實體主要的屬性有:該收藏所屬的用戶,該收藏包含的商品。因為用戶和商品時多對多的關(guān)系,所以創(chuàng)建一個收藏表來表示中間表,用來存儲用戶的收藏信息。由于圖書封面和用戶圖像是一張圖片,為了減輕數(shù)據(jù)庫和服務(wù)器的負擔,將圖片保存在本

29、地硬盤中,而只把圖片名保存到數(shù)據(jù)庫中,當讀取該數(shù)據(jù)時,取出該圖片名并拼接成相對地址獲取圖片信息并返回給前臺,因為圖片名繁多且雜亂,所以單獨拿出來放進一個表中,簡化管理。4.2.2數(shù)據(jù)庫的e-r圖圖4-1 數(shù)據(jù)庫e-r圖由于各個實體的屬性過多,所以摘選幾個比較典型的屬性做e-r圖,如圖可知,書和訂單項為多對多的關(guān)系,訂單項和訂單為一對多的關(guān)系,訂單和用戶為多對一的關(guān)系,最關(guān)鍵的關(guān)聯(lián)關(guān)系也就是這幾個。4.2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計該系統(tǒng)是典型的電子商務(wù)系統(tǒng),共創(chuàng)建了七張表:1) 圖書表(tbl_book)圖書表主要存儲與圖書有關(guān)的所有信息,因為是最基本的數(shù)據(jù)表,所以沒有外鍵,主鍵是自增生成,具體字段

30、說明如下表4-1所示:表4-1 圖書信息表字段名類型長度是否不為空鍵值備注idint30是主鍵圖書idnamevarchar30是無圖書名稱pricedouble30,2是無圖書價格numint30是無圖書庫存discountint30否無圖書折扣authorvarchar30是無圖書作者publishvarchar30是無圖書出版社introducevarchar30是無圖書介紹typevarchar30是無圖書類型2) 用戶信息表(tbl_customer)用戶信息表儲存了與用戶信息相關(guān)的所有數(shù)據(jù),由于用戶信息表為基本的數(shù)據(jù)表,所以該數(shù)據(jù)表同樣沒有外鍵,該表主鍵是自增產(chǎn)生,具體字段說明如下

31、表4-2所示。表4-2 用戶信息表字段名類型長度是否不為空鍵值備注idint30是主鍵用戶idnamevarchar30是無用戶名稱passwdvarchar30是無用戶密碼zipvarchar30否無用戶郵編addressvarchar30否無用戶詳細地址telephonevarchar30否無用戶電話emailvarchar30否無用戶郵箱balancevarchar30是無用戶余額real_namevarchar30否無用戶真實姓名sexvarchar30否無用戶性別addrevarchar30否無所在城市3) 訂單信息表(tbl_order)訂單信息表存儲了與訂單信息相關(guān)的所有數(shù)據(jù),由

32、于訂單與用戶的關(guān)聯(lián)為多對一,多以在訂單表中用一個customer_id外鍵關(guān)聯(lián)用戶表,該表主鍵是自增產(chǎn)生,具體字段說明如下表3.3所示。表3-3 訂單信息表字段名類型長度是否不為空鍵值備注idint30是主鍵訂單idcostdouble30,2是無訂單總價orderdatedate無是無訂單日期customer_idint30是外鍵所屬用戶statuevarchar30是無訂單狀態(tài)way_payvarchar30是無付款方式4)訂單項信息表訂單項信息表主要存儲與訂單項有關(guān)的所有數(shù)據(jù),由于訂單項實體與訂單是多對一的關(guān)聯(lián)關(guān)系,所以訂單項表中有order_id外鍵來關(guān)聯(lián)訂單表,由于訂單項實體與圖書是

33、多對一的關(guān)聯(lián)關(guān)系,訂單項表中有book_id外鍵來關(guān)聯(lián)圖書信息表,訂單信息表的主鍵是自增產(chǎn)生,具體字段說明于下表4-4所示。表4-4 訂單項信息表字段名類型長度是否不為空鍵值備注idint30是主鍵訂單項idnumint30是無圖書數(shù)量order_idint30是外鍵所屬訂單book_idint30是外鍵包含圖書5)收藏信息表(tbl_collection)收藏信息表主要存儲了與收藏有關(guān)的所有數(shù)據(jù),由于用戶與圖書的多對多關(guān)系,所以存儲用戶的收藏信息需要一個中間表,即收藏信息表,因此,收藏信息表有兩個外鍵,分別為book_id,customer_id,收藏信息表的主鍵是自增生成,具體字段說明于下

34、表4-5所示。表4-5 收藏信息表字段名類型長度是否不為空鍵值備注idint30是主鍵收藏idbook_idint30是外鍵圖書idcustomer_idint30是外鍵用戶id6)圖書封面表(tbl_book_picture)圖書封面表主要存儲了圖書的封面圖片所在的地址,由于物理地址的復(fù)雜,為了簡化圖書表,將圖書封面信息單獨拿出來成為一個表,該表有一個外鍵book_id,圖書封面表的主鍵是自增生成的,具體字段說明于下表4-6所示。表4-6 圖書封面表字段名類型長度是否不為空鍵值備注idint30是主鍵封面idbook_idint30是外鍵圖書idroutevarchar30是無封面地址7)

35、用戶頭像表(tbl_customer_picture)用戶頭像表主要存貯了用戶頭像圖片所在的地址,理由同上,是為了簡化用戶表,將用戶頭像表單獨拿出來成為一個表,該表有一個外鍵customer_id,用戶頭像表的主鍵是自增生成的,具體字段說明于下表4-7所示。表4-7 用戶頭像表字段名類型長度是否不為空鍵值備注idint30是主鍵頭像idcustomer_idint30是外鍵用戶idroutevarchar30是無頭像地址七張數(shù)據(jù)表將本系統(tǒng)中的所有數(shù)據(jù)都包含其中,組成了系統(tǒng)中的底層數(shù)據(jù)存儲結(jié)構(gòu)。4.3用戶用例4.3.1用戶用例示意圖:用戶用例主要有:用戶登錄、用戶注冊、完善資料、用戶訂單、用戶收

36、藏、修改密碼、用戶退出。圖書用例主要有:圖書顯示、圖書上架、圖書下架、圖書信息修改、圖書信息查詢、圖書分類、圖書收藏。購物車用例主要有:購物車的創(chuàng)建、購物車顯示、加入購物車、修改購物車信息、清空購物車。訂單用例主要有:訂單的創(chuàng)建、訂單的刪除。4.3.2用戶用例說明4.3.2.1用戶用例說明表4-8 用戶登錄用例用例編號uc01用例名稱用戶用例用例概述用戶登錄主參與者用戶前置條件用戶進入系統(tǒng)主頁面基本事件流步驟活動a1用戶向系統(tǒng)發(fā)出登錄的請求a2用戶輸入賬號密碼和驗證碼,系統(tǒng)在后臺驗證信息是否正確擴展事件流1a用戶名不存在,彈出提示信息1b驗證碼輸入錯誤,返回提示信息2a用戶密碼輸入錯誤,彈出提

37、示信息表4-9 用戶完善信息用例用例編號uc02用例名稱用戶用例用例概述用戶完善個人信息主參與者用戶前置條件用戶已經(jīng)成功登陸基本事件流步驟活動a1系統(tǒng)為用戶顯示完善信息頁面a2系統(tǒng)將用戶填寫的信息存入數(shù)據(jù)庫擴展事件流1a用戶輸入錯誤,返回提示信息1b用戶提交成功,返回個人信息頁面表4-10 用戶修改密碼用例用例編號uc03用例名稱用戶用例用例概述用戶修改密碼主參與者用戶前置條件用戶已經(jīng)成功登陸基本事件流步驟活動a1用戶向系統(tǒng)提出修改密碼請求a2用戶輸入舊密碼和新密碼,系統(tǒng)在后臺驗證信息的正確性擴展事件流1a用戶輸入舊密碼錯誤,返回提示信息并刷新頁面1b用戶輸入新密碼格式不正確或兩次輸入不一致,

38、彈出警告信息表4-11 用戶退出用例用例編號uc04用例名稱用戶用例用例概述用戶退出主參與者用戶前置條件用戶已經(jīng)成功登陸基本事件流步驟活動a1用戶向系統(tǒng)提出退出登錄請求a2系統(tǒng)跳轉(zhuǎn)到首頁并恢復(fù)到未登錄狀態(tài)4.3.2.2圖書用例說明表4-12 圖書上架用例用例編號uc01用例名稱圖書用例用例概述圖書上架主參與者管理員前置條件管理員已經(jīng)成功登陸基本事件流步驟活動a1管理員向系統(tǒng)提出圖書上架請求,系統(tǒng)返回圖書上架頁面a2管理員輸入圖書基本信息,并上傳圖書封面擴展事件流1a圖書已經(jīng)上架成功,返回提示信息1b必填項沒有填寫,彈出警告表4-13 圖書收藏用例用例編號uc02用例名稱圖書用例用例概述圖書收藏

39、主參與者用戶前置條件用戶已經(jīng)成功登陸基本事件流步驟活動a1用戶向系統(tǒng)提出收藏圖書的請求a2系統(tǒng)將圖書收藏信息存入數(shù)據(jù)庫中并返回提示信息擴展事件流1a用戶已經(jīng)收藏該圖書,返回提示信息1b用戶未登錄,返回提示信息并跳轉(zhuǎn)到登陸頁面表4-14 圖書信息修改用例編號uc03用例名稱圖書用例用例概述圖書信息修改主參與者管理員前置條件管理員已經(jīng)成功登陸基本事件流步驟活動a1管理員向系統(tǒng)提出修改圖書信息的請求,系統(tǒng)返回圖書信息修改頁面a2管理員輸入修改后的信息擴展事件流1a管理員輸入的信息不符合規(guī)范,彈出警告框表4-15 圖書下架用例用例編號uc04用例名稱圖書用例用例概述圖書下架主參與者管理員前置條件管理員

40、已經(jīng)成功登陸基本事件流步驟活動a1管理員向系統(tǒng)提出圖書下架的請求a2系統(tǒng)在后臺將圖書信息刪除,并返回首頁彈出提示信息擴展事件流1a如果圖書已經(jīng)被下架,返回首頁并彈出提示信息4.3.2.3購物車用例說明表4-16 購物車創(chuàng)建用例用例編號uc01用例名稱購物車用例用例概述購物車創(chuàng)建主參與者系統(tǒng)前置條件用戶成功訪問系統(tǒng)基本事件流步驟活動a1用戶向系統(tǒng)提出登錄請求a2系統(tǒng)成功驗證用戶信息后,在session創(chuàng)建一個購物車對象擴展事件流1a用戶信息未通過,系統(tǒng)返回登錄頁面給出提示信息表4-17 加入購物車用例用例編號uc02用例名稱購物車用例用例概述加入購物車主參與者用戶前置條件用戶已經(jīng)成功登陸基本事件

41、流步驟活動a1用戶向系統(tǒng)提出將圖書加入購物車的請求a2系統(tǒng)將圖書對象存儲到購物車對象中并返回提示信息擴展事件流1a購物車中已經(jīng)存在該圖書,將圖書的數(shù)量+1表4-18 購物車修改用例用例編號uc03用例名稱購物車用例用例概述修改購物車信息主參與者用戶前置條件用戶已經(jīng)成功登陸并訪問購物車信息頁面基本事件流步驟活動a1用戶通過刪除、清空和修改三個按鈕修改購物車信息a2系統(tǒng)根據(jù)用戶的不同操作修改session中的shopcar對象,并刷新頁面擴展事件流1a如果填入圖書數(shù)量大于圖書庫存量,彈出警告框表4-19 購物車清空用例用例編號uc04用例名稱購物車用例用例概述清空購物車主參與者用戶前置條件用戶已經(jīng)

42、成功登陸并訪問購物車信息頁面基本事件流步驟活動a1用戶通過清空按鈕清空購物車信息a2系統(tǒng)將session中的shopcar對象清空4.3.2.4訂單用例說明表4-20 訂單創(chuàng)建用例用例編號uc01用例名稱訂單用例用例概述訂單創(chuàng)建主參與者用戶前置條件用戶付款基本事件流步驟活動a1用戶向系統(tǒng)提出提交訂單操作a2系統(tǒng)將購物車中的圖書信息存儲到剛創(chuàng)建的訂單對象中,并存儲到數(shù)據(jù)庫中表4-21 訂單刪除用例用例編號uc02用例名稱訂單用例用例概述未完成訂單刪除主參與者用戶前置條件用戶已經(jīng)成功登陸并進入個人中心頁面基本事件流步驟活動a1用戶向系統(tǒng)提出刪除訂單的請求a2系統(tǒng)將相對應(yīng)的訂單刪除,并返回提示信息擴

43、展事件流1a如果訂單為未完成狀態(tài),將訂單中的商品數(shù)量重新加入商品庫存中1b如果訂單為完成狀態(tài),彈窗在此確認是否執(zhí)行此操作4.4模塊設(shè)計4.4.1模塊劃分該系統(tǒng)主要做出能夠運行流暢的在線書店,主要由5個主要模塊組成,他們分別為:用戶模塊、管理員模塊、圖書模塊、購物車模塊和訂單模塊。用戶模塊主要負責系統(tǒng)用戶的注冊、登陸等功能,其中用戶的個人中心還包括完善資料、用戶訂單、用戶收藏等功能,還有對用戶訂單和用戶收藏的刪除功能。管理員模塊主要負責系統(tǒng)管理員能操作的功能,其中包括圖書上架功能,圖書下架功能,修改圖書信息功能等,由于管理員是有固定的賬戶,所以管理員同用戶共用一個登陸頁面。圖書模塊主要負責有關(guān)圖

44、書的相關(guān)功能,其中包括圖書顯示功能,圖書信息查詢功能,圖書分類功能等。購物車模塊主要負責有關(guān)購物車的相關(guān)操作,其中包括購物車的創(chuàng)建,加入購物車功能,購物車顯示功能,購物車清空功能,修改購物車信息功能等。訂單模塊主要負責有關(guān)訂單的相關(guān)操作,其中包括訂單的生成,訂單信息的查詢,訂單的刪除等功能。該系統(tǒng)通過概要設(shè)計的模塊劃分,使得該系統(tǒng)的模塊結(jié)構(gòu)和各個模塊的功能有了一個大致的把握,有助于我們以后的詳細設(shè)計和代碼的編寫該系統(tǒng)的整體模塊劃分如下圖所示。圖4-2 圖書模塊示意圖圖4-3 用戶模塊示意圖圖4-4 管理員模塊示意圖圖4-5 購物車模塊示意圖圖4-6 訂單模塊示意圖4.4.2模塊接口設(shè)計該系統(tǒng)根

45、據(jù)功能劃分,可以劃分為用戶模塊、管理員模塊、購物車模塊、圖書模塊、訂單模塊等五大模塊,管理員模塊可以歸入圖書模塊,但是為了讓責任更加明確,將管理員模塊單獨劃分出來。在這些大模塊中還有若干小的功能模塊,這些功能模塊組成了完整的系統(tǒng),現(xiàn)在就要對這些模塊的接口進行概要設(shè)計。4.4.2.1用戶模塊1)注冊模塊輸入:必填:用戶名、密碼、確認密碼;選填:家庭住址、聯(lián)系電話、郵編、郵箱。處理:判定用戶名是否存在;判定兩次密碼輸入是否一致;判定用戶名密碼輸入格式是否正確輸出:判斷通過:用戶注冊成功;判斷失敗:用戶注冊失敗。2)登陸模塊輸入:用戶名、密碼、驗證碼處理:判斷用戶名是否存在; 判斷密碼是否輸入正確;

46、判斷驗證碼是否輸入正確;輸出:判斷通過:用戶登錄成功;判斷失敗:用戶登錄失??;3) 個人信息模塊:輸入:無;處理:判斷是否登錄成功;輸出:判斷通過:用戶進入個人信息主頁;判斷失敗:用戶進入登錄頁面;4) 完善信息模塊:輸入:可選:用戶名,用戶頭像圖片、真實姓名、性別、所在城市、詳細地址、郵箱、郵編、聯(lián)系方式;處理:判斷輸入的信息是否符合規(guī)范輸出:判斷通過:用戶完善信息成功;判斷失敗:用戶完善信息失敗,刷新頁面;5) 用戶頭像上傳模塊:輸入:用戶的頭像圖片信息;處理:無;輸出:用戶上傳圖片成功,繼續(xù)完善個人信息;6) 用戶充值模塊:輸入:充值的面額,選擇充值的銀行處理:判斷充值的數(shù)值是否符合規(guī)范

47、輸出:判斷通過:用戶充值成功,返回個人中心主頁;判斷失敗:用戶充值失敗,返回提示信息并刷新頁面;7) 用戶消費模塊:輸入:訂單的總價cost處理:判斷訂單的總價是否大于用戶的余額;輸出:判斷通過:用戶付款失敗,返回充值頁面;判斷失敗:用戶付款成功,返回首頁;8) 訂單、收藏信息顯示模塊:輸入:無處理:判斷是否有無效的信息;判斷是否有更多或詳細的請求輸出:判斷通過:跳轉(zhuǎn)到更多或詳細的頁面顯示相應(yīng)的信息;判斷錯誤:留在原頁面;9) 訂單、收藏刪除模塊:輸入:無處理:判斷訂單的狀態(tài)是否已經(jīng)完成;輸出:判斷通過:刪除訂單、收藏成功,刷新頁面;判斷失敗:彈出提示框,確定是否刪除該訂單;4.4.2.2圖書

48、模塊1)圖書顯示模塊:輸入:圖書信息表中的所有信息處理:判斷圖書信息是否為有效信息輸出:判斷通過:將圖書信息分頁顯示;判斷失敗:將無效信息剔除后分頁顯示;2)圖書信息查詢模塊:輸入:被選中圖書的詳細信息;處理:判斷圖書信息是否有效;判斷是否能從數(shù)據(jù)庫中找到該圖書信息;輸出:圖書詳細信息在新頁面顯示;3)圖書分類功能模塊:輸入:要顯示的圖書的類別;處理:將相關(guān)類別的圖書從數(shù)據(jù)庫中提取出來;輸出:頁面顯示相關(guān)類別的圖書并分頁;4)圖書收藏模塊:輸入:要收藏的圖書的信息;處理:判斷是否已經(jīng)收藏該圖書;輸出:判斷正確:收藏失敗,返回提示信息;判斷錯誤:收藏成功,返回提示信息;4.4.2.3管理員模塊1

49、)圖書上架模塊:輸入:圖書名稱、圖書封面圖片、圖書價格、圖書出版社、圖書庫存量、圖書折扣、圖書類型、圖書介紹;處理:判斷所有輸入是否符合規(guī)范;判斷上架圖書是否已經(jīng)上架;輸出:判斷正確:圖書上架成功,跳轉(zhuǎn)到首頁;判斷失敗:圖書上架失敗,返回提示信息,跳轉(zhuǎn)到首頁;2)圖書封面上傳模塊:輸入:圖書封面圖片信息;處理:無;輸出:圖書封面上傳成功3)圖書下架模塊:輸入:下架圖書的id信息處理:判斷圖書是否可以下架;輸出:圖書下架成功,返回首頁;4)圖書信息修改模塊:輸入:圖書折扣;圖書庫存;處理:判斷輸入信息是否符合規(guī)范;輸出:判斷正確:圖書信息修改成功,返回首頁;判斷錯誤:圖書信息修改失敗,刷新頁面;

50、4.4.2.4購物車模塊1)購物車創(chuàng)建模塊:輸入:無;處理:判斷用戶是否已經(jīng)成功登陸;輸出:判斷正確:購物車成功創(chuàng)建;判斷錯誤:購物車創(chuàng)建失敗,用戶重新登陸;2)加入購物車模塊:輸入:相關(guān)的圖書信息;處理:判斷購物車中是否已經(jīng)存在該商品;輸出:判斷正確:將購物車中商品的數(shù)量+1;判斷錯誤:將商品信息加入購物車對象中,返回購物車頁面;3)購物車顯示模塊:輸入:無;處理:判斷用戶是否已經(jīng)登錄;輸出:判斷正確:成功顯示購物車頁面,顯示所有購物車中的商品信息;判斷錯誤:購物車顯示失敗,跳轉(zhuǎn)到登陸頁面;4)購物車信息修改模塊:輸入:購物車中商品的數(shù)量處理:判斷購物車商品數(shù)量是否大于商品庫存;輸出:判斷正

51、確:修改信息成功,刷新頁面;判斷錯誤:修改信息失敗,刷新頁面;5)清空購物車模塊:輸入:無;處理:判斷購物車對象是否存在;輸出:判斷正確:清空購物車對象中的所有商品信息,跳轉(zhuǎn)到首頁;判斷錯誤:清空購物車失敗,跳轉(zhuǎn)到登陸頁面;4.4.2.5訂單模塊1)訂單生成模塊:輸入:購物車對象;處理:判斷購物車對象中會否存在圖書對象;輸出:判斷正確:訂單生成成功,若為在線付款跳轉(zhuǎn)到付款頁面,否則跳轉(zhuǎn)到首頁并返回提示信息;判斷錯誤:訂單生成失敗,跳轉(zhuǎn)到首頁并返回提示信息;2)訂單查詢模塊:輸入:無;處理:判斷用戶是否成功登陸;輸出:判斷正確:訂單查詢成功,并可查看更多和詳細信息;判斷錯誤:訂單查詢失敗,返回用

52、戶登錄頁面并返回提示信息;3)訂單刪除模塊:輸入:訂單的id信息;處理:判斷訂單是否為已完成訂單;輸出:判斷正確:訂單刪除成功,跳轉(zhuǎn)到個人中心主頁并返回提示信息;判斷錯誤:訂單刪除失敗,刷新頁面并返回提示信息;4.5概要設(shè)計總結(jié)通過概要設(shè)計的流程,將系統(tǒng)劃分為清晰的五大模塊,并定義了系統(tǒng)所涉及到的用例信息,最后設(shè)計了五大模塊中一些小模塊的接口實現(xiàn);通過概要設(shè)計的工作,讓我對系統(tǒng)的功能實現(xiàn)有了一個整體的把握,更加有利于下一步的詳細設(shè)計的工作,并減小了系統(tǒng)再實現(xiàn)過程中出現(xiàn)大的偏差。第五章 詳細設(shè)計根據(jù)上一章的概要設(shè)計的模塊劃分,在詳細設(shè)計階段,我將對每一個模塊的每一個功能進行詳細的解析并使用代碼實現(xiàn),并展示最后的設(shè)計成果,并且運用一些當下比較流行的技術(shù)進行代碼優(yōu)化和系統(tǒng)優(yōu)化。接下來我將對各大模塊的實現(xiàn)進行詳細的說明。5.1用戶模塊設(shè)計5.1.1注冊模塊在如圖4.1所涉及的各項文本框中輸入相應(yīng)信息,然后單擊注冊按鈕,通過系統(tǒng)的處理后,可以成功注冊或者拋出錯誤提示。圖5-1 用戶注冊頁面其中紅色*號為必填項,其他為選填項,如果想重置注冊頁面,可以點擊重置按鈕。其中,注冊按鈕涉及到的核

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論