解決方案說明書 Shopping-SMD_第1頁
解決方案說明書 Shopping-SMD_第2頁
解決方案說明書 Shopping-SMD_第3頁
解決方案說明書 Shopping-SMD_第4頁
解決方案說明書 Shopping-SMD_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 解決方案說明書 解決方案說明書-購物流程Solution Model Description編號:Shopping-SMD版本 1.0作者:日期:審批:日期:變更記錄日期版本變更說明作者 1.0創(chuàng)建 1.簡介32.系統(tǒng)整體架構33.資源層解決方案54.業(yè)務層解決方案75.表示層解決方案161. 簡介1.1 內(nèi)容1.2 適用對象1.3 參考文檔2. 系統(tǒng)整體架構MVC架構圖Tier和Layer的包圖部署圖3. 資源層解決方案3.1 數(shù)據(jù)庫設計的概念模型3.2 資源層組件資源層組件是完成數(shù)據(jù)庫處理的組件,例如數(shù)據(jù)源的管理、執(zhí)行數(shù)據(jù)庫的查詢、CRUD。資源層使用DAO模式實現(xiàn)。通過DAO模式對各個

2、數(shù)據(jù)庫對象進行封裝,我們對業(yè)務層屏蔽了數(shù)據(jù)庫訪問的底層實現(xiàn),業(yè)務曾僅包含與本領域相關的邏輯對象和算法,這樣對于業(yè)務邏輯開發(fā)人員(以及日后專注于業(yè)務邏輯的代碼閱讀者)而言,面對的是一個簡潔明快的邏輯實現(xiàn)結(jié)構。業(yè)務層的開發(fā)和維護將變得更加簡單。 DAO模式中,數(shù)據(jù)庫訪問層實現(xiàn)被隱藏到Data Accessor中,前面說過,DAO模式實際上是兩個模式的組合,即Data Accessor 和 Domain Object模式。 何謂 Data Accessor?即將數(shù)據(jù)訪問的實現(xiàn)機制加以封裝,與數(shù)據(jù)的使用代碼相分離,從外部來看,Data Accessor 提供了黑盒式的數(shù)據(jù)存取接口。Domain Obj

3、ect則提供了對所面向領域內(nèi)對象的封裝。 具體實現(xiàn)步驟如下: 1.創(chuàng)建一個抽象工廠類,他包含兩個重要的部分: 第一部分是 一些抽象方法,這些方法是所有實現(xiàn)該抽象工廠的具體工廠類所必須實現(xiàn)的. 第二部分 就是一個靜態(tài)方法,該方法來創(chuàng)建一個具體類型數(shù)據(jù)源的工廠對象,比如文中的DB2DAOFactory().2 然后,分別創(chuàng)建各個類型數(shù)據(jù)源的工廠類,(本文以DB2DAOFactory為例).在這個工廠類中里面也有兩個重要組成部分: 第一部分就是實現(xiàn)在他繼承的那個抽象工廠類中的左右抽象方法,在該方法中創(chuàng)建具體的DAO對象(這些對象的

4、類在第4不具體定義實現(xiàn)),本文中三個方法分別創(chuàng)建了3個具體的DAO對象,當然為了實現(xiàn)細節(jié)的隱蔽,這些方法返回的是這些具體DAO類門實現(xiàn)的接口(這些接口在第3步實現(xiàn)).3 定義具體DAO類的接口,并在接口中定義所有的業(yè)務方法,和數(shù)據(jù)操作方法.4 定義具體的DAO類,在這個類中才是實際的業(yè)務方法,和數(shù)據(jù)的操作的實現(xiàn).5 定義數(shù)據(jù)傳輸對象,他是用來在客戶端和DAO之間傳遞數(shù)據(jù)的,他其實就是一個JAVABEAN.3.2.1 資源層類圖3.2.2 類詳細設計類名稱DAOFactory所屬包名稱.data類靜態(tài)變量定義名稱類型描述類變量定義(先Publi

5、c->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述createConnectionConnection得到數(shù)據(jù)庫連結(jié)getCustomerDAOCustomerDAO得到DAOgetOrderDAOOrderDAO得到DAOgetAddressDAOAddressDAO得到DAOgetOrderItemDAOOrderItemDAO得到DAOgetCatetoryDAOCatetoryDAO得到DAOgetProductDAOProductDAO得到DAOgetWishlistDA

6、OWishlistDAO得到DAOgetBonusDAOBonusDAO得到DAOgetCommentDAOCommentDAO得到DAO類名稱CustomerDAO所屬包名稱.data類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述insertCustomerCustomerBeannullupdateCustomerCustomerBeannulldeleteCustomerStringnullfindC

7、ustomerByIDStringCustomerBeanfindCustomerByStringCollection1.4. 業(yè)務層解決方案4.1 業(yè)務層概述4.2 業(yè)務層類圖4.3 業(yè)務層類詳細設計類名稱ShoppingCart所屬包名稱.order.util類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述cartItemsVector購物車中商品條目totalPriceDecimal商品總價格totalDiscountPriceDecimal折后價格totalPointDecimal可獲得的總積分

8、shipChargeDecimal送貨費用adjustPriceDecimal調(diào)整價格userIdInteger客戶號方法(先Public->protected->private)名稱參數(shù)返回值簡單描述addItemproductId,productName,price,discountPrice,quantityNull增加商品到購物車updateItemproductId,quantityNull修改購物車中的商品數(shù)量getItemsList得到購物車中所有商品clearCartNull清空購物車calTotalPriceDecimal計算購物車總價格calDiscountPr

9、iceDecimal計算購物車折后價calShipChargeDecimal計算送貨費用,根據(jù)送貨地址不同有不同的送貨費用calAdjustPriceDecimal計算調(diào)整價格,購物金額超過一定數(shù)額可以免送貨費calBonusPointInteger計算可以獲得的積分數(shù),根據(jù)購物總金額和會員級別計算removeItemproductIdnull從購物車刪除商品類名稱CartItem所屬包名稱.order.util類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述productIdInteger商品標識pr

10、oductNameString商品名稱priceDecimal商品價格discountPriceDecimal折后價格quantityInteger商品數(shù)量方法(先Public->protected->private)名稱參數(shù)返回值簡單描述getProductName取得商品名稱getPrice取得價格getDiscountPrice取得折后價getQuantity取得商品數(shù)量setQuantity設置商品數(shù)量類名稱AddShoppingcartController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->priva

11、te)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述execute1. 得到從頁面層傳遞的數(shù)據(jù):要添加的商品號,商品名稱,商品價格,商品折扣價,數(shù)量。2. 判斷session里是否有購物車,如果沒有,創(chuàng)建購物車對象,并放入session.如果存在,得到購物車對象。3. 調(diào)用ShoppingCart類的addItem()方法,把商品加入購物車4. 調(diào)用ShoppingCart類的calTotalPrice()和calDiscountPrice()得到購物車的總價格和折扣價格。5. 將結(jié)果返回到頁面層。類名稱UpdateShopping

