网上花店软件工程课程设计.docx

上传人:b****5 文档编号:6847894 上传时间:2023-01-11 格式:DOCX 页数:24 大小:396.60KB
下载 相关 举报
网上花店软件工程课程设计.docx_第1页
第1页 / 共24页
网上花店软件工程课程设计.docx_第2页
第2页 / 共24页
网上花店软件工程课程设计.docx_第3页
第3页 / 共24页
网上花店软件工程课程设计.docx_第4页
第4页 / 共24页
网上花店软件工程课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

网上花店软件工程课程设计.docx

《网上花店软件工程课程设计.docx》由会员分享,可在线阅读,更多相关《网上花店软件工程课程设计.docx(24页珍藏版)》请在冰豆网上搜索。

网上花店软件工程课程设计.docx

网上花店软件工程课程设计

 

网上花店的设计与实现

 

 

1引言

1.1课程设计的目的及意义

采用ASP编写实现在线购买鲜花;巩固和学习信息系统相关知识以及ASP的编写能力,提高自身动手能力。

1.2相关内容概述

互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时正以其更捷的信息传输形式改变这人们的消费模式,利用简单、快界、低成本的电子通信方式,买卖双方不谋面就可以进行各种商贸活动,走向商业的互联网已经成为网络经济的大势所趋。

眼下电子商务网站正如雨后春笋般大量涌现,企业网络化已经一种时尚。

电子商务的发展可能大家都已经耳濡目染,上网的朋友对这已经不再陌生,电子商务确确实实出现在我们周围。

本系统是一个在线花店系统,具有在线先手鲜花的基本功能。

同过配置,可以作为一个实际应用的鲜花销售网站。

本系统是为传统经营的花店构建网上销售渠道而开发的。

本系统是一个相对简单的基本应用系统,主要满足传统的花店运营需要,将自己的销售渠道扩展到网上,通过简单的管理,提供给最终消费者产品的展现、购物、订单处理等一实现鲜花在线销售。

通过本系统可以管理简单的在线销售模式、满足用户随时查询产品信息,随时下单购物的应用需求。

由于本系统考虑到产品的适应性、安全性和访问效率,所以,在系统平台多样性、技术先进性、功能适应性和灵活性等方面都有考虑,使系统相对完善。

 

2数据库需求分析

信息管理系统离不开数据库,它保存系统用到的数据。

本系统的数据库主要用来保存用户、订单、产品等信息,所以数据库主要用到的表有:

用户表、订单表、产品表和分类导航4类表。

设计数据库系统时应该先充分了解各个方面的需求,根据需求决定数据库结构。

系统有3个对象:

用户、消费产品和订单。

用户浏览鲜花产品,并且在需要的时候下订单。

各这些信息提供增加、修改、保存、更新和查询,这就要求数据库结构能从粉满足这些信息的输出和输入。

系统需求积累用户资源,用用户表来记录用户的信息,具体包括用户的真名、地址、电话、邮编、身份证号、E-mail和密码等基本信息。

网站要给用户展现产品,把鲜花产品的详细信息介绍给用户,需要产品信息表,具体包括产品名称、各类属性和所属分类等。

网站是电子商务网站,最终目的是为用户服务,使用户浏览查后有购买的欲望,进行购买行为。

订单类表格记录用户的购买行为,需要记录购买的产品信息,付款人的信息,收款人的信息,下单时间等。

为了方便用户的查找,提高网站的服务质量,对产品进行不同的属性导航,一个鲜花产品分可以包含不同的属性,方便用户的查找,促进用户的消费,实现网站的价值,对具体查的属性进行分类,实现属性导航表,包括产品属性分类,产品对应产品属性的对应表。

通过上述系统功能分析,针对一般的在线花店的需求,包括如下数据表:

●网站用户信息表,包括数据项、用户ID、用户代号等。

●采购订单表,包括数据项、订单ID、付款人姓名、付款人电话等。

●订单明细表,包括数据项、订单明细编号、产品ID、订单ID等。

●产品表,包括数据项、产品ID、产品代码、产品名称等。

●用户评论表,包括数据项、ID评论内容、用户名称等。

●目录属性表,包括数据项、目录编号名字、目录编号等。

●导航属性字典表,包括数据项、导航ID数字类型ID、文本类型ID。

