当前位置:文档之家› 【最新版】网上购物系统_毕业论文

【最新版】网上购物系统_毕业论文

【最新版】网上购物系统_毕业论文
【最新版】网上购物系统_毕业论文

小型网上购物系统

内容摘要

本文以当今流行的jsp技术开发设计了”小燕子网上购物”交互式电子商店系统。采用结构化生命周期法,自顶向下、逐层分解,模块化的系统结构设计。全文共分为序言、系统需求分析说明、总体设计、数据库设计、界面设计、程序设计、测试和使用说明等八章。绪论中阐述了电子商务的起源与电子商务的意义。软件计划中阐述了市场调查、可行性研究、软件工程方法以及构建本网站所需的开发环境。需求分析阶段阐述了本网站的功能需求、外部接口的需求,将来可能提出的功能需求,并设计系统的逻辑模型。总体设计中阐述了网站的总体设计思想、首页的设计、网站的总体功能设计以及数据库的逻辑设计。在软件的详细设计中阐述了数据库的详细设计、网站各模块功能的具体实现,完成了本系统的Jsp交互式电子商店的系统。文中详细说明了系统分析、系统设计的方法在系统实际开发中应用,并总结了开发过程中的一些经验和体会。

关键字:JSP;SQLserver2000;Tomcat;网上购物系统

Online Shopping System

Abstract:

The "Flying Swallow online shopping is an E-store interactive system,which is based on today's popular technology development jsp. With the use of a structured life-cycle method, top-down, layer by layer decomposition, modular design of the system architecture.The whole article is divided into eight chapters,such as: The analysis of the system, The total design,The database design, The interface design, The design of procedures, The test and The use of description,. The introduction of e-commerce relate the origin and significance of e-commerce. Software program describe the market research, the feasibility studies, the methods of software engineering and the environment of this site required. Through the section of needs analysis readers can know the functional requirements of this site, the external interface of the demand and the future demand, which may design the logic model design system. The overall design tell us the overall design of the site of thought, the , web site design, as well as the logical database design. The detailed design of the software described in the detailed design of the database,the realization of Web site of the module‘s function pleting the system interactive electronic stores Jsp system. The article details the system analysis, system design method in the actual development of systems applications, and summarizes the some of their experience in this process.

Key words:JSP;SQLserver2000;Tomcat,System of Shopping

目录

1序言 (1)

2系统需求分析说明 (2)

2.1系统介绍 (2)

2.2功能需求 (2)

2.3其他要求 (2)

3总体设计 (3)

3.1总体结构和模块设计 (3)

3.2处理流程 (3)

4数据库设计 (5)

4.1数据库结构属性图 (5)

4.2数据库表格设计 (5)

5页面设计 (9)

5.1前台页面 (9)

5.2后台页面 (10)

6系统详细设计 (12)

6.1前台设计 (12)

6.2后台设计 (27)

7 测试 (32)

7.1测试方式: (32)

7.2测试步骤: (32)

7.3测试报告: (32)

7.4测试结果评价: (33)

8使用说明 (34)

8.1系统环境要求: (34)

8.2系统安装: (34)

8.3系统运行: (34)

参考文献: (35)

致谢 (36)

1序言

