莱克B2C在线商城设计说明书

     

SystemDesignSpecification

莱克B2C在线商城设计说明书

 

 

 

 

 

 

 

 

 

 

 

 

Prepared by

拟制

张定水

Date

日期

2016-09-07

Reviewed by

评审人

 

Date

日期

 

Approved by

批准

 

Date

日期

 

 

Catalog

目  录

1. Introduction  简介.......................................................................................................... 4

1.1 Purpose  目的................................................................................................ 4

1.2 Scope  范围................................................................................................... 4

1.3 Name 软件名称................................................................................................... 4

1.4 Functions 软件功能.......................................................................................... 4

1.5  Applications软件应用......................................................................................... 4

2. High Level Design概要设计............................................................................................. 4

2.1系统功能设计...................................................................................................... 4

2.2 系统架构设计..................................................................................................... 5

2.2.1 三层架构................................................................................................... 5

2.3 Database数据库设计............................................................................................ 6

2.3.1 数据字典................................................................................................. 6

2.3.2 数据表设计.............................................................................................. 6

2.3.3 表关系..................................................................................................... 7

3. Low Level Model Design 模块详细设计............................................................................ 7

3.1 User Model Design 用户模块................................................................................. 7

 

 


1. Introduction  简介

1.1 Purpose  文档目的

编写此文档的目的是进一步定制软件开发的细节问题,希望能使本软件开发工作更具体。是为使用户、软件开发者及分析人员对该软件的初始规定有一个共同的理解,它说明了本产品的各项功能需求、性能需求和数据要求,明确标识各功能的实现过程,阐述实用背景及范围,提供客户解决问题或达到目标所需的条件或权能,提供一个度量和遵循的基准。

1.2 Scope  本文档适用范围 

在各个行业中,当我们接受到用户的商业项目后,在项目运行的全过程中充满了不确定因素,只有有效的运用项目管理的科学和艺术,才有可能使项目取得成功。对以上方面要想达到有效的管理水平,必须有一套科学的管理方法,但是即使有了科学的管理方法,由于项目干系人之间的沟通、协作不到位,往往达不到预期的结果。鉴于这种情况我们开发一套项目管理协作支撑系统,旨在为项目干系人提供一个交流、协作以及项目的进度跟踪监控、项目的质量控制、项目相关资源的管理的软件平台,从而提高项目管理水平,实现了工作的协同化、提高了工作效率。

1.3 Name 软件名称 

莱克B2C在线商城

1.4Applications软件应用领域

本软件适用于B2C在线商城

2. High Level Design概要设计

2.1系统功能设计

.

 

2.2 系统架构设计

2.2.1 三层架构

本项目采用三层架构进行开发,其优势在于便于分工合作、易于扩展、便于维护,其三层之间的关系如图所示。其中表示层用于与用户进行交互;业务逻辑层负责处理项目业务流程;数据访问层负责操作数据库;entity层中的实体类是三层之间的数据载体,用于在三层之间传递数据;

间传递数据;

 

 

 

 

 

 

 

 

 

 
   

 

 

 

QueryRunner+BeanHandler

           
     
 
   
     
 

 

 

 

 

 

 

 

 

 

 

 

2.3 Database数据库设计

2.3.1表关系

数据库中的表关系图或者PD设计图。

 

 

注意:如题,在商城系统开发时遇到商品的多级分类,为增强扩展性,子类可以任意添加,不知此类问题数据库如何设计更为科学:

网友回答:

表结构为:  id(编号)   name(分类名)  parentID(父类编号) 简单举例如下:

id    name      parentID

1     饮料            0(为0表示第一大类)

2     水果            0

3      百事可乐     1

4      雪碧           1

5      苹果     2

6      香蕉           2

这样设计的好处是:可以无限极分类。。。。便于维护和统一管理。

故在分类表增加一个字段标识其父分类。

 

 

 

 

 

 

本项目数据库共包含   个表,其表结构如下表所示。

项目所有数据库表见表

 

 

LaykeShop数据库设计

表:首字母大写

 

Customer:顾客表

列名

类型

是否为空

约束

说明

cid

Char(32)

Not null

 

顾客id

Code

Char(64)

Not null

 

激活码

Email

Varchar(50)