12、cartController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述execute1得到從頁面層傳遞的數(shù)據(jù):要修改的商品號,數(shù)量。2調(diào)用ShoppingCart類的updateItem()方法,修改商品數(shù)量。3調(diào)用ShoppingCart類的calTotalPrice()和calDiscountPrice()得到購物車的總價格和折扣價格。4將結(jié)果返回到頁面層。類名稱DeleteShoppingcartCo

13、ntroller所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述execute1得到從頁面層傳遞的數(shù)據(jù):要刪除商品號。2調(diào)用ShoppingCart類的deleteItem()方法,把商品移出購物車3 調(diào)用ShoppingCart類的calTotalPrice()和calDiscountPrice()得到購物車的總價格和折扣價格。4將結(jié)果返回到頁面層。類名稱SubmitOrderController所屬包名稱ma

14、nd類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述exucute1. 判斷用戶是否登陸,如果沒有登陸,跳轉(zhuǎn)到登陸頁面。2. 從session中得到購物車對象。3. 調(diào)用ShoppingCart類的getItems()方法,得到購物車中的每一條記錄。4. 調(diào)用checkInventory()方法檢查每件商品的庫存是否滿足購買需求。5. 調(diào)用createOrder()方法生成訂單。checkInventoryproductId,qu

15、antity1. 從數(shù)據(jù)庫中得到商品的數(shù)量。2. 和購物車中的數(shù)據(jù)做比較。createOrder1. 根據(jù)購物車中的條目生成訂單項。2. 扣除已購買的庫存。3. 調(diào)用ShoppingCart類的calTotalPrice,calDiscountPrice,calShipCharge,calAdjustPrice,將結(jié)果寫入訂單。4. 調(diào)用ShoppingCart類的clearCart方法清空購物車。5. 調(diào)用ShoppingCart類的calBonusPoint方法計算積分,將積分記錄寫入數(shù)據(jù)庫。類名稱CheckAcountController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量

16、定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述exucute1.判斷用戶是否登陸,如果沒有登陸,跳轉(zhuǎn)到登陸頁面。2.從session中得到購物車對象。3.調(diào)用ShoppingCart類的calTotalPrice,calDiscountPrice,calShipCharge,calAdjustPrice,計算總價格,折扣價格,送貨費用,調(diào)整價格。4調(diào)用ShoppingCart類calBonusPoint方法計算積分。5將計算結(jié)果返回到頁面層。類名稱Cancel

17、OrderController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述execute1. 判斷用戶是否登陸,如果沒有登陸,跳轉(zhuǎn)到登陸頁面。2. 設置定單的狀態(tài)為“取消”3. 根據(jù)此定單中每個訂單項對應的商品數(shù)量,把庫存數(shù)還原4. 修改該訂單對應的積分記錄的狀態(tài)為“取消”類名稱ApproveOrderController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->prot