随着Internet[1]的发展,计算机软件系统不断的应用于各个领域,比如银行,超市,图书馆等。这些计算机软件系统给管理人员带来了极大的方便,提高了工作效率,减少工作人员工作量。就拿图书销售来说,网上书店[已走进我们的生活中。通过它,我们购买图书更加的方便,便捷,也给经销商对书籍的,采购,统计等管理范围[2]内带来很大的方便。

通过对java[3]相关知识的认真学习,我决定做一个简单的网上书店系统[4],把自己所学的知识用到实践中去,同时通过这次系统的编制来检验一下我用java编程的能力,对我平时所学的知识做一个总结。

2系统需求分析说明

2.1系统介绍

本系统是建立在Windows平台上,基于BS结构[5]的一个简单网上书店。通过这个网上书店,可以更加方便地管理图书和销售图书。

2.2 功能需求

通过对当当网,卓越网等网上书店的认识和分析,我对网上书店有了基本的了解,我觉得该系统至少应该具有以下的一些基本功能:

(1)注册管理:能够对用户名,密码的简单验证;能够对电子邮箱,Email

进行有效性验证;能够防止利用页面刷新重复注册,以及已经注册的

用户不能重复注册。

(2)商品浏览:分类显示商品;显示商品详情,提供购买链接;可以对商

品进行模糊查询;显示当前用户的浏览记录。浏览商品时不要求用户

登录,但下订单前用户必须登录,对于浏览过的商品有历史记录。

(3)购物车管理:欲购买商品可以增添到购物车;也可以从购物车退回商

品,清空购物车;对于同一件商品的多次购买只能在原来的商品上增

添数量,还可以修改购物车中某个商品的数量,统计商品总金额。

(4)订单管理:只有登录的用户可下订单;用户可以查看自己的订单。管理

员可以修改订单的状态;也可以按某个时间段,状态查询订单及分页

列表显示查询结果。

(5)商品评论:显示某个商品的所有评论,只有登录用户才可以对某个商

品发表评论,没有登陆时候跳转到登陆页面。

(6)商品管理:管理员可以增添商品分类;修改商品基本信息;增添商品

时候可以上传图片;商品基本信息删除的时候,存在订单的商品不能

够被删除。

(7)注册用户管理:管理员可以通过查询指定用户,并管理用户的启用,

冻结,和重置密码。

2.3 其他要求

(1)页面要求:对于主要页面要注意美观,简洁。

(2)时间要求:要在指定的时间里面完成本系统

(3)系统要求:系统要有运行稳定

3.1总体结构和模块设计[6]

(1)前台部分由用户使用,包括用户注册,购物车,我的订单,商品浏览,

个人管理等几个部分。

(2)后台部分由用户管理,订单管理,商品管理等几个部分。

功能结构图如下:

图3.1 功能模块设计图

3.2处理流程

业务流程如下:

图3.2 .业务流程图

4.1数据库结构属性图

图4.1 E-R图

4.2数据库表格设计

1.图书分类表

Table: bookType说明:图书类型表

列名说明类型备注bTypeId 代理主键Int(4) 自增bTypeName 类型名称varchar(20) 允许为null

bTypeDescribe 类型描述varchar(100) 允许为null

表4.2 图书分类表

Table: book说明:图书信息表

列名说明类型备注

bId 图书编号Varchar(15)不允许为null bTypeId 图书类型Int(4)允许为null bName 图书名称varchar(50)r 允许为null bAuthor 图书作者varchar(50)r 允许为null bPublish 出版社varchar(50)r 允许为null bTime 出版日期datetime(8)r 允许为null bDescribe 图书简介Varchar(2000)允许为null bImage 图书图片(路径)Varchar(100)允许为null bPrice 图书价格Numeric(9)允许为null bDiscount 图书折扣Numeric(9)允许为null bSum 图书库存Int(4)允许为null

表4.3 图书信息表

Table: bookOrder说明:订单表

列名说明类型备注

oId 代理主键Int(4) 自增

Uid 用户id Int(4) 不允许为null oTime 订单生成日期Datetime(8) 允许为null oReceiveName 收货人姓名varchar(20) 允许为null oReceivePhone 收货人电话varchar(20) 允许为null oReceiveAddress 收货人地址varchar(100) 允许为null oReceivePostCode 收货人邮编varchar(6) 允许为null oSendType 收货方式varchar(20) 允许为null oPayType 付款方式varchar(20) 允许为null

oStatus 订单状态Varchar(8) 确认,发货,以付

表4.4 订单表

Table: comment说明:商品评论表

列名说明类型备注

cId 评论id Int(4) 不允许为null cName 评论人Varchar(20) 允许为null

bId 评论书籍id Varchar(15) 允许为null cTime 评论时间Datetime(8) 允许为null cDescribe 评论内容Varchar(200) 允许为null

表4.5 商品评论表

Table: orderInfo说明:订单详情表

列名说明类型备注

iId 代理主键Int(4) 不允许为null

oId 所属订单表id int(4) 允许为null

bId 书籍id varchar(15) 允许为null oAmount 购买数量int(4) 允许为null oPrice 小计numeric(9) 允许为null

表4.6 订单详情表

Table: RegUser说明:注册用户表

列名说明类型备注

uId 代理主键Int(4) 不允许为null uName 用户名varchar(15) 允许为null uPassword 用户密码varchar(20) 允许为null uRealname 真是姓名varchar(12) 允许为null uSex 性别varchar(2) 允许为null

uEmail 电子邮箱varchar(30) 允许为null uPhone 电话varchar(20) 允许为null uAddress 地址varchar(100) 允许为null uType 用户类型Int(4) 0普通用户1管理

uUseful 是否禁用int(4) 0 禁用1 启用

表4.7 注册用户表

5页面设计

5.1前台页面

5.1.1商品浏览页面

图5.1 前台登陆页面5.1.2购物车页面

5.1.3用户注册页面

图5.3 用户注册页面5.2后台页面

5.2.1后台登陆页面

5.2.2后台管理页面

图5.5 后台管理页面

6系统详细设计

6.1 前台设计

6.1.1前台总体模块[7]:

(1)前台部分由用户使用,包括用户注册,购物车管理,我的订单,商品

浏览,个人管理等几个部分。

模块功能介绍:

用户注册:能够提供用户的注册,并且对用户的注册进行以下验证:用户名非空;密码不小于6位;邮箱Email的有效性;防止通过刷新重复提交.

购物车管理:所选商品须通过购物车进行保存;对于相同的书籍,在再次购买的时候,在购物车中相应的书籍上增加数量;在购物车中修改订单数量的时候防止输入非数字;在购物车然后生成订单。

我的订单:用户可以查看自己所有的订单,以及查看具体某一张订单,通过查看订单,用户可以查看订单现在的状态,查看订单的具体详情:收货人地址,收货方式,付款方式,具体商品,小计,总计等等。

商品浏览:用户可以通过商品的id或者商品的名称进行查找商品,并且对于浏览过的商品存在浏览历史,对于登陆后的用户可以对商品进行留言。

个人管理:用户可以管理自己账号的相关信息,比如:修改个人的基本信息,修改自己的密码。

6.1.2前台文件架构:

图6.1 前台文件架构

6.1.3用户注册模块:

用户可以通过注册评论商品

代码实现:

1.有效性验证[8]:通过js 对客户端的提交数据进行有效性验证.关键

代码如下:

检查邮箱的有效性:

function chkEmail(str)

{

return

str.search([\w\-]{1,}@[\w\-]{1,}\.[\w\-]{1,})==0?true:false;

}

function check() {

if(https://www.doczj.com/doc/0518964446.html,erName.value=="")

{

alert("请填写用户名");

return false;

}

else if(!IsValid())

{

alert("用户名只能使用字母和数字");

return false;

}

else if(myform.psw.value=="")

{

alert("请填写密码");

return false;

}

else if(myform.psw.value != myform.conpsw.value)

{

alert("两次密码不一致");

return false;

}

else if(myform.trueName.value =="")

{

alert("请填写姓名");

return false;

}

else if(myform.email.value =="")

{

alert("请填写邮箱");

return false;

}

else if(!chkEmail(myform.email.value))

{

alert("请填写有效的Email地址");

return false;

}else if(myform.address.value =="")

{

alert("地址必须填写!");

return false;

}else if(myform.nam.value=="") {

alert("请输入验证码");

}else if(myform.nam.value!=myform.con.value){

alert("两次验证码不一样!");

}else {

document.myform.submit();

}

}

2. 防止通过刷新重复提交[9]:当提交完注册信息后,要求输入验证码,防

止重复提交数据到数据库,通过image.jsp写出一个随机数,与注册jsp 页面相匹配,关键代码如下:

Jsp页面验证码: