数据库课程设计网上购物系统.docx

上传人:b****6 文档编号:6090267 上传时间:2023-01-03 格式:DOCX 页数:15 大小:345.06KB
下载 相关 举报
数据库课程设计网上购物系统.docx_第1页
第1页 / 共15页
数据库课程设计网上购物系统.docx_第2页
第2页 / 共15页
数据库课程设计网上购物系统.docx_第3页
第3页 / 共15页
数据库课程设计网上购物系统.docx_第4页
第4页 / 共15页
数据库课程设计网上购物系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库课程设计网上购物系统.docx

《数据库课程设计网上购物系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计网上购物系统.docx(15页珍藏版)》请在冰豆网上搜索。

数据库课程设计网上购物系统.docx

数据库课程设计网上购物系统

 

一、概述

1、项目背景

2、编写目的

掌握数据库设计原理及mysql,JSP,以及JDBC的使用。

首次应用MVC模式进行开发,结合JSP,Tomcat和JavaBean,通过Servlet容器实现JSP与JavaBean的控制,并且使用mysql对后台数据进行控制。

3、软件定义

我小组开发的购物系统实现了一般购物网站的基本功能,提供前台的用户购物端与后台的系统管理端,前台为用户提供注册登录、浏览与查询商品信息、处理用户的购买与订单交易信息等等,后台主要提供用户管理、商品信息管理、订单管理等功能。

本系统具有良好的交互界面,考虑到一些实际问题,简化了业务处理,在系统的安全性方面也没有做响应的保护,这是系统的不足之处。

4、开发环境

操作系统:

win2000以上版本;

网络服务器:

Tomcat5.x以上版本;

运行环境:

JDK1.5以上版本;

数据库服务器:

mysql

数据库驱动程序:

jdbc

 

二、需求分析

1、问题的提出

随着新一代技术的发展,人们思想的进步。

越来越多的人选在在网上购物,这不但很有效的带动了经济的发展速度,同时,也给人们带来了生活上的便利。

本系统的销售用户为提供电子商务的商家,利于起进行网上管理,网上销售,网上分发。

而使用者则除商家外,还包括为数众多,且规模日益增长的网上购物一族。

在计算机网络,数据库和现有操作系统上,利用现有的软件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上购物系统,实现销售的自动化,为顾客和商家都提供准确、精细、迅速的销售信息。

2、需完成的功能

根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Blient/Server结构,将网上购物系统划分为多个模块:

注册登录模块,商品查询模块,购物车模块,订单处理模块,系统管理模块。

(1)基本要求:

1 管理员获取系统最新信息,查询订单等内容。

2 购物者登录后,可以进行网上在线购物,查询和浏览商品,将商品放入购物车,在线支付,查看订单和积分等;

3 管理员可进行后台管理,管理会员信息,商品分类,商品信息,订单信息等。

4 管理员亦可发布最新公告或者优惠信息以及其他一些通知。

(2)具体要求

本系统为中小型购物网站建立一个完善、高效的网上购物系统,按照网站的业务逻辑分为登录注册模块、商品信息查询模块、购物车模块、订单处理模块、以及系统管理模块。

其中,系统管理模块有分为用户管理、商品管理、交易信息管理等部分。

登录、注册模块,主要处理用户的登录需求、用户信息维护,以及系统安全性的维护,防止系统被侵入或攻击。

商品信息查询模块,负责提供各类商品的信息给用户,并处理商品信息的搜索功能。

购物车模块主要保存与维护用户选购商品的信息。

订单处理模块,处理用户的订单信息。

系统管理模块,面向网站的管理员,处理商品信息的录入,修改以及其他系统信息的日常维护事务。

系统管理模块主要分为用户信息管理、商品信息管理、交易信息管理。

 

3、E-R图

三.数据表

Userinfo(用户信息)

|UserID(用户编号)|UserName(用户姓名)|Pwd(用户密码)|Email(电子邮件)|RealName(真实姓名)|Gender(性别)|Question(提示问题)|Answer(提示答案)|MyPage(个人主页)|Hobbies(兴趣爱好)|Selfintro(自我介绍)|

---------------------------------------------------------------------

Goods(商品表)