●产品导航属性对应表,包括数据项、导航类型ID、导航名称等。

 

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。

本实例设计规划出的实体包括网站用户实体、采购订单明细实体、产品实体、用户评论实体、目录信息实体、目录属性实体、导航属性实体、查导航属性对应关系实体。

下面为各个实体间关系的E-R图

图2.1实体关系E-R图

 

图2.2网站用户实体关系E-R图图2.3采购订单实体关系E-R图

图2.4订单明细实体关系E-R图图2.5实产品体关系E-R图

图2.6用户评论实体关系E-R图图2.7目录信息实体关系E-R图

图2.8目录属性实体关系E-R图图2.9导航属性实体关系E-R图

图2.10产品导航属性实体关系E-R图

 

3总体设计

数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

本章实例系统采用Access数据库,因此在设计本章实例系统数据库概念结构时,需要遵循Access数据库的语法结构。

在线花店系统中各个表的设计结果如下面表格所示。

每个表格表示在数据库中的一个表:

表3-1用户表

字段名称

数据类型

说明

autoid

自动编码

主键,递增,用户在网站的标识

userid

文本类型

用户ID

pwd

文本类型

用户口令

sex

文本类型

性别:

1男,0女

realname

文本类型

真实姓名

personid

文本类型

用户身份怔

mobile

文本类型

手机号码

phone

文本类型

固定电话

lasttime

日期类型

修改时间:

第一次就是注册时间

adrress

文本类型

用户地址

email

文本类型

邮编

表3-1中autoid是用户网站惟一标识,Useid是在用户注册时自己选择的名字,其他是拥护需要的属性。

表3-2产品信息列表

字段名称

数据类型

说明

autoid

自动编写

主键,递增,产品在网站的标识

code

文本类型

产品代码,惟一标识,网站自己定义的字符串

name

文本类型

产品名称

description

备注类型

产品描述

marketprice

货币类型

市场价格

saleprice

货币类型

销售价格

myimageurl

文本类型

图片地址

status

数字类型

产品状态,是不销售:

0销售,1停止销售

category

文本类型

产品种类

lasttime

日期类型

修改时间:

第一次就是增加时间

priority

数字类型

排序用的优先级别

memberprice

货币类型

会员价格

netimageurlsmall

文本类型

网络小图片地址

netimageurlmid

文本类型

网络中图片地址

netimageurlbigsign

文本类型

网络大图片地址

sign

数字类型

标志是否特价产品

表3-2中Autoid是产品在网站的惟一标识,在数据增加是自动生成,category是对应目录表的分类字符串。

表3-3directory目录信息表

字段名称

数据类型

说明

code

文本类型

目录代码,惟一标识一个目录

name

文本类型

目录名称

memo

文本类型

备注

表3-3中目录用字符串分级表示,产品的种类对应目录代码。

表3-4myorder订单信息表

字段名称

数据类型

说明

autoid

自动编码

主键,递增,订单在网站的标识

payname

文本类型

付款人姓名

payphone

文本类型

付款人电话

payemail

文本类型

付款人E-mail

payaddress

货币类型

付款人地址

senddate

日期类型

送货时间

paymemo

文本类型

付款人备注

paytime

日期类型

支付时间

lasttime

日期类型

修改时间:

第一次就是增加时间

recname

文本类型

收款人姓名

recnick

文本类型

收款人称呼

recphone

文本类型

收款人电话

recaddress

文本类型

收款人地址

recmemo

文本类型

收款人备注

recemaie

文本类型

收款人邮编

recsay

文本类型

留言

sendfee

货币类型

送货费

sendarea

数字类型

送货地区

totalpay

货币类型

总价

realpay

货币类型

实际价格

orderpass

文本类型

订单密码

userid

文本类型

用户ID

orderstatus

文本类型

订单状态

comefrom

数字类型

来源,是否从合作网站来的

表3-4中的autoid是订单在网站的惟一表识,数据增加是自动生成,category是对应目录表的分类字符串。

订单的付款人一般是网站的会员,收款人可以是自己,也可以是自己的朋友,所以对这两方面信息分开进行记录。

表3-5orderitem订单明细表

字段名称

数据类型

说明

autoid

自动编码

惟一标识用户采购的一个产品

productid

数字类型

产品ID

productname

文本类型

产品名称

productprice

