网上购书系统项目设计方案.docx

上传人:b****1 文档编号:14934294 上传时间:2023-06-28 格式:DOCX 页数:37 大小:190.72KB
下载 相关 举报
网上购书系统项目设计方案.docx_第1页
第1页 / 共37页
网上购书系统项目设计方案.docx_第2页
第2页 / 共37页
网上购书系统项目设计方案.docx_第3页
第3页 / 共37页
网上购书系统项目设计方案.docx_第4页
第4页 / 共37页
网上购书系统项目设计方案.docx_第5页
第5页 / 共37页
网上购书系统项目设计方案.docx_第6页
第6页 / 共37页
网上购书系统项目设计方案.docx_第7页
第7页 / 共37页
网上购书系统项目设计方案.docx_第8页
第8页 / 共37页
网上购书系统项目设计方案.docx_第9页
第9页 / 共37页
网上购书系统项目设计方案.docx_第10页
第10页 / 共37页
网上购书系统项目设计方案.docx_第11页
第11页 / 共37页
网上购书系统项目设计方案.docx_第12页
第12页 / 共37页
网上购书系统项目设计方案.docx_第13页
第13页 / 共37页
网上购书系统项目设计方案.docx_第14页
第14页 / 共37页
网上购书系统项目设计方案.docx_第15页
第15页 / 共37页
网上购书系统项目设计方案.docx_第16页
第16页 / 共37页
网上购书系统项目设计方案.docx_第17页
第17页 / 共37页
网上购书系统项目设计方案.docx_第18页
第18页 / 共37页
网上购书系统项目设计方案.docx_第19页
第19页 / 共37页
网上购书系统项目设计方案.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网上购书系统项目设计方案.docx

《网上购书系统项目设计方案.docx》由会员分享,可在线阅读,更多相关《网上购书系统项目设计方案.docx(37页珍藏版)》请在冰点文库上搜索。

网上购书系统项目设计方案.docx

网上购书系统项目设计方案

网上购书系统项目设计方案

前言

1.1课题背景

互连网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时正以其便利的信息传输形式改变着人们的消费模式,便利简单、快捷、低成本的电子通信方式,买卖双方不谋面就可以进行各种贸易活动,走向商业的互连网已经成为网络经济的大势所趋。

1996年前后,在美国学术界提出"电子商务"〔E-Business或E-Commerce的概念,短短几年的时间里,这一概念以在全球各地被广泛接受。

根据买方和卖方的不同,电子商务市场可以划分四种类型:

B2B,B2C,C2B和C2C。

就规模而言,B2B和B2C居于主导地位。

B2C是商家与顾客之间的商务活动,它将成为电子商务的一种主要的商务形式,"B2C网上购物"是实现这种商务活动的电子平台。

B2B就是商家与商家之间的商务活动,它也将成为电子商务的一种主要的商务形式,"B2B商务"是实现这种商务活动的电子平台。

眼下电子商务正如雨后春笋般地大量涌现,企业网络化已经成为一种时尚,出于对市场需求的考虑,本小组设计了一个网上书店,实现了用户注册、用户登陆、网上购书、管理员对数据库查看、修改、删除等操作,基本实现了网上书店的一些主要功能,"麻雀虽小,五脏具全"。

1.2系统开发关键技术介绍

本实例采用三层架构设计,用户界面层通过统一的接口向业务层发送请求,业务曾按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据库封装成类的形式返回给用户界面层。

这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。

这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库的操作。

另外,本设计把页面中一些常用的部分集成为模块,例如页面的头和尾部,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。

这样方便、简洁,减少了工作量,是后台程序更有条理,思路更清晰。

另外,我们在前台对数据库表的的数据进行调用的时候,采用了数据库存储过程,这样就使得数据库的安全性更高,数据的调用、存储更有条理。

在相关联的表之间,我们还采用了触发器,进行后台的自动触发,使系统职能化。

一、需求分析〔XX

1、项目需求

使用Java技术设计和实现一个简约的购书。

对购物进行设计与实现一下功能:

〔1客户注册、客户登录

〔2客户资料修改、取回忘记密码

〔3客户按照商品分类浏览商品

〔4客户按照某一个或几个关键字搜索商品

〔5客户购物车功能

〔6客户订单管理〔修改订单、撤销订单等

〔7管理员对商品资料的管理〔增、删、改、查、统计

〔8分页浏览

〔9管理员分级管理

〔10客户访问习惯,跟踪用Filter跟踪客户IP

二.总体设计〔XX、XX

1.MVC三层架构工作原理

三层架构工作原理图

2.系统分析

本设计把页面中一些常用的部分集成模块,这样设计新的页面是如果有重复出现的部分,只需要拿现成的模块来组装就可以了。

设计对数据库的调用采用三层架构设计,对于需要连接数据库的页面,通过统一的数据库调用管理,给页面分配连接,这样就方便了对数据库的调用和管理,同时使得对数据库的调用不会产生拥塞,并且在一定程度上增加了数据库的安全性。