|GID(商品编号)|GName(商品名称)|GtypeID(类别编号)|Gprice(商品价格)|Gdiscount(商品折扣率)|Gdesc(商品描述)|Gsupplier(制造商)|Gamount(库存量)|Gprferred(是否推荐)|Gpic(商品图片)|

---------------------------------------------------------------------

GoodsType(商品类别表)

|TypeID(类别编号)|TypeName(类别名称)|TypeDesc(类别描述)|

---------------------------------------------------------------------

Orders(订单表)

|OrderID(订单号)|UserID(用户编号)|UserName(用户名)|OrderDate(订单日期)|Address(收货地址)|Phone(联系电话)|Linkman(联系人)|Postcode(邮政编码)|OrderSum(订单总额)|DealDate(订单处理日期)|Status(订单状态)|Note(备注)|

---------------------------------------------------------------------

OrdersDetail(订单明细表)

|OrderID(订单号)|OrderSeq(订单行号)|GoodsID(商品编号)|GoodsName(商品名称)|GoodsPrice(商品价格)|GoodsAmount(商品数量)|GoodsDiscount(商品折扣率)|

---------------------------------------------------------------------

ShopCart(购物车表)

|UserID(用户编号)|UserName(用户名)|GoodsID(商品编号)|GoodsAmount(商品数量)|

---------------------------------------------------------------------

UserInfo(用户信息表)

Column Name

 Date Type 

Width

空值情况

UserName

Char

20

主键

Pwd

Char

15

非空

Email

Char

50

非空

RealName

Char

20

非空

Gender

Char

10

非空

Question

Char

50

非空

Answer

Char

50

非空

MyPage

Cha

30

Hobbies

Char

50

Selfintro

Char

100

Goods(商品表)

Column Name

 Date Type

 Width

空值情况

GID

Char

15

主键

GName

Char

20

非空

GtypeID

Char

15)

外键

Gprice

Decimal

10,2

非空

Gdiscount

Decimal

10,2

非空

Gdesc

Char

200

非空

Gsupplier

Char

200

非空

Gamount

Int

Gprferred

Int

Gpic

Char

50

 

GoodsType(商品类别表)

Column Name

 Date Type

 Width

空值情况

TypeID

Char

15

主键

TypeName

Char

20

非空

TypeDesc

Char

50

Orders(订单表)

Column Name

 Date Type

 Width

空值情况

OrderID

Int

主键

UserName

Char

20

非空

OrderDate

Datetime

非空

Address

Char

50

非空

Phone

Char

20

非空

Linkman

Char

20

非空

Postcode

Char

10

非空

OrderSum

Int

非空

DealDate

Datetime

非空

Status

Char

10

Note

Char

50

 

OrdersDetail(订单明细表)

Column Name

 Date Type

 Width

空值情况

OrderID

Int

非空

OrderSeq

Int

非空

GoodsID

Char

10

外键

GoodsName

Char

20

非空

GoodsPrice

Decimal

10,2

非空

GoodsAmount

Int

非空

GoodsDiscount

Decimal

10,2

非空

ShopCart(购物车表)

Column Name

 Date Type

 Width 

空值情况

UserName

Char

20

非空

GoodsID

Char

15

外键

GoodsAmount

Int

 

四、视图,索引,数据库权限

本系统并没有创建显示的索引。

而是只使用了主键自带的索引功能。

由于时间仓促加上对mysql数据库操作语言的不熟悉,并没有在系统中创建相关的用户权限。

只是把数据库的一个管理员的帐号和密码用在系统的连接中,并以管理员的身份对数据库中的表进行所有的查询和更新操作。

当然这样是很不安全的。

但为了提高开发进度,在此仅完成了基本的系统模型,以便后面的扩展。

五、软件功能设计

1、功能表

2.功能描述

1 注册登录模块:

注册登录模块,处理新用户的注册、用户的权限验证、用户个人信息的修改、以及登录的有效性、安全性验证。

用户信息主要包括:

用户名、密码、个人基本信息(真实姓名、性别、出生年月、联系方式等)。

为了防止恶意注册以及黑客侵入,在注册、登录时,由服务器自动随机生成四位验证码,并生成验证码图片,以此来保证系统的安全性。

