




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、邵陽學院畢業設計(論文)- PAGE 50 -畢業設計(b y sh j)(論文)課 題 名 稱基于SSI框架的網上購物(u w)系統的設計與實現 學 生 姓 名 學 號 系、年級(ninj)專業 指 導 教 師 職 稱 年 月 日 摘要(zhiyo) 該網上購物系統屬于電子商務平臺的一種,它根據現有比較流行的網上購物系統和互聯網技術與B2C(Business to Consumers) 模式開發設計而成。使用該系統,除了能夠提高市場競爭力,擴大商家規模外,對于(duy)降低經營成本,提高工作效率也是非常有利的。 該論文通過現有的網上購物系統情況及開發背景(bijng)進行說明介紹,從而引出在
2、當前形勢下對該系統的設計需求,并根據這些設計需求確定了相應的設計目標與總體設計方案,接著具體敘述了該系統的詳細設計過程與實現方法,最后進行系統檢測并對需要改進的地方進行了描述。 該系統基于現在比較流行的MVC設計模式,主要分為了兩個大模塊:前臺模塊和后臺模塊。前臺模塊由用戶注冊登錄、新聞動態、留言簿、商品信息展示、商品放入購物車以及商品結算等幾大模塊構成,后臺模塊則由用戶信息管理、商品信息管理、訂單管理等子模塊構成。 該系統采用Struts2+Spring3.0+IBatis2.3三大框架集成開發。使用JSP技術進行動態頁面的設計,采用HTML+JavaScript+CSS+AJAX等前端技術
3、,后臺數據庫選用Oracle 11g數據庫。為了提高系統的安全性能,增強代碼的重復使用性,故選用程序的關鍵代碼的封裝采用JavaBean組件技術實現。關鍵字:Struts2;Spring2.5;IBatis2.3;JavaBean;JSP;Oracle 11gABSTRACTThissystemisbasedonmvcdesignmode,majoringattwomodules:foregroundandbackground.Theforegroundmainlyincludesmoduleofmembershipregistration,newsandtrends,guestbook,co
4、mmodityinformationdisplay,selectgoodsintotheshoppingcartandsettleaccounts;thebackgroundhasmainlyprovideduserswiththefollowingfunctions:customerinformationmanagement,commodityinformationmanagement,ordermanagementandsoon.ThissystemisadoptedbythreeintegrateddevelopmentofStruts2+Spring3.0+IBatis2.3,usin
5、gJSPtechnologyindynamicpagedesign,takingfront-endtechnologylikeHTML+JavaScript+CSS+AJAX,choosingOracle11gasthedatabaseofbackground,consideringfromthesecurityandreusingcodeofthesystem,keycodeshasbeensecuredbyJavaBeantechnology.Keywords:Struts2;Spring2.5;IBatis2.3;JavaBean;JSP;Oracle 11g目錄(ml) HYPERLI
6、NK l _Toc416875892 摘要(zhiyo) PAGEREF _Toc416875892 h ITOC o 1-3 h u HYPERLINK l _Toc29641 ABSTRACT PAGEREF _Toc416875893 h 錯誤(cuw)!未定義書簽。 HYPERLINK l _Toc4027 1 網上購物系統緒論 PAGEREF _Toc4027 1 HYPERLINK l _Toc20336 1.1 系統開發背景 PAGEREF _Toc20336 1 HYPERLINK l _Toc32067 1.2 系統實現的目標 PAGEREF _Toc32067 2 HYPE
7、RLINK l _Toc16296 1.3 系統的開發意義 PAGEREF _Toc16296 2 HYPERLINK l _Toc21726 1.4 系統開發平臺與工具 PAGEREF _Toc21726 3 HYPERLINK l _Toc32193 1.5 系統的開發技術及主要架構 PAGEREF _Toc32193 4 HYPERLINK l _Toc4217 2 系統分析 PAGEREF _Toc4217 10 HYPERLINK l _Toc7005 2.1 網上購物系統概述 PAGEREF _Toc7005 10 HYPERLINK l _Toc12282 2.2 網上購物系統的
8、可行性分析 PAGEREF _Toc12282 10 HYPERLINK l _Toc5878 2.3 網上購物系統需求分析 PAGEREF _Toc5878 11 HYPERLINK l _Toc25954 3 系統概要設計 PAGEREF _Toc25954 13 HYPERLINK l _Toc11088 3.1 項目規劃 PAGEREF _Toc11088 13 HYPERLINK l _Toc17928 3.2 系統結構圖 PAGEREF _Toc17928 13 HYPERLINK l _Toc21159 3.3 系統流程分析 PAGEREF _Toc21159 14 HYPERL
9、INK l _Toc25351 4 系統數據庫設計 PAGEREF _Toc25351 16 HYPERLINK l _Toc12558 4.1 數據庫設計的重要性 PAGEREF _Toc12558 16 HYPERLINK l _Toc32742 4.2 數據庫設計規范 PAGEREF _Toc32742 16 HYPERLINK l _Toc2311 4.3 數據庫字典 PAGEREF _Toc2311 17 HYPERLINK l _Toc27483 5 系統詳細設計 PAGEREF _Toc27483 22 HYPERLINK l _Toc28453 5.1 開發規范 PAGEREF
10、 _Toc28453 22 HYPERLINK l _Toc14242 5.2 系統框架說明 PAGEREF _Toc14242 23 HYPERLINK l _Toc15936 6 系統測試及難點分析 PAGEREF _Toc15936 30 HYPERLINK l _Toc22064 6.1 系統測試 PAGEREF _Toc22064 30 HYPERLINK l _Toc15267 6.2 系統運行結果 PAGEREF _Toc15267 32 HYPERLINK l _Toc29118 6.3 系統中所存在的問題及解決方案 PAGEREF _Toc29118 41 HYPERLINK
11、 l _Toc8862 參考文獻 PAGEREF _Toc8862 45 HYPERLINK l _Toc30177 致謝 PAGEREF _Toc30177 461 網上購物(u w)系統緒論1.1 系統開發(kif)背景1.1.1網上購物(u w)的發展 最近的幾年,Internet的迅猛發展使得互聯網日漸成為了信息收集與提供的佼佼者,并逐步成為了一種傳統的流通渠道。在互聯網的帶動下,電子商務開始進入人們的視野,網上商店開始流行起來。 網上購物系統作為一種企業對企業(B2B),企業對消費者(B2C),消費者對消費者(C2C)的電子商務前端商務平臺,對其商務活動有著非常重要的作用。本文主要對
12、建設B2C網上購物系統進行討論。 網上購物系統是一種商業信息系統,這個系統中包含了動態與靜態兩大信息資源,其中動態信息資源是指像培訓信息、會議安排及商品報價之類的時刻變化的信息,而靜態信息資源則是指像公司簡介、公司制度及公司管理等不經常更新變化的信息。該系統在交互功能方面表現突出,商家與用戶之間通過該系統能夠更為簡便地傳遞信息,完成EDI交易及電子貿易,讓企業之間文件與資金無紙化交換成為了現實。1.1.2網上購物系統的現狀 就現在而言,在中國最普遍使用的是PHP與ASP技術,JSP作為一種較為新穎的技術,雖然在國外,特別是國外的電子商務類網站中的應用已較為廣泛,但在國內,它的應用領域依舊較小。
13、 PHP技術由于自身存在的一些缺陷,比如規模支持與多層結構支持,使得它更適用于一些小型的商業網站,如新浪、中國人等,在大型的電子商務網站中使用,它的缺陷就會暴露無疑。加之PHP沒有統一的數據庫接口支持,導致它在電子商務中并不適用。但PHP技術缺少這類支持,并且PHP沒有統一的數據庫接口支持,導致它在電子商務中并不適用。 ASP技術不但能夠取得ActiveX規模支持,而且能夠取得結構支持,JSP技術與ASP一樣,也能夠獲取規模支持與結構支持。 當今世界,JSP/Servlet受到許多大型電子商務解決方案提供商的喜愛。例如較為有名(yu mng)的IBM的E-business與西方的另一個廣為人知
14、的電子商務軟件提供商Intershop,它們的核心分別選用的是JSP/Servlet的WebSphere與JSP/Servlet。其中,Intershop之前的產品Intershop1 2, 3, 4在電子商務軟件占據了市場的主要份額,雖然這些產品采用的是CGI來進行支持的,但在那之后,Intershop又推出了一個應用JSP/Servlet的電子商務應用服務Enfinity,并聲稱再也不開發傳統軟件。由此觀之,以上(yshng)三種技術,將來最大為發展應當非JSP莫屬。綜上所述,JSP、PHP、ASP三者各有千秋,每個技術都有一定數量數量的支持者和反對者,因此我們在開發實際應用時應當從實際情
15、況考慮,選擇(xunz)一個最適合當前項目的技術。本文中系統選用的是較為新穎的JSP技術,原因如下:一是JSP技術的安全性與跨平臺性較好,二是希望能夠從設計這個系統的過程當中,對這門編程語言得到更深入的了解。1.2系統實現的目標眼下流行的網上購物系統大多都是外觀與內在同時兼備的系統,既有美麗的頁面布局,更有嚴謹的規劃設計,對每一個細微的環節都不放過。只有這樣,在電子交易環節中才避免發生錯誤。傳統管理信息系統的信息獲取依靠的是專業人員在管理系統的數據庫中進行信息的錄入來完成的,當信息量較小的時候,這種方法可以應用在許多場合。但是,一旦數據量較大,且專業性較強時,使用這種錄入方法所需費用以及從錄入
16、的出錯率都會相應上升。在本設計中,采用jsp實現動態頁面,ibatis與數據庫進行數據的交互,struts2充當控制層,連接頁面和數據庫,并處理相關的業務,spring主要用于提供依賴注入、數據源和事務管理。通過以上技術的有機結合,可以給用戶帶來一個交互性良好,安全穩定的網上購物系統,同時也利于后期維護和升級。1.3系統的開發意義 互聯網為傳統的商業運作在技術上提供了一種可行性方案,使得傳統的商業運作模式隨著互聯網的發展有所改變。現在,這種方案已經廣泛應用到了我們的實際生活中,也就是我們常常鎖說的:電子商務。這個方案是利用互聯網的技術與協議,為所有(suyu)的買家、賣家,生產商、合伙人建立起
17、各式各樣的企業內部網與企業外部網,通過采用廉價通信方法將大家緊密地聯系在了一起,讓空間和時間不再是阻隔相互聯系交易的障礙,從而極大地降低交易的成本,擴大交易的范圍。 我們經常上的淘寶網與當當網就是現在比較流行的兩個網上購物系統,二者均是非常出色(chs)的電子商務網站,同時也是其他網站學習的優秀典范。所以,在設計系統中,我們不妨參考他們的思想,這將有助于我們對電子商務網站的開發設計、整個網站應有的系統功能和注意事項得到更深入的認識與了解。電子商務網站的設計和完成需要涉及到很多技術層面上的問題,所以在設計中,我們應該避免(bmin)紙上談兵,通過在實踐操作中來掌握相關技術,如:后臺數據庫與動態網
18、頁制作的設計及管理的使用。1.4 系統開發平臺與工具1.4.1 操作系統平臺Windows7 該系統開發平臺采用由微軟公司(Microsoft)開發的操作系統Windows7 旗艦版64位,處理器Intel(R) Core(TM) i3-2350M CPU 2.30GHz 2.30GHz,安裝內存10.0GB。1.4.2項目開發工具MyEclipse本系統采用的項目開發工具是MyEclipse企業級工作平臺(簡稱MyEclipes),它是對EclipseIDE的擴展,不但具有完整的編碼、調試、測試與發布功能,而且能夠完全支持HTML,Javascript,JSP,Spring,SQL及Hibe
19、rnate等,是一個功能豐富的JavaEE集成開發環境。該平臺不僅有利于數據庫與JavaEE的開發、發布,在應用程序服務器的整合方面也非常合適,使用它能夠大幅度地提高我們的工作效率。由于MyEclipse功能的強大與支持的廣泛,使得它特別適用于各類開源產品的支持,可以說,MyEclipse幾乎囊括了現今全部的主流開源產品的開發,因此,對于Java,J2EE的開發而言,MyEclipse是一個非常出色的Eclipse插件集合。1.4.3項目管理工具(gngj)Maven Maven被定義為一個項目管理工具,它的組成比較復雜,包括一個項目對象模型(Project Object Model),一組標
20、準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(Dependency Management System),以及用來運行定義在生命周期階段中插件目標的邏輯。Maven在使用(shyng)過程中,如果用一個明確定義的項目對象模型來描述項目,有一組共享的插件,作為Maven應用的橫切的邏輯。 如果運行mvn install這條指令時,將會調用Maven的生命周期,Maven會有序的執行下去直至指定的生命周期。在遍歷的過程中,Maven會運行默認的插件目標,這些目標將會實現類似一個JAR文件的編譯和創建的工作。除此之外,項目報告不僅(bjn)能通過maven進行方便
21、的管理,還可以生成站點,管理JAR文件等。 1.4.4版本控制工具GitGit是由Linus Torvalds開發的一款供用戶無償使用的開源分布式版本控制系統,它能夠高速有效地處理各種各樣,或大或小的項目版本管理。在項目中使用Git,不僅有助于項目的團隊開發和提高開發效率,而且能夠精確地控制項目的版本,開發人員每次Git服務器獲取最新的項目代碼,完成相應模塊地開發后,再提交的Git服務器上,并附上本次提交內容的相關信息,如果出問題,可以回滾之前的版本。當然,如果當前版本在使用,我們可以新建分支,繼續開發,等開發完成之后,再合并到主分支,這樣既不影響當前版本的使用,也可以繼續開發任務。1.4.5
22、服務器Tomcat服務器Tomcat屬于輕量級應用服務器,常使用于中小型系統與并發訪問用戶較少的場合中。它是一個供用戶無償使用的開源web應用服務器,也是人們開發、調試JSP程序時的第一選擇。對于初學者而言,我們不妨這么理解,如果將Apache服務器配備在一臺機器上,那么對于HTML頁面的訪問請求可通過它來進行響應。實際上,Tomcat部分是Apache服務器的擴展,但由于它的獨立運行,因此tomcat在運行時是作為一個與Apache獨立的進程單獨來運行的。1.4.6前端調試(dio sh)工具FireBugFirebug是基于firefox下的一個擴展,可以調試如html,css等所有網站的
23、語言。此外,Firebug還能夠進行(jnxng)html,css,dom的查看和調試,網站的整體分析等等,功能非常強大。其中,最令人稱贊的當屬它的javascript調試功能,它可以運用于各種瀏覽器中(如IE,firefox,Safari等),并且使用十分簡便。總的來說,Firebug就是一套完整、強大的開源web開發軟件。1.4.7 數據庫Oracle 11gOracle 11g是一種功能比較全面并且穩定的關系型數據庫,其大大小小的功能就多達四百余種。其性能(xngnng)較于舊版本更為優越,不僅具有優良的伸展性與可用性,且更為安全。即使在低成本的服務器與存儲設備構成的網格上也能方便地運行
24、。而且還擁有自己一套sql標準。1.5 系統的開發技術及主要架構1.5.1開發技術的選擇 (1)JSP一個合理的開發技術是一個網站是否能夠開發完成的重要基礎,選擇合理的開發技術能夠使網站的開發事半功倍。因此,我們首先需要一個合適的動態網頁開發技術來進行網站的設計。當前,ASP、PHP、JSP這三種動態網頁技術較為流行。三者各自特性如表3.1所示。表3.1 asp/jsp/php比較表技術名稱ASPJSPPHP對數據庫的支持好好好開發難易度容易容易較難使用平臺Windows9X/NTWindows/UNIXUNIX安全性不好好不好對組件的支持支持支持不支持執行方式解釋執行編譯之后執行解釋執行跨平
25、臺不好好好雖然這三者技術都是通過傳統的HTML代碼里的HTML標簽來擴展組成頁面的,但從表3.1而言,可以明顯得知,各方面表現(bioxin)最好的是JSP技術。特別是在跨平臺性與安全性上,JSP技術相對于另外兩種技術要好得多,所以,經過比較,我們決定使用給予Java的JSP技術來進行動態網頁的開發。struts2struts2 是在以前的Webwork和XWork框架基礎(jch)上改進而成的一個Java Web開源框架,同時也是一個以POJO的Action為基礎的MVC Web框架,它繼承了Webwork和XWork框架的優良性能,功能十分強大。現在的struts2在Java Web開發界
26、中具有不可撼動的地位,之所以該框架如此深得人心,在開發人員看來,這與其優良的設計是分不開的。struts2的優點(yudin):基于MVC架構的設計,使得struts2具有清晰明了的框架結構及開發流程,采用struts2進行開發,能夠很好地開發過程。利用OGNL傳遞參數:OGNL提供了一個簡單的方法用于在struts2中進行各類作用域里的數據訪問,通過這種方法來獲取Request,Attribute,Application,Session,Parameters里的數據會十分方便。大大簡化了開發過程中取得這些數據時所需的代碼量。struts2的攔截器:struts2具有的很多功能都是依靠攔截器來
27、完成的,比如上傳文件、處理異常和驗證等。它的攔截器是一個Action級別的AOP,能夠進行配置與重復使用,如果把類似登錄驗證,權限驗證這樣的一些通用功能加入到攔截起中,就可以實現一些Java Web項目里表位通用的功能。測試的方便:由于struts2的Action均為簡單的POJO,所以用它來進行用例的編寫測試非常方便,極大地簡化了Java Web項目的測試。模塊化:模塊化是struts2體系架構的基本思想。其它優點:在應用程序中添加全局結果,以及為配置文件的異常進行處理,這樣一來,當處理過程當中,發生了指定異常時,即可跳至特定頁面。這一功能十分實用。ibatisibatis相比Hiberna
28、te和Apache OJB之類的一站式”ORM解決方案來說,它是一種“半自動化”的ORM實現。何為“半自動”?也許在理解上會有些生澀。其實,我們這里所說的“半自動化”是相對于目前主流的“全自動化”ORM而言的。“全自動”ORM不僅能夠提供POJO與數據庫表之間的映射,還可以自動生成和執行SQL,例如Hibernate與Apache OJB,它們擁有POJO到數據庫表的全套映射機智,并且對數據庫結構的封裝也比較完整。通常程序員只用對POJO到數據庫表的映射關系做好定義,就能夠利用OJB或Hibernate提供的方法實現對持久層的操作。甚至于都不要求程序員能熟練地掌握SQL都可以完成這些操作,因為
29、OJB、Hibernate可以依據設定的存儲邏輯,自動生成并通過調用DBC接口執行對應的SQL。而對于ibatis來說,它比較注重于POJO與SOL間的映射關系,換而言之,就是說在運行期間,Ibatis不會自動生成、執行SQL。它需要程序員對具體的SQL進行編程,接著將SQL所需的參數與返回的結果字段利用映射配置文件映射到制定的POJO。“全自動”的ORM機制(jzh)(如Hibernate)與“半自動”的ORM機制(jzh)(如ibatis)當對象是純粹的Java時,于業務邏輯實現人員來說,它們二者是基本一致的。只有在進行具體的數據操作時,“全自動”的ORM會自動(zdng)生成、執行SQL
30、語句,而“半自動”的ORM則需要對具體的SQL語句進行編寫。相對于“全自動”的ORM機制來說,ibatis這種“半自動”的ORM機制,是“全自動”ORM機制的一種有利補充,它通過在開發SQL工作量與數據庫移植性上的讓步,擴大了系統設計的自由空間。它的出現具有非常重要的意義。springspring是由我們平時常使用的JavaBean構成的一個輕量級容器,它不同于EJB容器,其核心思想是IoC與AOP,所以spring不僅易于編寫,并且能夠不用依賴容器就進行單元測試。此外,Spring支持所有的Java Bean組件與聲明式事務的管理,因此,如果使用spring,它將負責對Java Bean組件
31、進行初始化及管理,那么我們只需將Java Bean組件進行編寫、“裝配”即可。這個方式最大的優勢在于松散的組件耦合,讓我們無需自己動手便可實現singleton模式。1.5.2系統的主要架構及開發模式系統使用的架構是系統建設的關鍵所在,傳統的c/s架構現已不能滿足類似網上購物這樣基于web并具有大量用戶訪問和操作系統的需要,因此以瀏覽器架構為基礎的b/s架構成為了當前網絡系統應用的主要架構,它利用服務器端對大批的數據工作進行處理,客戶端只需使用普通的IE瀏覽器便能夠訪問系統。這樣一來,訪問系統不僅變得方便快捷,并且更有利于對系統進行更新維護。除此之外,由于j2ee規范的誕生,采用java語言使
32、得該系統的開發更具規范,層次更為明了,在對復雜事物的處理以及安全性方面也表現得更為出色。而以mvc為基礎的開發流程不但使得開發過程更為清晰,同時在完成一些復雜的邏輯實現上也更為簡便,從而減少了開發的成本與周期。在B/S體系架構系統中,我們只需配備少量的客戶端軟件在客戶機上即可。因為該架構減輕了客戶機的原有工作,利用服務器來擔負起客戶機所減輕部分的工作,如:訪問(fngwn)數據庫與執行應用程序等。至于剩下數據的請求與加工,結果的返回,動態網頁的生成等工作則是依靠webserver來完成的。換句話來說,如果將二層的C/S架構中的事務處理邏輯模塊從客戶機的任務里分離出來得到的就是B/S體系架構。
33、Browse瀏覽器Web服務器數據庫圖3.1 B/S三層架構(ji u)示意圖 B/S三層體系架構如圖3.1所示。它通過web服務器建立起獨立的一層來負責其任務(rn wu),將負荷分配給了web服務器,以減輕客戶機的壓力。 B/S體系架構不但能滿足不斷提高的性能要求,并且還將客戶機從沉重的負擔中解脫了出來,也使技術維護人員在繁重的維護升級工作中得到了解放,技術維護人員不再需要為了維護程序而在在每個客戶機之間奔波忙碌,他們可以把主要精力用在功能服務器的程序更新工作上,因為功能服務器幫助客戶機分擔了事務處理邏輯部分的功能,使客戶機變得“苗條”起來。并且這種三層架構層與層之間是互相獨立的,改變任何
34、一層都不會對其它層的功能造成影響。 ASP,CGI是傳統的基于web的應用系統,像這類系統,開發者通常會將數據邏輯、展示邏輯與業務邏輯等混雜起來,將后臺數據庫的訪問、操作,以及業務的流程與頁面的表示都放在同一個界面中表示。這樣一來編寫的程序,不僅不利于編輯人員設計交互頁面,當程序員需要對業務代碼調試時也會十分麻煩。并且這樣的系統完全無擴展性可言,一旦我們要擴展現有的業務,通常情況下只能重新進行編寫,因為系統無法借助現有的資源與應用,所以使用這樣的系統導致了投資的大量增加,系統上線時間的延長,在市場競爭中失去了優勢。 而本文所設計的網上購物系統,使用了通行的MVC模式來構造應用,有效(yuxio
35、)地解決了上述的所有問題。在我們的應用集成網絡中,MVC的開發模型將通過企業級高端J2EE應用服務器實現。它的邏輯圖如圖3.2所示: 圖3.2應用服務器之上采用MVC開發(kif)的邏輯示意圖 使用這個方案,我們能夠快速(kui s)地完成整個業務。其優點與特性如下: (1)模型(Model)層:采用javabean實現,具體的業務封裝service層中,具有高性能、可重用、安全可靠等優勢。 (2)視圖(View)層:該層由JSP構成,它的特點在于可以真實地展現與客戶交互的界面,可以嵌套動態數據并展示動態頁面,同時還具有描繪功能,能夠依據不同客戶的要求來展示不同風格的界面,方便地個性化定制客戶
36、端。 (3)控制器(Controller)層:用于最大限度地分離視圖層與模型層,同時也這兩層的連接紐帶,具有非常重要的地位。它一般是由是struts2實現的,它的優點在于業務的調用和流程的處理。建立這種模型,可以使該應用系統性能更為優越,且可擴展性更好。通過控制器來描述調用關系,同時分離業務組件與展示頁面,不但能夠提高工作效率,而且能夠增強系統的擴充能力,使系統能夠以最快的速度擴展業務,滿足各種用戶在不同階段各式各樣的業務需求。2 系統分析2.1 網上購物(u w)系統概述(i sh) 在平臺的開發設計中,系統分析是一個不可或缺的環節。為了使系統的設計能夠更好、更完善,我們首先要進行(jnxn
37、g)研究和學習,然后基于對系統的調查研究之上,再細致地分析新系統的功能,從而開發設計出一個完整的新系統。本購物系統分為前臺(qinti)管理系統與后臺管理系統,前臺管理系統具有會員(huyun)注冊及登錄、產品分類、產品展示、產品信息檢索、購物車、個人中心、新聞動態等功能,是一個友好(yuho)的操作界面,提供給用戶進行商品的查詢與瀏覽;后臺管理系統則是供管理員使用的,它具有用戶管理、商品信息、訂單管理、銷量信息、建議管理、新聞管理等功能,使管理員擺脫了傳統繁雜的手工操作,大大提升了工作效率。2.2 網上購物系統的可行性分析 豐富多彩的網絡世界,日益劇增的網絡人口,飛速發展的計算機技術,這些都
38、讓電子商務在網上掀起了一股熱潮。我們相信,在不久的將來,客戶將能夠在網絡世界中得到所有他們在現實世界中得到的全部商品與服務。 為了確定該系統開發的項目是否值得研究且能夠實現,我們需要進行可行性研究,同時通過可行性研究還可以極大得簡化系統分析和系統設計的過程,所以這項研究是非常重要且必要的。由系統的設計目標與對市場的調研可得到經濟可行性、技術可行性、運行可行性和法律可行性四項可行性分析: (1)經濟可行性:由于該系統設計只是作為本人的畢業設計,在設計能力、設計資金及設計時間上有所局限,所以其功能并未完善,暫時無什么經濟效益可言。 (2)技術可行性:該系統設計采用的是spring+struts2+
39、ibatis技術,該技術現已較為成熟,而且本人對該技術有一定掌握,而且網上這塊技術的資料也是比較多。 (3)運行可行性:該系統在JVM(即JAVA虛擬機和Tomcat環境)下,正確連接至數據庫后能夠正常運行。 (4)法律可行性:該系統為自主開發的畢業設計,與商業無關,不具有侵權行為,所以具備法律可行性。本文所開發設計的網上購物平臺系統應用了Web技術與互聯網廣泛應用技術,實現了資源共享,達到了過去只有在現實商場中購物才能達到的效果,交互性較好,克服了購物的局限性,減短了購物的時間,提高了人們購物的效率。該系統成為了一個網絡化、規范化、信息化、系統化的交易平臺,將繁瑣的購物活動變得簡單易行。經過
40、以上可行性分析(fnx),綜合考慮,確定了開發該平臺的可行性。為了讓該平臺更具實用性與適應性,在對現有的平臺內容(nirng)進行充分了解與幾個月的調查研究后,經過指導老師的耐心教導,決定開發本系統平臺。2.3 網上購物系統需求(xqi)分析2.3.1 目標 每個網站都具有它自己的設計規則,該平臺也不例外。它的主要設計規則是簡單性、針對性與實用性。簡單性對于一個網站而言,是十分重要的。何謂簡單性?就是在能夠實現該平臺設計功能的基礎上,盡可能使平臺的操作簡單明了。針對性則是由于該平臺屬于網上購物系統與后臺管理的定向開發設計,因此要求該平臺具有突出專業性及很強的針對性。而實用性說的是該平臺可以實現
41、電子商品的展示及管理員對基本信息的管理,所以具有良好的實用性。因此,我們針對不同用戶有不同的功能:(1)普通用戶:可以通過前臺進行頁面的瀏覽,產品的搜索以及產品信息的查看。(2)注冊用戶:除了擁有普通用戶所具備的權利外,還擁有登陸注冊、購買商品、使用購物車和提交訂單的權利。同時,注冊用戶還可以向商家提出意見或建議。 (3)管理員:通過后臺管理系統可以對用戶信息、商品信息、訂單信息、銷量信息、建議信息及新聞信息等進行管理。 該網上購物系統除了需要實現上述目標功能外,還需要重點實現的功能有:分頁、易淘、購物車、批量刪除、圖片上傳、過濾處理及最近瀏覽等。2.3.2 具體需求 (1)前臺主要有: 用戶
42、注冊登錄(dn l):用于實現用戶的注冊(zhc)及登錄。產品(chnpn)展示:用于展示產品的詳細信息,使用戶能夠更加全面具體地了解產品。 產品檢索:用戶可以根據自身需要,輸入關鍵詞對所需產品進行查詢,節省用戶時間,提高購買效率。 最近瀏覽:顯示當前用戶最近的瀏覽記錄,方便用戶對之前瀏覽過的產品再次進行查看。 新聞動態:用于展示最新的動態信息,比如新品首發、優惠活動等信息,吸引用戶查看購買。 留言板:用戶可在此進行留言。購物車:與商場的購物車類似,用于實現用戶對商品的暫時存放,方便用戶進行選購結算。 (2)后臺主要有:用戶管理:通過該模塊可以對用戶信息進行增刪改查操作。 商品管理:通過該模塊
43、可以對產品進行增刪改查操作。訂單管理:通過該模塊可以對訂單進行增刪改查操作。 留言板:通過該模塊可以對留言板進行增刪改查操作。 新聞管理:通過該模塊可以對新聞進行增刪改查操作。3 系統(xtng)概要(giyo)設計3.1 項目(xingm)規劃 根據我們的調查研究可知,該平臺設計需要完成下列幾項功能,具體如下所示: (1)普通用戶:搜索、瀏覽產品。 (2)注冊用戶:搜索、購買、瀏覽產品,此外還可以給商家聊天、留言、提出意見或建議。 (3)管理員:管理用戶和商品信息,具有增刪改查等權限,同時還可以上傳和下載商品圖片。需要重點實現的功能有批量刪除產品或用戶信息,圖片的上傳和下載,過濾處理,購物車
44、,分頁,易淘等。 3.2 系統結構圖 網上購物系統是一個典型web系統,主要分為前臺和后臺兩個部分,它們相應的子模塊如下:圖3.1 前臺(qinti)模塊 前臺模塊主要具有:登陸(dng l)注冊、產品展示、查詢、購物車、新聞等子模塊。圖3.2 前臺(qinti)模塊 后天模塊主要具有:用戶管理、商品信息、訂單管理、新聞管理等子模塊。3.3 系統流程分析 3.3.1前臺購物流程 具體流程圖如下圖:圖3.3 前臺購物流程圖用戶首先對商品進行瀏覽,選擇自己所心儀的商品,然后訂購商品。需要訂購商品的用戶會出現三種情況,一是未注冊用戶,二是已登錄注冊用戶,三是未登錄注冊用戶,這時系統就會對此做出判斷,
45、對于未注冊用戶,那么系統會先要求用戶進行注冊,對于為登錄注冊用戶,那么系統會先要求用戶進行登錄,最后才會像已登錄注冊用戶那樣去到購物車,再到收銀臺,最后提交訂單結賬。3.3.1 后臺(huti)購物(u w)流程 具體(jt)流程圖如下圖:圖3.4 前臺購物流程圖 管理員通過管理員站好在前臺登陸,系統根據賬號的權限級別,自動跳轉到后臺管理系統,然后管理員可以根據自己需要進行用戶管理、產品信息、訂單管理、銷量信息、新聞管理和建議管理等操作。4 系統(xtng)數據庫設計(shj)4.1 數據庫設計(shj)的重要性 數據庫是數據庫應用程序的重要組成部分。一個設計結構合理的數據庫對于應用程序的開發
46、效率和程序的性能都是非常重要的。 良好的數據庫設計對于一個高性能的應用程序非常重要,就像一個空氣動力裝置對于一輛賽車的重要性一樣。如果一輛汽車沒有平滑的曲線,將會產生阻力從而變慢。關系沒有經過優化,數據庫無法盡可能高效地運行。應該把數據庫的關系和性能看作是規范化的一部分。除了性能以外的問題,就是維護的問題了,數據庫應該易于維護。這包括只存儲數量有限的(如果有的話)重復性數據。如果有很多的重復性數據,并且這些數據的一個實例發生一次改變(例如,一個名字的改變),這個改變必須對所有的其他的數據都進行。為了避免重復,并且增強維護數據的能力,我們可以創建可能的值的一個表并使用一個鍵來引用該值。在這種方式
47、中,如果值改變了名字,這個改變只在主表中發生一次,所有的其他表的引用都保持不變。4.2 數據庫設計規范4.2.1 數據庫設計三大范式 數據庫的設計范式是數據庫設計所需要滿足的規范,數據庫的規范化是優化表的結構和優化把數據組織到表中的方式,這樣使數據更明確,更簡潔。實踐中,通常把一個數據庫分成兩個或多個表并定義表之間的關系以做到數據隔離,添加、刪除和修改某個字段只需要在一個表中進行,接著可以通過定義的關系傳遞到數據庫中剩余的表中(和分層思想的意義所在很相似)。這樣我們可以消除很多錯誤或垃圾數據出現的機會并減輕更新信息所必要的工作量。 目前,主要有六種范式:第一范式、第二范式、第三范式、BC范式、
48、第四范式和第五范式。滿足最低要求(yoqi)的叫第一范式,簡稱1NF。在第一范式基礎上進一步滿足一些要求的為第二范式,簡稱2NF。其余依此類推。 事物往往具有多面性,設計范式也會帶來一定的麻煩:操作困難,因為需要聯系多個(du )表才能得到所需要數據,而且范式越高性能就會越差。所以使用多高的范式需要權衡利弊,一般在項目中,使用到第三范式也就足夠了,性能好而且方便管理數據。第一范式1NF,定義:數據庫表中的字段都是單一屬性的,不可再分。簡單的說,每一個屬性都是原子項,不可分割(b k fn )。1NF是關系模式應具備的最起碼的條件,如果數據庫設計不能滿足第一范式,就不稱為關系型數據庫。也就是說,
49、只要是關系型數據庫,就一定滿足第一范式。第二范式2NF,定義:數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴,即符合第二范式。2NF可以減少插入異常,刪除異常和修改異常。簡單的說,一方面,第二范式肯定要滿足第一范式,否則就沒有必要談第二范式。另一方面,當某張表中的非主鍵信息不是由整個主鍵函數來決定時,即存在依賴于該表中不是主鍵的部分或者依賴于主鍵一部分的部分時,通常會違反2NF。(3)第三范式3NF,定義:在第二范式的基礎上,數據表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴則符合3NF。4.2.2 數據庫命名規則表4.1 數據庫命名規則表 (Table)tbl_主鍵(P
50、rimary key)pk_字段(Column)無外鍵(Foreign key)fk_視圖 (View)viw_Check 約束(Check Constraint)ck_存儲過程 (Stored procedure)prd_Default 約束(Default Constraint)df_觸發器(Trigger)trg_用戶定義數據類型 (User-defined data type)udt_索引(Index)idx_用戶定義函數 (User-defined function)fun_4.3 數據庫字典(zdin) 建設這個系統之前,我們必須大致將系統中使用的數據分類,并且對這些數據進行具體的
51、結構設計,這是數據庫系統中的重中之重,它的好壞是保證關鍵數據在意外情況下是否能抵御破壞的重要因素,所以對此,我們要求做到清晰明了,不會使其產生(chnshng)結構上的邏輯混亂,能夠適應系統各項功能的調用。 數據庫的設計必須遵循一定的規則,一個好滴數據庫能夠滿足一些嚴格的閑置和要求。盡可能得將各實體對應的表進行分離,一個表對應一個實體,明確什么屬性是哪些實體該具有的,什么字段是與其(yq)相對應的,以及各個實體間的聯系是什么。實體、屬性和聯系是在概念設計時所需考慮的三要素,只有這三個要素設計好了,才能擁有一個好的數據庫。數據庫中一共建立了8個表,表名如下:表4.2 產品類型信息表 ( tbl_
52、producttype)序號字段代碼字段名稱類型長度約束名說明1tid編號number20pk_pid主鍵,唯一標識,自增長(從1開始)2parentid副編號number20非空3tname名字varchar2100非空5remark備注varchar2500備注表4.3 產品信息表 ( tbl_product)序號字段代碼字段名稱 類型長度 約束名 說明1pid產品編號number20pk_pid主鍵,唯一標識,自增長(從1開始)2tid類型編號number20fk_tid外鍵,引用產品類型表的tid列3pname名稱varchar2100非空4pvender廠家varchar2100非空
53、5pbrand品牌varchar25006pprice價格double20非空7pstock庫存number10非空8pstate狀態number2非空,1:熱賣,2:特價,3:團購價4:普通9ppic圖片路徑varchar2500非空10pdescribe描述varchar2500描述產品信息,非空11pbarcode條形碼varchar215非空12remark備注varchar2500備注表4.4 用戶(yngh)信息表 ( tbl_users)序號字段代碼 字段名 類型 長度 約束名 說明1uuid用戶編號number20pk_uid主鍵,唯一標識自增長(從1開始)2utruename
54、真實姓名varchar250非空3uname用戶名varchar2100非空4upwd密碼varchar220非空5unickname昵稱varchar21006usex性別varchar22非空7ubirth出生日期date非空8ucode身份證號varchar218非空9uaddress地址varchar2500非空10uphone聯系方式varchar220非空11uauthority權限number2非空,1: 普通用戶,2: 客服, 3:管理員12uqq綁定QQvarchar220非空13unumberegral積分number1014remark備注varchar2500備注表4.
55、5 訂單明細(mn x)信息表 ( tbl_orders_detail)序號 字段代碼字段名 類型 長度約束名 說明1 ooid訂單編號 number 20 pk_oid外鍵,引用訂單表的oid列2 uuid用戶編號 number 20fk_uid外鍵,引用用戶表的uid列3 pname產品名varchar2 100非空4 tname產品類型varchar2100非空5 odnum數量number 10非空6 單價double 20非空7 odtotal總價double 20非空8odpreferential優惠double 59 ostate狀態number 21:未付款,2:已付款,3:已
56、發貨,4:收貨并確認10 odpayment付款方式varchar2 101:貨到付款,2:網上支付11 remark備注varchar2 500備注說明表4.6 訂單(dn dn)信息表 ( tbl_orders)序號 字段代碼 字段名 類型 長度約束名 說明1ooid編號number 20 pk_oid主鍵,唯一標識自增長(從1開始)2uname用戶名varchar2 100fk_oid外鍵3otime訂單時間date 非空4ostate狀態number 21:未付款,2:已付款,3:已發貨,4:收貨并確認5onum合計number 20非空6remark備注varchar2 500備注說
57、明表4.7 新聞(xnwn)信息表 ( tbl_news)序號字段代碼字段名類型長度約束名 說明1nid新聞編號number20pk_nid主鍵,唯一標識自增長(從1開始)2ntitle標題varchar2200非空3nsource來源varchar2200非空4nauthor作者varchar250非空5ncontent內容varchar24000非空6ncreatetime錄入日期date 非空7remark備注varchar2500備注表4.8 建議(jiny)板信息表 ( tbl_advice )序號字段代碼 字段名類型長度約束名 說明1aid 編號number20pk_aid主鍵,唯
58、一標識自增長(從1開始)2uname建議用戶名varchar250非空3acontent建議內容varchar210004acreatetime建議創建時間date5areplytime建議回復時間date6astate建議狀態number21:已回復,2:待回復7remark備注varchar2500表4.9 公告(gnggo)信息表 ( tbl_announce)序號字段代碼字段名類型長度約束名 說明1aid公告編號number20pk_aid主鍵,唯一標識自增長(從1開始)2atitle標題varchar2200非空3acontent內容varchar21000非空4acreatetim
59、e錄入日期date 非空5remark備注varchar2500備注5 系統(xtng)詳細(xingx)設計5.1 開發(kif)規范 (1)所有頁面均采用UTF-8編碼,工程也采用UTF-8編碼。 (2)在類或者方法上寫上作者名 (3)Java中類的命名:類名:如果該類與某張表對應,則把表名的前綴去掉即該類名,并采用駝峰命名法則。例如:存在表tbl_type,則與之對應的類名為Type。類屬性:如果該類與某張表對應,則該類的屬性名與表格中的字段名一樣,而且順序也要一致,但一定要注意類型的,如date,類屬性選擇是utils包中的。 (4)每個類和方法最后分別添加一個標記,格式:/end類名
60、或/end方法名 (5)如果一個控制語句無法在一個窗口同時出現,則采用以下方法注釋: 例如:if(條件) /beignOutIf if(條件(tiojin)) /beignInnerIf 處理(chl)語句 /endInnerIf /endOutIf 再如:if(條件(tiojin)) /beignIf while(條件) /beginWhile 處理語句 /endWhile /endIf (6)類中的每個屬性,采用當行注釋,說明該屬性的含義,必須在同一行 例如:pricvate String pname;/姓名 (7)類與類之間,方法與方法之間,必須空一行 (8)類中的書寫順序:屬性構造方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學必修二化學方程式總結模版
- 學前兒童發展 課件 第6章 學前兒童記憶的發展
- 公司財務審計報告總結模版
- 中學物理教學設計案例09級物理學班陸菲菲-
- 公司全員培訓總結
- 放血療法培訓
- 重癥肺炎患兒護理措施
- 熱處理車間安全管理
- 英語教師進城選調考試試題及答案
- 銀行中層面試題目及答案
- 2025年江蘇無錫宜興市國有資本投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 江蘇省蘇州市吳中、吳江、相城、高新區2024-2025學年七年級上學期期末陽光調研道法試卷(含答案)
- 2024-2030年中國檢驗檢測行業發展潛力預測及投資戰略研究報告
- 電動機常見故障分析與維護(課件)
- 融資融券與投資者行為
- 裝配式建筑深化設計-1.2.3 裝配式建筑深化設計拆分原47課件講解
- 《wto案例分析》課件
- 2025年中考數學二輪專題復習 題型五-幾何探究題
- 【MOOC】園林植物應用設計-北京林業大學 中國大學慕課MOOC答案
- R1快開門式壓力容器操作考試題及答案
- 廣東開放大學國家安全概論(S)(本專)考核作業參考原題試題
評論
0/150
提交評論