




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-PAGE . z. - .- -可修編- -嘉 應 學 院本科畢業論文(設計)題 目:基于Java的電子商城管理系統的設計與實現院系:計算機系 專 業:計算機科學與技術*: 唐成林 學 號:111110013 指導教師: 鄒咸林 教師職稱: 副教授申請學位: 工學學士 填寫日期: 2015年4月20日-. z. - .- -可修編- -摘要隨著市場經濟的逐漸形成,全球化經濟已在國迅速發展起來。以往的銷售模式正在受到空前的挑戰:人們已經對去固定的場所、購買(出售)固定的物品的交易方式所帶來的不便越來越感到不滿,交易的時間長、效率低。高額的運費、銷售場地的憑租費等繁多的額外開支也給商家帶來沉重的
2、成本支出。為了適應市場、適應經濟前進的步伐,買家和商家都在努力積極地尋找一種能夠帶來高效率、低成本銷售模式。網上商城不需要商店的憑租費;新商品可以用最短的時間吸引顧客的眼球,因為它不需要則長的運輸時間。網上商城為商家節省了大筆的運輸費用、場地憑租費等額外成本,同時也為買家帶來了無窮的方便性。網上商城使得買東西、不出門”成為現實。廉價的網絡資源使得網上商城成本低廉,給世界性的互聯網絡帶來無比寬闊的市場,給商家/買家帶來了眾多利益和無限需求。本設計對商業活動中常見的采購、庫存、銷售等商業活動以及相關的供貨商和客戶等基本信息進行了管理。系統中的數據格式和字段設置不具體針對*一個行業或企業,因而具有普
3、遍的適用性。關鍵詞:商品;網上商城-. z.- -可修編- -ABSTRACTAlong with the gradual formation of a market economy, globalization, the economy has developed rapidly in China. Sales of the previous model is facing an unprecedented challenge: people have right to a fi*ed place to buy (sell) a fi*ed mode of modities are incr
4、easingly dissatisfied with the inconvenience of the transaction long time and low efficiency. High freight costs, sales venue rental, etc. With many of the additional e*penses also impose a heavy cost to businesses. In order to adapt to the market to adapt to the pace of growth of our economy, buyer
5、s and businesses are working actively to find a way to bring high efficiency, low cost sales model.Online Mall With no rental store; new product can be the shortest possible time to attract customers attention, because it does not need that long transport time. Online Mall for businesses substantial
6、 savings in transport costs, venue rental, etc. With the additional costs, but also for the buyer to bring endless convenience. Online Mall making the buy things do not go out, bee a reality. Network resources allows low-cost low-cost online mall, to the worldwide Internet has brought tremendous bro
7、ad market, to the vendor / buyer has brought many benefits and unlimited demand.The design of mercial activities in a mon procurement, inventory, sales and other mercial activities, and related suppliers and customers, and other basic information management. System data format and field settings are
8、 not specific to a particular industry or enterprise, which has universal applicability.Key words:Goods, Online Mall目 錄TOC o 1-2 h z uHYPERLINK l _Toc324064366摘要 PAGEREF _Toc324064366 h IIHYPERLINK l _Toc324064367ABSTRACT PAGEREF _Toc324064367 h IIIHYPERLINK l _Toc324064368第一章緒論 PAGEREF _Toc32406436
9、8 h 1HYPERLINK l _Toc3240643691.1課題背景 PAGEREF _Toc324064369 h 1HYPERLINK l _Toc3240643701.2目的和意義 PAGEREF _Toc324064370 h 1HYPERLINK l _Toc3240643711.3系統設計思想 PAGEREF _Toc324064371 h 2HYPERLINK l _Toc3240643721.4系統開發環境 PAGEREF _Toc324064372 h 2HYPERLINK l _Toc3240643731.5本章小結 PAGEREF _Toc324064373 h 4
10、HYPERLINK l _Toc324064374第二章需求分析 PAGEREF _Toc324064374 h 5HYPERLINK l _Toc3240643752.1 功能需求 PAGEREF _Toc324064375 h 5HYPERLINK l _Toc3240643762.2 數據元素定義 PAGEREF _Toc324064376 h 6HYPERLINK l _Toc3240643772.3 業務流程分析 PAGEREF _Toc324064377 h 6HYPERLINK l _Toc3240643782.4 本章小結 PAGEREF _Toc324064378 h 9HY
11、PERLINK l _Toc324064379第三章總體設計 PAGEREF _Toc324064379 h 10HYPERLINK l _Toc3240643803.1系統模塊總體設計 PAGEREF _Toc324064380 h 10HYPERLINK l _Toc3240643813.2 系統數據庫設計 PAGEREF _Toc324064381 h 12HYPERLINK l _Toc3240643823.3 本章小結 PAGEREF _Toc324064382 h 16HYPERLINK l _Toc324064383第四章詳細設計與實現 PAGEREF _Toc324064383
12、 h 17HYPERLINK l _Toc3240643844.1系統運行平臺設計 PAGEREF _Toc324064384 h 17HYPERLINK l _Toc3240643854.2各模塊詳細設計與實現 PAGEREF _Toc324064385 h 17HYPERLINK l _Toc3240643864.3本章小結 PAGEREF _Toc324064386 h 23HYPERLINK l _Toc324064387第五章系統測試與性能分析 PAGEREF _Toc324064387 h 24HYPERLINK l _Toc3240643885.1軟件測試 PAGEREF _To
13、c324064388 h 24HYPERLINK l _Toc3240643895.2測試的基本概念 PAGEREF _Toc324064389 h 24HYPERLINK l _Toc3240643905.3測試步驟 PAGEREF _Toc324064390 h 25HYPERLINK l _Toc3240643915.4系統測試 PAGEREF _Toc324064391 h 25HYPERLINK l _Toc3240643925.5本章小結 PAGEREF _Toc324064392 h 27HYPERLINK l _Toc324064393第六章系統使用說明與總結 PAGEREF
14、_Toc324064393 h 28HYPERLINK l _Toc3240643946.1 系統運行環境 PAGEREF _Toc324064394 h 28HYPERLINK l _Toc3240643956.2 系統使用說明 PAGEREF _Toc324064395 h 28HYPERLINK l _Toc3240643966.3 展望 PAGEREF _Toc324064396 h 28HYPERLINK l _Toc3240643976.4 總結 PAGEREF _Toc324064397 h 29HYPERLINK l _Toc324064398致 PAGEREF _Toc324
15、064398 h 30HYPERLINK l _Toc324064399參考文獻 PAGEREF _Toc324064399 h 31-. z.第一章 緒 論1.1課題背景隨著計算機技術的發展和網絡人口的增加,網絡世界也越來越廣博,越來越豐富,網上商城已經成為網上購物的一股潮流。互聯網已日益成為收集提供信息的最佳管道并逐步進入傳統的流通流域,互聯網的跨地域性和可交互性使其在與傳統媒體行業和傳統貿易行業的競爭中是具有不可抗拒的優勢。人們對于互聯網技術的要求已不單單是瀏覽一下網頁,收發電子,日益忙碌的人們開始追求足不出戶就能買到心儀的商品,是越來越多的上網愛好者實現購物的一種方式。對于企業來講,無
16、論是企業之間(B to B),還是企業和客戶之間(B to C)的交易,如果能夠實現網上交易將大大提高交易速度節約成本。但是對網絡的及時、一對一、跨時間、跨空間等特性,并沒有充分加以利用。在這種形勢下,傳統的依靠管理人員人工工作傳遞信息和數據的管理方式就無法滿足企業日益增長的業務需求了。5因而開發了這樣一個具有前后臺的系統,以滿足購物者和企業的需求。1.2目的和意義無店鋪零售的悄然興起,是商業經濟發展到一定階段的產物,也是順應新的消費需求和技術進步的必然結果。與傳統的百貨商店、連鎖超市、大賣場、便利店等有形商鋪相比,無店鋪零售業態具有一定的先天優勢。一是地段,對于傳統的有形店鋪來說,門店的選址
17、、地段的優劣,幾乎能夠決定其未來經營的成敗,而城市中的商業網點資源,尤其是優質商業網點資源通常十分稀缺。無店鋪零售則大多不存在地段方面的制約。二是經營成本,借助日益發展的科學技術,無店鋪零售通常能夠省卻從生產到銷售過程中的許多環節,從而有效降低經營成本與交易成本,給消費者、商家帶來雙贏的局面。三是風險,對于個人來說,網上商店等無店鋪零售業態的準入門坎相對較低,運轉比較靈活,即使遇到風險,也有船小好掉頭的優勢。專家表示,隨著社會經濟的發展及消費水平的提高,人們希望得到更加方便、更加快捷的購物方式,同時也樂于嘗試各種新的購物方式。在這一市場需求的推動下,企業會對商品零售的方式進行創新,而先進的技術
18、給創新提供了重要支撐與平臺。鑒于互聯網的優勢以及對國外相關的各銷售網點現狀的研究分析,我決定開發以基于java的商城作為我的畢業設計主題。立足于設計一個在網絡平臺上運行的購物支付配送等功能于一體的無店鋪網絡商城。以小小的力量推動中國互聯網的發展。1.3系統設計思想中國的電子商務還沒有真正實現物流、信息流、資金流的有機結合。就經濟發達的我國南方地區,一些企業和軟件公司合作,建立自己的網上商城。但只實現了一個信息交換的功能。企業發布自己的產品,用戶在上面瀏覽,發送了定單,在網上商城的管理后臺接到了定單,之后就是通過人的溝通來實現資金流通和貨物的發送。有的已經實現了一定的電子貨幣交易,但物流方面還是
19、做得不夠。本實例的設計思想如下:用戶通過網上商城的前臺瀏覽商城中的物品,商城中的物品按類分放,每類商品有一個編號,用戶可以直接輸入所需的商品名稱,查到物品的編號,以及所在位置并顯示出來。在發布商品的信息的時候,首先對后臺維護人員做適當的培訓。提高他們的優級服務的思想,讓他們在發布信息的時候堅持把用戶放在第一位的原則。用戶在首次購物時候必須注冊,通過賬戶在銀行轉換電子貨幣。銀行和企業之間再進行資金流轉。企業在收到訂貨單后,對訂貨單按不同的標準進行分類,比如按地區,種類等,然后通過網絡把這些信息發送到第三方代理,同時也進行網上結算,會給第三方代理費用,第三方代理再按自己的最快捷的方式發送貨物。整個
20、過程是個有機的結合,是按照電子商務的特性進行設計 :商務性:即提供買、賣交易的服務、手段和機會。集成性:包括技術和信息的集成性。怎么讓客戶以最快的速度搜索到最有用的信息,可能應該是這類最應該考慮的。擴展性:這主要是針對系統的穩定性來說的。電子商務的服務系統應當有自身的擴展功能。因為系統應當能承受住一定的負荷,如果在*個高峰訪問期導致了服務器的崩潰,結果是可想而知的。服務性:在電子商務環境中,客戶不再受地域的限制,運用互聯網為媒介的這種貿易,他的合作伙伴可以是地球上其它任一個角落,要想使全球的人都能接受你所提供的商品,服務質量是最關鍵的。安全性:安全性是必須考慮的核心問題。欺騙、竊聽、病毒和非法
21、入侵都在威脅著電子商務,因此要求網絡能提供一種端到端的安全解決方案,包括加密機制、簽名機制、分布式安全管理、存取控制、防火墻、防病毒保護等。協調性:商務活動是一種協調的過程,它需要雇員和客戶,生產方、供貨方以及商務伙伴間的協調。1.4系統開發環境本系統采用開發工具為Eclipse,后臺數據庫是MySQL,服務器是Tomcat 7.0,軟件要求:操作系統為Windows *P或更高,Internet E*plorer 6.0或更高版本,硬件要求:Intel Pentium 4CPU 1.8GH或更高。一、B/S結構的數據庫訪問模式B/S結構是真正的三層結構,它以訪問Web數據庫為中心,HTTP為
22、傳輸協議,客戶端通過瀏覽器(Browser)訪問Web服務器和與其相連的后臺數據庫,我們稱之為B/S(Browser/Server)模式。其三級結構組成如圖1-1所示,圖中從左到右,分為三個層次:第一層是客戶端即瀏覽器,主要完成客戶和后臺的交互及最終查詢結果的輸出功能。在客戶端向指定的Web服務器提出服務器請求,Web服務器用HTTP協議把所需文件數據傳給用戶,客戶端接受并顯示在瀏覽器上;客戶端WEB服務器后臺數據庫客戶端圖1-1三層架構圖第二層Web服務器是功能層,完成客戶的應用功能,即Web服務器接受客戶請求,并與后臺數據庫連接,進行申請處理,然后將處理結果返回Web服務器,再傳至客戶端;
23、第三層數據庫服務器是數據層。數據庫服務器應客戶請求獨立地進行各種處理。與傳統的C/S模式相比,B/S結構把處理功能全部移植到了服務器端,用戶的請求通過瀏覽器發出,無論是使用和數據庫維護上都比傳統模式更加經濟方便。而且使維護任務層次化:管理員負責服務器硬件日常管理和維護,系統維護人員負責后臺數據庫數據更新維護。由以上的比較分析可知,三層結構也可以理解為增加WEB服務器的C/S模式。二、相關技術簡介本系統采用的關鍵技術是Spring+Hibernate整合。之所以采用SSH整合是因為在軟件工程領域,為了降低模塊耦合度,提高模塊的可重用性,分層一直是廣為采納的一個方法。1其實分層還可以使開發人員專注
24、于*一層進行開發,使得軟件開發的分工變細,提高生產效率。通常分為以下幾層:1、UI層:負責與用戶交互,包括:接受用戶的請求,把處理結果返回給用戶。這里UI層我們采用Freemarker模塊來實現。Freemarker增加了layout的概念,就是把一個頁面劃分為幾塊,對布局基本相同的頁面,可以共用重用Freemarker模塊,在需要的時候可以用include/標簽包含到指定頁面。在這一層還采用Freemarker的一些常用標簽,使它具有可移植性、可跨平臺。2、業務邏輯層:主要負責具體的業務處理。Spring是以MVC模式為基礎,依賴注入為核心的Java應用框架,它利用Java的反射機制,將系統
25、各層無縫的整合在一起,實現了系統各模塊和各層次的解藕,提高了系統的可維護性和可移植性。3、數據持久層:通過實體關系映射工具將關系型數據庫的數據映射成對象,很方便地實現以面向對象方式操作數據庫,該系統采用Hibernate框架實現。6三、相關數據庫簡介MySQL是一個關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬于 Oracle 公司。MySQL 是最流行的關系型數據庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。MySQL 是一種關聯數據庫管理
26、系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫,這樣就增加了速度并提高了靈活性。MySQL 所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策(本詞條授權政策”),它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型的開發都選擇 MySQL 作為數據庫。由于其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。31.5本章小結在本章中主要介紹了本系統的開發背景、目的和意義、系統設計思想,以及開發工具的一些主要技術,本系統主要是采用Eclipse作為開發工具,并采用MyS
27、QL作為后臺數據庫。采用當前較流行的HTML技術。操作系統為 Windows *P。選擇如此架構主要因為Windows和MySQL已被廣泛使用多年,是一項成熟的技術,并且有較多的成功案例。此外系統的使用和日常維護也較方便,因為 Windows和MySQL等軟件都是大家都非常熟悉的產品。Windows和MySQL,都有很友好的客戶接口,便于使用,相應地縮短了開發時間。Windows和MySQL使用歷史來說,均為較成熟的產品,有較好的安全性,比較適合中小型企業的網絡和數據庫的應用。第二章 需求分析軟件需求分析工作是軟件生存周期中重要的一步。只有通過需求分析才能把軟件功能和性能的總體概念描述為具體上
28、的軟件需求規格說明,從而奠定軟件開發的基礎。軟件需求分析工作也是一個不斷認識和逐步細化的過程。該過程將軟件調研階段的需求數據進行分析和設計,使軟件圍逐步細化到詳細定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決辦法。本章將從不同角度的需求分析問題,講述軟件需求類型,分析過程,分析本軟件的功能需求,性能需求并且給出數據元素的定義(在總體設計中將對數據元素進行分析組合形成數據表),對整體架構需求進行分析設計,對業務流程進行分析并給出了核心業務的業務流程圖。12.1 功能需求網上商城共分為兩個部分,一部分是面向用戶的部分,包括:顧客在線注冊、商品搜索、購物車、個人賬戶管理、下單、
29、在線支付等操作;另外一部分是商城管理部分,這部分的容包括:訂單管理、注冊用戶管理、商品管理等。主要實現以下功能:普通用戶可以通過系統瀏覽商品(按類別)普通用戶可以通過系統搜索商品(按類別)普通用戶可以通過系統注冊成為會員會員可以瀏覽和檢索商品會員可以下訂單會員可以瀏覽自己訂購的商品會員可以管理自己的信息管理員通過后臺進行商品分類和管理(包括商品的瀏覽添加刪除修改)新增產品產品上柜產品下柜產品搜索產品刪除產品修改管理員通過后臺進行會員的管理會員信息瀏覽會員添加會員刪除管理員通過后臺進行訂單的管理訂單的查詢修改訂單的狀態(11)管理員通過后臺進行公告的管理公告瀏覽公告添加公告刪除2.2 數據元素定
30、義數據元素是不可再分的數據單位,一般而言,包括如下容:數據項描述數據項名,數據項含義說明,別名,數據類型,長度,取值圍,取值含義,與其它數據項的邏輯關系,數據項之間的聯系。其中,后兩項定義了數據的完整性約束條件,用于數據校驗。2.3 業務流程分析用業務流程圖描述現系統各項業務處理過程,并結合業務流程圖詳細準確地說明業務處理過程中資料的收集、輸入、傳遞、存儲、加工的方法、算法、輸出的數量及形式等。現行系統的業務流程圖是分析和描述現行系統業務的重要工具之一。其主要作用是:描述現行系統的業務情況以便于與企業管理人員交流,它是系統設計的前提和保證。根據系統的具體情況,業務主要分為以下幾類:1訂單處理業
31、務流程描述如下:客戶下完訂單后,由訂單處理人員對訂單進行審核,如果通過該訂單將轉為等待付款狀態,當財務部確認用戶已付款,該訂單將轉為正在配貨狀態,由配送中心將貨物發送出去,客戶收到貨物后,該訂單就轉為已收貨。訂單處理業務流程如圖2-1所示。財務開配貨單據配送部開發貨單客戶配送中 心發貨單通過否?與客戶洽談修改或取消訂單否配貨單據賬務審核正在配貨等待付款在線支付付?等待審核客戶訂單是通過未通過是圖2- SEQ 圖2- * ARABIC 1 訂單業務流程圖2采購業務流程描述如下:采購是配送中心最重要的環節之一,采購的決策包括供貨商選擇、訂貨點和訂貨量的制定以及采購績效評估等。合理有效的采購作業流程
32、能夠保證企業在滿足客戶需求的基礎上合理降低庫存、減少成本,從而提高配送中心的整體效益。采購業務流程如圖2-2所示。圖2- SEQ 圖2- * ARABIC 2 采購業務流程圖采購員缺貨信息庫存采購單供貨商發單并跟蹤經理審批3. 庫存業務流程描述如下:采購員的訂貨單審核通過后形成進貨單,根據進貨單將商品入庫,同時修改庫存信息;配送根據發貨單將商品出庫,同時修改庫存信息;庫存管理員根據相應條件對庫存信息進行管理并反映到庫存表。采購員入庫單商品入庫修改后臺庫存數據庫出庫單商品出庫圖2- 2 采購業務流程圖圖2-3 庫存業務流程圖4.業務流程描述如下:客戶在網上瀏覽商品,將商品放入購物車,待挑選好所有
33、的商品之后就可以到收銀臺去開收貨單,根據收貨單據付款。制作電子商務系統的原理與超市購物的原理是一樣的,首先客戶應該在網頁中選購自己需要的商品并將商品放入購物車中,當然也可以改變購買商品的數量或清空購物車中的商品。選購好商品后就可以到收銀臺,在收銀臺填寫并提交收貨人信息。電子商城購物流程圖如圖2- 4所示。否否否否否是是是是是電子商務管理員訪問者登 錄購 買選擇商品登 錄注 冊購物車進行商品信息管理、訂單管理、用戶管理、信息管理瀏覽網頁其他功能模塊收銀臺查看訂單更改商品信息圖2- 4銷售業務流程圖2.4本章小結本章首先介紹了本功能需求和性能需求,再從不同的角度對本的需求進行分析。包括對數據元素的
34、分析為以后的數據表設計打下基礎,對系統架構的初步設計和分析,對業務流程的分析并且對核心業務流程畫出流程圖。第三章 總體設計3.1系統模塊總體設計本階段設計的基本目標是解決系統如何實現問題,也叫做概要設計,本階段主要任務是劃分出系統的物理元素及設計軟件的結構,完成軟件定義時期的任務之后就應該對系統進行總體設計,即根據系統分析產生的分析結果來確定這個系統由哪些系統和模塊組成,這些系統和模塊又如何有機的結合在一起,每個模塊的功能如何實現。系統設計的目標是使系統實現擁有所要求的功能,同時,力爭達到高效率、高可靠性、可修改性,并且容易掌握和使用。總體設計過程通常有兩個主要階段組成:系統設計和結構設計,其
35、中系統設計確定系統的具體實現方案,結構設計確定軟件結構。結構化設計技術的核心是模塊分解設計,模塊上系統結構圖的主要元素。其設計思想是,采用自頂向下、逐層分解的方法,先給出總的模塊功能,再逐層分解,使其分為多個大小適當,功能明確,具有一定獨立性且容易實現的模塊,從而把一個復雜的系統設計轉變成為多個簡單模塊的設計。在本系統中,采用了模塊結構化設計方法,根據數據流程圖,按層次劃分各個模塊,每個模塊完成一個功能,且每個模塊具有單入口單出口。該系統分為前臺和后臺,每個模塊的功能都是按照在調研中搜集的數據進行編排制作的。前臺包括商品信息展示、用戶登錄、公告信息、特價商品、商品信息查詢、商品排行、用戶注冊等
36、模塊。后臺包括基本信息管理、商品管理、訂單管理、系統管理等模塊。前臺各個模塊的詳細功能說明如下:訂單信息管理:提供用戶訂單信息功能,其中包括查看所有訂單、查看已發貨的訂單等功能。用戶賬戶設置:包括修改個人地址,修改個人信息,修改密碼等。商品分類展示:可按特價商品、商品價格順序、商品分類銷量排行顯示。商品分類查詢:按男女裝、服裝鞋帽、衣等不同類型查詢商品。購物車管理:包括清除購物車中所有商品、商品數量修改、刪除商品、收銀結賬等功能。用戶注冊:不是本站會員需進行注冊,才能進行購物。用戶登陸:用戶在購買商時需要登陸方能進行購物。系統前臺功能結構圖如下所示:訂單查詢商城公告前臺功能模塊購物車會員注冊銷
37、售排行會員登陸特價商品新品上架會員修改數據商品查詢收銀臺商品展臺商品購物會員管理圖3- SEQ 圖3- * ARABIC 1 前臺功能結構圖后臺各個模塊的詳細功能說明如下:商品信息管理:包括大分類管理、小分類管理、商品添加、商品修改、商品瀏覽等。會員信息管理:包括會員信息瀏覽、會員添加、會員刪除等功能。注冊用戶管理:包括系統注冊用戶的查詢、啟/禁用、刪除、管理用戶會員級別。公告信息管理:對公告的增加、刪除、修改、和查詢。訂單信息管理:包括訂單信息瀏覽,訂單審核和執行。商品管理:包括對品牌、類別、基本信息等信息管理。商品類別管理:對根類別和子類別的添加、刪除、修改、查詢。系統后臺功能結構圖如下所
38、示:后臺功能模塊商品維護訂單管理商品列表公告管理后臺登陸退出系統商品添加會員管理商品管理圖3-2 后臺功能模塊圖3.2系統數據庫設計一、數據庫設計概述數據庫設計是在給定的DBMS、操作系統和硬件環境下,如何表達用戶的需求,并將其轉換為有效的數據庫結構,構成較好的數據庫模式,這個過程稱為數據庫設計。數據庫及其應用系統開發的全過程可分為兩大階段:數據庫系統的分析與設計階段;數據庫系統的實施、運行與維護階段。數據庫設計的任務是根據一個單位的信息需求、處理需求和數據庫的支撐環境,設計出數據模式(包括外模式、邏輯(概念)模式和模式)以及典型的應用程序。其息需求表示一個單位所需要的數據及其結構。處理需求表
39、示一個單位需要經常進行的數據處理。前者表達了對數據庫的容及結構的要求,也就是靜態要求;后者表達了基于數據庫的數據處理要求,也就是動態要求。信息需求定義所設計的數據庫將要用到的所有信息,描述實體、屬性、聯系的性質,描述數據之間的聯系。處理需求定義所設計的數據庫將要進行的數據處理,描述操作的優先次序、操作執行的頻率和場合,描述操作與數據之間的聯系。4二、數據庫的詳細設計分析系統功能結構圖,每個功能模塊都需要操作一個或多個數據實體,如商品實體對象、訂單實體對象和會員實體對象等。本節將介紹系統中比較重要的幾個數據實體,最終這些數據實體對象將創建成對應的數據表結構。1、商品實體對象商品實體包括商品編號、
40、名稱、類型、單價、進貨時間等屬性。商品編號是識別不同商品實體的唯一編號,其數據類型是bigint”,并且是數據庫自增的(他隨著數據庫記錄的增加而增加)。其余的屬性都是商品的通用的特征,例如商品名稱、分類、單價、進貨時間和商品簡介等。另外還有商品的標識屬性,例如是否特價,是否新品或者是否熱賣商品等。由于考慮到商品屬性項以后需要擴展,我們給商品多添加了擴展屬性,在此不一一列出。商品信息的實體屬性請見下圖圖3- 3 商品實體屬性圖2、訂單實體對象訂單實體對象對應著顧客購買商品的訂單信息,它包括訂單編號、商品品種數量顧客信息、訂單執行狀態、付款方式、送貨方式、折扣、訂購日期和備注信息等。其中顧客信息包
41、括、用戶名、地址、郵編和。訂單的實體屬性如下圖所示。圖3- 4 訂單實體屬性圖3、會員實體對象會員實體對象擁有會員的基本屬性,這些屬性包括會員編號、用戶名、真實、密碼、城市、地址、郵編、證件類型、證件編號、等。另外根據消費金額的累計可以分為不同的等級,享受更加優惠的折扣,同時會員如果有任何喪失信譽或違背協議的行為,其用戶將被凍結,所以必須提供會員等級、狀態和消費金額等標識屬性。會員實體屬性如下所示。圖3- 5 會員實體屬性圖四、數據庫的E-R圖的設計E-R方法是一種用來在數據庫設計過程中表示數據庫系統結構的方法,該方法用E-R圖來描述現實世界的概念模型,E-R方法也稱為E-R模型。在E-R圖中
42、,用方框表示實體,用菱形表示聯系,用橢圓表示屬性。通過對以上系統業務流程圖和數據流程圖的分析,確定本網上購物系統全局E-R圖。圖3- 6 系統全局E-R圖五、數據表設計對于信息管理系統,數據基本上都是使用數據庫進行管理。數據庫設計是對保存管理系統數據的數據庫結構進行設計,對整個系統的開發具有非常重要的作用。由于每個數據庫表的屬性較多,在此不一一列出,統一只列出最為關鍵的部分。會員信息表見如下:表3.1 *_member表字段名字數據類型是否允許為空是否主鍵默認值描述IDBigintNo是ID自動編號userNameVarchar(20)Yesnull會員名稱nameVarchar(20)Yes
43、null真實passWordVarchar(20)Yesnull會員密碼CityVarchar(20)Yesnull所在城市addressvarchar(255)Yesnull詳細地址zipCodevarchar(6)Yesnull郵編genderintYes null性別birthDatetimeYesnull出生日期memberRankBigintYesnull會員等級amountDecimalYesnull消費金額phonevarchar(255)Yesnullmobilevarchar(255)Yesnull手機emailvarchar(255)Yesnull電子isEnabledBi
44、tYesnull是否啟用商品信息表如下:表3.2 *_product表字段名字數據類型是否允許為空是否主鍵默認值描述IDBigintNo是ID自動編號snVarchar(255)Yesnull商品編號nameVarchar(255)Yesnull商品名稱fullnameVarchar(255)Nonull商品全稱priceDecimalYesnull商品銷售價costDecimalNonull商品成本價marketPriceDecimalNonull商品市場價imageVarchar(255)Nonull商品圖片weightIntegerNonull商品重量stockIntegerYes nu
45、ll商品庫存pointBigintYesnull贈送積分isMarketableBitYesnull是否上架hitsBigintYesnull點擊數weekHitsBigintYesnull周點擊數salesBigintYesnull商品銷量brandBrandYesnull商品品牌productCategoryIntYesnull商品分類introductionVarchar(255)Nonull商品介紹isGiftBitNonull是否贈品訂單表如下:表3.3 *_order表字段名字數據類型是否允許為空是否主鍵默認值描述idBigintNo是ID自動編號snVarchar(255)Yes
46、null訂單編號orderStatusintYesnull訂單狀態paymentStatusintYesnull支付狀態addressvarchar(255)Yesnull詳細地址zipCodevarchar(6)Yesnull郵編phonevarchar(255)Nonullshippermethodnamevarchar(20)Nonull送貨方式consigneevarchar(20)Yesnull收貨人areaNameVarchar(255)Nonull地區名稱 freightdecimalNonull運費couponDiscountdecimalYesnull折扣e*piredate
47、timeYesnull到期日期shippingstatusintNonull配送狀態memoVarchar(255)Yesnull訂單附言3.3本章小結本章介紹了對本的概要設計,給出了本網上購物系統的功能結構圖、實體關系圖等,說明了各模塊之間的聯系。本章完成了系統數據庫的數據需求分析的過程,說明了數據庫由概念結構設計轉換成邏輯結構設計的過程,并把各個物理數據模型結合起來形成一個整體的關系數據庫模型,為系統詳細設計與實現奠定了基礎。綜上所述,我認為,設計數據庫的數據表,建立表與表之前的關系。對整個系統來說是十分必要而且是非常關鍵的。第四章 詳細設計與實現詳細設計的根本目標是確定應該具體地實現所要
48、求的系統,也就是說,經過這個階段的設計工作,應該得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用*種程序設計語言書寫的程序。 24.1系統運行平臺設計本使用freemarker模版,布局的所有頁面,每個單獨的freemarker組成包含一個頁面資源或者其它的freemarker組件。在的首頁中,可以使用#include /卷標導入不同的freemarker組件來組成網頁容。分析電子商城的首頁效果圖,它分為導航、搜索欄、信息、左分欄、容分欄、和右分欄6各部分。布局首頁的步驟如下:的每個部分都用不同的freemarker組件定義,這些freemarker組件的組合就構成了的首頁模
49、版。組合這些freemarker組件由inde*.ftl頁面負責。首頁的freemarker組件包含如下幾項:header:的導航freemarker組件,它包括的整個頭部信息和LOGO標志。position:的廣告位freemarker組件,它包括首頁輪播廣告、容底部廣告位、右側廣告位等。pagination:的分頁freemarker組件,它用于對展示的商品進行分頁。footer:信息freemarker組件,它包含所有者、信息和友情等。創建applicationConte*t-mvc.*ml文檔,用于定義前臺頁面的freemarker布局組件,其中包括出錯頁面的布局模版、首頁的布局模版和
50、次級頁面的布局模版。這些模版有頭部信息、尾部信息、分頁信息、廣告位信息以及頁面的容,分為4個freemarker組件組成。模版分別定義了每個實體的controller控制器,每個目錄均有對應的控制器進行路徑的映射,以便獲取相應的信息或者滿足相應的業務邏輯。在shop*.*ml文件中定義首頁的視圖inde*”,它也是freemarker組件,該組件繼承首頁模版的freemarker組件.inde*”(這里以.”做前綴來區分模版和freemarker視圖),它不需要任何修改,在模版中的freemarker組件中已經具備了主頁的所有視圖。關鍵代碼如下:4.2各模塊詳細設計與實現一、用戶注冊模塊新用戶
51、必須注冊,并且填入個人信息完成注冊后才能進行商品的購買等活動。沒有賬號的用戶可以在首頁的用戶注冊模塊進行注冊,而已有賬戶的用戶則可以直接登錄。該模塊前端設計如下圖。圖4- 1 首頁用戶注冊登錄模塊接口圖點擊進入新用戶注冊之后需要填寫個人信息等。見下圖圖4- 2 用戶注冊接口圖(1)創建會員注冊頁面,在該頁面中創建一個窗體,窗體的Action屬性(即請求路徑)設置為$base/register/submit.jhtml,窗體中包含用戶名、真實、所在地區、聯系地址等會員信息的字段,這些字段都使用了對指定的屬性進行了綁定,這是springmvc接收這些字段的規則。由于窗體頁面的字段和程序代碼較多,本
52、章就以窗體的用戶名字段為例,介紹Spring窗體頁面的定義。關鍵代碼如下:*$message(shop.register.username):*$message(shop.register.password):/省略其它表單字段定義(2)創建RegisterController類,該類是處理會員注冊業務的控制器,它繼承了我們自己定義的BaseController類,并重寫了該類的部分方法來實現業務處理。首先,在RegisterController類的定義之前加入springmvc的注解controller,表明該類是一個控制器,然后加入requestMapping(/register”)虛擬出
53、一個路徑表示該路徑映射下的方法都是關于會員注冊的,接著在定義這個類以后把相關的Server層的接口和實現類注入進來,以便編碼實現系統所需的業務邏輯,把server層接口與實現類注入需要使用注解resouce(name=”)。RegisterController類的關鍵代碼如下:RequestMapping(value = /submit, method = RequestMethod.POST)publicResponseBodyMessage submit(String captchaId, String captcha, String username, String email, Htt
54、pServletRequest request, HttpServletResponse response, HttpSession session) String password = rsaService.decryptParameter(enPassword, request);rsaService.removePrivateKey(request);部分數據驗證代碼省略member.setUsername(username.toLowerCase();member.setPassword(DigestUtils.md5He*(password);member.setEmail(emai
55、l);member.setPoint(setting.getRegisterPoint();member.setAmount(new BigDecimal(0);member.setBalance(new BigDecimal(0);member.setIsEnabled(true);member.setIsLocked(false);member.setLoginFailureCount(0);member.setLockedDate(null);member.setRegisterIp(request.getRemoteAddr();member.setLoginIp(request.ge
56、tRemoteAddr();member.setLoginDate(new Date();member.setSafeKey(null);member.setMemberRank(memberRankService.findDefault();member.setFavoriteProducts(null);memberService.save(member);Cart cart = cartService.getCurrent();if (cart != null & cart.getMember() = null) cartService.merge(member, cart);WebUt
57、ils.removeCookie(request, response, Cart.ID_COOKIE_NAME);WebUtils.removeCookie(request, response, Cart.KEY_COOKIE_NAME);Map attributes = new HashMap();Enumeration keys = session.getAttributeNames();while (keys.hasMoreElements() String key = (String) keys.ne*tElement();attributes.put(key, session.get
58、Attribute(key);session.invalidate();session = request.getSession();for (Entry entry : attributes.entrySet() session.setAttribute(entry.getKey(), entry.getValue();session.setAttribute(Member.PRINCIPAL_ATTRIBUTE_NAME, new Principal(member.getId(), member.getUsername();WebUtils.addCookie(request, respo
59、nse, Member.USERNAME_COOKIE_NAME, member.getUsername();return Message.success(shop.register.success);(3)會員注冊*些字段的填寫有一定的規則,例如不能為空,必須為數字等。以往實現這些驗證都是通過在后臺創建一個Validate驗證類,前端把值傳到驗證器通過代碼進行驗證。但是這樣的驗證方法效率低并且會造成整個系統的耦合度變高,現在企業早已廢棄了這種驗證方式,取而代之的是jquery編寫的一些驗證組件,完全在前端就可以實現驗證,既減少了后臺代碼編寫的工作量,又提高了系統的性能(不需要把用戶輸入的值傳
60、遞到后臺進行處理),還降低了整個系統代碼的耦合度。實現驗證的主要代碼如下:/ 表單驗證$registerForm.validate(rules: username: required: true,pattern: /0-9a-z_A-Zu4e00-u9fa5+$/,minlength: $setting.usernameMinLength,remote: url: $base/register/check_username.jhtml,cache: false,password: required: true,pattern: /s&+$/,minlength: $setting.passwo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產維修管理制度
- 廣東會所店長管理制度
- 出口企業備案管理制度
- 公路視頻監控管理制度
- 地面保潔人員管理制度
- 公路工地安全管理制度
- 債券風險評估管理制度
- 同業業務風險管理制度
- 兒科預約服務管理制度
- 工地衛生文明管理制度
- 2025年商法知識競賽考試試卷及答案
- 水電項目實施中的環境保護措施試題及答案
- 2025屆廣東省佛山市順德區龍江鎮八下物理期末統考試題含解析
- 2025年山東省臨沂市平邑縣中考一模語文試題(含答案)
- 2025年電子信息工程專業考試試題及答案
- 食品安全自查、從業人員健康管理、進貨查驗記錄、食品安全事故處置保證食品安全的規章制度
- 2025中考語文常考作文押題(10大主題+10篇范文)
- 第21章 一次函數-一次函數與面積綜合專題 課件 2023-2024學年冀教版數學八年級下冊
- COC文件審核清單
- 英語課題評審書
- 鋼棧橋驗收表精編版
評論
0/150
提交評論