组织名称:从陵开首

bookStore商店开采文书档案

共青团和少先队成员:张启明(PM)、邓瞾(SM)、钟湘、何尚泽、郑继川、袁文雪、张馨月女士、郑淑丹

一、项目示范

    看课堂笔记。

项目名称:来换网—二手物品交易网址

二、必要深入分析

品种表达:顾客能够在该网址浏览音讯举办货物买卖、查看个人音讯以及历史订单。管理员账户能够对已注册顾客实行查询、对订单实行询问、审查。目的是树立一人们可自由公布商品的阳台,全部客商既是买家也是卖主。该网址仅仅是提供贰个交易、消息浏览平台,因而不提供别的对交易争论的管理。这是二个独立的
浏览器(B)/服务器(S)
格局,由此客商只须求八个浏览器,大家则要兑现几个服务端。

  2.1、系统系统布局

      基于BS结构举行付出。(浏览器与服务器:瘦顾客端)

切切实实功用:

  2.1、系统完全流程

    图片 1

(1)、注册登入:顾客注册选拔邮箱登陆,格式必得正式,且供给填写真正姓名登记;注册完就可以使用账号+密码登陆系统。步入系统后顾客可在民用首页的个人音信中立异个人资料,包涵上传头像,修改密码等。

  2.3、功能描述

       对于本系统,客商一齐分为三种,普通客户(游客)、注册会员(注册客户)、管理员。

       客户通过访问http://www.bookStore.com页面大概访谈到书城首面。

       对于普通客商能够浏览商品,查找商品,也得以注册成会员。

    注册成会员后的顾客,不仅可以够形成普通顾客具备的作用,还足以拉长商品到购物车,并对购物车中的商品举行操作,并能够下订单。通过会员操作页面,查看与修改会员音信,对未有开拓的订单实行付出操作及吊销订单操作。

    管理员可以增加查看商品,并修改商品新闻,.能够查阅全数订单,并对订单进行政管理制。并能下载出卖榜单。

 
    下边大家由此二个用例图来陈诉每一个剧中人物能够具有的职能,如下图所示:

    图片 2

(2)、普通顾客:登入或注册后步向网址首页。

  2.4、系统分界面

      美术专门的学业:第一版的页面恐怕是画画做的,用ps做的,会经过每每修改。

      前端:前端开垦职员做成静态网页。

      后端:后端开拓人士完毕动态网页。

买家功效:- 浏览商品,提供查找效果、分类查看

   2.4.1、前台分界面

                 – 购物车成效,叁回购进七个商品

    商店首页

    图片 3

                 – 浏览个人音信页,包蕴订单历史、收藏的订单

    注册页面

    图片 4

                 – 浏览顾客消息页,可查看任一客户的公开音信

    登陆页面

    图片 5

                 – 对商品进行选购(创立一笔订单)

    图书浏览页面

    图片 6

                 – 购买实现后关闭订单

    图书详细音信页面

    图片 7 

卖方作用:

    购物车页面

    图片 8    

                 – 提交四个货色,包括货色须要音信:名称、价格、简要介绍、分类以及货物图片(交给管理员审查批准,通过就可以被浏览)

    客商管理页面

    图片 9

                 – 查看本身发布的货品,应标志出审查批准景况

    顾客消息修改页面

    图片 10

                 – 提示:作者的某商品被购买

    订单管理页面

    图片 11

                 -取消订单

   2.4.2、后台页面

(3)、管理员顾客:管理员首先是三个客商,具有普通顾客的保有作用。其余,管理员客商全体审批商品,人工增添客户、删除客户、查询客户和其余货品、订单音讯等职能。

    后台首页

    图片 12 

(4)、旅客人士:未有注册也从没登陆的网友也可在本网址找出浏览商品实际音信,但要实施收藏,出席购物车或购买贩卖等操作必须要登记登入以往技术产生。

    商品操作页面

    图片 13 

(5)、页面设计:以上种种作用的贯彻 都有二个对应的简易直观的页面。

    商品充足页面

    图片 14 

    下载榜单页面

    图片 15 

    订单管理页面

    图片 16 

