bookStore商城開發文檔


bookStore商城開發文檔

一、項目演示

    看課堂筆記

二、需求分析

  2.1系統體系結構

      基於BS結構進行開發。(瀏覽器與服務器:瘦客戶端

  2.1系統總體流程

    

  2.3功能描述

       對於本系統,用戶一共分成三種,普通用戶(游客)注冊會員(注冊用戶)管理員。

       用戶通過訪問http://www.bookStore.com頁面可能訪問到書城首面。

       對於普通用戶可以瀏覽商品,查找商品,也可以注冊成會員。

    注冊成會員后的用戶,不僅可以完成普通用戶具有的功能,還可以添加商品到購物車,並對購物車中的商品進行操作,並可以下訂單。通過會員操作頁面,查看與修改會員信息,對沒有支付的訂單進行支付操作及取消訂單操作。

    管理員可以添加查看商品,並修改商品信息,.可以查看所有訂單,並對訂單進行管理。並能下載銷售榜單。

      下面我們通過一個用例圖來描述每一個角色可以具有的功能如下圖所示:

    

  2.4系統界面

      美工:第一版的頁面可能是美工做的,用ps做的,會經過多次修改。

      前端:前端開發人員做成靜態網頁。

      后端:后端開發人員實現動態網頁。

   2.4.1前台界面

    商城首頁

    

    注冊頁面

    

    登錄頁面

    

    圖書瀏覽頁面

    

    圖書詳細信息頁面

     

    購物車頁面

        

    用戶管理頁面

    

    用戶信息修改頁面

    

    訂單管理頁面

    

   2.4.2后台頁面

    后台首頁

     

    商品操作頁面

     

    商品添加頁面

     

    下載榜單頁面

     

    訂單管理頁面

     

三、概要設計

  3.1運行環境

      操作系統:Windows環境下運行

      軟件需求:MySql5.x

                  Tomcat7.x

  3.2基本功能需求

      本系統在實現上應該具有以下功能:

      普通用戶可以通過系統瀏覽商品信息
      普通用戶可以進行查詢完成商品的查找
      普通用戶可以進行注冊成為會員
      會員可以瀏覽及查找商品
      會員可以添加商品到購物車
      會員可以查看購物車中商品並進行操作
      會員可以下訂單
      會員可以瀏覽自己的商品
      會員可以查看及修改個人信息
      管理員可以添加商品
      管理員可以下載銷售榜單

   管理員可以查看並管理訂單

  3.3功能模塊設計

        項目一共有以下幾個模塊

    用戶模塊

          用戶注冊

          用戶登錄

          用戶激活

          用戶信息修改

    商品模塊

          商品瀏覽

          商品查找

          商品添加

          商品刪除

          商品修改

    訂單模塊

          訂單創建

          訂單查看

          訂單刪除

    購物車模塊

          添加商品到購物車

          購物車商品數量修改

          購物車商品刪除

  3.4程序流程圖

    3.4.1用戶模塊

    注冊流程

     

    登錄流程

    

    激活流程

     

    用戶信息修改流程

     

    3.4.2商品模塊

    商品瀏覽

     

    商品查找

     

    商品添加

     

    商品刪除

     

    商品修改

     

    3.4.3購物車模塊

    添加商品到購物車

     

    購物車商品數量修改

     

    購物車商品刪除

     

    3.4.4訂單模塊

    訂單創建 訂單查看

     

    訂單刪除

     

 

  3.5數據庫設計

    3.5.1ER(實體關系圖)

     

    3.5.2表設計

      根據ER(實體關系圖),我們分析當前系統具有以下幾個模塊

      用戶,商品,訂單,購物車

 

      用戶與訂單之間存在一對多關系

      一個用戶可以有多個訂單

      商品與訂單之間存在多對多關系

      一個訂單中包含多個商品,一個商品被多個訂單下單

      購物車我們暫時不將信息存儲到數據庫中,所以不用生成表

 

    創建數據庫 create database productstore;

    使用數據庫 USE productstore;

    

    

        用戶表
        CREATE TABLE `user` (
          `id` INT(11) AUTO_INCREMENT,
          `username` VARCHAR(20) ,
          `PASSWORD` VARCHAR(20) ,
          `gender` VARCHAR(10) ,
          `email` VARCHAR(50) ,
          `telephone` VARCHAR(20) ,
          `introduce` VARCHAR(100),
          `activeCode` VARCHAR(50) ,
          `state` INT(11) ,
          `role` VARCHAR(10) DEFAULT '普通用戶',
          `registTime` TIMESTAMP ,
          PRIMARY KEY (`id`)
        )

        商品表
        CREATE TABLE `products` (
          `id` VARCHAR(100) ,
          `name` VARCHAR(40) ,
          `price` DOUBLE ,
          `category` VARCHAR(40) ,
          `pnum` INT(11) ,
          `imgurl` VARCHAR(100) ,
          `description` VARCHAR(255) ,
          PRIMARY KEY (`id`)
        )

        訂單表

        CREATE TABLE `orders` (
          `id` VARCHAR(100) ,
          `money` DOUBLE ,
          `receiverAddress` VARCHAR(255) ,
          `receiverName` VARCHAR(20) ,
          `receiverPhone` VARCHAR(20) ,
          `paystate` INT(11) ,
          `ordertime` TIMESTAMP ,
          `user_id` INT(11) ,
          PRIMARY KEY (`id`),
          FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
        )

        訂單項表

        CREATE TABLE `orderitem` (
          `order_id` VARCHAR(100) ,
          `product_id` VARCHAR(100),
          `buynum` INT(11) ,
          PRIMARY KEY (`order_id`,`product_id`),
          FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`),
          FOREIGN KEY (`product_id`) REFERENCES `products` (`id`)
        )

四、系統設計

  4.1開發環境

    開發本系統我們所使用的工具與技術有:

        Myeclipse10    

        tomcat7.x    

        mysql5.x  

        jst標簽庫 

        EL表達式 

        jsp 

        servlet 

        javabean

        Filter 

        Listener 

        javaMail 

        commons-dbutils 

        commons-fileupload 

        commons-beanutils 

        c3p0 

        jdk1.6  

        jdbc

  4.2架構設計

    采用javaweb開發的三層架構

        Web

        Service

        Dao

五、詳細設計

  5.1問題處理機制

  5.1.1功能問題

      使用自定義異常來描述問題。

          UserException來描述關於用戶的操作問題。

          ProductException來描述關於商品操作問題。

          OrderException來描述關於訂單操作問題。

  5.1.2權限問題

      對於普通用戶(游客),不可以操作購物車、下訂單。

      對於會員(注冊用戶)不可以添加商品下載銷售榜單

 

  5.2前台功能

  5.2.1用戶操作:

    用戶注冊
    
    用戶激活
    
    用戶登錄
    
    用戶信息修改
      

  5.2.2商品操作

    查看全部商品(分頁)

     

    根據分類查看商品(分頁)

        與查看全部商品信息操作步驟一樣,只是需要在傳遞一個類別信息進行查找。

    搜索商品

      

    查看商品詳細信息

    

  5.2.3購物車操作

    添加商品到購物車

    

    查看購物車中商品

    

    修改購物車中商品數量

        

   刪除購物車中商品

       刪除購物車商品,我們可以通過修改購物車中商品數量來完成,只需要將數量設置為0就可以。

  5.2.4訂單操作

    生成訂單
    
    查看訂單

     

    刪除訂單(未支付訂單)

     

    刪除訂單(已支付訂單)

        對於已經支付的訂單,我們在刪除訂單時,不需要再修改商品的數量。

    訂單的在線支付

     

  5.3后台功能

    5.3.1商品操作

    查看商品列表

     

    商品添加

     

    修改商品信息

    修改商品信息分成兩個步驟:

        1. 根據id查找商品信息回顯

     

        2.修改商品信息

     

    多條件商品查找

     

    商品刪除

     

    下載銷售榜單

     

  5.3.2訂單操作

    查看訂單列表(查看所有訂單)

     

    訂單查詢(多條件查詢)

     

    訂單詳細信息查看

     

    訂單的刪除(只能刪除支付后的訂單)

     

六、編碼實現

  6.1環境搭建

    導入jar包 

        導入mysql驅動 

        導入c3p0 

        導入dbutils

        導入beanutils

        導入fileupload 

        導入javamail mail.jar

        導入jstl jstl.jar standard.jar

 

    建立package結構 按照JavaEE 三層結構

        cn.itcast.bookStore.dao

 

        cn.itcast.bookStore.service

 

        cn.itcast.bookStore.web.servlet

        cn.itcast.bookStore.web.filter

        cn.itcast.bookStore.web.listener

 

        cn.itcast.bookStore.domain

        cn.itcast.bookStore.util

        cn.itcast.bookStore.exception

    domain類編寫 

        User類
        private int id; // 用戶編號
        private String username; // 用戶姓名
        private String password; // 用戶密碼
        private String gender; // 用戶性別
        private String email; // 用戶郵箱
        private String telephone; // 用戶聯系電話
        private String introduce; // 用戶介紹
        private String activeCode; // 激活碼
        private String role; // 用戶角色
        private int state; // 用戶狀態
        private Date registTime; // 注冊時間 

        Product類
        private String id; // 商品編號
        private String name; // 商品名稱
        private double price; // 商品價格
        private int pnum; // 商品數量
        private String category; // 商品分類
        private String description; // 商品描述
        private String img_url; // 商品圖片路徑

        Order類
        private String id; // 訂單編號
        private double money; // 訂單總價
        private String receiverAddress; // 送貨地址
        private String receiverName; // 收貨人姓名
        private String receiverPhone; // 收貨人電話
        private int paystate; // 訂單狀態
        private Date ordertime; // 下單時間

        private User user; 
        private List<OrderItem> orderitems; // 表示一個order對象,對應多個orderitem

        OrderItem類
        private Order order; // 訂單
        private Product product; // 商品
        private int buynum; // 購物數量 

        PageBean類
        private int currentPage; // 當前頁碼
        private int totalPage; // 總頁碼數    

        private int pageSize; // 每頁條數
        private int count; // 總條數     

        private List<Product> products; // 每頁顯示的數據
        private String category; //分類

 

  6.2功能實現

    用戶注冊

    用戶激活

    用戶登錄

    商品添加

    商品顯示

    商品修改

    商品刪除

    添加商品到購物車

    購物車商品數量修改

    購物車商品刪除

    生成訂單

    訂單查看

    訂單刪除

    下載榜單

    權限控制

    系統重構

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM