第一篇:基于J2EE的網上購物配送管理系統設計
基于J2EE的網上購物配送管理系統設計.txt曾經擁有的不要忘記;不能得到的更要珍惜;屬于自己的不要放棄;已經失去的留作回憶。收稿日期:2003-09-01。紀壽文,博士,主研領域:生產物流規劃與
仿真,物流配送,AGVS等。
基于J2EE的網上購物配送管理系統設計
紀壽文 林曉宇
(清華大學深圳研究生院現代物流研究中心 深圳518057)李克強 繆立新(清華大學汽車系 北京100084)摘 要
本文采用J2EE技術設計了物流企業電子商務的在線購物和配送管理系統。文中詳細介紹了系統的邏輯及功能結構、在
線購物模塊和登錄注冊模塊的流程及其J2EE設計方法、采用MVC模式設計控制模塊的方法,并給出了核心流程代碼。文中也簡單
介紹了配送管理模塊采用的CW算法。
關鍵詞
J2EE 在線購物 物流配送 CW算法
THE DESIGN FOR WEB SHOPING AND DISTRIBUTING MANAGEMENT BASED ON J2EE Ji Shouwen Lin Xiaoyu(Modern Logistics Research Center ofShenzhen Graduate School, Tsinghua University, Shenzhen518057)Li Keqiang Miao Lixin(Automobile Department, Tsinghua University,Beijing100084)Abstract
Web shopping and dirtributing system for logistics corporation electronic commerce is designed by using J2EE technology in the paper.The logistic and function structure,flow chart and designmethods based on J2EE ofweb shopping,entry and registermodules are introduced particular-ly.The designing method for control module by usingMVC mode is described,and the core flow code is given.The CW algorithm used in distributing management module is also introduced.Keywords J2EE Web shopping Logistics distribution CW algorithm 1 引 言
電子商務的出現,極大地方便了最終消費者,使消費者不必 再跑到擁擠的商業街,一家一家地挑選自己所需的商品,而只要 坐在家里,在因特網上搜索、查看、挑選,就可以完成他們的購物 過程,這些就是所謂的在線購物[1]。
在線購物的成功主要取決于購物系統的功能完善和物流配 送系統的可靠運行。購物系統如果功能完善、驗證可靠,使用方 便,則便于用戶的瀏覽和購物。而用戶在提交購物訂單和支付 貨款后,物流配送則成為實現在線購物最終成功的關鍵,物流配 送的核心問題則是配送車輛的調度。
本文面向企業的電子商務,將對在線購物系統和物流配送 系統統籌考慮,實現信息的共享和車輛的優化調度,為企業提供 了一個易于操作的低費用物流管理系統、基于先進的優化網絡 技術的車輛調度以及配送系統。物配平臺使得用戶可以隨時掌 握實時的物流信息并根據客戶的要求遠程調度產生最佳的配送 方案。該系統的設計中完全采用了面向對象的技術,在實際開發
中采用大量的JAVA技術,例如Servlet、JSP、JavaBean、JDBC、EJB 等,是一套完全基于J2EE的最新技術體系,具有良好的可平臺 無關性、可擴展性等[2]。
使用本在線購物系統,企業就可以擁有自己的網絡商城,讓 企業在技術方面花費最少,從而全力以赴進行貨源開發和業務 經營,迅速地展開銷售工作。在線商店具備普通商店的大多數 特點,同時又比普通商店具有投資小,運營時間長,無人職守等 特點。2 系統結構
系統包含在線購物模塊和物流配送模塊,其中在線購物系 統的核心是購物車模塊,物流配送系統的包含配送方式選擇、配 送路線選擇、配送管理等,核心是CW調度算法。兩個模塊通過 訂單信息有機的集成為一個整體,如圖1所示。圖1 集成系統結構 2·1系統邏輯結構
從邏輯上講,本系統分為四個層次。分別為用戶層、表現
層、業務處理層、數據資源層。詳細分析了物流配送企業的需 求,設計系統的邏輯層次結構如圖2所示。
2·2系統功能結構
適應現代電子商務快捷的需求,系統中傳遞的訂單是電子
第21卷第3期
計算機應用與軟件Vol·21,No·3 2004年3月
Computer Applications and Software Mar·,2004圖2 化的。因此,根據使用對象的不同把集成系統劃分為調度員、客 戶、管理員三個大模塊,如圖3所示。給客戶使用的就是所謂的 在線購物系統,而在服務器端使用系統的是調度員和管理員。調度員主要進行車輛調度,也是一個相對的“用戶”。管理員主 要進行客戶管理、權限管理、地圖信息管理等。圖3 集成系統功能模塊圖 在線購物子系統的設計與實現
3·1在線購物子系統的功能與流程
在線購物是一堆接口定義清晰的獨立模塊組成。
控制模塊:它來分發請求到各個業務處理邏輯,屏幕跳 轉控制,對應的組件處理。
登錄和注冊:登錄和注冊模塊要求用戶在訪問某些頁面 時必須登錄。
購物車模塊:購物車跟蹤用戶購物過程。
類別模塊:根據用戶查詢需求提供一個貨物類別視圖。
客戶模塊:表示客戶信息:地址,聯系方式等。各模塊之間的信息流程如圖4所示。圖4 在線購物子模塊與信息流程圖
3·2在線購物系統的數據庫
采用SQL設計在線購物系統的數據庫表,主要包括客戶信
息表、貨物信息表、訂單信息表、訂單細目表。是允許數據庫訪
系統邏輯結構圖 問的WEB應用程序開發的非常重要的一部分,它將直接影響系 統的長期有效性和產品化程序。
客戶信息表中存儲了客戶的所有信息。其中,customerID是 數據庫系統自動生成的。addToMap和nodeID兩字段是與另一 子系統GIS信息表相關聯的,用來表示電子地圖信息。貨物信息表描述了每種貨物所具有的詳細信息。除了貨物 自身的信息,還有貨物分類的有關信息。我們對貨物進行二次 分類,分別用baseClass,subClass來描述貨物所屬的分類,便于查 詢和管理。
3·3采用MVC模式設計與實現控制模塊
MVC模式是通過將客戶的請求導入單一的對象—控制器。這個控制器隨之處理所有的請求,決定下一個要顯示的視圖,并 且實現所有為保護系統而需要的安全請求。同時,控制器并不 處理商業邏輯,商業邏輯由專門的模型(MODEL)提供。如圖5 所示。
圖5 MVC模式
經過這樣的處理,JSP頁面主要起到表達的作用,而由
Servlet控制頁面間的跳轉,系統商業邏輯和數據由Model來提 供,可以是EJB或JavaBean。
在線購物系統中的ControlServlet就是一個控制器。接收客 戶端響應,請求業務邏輯,最后指示跳轉頁面,如圖6所示。圖6 在線購物系統MVC模式圖
ControlServlet具體代碼如下,限于篇幅,只列出與控制功能 相關的代碼,并略去部分調用Model的代碼。
在ControlServlet中由if條件語句來判斷接收頁面的請求, 執行相應邏輯,做出處理后,最后由gotoPage()方法跳轉到相應 的頁面。
pubilc class ControlServlet extends HttpServlet{ static final private String CONTENT TYPE=″text/html;charset=gb2312″;SCBean scb=new SCBean();public void init()throws ServletException{} public void doGet(HttpServletRequest resuest, HttpServletResponse response)throws ServletException;IOException{ doPost(request,response);} if(getPara.equals(″登錄″)){
String lonName=ChineseCharSet.toByteString(request.getParameter(″logName″));
String password=ChineseCharSet.toByteString(request.getParameter(″Password″));
DAOFactory SQLServerFactory=DAOFactory.getDAOFactory(DAOFactory.SQLSERVER);
CustomerDAO custDAO=SQLServerFactory.getCustomerDAO();
Customer cust=custDAO.findCustomer(longName);
if(cust!=null&&cust.getPassword().equals(password)){
gotoPage(″/goodsList.jsp″,request,response);
第3期
紀壽文等:基于J2EE的網上購物配送管理系統設計29
}else{
gotoPage(″/loginfailed.html″,request,response);
}} else if(getPara.equals(″注冊″)){
gotoPage(″/register.jsp″,request,response);} else if(getPara.equals(″放入購物車″)){
gotoPage(″/shoppingCart.jsp″,request,response);} else if(getPara.equals(″刪除″)){
gotoPage(″/shoppingCart.jsp″,request,response);} else if(getPara.equals(″查看購物車″)){
gotoPage(″/shoppingCart.jsp″,request,response);} else if(getPara.equals(″清空購物車″)){
gotoPage(″/shoppingCart.jsp″,request,response);} else if(getPara.equals(″提交訂單″)){
gotoPage(″/shoppingCart.jsp″,request,response);} } 3·4購物車模塊
購物車模塊跟蹤用戶一次的購買過程。
購物車模塊需求: 必須能夠跟蹤用戶購買的貨品內容(item)。購物車中的每
個item有唯一標示ID,此外,還有item歸屬的貨物的ID,屬于的 種類、名字和單品報價。
每個item必須和一個非負的數量有對應關系,客戶可以增 刪改和改變item數量,或者清空購物車。
購物車的設計: 購物車是和一個session關聯的,因為,歸屬與某個用戶,跨 越多個請求。設計的關鍵在于在哪里存放購物車的狀態信息, 我們使用了有狀態的session EJB。此外,使用EJB層存放這些狀 態信息,客戶端可以不用局限于WEB客戶端。購物車的結構如 圖7所示。
圖7 購物車結構
圖7是購物車模塊的結構圖,客戶端使用ShoppingCartLo-calHome來創建ShoppingCartLocal。ShoppingCartEJB這個bean中 包含了所有要求的操作。購物車ShoppingCartEJB包含了一個貨 品內容的CartItem對象的Collection,這個CarrItem類是個普通的 可序列化遠程傳輸的類。
購物車模塊的實現: 購物車被實現成一個有狀態的session EJB,里面包含一個 貨品內容(item)的Collection。EJB同時提供出各種方法,來增刪 改里面的內容,甚至清空。
EJB層的組件可以直接訪問購物車EJB。WEB層維護一個 EJB層的控制器,這個控制器有個方法getShoppingClientFacade()返回ShoppingClientFacadeLocal接口,這個接口的getShoppingCart()方法返回當前用戶的購物車session EJB引用。4 車輛調度核心算法———CW算法與實現
CW算法由Clarke和Wright提出,該算法簡單易用[3]。本文 將配送貨物的體積約束引入CW算法在中,以改進的CW節約 啟發式算法來進行車輛的優化調度。
4·1算法原理與求解步驟
假設以Cij表示車輛從點i行駛到點j的費用,可以得到點i 和點j連接在一條線路上的費用節約值。s(i,j)=Ci0+C0j-Cij 若各項任務要求在一定的時間范圍內完成,按費用節約值 s(i,j)連接點i和點j時,可能會使j后面的任務的執行不滿足 時間要求。當連接點i和點j所在線路時,若車輛到達j點的時 間比原線路上j點任務的開始時間提前,則車輛在j后面的任務 處有可能需要等待;若連接后到達j點的時間比原線路上j點任 務的開始時間推遲,則j后面的任務在執行時可能會發生延遲。以EFj表示連接點i和點j所在的線路后,車輛到達j點的 時間比原線路上車輛到達j點時間的推遲量(或提前量),則EFj 可如下得到: EFj=si+Ti+tij-sj 顯然,EFj<0時,車輛到達j點任務的時間提前;EFj=0時, 到達時間不變;EFj>0時,到達時間推遲。其步驟如下: ①首先計算各個點i和點j之間線路的費用節約值s(i,j), 形成集合M,并按照從大到小對s(i,j)進行排序。其中: s(i,j)=ci0+c0j-cij ②若M為空,則終止疊代,否則對M中的第一項s(i,j)考 察是否滿足下列條件之一,如滿足則轉下步,否則轉⑥。(a)點i和j均不在已構成的線路上;(b)點i和j在已構成的線路上,但不與車場相連;(c)點i和j位于已構成的不同線路上,均不與車場相連, 且一個是起點,一個是終點。
③考察點i和j連接后的線路上總貨運量Q,若Q≤q,則轉 下步,否則轉⑥。
④計算連接點i和j所在的線路后,車輛到達j點的時間比 原路線上車輛到達j點的時間的變化量EFj:EFj=si+Ti+tij-sj。
(a)若EFj=0,轉⑤;(b)若EFj<0,則計算Δj-,當|EFj|≤Δj-,轉⑤,否則轉⑥;(c)若EFj>0,則計算Δj+,當|EFj|≤Δj+,轉⑤,否則轉⑥。式中,Δj-為線路上j點后面的各任務處均不需要等待的到 達j點時間的最大允許提前量,其中:Δj-=min r≥j{Sr-ETr}。Δj+ 為線路上j點后面的各任務不違反時間約束的到達j點時間的 最大允許推遲量,其中:Δj+=min r≥j{LTr-Sr}。
⑤連接點i和點j,計算車輛到達各任務時的新時間。⑥令M=M-s(i,j),轉②。
4·2 CW算法類的設計
因為我們采用面向對象的程序設計語言java,在編碼之前, 建立了面向對象的模型。ResultList、Task、ScheduleValueList、Item 這四個類都是輔助的類。ResultList用來存儲計算結果;Task類 用來保存一些調度所需的數據;ScheduleValueList、Item都是計算 過程中的算法需要的中間數據。
計算機應用與軟件2004年5 應用程序的部署 基于J2EE的web應用程序是一組Servlet、JSP頁面、標記 庫、HTML文檔、圖像、樣式表以及其它WEB內容的集合。構成 應用程序的組件必須被打包在一起進行傳輸和部署。J2EE應 用程序中打包后的組件被存儲在一個特定類型的JAR文件中, 這個JAR文件被稱為企業應用程序歸檔或EAR(Enterprise Archive)。同時J2EE應用程序還需要一些關于各個不同模塊如 何關聯以及部署環境的信息,這些信息被記錄在一些被稱為部 署描述符(DD)的XML文件里。圖8顯示了一個EAR文件的結 構。
圖8 EAR的結構
部署描述文件web.xml是一個XML文件,包括如下內容: ServletContext初始化參數: Servlet/JSP定義;MIME類型映射;錯誤處理頁面;Session配置;Servlet/JSP映射;首頁文件列表;安全約束。
web應用部署描述文件web.xml應該放入主web應用目錄 的WEB-INF子目錄中,可以用來初始化Servlet、指定MIME(Mul-tipurpose Internet Mail Extensions)類型、指定J2EE資源等等。參考文獻
[1]梅紹祖、李伊松、鞠頌東,電子商務與物流,人民郵電出版社,2001·8· [2] Marci Frohock Garcia,Jamie Reding,EdWard Whalen,Steve Adrien Deluca 著,孫巖、黃波、張寧譯,SQLServer 2000系統管理員寶典,北京:清華 大學出版社,2001·7·
[3]視崇雋、劉民、吳澄,“供應鏈中車輛路徑問題的研究進展及前景”, 《計算機集成系統-CIMS》,2001,Vol.7(11):1~6·(上接第4頁)4 術語權重重構 獲得查詢q的TAGq查詢集后,重新調整術語權重,構造新 的向量Q′。其基本思想是:給定一個查詢方案,根據節點的路 徑度,強化(strengthen)葉子節點權重,弱化(weaken)圖TAGq中中 間節點的權重,從而優化用戶查詢的目的。
TWA(TermWeight Adjustment Algorithm,術語權重調整)算法: 輸入:(1)術語關聯圖TAGq查詢方案GQT;(2)查詢術語/權重集合Q={(q1,w1),?,(qn,wn)}。輸出:查詢術語/權重集合Q′。TWA算法: 1)構造空的術語/權重集合Q′=Φ。2)計算每個節點的路徑度: a)令GQT中所有節點的路徑度為0;b)for GQT中每條起始路徑P=(t1,?,tk)do{ for i=1,2,...,k do path degree(ti)=path degree(ti)+1;} 3)對每個以t為葉子節點的起始路徑P=(t1,?,tk,tk=t): a)修改t權重:Wt=Wt+Wti*l/path degree(ti)(1≤i 例子3 設例子2對應的查詢術語/初始權重見表1。通過 權重調整算法(令l=0.1),得到表1中不同查詢方案的術語權 重。不同的查詢方案使得術語A1,m1和A2,1的最終權重不同。表1 查詢術語/權重優化前后對照表 A1A2A3AnA1,m1A2,1A3,k3An,mnA1,1,1,k1 初始權重0·200 0·200 0·200 0·200 0·400 0·400 0·400 0·400 0·600 GQp1路徑度1 1 1 1 2 0 1 1 3 權重0·197 0·197 0·180 0·190 0·387 0·000 0·410 0·410 0·629 GQp2路徑度1 1 1 1 1 1 1 1 3 權重0·197 0·197 0·180 0·190 0·393 0·393 0·410 0·410 0·623 5 結 論 本文引入術語關聯網絡TAN概念,檢查查詢術語的可達關 系,建立術語關聯圖TAG,構成新的查詢,接著利用術語權重調 整算法計算新的術語權重,形成基于術語關聯的查詢。本文貢 獻之處在于利用TAN發現查詢中存在的術語關聯,并利用術語 關聯重新計算術語權重,從而突出用戶查詢目的。 本文只研究了術語之間的isa聯系來體現概念之間的泛化/ 細化聯系。由于術語之間存在多種關聯,各種關聯的性質存在 較大差異。以后的研究內容主要分析可達術語之間的關聯種類 和距離,對于不同的可達關聯予以不同的考慮,如予以不同的權 重和伸縮因子等。參考文獻 [1] Panagiotis G.Ipeirotis,Luis Gravano,Mehran Sahami.Automatic classifica-tion of text database through query probing,WebDB 2000.[2] Luis Gravano,Hector Garcia-Molina,Anthony Tomasic,GLOSS:Text-Source Discovery over the Internet,Vol.24,No.2,June 1999,ACMTransactions on Database Systems.[3] Luis Gravano,Querying Multiple Document Collections across the Internet, 1997,PHD Thesis.[4] Ricardo Baeza-Yates,Berthier Ribeiro-Neto.Modern Information Retrieval, 1999,ACMPress.[5] Weiyi Meng,King-lup Liu,Clement Yu,et al,Estimating the Usefulness of Search Engines,International Conference of Data Engineering,1999.[6] J.Kleinberg.Authoritative Sources in a hyperlinked environment.In Proceed-ing of the 9thAnnual ACM-SIAM symposium on Discrete Algorithms,pp.668 ~677,January 1998.第3期 紀壽文等:基于J2EE的網上購物配送管理系統設計31 課程實踐報告 課程名稱:軟件工程實踐II 項目名稱:網上購物系統 專業班級: 姓 名: 學 號: 指導教師: 成績:______ 報告日期:2014年12月9日 網上購物管理系統 摘要 隨著計算機技術在各行各業日益廣泛和深入的應用,網絡的概念早已深入人心。網絡在各行各頁的發展戰略占據了重要的位置,成為了商家不可分割的一部分。網絡已經成為了商家展示自己的另一個舞臺。商家建立網站,通過網站可以實現,瀏覽商品,網上購物,結賬 本系統實現了網上購物商城的基本功能和購物流程。主要模塊有:商品查詢、商品管理、商品顯示、購物車、訂單管理、用戶管理等功能。其開發主要包括:數據庫的建立,前臺Web頁面設計,后臺管理。本系統采用MySql數據庫和Tomcat服務器實現,并且使用HTML、JSP等技術來編輯網頁,并運用Hibernate技術把數據庫和動態網頁相關聯。 關鍵字 關鍵詞:網上商場,購物車,結賬,Tomcat,Sevlet,JSP,MySql數據庫 目錄 摘要..............................................................................................................................................2 關鍵字..........................................................................................................................................2 1需求分析.......................................................................................................................................4 1.1背景.........................................................................................................................................4 1.2可行性分析.............................................................................................................................4 1.3對性能的規定.........................................................................................................................4 1.3.1時間特性要求..................................................................................................................4 1.3.2靈活性..............................................................................................................................5 1.4其他專門要求.........................................................................................................................5 1.5運行環境的規定.....................................................................................................................5 1.6設備.........................................................................................................................................5 1.7支持軟件.................................................................................................................................5 2功能分析.......................................................................................................................................6 2.1功能分析的目的.....................................................................................................................6 2.2業務描述.................................................................................................................................6 2.3用例圖.....................................................................................................................................8 2.4 狀態圖..................................................................................................................................10 3模塊設計.....................................................................................................................................10 3.1系統功能模塊.......................................................................................................................10 3.2模塊分析...............................................................................................................................11 4數據庫分析與設計.....................................................................................................................18 4.1數據庫分析...........................................................................................................................18 4.2系統整體ER圖的設計........................................................................................................19 4.3數據庫設計...........................................................................................................................20 5編碼,實現及測試.....................................................................................................................22 5.1各功能源代碼.......................................................................................................................22 6 結論............................................................................................................................................29 6.1系統優點...............................................................................................................................29 6.2系統缺點...............................................................................................................................29 6.3未來發展...............................................................................................................................29 7實驗小結.....................................................................................................................................30 7.1 孫佳偉實驗小結..................................................................................錯誤!未定義書簽。7.2 喻道斌實驗小結..................................................................................錯誤!未定義書簽。7.3 金龍實驗小結......................................................................................錯誤!未定義書簽。1需求分析 1.1背景 在發達國家,電子商務的發展非常迅速,通過Internet進行交易己成為一種潮流。基于電子商務所連帶出的商品交易方案、電子結賬方案和信息安全方案等,已逐步成為國際信息技術市場競爭的焦點。隨著電子商務的日益發展,產生了網上購物、網絡廣告等新興信息產業,從側面反應了電子商務正在對社會和經濟產生著深刻的影響。 在我國,網上購物從無到有也不過短短幾年時間。但是就在這幾年時間,網絡購物已經深入千家萬戶,普通的購物已經不能滿足人們的消費。網上購物以其諸多優勢,獲得人們的青睞。它以其方便,快捷,高效,高選擇性等優點,迅速得到了廣大網友的喜愛與青睞,現在的網上購物已經非常普及。本系統設計就是為了滿足廣大網友的這些需求,改變傳統的交易模式,通過互聯網完成查看商品,購買商品等完成網上交易。方便消費者,同時對商家的商品信息進行管理,便于商家的商品數據分析。截止2013年1月中國有網上購物的用戶將近5000萬人,這足以證明網上購物具有良好的群眾基礎,網上購物方式日趨被大家所接受。因此我們小組致力于做一個基于B/S架構的網上購物管理系統,使廣大用戶可以享受網上購物的種種優勢。 1.2可行性分析 隨著計算機的普及,Internet的發展,網購已經成為人們生活消費中一大部分。一個網上購物系統可以為消費者提供軟件條件,使其可以更加快捷,方便,實惠的選擇商品,而商家也可以更好的管理商品,節約成本,兩全其美。所以構建一個網上購物商城在運行上是完全可行的。 此次開發使用JSP作為開發語言,采用Servlet技術,Tomcat7.0座位Web服務器,采用MySql作為數據庫,這幾種技術及工具的方便,快捷,免費大大的縮短了開發的時間,減少了開發的成本。并且使得開發更方便安全,更利于后期的維護。網上購物服務系統給人們帶來了方便,成為一種全新的商務模式。因此,不用出門就可以在家購物的新時尚已經到來,構建一個網上購物服務系統在經濟上是完全可行的。 綜上所述:開發本系統是完全可行的。 1.3對性能的規定 1.3.1時間特性要求 對于商品基本信息,訂單信息管理的增加刪除修改必須是實時響應,與客戶端的交互響應時間不超過5s 1.3.2靈活性 操作方式的變化,可以直接從UI或從數據庫輸入行,對初始行進行增加,刪除,刪除等操作。 1.4其他專門要求 文字描述必須準確,精煉,通俗易懂。安全性要得以保障,可移植性要高,為了適應不同系統,程序吞吐量必須要大,否則不能動態適應購物網站的需要。 1.5運行環境的規定 1.6設備 開發環境: 操作系統:windows 7 硬件環境: 客戶終端:pc機; 服務器:Tomcat 編譯環境:Jdk 1.6 1.7支持軟件 操作系統:** 開發軟件:MyEclipse 數據庫: Mysql 2功能分析 2.1功能分析的目的 從用戶需求出發,對于網上購物系統做細致全面的功能分析,準確地定義網上購物系統的目標,確定系統必須做什么,再用UML建模,并以Rational Rose工具畫出功能模型,以此形式分析確定此網上購物系統的功能。 2.2業務描述 用戶進入網站后,可以根據價格高低確定是否進行篩選,不篩選則進入所有的商品瀏覽界面,篩選則得出篩選后的瀏覽界面。接著可以點擊商品加入購物車,可以自己選擇加入的數量。加入購物車以后可以查看購物車,在購物策劃模塊中可以選擇添加或刪除購物車商品,接著用戶可以自行判斷是否繼續購物,如果繼續購物則返回首頁,不購物則進行結賬。結賬之后可以查看訂單界面,這里有詳細的訂單信息。,否則注銷退出。 下圖為網上購物系統的業務流程圖。 開始用戶進入網站按照價格高低進行篩選篩選后的瀏覽界面瀏覽商品加入購物車查看購物車添加或刪除購物車商品繼續購物結賬查看訂單訂單界面注銷退出結束 圖 1-1 系統業務流程圖 2.3用例圖 用例圖 ? 瀏覽商品用例,可以實現瀏覽商品 ? 搜索商品用例,可以根據商品的價格進行篩選查詢商品。? 管理商品詳情用例,可以實現對商品中所有信息的瀏覽。 ? 加入購物車用例,是用戶才有的功能,能在瀏覽商品后把商品加入購物車 ? 管理購物車用例,在加入購物車后擴展的功能,對于購物車內的商品可以增加刪除 ? 購買商品用例,用戶可以對于商品顯示頁面的商品進行購買 ? 管理自身訂單,用戶可以對自身的訂單進行搜索,刪除功能。? 清空購物車用例,用戶對購物車中所有商品進行清空 ? 瀏覽曾經的商品(歷史記錄)用例,用戶可以在這里瀏覽曾經使用的商品 ? 結賬模塊用例,用戶可以在這里進行結賬功能。 < 圖1-2主用例圖 刪除商品用戶瀏覽購物車清空購物車繼續購物結賬 圖 1-3 購物車用例圖 結賬用戶事務管理查看訂單信息 圖 1-4 結賬用例圖 2.4 狀態圖 對于系統進行狀態細節分析如下 a)b)c)d)e)f)g)h)用戶首頁輸入網址進入首頁界面 用戶瀏覽商品進入商品展示界面 瀏覽完之后可選擇喜歡的商品進入購物車界面 在購物車中可以添加或刪除商品進入更改商品界面 更改接受后確定是否繼續購物,若繼續擇返回商品展示界面 若不繼續購物則進入結賬界面 在結賬界面中進行查看訂單,進入訂單確認狀態 訂單確認無誤后,則系統提交,之后用戶可以注銷退出。 按價格篩選用戶輸入網址首頁瀏覽商品商品展示界面加入購物車購物車界面結賬界面發出結賬請求查看訂單注銷繼續購物確定是否購物添加或刪除商品訂單確認狀態退出 3模塊設計 3.1系統功能模塊 功能模塊圖: 系統總體分為前臺展示模塊,購物車模塊,結賬模塊。 前臺展示模塊包括:瀏覽商品模塊,篩選商品模塊,商品詳情模塊,歷史紀錄模塊。購物車模塊包括:購物車展示模塊,刪除商品模塊,清空購物車模塊,繼續購物模塊。 結賬模塊包括:訂單確認模塊,提交訂單模塊,事務處理模塊。 網上購物管理系統前臺展示模塊購物車模塊結賬模塊瀏覽商品模塊篩選商品模塊商品詳情模塊歷史紀錄模塊購物車展示模塊刪除商品模塊清空購物車模塊繼續購物模塊訂單確認模塊提交訂單模塊事務處理模塊 圖3-1 功能模塊圖 3.2模塊分析 1:商品展示模塊 這是網站的主頁面,用戶不登陸也可以進入該頁面,登陸成功后,頁面會顯示用戶的信息。此頁面主要是顯示一些主要商品的圖片、名稱、價格等信息,用戶可以輸入商品名稱,種類等進行搜索,也可以直接點擊商品查看商品細節信息。 圖 3-2 商品展示模塊 在主界面中可以根據價格的高低排序 2:商品詳情模塊 當你點擊一個商品的鏈接,可以進入商品的詳情頁面,這里會相識一個商品的所有具體信息,可以看到書名,作者,價格,出版日期 圖3-3 商品詳情模塊 3:購物車模塊 用戶喜歡的商品可以選擇放進購物車里,可以在購物車里產看用戶選擇的商品的名稱價格以及購物車商品的總價,用戶可以對購物車中的商品進行操作,修改購買數量,刪除商品,清空購物車,結賬等。 圖3-3 購物車前臺模塊 圖3-4購物車展示界面 清空購物車 刪除購物車中的某教材 圖3-5清空購物車界面 圖3-6刪除購物車某教材 4:回顧商品模塊 當您想看曾經瀏覽過的商品時,可以點擊查看瀏覽的歷史記錄,根據最近瀏覽的顯示記錄排序 5:結賬模塊 圖3-7 回顧商品模塊 在購物車進行結算以后,會跳轉至結賬界面,系統會顯示當前的信用卡姓名,信用卡帳號,當您提交時就會結算成功,并且通過事務管理防止重復提交 圖3-8 結賬模塊界面 余額不足時提示 圖3-8 余額不足界面 6:訂單頁面模塊 在購物車進行結算以后,就會生成訂單,訂單會顯示訂單號、收貨人、地址、電話等信息。點擊查看詳情就可以進入訂單詳情頁面 圖 3-9 訂單頁面模塊 4數據庫分析與設計 4.1數據庫分析 對于以上模塊的劃分以及分析我們建立網上購物管理系統數據庫,建了5個表,分別是帳戶表(account),書籍信息表(mybooks),訂單表(trade),訂單項目表(tradeItem),用戶信息管理(usersInfo),各表的實現的功能在上述模塊設計中已經指出,此刻不再贅述。 帳戶表(account)中的各列分別為:帳戶編號(accounted)主碼,帳戶余額balance 書籍信息表(mybooks)中的各列分別為:書籍(Id)主碼,作者(Author),標題(Title),價格(Price),出版日期(Publishingdate),車輛類型(Salesamount),車輛規格(Storenumber),單價預算(Remark)訂單表(trade)中的各列分別為:訂單編號(tradeid)主碼,用戶編號(userid)外碼,訂單日期(tradetime)訂單項目表(tradeItem)中的各列分別為:訂單編號(itemid)主碼,書籍編號(bookid)外碼,(quantity),使用年限(tradeid)用戶信息管理(usersInfo)中的各列分別為:用戶編號(userid),用戶名(username),帳戶編號(accountid) 4.2系統整體ER圖的設計 用戶編號訂單編號帳戶編號帳戶余額訂單表訂單日期帳戶表用戶名用戶編號帳戶編號生成擁有用戶信息管理擁有購買訂單項目表書籍信息表訂單編號書籍價格作者出版日期標題書籍編號使用年限 圖4-1 系統整體ER圖設計 4.3數據庫設計 帳戶表(account)設計 書籍信息表(mybooks)設計 圖4-2帳戶表(account)設計 訂單表(trade)設計 圖4-3書籍信息表(mybooks)設計 圖 4-4訂單表(trade)設計 訂單項目表(tradeItem)設計 用戶信息表(userinfo)設計 圖4-5訂單項目表(tradeItem)設計 圖4-6 用戶信息表(userinfo)設計 5編碼,實現及測試 5.1各功能源代碼 5.1.1 分頁的實現 public List String sql=null;System.out.println(“ method------------>”+method);if(method.equals(“price”)){ sql=“SELECT id, author, title, price, publishingDate, ” + } elseif(method.equals(“salesamount”)){ } elseif(method.equals(“publishingdate”)){ } else{ } returngetForList(sql, sql=“SELECT id, author, title, price, publishingDate, ” + “salesAmount, storeNumber, remark FROM mybooks ” + “WHERE price >= ? AND price <= ?order by price ”+ “LIMIT ?, ?”;sql=“SELECT id, author, title, price, publishingDate, ” + “salesAmount, storeNumber, remark FROM mybooks ” + “WHERE price >= ? AND price <= ?order by publishingdate ”+ “LIMIT ?, ?”;sql=“SELECT id, author, title, price, publishingDate, ” + “salesAmount, storeNumber, remark FROM mybooks ” + “WHERE price >= ? AND price <= ?order by salesamount ”+ “LIMIT ?, ?”; “salesAmount, storeNumber, remark FROM mybooks ” + “WHERE price >= ? AND price <= ?order by price desc ”+ “LIMIT ?, ?”;cb.getMinPrice(),cb.getMaxPrice(),(cb.getPageNo()-1)*pageSize,pageSize);5.1.2:運用ajax技術實現頁面的局部刷新 //ajax修改單個商品的數量 //1.獲取頁面中所有的text,并為其添加onclick事件 $(“:text”).change(function(){ varquantityVal = $.trim(this.value);varreg=/^d+$/g;varquantity=-1; varflag=false;if(reg.test(quantityVal)){ } if(!flag){ alert('輸入的數量不合法');$(this).val($(this).attr(“class”));return;} var$tr = $(this).parent().parent();vartitle = $.trim($tr.find(“td:first”).text());if(quantity==0){ } varflag = confirm(“確定要修改” + title + “的數量嗎?”);if(!flag){ $(this).val($(this).attr(“class”));} //2.請求地址為: bookServlet varurl = “Books”; //3.請求參數為: method:updateItemQuantity, id:name屬性值, varidVal = $.trim(this.name);varargs = {“method”:“updateItemQuantity”, “id”:idVal,//4.在updateItemQuantity方法中, 獲取quanity, id, 再獲取購物車對象, //5.傳回 JSON 數據: bookNumber:xx, totalMoney return; varflag2=confirm(“確定要刪除”+title+“嗎?”);if(flag2){ varserializeVal = $(“:hidden”).serialize();varhref=$tr.find(“td:last”).find(“a”).attr(“href”);window.location.href=href+ “&” + serializeVal;;return;} quantity=parseInt(quantityVal);if(quantity>=0)flag=true; quantity:val, time:new Date() “quantity”:quantityVal, “time”:newDate()};調用 service 的方法做修改 //6.更新當前頁面的bookNumber和totalMoney $.post(url, args, function(data){ varbookNumber = data.bookNumber;vartotalMoney = data.totalMoney;$(“#totalMoney”).text(“總金額: ¥” + totalMoney);$(“#bookNumber”).text(“您的購物車中共有” + bookNumber + “本書”);},“JSON”);});5.1.3:運用ThreadLocal類實現數據庫的連接與當前線程綁定,實現結賬的事務操作 publicvoiddoFilter(ServletRequest request, ServletResponse response, FilterChain chain)throwsIOException, ServletException { Connection connection = null;try { connection = DBUtils.getConnection(); connection.setAutoCommit(false); ConnectionContext.getInstance().bind(connection); chain.doFilter(request, response); connection.commit();e.printStackTrace();try { } HttpServletResponseresp =(HttpServletResponse)response;HttpServletRequestreq =(HttpServletRequest)request;resp.sendRedirect(req.getContextPath()+ “/error-1.jsp”);connection.rollback();e1.printStackTrace();} catch(SQLException e1){ } catch(Exception e){ } } ConnectionContext.getInstance().remove();DBUtils.Release(connection); } finally{ 5.1.4:使用過濾器實現頁面的編碼 publicvoiddoFilter(ServletRequest request, ServletResponse response, FilterChain chain)throwsIOException, ServletException { } String encoding = request.setCharacterEncoding(encoding);chain.doFilter(request, response);filterConfig.getServletContext().getInitParameter(“encoding”);5.1.5:數據庫底層操作,運用泛型技術和反射技術 public class BaseDao private Class publicBaseDao(){ } @Override public long insert(String sql, Object...args){ long id=0;Connection conn=ConnectionContext.getInstance().get();try { PreparedStatement for(inti=0;i prepareStatement.setObject(i+1, args[i]);clazz = ReflectionUtils.getSuperGenericType(getClass());System.out.println(clazz); privateQueryRunnerqueryRunner=new QueryRunner();prepareStatement=conn.prepareStatement(sql,java.sql.Statement.RETURN_GENERATED_KEYS); } } { } // TODO Auto-generated catch block e.printStackTrace();id=resultSet.getLong(1);} catch(SQLException e){ return id;@Override public void update(String sql, Object...args){ } @Override public T query(String sql, Object...args){ } @SuppressWarnings(“unchecked”)@Override public Connection conn=ConnectionContext.getInstance().get();try { } return(V)queryRunner.query(conn, sql, new ScalarHandler(), args);// TODO Auto-generated catch block e.printStackTrace();} catch(SQLException e){ Connection conn=ConnectionContext.getInstance().get();try { } return null;return(T)queryRunner.query(conn, sql, new BeanHandler } queryRunner.update(conn, sql, args);// TODO Auto-generated catch block e.printStackTrace();} catch(SQLException e){ } } return null;@Override public void batch(String sql, Object[]...args){ } @Override public List } Connection conn=ConnectionContext.getInstance().get();try { } return null;System.out.println(“sql-----------”+sql);returnqueryRunner.query(conn, sql, new BeanListHandler e.printStackTrace();Connection conn=ConnectionContext.getInstance().get();try { } queryRunner.batch(conn, sql, args);e.printStackTrace();} catch(SQLException e){ } catch(SQLException e){ 5.1.6:使用session防止表單重復提交 publicvoidcash(HttpServletRequest request, HttpServletResponse response) HttpSession session=request.getSession(); Thread.sleep(5000);String username=request.getParameter(“username”);String accountId=request.getParameter(“accountId”);StringBuffer errors=validateFormField(username, accountId);if(errors.toString().equals(“")){ errors=validateUser(username, accountId);if(errors.toString().equals(”“)){ throwsServletException, IOException, InterruptedException { ; } } errors=validateBookStoreNumber(request);if(errors.toString().equals(”“)){ } errors=validateBalance(request,accountId);String code=(String)session.getAttribute(”code“);System.out.println(code+”---------“);String codeRe=request.getParameter(”checkCode“);if(!code.equals(codeRe)){ } if(!errors.toString().equals(”“)){ request.setAttribute(”errors“, errors);errors.append(”驗證碼輸入不正確“);request.getRequestDispatcher(”/WEB-INF/pages/cash.jsp“).forward(request,service.cash(BookStoreWebUtils.getShopCart(request),username,accountId) request.getRequestDispatcher(”/WEB-INF/pages/error.jsp“).forward(reques } } } if(valS==null){ request.setAttribute(”username“, username);request.getRequestDispatcher(”/success.jsp“).forward(request, session.removeAttribute(”date“);} String val=request.getParameter(”date“); String valS=(String)session.getAttribute(”date“); if(valS!=null&&valS.equals(val)){ return;response);response);t, response);5.1.7:使用數據庫連接池 root 123456 jdbc:mysql:///bookstore com.mysql.jdbc.Driver 2 5 5 10 20 5 結論 6.1系統優點 系統實現了網上購物商城的基本功能,可以很好的完成網上購物的一系列流程。而且方便快捷,高效。頁面也很美觀,大方。對整個系統的框架設計合理,大大提升了系統的整體性與耦合性。也方便了后期的進一步開發與維護。 6.2系統缺點 系統缺乏創新性,沒有自己過多的新增功能,沒有特別突出的特點。可以增加一些功能,來豐富系統,提升系統的實用性。例如增加商品的銷量排行榜,方便用戶查看暢銷商品。增加商品的交易評價,方便用戶判斷是否購買此商品。 6.3未來發展 這里指為了使本系統更好的適應環境的變化,有必要進行適應性維護。一方面由于計算機技術的飛速發展,原來的系統不能適應新的軟硬件,另一方面,應用對象也在不斷的發生變化,將導致系統不能適應新的應用環境,因此,有必要對系統進行調整,以保證系統時時都能滿足用戶要求。 7實驗小結 電子商務網站網上購物系統設計 摘要:伴隨互聯網的廣泛應用和電子商務的迅速發展,網上購物系統漸漸走入人們的視野。本文通過對網上購物系統的基本流程及功能進行說明,提出了該系統的設計方法。因此本人結合網絡購物系統的要求,對 Access 數據庫管理系統、ASP 設計平臺,ASP數據庫技術進行了較深入的學習和應用,主要完成對網絡購物系統的需求分析、功能模塊劃分、數據庫模式分析 關鍵詞:電子商務網站 網上購物系統 系統設計 在二十一世紀的現在,電子商務已經越來越流行,在網上購物已經是一件很平常的事情。隨著互聯網寬帶和技術應用的成熟,以及物流和支付系統的完善,可以預見,隨著時間流逝,網上購物將成為互聯網普及應用的主流,必將持續影響著千家萬戶的生活和經濟行為,并最終成為社會商業活動的重要形式。面臨眾多的網上購物系統,如何根據技術現狀和客戶的需求設計一個合理的網上購物系統顯得尤為重要,建立和開發這樣的電子商務平臺不但可以擴大商家的規模和市場影響力,而且可以減少企業的經營成本,提高工作效率。 一.系統開發工具 系統的定位是一個電子商務站點,作為面向 Internet Web 上的應用,傳統的客戶端/服務端架構很明顯不適應,瀏覽器/服務器架構是必然的選擇。根據當前 Internet 現狀,確定系統運行在微軟公司的 Windows平臺上,使用 IIS 信息服務起作為 Web 服務器,前臺使用流行的網頁制作工具 Dreamweaver,后臺的數據庫則用 Access,用 Asp 動態網頁技術完成動態交互功能。 二.網上購物系統基本操作流程分析 用戶在瀏覽網站時首先看到的就是網站首頁。在首頁用戶可以快速瀏覽最新商品,了解熱門商品和推薦商品,也可以搜索已知的商品查看具體信息。首頁聚 I 集了大量的信息,除了商品以外,還有站內公告信息和站內新聞信息,此時用戶已經對商城有了一定的了解。用戶如果想要購買商品時必須注冊成會員,再用戶查看完商品的詳細信息后,可以把自己想要購買的商品放入購物車當中,也可以隨時修改、刪除購物車里的商品,如果用戶對購物車里的商品都很滿意,也可以去收銀臺結賬,下訂單。這時相關的程序模塊會將用戶所提交的所有信息都記錄在數據庫里以便整個商城的管理人員可以核對信息并在收款后準備發貨,發貨成功并且用戶確認收到貨物時整個購物過程便結束了。在電子商城后臺管理方面還需要添加、修改、刪除商品,同時要對商品進行分類,包括用戶信息的管理、站內公告的設置、站內新聞的發布和訂單的處理等都需要電子商城的管理人員來操作。工作人員也會根據用戶的訂單隨時調整庫存、進貨、發貨等。 所以,由上可知,網上商城應分兩個部分:第一部分是面向用戶系統前臺的部分包括:顧客在線注冊、選擇商品、進行購物、付款等操作;第二部分是商城后臺系統管理部分,這部分的內容包括:產品的添加、刪除、查詢、訂單的管理、操作員的管理、注冊用戶的管理等。 系統主要涉及普通用戶和管理員兩部分人員,普通用戶通過簡單的注冊成為會員后可以對商品進行瀏覽、加入購物車、下達訂單等操作,管理員用戶可以對商品進行添加與維護、處理訂單、管理用戶、管理評論等操作。 三.網上購物系統詳細設計 (一)系統前臺設計 注冊 當用戶第一次進入購物網站時,如果想在網站上購買東西,就需要注冊成網站的會員,以便將自己想要的商品放入購物車。用戶注冊必須填寫一些基本信息,主要包括用戶名、密碼、真實姓名、聯系電話和詳細地址等。 登錄管理 用戶也只有登錄后才可以進行購買和下訂單等操作。當用戶在完成注冊以后購買商品的時候系統會先檢查一下該用戶有沒有登錄,若登錄過了則可以直接對自己選購的商品下訂單,否則返同登錄窗口。登錄后,可填寫修改詳細個人信息及收貨人信息,同時可修改密碼、查詢、查看訂單信息、修改訂單(已經過管理員處理的商品除外)。 II 尋找商品 選擇產品通過四種方式:通過類別自行瀏覽;通過瀏覽推薦商品選擇;通過熱賣排行榜選擇商品 ;通過搜索條件搜索。產品放到購物車后,購物車可連續添加商品,一次性結賬付款購買; 管理購物車 顧客選擇完商品后可進入購物車頁面,查看自己要購買 的商 品,亦可修改某一商品數量、取消購買某商品或清空整個購物車等。 用戶訂單模塊 顧客確定購物車想買的商品后提交訂單如顧客已填寫收貨人信息則頁面實時顯示訂單信息。如尚未填寫則顯示相應表單請其填寫,顧客提交訂單后可隨時在登錄網上商城后查詢該訂單,并可對尚未處理的訂單進行取消、修改等操作。顧客在訂單被銷售方確認后,選擇付款方式,并付款給銷售方,點擊“確定已付款”,這樣系統就會將默認的“未付款”更改為”已付款”,然后才可以收到貨。 (二)系統后臺管理設計 管理人員部分 該部分的用戶有一個超級管理員以及若干個普通管理員。超級管理員擁有最高權限可訪問所有訂單,瀏覽、修改普通管理員和會員的資料;普通管理員分兩種,一種是銷售管理員:主要負責訂單管理,可瀏覽、修改訂單狀態,也可瀏覽會員信息;另一種是產品管理員:主要負責界面管理,可增刪商品和公告及廣告等操作。 用戶訂單管理 訂單管理主要是指管理員對用戶已付款的訂單做一個簡單的管理查看,這樣很方便杳看到是哪一位用購買了哪一件,同時顯示該用戶購買了幾件該商品。系統管理員會根據這些信息給已付款的用戶配送相應的商品。若訂單的狀態在一定時限后仍沒有發生變化(“訂單關閉”狀態除外),系統自動提醒管理員,訂單狀態發生變化,系統自動發E—mail給顧客,(“無效訂單”、“訂單關閉”狀態除外)。 管理商品 展示并出售商品是在線網店的真正目的,這樣就需要管理員在后臺可以添加、刪除商品并可以對商品信息加以修改。 預警功能 為更好的使用,系統應該引入預警功能,為商品數量設置下限,達到設置的下限,管理員應提示用戶進貨;訂單應設置處理時限,超過時限提示管理員操作。 III 用戶評論管理 用戶評論主要是指所有參與網購的會員都可以對本商城中的每一件商品留言評論,寫下自己對于商品的看法,供以后買的會員參考。為避免商家遭受不公平待遇,管理員可以將惡意留言內容加以刪除,以確保廣大用戶和諧的購物。 (三)數據庫設計 一個結構良好的數據庫可以很好地實現系統的查詢和管理,并且能夠極大地提高系統的運行效率,所以數據庫的設計也是本系統非常重要的設計環節之一。 分析購物系統的特點可以發現2類信息存儲在數據庫中。一個是用戶信息表、商品信息表及評論信息表——包括用戶注冊信息、商品信息、評論內容等。 訂單表——這一類表主要是存儲用戶訂單。 中國電子商務發展到今天經歷了低潮、曲折等一系列的變化,但困難并沒有抹殺大家對其的熱忱。電子商務將成為 21 世紀的網絡發展的主流,電子商務在未來的應用將愈來愈廣。目前國內企業正紛紛加入到阿里巴巴等一系列大型電子商務網站中,通過網絡進行 B2B(企業對企業)的網上交易之后,也充分認識到網絡交易將成為未來商品交易的重要組成部分,在建立企業宣傳網絡的同時,也 逐步擴大企業自身的網絡銷售渠道,建立起自己的電子商務網站,完成從 B2B 到 B2C(企業到個人)同時進行網絡交易的過渡,大大提高了企業生產效益。企業信息化水平已成為企業參與市場競爭的關鍵,網上交易作為基本的電子商務功能之一,有著強大的優勢。網上交易市場是企業間電子商務所需要的電子化和網絡化的商務平臺。通過網上交易市場,可以改變傳統貿易中的一對一或一對多的模式,變成了多對多模式,并創造眾多買賣商家聚集的在線交易空間。買賣雙方不僅可以尋找到更多的貿易伙伴,增加更多的商業機會,還能夠享受更多的方便和標準化的商務服務,獲得一個良好的商務環境 參考資料: [1]白以恩.計算機網絡基礎及應用[M].哈爾濱:哈爾濱工業大學出版社,2000.IV [2]劉錦繡.電子商務的實現網上購物系統的分析與研究[期刊論文]——《中國電子商務》2012(6) [3]王健南.ASP 數據庫管理項目方案精解.航空工業出版社,2006。 [4] 許多頂 電子商務的發展現狀與展望[期刊論文]-上海應用技術學院學報 2001(02)[5].辛峰 基于JSP的網上購物系統設計與實現[期刊論文]-哈爾濱職業技術學院學報 2010(1) V 目錄 第一章 系統設計概述 1 1.1引言 1 1.1.1系統開發的背景 1 1.1.2系統開發的目的與意義 1 第二章 可行性研究與需求分析 3 2.1可行性研究 3 2.1.1技術可行性 3 2.1.2經濟可行性 3 2.1.3運行可行性 3 2.1.4法律可行性 3 2.2需求分析 3 2.2.1系統目的 3 2.2.2數據流圖 4 2.2.3數據字典 6 2.2.4功能需求 8 2.2.5性能要求 8 第三章 項目設計的基本原理和采用的主要方法與技術 9 3.1項目設計的基本原理 9 3.2項目設計采用的主要方法與技術 9 第四章 總體設計 12 4.1總體設計原理 12 4.2運行環境 12 4.3系統流程圖 12 4.4系統功能模塊圖 14 4.5系統安全與維護 15 第五章 詳細設計 17 5.1程序流程圖 17 5.2數據庫設計 19 5.2.1概念結構設計 20 5.2.2邏輯結構設計 23 第六章 編碼實現與測試用例設計 28 6.1登錄界面 28 6.2管理界面 30 6.3網站主界面 33 6.4訂單查詢界面 34 第七章 測試用例設計、測試與運行記錄 37 7.1測試目的 37 7.2 測試目標 37 7.3測試方法 37 7.4測試項目 37 7.5測試界面 37 7.5.1管理員登錄測試 37 7.5.2管理商品信息測試 38 7.5.3管理訂單信息測試 39 7.5.4用戶管理測試 40 7.5.5管理員密碼修改測試 40 7.5.6用戶登錄測試 41 7.5.7用戶個人管理測試 42 7.5.8添加商品信息測試 42 總結 44 參考文獻 47 本系統必須具備以下幾個功能如下: 1.顧客登錄及身份驗證功能:接受游客的基本信息。 2.顧客在線購物功能:顧客瀏覽商品信息,進行選購,提交訂單后進行交易。3.管理員功能:管理員對整個系統進行管理。 4.購物車功能:在顧客提交訂單之前,一直存放顧客選購得商品 一、系統流程分析 (1)普通用戶分為注冊會員用戶和非會員用戶。進入網站首頁,會員用戶登錄成功后具有查看商品信息并訂購商品、查看訂購信息、查看公告信息、修改個人信息等權限;非會員用戶不用登錄,只能查看商品信息、公告信息,不能訂購商品.只有注冊成為會員用戶并成功登錄后。方可訂購商品。 (2)部門管理員只可以對本部門銷售的商品的分類、商品品牌和商品信息進行管理,也可對自己的個人信息進行管理維護。 (3)總管理員可以對商城銷售的商品大類、各部門的管理員、公告信息和客戶訂單進行管理.并可以修改個人信息和密碼。 圖1-1 系統流程示意圖 二、系統數據庫設計 本系統客觀存在的實體有:管理員(gly)、注冊會員用戶user)、商品種類(spzl)、商品子類(splx)、商品品牌(ppxx)、商品(sp)、商城公告(board)。共7個實體,圖2-1 網上購物全局E-R圖 三、邏輯結構設計 管理員:包括管理員編號、注冊名、密碼、真實姓名、地址、電話、E-mail、其他。當管理員編號為“0000”時,代表系統總管理員,其他編號為對應的部門管理員。注冊會員用戶信息:包括用戶ID、姓名、密碼、性別、地址、手 機號、電話、E—mail。 商品種類:包括商品種類編號,商品種類名稱。每一個商品種類可以有多個商品子類。商品子類:包括子類編號、子類名稱、指標名稱I、指標名稱 2、指標名稱 3、指標名稱 4、指標名稱5。5個指標名稱中分別存 放每一子類商品的5個主要的指標名稱。 商品品牌:包括品牌編號、品牌名稱、品牌生產商、業務聯系 信息。 商品:包括商品編號、商品名稱、商品型號、商品指標值 1、商品指標值 2、商品指標值3,商品指標值 4、商品指標值 5、參考銷售單價、上市日期、圖片、簡介。5個商品指標值巾分別存放各商品的具體指標參數值。 商城公告信息:包括公告編號、公告標題、公告內容、發布時閱。 商品銷售信息:包括訂單編號、用戶編號、商品種類編號、商品分類編號、商品品牌編號、商品編號、訂購日期、訂購數量、實際銷售價、用戶確認、發貨日期、管理員確認。 四、數據庫邏輯結構設計 1.公告信息表(題目,內容,時間,編號,提交人) 2.商品類別表(編號,類別,名稱,序號,廠家,包裝類型,銷售價格,進貨價格,商品簡介,瀏覽次數,銷售數量,相關圖片) 3.購物車表(編號,用戶名,商品編號,訂購時間,訂購數量,銷售價格,用戶確認,訂單號,提交時間,管理員確認) 4.用戶投訴表(投訴編號,投訴時間,用戶名,訂單號,投訴內容,處理結果,處理標志)5.用戶信息表(用戶名,用戶密碼,用戶姓名,性別,地址,電子郵件地址,固定電話,移動電話) 6.管理員表(用戶名,密碼,用戶姓名) 五、模塊功能設計 (1)顧客注冊,登錄模塊 顧客可以通過填寫注冊信息注冊成為會員,會員注冊,登錄需要填寫附加碼,保證 系統的安全性。會員登錄后才能進行購物,購物車的管理與意見反饋,為登錄的會員或 未注冊的顧客只能檢索與瀏覽商品信息。(2)購物車模塊 顧客輸入帳號與密碼登錄后便可以進行購物車的管理,可以查看購物車,將商品添 加到購物車中,也可以刪除購物車中的商品,修改購物車中商品的數量,在線下訂單及 訂單查看。 (3)商品檢索,瀏覽模塊,特價商品檢索,瀏覽模塊 顧客可以根據不同的商品種類瀏覽商品信息(如商品名稱,商品圖片,商品型號,價格,生產廠商,生產日期等),也可以輸入關鍵字進行商品檢索。顧客可以根據不同 的商品種類瀏覽特價商品信息(如商品名稱,商品圖片,商品型號,價格,生產廠商,生產日期等),也可以輸入關鍵字進行特價商品檢索。(4)顧客留言模塊 顧客登錄成功后,進入反饋信息界面,可以發表自己的意見或建議。(5)后臺登錄模塊 系統管理員輸入帳號,密碼和附加碼可以登錄后臺界面,登錄驗證模塊根據輸入的 帳號密碼識別不同角色的管理員,然后進入不同的后臺管理模塊,賬號密碼輸入錯誤后 給出錯誤提示并要求從新輸入。(6)訂單管理模塊 訂單管理員登錄后,可以根據日期范圍,訂單完成狀態,訂單編號等取得訂單列表 與查看某訂單的詳情,也可以修改訂單的完成狀態及訂單中的商品或數量,還可以刪除 訂單本身及訂單中的商品。(7)商品管理模塊 商品管理員可以查看商品種類和商品信息,也可以新增,修改,刪除商品的種類和 商品本身。 (8)特價商品管理模塊 該模塊也和商品管理模塊一樣,商品管理員可以查看特價商品種類和信息,也可以 新增,修改,刪除商品的種類和特價商品本身,并且可以將商品列為特價商品以及將特 價商品修改為一般商品(9)會員管理模塊 會員管理員登錄后,可以根據注冊時間范圍,會員級別及會員D取得會員列表,然后對某個會員可以進行詳細資料的查看,級別調整與刪除操作;也可以根據留言時間 范圍,回復狀態及會員D取得留言列表,然后對某個留言進行內容查看,回復與刪除 操作。 (10)系統用戶管理模塊 系統管理員登錄后,可以根據用戶列表進行用戶詳細資料的查看,新增用戶,修改 用戶與刪除用戶操作。論文 1. 網上購物系統的開發背景+可行性分析(經濟,技術)2. 系統需求 3. 系統設計+系統分析、實現 4. 系統工作流程 5.第二篇:網上購物管理系統
第三篇:電子商務網站網上購物系統設計
第四篇:網上購物系統論文
第五篇:網上購物系統系統分析