货币类型

成品价格

quantity

数字类型

数量

orderid

数字类型

订单ID

订单明细表和订单表是多对一的关系,就是一张订单可以有多个产品。

表3-6directoryproperty目录属性表

字段名称

数据类型

说明

autoid

自动编码

目录属性代码,惟一标识一个目录属性

name

文本类型

目录属性名字

directorycode

文本类型

属于那个目录

目录属性是为了更好的导航产品,目录的产品有不同的属性,比如鲜花的用途、花材、对象等属性。

表3-7navigationdict导航属性字典表

字段名称

数据类型

说明

autoid

自动编码

惟一标识一个导航属性

directoryproperty

数字类型

对应目录属性的ID

directoryvalue

文本类型

导航属性名称

导航属性字典对应表3-6目录属性表的auotid字段,换种说法就是目录有什么属性,属性具体对应什么值。

比如鲜花目录的用途属性有恋情、生日、友情、祝福、婚庆、商务等不同的用途。

表3-8navigationrelation产品导航属性对应表

字段名称

数据类型

说明

productid

数字类型

产品ID

navigationid

数字类型

对应目录属性的ID

一个产品可以对应多个导航属性,最终用户可以根据不同的属性浏览产品,方便用户查找产品。

表3-9comment用户评论表

字段名称

数据类型

说明

autoid

自动编码

评论ID

comment

备注类型

评论内容

nckname

文本类型

用户名称

repiy

备注类型

管理答复内容

status

识字类型

是否显示

email

文本类型

邮件

userautoid

数字类型

用户ID

productid

数字类型

产品ID

lasttime

数字类型

对应目录属性ID

表3-9记录用户对查的评论,userautoid为0客人,不是网站用户。

 

4系统主要功能模块的设计与实现

4.1网站首页模块的设计与实现

一般的电子商务网站,首页所含的信息量是非常大的,为了方便维护,对首页进行分块处理,然后用包含的方式,把各个块组装起来,这样不仅使页面结构清晰,而且维护方便。

实现代码为:

<%

dimproductid

productid=Request("id")

if(productid="")then

response.redirect"index.asp"

Response.end

endif

dimstrUrlGo

strUrlGo="/Comment.asp?

id="&productid

%>

图4.1网站首页图 

4.2用户管理模块的设计与实现

管理用户登录、用户注册和用户修改等用户信息的基本功能,与一般电子商务的用户管理系统基本相同。

部分实现代码为:

functionuserloginsubmit()

