网上购物系统.docx
《网上购物系统.docx》由会员分享,可在线阅读,更多相关《网上购物系统.docx(38页珍藏版)》请在冰点文库上搜索。
网上购物系统
分类号单位代码
密级学号
课程名称信息系统分析与设计
题目
网上购物系统
摘要
伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们不再满足用途信息的浏览与发布,而是渴望能够充分享受网络带来的更多的便利,网络购物正适应了当今社会快节奏的生活,使顾客足不出户便可以方便快捷轻松的选购自己喜欢的商品。
本系统便是尝试用面向对象的设计方法设计网上购物系统是一个基于Internet,采用B2C(BusinesstoConsumers)[1]模式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。
它不但可以扩大商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。
本系统主要为用户提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为管理员提供了商品管理,用户信息管理等功能。
关键字:
面向对象;B/C;网上购物系统
目录
摘要I
1系统分析2
1.1系统可行性分析2
1.1.1管理可行性2
1.1.2技术可行性2
1.2需求分析2
1.2.1用例模型3
2系统设计与实现8
2.1系统功能结构图8
2.2系统设计8
2.3类设计13
2.4数据库设计13
2.5系统部署图16
3系统测试及难点分析18
3.1系统运行环境的搭建18
3.2系统程序的安装和加载19
3.3系统评价20
4总结21
参考文献22
1系统分析
.
电子商务已经成为商家在市场上获得成功和生存的必要条件。
仅就中国的情况而言。
1.1系统可行性分析
1.1.1管理可行性
随着Internet的发展,现在网络已经深入千家万户,而且中国的电子商务正向着良好的发展方向阔步前进,为了追求最大的利润和信息现代化的需要,领导都愿意实施信息化建设。
1.1.2技术可行性
技术的发展使整个社会的方方面面处于信息相互关联状态同时也面临降低成本提高管理,服务水平的应用需求。
选择合适的开发模式,要充分考虑不断增长的管理及服务需求。
从技术层面看出B/S模式开发信息系统是当前业界探索的热点和追求的目标。
面向对象的理论和技术是当前较为先进的软件开发理论和技术。
1.2需求分析
系统业务流程如图.
图1.1系统业务流程
1.3用例模型
(1)参与者汇总
游客:
查看商品信息和注册成为会员
会员:
查看商品信息和购买商品,修改和个人信息等
管理员:
管理商品信息,管理用户信息等
(2)用例
本系统共有三类用户:
游客用户是指没有登录权限(主要是指网络用户),以匿名用户身份访问系统网站,此类用户主要有浏览系统信息、查看商品信息,注册成为会员,把本网站设为首页,添加到收藏夹,联系开发者,查看交款方式,退换货原则,配送范围,交易条款,保密协议等操作。
浏览的内容包括:
商品信息、商品分类信息。
商城会员:
这类用户拥有普通用户的所有权限;普通用户可以注册成为会员,并根据会员ID和密码登录系统,登陆之后可以对更改自己的信息但会员ID作为数据库表主键不能修改。
会员登录后可以查看商品信息,查看各种分类商品信息,将商品添加到购物车中。
修改购物车中商品数量,或是删除某些不想要的商品。
如果会员发现网城卡内余额不足还可以进行充值。
系统管理员:
系统管理员主要负责管理员系统后台信息;主要有订单管理,商品管理,会员管理,物流管理和系统管理。
订单管理有未确认订单和以确认订单管理。
商品管理主要有商品添加和商品管理,商品类别添加和商品类别管理。
会员管理主要有添加管理员和管理管理员,管理会员。
物流系统主要有支付方式添加和管理,配送方式添加和管理,配送地址添加和管理。
系统管理主要是上传管理。
(3)用例图
1)游客用例
图1.1游客用例图
2)会员用例图
图1.2会员用例图
3)系统管理员用例图
图1.3管理员用例图
(4)用力规格书
用例的事件流是对完成用例行为所需的事件的描述。
它描述网上购物系统的用户(普通用户\会员)\管理员实体在在进入该系统时应进行怎样的操作(用户浏览商品,添加购物车等功能),而不是描述系统中的实体应该怎样做(实体所进行操作的步骤)。
开始,只是对执行用例的常规流所需的步骤的简单描述。
随着分析的进行,通过添入更多的详细信息,步骤不断细化。
最后,将备选流添加到用例的事件流描述中。
网上购物系统的用例事件流描述如下:
用例编号
US01
用例名
RegisterUserInfo
用例描述
用户通过注册个人信息系统自动将其添加到数据库中
参与者
用户
前置条件
能够成功的登陆,并且数据库中不存在这位用户的信息
后置条件
用户能够成注册并进行对网上购物系统的操作。
基本路径
(1)用户在登陆页面点击注册按钮并在注册页面输入个人基本信息。
(2)用户的基本注册信息包括有—编号,姓名,性别,年龄,身份证号,家庭住址,E-mail,电话等基本信息
(3)用户在注册页面输完个人的基本信息后点击添加按钮,则系统会将所添加的信息发送到数据库中
(4)注册成功后系统会提示信息注册成功,则用户就可以查看个人的基本信息。
用例编号
US02
用例名
logIn
用例描述
完成一次登陆的完整过程
参与者
用户、系统管理员、会员
前置条件
系统运行正常
后置条件
如果登录成功,可以进行查询等相关操作。
基本路径
(1)用户希望通过网上购物系统进行某一项操作。
(2)用户首先进入登录系统页面,在登录页面LoginFrame用户通过输入自己的用户名和密码后并提交。
(3)系统将用户提交的用户名和密码传递到的Control类中检查用户合法身份的方法中,系统并与数据库中用户的基本信息进行比较并作出相应的判断。
(4)检查通过,将验证结果返回到登录界面并验证用户的基本信息已经通过。
(5)用户在登录界面获得验证结果后则用户就可以进入所要查询的用户信息的其他相关页面。
用例编号
US03
用例名
QueryUserInfo
用例描述
用户可以根据个人的编号可以进行个人信息的
参与者
用户、系统管理员、会员
前置条件
用户通过输入姓名和密码能够成功进入查询页面
后置条件
如果该用户成功进入登陆页面,则用户就可以成功的查询—编号,姓名,性别,年龄,身份证号,家庭住址,E-mail,电话等所要查询的信息。
用例编号
US04
用例名
AddCart
用例描述:
用户将所查看并决定购买的商品添加到购物车中。
参与者
用户
前置条件
网上购物系统能够的前台能够运行正常
后置条件
如果用户登录成功,则用户就可以进行浏览商品并添加购物车等相关操作。
基本路径
(1)用户希望通过网上购物系统进行购物车的添加操作。
(2)用户首先进入登录系统页面输入用户名和密码进入商品信息页面进行查看商品信息并添加购物车。
(3)当用户点击添加购物车的按钮时系统会将用户所提交的信息提交,并进行判断用户的提交商品信息类型。
(4)检查通过,系统将商品信息添加到购物车里。
(5)当用户添加成功后,系统会反馈给用户提示信息,弹出对话框告诉用户已经添加成功。
用例编号
US05
用例名
AddOrder
用例描述
当用户需要购物购物车里的商品时用户通过提交订单进行网上支付。
参与者
用户
前置条件
网上购物系统能够的前台能够运行正常
后置条件
如果用户成功添加购物车,则用户就可以进行添加订单的信息并进行网上支付等相关操作
基本路径
(1)用户希望通过购买已经添加到购物车中的商品就必须填写订单等相关的操作。
(2)用户首先通过购物车的页面点击填写订单按钮
(3)当用户填写完订单的相关信息后进行添加。
(4)当用户添加成功后,系统会反馈给用户提示信息,弹出对话框告诉用户已经成功提交订单信息。
用例编号
US06
用例名
AddGoodsInfo
用例描述
系统管理员将商品的的信息添加到数据库中
参与者
系统管理员
前置条件
能够成功的登陆,并且数据库中不存在这个类型的商品信息
后置条件
系统管理员能够成功添加商品的信息,
基本路径
(1)系统管理员成功登陆后进入添加商品信息信息页面将信息进行添加
(2)系统管理员可以添加商品的信息有—商品编号,商品名称,类别,价格,图片(image),商品上传日期等基本信息
(3)管理员在添加页面输完商品的基本信息后点击添加按钮,则系统会将所添加的信息发送到数据库中
(4)添加成功后系统会提示信息添加成功,则管理员就可以查看商品的基本信息。
2系统设计
2.1系统功能结构图
层次模块结构是将系统分为若干子系统,子系统划分为若干的模块。
模块是具有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。
在结构化设计中,模块一般都是按功能划分的通常称为功能模块。
合理的功能模块的划分能够极大限度地减重复劳动、提高开发工作量的效率并增大系统的可维护性。
在系统分析基础上,将系统分为俩大模块,即前台模块和后台模块。
网上购物系统功能结构如图4.1所示。
图2.1网上购物系统功能结构
2.2系统设计
2.1.1类图设计
图2.2系统类图
2.2.2系统动态结构分析
根据需求分析创建的系统用例图,我们主要创建如下4个时序图:
管理员\用户登录,用户注册(Register)和用回信息修改
1)用户注册个人信息的工作流程:
1.用户进入登录页面,,在登陆页面点击注册则用户即可进行注册个人信息。
2.系统将用户提交的个人注册信息提交给Servlet类并进行验证处理。
3.如果提示添加成功,则用户就可以在登录页面输入用户名和密码进行登录,否则用
户将重新注册或退出。
根据基本流程图,用户注册个人信息的序列图如下所示
图2.3用户注册序列图
2)用户登陆网上购物系统的工作流程序列图:
1.用户登录系统,在登陆页面login用户名和密码并提交。
2.系统将用户提交的用户名和密码传递到control页面中检查用户的身份是否合法(将用户信息与数据库中的用户信息进行比较,检查用户信息是否存在).
3.检查完毕后将验证结果返回到登陆页面上显示。
4.用户在登陆页面获得验证结果,如果用户身份未通过,重新登录或退出。
否则继续选择下一步操作。
根据基本流程,用户登录系统的序列流程图如图所示:
图2.4用户登录系统的序列流程图
3)用户修改个人信息的工作流程序列图:
1.用户进入修改个人信息页面AddForm,并在界面中提交个人信息。
2.界面AddForm管理员提交的个人信息传递给控制对象Control。
3.控制对象向数据库中插入新修改的个人信息的数据。
4.控制对象将修改个人信息成功的信息返回到界面AFrom并提示用户修改成功。
根据基本流程,用户修改个人信息的序列图如下:
图2.5用户修改个人信息
4)管理员登陆网上购物系统的序列工作流程图:
1.管理员登录系统,在登陆页面login用户名和密码并提交。
2.系统将管理员提交的用户名和密码传递到control页面中检查管理员的身份是否合法(将管理员信息与数据库中的用户信息进行比较,检查管理员信息是否存在).
3.检查完毕后将验证结果返回到登陆页面上显示。
4.管理员在登陆页面获得验证结果,如果用户身份未通过,重新登录或退出。
否则继续选择下一步操作。
根据基本流程,系统管理员登陆网上购物系统的序列图如下:
图2.6系统管理员登陆网上购物系统的序列图
2.3系统流程设计
1)前台购物流程如图2.7所示
登录
图2.7前台购物流程图
用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,这时需要进行判断,如果是没有注册的用户,那么系统跳到注册页面,如果是注册了没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后去收银台结帐,然后提交订单。
2)注册功能流程如图2.8所示
注册成功
图2.8注册功能流程图
注册的具体实现为:
点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。
3)商品搜索流程如图2.9所示
否
图2.9商品搜索流程图
商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。
用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。
并且能列出通过搜索得到的商品的详细信息。
4)用户登录流程如图2.10所示
否
图2.10用户登陆流程图
用户登录,首先要有一个提供用户登录的表单。
用户登录的表单应该嵌入整体的结构当中。
在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。
首先,用户要有一个用户名和密码。
商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。
同时对密码也要求保密,将密码加密后再存入数据库。
另外,一个电子商务网站。
用户的真实姓名是必不可少的。
除此之外还需要用户的性别、E-MAIL、电话号码等。
否
5)商品管理流程如图2.11所示
图2.11商品管理流程图
在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。
并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。
6)购物车流程如图2.12所示
购物车具体的实现可采用这种形式:
定义一个购物车的类(Class)。
1.列出商品的列表,使用户能够自由选择所需要的商品。
2.当用户在点击“添加到购物车”的链接时,执行如下功能:
检查用户购物车类是否存在。
如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。
如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。
否
图2.12购物车流程图
2.4类设计
实体类:
商品信息,会员信息,管理员信息,物流信息类
控制类:
购物类,购物车类,显示商品类,搜索类,商品管理类,物流管理类,会员管理类,退货类:
边界类:
系统主界面,注册界面,登陆界面,购物单界面,结账界面,退货界面等
2.5数据库设计
系统管理员表(tb_Admin):
管理系统管理账号和密码的表,主要属性有:
用户名和密码,系统管理员根据用户名密码登陆后台系统。
tb_Admin
字段名
数据类型
长度
主外键
字段说明
备注
AdminID
Varchar
32
主键
管理员ID
非空
Password
Varchar
32
无
管理员密码
非空
会员区域表(tb_Area):
网站会员购物地点,主要属性有:
AreaID,AreaKM,系统可以根据会员区域表收取会员需要运输商品的运输费。
tb_Area
字段名
数据类型
长度
主外键
字段说明
备注
AreaID
Varchar
50
主键
区域ID
非空
AreaKM
Varchar
50
无
送货距离
无
会员购物信息表(tb_BuyInfo):
会Sum信息统计表,主要属性有:
BuyID,GoodsID,Num,SumPrice,McmberID
tb_BuyInfo
字段名
数据类型
长度
主外键
字段说明
备注
BuyID
Varchar
50
主键
购物单号
非空
GoodsID
Varchar
50
无
商品ID
无
Num
Int
32
无
商品数量
无
OrderID
Varchar
50
无
订单号
无
SumPrice
Varchar
50
无
总价格
无
MemberID
Varchar
50
外键
会员ID
无
商品类别表(tb_Class):
商品类别显示表,主要属性有:
ClassID,GategoryUrl。
主要管理所有商品种类及其简易图标。
tb_Class
字段名
数据类型
长度
主外键
字段说明
备注
ClassID
Varchar
50
主键
商品种类ID
非空
GategoryUrl
Varchar
50
无
商品标识表
无
商品信息表(tb_GoodsInfo):
商品信息表主要负责存储商品名称,商品类别,商品图标,商品图片,商品价格,商品重量等信息。
主要属性有:
GoodsID,ClassID,GoodsIntroduce,GoodsBrand,GoodsUnit,GoodsWeight,GoodsUrl,MarketPrice,MemberPrice,Isrefinemen,IsHot,AddDate,IsDiscount。
tb_GoodsInfo
字段名
数据类型
长度
主外键
字段说明
备注
GoodsID
Varchar
50
主键
商品名称
非空
ClassID
Varchar
50
外键
商品类别
非空
GoodsIntroduce
Text
250
无
商品介绍
无
GoodsBrand
Varchar
50
无
商品品牌
无
GoodsUnit
Varchar
50
无
商品计数单位
无
GoodsWeight
Float
16
无
商品重量
无
GoodsUrl,
Varchar
50
无
商品图片地址
无
MarketPrice
Float
16
无
商品市场价格
无
MemberPrice
Float
16
无
商品会员价格
无
Isrefinemen
Bool
1
无
是否精品
无
IsHot
Bool
1
无
是否热销
无
AddDate
Datetime
32
无
上传日期
无
IsDiscount
Bool
1
无
是否特价
无
商品图片表(tb_Image):
商品图片表,主要用来存储商品的图片,主要属性有:
ImageID,ImageName,ImageUrl。
tb_Image
字段名
数据类型
长度
主外键
字段说明
备注
ImageID
Varchar
50
主键
商品图片ID
非空
ImageName
Varchar
50
无
商品图片名称
无
ImageUrl
Varchar
50
无
商品图片地址
无
商品信息表(tb_Member):
会员信息表,主要用来存储会员的一些基本信息,如会员ID,会员性别,会员密码,会员真实名字,会员联系方式(电话号码、E-mail,所在城市、邮政编码等),现有RMB,上一次登录时间,主要属性有:
MemberID,Sex,Password,Truename,,Phonecode,Emails,City,Address,Postcode,AdvancePayment,LoadDate.
tb_Member
字段名
数据类型
长度
主外键
字段说明
备注
MemberID
Varchar
50
主键
会员名称
非空
Sex
Bit
1
无
性别
非空
Password
Varchar
50
无
会员密码
无
Truename
Varchar
50
无
真实姓名
无
Phonecode
Varchar
50
无
电话号码
无
Email
Varchar
50
无
Email
无
City
Varchar
50
无
所在城市
无
Address
Varchar
200
无
地址
无
Postcode
Varchar
10
无
邮政编码
无
AdvancePayment
Varchar
50
无
现有RMB
无
LoadDate
Datetime
32
无
上次登录时间
无
订单信息表(tb_OrderInfo):
订单信息表主要用来存储会员每次订单信息,主要属性有:
OrderID,OrderDate,GoodsFee,TotalPrice,ShipFee,ShipType,PayType,MemberID,ReceiverName,ReceiverPhone,
tb_OrderInfo
字段名
数据类型
长度
主外键
字段说明
备注
OrderID
Varchar
50
主键
订单ID
非空
OrderDate
DataTime
32
无
订单提交日期
无
GoodsFee
Varchar
50
无
商品价格
无
TotalPrice
Varchar
50
无
商品总费用
无
ShipFee
Varchar
50
无
运输费
无
ShipType
Varchar
50
无
运输方式
无
PayType
Varchar
50
无
付款方式
无
MemberID
Varchar
200
无
会员ID
无
ReceiverName
Varchar
50
无
接收人名字
无
ReceiverPhone
Varchar
50
无
接收人电话
无
购物车信息表(tb_ShopCart):
主要负责存储会员临时添加一些商品,主要属性:
CartID,GoodsID,Number,MemberPrice,MemberID,GoodsWeight。
tb_ShopCart
字段名
数据类型
长度
主外键
字段说明
备注
CartID
Varchar
50
主键
邮寄ID
非空
GoodsID
Varchar
50
外键
邮寄方式
非空
Num
Int
50
无
购买数量
非空
MemberPrice
Float
16
无
会员价格
非空
MemberID
Varchar
50
外键
会员ID
非空
GoodsWeight
Float
16
无
商品重量
非空
2.6系统部署图
3系统实现与测试
3.1用户登陆模块的实现
主页面的效果图如下图3-1所示:
图3-1主页面示意图
注册页面的效果图如下图3-2所示:
图3-2注册页面示意图
系统对用户的注册信息的验证实现如下:
用户输入的各项信息分别对应字段
先判断用户名是否为空request.getParameter("