资源描述
目录
1 引言 - 3 -
2 需求分析 - 3 -
2.1 项目规定 - 3 -
2.2系统功能设计 - 3 -
2.2.2 电子商城系统总用例图 - 4 -
2.2.3 模块划分 - 4 -
2.2.4 系统功能构造图 - 6 -
2.3 流程图 - 6 -
2.4 数据字典 - 7 -
2.5 数据库设计 - 9 -
2.6 系统性能需求 - 13 -
3 总体设计 - 14 -
3.1系统功能设计 - 14 -
3.1.1前台普通顾客功能设计 - 15 -
3.1.2 后台管理员功能设计 - 15 -
3.2编程环境选取 - 16 -
4 详细设计 - 16 -
4.1 Web 服务器环境搭建 - 16 -
4.2实现数据库 - 16 -
4.3 实现数据库连接 - 17 -
5 系统功能实现与测试 - 17 -
5.1系统测试 - 17 -
5.2 系统实现 - 18 -
5.2.1系统前台页面及功能 - 18 -
5.2.2后台管理员功能界 - 21 -
结束语 - 24 -
参 考 文 献 - 25 -
电子商城系统设计与实现
(德州学院计算机系,山东德州 253023)
摘 要:随着计算机技术不断发展,网上购物已经越来越普遍了,运用电子商城系统完毕网上购物给网上购物者带来了极大以便。本系统基于JSP+Tomcat+MySQL平台,重要完毕对所购商品管理,不同顾客可以依照自己喜好选取不同商品,然后对商品进行不同操作,涉及把商品添加到购物车,将商品从购物车中删除,订单管理,以及留言管理等功能。本电子商城具备操作简便、界面和谐、功能完善、以便移植等特点,可以较好完毕顾客对商品管理。
核心字:电子商城系统;JSP;Tomcat;MySQL
1 引言
随着web技术不断发展,网上购物在商务中发挥了强大作用。使用电子购物系统对购物信息进行管理,具备着手工购物所无法比拟长处,例如:足不出户、查看以便、存储量大、保密性好、、成本低等。这些长处可以极大地提高信息管理效率,也是满足了购物者购物需求。本系统采用JSP+MySQL模式,结合必要有关系统、产品与工具,来实现对购物管理系统开发。使该电子商务管理系统具备运营安全可靠、便于应用、可维护性好等特点,并且具备良好扩展性,能良好共享系统中数据。
2 需求分析
2.1 项目规定
本电子商务系统详细功能需求如下:
(1)顾客可以以便注册与登录。
(2)顾客可以灵活将所所需商品信息及理解特价商品信息。
(3)顾客可以以便管理自己购物车(添加或删除选购商品,修改购买数量及在线下订单等操作)。
(4)顾客可以反馈自己意见和留言。
(5)商品管理员可以以便管理商品及特价商品信息(新增,伤处,修改商品及特价商品)。
(6)订单管理员可以以便查看订单,发货与缺货解决。
(7)会员管理员可以以便查看顾客反馈信息及详细状况。
(8)系统管理员可以以便进行系统顾客管理(新增,删除,修改系统顾客)。
2.2系统功能设计
2.2.1 系统功能描述图
如图1所示,依照系统总体需求得到系统后台功能描述图,这个图是本系统最基本模型。
普通管理员:
1. 会员管理员 查看会员详情以及对会员添加与删除
2. 订单管理员 查看详细订单、受理订单以及删除订单
3. 商品管理员 对商品及特价商品分类、添加、删除
系统数据库
系统管理员:添加(删除)会员管理员、添加(删除)订单管理员、添加(删除)商品管理员
图1 功能描述图
2.2.2 电子商城系统总用例图
图2 电子商城系统总用例图
2.2.3 模块划分
(1) 顾客注册、登录模块
顾客可以通过填写注册信息注册成为会员,会员登录后才干进行购物车管理与意见反馈,未登录会员或未注册顾客只能检索与浏览商品信息。
(2) 商品检索、浏览模块
顾客可以依照不同商品种类浏览商品信息(如商品名称、商品图片、商品型号、价格、生产厂商、生产日期等),也可以输入核心字进行商品检索。
(3) 特价商品检索、浏览模块
顾客可以依照不同商品种类浏览特价商品信息(如商品名称、商品图片、商品型号、价格、生产厂商、生产日期等),也可输入核心字进行特价商品检索。
(4) 购物车模块
顾客输入账号与密码登录后便可以进行购物车管理,如将选中商品放入购物车、修改选购商品数量、删除购物车上商品、在线下订单及订单查看等。
(5) 顾客反馈信息、留言模块
顾客登录成功后,进入反馈信息填写页面,可刊登自己意见或留言,经验证有效方可提交。
(6) 后台登陆模块
系统管理员输入账号和密码可以在后台登录,登录验证模块依照输入账号和密码辨认不同角色管理员,然后进入不同后台管理模块,账号或密码输入错误后给出错误提示并规定重新输入。
(7) 商品管理模块
商品管理员可以查看商品种类和信息,她可以新增、修改、删除商品种类和商品。
(8) 特价商品管理模块
商品管理员可以查看商品种类和信息,也可以新增、修改、删除商品种类和特价商品。
(9) 订单管理模块
订单管理员登录后,可以依照日期范畴、订单完毕状态、订单编号等获得订单列表与查看某订单详情,也可以修改订单完毕状态及订单中商品或数量,还可以删除订单自身及订单中商品。
(10) 会员管理模块
会员管路员登录后,可以依照注册时间范畴、会员级别及会员ID获得会员列表,然后对某个会员可以进行 详细资料查看、级别调节与删除操作;也可以依照留言时间范畴、回答状态及会员ID获得留言列表,然后对某个留言进行内容查看、回答及删除操作。
(11) 系统顾客管理模块
系统管理员登录后,可以依照顾客列表进行顾客详细资料查看、新增顾客、修改顾客与删除顾客操作。
创立商品管理员
2.2.4 系统功能构造图
商品管理
后台管理员模 块
创立系统管理员
创立订单管理员
订单管理
创立会员管理员
会员管理
功能模 块
商城首页
对购物车里商品进行订单受理
购物车管理
客户 登 陆 模 块
查看(删除)所选购商品
订单管理
顾客对商品评价
顾客留言
顾客对自己资料修改
修改个人资料
图3 系统功能构造图
2.3 流程图
通过对系统流程分析可得到该系统流程图,如图4、5所示。
图4 前台流程图
图5 后台流程图
2.4 数据字典
数据字典是关于数据信息集合,也就是对数据流图中包括所有元素 定义集合,本系统数据字典卡片如下:
名字:会员级别信息
描述:会员级别信息
定义:会员级别基本信息=ID号+级别名称+优惠比例
位置:在数据库memberlevel表中
名字:注册会员信息
描述:会员基本信息
定义:会员基本信息=ID号+会员级别ID+登录账号+登录密码+真实姓名+联系电话+联系地址+邮政编号+注册日期+近来登录日期+登录次数+电子邮箱
位置:在数据库member表中
名字:商品类别信息
描述:商品类别基本信息
定义:商品类别基本信息=ID号+类别名称+类别描述
位置:在数据库category表中
名字:商品信息
描述:商品基本信息
定义:商品基本信息=ID号+商品类别ID+商品名称+商品价格+商品特价+商品型号+商品图片+商品描述+生产厂家+出厂日期+有无特价
位置:在数据库merchandise表中
名字:购物车商品选购信息
描述:购物车商品选购基本信息
定义:购物车商品选购信息=ID号+购物车ID+商品ID+商品数量+商品价格+金额
位置:在数据库cartselectedmer表中
名字:购物车信息
描述:购物车基本信息
定义:购物车信息=ID号+会员ID+商品ID+总金额+购物车状态
位置:在数据库cart表中
名字:订单信息
描述:订单基本信息
定义:订单信息=ID号+会员ID+购物车ID+订单日期+订单状态
位置:在数据库orders表中
名字:留言信息
描述:留言基本信息
定义:留言信息=ID号+会员ID+管理员ID+留言标题+留言内容+留言日期+回答内容+回答日期
位置:在数据库leaveword表中
名字:系统顾客信息
描述:系统顾客基本信息
定义:系统顾客信息=ID号+管理员类型+管理员真实姓名+管理员登录账号+管 理员登录密码
位置:在数据库admin表中
2.5 数据库设计
在开发一种信息系统时,一种贯穿于整个开发过程问题就是数据存储以 及对数据操作。数据普通存储在数据库中,因而,数据库设计是信息系统设计重要工作。数据库作用在于组织和表达信息,简而言之,数据库就是信息集合。计算机数据库可以分为两类:非关系数据库和关系数据库。关系数据库中包括了各种数据表信息,数据库具有各个不同某些术语。
本系统对系统数据规定:数据录入和解决精确性和实时性;数据一致性与完整性;数据共享性与独立性。依照上面三种规定并结合实际状况,该系统数据库采用是MySQL。它是当前流行关系数据库中一种,相比其他数据库管理系统(DBMS)来说,当前MySQL被广泛地应用在Internet上中小型网站中。由于其体积小、速度快、总体成本低,特别是开放源码这一特点,许多中小型网站为了减少网站总体成本而选取了MySQL作为网站数据库。
本系统数据逻辑构造如下表:
表1 admin表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
AdminType
int
管理员类型
AdminName
Char(12)
管理员真实姓名
LoginName
char(12)
登录账号
LoginPwd
char(12)
登录密码
表2 memberlevel 表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
LeveName
Char(20)
级别名称
Favourable
int
优惠比例
表3 cartselectedmer表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID 号
Cart
int
FK Not Null
购物车ID
Merchandise
int
FK Not Null
商品ID
Number
int
商品数量
Price
Decimal(8,2)
商品价格
Money
Decimal(8,2)
金额
表4 category表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
CateName
Char(20)
类别名称
CateDase
Text
类别描述
表5 member表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
Memberlever
int
FK Not Null
会员级别ID
LoginNme
Char(12)
登录账号
LoginPwd
Char(12)
登陆码
MemberName
Char(20)
真实姓名
Phone
Char(15)
联系电话
Address
nvarchar(100)
联系地址
Zip
Char(10)
邮政编码
RegDate
detetime
注册日期
LastDate
detetime
近来日期
LoginTime
int
登陆次数
Email
Nvarchar(100)
电子邮箱
表6 cart表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
Member
int
FK NotNull
会员ID
Money
Decimal(9,2)
总金额
CartStatus
int
购物车状态
表7 orders表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
Member
int
FK NotNull
会员ID
Money
Decimal(9,2)
FK NotNull
购物车ID
Cart
int
购物车状态
OrderNO
Nchar(20)
订单编号
OrderDate
DateTime
订单日期
OrderStatus
int
订单状态
表8 leaveword表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
Member
int
FK NotNull
会员ID
Admin
int
FK NotNull
管理员ID
Title
Nchar(60)
留言日期
Content
Text
留言内容
LeaveDate
DateTime
留言日期
AnswerContent
Text
回答内容
AnswerDate
DateTime
回答日期
表9 merchandise表
字段名
字段类型
约束或索引
描述
ID
int
PK Not Null
ID号
Category
int
FK NotNull
会员ID
MerName
Nchar(40)
商品名称
Price
Decimal(8,2)
商品价格
SPrice
Decimal(8,2)
商品特价
MerModel
Nchar(40)
商品型号
Pictyre
varchar(100)
商品图片
MerDesc
text
商品描述
Manufacturer
nchar(60)
生产厂家
LeaveFactoryDate
datetime
出厂日期
Special
int
有无特价(0:有 1:无)
2.6 系统性能需求
为了保证系统可以长期、安全、稳定、可靠、高效运营,系统应当满足以 下性能需求:
(1)系统解决精确性和及时性。系统解决精确性和及时性是系统必然规定。在系统设计和开发过程中,要充分考虑系统当前和将来也许承受工作量,使系统解决能力和响应时间可以满足信息解决需求。
(2)系统开放性和系统可扩充性。系统在开发过程中,应当充分考虑后来可扩充性。例如数据表中顾客选取字段方式变化,顾客查询需求也会不断更新和完善。所有这些,都规定系统提供足够办法进行功能调节和扩充。而要实现这一点,应通过系统开放性来完毕,即系统应是一种开放系统,只要符合一定规范,可以简朴加入和减少系统模块,配备系统硬件。通过软件修补、替代完毕系统升级和更新换代。
(3)系统易用性和易维护性。要实现这一点,就规定系统应当尽量使用顾客熟悉术语和中文信息界面。针对顾客也许浮现使用问题,要提供足够多在线协助,缩短顾客对系统熟悉过程。
(4)系统数据规定。数据录入和解决精确性和实时性;数据一致性与完整性;数据共享性与独立性。
(5)系统运营环境规定。该系统规定运营在Tomcat+JSP+MySQL环境下,依照软件工程原理,结合面向对象办法开发完毕。
3 总体设计
(1)本电子系统采用基于MVC模式Struts框架,将展示层、控制层、业务逻辑层进行合理分离,所使用Struts版本为struts1.2。用到Struts MVC组件有表格显示标签DisplayTag标签库,Struts Menu菜单框架,其中Struts Menu是为基于JSP和Struts应用程序提供Web菜单框架,菜单可以在一种XML文献或数据库中定义,通过JSP标签来使用。在Struts1.2中通过应用Log4j实现日记操作,通过应用Validator框架实现表单数据验证,通过应用Struts标签库来简化Struts试图组件开发。
(2)本电子系统采用基于ORM(对象-关系映射)模式Hibernate框架,从而完毕对数据持久化操作。其中Hibernate是对JDBC做了一种轻量级封装,亦可用JDBC直接访问数据库。通过使用Hibernate中间件,便可以将此前三层模型(表达层、业务逻辑层和数据库层)修改成四层模型(表达层、业务逻辑层、持久层和数据库层)。所使用数据库查询语言为HQL,即Hibernate查询语言,由于SQL语言采用是构造化查询方式,而HQL语言是一种面向对象查询语言,可以查询以对象形式存在数据。
(3)本系统采用AJAX(异步JavaScript和XML),使顾客祈求与服务器响应异步化。这样把此前某些服务器承担工作转交给客服端,运用客户端闲置解决能力来解决,减轻服务器和带宽承担。同步使用了JSON-RPC组件,运用它内置一种轻量JSON-RPC JavaScript客服端,可以透明地在客服端JavaScript中调用服务器端Java代码。
3.1系统功能设计
该电子商城系统分为前台与后台,前台页面只供普通顾客访问,且必要注册成为会员后才可购物;后台页面只有管理员才干访问。这些前台与后台页面负责与顾客交互,接受顾客通过浏览器传来数据祈求,并将祈求传给数据库,同步将祈求解决成果通过浏览器呈现给顾客。因此本设计重要涉及两个方面,前台普通顾客功能设计和后台管理员功能设计。
3.1.1前台普通顾客功能设计
普通顾客在登录前台首页后,通过注册成为会员,方可有关进行操作,其中涉及:搜索商品、购物车管理、订单管理、顾客留言和修改个人资料。
(1)搜索商品。通过搜索功能迅速查找商品。
(2)购物车管理。顾客输入账号与密码登录后便可以进行购物车管理, 如将选中商品放入购物车、修改选购商品数量、删除购物车上商品、在线下订单及订单查看等。
(3)在线留言管理。顾客登录成功后,进入反馈信息填写页面,可刊登自己意见或留言,经验证有效方可提交。
(4)修改个人资料。顾客登录成功后,可以通过修该注册资料模块来修改自己资料。
3.1.2 后台管理员功能设计
管理员在登录后台页面后,可以依照不同权限来管理不同模块。其中包 括:对商品管理、订单管理、会员管理和系统顾客管理。
(1)商品管理员在登录后台页面后,可以查看商品(特价商品)种类和信息,她可以新增、修改、删除商品(特价商品)种类和商品(特价商品)。
(2)订单管理员在登录后台页面后,可以依照日期范畴、订单完毕状态、订单编号等获得订单列表与查看某订单详情,也可以修改订单完毕状态及订单中商品或数量,还可以删除订单自身及订单中商品。
(3)会员管理员在登录后台页面后,可以依照注册时间范畴、会员级别及会员ID获得会员列表,然后对某个会员可以进行 详细资料查看、级别调节与删除操作;也可以依照留言时间范畴、回答状态及会员ID获得留言列表,然后对某个留言进行内容查看、回答及删除操作。
(4)系统顾客管理员在登录后台页面后,可以依照顾客列表进行顾客详细资料查看、新增顾客、修改顾客与删除顾客操作。
3.2编程环境选取
Myeclipse 是一种开放源代码、基于java可扩展开发平台。它集成了对Spring、Struts、Hibernate等主流JavaEE组件开发插件支持,大大简化了JavaEE应用开发。
JSP(Java Server Pages)是由Sun公司在Java语言上开发出来一种动态网页制作技术,普通在整个JavaEE体系中充当展示层组件。将Java 代码按指定语法格式插入到HTML页面中,然后以.Jsp为后缀保存即可得到所需JSP页面。并且它具备良好可移植性,因而被大多数Web程序员所使用。
4 详细设计
4.1 Web 服务器环境搭建
通过前面一系列需求分析和概念构造设计后来,咱们初步明确了该电子商城系统逻辑构造和功能模块。接下来就是如何搭建一种Web服务器环境。
组建一种Tomcat+JSP+MySQL是系统运营首要条件。其中Tomcat是一种免费Servlet容器,它是Apache基金会Jakarta项目中一种核心项目,有Apache、Sun和其她某些公司及个人共同开发而成。本系统所使用Tomcat为Tomcat6.0来作为Web服务器。
MySQl是由MySQl AB公司开发、发布并支持全世界最流行开源SQL数据库管理系统,本系统采用MySQL5.0做数据库服务器。
本系统采用Java集成开发工具为Myeclipse,版本为Myeclipse7.5。
4.2实现数据库
MySQL数据库开发工具能汇集各种信息以供查询、存储和检索。MySQL长处在于它能用SQL语句对数据库进行修改、删除。为了更直观对数据库进行操作,就需要安装Navicat for MySQL。它是一种对MySQL操作可视化管理界面。通过Navicat for MySQL可以完毕对数据库进行操作,例如建立、复制、删除数据等等。使用Navicat for MySQL操作MySQL简朴易用,不用通过专门培训就可以让使用者不久适应。输入顾客名和密码后,用Navicat for MySQL浏览相应MySQL数据库,更直观查看数据库构造。
安装MySQL和Navicat for MySQL,并设立顾客名为root密码为894359,打开Navicat for MySQL并进行创立配备数据库,创立该系统单独数据库并命名为db_eshop。依照3.1数据库设计规定创立memberlevel,membe、category、merchandise、cartselectedmer、cart、orders、leaveword、admin等表,详细操作过程略。
4.3 实现数据库连接
在Hibernate配备文献hibernate.cfg.xml中配备JDBC连接,代码如下所示:
<!--配备JDBC连接属性-->
<property name="myeclipse.connection.profile">
MySQL_JDBC
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/db_eshop?useUnicode=true&characterEncoding=gb2312
</property>
<property name="connection.username">root</property>
<property name="connection.password">894359</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect </property>
5 系统功能实现与测试
5.1系统测试
系统测试重要是对程序各种错误、漏洞,进行了及时地、相应地解决。调试工作贯穿了整个设计过程。在程序编写中,及时发现并排除在系统分析,总体设计和编码等阶段所产生各种错误。
将Tomcat和MySQL安装在电脑上并启动,这样就组建了这个系统运营环境。将db_eshop.sql文献导入到MySQL数据库中,把项目Eshop文献夹拷贝到Tomcat安装目录webapps文献夹下,重新启动Tomcat服务器,在浏览器地址栏输入http://localhost:8080/Eshop,便进入到该电子商城系统。
5.2 系统实现
系统实现重要是对输入数据及输出数据进行详细实现并得到顾客可见界面。
5.2.1系统前台页面及功能
任何顾客在进入该系统后都会看到该页面,其中涉及会员注册和登录以及其他功能模块。
图6 主页
注册普通会员页面:
图7 注册页面
购物车管理页面截图:
图8 购物车管理页面截图
订单管理页面:
图9 订单管理页面
5.2.2后台管理员功能界
系统顾客管理员登录后有关页面截图。系统管理员登录后,可以依照顾客列表进行顾客详细资料查看、新增顾客、修改顾客与删除顾客操作。
图10 管理员列表
图11 新增管理员
商品管理员登录后有关页面截图。商品管理员可以查看商品(特价)种类和信息,她可以新增、修改、删除商品(特价)种类和商品(特价)。
图12 商品分类管理
订单管理员登录后有关页面截图。订单管理员登录后,可以依照日期范畴、订单完毕状态、订单编号等获得订单列表与查看某订单详情,也可以修改订单完毕状态及订单中商品或数量,还可以删除订单自身及订单中商品。
图13 订单管理列表
会员管理员登录后有关页面截图。 会员管路员登录后,可以依照注册 时间范畴、会员级别及会员ID获得会员列表,然后对某个会员可以进行 详细资料查看、级别调节与删除操作;也可以依照留言时间范畴、回答状态及会员ID获得留言列表,然后对某个留言进行内容查看、回答及删除操作。
图14 会员管理列表
结束语
通过两个星期学习和努力,咱们小组终于完毕了《电子商城系统》课程设计。从开始接到设计题目到设计基本完毕,从设计逐渐完善再到论文文章结束,每一步都是对咱们一种新挑战。通过查看有关资料和书籍,通过仔细思考和策划,原本模糊概念逐渐清晰,难题也被一一击破,使咱们作品一步步完善起来。
虽然咱们作品还不是很成熟,其中存有诸多局限性之处,但是咱们也切实体会到做设计必然会遇到许许多多新难题,通过这次课程设计咱们小组每一种成员都受益匪浅,做设计只要认认真真专心去做,难点都会一一解决。
通过这次课程设计,咱们收获不但仅是技术,更多是经验和做设计思想和心得。咱们会在后来学习中,不断提高自己技术水平,不断完善自己作品。
本次课程设计,要特别感谢咱们指引教师张建臣,同步还要感谢其她各组同窗协助。
参 考 文 献
[1]阮征 邹晨 鲍利剑.Web2.0动态网站开发技术与应用---Ajax[M]:清华大学出版社.
[2]卜炟.JSTL开发参照网络标签与SSH类参照手册[M]:中华人民共和国铁道出版社
[3]刘斌.Java Web整合开发[M]:电子工业出版社.
[4]梁胜民 肖新峰 忘占中. CSS+XHTML+JavaScript完全学习手册[M]:清华大学出版社.
[5]李绪成.JavaWeb开发教程——入门与提高篇[M]:清华大学出版社.
[7]徐明华.Java基本与案例开发详解[M]:北京大学出版社.
展开阅读全文