{

varflag=false;

if(document.loginForm.USERID.value==null||document.loginForm.USERID.value=="")

{

alert("请输入您的用户名!

");

document.loginForm.USERID.focus();

flag=true;

}

if(document.loginForm.PASS.value==null||document.loginForm.PASS.value=="")

{

alert("请输入密码!

");

if(flag==false)

document.loginForm.PASS.focus();

flag=true;

}

if(flag==false)

{

document.loginForm.submit();

}

returnfalse;

}

functionuserloginkeydown()

{

if(window.event.keyCode=="13")

userloginsubmit();

}

functionuserloginuserid()

{

if(window.event.keyCode=="13")

document.loginForm.PASS.focus();

}

图4.2 用户登录界面图

 

4.3购物车模块的设计与实现

我的购物车页面主要暂存用户选择的预购买的产品,图3.3为购物车页面部分实现代码为:

<%

dimmyaction

dimcartstr,cartnumstr

DimMyProductArray(20),MyNumArray(20),totalnum,MyProductArrayTmp,MyNumArrayTmp

cartstr=getCartFromCookie()

cartnumstr=getCartNumFromCookie()

if(cartstr=NULLorcartstr="")then

cartstr=""

endif

if(cartnumstr=NULLorcartnumstr="")then

cartnumstr=""

endif

MyProductArrayTmp=Split(cartstr,",",-1,1)

MyNumArrayTmp=Split(cartnumstr,",",-1,1)

'response.write"cartstr="&cartstr&"
"

'response.write"cartnumstr="&cartnumstr&"
"

'response.write

"UBound(MyProductArrayTmp)="&UBound(MyProductArrayTmp)&"
"

'response.write

"LBound(MyProductArrayTmp)="&LBound(MyProductArrayTmp)&"
"

'response.write"UBound(MyNumArrayTmp="&UBound(MyNumArrayTmp)&"
"

'response.write"LBound(MyNumArrayTmp)="&LBound(MyNumArrayTmp)&"
"

If(UBound(MyProductArrayTmp)<>UBound(MyNumArrayTmp)orLBound(MyProductArrayTmp)<>LBound(MyNumArrayTmp))then

cartstr=""

cartnumstr=""

setCartToCookiecartstr,cartnumstr,0,0

MyProductArrayTmp=Split(cartstr,",",-1,1)

MyNumArrayTmp=Split(cartnumstr,",",-1,1)

endif

dimn

Forn=LBound(MyProductArrayTmp)toUBound(MyProductArrayTmp)

MyProductArray(n)=MyProductArrayTmp(n)

MyNumArray(n)=MyNumArrayTmp(n)

Next

totalnum=getCartTotalNumFromCookie()

if(totalnum=NULLortotalnum="")then

totalnum=0

endif

myaction=request("myaction")

dimproductidif(myaction="add")then

productid=request("productid")

if(IsValid(productid))then

if(cartstr=NULLorcartstr="")then

cartstr=productid

cartnumstr=1

MyProductArray(0)=productid

MyNumArray(0)=1

totalnum=1

else

Dimi,IsExist

IsExist="false"

Fori=0toCInt(totalnum)-1

if(MyProductArray(i)=productid)then

IsExist="true"

exitfor

endif

if(IsExist="true")then

MyNumArray(i)=MyNumArray(i)+1

cartnumstr=""

Fori=0toCInt(totalnum)-1

if(cartnumstr="")then

cartnumstr=CStr(MyNumArray(0))

else

cartnumstr=CStr(cartnumstr)+","+CStr(MyNumArray(i))

endif

Next

else

cartstr=CStr(cartstr)+","+CStr(productid)

cartnumstr=cartnumstr+",1"

MyProductArray(totalnum)=productid

MyNumArray(totalnum)=1

totalnum=totalnum+1

endif

endif

setCartToCookiecartstr,cartnumstr,totalnum,0

response.redirect("cart.asp")

response.end

else

response.write"增加的产品id不合法!


"

endif

else

if(myaction="del")then

productid=request("productid")

if(IsValid(productid))then

cartstr=""

cartnumstr=""

Fori=0toCInt(totalnum)-1

if(productid<>MyProductArray(i))then

if(cartnumstr="")then

cartstr=CStr(MyProductArray(i))

cartnumstr=CStr(MyNumArray(i))

end

cartstr=cartstr+","+CStr(MyProductArray(i))

cartnumstr=CStr(cartnumstr)+","+CStr(MyNumArray(i))

endif

endif

Next

endif

else

if(myaction="update")then

cartstr="update"

else

endif

endif

endifsetCartToCookiecartstr,cartnumstr,totalnum,0

ShowCart("yes")

%>

 

图4.3购物车界面图

 

4.4结账模块的设计与实现

当用户把产品放进购物车中,单击“结帐”按钮时,需要显示结帐页面,结帐页面如图3.4所示。

结帐页面对应的文件是check.asp.从图3.4可以看出,在结帐页面需要先显示用户决定购买的产品信息,然后提供表单让用户输入姓名,选择送货的时间等。

实现代码为:

<%

dimcartstr

cartstr=getCartFromCookie()

if(cartstr=NULLorcartstr="")then

response.redirect"Cart.asp"

response.end

endif

dimpayName,payPhone,payEmail,payAddress

if(session("userautoid")<=0)then

payName=""

payPhone=""

payEmail=""

payAddress=""

else

dimdbc,query,rs

shopopendatabasedbc

query="select*frommyUserwhereautoid="&session("userautoid")

setrs=dbc.execute(query)

Ifrs.EOFThepayName=rs("realname")payPhone=rs("phone")payEmail=rs("userid")payAddress=rs("Address")endif

closerecordsetrs

shopclosedatabasedbc

endif

%>

绿植鲜花玩具礼品店

TD{

FONT-SIZE:

12px;FONT-FAMILY:

"宋体"

}

functionsetReceiverFormVisible(vGet)

{if(vGet=='1'){document.all.receiverinfo_form.style.display='none';}else{document.all.receiveri

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

当前位置:首页 > 法律文书 > 调解书

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

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