本设计分为客户模块和管理员模块。

用户模块包括用户注册、登陆、查看图书详细信息、在线购书、查看、整理用户订单等功能。

管理员模块包括对注册用户资料的添加、删除等管理,对图书的添加、删除、分类等一系列管理功能。

3.系统设计

通过上述分析,在建网上购书系统之前,先对数据库进行分析,设计好系统的功能模块,并建好系统所需的数据库及要用到的一些表。

3.1系统功能模块设计

根据上述各项功能的分析,可以画客户界面、管理员界面的功能模块图。

功能模块分为用户功能模块和管理员功能模块,用户登陆后的主要功能是实现网上购书,管理员功能模块主要是实现管理员对书店的管理,如用户管理、图书管理、订单管理等。

图1-1客户界面系统功能模块

图1-2管理员界面系统功能模块

3.2设计数据流程图

图1-购书系统数据流程图

4.系统数据库设计

4.1数据库需求分析

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入.收集基本数据,数据结构以及数据处理的流程。

通过上述系统功能分析,针对一般在线书店的需求,总结出如下需求信息。

(1)用户分一般用户和管理员。

(2)订单分单详细订单和总订单。

(3)每一本图书都从属一种类型。

(4)一个用户可以购买多本图书。

(5)一个用户对应一定单列表。

根据上面的设计规划出的实体有:

管理员信息实体、用户信息实体、图书实体、图书分类实体、订单实体、订单列表实体。

4.2E-R图

图2-1实体之间关系E-R图

图2-2管理员信息E-R图

图2-3订单列表E-R图

图2-4图书E-R图

图2-5订单列表E-R图

图2-6用户信息E-R图

图2-8综合E-R图

三、详细设计〔XX、XX

1.数据库中的所有表

根据项目要现数据库设计,用MicrosoftAccess建立数据库文件。

共建立4个表,分别为会员信息表、订单表、商品信息表、收货人信息表。

Gd_username会员信息表

列名

数据类型

长度

是否为空

ID

自动编号

Gd_username

文本型

Gd_password

文本型

Role

数字型

Gd_orderinfo订单表

列名

数据类型

长度

是否为空

ID

自动编号

gd_orderid

文本型

gd_orderdate

文本型

gd_productid

数字型

gd_price

数字型

gd_allprice

数字型

gd_count

数字型

gd_status

文本型

gd_userid

文本型

gd_name

文本型

gd_email

文本型

gd_tel

文本型

gd_code

文本型

gd_address

文本型

gd_remarks

文本型

商品信息表

列名

数据类型

长度

是否为空

ID

自动编号

name

OLE 对象

picture

文本型

author

文本型

publisher

数字型

printinOorder

文本型

pageNumber

文本型

ISBN

文本型

kaiben

文本型

specialDescription

文本型

sort

文本型

discount

文本型

contentsDescription

文本型

stocks

数字型

catalog

文本型

appreciation

文本型

remarks

文本型

click

数字型

price

数字型

收货人信息表

列名

数据类型

长度

是否为空

ID

自动编号

gd_username

文本型

gd_password

文本型

gd_email

文本型

gd_qq

文本型

gd_name

文本型

gd_identify

文本型

gd_tel

文本型

gd_address

文本型

gd_code

文本型

gd_joindate

文本型

gd_lastlogindate

文本型

gd_lastIP

文本型

gd_remarks

文本型

2.系统实现

主要代码功能:

AdminBean.java

数据的读取,管理员对数据的增、删、该操作

DBBean.java

对数据库的连接

DateBean.java

读取系统时间

ProductRecordBean.java

对product表变量的定义

OrderList.java

订单表〔gd_OrderInfo变量的定义

UserBean.java

用户登录后信息的显示、密码取回、增加用户、更新用户等

ProductBean.java

热门产品查询、分类查询、产品搜索类

getPasswordBean.java

将密码以E-mail方式发给用户

MVCServlet.java

session变量的定义

UsernameServlet.java

用户注册时对用户名是否可用的判断

VerifyCodeServlet.java

验证码的生成

3.系统界面

首页

用用户名admin,密码为123456登陆后

点击右下角"进入管理"

用用户名admin,密码123456登陆后效果:

修改会员界面

增加图书界面

订单管理

4.关键源代码

〔1.session会话实现:

publicclassMVCServletextendsHttpServlet