2 商品查询模块:

商品查询模块,处理商品详细信息的列表,商品信息的模糊查询、组合查询。

1)商品信息列表,将商品的详细信息(图片、价格、描述等)列表显示,并可以按照商品分类来显示不同商品信息。

2)模糊查询,根据商品名称的关键字对商品进行查询,将与关键字类似或匹配的商品信息列表显示。

3)组合查询,综合商品的各种属性信息来进行查询,可以搜索的商品组合属性包括,商品编号、名称,商品类别,商品价格,以及商品生产制造商等等。

3 购物车模块:

购物车模块,负责用户选购商品,处理购物车,以及购物车的维护。

用户可以将感兴趣的商品放入购物车,也可以将所选购的商品拿出购物车。

若用户在选购商品30天内没有提交订单,系统将自动放弃购物车里的商品,并通知用户。

4 订单处理模块:

订单处理模块,负责用户生成订单、提交订单,以及订单信息的维护。

用户可以生成订单、提交订单。

生成订单后,如果用户确认订单信息无误,则可以提交订单,提交订单后购买交易才正式成立。

生成订单后,用户也可以放弃订单,取消交易。

另外,此模块还提供订单详细信息的查询,订单信息搜索等功能,帮助用户查看订单信息。

5 系统管理模块:

系统管理模块,分为用户信息管理,商品信息管理,订单交易信息管理三部分。

1)用户信息管理,包括的功能有:

查看用户信息,查看哪些用户正在登录,统计当天的访问流量,删除恶意用户信息等。

2)商品信息管理,包括的功能有:

商品详细信息的录入,商品分类信息的录入,商品信息的修改等

3)订单交易信息管理,包括的功能有:

查看已提交订单的信息,处理已提交订单等等。

六、程序代码及控件描述

1.数据库连接类:

DBConnectionManager.java。

使用jdbc对mysql数据库进行连接。

在此使用的连接字如下,直接对netshop数据库进行连接,在这个数据库中包含了上诉的数据库:

packagedbmanager;

importjava.sql.*;

publicclassDBConnectionManager{

privateStringdriverName="com.mysql.jdbc.Driver";

privateStringurl="jdbc:

mysql:

//localhost:

3306/netshop";

privateStringuser="root";

privateStringpassword="861478";

……

publicConnectiongetConnection(){

try{

Class.forName(driverName);

returnDriverManager.getConnection(url,user,password);

}

catch(Exceptione){

e.printStackTrace();

returnnull;

}

}

}

2.数据查询与更新管理类DBSQLManager.java。

通过调用类DBConnectionManager的getConnection类获得一个连接,然后由该连接得到一个声明Statement。

用此声明可以用于后面sql语句的执行,并将结果集写入DBSQLManager的ResultSet属性之中。

3.javabean。

在本系统中使用了三个javabean,分别是Goods,Orders,Orders_Detail。

其中Goods用于记录物品的基本信息,主要用于存储并传递表Goods中的记录内容。

orders则是用于存储并传递表Orders中的记录内容。

Orders_Detail则是用于存储和传递ordersDetail表里的记录。

Javabean的详细代码可以查看netShop\src文件夹里的java文件。

4.系统模块:

商品管理模块系统流程图

 

商品分类管理模块系统流程图

 

订单交易模块

 

七、总结

1)本来开发本系统打算使用的数据库是sqlserver,但是jsp网页连接sqlserver一直出现问题,不得不改用了比较不熟悉的mysql。

因此也使得整个系统不太完善。

2)本项目具有实际帮助如今中小企业开动网上销售的意义,且软件系统开发可实现;

3)具体更改设想尚不完全具体的保护,机制,交易,支付等环节,尚未有具体单位招标,或者具体的实施时间与方式地点,所以暂时忽略这一步骤;

4)本次开发没能先利用有经验的开发过程,导致开发过程中,浪费了很多其实是可以直接拿来借鉴的部分,所以以后应该吸取经验教训。

这样不但得到了前面已有作品的开发思想,还接受了项目的开发用时,省了时间就是增加了效率,故以后应该多做开发前期工作。

 

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

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1