Not null

 

注册邮箱

Emailstate

Bit

 

Default 0

邮箱激活状态

Account

Varchar(16)

Not null

 

账号

password

Varchar(16)

Not null

 

密码

regtime

Time

Not null

 

注册时间

zip

Varchar(6)

 

 

邮编

sex

Nvarchar(1)

 

 

性别

birthday

Datetime

 

 

生日

realname

Nvarchar(8)

 

 

真实姓名

phone

Varchar(11)

 

 

联系号码

address

Nvarchar(50)

 

 

家庭住址



 

Merchant: 商家表

 

列名

类型

是否为空

约束

说明

Mid

Char(32)

Not null

 

Id

Email

Varchar(50)

Not null

 

注册邮箱

Account

Varchar(16)

Not null

 

账号

Password

Varchar(16)

Not null

 

密码

Regtime

Datetime

Not null

 

注册时间

ownerName

varchar(16)

not null

 

店铺所有者姓名

shopName

Varchar(16)

 

 

店铺姓名

shopIntroduction

Varchar(255)

 

 

店铺介绍

 

 

 

Cart:购物车表

列名

类型

是否为空

约束

说明

cartId

Char(32)

Not null

 

Id

gid

Char(32)

Not null

外键

商品ID

Amount

Int

Default 0

 

数量

 

 

 

Orders:订单表

列名

类型

是否为空

约束

说明

Oid

Char(32)

Not null

 

Id

Totalprice

decimal(18, 2)

Not null

 

总价

Ispay

Bit

 

 

是否支付

Payway

Varchar(50)

 

 

支付方式

LogisticsNum

Varchar(20)

 

 

物流单号

Ordertime

Datetime

 

 

下单时间

Paytime

Datetime

 

 

支付时间

receiverAddrId

Char(32)

 

外键

收货地址

Isdelete

Boolean

 

Default 0

是否删除

 

 

 

OrderItem:订单条目表

列名

类型

是否为空

约束

说明

oitemId

Char(32)

Not null

 

Id

Ordersid

Char(32)

Not null

外键

属于某个订单

Goodsid

Char(32)

Not null

外键

商品id

Goods_attr_relation_id

Int

Not null

外键

商品属性关系表id

Number

Int

Not null

 

数量

Subprice

decimal(18, 2)

 

 

小计

 

 

 

 

 

 

 

Goods:商品表

列名

类型

是否为空

约束

说明

Gid

Char(32)

Not null

 

商品id

mid

Char(32)

Not null

外键

 商家id

Categoryid

Char(32)

Not null

外键

分类id

Goodsname

Varchar(50)

 

 

商品名

Goodsprice

decimal(18, 2)

Not null

 

商品价格

goodspic

Varchar(255)

Not null

 

商品图片url

isdelete

Boolean

Default 0

Default 0

是否删除

Goodsintro

Varchar(255)

 

 

商品介绍

GoodsCity

Varchar(10)

 

 

商品产地

 

 

 

Collections 收藏表

列名

类型

是否为空

约束

说明

id

Int

Not null

Identity

Id

Goodsid

Char(32)

Not null

外键

商品id

Customerid

Char(32)

Not null

外键

顾客id

 

 

 

 

Goodsattr商品属性表

列名

类型

是否为空

约束

说明

Id

Int

Not null

Identify

Id

Color

Varchar(32)

not null

 

颜色

Size

Varchar(32)

Not null

 

尺寸

Store

Int

Not null

Default 999

库存表

 

 

 

 

 

 

 

 

 

 

 

 

Goods_attr_relation商品 属性 关系表

列名

类型

是否为空

约束

说明

Id

Int

Not null

主键

Not null

Goodsid

Char(32)

Not null

外键

商品id

Goodsattrid

Int

Not null

外键

商品id

 

 

 

 

Category:分类表

列名

类型

是否为空

约束

说明

Id

Int

 

 

Id

ParentId

int

 

0标识最顶层分类

父分类id

CategoryName

Varchar(20)

 

 

分类名

IsDelete

boolean

 

Default 0

是否删除

 

 

 

 

Admin:管理员表

列名

类型

是否为空

约束

说明

account

Varchar(16)

Not null

 

账号

password