{

protectedvoidprocessRequest

throwsServletException,IOException

{

response.setContentType<"text/html;charset=UTF-8">;

PrintWriterout=response.getWriter<>;

request.setCharacterEncoding<"gb2312">;

response.setCharacterEncoding<"gb2312">;

Stringaction=request.getParameter<"action">.trim<>;

HttpSessionsession=request.getSession<>;

if>//用户登陆

{

Stringpasscode=request.getParameter<"passcode">;

if.equals>

{

Stringusername=request.getParameter<"username">.trim<>;

Stringpassword=request.getParameter<"password">.trim<>;

UserBeanuserbean=newUserBean<>;

Stringlogin=userbean.testLogin;

if

{

session.setAttribute<"gd_username","">;

session.setAttribute<"gd_password","">;

session.setAttribute<"gd_login","notlogin">;

//out.print<"passcodeyes,loginfail!

!

">;

response.sendRedirect<"userlogin.jsp">;

}

else

{

Stringuserinfo[]=login.split<"\\|">;

DateBeandate=newDateBean<>;

Stringlastlogindate=date.getDate<>;

StringlastIP=request.getRemoteAddr<>;

session.setAttribute<"gd_lastlogindate",userinfo[0]>;

session.setAttribute<"gd_lastIP",userinfo[1]>;

session.setAttribute<"gd_id",userinfo[2]>;

session.setAttribute<"gd_username",userinfo[3]>;

session.setAttribute<"gd_password",password>;

session.setAttribute<"gd_login","login">;

out.println<"lastlogindateis"+lastlogindate+"lastIPis"+lastIP>;

userbean.updateUserlogin,lastlogindate,lastIP>;

response.sendRedirect<"userlogin.jsp">;

}

}

else

{

session.setAttribute<"gd_username","">;

session.setAttribute<"gd_password","">;

session.setAttribute<"gd_login","notlogin">;

//out.print<"passcodenologinfail!

!

">;

response.sendRedirect<"userlogin.jsp">;

}

}

elseif>//用户注册

{

Md5m=newMd5<>;

Stringusername=request.getParameter<"username">;

Stringpassword=request.getParameter<"password">.trim<>;

Stringemail=request.getParameter<"email">;

Stringqq=request.getParameter<"qq">;

Stringname=request.getParameter<"name">;

Stringidentify=request.getParameter<"inentity">;

Stringtel=request.getParameter<"tel">;

Stringaddress=request.getParameter<"address">;

Stringcode=request.getParameter<"code">;

DateBeannowDate=newDateBean<>;

Stringjoindate=nowDate.getDate<>;

Stringlastlogindate=nowDate.getDate<>;

StringlastIP=request.getRemoteAddr<>;

UserBeanuserbean=newUserBean<>;

if>

{

out.println<"alert<'注册成功!

请登陆!

'>;"+";">;

out.println<"点击返回主页">;

}

else

{

out.println<"alert<'注册失败!

请确认注册信息是否有误!

'>;"+";">;

out.println<"点击返回注册页面">;

}

}

elseif>//用户获取密码,通过取回

{

Stringusername=request.getParameter<"username">;

Stringemail=request.getParameter<"email">;

out.print;

UserBeanuserbean=newUserBean<>;

if>

{

out.println<"已经发送到你的!

">;

}

else

{

out.println<"用户名或者错误,请输入正确的用户名和对应的!

">;

}

}

elseif>//用户退出登陆

{

session.setAttribute<"gd_username","">;

session.setAttribute<"gd_password","">;

session.setAttribute<"gd_login","notlogin">;

//out.print<"loginout!

!

">;

response.sendRedirect<"default.jsp">;

}

elseif>//管理员,退出登陆

{

session.setAttribute<"admin_gd_username","">;

session.setAttribute<"admin_gd_password","">;

session.setAttribute<"admin_gd_login","notlogin">;

response.sendRedirect<"default.jsp">;

}

elseif>//管理员登陆

{

Stringpasscode=request.getParameter<"passcode">;

if.equals>

{

Stringusername=request.getParameter<"username">;

Stringpassword=request.getParameter<"password">;

AdminBeanadminbean=newAdminBean<>;

Stringlogin=adminbean.admin_Login;

if>

{

out.println<"用户名或者密码错误..2秒后返回登陆页面..">;

out.println<"">;

}

else

{

session.setAttribute<"admin_gd_username",username>;

session.setAttribute<"admin_gd_password",password>;

session.setAttribute<"admin_gd_login","login">;

session.setAttribute<"admin_gd_role",login>;

response.sendRedirect<"gd_admin/gd_Admin.jsp">;

}

}

else

{

out.println<"验证码错误..2秒后返回登陆页面..">;

out.println<"">;

}

}

elseif>

{

AdminBeanab=newAdminBean<>;

Stringid=request.getParameter<"id">;

if>>

{

out.println<"

">;

out.println<"删除成功..2秒后返回..">;

out.println<"">;

out.println<"

">;

}

else

{

out.println<"

">;

out.println<"删除失败..2秒后返回..">;

out.println<"">;

out.println<"

">;

}

}

elseif>

{

StringpwdStatus=request.getParameter<"checkbox">;

Stringusername=request.getParameter<"username">;

Stringpassword=request.getParameter<"password">.trim<>;

Stringemail=request.getParameter<"email">;

Stringqq=request.getParameter<"qq">;

Stringname=request.getParameter<"name">;

Stringidentify=request.getParameter<"inentity">;

Stringtel=request.getParameter<"tel">;

Stri

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2