三、概要设计

  3.1、运维蒙受

      操作系统:Windows景况下运营

      软件必要:MySql5.x

                  Tomcat7.x

  3.2、基本功效供给

      本系统在完毕上相应享有以下职能:

      普通用户能够经过系统浏览商品音信
      普通客户能够展开查询完结货品的找寻
      普通客户能够扩充注册成为会员
      会员能够浏览及搜寻商品
      会员能够拉长商品到购物车
      会员能够查看购物车中物品并展开操作
      会员能够下订单
      会员能够浏览自身的物品
      会员能够查看及修改个人音信
      管理员能够拉长商品
      管理员能够下载贩卖榜单

   管理员能够查看并管理订单

  3.3、效能模块设计

        项目累计有以下多少个模块:

    客商模块

          客户注册

          客商登入

          客户激活

          客户新闻修改

    商品模块

          商品浏览

          商品查找

          商品丰硕

          商品删除

          商品修改

    订单模块

          订单创设

          订单查看

          订单删除

    购物汽车模特块

          加多商品到购物车

          购物车货色数量修改

          购物车货色删除

  3.4、程序流程图

    3.4.1、客户模块

    注册流程

    图片 17 

    登入流程

    图片 18

    激活流程

    图片 19 

    客户音讯修改流程

    图片 20 

    3.4.2、商品模块

    商品浏览

    图片 21 

    商品查找

    图片 22 

    商品增加

    图片 23 

    商品删除

    图片 24 

    商品修改

    图片 25 

    3.4.3、购物汽车模特块

    增添商品到购物车

    图片 26 

    购物车货品数量修改

    图片 27 

    购物车货色删除

    图片 28 

    3.4.4、订单模块

    订单创设 订单查看

    图片 29 

    订单删除

    图片 30 

 

  3.5、数据库设计

    3.5.1、EOdyssey图(实体关系图)

    图片 31 

    3.5.2、表设计

      根据ER图(实业关系图),我们分析当前系统全数以下几个模块:

      用户,商品,订单,购物车

 

      顾客与订单之间存在部分多提到

      (三个客户能够有多少个订单)

      商品与订单之间存在多对多涉及

      (一个订单中带有七个商品,三个货色被多少个订单下单)

      购物车我们权且不将新闻囤积到数据库中,所以实际不是生成表。

 

    创立数据库 create database productstore;

    使用数据库 USE productstore;

    图片 32

    图片 33

        用户表
        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、顾客操作:

    顾客注册
    图片 34
    用户激活
    图片 35
    客户登陆
    图片 36
    客商消息修改
    图片 37  

  5.2.2、商品操作

    查看全数货色(分页)

    图片 38 

    遵照分类查看商品(分页)

 
      与查看全体商品新闻操作步骤同样,只是供给在传递四个品类消息举行查找。

    找寻商品

 
    图片 39

    查看商品详细音讯

   图片 40 

  5.2.3、购物车操作

    增加商品到购物车

   图片 41 

    查看购物车中货色

   图片 42 

    修改购物车中物品数量

 
     图片 43 

   删除购物车中货品

 
     删除购物车货色,我们能够由此退换购物车中物品数量来成功,只须求将数据设置为0就能够。

  5.2.4、订单操作

    生成订单
    图片 44
    查看订单

    图片 45 

    删除订单(未支付订单)

    图片 46 

    删除订单(已支付订单)

 
      对于早就开垦的订单,我们在剔除订单时,无需再修改商品的多少。

    订单的在线支付

    图片 47 

  5.3、后台功效

    5.3.1、商品操作

    查看商品列表

    图片 48 

    商品拉长

    图片 49 

    修改商品音信

    修改商品音讯分成多个步骤:

        1. 基于id查找商品音讯回显

    图片 50 

        2.退换商品音讯

    图片 51 

    多规格商品查找

    图片 52 

    商品删除

    图片 53 

    下载出卖榜单

    图片 54 

  5.3.2、订单操作

    查看订单列表(查看全部订单)

    图片 55 

    订单查询(多标准查询)

    图片 56 

    订单详细新闻查看

    图片 57 

    订单的去除(只可以删除支付后的订单)

    图片 58 

六、编码达成

  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、成效完毕

    客商注册

    客商激活

    客户登入

    商品增进

    商品展示

    商品修改

    商品删除

    增添商品到购物车

    购物车物品数量修改

    购物车物品删除

    生成订单

    订单查看

    订单删除

    下载榜单

    权限决定

    系统重构

 

相关文章