Varchar(16)

Not null

 

密码

 

 

 

 

Comments:评价表

列名

类型

是否为空

约束

说明

Commentsid

Char(32)

Not null

 

Id

Goodsid

Char(32)

Not null

外键

商品id

Orderid

Char(32)

Not null

外键

订单id

Star

Tinyint

Not null

 

评价星级

Context

Varchar(255)

Not null

 

评价内容

Comentdate

Datetime

Not null

 

评价时间

Customerid

Char(32)

Not null

 

评价的人

 

 

 

Receiver:收货地址表

列名

类型

是否为空

约束

说明

receiverId

Char(32)

Not null

 

Id

cid

Char(32)

not null

外键

客户id

receiverName

Varchar(50)

Not null

 

收货人姓名

Telephone

Varchar(11)

Not null

 

手机号

Address

Varchar(50)

Not null

 

地址

isDelete

Boolean

Not null

Default 0

是否删除

 

 

 

 

 

 

3. Low Level Model Design 模块详细设计

3.1 User Model Design 用户模块 Customer

(1)Process analysis业务流程分析

1.普通顾客Customer访问商城,在未登陆的状态下可以访问index.jsp、list.jsp等,当需要登陆时会自动跳转到登陆页面,Customer选择登陆或注册。

2.注册用户后登陆,具有所有用户的权限,能够

>修改个人信息

         >查询已购买的订单信息

         >购买新的商品

3.详细功能设计说明:

         BaseServlet说明:

                   baseServlet继承HttpServlet,重写了Service方法,将一个Servlet的Parameter作为方法名,调用子类的方法。子类通过返回值,给出转发还是重定向,以及到哪一个页面。

 

         A:登录 #  login

¨       需求1:简单的js表单校验。

¨       需求2:登录图片验证码动态更新。VerifyCodeServlet+VerifyCode

         <script type="text/javascript">

                   function _vchange(){

                            var vcode = document.getElementById("vcode");

                            vcode.setAttribute("src", "<c:url value='/VerifyCodeServlet?'/>" + new Date().getTime());

                   }

         </script>

  

<img id="vcode" src="<c:url value='/VerifyCodeServlet' />" alt="" align="absmiddle" style="position:relative;top:-2px;" />

<a href="javascript:_vchange();" style="color:#999;">看不清,换一张</a>

添加一个随机参数解决动态刷新,不添加参数浏览器会有缓存导致没有更新图片

 

¨       需求3:登录失败错误信息回显。

*实现方案:给Request域设置一个错误信息Attribute,内容为错误信息。

 

         B: 退出 # quit

¨       需求1:给Session设置死掉。Request.getSession().invalidate(); 然后 重定向到index.jsp

         C:     注册 # register

¨       需求1:js简单表单校验(账号,密码,邮箱)。实现

¨       需求2:用户名,邮箱查重,通过Ajax异步实现。

¨       需求4:图片验证码校验 实现

¨       需求5:注册失败信息回显。 实现

         D: 个人中心#customer_info.jsp

¨       需求1:个人信息修改ajax异步

¨       需求2:使用邮箱协议,异步发送邮箱激活链接(放到个人信息页面了)

¨       需求3:已购买商品显示(我的订单)

¨       需求4:我的收藏列表显示

¨       需求5:评价管理#查看评价#添加评价

¨       需求6:密码修改

¨       需求7:收货地址管理

(2)Flow Diagram流程图

   

3.2 店铺模块

(1)Process analysis业务流程分析

店铺的业务流程:

1.进入登录模块,输入信息,从数据库中查询数据进行比较验证是否正确。

2.登录后,可以对密码进行修改。

3.可以对自己的店铺商品进行管理

4.管理订单,对订单的处理

(2) Flow Diagram流程图

 

3.3 管理员模块

(1)Process analysis业务流程分析

管理员操作:

1.进入登录模块,输入信息,从数据库中查询数据进行比较验证是否正确。

2.登录后,可以对密码进行修改。

3.可以对自己的工资进行查询

4.管理员工的考勤记录

5.参数管理、员工管理

(2)Flow Diagram流程图

 

posted @ 2016-09-28 15:18  水影惊鸿  阅读(484)  评论(0编辑  收藏  举报