网上购物系统需求分析.docx
- 文档编号:3977653
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:19
- 大小:1.47MB
网上购物系统需求分析.docx
《网上购物系统需求分析.docx》由会员分享,可在线阅读,更多相关《网上购物系统需求分析.docx(19页珍藏版)》请在冰豆网上搜索。
网上购物系统需求分析
4.4数据库的分析
经过分析需要建立以下几个表。
管理员的信息表:
用来存放管理员的信息,如表1所示;用户信息表:
用来存放来自用户的基本信息,如表2所示;顾客留言信息表:
用来存放顾客留言的内容,如表3所示;商品信息表:
用来存放商品的信息,如表4所示;订单表:
用来存放顾客填写订单的详细信息以便向顾客发送商品,如表5所示;导购车表:
用来存放顾客购买商品的信息,如表6所示。
数据字典具体如下:
表1管理员的信息表(admin)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
管理员的惟一标识设置为主键
2
adminame
文本
30
管理员的姓名
3
admipass
文本
30
管理员的密码
表2用户的基本信息表(curr)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
用户的惟一标识,设置为主键
2
Usename
文本
30
用户的登录名
3
Usepass
文本
30
用户的登录密码
4
Name
文本
30
用户的真实姓名
5
Selectsex
文本
4
用户的性别(0为男,1为女)
6
address
文本
50
用户的公司或单位地址
7
useaddr
文本
50
用户的家庭住址
8
Postcode
文本
10
用户的邮编
9
Usetel
文本
15
用户的电话
10
usemail
文本
30
用户的电子邮箱
表3顾客留言信息表(reviewadd)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
usename
文本
30
顾客的用户名
3
文本
20
顾客的电子邮箱
4
time
日期/时间
顾客留言时间
5
Pj
文本
5
顾客对灵捷购物城的满意程度
6
reviewadd
文本
250
顾客留言的内容
表4商品信息表(product)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
pname
文本
30
物品的名字
3
pnumber
文本
5
商品代号
4
pwpjj
文本
250
商品简介
5
Ptype
文本
30
商品类别
6
Pprice
文本
30
商品单价
7
picture
文本
50
商品图片
表5订单信息表(dind)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
usename
文本
30
用户登录名
3
name
文本
30
购物者的真实姓名
4
Tel
文本
15
购物者的电话
5
Postcode
文本
10
购物者的邮编
6
address
文本
50
购物者的地址
7
time
日期/时间
购物者提交订单的时间
表6导购车信息表(goods)
序号
字段名
数据类型
长度
描述
1
ID
自动编号
惟一标识,设置为主键
2
pname
文本
30
购物车中商品名字
3
pprice
文本
20
商品的总价
4
time
日期/时间
放入导购车的时间时间
5
usename
文本
30
用户名
6
pn
文本
250
商品的件数
5 系统模块的实现
5.1登录/注册的具体实现
注册用户模块由普通用户登录页面、登录检测页面、注册页面、注册接收页面及各类浏览页面组成,它实现的各个功能亦让用户能方便地注册并进行购买。
系统主页面主要运用了一些Flash作品,如图5.1所示。
图5.1商城首页
5.1.1用户登录页面
登录模块主要是用来用户登录之后方便购买商品,如图5.2所示。
用户登录主要功能实现代码如下:
<%
login=request("login")
iflogin="登录"then
currname=trim(request.form("usename"))
currpass=trim(request.form("usepass"))
setrs=server.createobject("adodb.recordset")
//从数据库shoping中curr表选择与登陆名相同的记录
sql="select*fromcurrwhereusename='"&currname&"'"
rs.opensql,cn,1,1
//如果查询没到表尾则执行
ifnotrs.eofthen
//如果用户密码与获取到文本框的密码一致则用session记住用户名
ifcurrpass=rs("usepass")then
session("usename")=usename
response.redirect"all.asp"
//'密码不相符合,提示密码不正确
else
response.write"
_');"&"history.back()"&""
endif
else
//'记录到末尾,则提示数据库中不存在这个用户名
response.write"
');"
_&"history.back()"&""
endif
//点击的是"注册",则进入注册页面
Elseiflogin="注册"then
response.redirect"uselogin.asp"
endif
%>
图5.2登录界面
5.1.2用户注册界面
注册模块主要是用来为用户分配相应的权限,如图5.3所示。
注册主要功能实现代码如下:
//判断用户两次输入的密码是否一致
<%
……
elseiftrim(request.form("usepass"))<>request.form("usepasss")then
response.write"
');"&"history.back()"&""
……
%>
<%
……
//从文本框中获取信息
usename=request.form("usename")
…….
setrs=server.createobject("adodb.recordset")
sql="select*fromcurrwhereusename='"&usename&"'"
……
//向数据库(curr)表中插入注册信息
sq="insertintocurr(usename,usepass,name,selectsex,address,useaddr,postcode,usetel,usemail)
_values('"&usename&"','"&usepass&"','"&name&"','"&selectsex&"','"&address&"','"
_&useaddr&"','"&postcode&"','"&usetel&"','"&usemail&"')"
……
%>
图5.3注册界面
5.2商品模糊查找的具体实现
为了用户方便,主要利用商品名进行搜索,以下就对查找做详细介绍。
查找商品步骤:
请首先在箭头处输入你要查询的商品的商品名或商品号。
例如需要查找的商品是“浅绿色小西装”之后点击搜索按钮提交成功后将查看到关于商品的详细信息,商品名、商品号、商品单价、所属类型、详细介绍等,如图5.4和图5.5所示。
图5.4搜索商品界面
图5.5显示商品具体信息界面
商品主要是从数据库shoping.mdb中product信息表中查询得出,接下来我们就对查询商品主要功能代码进行介绍。
//搜索符合条件的商品
<%
spm=request.form("spm")
spxx=request.form("spxx")
ifspm=""then
response.write"
');"&"history.back()"&""
elseifspxx="商品名"then
sql="select*fromproductwherepnamelike'%"&spm&"%'"
elseifspxx="商品号"then
sql="select*fromproductwherepnumberlike'%"&spm&"%'"
endif
setrs=server.createobject("adodb.recordset")
rs.opensql,cn
num=rs.recordcount'符合条件的商品的件数
ifnum=rs.RecordCount=0then
Response.Write"此类商品暂无"
Response.End
endif
%>
//定义变量量num来判断搜索到的商品数量
<%num=0
dowhilenotrs.eof
num=num+1
%>
//搜索到的商品数量显示
//显示搜索到的商品信息
<%=rs("pname")%>
……
5.3导购车的具体实现
购物车是网上购物的核心部分。
没有登录的用户是不能在灵捷购物城中购买商品的。
当用户在系统的首页,或者在各查询页面中找到了自己喜欢的商品,并单击了“放入导购车”的超链接,那么就会弹出购物车页面,提示用户自己购买的商品的所有信息,包括数量、序号、商品名、单价、该类商品的价格,以及购物车中所有商品的总价,如图5.6所示。
图5.6导购车界面
购物车页面给出2个选项,一个是继续购物,一个是填写订单。
购物车使用了系统数据库的商品信息(product)表,引用了这个表的商品名、价格等字段,其中属性字段是用于查找和显示,而会员价字段则是用于计算购物的某类商品小计和整个购物车总值用的;其中“是否选购”字段是用于删除。
主要代码分析如下:
//首先运用session和变量user来判断用户是否登录
<%
user=session("usename")
//如果用户名为空则弹出一个对话框显示“对不起,您还没有登陆!
”
ifuser=""then
response.write"
');"&"history.back()"&""
//处理商品放入导购车环节
sl="insertintogoods(usename,pn,pprice,dind,pname)values('"&user&"',1,'"&pprice&"','"&pid&"','"&pname&"')"
//处理“继续购物”选项
//处理“填写订单”选项
//判断用户名是否为空,空则显示提示信息
if(Session("usename")="")then
response.write"
');"&"history.back()"&""
elseiftrim(request.form("name"))=""then
//判断文本框中是否输入真实姓名
alert("请输入你的真实姓名!
")
……
%>
//判断订单填写完成并插入到数据库(dingdan)表中,然后显示填写成功页面
<%
……
sal="insertintodingdan(usename,name,tel,postcode,email,address,dind)values('"&user&"','"&names&"','"&tel&"','"&postcode&"','"&email&"','"&address&"','"&dind&"')"
……
//转入到dindpay.asp页面
response.redirect"dindpay.asp"
endif;
cn.close
%>
//删除过期商品
<%
id=request.QueryString("id")
sql="deletefromgoodswhereid="&id
//执行sql语句
cn.executesql
//转入到另一个页面
response.Redirect("shop.asp")
%>
//下面就需要建立数据库的连接,同时打开数据库的连接。
<%
dimcn,strcom,rs
sql="dbq="&server.mappath("shoping.mdb")&";driver={microsoftaccessdriver(*.mdb)}"
setcn=server.createobject("adodb.connection")
cn.mode=3
cn.opensql
%>
图5.7填写订单界面
图5.8填写订单成功界面
5.4留言簿具体实现
留言模块主要是提供给访问灵捷购物城的顾客留下他们宝贵的意见,如图5.9所示。
图5.9留言簿界面
5.4.1留言信息的提交
留言信息的获取并把留言成功的信息放入到数据库(reviewadd)表中。
代码分析如下:
//获取留言文本框中的信息
<%
sname=request.form("sname")
……
//如果留言区不为空则把留言信息放入到数据库(reviewadd)表中
Ifrequest.form("reviewadd")<>""then
reviewadd=request.form("reviewadd")
//向reviewadd表中插入留言信息
sz="'"&sname&"','"&mail&"','"&time1&"','"&pj&"','"&reviewadd&"'"
sql="InsertIntoreviewadd(name,mail,time1,pj,reviewadd)Values("&sz&")"
cn.executesql
……
%>
5.4.2分页技术
为了使留言信息显示更加完美,在本页中采取了分页技术。
<%
//建立recordset对象,从reviewadd表中查询出留言内容
Setrs=Server.CreateObject("ADODB.Recordset")
strSql="Select*Fromreviewadd"
//如果记录集不是空的,就执行分页显示
IfNotrs.BofAndNotrs.EofThen
//下面一段判断当前显示第几页,如是第一次打开,为1,否则由传回参数决定
Dimpage_no
IfRequest.QueryString("page_no")=""Then
page_no=1
Else
//用Cint将字符串变为整数
page_no=Cint(Request.QueryString("page_no"))
EndIf
//下面一段开始分页显示,指向要显示的页,然后逐条显示当前页的所有记录。
//设置每页4条记录
rs.PageSize=4
//'设置当前显示第几页
rs.AbsolutePage=page_no
//该变量用来控制显示当前页记录
DimI
//循环直到当前页结束或记录集结尾
I=rs.PageSize
DoWhileNotrs.EofAndI>0
I=I-1
rs.MoveNext
Loop
//下面一段在下方显示页数信息,从1到总页数循环,如不是当前页,就加上超链接
Response.Write"
请选择数据页:
ForI=1Tors.PageCount
//如是当前页,就不加超链接
IfI=page_noThen
Response.WriteI&" "
//如不是当前页,就加上超链接
Else
Response.Write" page_no="&I&"'>" _&I&" " EndIf Next Else Response.Write"该记录集为空" EndIf %> 5.5后台的具体实现 管理员首页由于比较简单,它实现的仅仅是登录和进入到灵捷商城主页进行信息查看,至于具体的功能实现还需要其他页面来完成,所以在这里就不再多介绍了,它的页面如图5.10所示。 图5.11主要是用于后台显示商品的所有信息。 包括商品的图片、商品名、商品号、单价、所属于那一类型、商品的简介、另外还有操作项用于删除或添加商品。 图5.12主要用于管理员在后台向数据库shoping中product表中添加新的商品。 商品浏览以及添加/删除,主要代码如下: //浏览商品处理细节,从数据库(product)表中查询商品的信息并通过ID号按降序排列 <% setrrs=server.createobject("adodb.recordset") qq="Select*fromproductorderbyIDDESC" rrs.openqq,cn whilenotrrs.eof %> 图5.10管理员登录页面 //显示商品信息 …… //通过ID号来删除过期的商品 id=<%=rrs("ID")%>>删除 id=<%=rrs("ID")%>>添加
……
图5.11显示所有商品信息
图5.12添加商品界面
//添加商品信息以及判断
functionrecheck()
{
if(document.form.pname.value=="")
{
alert("请填写商品名!
");
document.form.pname.focus();
returnfalse;
}
……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 购物 系统 需求 分析