18、ected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述execute1. 判斷用戶是否登陸,如果沒有登陸,跳轉(zhuǎn)到登陸頁面。2. 設置訂單的狀態(tài)為“已審批”3. 調(diào)用setBonusPoint設置用戶的積分4. 調(diào)用EmailService類的sendMail方法給客戶發(fā)送郵件通知setBonusPoint1 設置積分記錄的狀態(tài)為“已審批”2 將積分累積到客戶的總積分3 根據(jù)積分規(guī)則,判斷客戶是否可以升級等級。類名稱LoginController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Pu

19、blic->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述executenull1.得到客戶端參數(shù),包括用戶名,密碼。2調(diào)用checkPassword校驗密碼3.將sessionId保存到customer表4.將用戶名信息保存到session.checkPasswordUsername,passwordboolean1. 根據(jù)用戶名從數(shù)據(jù)庫中查詢密碼2. 比較用戶輸入的密碼和數(shù)據(jù)庫中保存的密碼是否一致類名稱RegisterController所屬包名稱mand類靜態(tài)變量定義名稱類型描

20、述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述executenull1.得到客戶端參數(shù)2調(diào)用register函數(shù)保存數(shù)據(jù)3.將sessionId保存到customer表4.將用戶名信息保存到session.5調(diào)用EmailService的sendMail方法給客戶發(fā)送電子郵件registernull1. 將注冊信息保存到數(shù)據(jù)庫2. 給客戶贈送積分,保存到積分歷史記錄表,更新客戶積分類名稱ResetPasswdController所屬包名稱mand類靜態(tài)

21、變量定義名稱類型描述類變量定義(先Public->protected->private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述executenull1.得到客戶端參數(shù)2調(diào)用resetPassword重置密碼3調(diào)用EmailService的sendMail方法將新密碼發(fā)送到客戶的郵箱resetPasswordnull1. 使用隨機算法生成密碼2. 將密碼保存到客戶表類名稱AddCommentController所屬包名稱mand類靜態(tài)變量定義名稱類型描述類變量定義(先Public->protected->

22、;private)名稱類型描述方法(先Public->protected->private)名稱參數(shù)返回值簡單描述executenull1.得到客戶端參數(shù)2判斷用戶是否登陸,如果沒有登陸,跳轉(zhuǎn)到登陸頁面。3將數(shù)據(jù)保存到數(shù)據(jù)庫5. 表示層解決方案5.1 表示層概述5.2 表示層類圖5.3 用例實現(xiàn)5.3.1 XXX用例1用例名稱及編號2用例概述3頁面流程圖4視圖設計(JSP、Servlet)JSP頁面說明頁面名稱categorydisplay.jsp功能簡述顯示商品目錄,在首頁顯示進入的URL/product/categorydisplay進入方式Forward輸入?yún)?shù)編號參數(shù)名稱來

23、源說明輸出描述顯示商品目錄的列表,目錄分級顯示JSP頁面說明頁面名稱productdisplay.jsp功能簡述顯示商品列表,用戶點擊目錄或從搜索頁面進入進入的URL/product/productdisplay進入方式Forward輸入?yún)?shù)編號參數(shù)名稱來源說明目錄標識request用戶選中的目錄作為參數(shù)傳到此頁面搜索關鍵詞request用戶輸入的搜索關鍵詞輸出描述商品列表顯示,顯示項:商品圖片,商品名稱,市場價,會員價,是否有貨JSP頁面說明頁面名稱productdetail.jsp功能簡述顯示商品詳細信息,用戶點擊商品進入此頁面進入的URL/product/productdetail進入方

24、式Forward輸入?yún)?shù)編號參數(shù)名稱來源說明商品標識request用戶選中的目錄作為參數(shù)傳到此頁面輸出描述商品詳細信息頁面,顯示項:商品圖片,商品名稱,市場價,會員價,是否有貨,商品描述信息,商品評論信息JSP頁面說明頁面名稱cart.jsp功能簡述顯示購物車信息進入的URL/product/cart進入方式Forward輸入?yún)?shù)編號參數(shù)名稱來源說明sessionIdrequest系統(tǒng)參數(shù)輸出描述購物車信息頁面,顯示購物車中的商品,顯示項:商品圖片,商品名稱,市場價,會員價,數(shù)量??傆嫿痤~,總計折后價 JSP頁面說明頁面名稱checkaccount.jsp功能簡述顯示結(jié)賬信息進入的URL/product/checkaccount進入方式Forward輸入?yún)?shù)編號參數(shù)名稱來源說明sessionIdrequest系統(tǒng)參數(shù)輸出描述結(jié)賬信息頁面,顯示購物車中的商品,顯示項:商品圖片,商品名稱,市場價,會員價,數(shù)量。總計金額,總計折后價 送貨地址信息配送費用免除送貨費金額JSP頁面說明頁面名稱order.jsp功能簡述顯示訂單歷史記錄進入的URL/product/order進入方式Forwar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論