




已閱讀5頁,還剩35頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
學號:281403117題 目: 基于J2EE架構網上書店的設計與實現 學 院: 信息學院 專 業: 計算機科學與技術 姓 名: 康樂 指導教師: 任秀麗 完成日期: 2012年5月13日 摘 要隨著互聯網的普及,電子商務技術在不斷的發展,Internet不僅給我們帶來了無窮無盡的多媒體信息,更帶來了商業模式和消費觀念的變遷,這是對傳統商業模式的一種挑戰。隨著大量電子商務網站的崛起,越來越多的人選擇在網上進行購物。相對傳統的購書方式來說,網上購書的好處是多方面的,對于商家來說,可以有效的控制成本;對于客戶來說,網上購書方便快捷、經濟省時,足不出戶就能買到想要的書籍,因此網上書店有很大的發展空間。而要滿足這種大量的需求,需要一種強大快速、高效穩定的技術作為支撐。J2EE就是這樣一種技術,它提供一個多層的分布式模型,是一組技術規范與指南,其中所包含的各類組件、服務架構及技術層次,均有共同的標準及規格。通過組建重用,允許多臺服務器集成部署,具有穩定的可用性、可伸縮性。本設計使用J2EE技術在網絡上架構了一個網上書店,從理論和實際兩個角度出發,對網上書店進行設計和實現。網上書店的主要有用戶管理、購買圖書、圖書分類查看、圖書檢索等功能。在構建網站的過程中使用了多種技術,包括MVC的架構風格、多種設計模式等,合理的運用了各種技術的優勢,力爭開發出一個具有高健壯性、穩定性、易用性、可靠性的系統,為顧客在平時的生活中網上購買書籍提供強大的后臺支撐,以滿足顧客的網上購書需求。全文共分為六個部分,第一部分主要介紹了電子商務的背景和本系統所使用的技術;第二部分介紹了本系統所涉及的各方面的需求;第三部分為本系統的總體設計思路、過程以及數據庫的概念設計;第四部分為系統各個模塊的詳細設計和實現以及相關細節;第五部分為對系統部分功能的測試過程;第六部分是總結。關鍵詞:J2EE;設計模式;電子商務;網上書店;數據庫AbstractWith the spread of the Internet, the e-commerce technology is developing fast. The Internet brings us not only infinite multi-media information, but also brings the changes of commerce pattern and consuming concept, which is a challenge to the traditional commerce pattern. With the arising of many online shops, more and more people choose to shop online. Compared with the way of buying books traditional, shopping online has a variety of advantage. To the merchants, they can control the costing easily. To the customers, it is so convenient and economical to buy books online; they do not have to go out of home to buy a book they like. So the online-bookstore has a great development. To mean the great need, we have to provide a powerful and efficient technology to support it. The J2EE technology is a kind of technology like this, it provide a variety-layer distribute model. It is a kind of technology standard and guide, the variety components and server architecture which contains have the same standard. By reuse the components, it allows deploy on many servers, which has high efficiency and high scalability. This design builds an online-bookstore by using the J2EE technology. From the point of view of practice and theory, the online-bookstore is designed and realized. The primary function of the online-bookstore contains the management of the users, shopping on the bookstore and checking the book by different category. In the procedure of building the bookstore, many technologies are used, including the architecture of MVC style and many design models, the advantage of variety of many technology is full used, which sustain the need of the customer buying book online.The text is divided into 6 parts. The first part introduces some background knowledge about e-commerce and the technology the design uses. The second part introduces the need of variety aspects the system involved. The third part gives the process, some ideas and related details in system designing, which also include the concept design of the database. The fourth part displays the detail design of every part of the system and related details. The fifth part introduces the test of the part of the system. The sixth part is the summary.Key words: J2EE; Design Pattern; E-commerce; Online Bookstore; Database目 錄序 言2第1章 緒 論31.1課題背景31.2 MVC架構風格31.3 J2EE體系結構6第2章 需求分析102.1 概述102.2 功能性需求112.2.1 功能劃分112.2.2 功能描述112.3 非功能性需求13第3章 總體設計和功能概述143.1 功能模塊劃分143.2 網上書店結構層次圖143.3 網上書店系統建模143.4 數據庫概念結構設計17第4章 系統詳細設計和實現184.1 數據庫邏輯實現184.2 用戶登陸注冊模塊的設計與實現204.2.1 用戶登陸模塊204.2.2 用戶注冊模塊224.3 圖書瀏覽模塊的設計與實現244.3.1 文件關系244.3.2 圖書瀏覽模塊截圖254.4 購物車模塊的設計與實現254.4.1 文件關系254.4.2 購物車模塊截圖264.5 圖書管理模塊的實現26第5章 系統測試295.1 系統功能測試295.2 系統實用性分析31第6章 總 結32參考文獻33致 謝34序 言電子商務,最初出現在1993年美國克林頓政府工作報告對國家信息基礎設施的描述中,含義就是利用電子信息技術、網絡互聯技術和現代通訊技術,有效地把商品的資源管理和人們的交易行為結合起來,從而實現商品和服務交易的計算機化、網絡化。隨著互聯網的快速發展和在人群中的普及化,以及中小企業應用電子商務進程的推進和國家對電子商務發展的重視,網絡已經開始影響人們的生活觀念,改變國人的消費模式。越來越多的消費者選擇進行網上購物,根據淘寶網的統計數據,截至2007年12月31日,我國網上購物的人數超過5500萬,較2002年增長近7倍。每天有近900萬人在淘寶網上“逛街”,相當于近600個沃爾瑪、家樂福的平均客流量。據中國互聯網絡信息中心(CNNIC)的報告,2009年至少在網上買過一次東西的中國網民數歷史性地突破了1億,達到1.08億,增長46%;而艾瑞的報告也同樣顯示了“網購”的中國網民突破1.1億。根據我國電子商務研究中心發布的2010年(上)電子商務市場數據檢測報告顯示,截至2010年6月份,國內個人網店的數量已經達到了1200萬家。可見電子商務交易量增長非常快,越來越受到人們的青睞,各種Web互聯網的技術也呈現出一種共同繁榮的景象,各種編程語言也使整個互聯網的Web技術體系日趨成熟,每種技術都有各自的優勢。而近幾年電子商務的發展速度越來越快,大量的客戶需求需要處理,要求并發性的處理非常高。本設計就是針對電子商務而建立的一個網上書店,采用J2EE技術體系,包括了JSP、JavaBean、EJB、JDBC、JNDI一系列的J2EE相關技術,另外數據庫采用ORACLE,以便滿足大量數據處理的需求,服務器采用WebLogic,體現了較高的性能,滿足了高并發性的需求。本系統是基于B/S結構的,一方面采用了J2EE的四層體系,即運行在客戶端機器上的客戶端組件、運行在J2EE服務器上的Web層組件、運行在J2EE服務上的業務邏輯層組件、服務器上的數據訪問層組件;另一方面,在表現層和業務邏輯層則采用了MVC架構風格,在Java類的設計上采用多種設計模式。在客戶端只需要瀏覽器即可,無需安裝任何其他軟件,滿足了眾多應用客戶分散環境下的需求。第1章 緒 論1.1課題背景隨著社會的不斷進步,互聯網的不斷發展,網上書店如雨后春筍般在國內外迅速發展,如全球的亞馬遜網上書店,國內的當當網和卓越網等。顧客可以足不出戶就能買到需要的商品,能節約更多的時間與精力。而對于商家來說,既可以避免書目訂貨的局限和盲目,又可以克服訂貨投入大、費用高、管理難的不足,有效的節約了各方面的成本。顧客在網上選擇的范圍廣,信息量大,檢索方便,可隨時訂購,快捷方便,這些都體現了網上購書方式相對于傳統購書方式的優點。在傳統的購書方式和網上購書方式中,網上購書所占的比例越來越大,更多的人愿意通過這種方式購書。可以預測,圖書網上交易將在未來購書領域中占據主要位置,是圖書銷售領域未來發展的必然。另一方面,互聯網技術的發展在推動電子商務進步的同時,也使電子商務系統的技術實現面臨新的挑戰。面對越來越多的需求,必將有海量的數據需要進行處理,如何提高并發性以減少客戶訪問網站的等待時間,這也是一個值得思考而且急需解決的問題。作為為網絡信息技術前沿的Java,已經是軟件界的一個熱門話題,它提供的跨平臺性、分布式部署、網絡和數據庫支持,為Web應用系統的開發提供了新的途徑。1995年,Sun公司的Java語言以提供跨平臺應用程序開發與配置震撼了整個Web世界。幾年來,Java從一種編程語言發展到了開發企業級應用系統的Java2平臺規范。1999年Sun公司推出J2EE,它包括Servlet、JSP和EJB等許多技術和規范,得到了IBM、BEA和ORACLE等眾多公司的認可,是一種很有前途的也是比較成熟的開發Web應用的技術選擇方案。本文所述的圖書網站系統正是以J2EE技術和規范為基礎,結合具體應用的電子商務系統。1.2 MVC架構風格MVC是三個單詞的縮寫,分別為模型(Model)、視圖(View)和控制Controller)。MVC模式的目的就是實現Web系統的職能分工。Model層次實現系統中的業務邏輯,通常可以用JavaBean或EJB來實現。View層次用于與用戶的交互,通常用JSP來實現。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當的視圖以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執行的操作。MVC組件之間的關系,如圖1.1所示。圖1.1 MVC中各組件之間的關系(1)MVC中的Model組件模型(Model)用于封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。“模型”有對數據直接訪問的權力,例如對數據庫的訪問。“模型”不依賴“視圖”和“控制器”,也就是說,模型不關心它會被如何顯示或是如何被操作。但是模型中數據的變化一般會通過一種刷新機制被公布。為了實現這種機制,那些用于監視此模型的視圖必須事先在此模型上注冊,從而,視圖可以了解在數據模型上發生的改變。(2)MVC中的View組件視圖(View)是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Macromedia Flash,XHTML、XML/XSL、JSP、ASP、WML等一些標識語言和Web services。因此,如何處理應用程序的界面變得越來越有挑戰性。MVC一個大的好處是它能為你的應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是單一存儲,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。隨著應用的復雜性和規模性的增大,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。比如一個訂單的視圖只接受來自模型的數據并顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。(3)MVC中的Controller組件控制(Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數據處理。例如,用戶點擊一個鏈接,控制層接受請求后,并不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。控制器掌管著用戶的請求(當用戶點擊圖形用戶界面上的元素執行操作時,控制器會收到HTTP GET或者POST請求)。它的主要功能就是調用并協調需要的資源或對象來執行用戶請求。通常控制器會為任務調用合適的模型,以及選擇合適的視圖。(4)MVC架構風格的優點低耦合性:視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼。同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。高重用性和可適用性:隨著技術的不斷進步,現在需要用越來越多的方式來訪問應用程序。MVC模式允許你使用各種不同樣式的視圖來訪問同一個服務器端的代碼。它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(WAP),比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由于模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數據用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現方式,而控制層和模型層無需做任何改變。快速的部署:使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力于業務邏輯,界面程序員(HTML和JSP開發人員)集中精力于表現形式上。(5)MVC架構風格的缺點MVC的不足體現在以下幾個方面:1)增加了系統結構和實現的復雜性。對于簡單的界面,嚴格遵循MVC,使模型視圖與控制器分離,會增加結構的復雜性,并可能產生過多的更新操作,降低運行效率。2)視圖與控制器間的連接過于緊密。視圖與控制器是相互分離的,但卻是聯系緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。3)視圖對模型數據的訪問效率較低,根據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據,對未變化數據的不必要的頻繁訪問,也將降低操作性能。1.3 J2EE體系結構(1)J2EE的概念J2EE是Java2平臺企業版(Java 2 Platform, Enterprise Edition),是一組技術規范與指南,其中所包含的各類組件、服務架構及技術層次,均有共同的標準及規格,讓各種依循J2EE架構的不同平臺之間存在良好的兼容性,解決過去企業后臺使用的信息產品彼此無法兼容,企業內部或外部難以互通的窘境。J2EE不僅鞏固了標準版中的許多優點,例如“編寫一次、隨處運行”的特性、方便存取數據庫的JDBC API、CORBA技術以及能夠在Internet應用中保護數據的安全模式等等,同時還提供了對EJB(Enterprise JavaBean)、Java Servlet API、JSP(Java Server Page)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的體系結構。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統一的開發平臺,J2EE降低了開發多層應用的費用和復雜性,同時提供對現有應用程序集成強有力支持,完全支持Enterprise JavaBean,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。(2)J2EE的四層模型J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據他們所在的層分布在不同的機器上。事實上,SUN設計J2EE的初衷正是為了解決兩層模式(client/server)的弊端,在傳統模式中,客戶端擔當了過多的角色而顯得臃腫。在這種模式中,第一次部署的時候比較容易,但難于升級或改進,可伸展性也不理想,而且經常基于某種專有的協議,例如通常是某種數據庫協議。它使得重用業務邏輯和界面邏輯非常困難。現在J2EE的多層企業級應用模型將兩層化模型中的不同層面切分成許多層。一個多層化應用能夠為不同的每種服務提供一個獨立的層,以下是J2EE典型的四層結構:1)運行在客戶端機器上的客戶層組件:J2EE應用程序可以是基于web方式的,也可以是基于傳統方式的。2)運行在J2EE服務器上的Web層組件:J2EE web層組件可以是JSP頁面或Servlet。按照J2EE規范,靜態的HTML頁面和Applet不算是web層組件。正如下圖所示的客戶層那樣,web層可能包含某些JavaBean對象來處理用戶輸入,并把輸入發送到運行在業務層上的enterprise bean來進行處理。3)運行在J2EE服務器上的業務邏輯層組件:業務層代碼的邏輯用來滿足銀行、零售、金融等特殊商務領域的需要,由運行在業務層上的enterprise bean進行處理。有三種企業級的bean:會話bean、實體bean和消息驅動bean。會話bean表示與客戶端程序的臨時交互。當客戶端程序執行完后,會話bean和相關數據就會消失。相反,實體bean表示數據庫的表中一行永久的記錄。當客戶端程序中止或服務器關閉時,就會有潛在的服務保證實體bean的數據得以保存。消息驅動bean結合了會話bean和JMS的消息監聽器的特性,允許一個業務層組件異步接收JMS 消息。4)運行在EIS服務器上的企業信息系統(Enterprise information system)層軟件:企業信息系統層處理企業信息系統軟件包括企業基礎建設系統例如企業資源計劃(ERP)、大型機事務處理、數據庫系統,和其它的遺留信息系統。例如,J2EE應用組件可能為了數據庫連接需要訪問企業信息系統。J2EE四層模型中,這些層次之間有相互調用的關系,每一層都有對應不同的功能,如圖1.2所示。圖1.2 J2EE四層模型示意圖(3)J2EE核心組件和APIJDBC(Java Database Connectivity):JDBC API為訪問不同的數據庫提供了一種統一的途徑,像ODBC一樣,JDBC對開發者屏蔽了一些細節問題,另外,JDBC對數據庫的訪問也具有平臺無關性。JNDI(Java Name and Directory Interface):JNDI API被用于執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源如DNS和LDAP,本地文件系統,或應用服務器中的對象。EJB(Enterprise JavaBean):J2EE技術之所以贏得媒體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的企業級應用的開發。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,EJB并不是實現J2EE的唯一途徑。正是由于J2EE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達到同樣的目的。JSP(Java Server Page):JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet:Servlet是一種小型的Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而Servlet全部由Java寫成。XML(Extensible Markup Language):XML可以用來定義其它標記語言。它被用來在不同的商務過程中共享數據。XML的發展和Java是相互獨立的,但是,它和Java具有的相同目標正是平臺獨立性。通過將Java和XML的組合,可以得到一個完美的具有平臺獨立性的解決方案。RMI(Remote Method Invoke):正如其名字所表示的那樣,RMI協議調用遠程對象上的方法。它使用了序列化方式在客戶端和服務器端傳遞數據。RMI是一種被EJB使用的更底層的協議。JMS(Java Message Service):JMS是用于和面向消息的中間件進行通信的應用程序接口(API)。它既支持點對點的域,又支持發布/訂閱(publish/subscribe)類型的域,并且提供對下列類型的支持:經認可的消息傳遞,事務型的消息傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另一種方式來將應用與舊的后臺系統相集成。第2章 需求分析2.1 概述(1)開發背景隨著網絡在中國的廣泛普及,網絡支付手段的逐步完善,越來越多的中國人逐漸習慣于網上購物,習慣于鼠標點擊下訂單,送貨上門的快捷便利的購物方式。傳統書店的購書觀念正在被網上書店這一方便快捷的購書方式所沖擊。網上書店在國際互聯網上可以實現的商務功能已經越來越多樣化,從最開始的信息發布功能,到現在的在線圖書展示功能、在線洽談業務功能、在線交易功能、在線采購功能、在線客戶服務功能、在線網站管理功能等等,幾乎傳統書店所提供的功能都可以在互聯網上進行電子化的高效運作,而借助網絡的跨地域特點,更是將傳統書店的地域限制加以突破,全國各地的讀者都可以通過網絡在同一個網上書店購書,從而大大增加了客戶的數量。為了使網上書店的投入回報和管理效益最大化,在對網上書店進行系統開發之前,必須對一系列問題進行科學的論證,如網上書店的需求分析、網上書店總體規劃、網上書店系統的功能和實施方案、網上書店的傳播與推廣、運行網上書店系統的軟件和硬件配置、網上書店的管理系統和管理方法等等。綜上所述,網上書店已經成為互聯網時代購書者的最佳選擇,必將獲得巨大的成功。(2)運行環境1)硬件環境: 客戶機:CPU:P4 1.8GHZ以上 內存:512MB以上 分辨率:1024*768以上WEB服務器:CPU:奔騰雙核2.5GHZ以上內存:2G以上數據庫服務器CPU:奔騰雙核2.5GHZ以上內存:2G以上2)軟件環境操作系統:Windows 2000以上; IE:Internet Explorer 7.0以上數據庫:Oracle.0開發工具:MyEclispe 8.5;PowerDesign 12.5 ;WebLogic 10.3 Microsoft Visio 2003;StarUML 5.02.2 功能性需求2.2.1 功能劃分(1)前臺實現功能:1)新用戶注冊:實現用戶注冊的基本功能,要求用戶填寫相應的資料進行注冊。已經注冊的用戶名不能注冊。2)會員登陸、修改基本資料:對用戶輸入的用戶名和密碼與數據庫進行對比驗證,如果出現錯誤,則需要提示用戶錯誤信息。登陸成功則可以修改資料。3)會員購買圖書:實現會員購書的基本功能,當用戶選中自己喜愛的圖書之后,可以加入購物車,一次性可以購買多本書籍。4)會員查看訂單:用戶訂單提交以后,可以隨時登陸系統查看訂單的實時信息,如訂單的處理情況等等。5)顧客查看、搜索圖書:實現根據用戶自己的喜好來查找相應的圖書,可以根據作者和書名來查找圖書。(2)后臺實現功能:1)用戶管理:實現對已經注冊的用戶的管理,包括查看、鎖定、刪除指定的用戶等等。2)圖書管理:實現對圖書的管理,包括圖書信息的修改,新到圖書的添加,廢棄圖書的刪除等。3)訂單處理:訂單管理員登陸系統之后,可以查看到未處理的訂單,進而進行訂單狀態的修改。2.2.2 功能描述(1)前臺功能描述1)新用戶注冊:實現新用戶注冊,用戶打開網站后,點擊注冊進入注冊界面,然后顧客填寫用戶名、密碼、真實姓名、電子郵箱、通信地址、聯系電話后點擊注冊,系統提示注冊成功,然后跳轉到主界面。如果輸入的用戶名已經注冊過了,則提示顧客該用戶名已經存在;如果顧客輸入的密碼小于6位,則提示用戶重新輸入。如果顧客某項信息未輸入,則提示用戶輸入完整信息。在新用戶注冊界面也有登陸的鏈接,以便已經注冊的顧客登陸。2)會員登陸、修改資料:用戶打開網站首頁后,輸入用戶名和密碼登陸。然后用戶點擊個人信息連接,則系統轉向修改個人信息頁面,會員在頁面中修改密碼、電子郵箱、通信地址、聯系電話的若干項,會員點擊保存后自動轉向網上書店首頁。如果用戶輸入的用戶名和密碼有誤,則轉向系統登陸界面。如果用戶名修改后的密碼小于6位,則提示用戶重新修改;如果有其他信息未輸入,則提示用戶輸入。如果用戶點擊返回按鈕,則可以不保存信息返回。3)會員購買圖書:會員打開網站成功登陸后,分類瀏覽或者搜索選擇自己喜歡的圖書,將圖書加入購物車,可以循環多次操作,將若干圖書都加入購物車;會員點擊購物車連接后,則系統轉向結算頁面,顯示出已經訂購的圖書列表和總價,用戶可以改變訂單中的數量或者刪除;用戶點擊結算按鈕后,則進入收貨人信息確認,會員可以修改收貨人信息,單擊確認后則購買成功。如果用戶未登陸,則當用戶轉向結算按鈕時提示用戶登陸并轉入登陸界面,登陸后可繼續以前的操作。4)會員查看訂單:會員成功登陸后,點擊我的訂單鏈接,則轉入訂單形式頁面,會員可以查看訂單的詳細情況,如訂單日期、處理狀態等情況。如果用戶輸入的用戶名和密碼有誤,則轉向系統登陸界面。(2)后臺管理模塊1)用戶管理:用戶管理員打開管理員登陸界面,成功登陸后,系統顯示所有用戶,管理員可以將會員鎖定,或刪除會員,點擊保存提示保存成功。2)訂單處理:訂單管理員在代開管理員登陸界面,成功登陸后,系統顯示所有訂單的信息,包括已經處理的訂單和未處理的訂單,對于未處理的訂單,訂單管理員可以進行狀態的修改,但是不能刪除訂單,點擊保存之后,提示保存成功。3)圖書管理::圖書管理員代開管理員登陸界面,成功登陸后,系統顯示當前所有的特價圖書,圖書管理員可以取消特價圖書和添加特價圖書;另外管理員可以添加連接進行添加圖書操作。2.3 非功能性需求(1)系統性能要求對用戶輸入的數據進行校驗,用戶點擊鏈接的相應時間最長不超過5秒,平均不超過3秒,數據更新、查詢和統計的時間在可接受的范圍之內。(2)伸縮性當用戶訪問量增大時,要求可以即利用集群進行部署,如Web服務器集群、應用服務器集群、數據庫服務器集群,將系統的應用負載擴展至多個服務器承擔,分攤服務器的壓力,達到高負載、高性能的要求。(3)可用性要求大眾的顧客不需要其他任何培訓就可以輕易的瀏覽網站,在網站上進行各種操作,沒有模糊的、用戶不知如何進行的操作,顧客能夠高效的完成購書的操作。能夠支持Windows XP和Windows 7操作系統。(4)易用性要求瀏覽界面簡單實用、美觀大方、操作界面友好,各個部分的操作和布局都保持合理性和一致性。符合顧客常規的、現有的操作習慣和思路,在前端進行一些智能化的數據校驗功能,對各種狀態和操作結果進行反饋和提示。(5)可靠性要求系統在一年之內出現故障不能超過5次,每次故障能夠及時的解決,不能長時間故障,能夠及時的恢復數據。(6)安全性對于系統的重要資源和數據都有相應的訪問權限和密碼保護,具有一定的安全性,降低數據丟失的風險,對入侵進行檢測,提高系統的防范入侵能力。第3章 總體設計和功能概述3.1 功能模塊劃分本系統主要實現前臺顧客購書和后臺管理兩大模塊,前臺購書包括新用戶注冊、修改資料、用戶注冊、查看訂單等功能;后臺管理主要包括用戶管理、訂單處理、圖書管理等功能,系統的功能模塊,如圖3.1所示。圖3.1 系統功能模塊圖3.2 網上書店結構層次圖本系統基本按照J2EE四層體系結構來設計,前臺主要是JSP頁面展示給用戶,Web層次實現前臺請求的控制和傳遞,業務層次負責進行相關數據業務流程的處理以及連接數據庫進行操作,系統結構層次圖,如圖3.2所示。圖3.2 系統結構層次圖3.3 網上書店系統建模(1)系統流程分析所謂系統流程,就是用戶使用本網上書店系統進行購書的一個過程。系統流程分析是系統分析、總體設計的一個重要流程,也是系統設計的重要的基礎,如圖3.3所示。圖3.3 系統流程圖(2)顧客訂書時序圖用戶使用正確的用戶名和密碼登陸后,系統將在整個會話中保存用戶對象,用戶可以點擊相應類別分類查詢,系統將相應的根據用戶的請求返回符合條件的圖書列表,客戶可以選擇自己想要訂購的圖書,系統得到圖書ID之后,生成訂單提交給系統,系統將保存到數據庫,并提示圖書訂購成功,整個訂書環節完成。顧客訂購圖書的時序圖如圖3.4所示。圖3.4 用戶訂書時序圖訂單管理員輸入正確的用戶名和密碼之后,可以開始處理訂單,系統返回未處理訂單和已處理訂單的信息,用戶改變訂單狀態后,可以提交處理請求,后臺處理成功之后提示管理員處理成功,如圖3.5所示。圖3.5 處理訂單時序圖以下是顧客購買圖書和管理員處理訂單的時序圖,從中可以看出,訂單管理員和顧客發生了相互的關系。顧客選擇圖書后,如果圖書已經沒有庫存了,則顧客不能購買圖書;正常提交訂單后管理員接收到了顧客提交的訂單,并更新訂單狀態,客戶查詢到訂單狀態變成已處理后,購買過程結束。購買圖書活動圖,如圖3.6所示。圖3.6 購書活動圖3.4 數據庫概念結構設計根據需求分析,可以發現這個網上書店涉及到的實體有用戶(會員)、圖書、管理員、訂單、訂單詳情。會員能產生訂單,而且一個會員能產生多個訂單,但一個訂單只能屬于一個會員;訂單上可以有多種圖書,也就是一條訂單對應多條訂單詳情,但是一條訂單詳情只能屬于一個訂單;一條訂單詳情只能對應一種圖書,但是一種圖書可以出現在多個訂單詳情之中;一條訂單只能由一個管理員管理,但是一個管理員可以管理多條訂單。弄清楚這些實體之間的關系之后,就可以很容易畫出相關的E-R圖,這些實體之間的關系,如圖3.7所示。圖3.7 網上書店E-R圖第4章 系統詳細設計和實現4.1 數據庫邏輯實現數據庫邏輯設計主要任務是將概念結構轉換為某個DBMS所支持的數據關系模型,關系模型的邏輯結構是一組關系模式的集合。在概念設計中,E-R圖是由實體、實體的屬性和實體之間的聯系三個要素組成。數據庫邏輯設計就是需要將E-R圖轉化為關系模型,將實體、實體屬性和實體之間的聯系轉化為關系模式。(1)數據庫列表清單根據數據庫概念設計的E-R圖,可以很容易的將E-R圖轉化為關系模式,下面的表4.1列出了數據庫中所有的表。表4.1 數據庫表的清單表名中文名稱說明admin管理員表存放管理員信息book圖書表存放圖書信息category圖書種類表存放圖書種類信息customer用戶表存放會員信息orders訂單表存放訂單總體信息order_detail訂單詳情表存放訂單詳情(2) 表屬性描述表4.2 customer(用戶表)列名數據類型是否為空列中文名備注customer_idvarchar2(30)NOT NULL用戶名Primary Keypasswordvarchar2(20)NOT NULL密碼namevarchar2(30)NOT NULL真實姓名emailvarchar2(50)NOT NULL用戶郵箱telephonevarchar2(20)NOT NULL用戶電話addressvarchar2(80)NOT NULL用戶地址join_timedateNOT NULL注冊時間表4.3 orders(訂單表)列名數據類型是否為空列中文名備注order_idvarchar2(30)NOT NULL訂單號Primary Keyadmin_namevarchar2(20)NOT NULL管理員姓名Foreign Keycustomer_idvarchar2(30)NOT NULL所屬用戶Foreign Keyrealnamevarchar2(30)NOT NULL真實姓名addressvarchar2(50)NOT NULL送貨地址statevarchar2(20)訂單狀態order_timedateNOT NULL訂購時間telephonevarchar2(20)NOT NULL聯系電話total_prisenumber(10,2)NOT NULL總價commentsvarchar(80)備注handle_timedate處理時間表4.4 category(圖書種類)列名數據類型是否為空列中文名備注category_idvarchar2(50)NOT NULL種類IDPrimary Keycategory_namevarchar2(20)NOT NULL種類名稱category_descvarchar2(50)NOT NULL種類描述表4.5 admin(管理員)列名數據類型是否為空列中文名備注admin_namevarchar2(20)NOT NULL管理員姓名Primary Keypasswordvarchar2(20)NOT NULL管理員密碼typevarchar2(20)NOT NULL管理員類型emailvarchar2(40)NOT NULL管理員郵箱addressvarchar2(50)NOT NULL管理員地址telephonevarchar2(20)NOT NULL管理員電話表4.6 book(圖書表)列名數據類型是否為空列中文名備注book_idvarchar2(40)NOT NULL圖書IDPrimary Keycategory_idvarchar2(50)NOT NULL圖書種類Foreign Keynamevarchar2(60)NOT NULL圖書名稱prisenumber(6,2)NOT NULL圖書原價discountnumber(3)NOT NULL圖書折扣pic_urlvarchar2(60)圖片地址banlancenumber(8)NOT NULL圖書余量authorvarchar2(20)NOT NULL作者pressvarchar2(80)NOT NULL出版社pub_datedateNOT NULL出版日期表4.7 order_detail(訂單詳情表)列名數據類型是否為空列中文名備注order_idvarchar2(30)NOT NULL訂單號PK,FKorder_seqnumber(4)NOT NULL訂單序號Primary Keybook_idvarchar2(40)NOT NULL圖書編號Foreign Keycountvarchar2(10)NOT NULL購買數量sub_totalnumber(10,2)NOT NULL總價小計4.2 用戶登陸注冊模塊的設計與實現4.2.1 用戶登陸模塊1總體流程和文件設計當會員輸入用戶名和密碼之后,系統將用戶名和密碼傳入到后臺,查詢數據庫進行驗證,如果正確則登陸成功,如果錯誤則提示錯誤信息,由此實現登陸的功能,登陸的總體流程,如圖4.1所示。圖4.1 用戶登陸程序流程圖為了實現上述功能和流程,設計了以下的類文件和JSP文件,它們之間有相互調用的關系,例如ProcessLogin.java處理loginHead.jsp的請求,如圖4.2所示。圖4.2 登陸模塊文件及調用關系圖其中,各個文件的作用如下:(1)loginHead.jsp:首頁中用于用戶快速登陸。(2)login.jsp:登陸頁面。(3)welcome.jsp:登陸成功的歡迎界面。(4)ProcessLogin.java:處理用戶登陸請求的Servlet。(5)PasswordInvaild.java:用戶密碼不正確異常。(6)Customer.java:存放用戶相關信息。(7)CustomerNotFound.java:用戶未注冊異常。(8)CustomerDataStore.java:負責與數據庫交互,驗證用戶名和密碼。2界面截圖,用戶登陸主要實現用戶的登陸功能,界面截圖,如圖4.3所示。圖4.3 登陸界面4.2.2 用戶注冊模塊1. 總體流程和文件設計用戶注冊基本流程是用戶進入網站后,點擊注冊進入新用戶注冊界面,用戶輸入必須輸入的信息,點擊注冊提交,系統提示注冊成功。如果用戶輸入的信息不完整或者密碼不符合要求,系統將提示相應信息,用戶必須從新輸入信息。其流程如圖4.4所示。圖4.4 用戶注冊程序流程圖為了實現上述流程,設計以下的這些文件,這些文件之間有相互調用的關系,ProcessRegist.java負責處理注冊請求,成功則轉向registeSuccess.jsp頁面,失敗則轉向registe.jsp頁面等等,如圖4.5所示。圖4.5 用戶注冊模塊文件結構及調用關系其中,各個文件的作用如下:(1)regist.jsp:注冊界面(2)registSuccess.jsp:注冊成功的歡迎界面。(3)ProcessRegist.java: 處理注冊信息,負責與后臺交互。(4)Customer.java:存放用戶相關信息。(5)Cu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業人力資源管理中的可持續發展與社會責任
- 外用避孕藥講課件
- 公司各個科室管理制度
- 公司合同借閱管理制度
- 公司員工社會保險管理制度
- 公司大門指紋鎖管理制度
- 公司日常文化生活管理制度
- 公司電動車使用管理制度
- 公司私家車共用管理制度
- 公司管理者分工管理制度
- 焊接技術的應用與發展課件
- 部編版小學語文四年級下冊教師教學用書(教學參考)完整版
- pvc生產工藝流程圖
- 《宇宙的起源與演化》課件
- 師傅帶徒弟實施計劃方案
- 10kv及以下電力客戶受電工程中間檢查和竣工檢驗規范
- 廣東省茂名市電白區2022年小升初數學試卷
- 肌肉注射評分標準
- 廣州市二中應元數學新初一分班試卷
- 企業服飾生產制造單模板
- 出國人員行前教育基本知識(-)課件
評論
0/150
提交評論