网上购物系统.docx
- 文档编号:30605920
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:21
- 大小:652.47KB
网上购物系统.docx
《网上购物系统.docx》由会员分享,可在线阅读,更多相关《网上购物系统.docx(21页珍藏版)》请在冰豆网上搜索。
网上购物系统
网上购物系统
摘要
高速发展的互联网技术为网上购物系统的发展提供了强大的动力,同时,网上购物的环境已经逐步得到了改善。
网上购物已在人们生活中占有重要的地位,针对这种情况,设计开发了网上购物网站。
在网上购物系统中,顾客能够方便的进行用户注册,查看商品,浏览商品,并购物车管理,以及订单管理。
管理员可以对商品的信息进行维护与管理,包括对现有商品信息的修改、新商品信息的加入、过时商品信息的删除等;管理员还可以查看历史订单的记录和现在订单的情况。
本设计以MicrosoftVisualStudio2005为开发环境,采用当前比较流行的C#编程语言进行编码,数据库采用的是MicrosoftSQLServer2000。
关键词:
网上购物;商品;订单;
前言
互联网的快速发展为网上购物系统的发展提供了强大的动力,随着网上购物环境逐步的改善,表现在网民结构的大众化,物流和银行结算的畅通,以及市场运作的规范和相应政策法规的完善。
网上购物已经成为现在一种流行的购物方式,网上购物的观念已深入人心。
本购物网站是一个包括管理员模块和普通用户模块的网上购物系统,用户登录网站后可以浏览商品信息,并且可以注册为本网站会员;会员可以在线查询商品信息,将满意的商品放入购物车方便统一付款,用户可以通过订单管理来了解购买商品的状态;管理员登录网站系统后,进入后台管理,可以维护会员和商品信息,同时可以删除用户信息,进行数据库的备份等操作。
网站是在软件工程思想指导下,通过需求分析,利用.NET设计后才实现的。
论文对购物网站的实现给出了完整的介绍,全文一共分为五章。
第一章为需求分析;第二章为相关理论基础;第三章为系统总体设计;第四章为系统详细设计;第五章为测试与发布;
需求分析
课题背景
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统是一种具有交互功能的商业信息系统。
它向用户提供静态和动态两类信息资源。
所谓静态信息是指那些不会经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如产品报价,产品更新等。
网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子交易。
在现实生活中,网上购物已经成为现代人的一种需求,它的方便快捷是传统购物方式无法比拟的。
可行性分析
技术可行性分析
一个系统在技术上是否可行,往往从开发的风险,资源的有效性,相关技术的发展等方面来分析。
开发风险的大小直接关系到系统的成败。
本系统的实现从其所需要实现的功能上来说,现有的比较成熟的技术已基本上能满足其功能需求,而且有很多当前已成功开发并投入使用的网上购物系统可供借鉴。
因此,从系统的开发风险来分析,本系统的开发是可行的。
在本系统的开发过程中,主要用到开发工具有VisualStudio2005、SQLServer2000、Dreamweaver8等。
这些技术和开发工具都是完善,在实践中多次被运用的,是完全可行的,不会存在技术上的问题。
所以从技术环节上来说不存在无法实现的情况发生。
经济可行性分析
在本网上购物网站进行购物时,服务器端和用户端的硬件系统可使用现有网络系统,基本无需另外购置硬件设备,同时系统使用后可以产生一定的经济和社会效益,因此从经济上是完全可行的。
操作可行性分析
该网上购物网站的主要使用对象是广大网民,由于网民已经具备一定的计算机的基础操作知识和经验,对浏览器和Windows操作环境下的软件使用比较熟悉,因此网民使用本系统是非常方便的。
系统需求分析
顾客对于系统的需求
顾客在网上购物看重的是方便和快捷,因此系统要使顾客能够在大量的产品信息中迅速搜索到自己想要了解的产品信息。
并且,由于顾客中可能存在有很多并不熟悉网上购物流程的人,系统操作流程应该简单、易用。
顾客功能需求有:
1.顾客可浏览、检索商城各种商品的基本信息,如:
商品实物图片和价格。
2.会员选好商品后,顾客可以将所选商品放入购物车。
3.会员在结算前改变主意,依然可以不用购买。
4.会员选定所要购买的商品后,系统自动生成相应的定单号。
5.顾客可以注册成会员,来购买商品。
管理员对于系统的需求
系统管理员在此系统中扮演着非常重要的角色,管理员能够轻松的找到需要的管理类别。
为了实现这些需求,管理中心应该做到功能齐全,模块划分明确。
本系统中管理部分分为用户管理、订单管理、商品管理这三个模块
管理员的功能需求有:
1.管理员进行商品管理,如:
更新商品、删除过期商品等。
2.管理员进行订单管理。
3.管理员注册用户管理,如:
更新完善用户个人信息等。
4.管理员对网站进行维护。
数据库原理
SQL语言简介
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、MicrosoftSQLServer、Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
在众多的SQL命令中,select语句应该算是使用最频繁的。
select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。
select语句中位于select关键词之后的列名用来决定哪些列将作为查询结果返回。
用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。
select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。
除了上面所提到的运算符外,LIKE运算符在where条件从句中也非常重要。
LIKE运算符的功能非常强大,通过使用LIKE运算符可以设定只选择与用户规定格式相同的记录。
MicrosoftSQLServer简介
SQLServer2000是建立在SQLServer7.0在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。
在高性能和企业级可伸缩性领域,SQLServer2000设计成利用Windows2000对更多处理器、更大的系统内存的支持,最终达到支持64位硬件平台。
在不断提升可用性的努力过程中,SQLServer2000采用Windows2000四路群集,提供了大大改进的群集支持。
SQLServer7.0已经在可管理性和易用性方面在行业内领先,SQLServer2000通过与Windows2000活动目录紧密结合进一步改进了这些功能。
而且,SQLServer2000还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。
SQLServer2000按照设计可以为部署和维护强大的、易于管理、支持商务活动的Web站点提供最好的性能,这些站点可以从事商家和商家之间或商家与客户之间的交易。
在寻求一个支持您的电子商务解决方案的数据库时,需要考虑的项目包括:
可用性、性能、可管理性和价格。
系统总体设计
系统总体设计方案
3.1.1前台设计方案
网上购物系统前台
系统首页
商品管理
购物车
订单管理
用户管理
用户控件
图3-1网上购物系统前台功能模块图
根据功能的要求,系统的前台功能模式如图3-1所示,各模块的具体的功能如下:
1.系统首页
提供用户登录、注册,管理员登录以及产品中心的接口,提供简单快捷的商品查询,并且能够显示当前最新的商品和当前销量最好的商品。
2.商品管理
允许顾客浏览商品列表,查看所有商品类别以及商品的详细信息。
3.购物车
在已注册ID的情况下,登录的顾客可以将自己满意的商品加入到购物车中,并且能够查看购物车的内容,在最终结算以前,允许顾客删除商品或更改购买数量,确认无误以后可以结算生成相应的定单。
4.订单管理
当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,并且支持顾客查看此定单的详细信息,包括所有购买商品的列表以及分别对应的单价和总额,并且登录的顾客可以查看其当前定单的状态以及在本网上购物系统中所有历史定单信息。
5.用户管理
本系统不支持匿名购买商品,顾客要购物的话必须注册相应的ID,因此主要功能为支持用户注册,同时也支持用户修改其基本信息,包括修改登录密码。
6.用户控件
显示本网上购物系统的顶端图片以及一些友情链接和版权信息,使本系统更加美观、更加符合当前网站主流样式。
后台管理设计方案
网上购物系统后台管理
商品管理
订单管理
用户管理
图3-2网上购物系统后台功能模块图
系统的后台功能模式如图3-2所示,各模块的具体的功能如下:
1.商品管理
系统管理员可以通过管理中心向系统加入新商品以及其相关信息,删除过期商品,更新现有商品信息。
2.订单管理
当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,系统管理员可以查看当前未处理的定单的信息,对订单进行处理,并负责与顾客取得联系确认付款方式以及送货方式等。
3.用户管理
系统管理员可以对长时间不登录的用户信息进行删除,以确保系统运行正常、有序。
数据库设计方案
数据库表的定义
根据网上购物系统的功能要求以及功能模块的划分,数据需要存储的信息如下:
1.系统中所有注册用户的资料:
用户ID,密码,地址,EMAIL地址,联系电话等。
2.商品的资料:
商品名称,商品类别,商品单价,商品详细信息,商品图片等。
3.购物车的资料:
购物车ID,购买的商品,购买商品的数量,总价等。
4.订单的资料:
下订单的用户ID,下订单的时间,购买的商品,购买商品的单价,购买商品的数量,总价,订单状态等。
数据库表的设计
分别建立以下的表以满足需要:
1.用户表,用来记录购物人员的相关注册信息,详细信息见表3-1。
2.产品表,用来记录产品的相关信息,详细信息见表3-2.
3.购物车表,用来记录用户添加产品到购物车的相关信息,详细信息见表3-3。
4.订单表,用来记录用户购物之后生成订单的相关信息,详细信息见表3-4。
5.产品种类表,用来记录产品种类的相关信息,详细信息见表3-5。
6.地点表,用来记录省份和城市的相关信息,详细信息见表3-6。
表3-1shopper
字段名
数据类型
长度
是否允许为空
字段描述
shopperID
char
10
否
用户ID(主键)
psssword
char
10
否
密码
familyname
varchar
20
否
姓
givenname
varchar
20
否
名
varchar
40
否
电子邮件地址
address
varchar
50
否
通讯地址
country
char
15
否
国家
province
char
15
否
省份
city
char
15
否
城市
postalcode
char
10
否
邮政编码
phone
char
15
否
联系电话
表3-2product
字段名
数据类型
长度
是否允许为空
字段描述
productID
int
4
否
产品ID(主键)
productname
nvarchar
50
是
产品名称
productdescription
nvarchar
4000
是
产品描述
originalprice
money
8
否
市场价
saleprice
money
8
否
会员价
categoryID
int
4
否
产品种类ID
productnumber
int
4
是
产品数量
photo
nvarchar
50
是
图片
publishyear
varchar
4
是
发布年
publishmonth
varchar
2
是
发布月
表3-3shoppingcart
字段名
数据类型
长度
是否允许为空
字段描述
cartID
int
4
否
购物车ID(主键)
productID
int
4
否
产品ID(主键)
productquantity
int
4
否
产品数量
shoppingdate
datetime
8
否
购买时间
表3-4orders
字段名
数据类型
长度
是否允许为空
字段描述
orderNo
smallint
2
否
订单号(主键)
orderdate
datetime
8
是
订单时间
cartID
nvarchar
10
否
购物车ID
shopperID
varchar
10
否
用户ID
shippingcharge
money
8
是
运费
ordrprocess
char
1
是
订单状态
totalcost
money
8
是
总价
表3-5category
字段名
数据类型
长度
是否允许为空
字段描述
categoryID
int
4
否
产品种类ID(主键)
categoryname
nvarchar
50
否
产品名称
表3-6place
字段名
数据类型
长度
是否允许为空
字段描述
city
char
15
否
城市(主键)
province
char
15
否
省份
系统详细实现
前台功能模块的具体实现
系统首页
此功能模块由default.aspx来实现,并提供了本系统绝大多数功能的入口,例如:
会员注册、登录,管理员登录,商品查询,最新商品,热销商品等。
会员登录主要是将用户输入的用户名和密码与数据库中shopper表中的已有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一样,则登录失败。
查询功能是通过两个下拉列表来实现的,为了避免用户自己输入出现错误导致无法查询到自己要看到的内容,该查询功能就没有使用用户输入的方式来进行关键字查询,而是通过先选择第一个下拉列表来确定categoryID(产品种类ID),然后通过这个categoryID从数据库的product表中读出所有categoryID相同的产品型号显示在第二个下拉列表中,此时,用户就可以选择想要查看的具体产品的型号,再点击“查询”即可看到相应产品的详细信息,如图4-1所示。
图4-1网上购物系统首页图
在此页面上,最新商品和热销商品的所有信息都是通过DataList这个功能强大的的控件实现的,“最新商品”使用DataList1,通过在管理员添加新产品到系统中时所添加的产品的发布年、月来排序,代码如下:
selecttop6product.originalprice,product.saleprice,product.photo,productIDfromproductorderbypublishyear,publishmonthdesc"
热销商品使用DataList2,通过计算shoppingcart表中购买的数量从而来确定产品的销售量的多少来进行排序,代码如下:
selectoriginalprice,saleprice,photo,productIDfromproductwhereproductIDin(selecttop6productIDfromshoppingcartgroupbyproductIDorderbysum(productquantity)desc)
商品管理
此功能模块由product.aspx,productList.aspx,productdetail.aspx来实现。
当用户进入产品中心以后,通过DataList这个控件,显示出相应产品类别的产品图片及一些相关信息,其中包含产品名称,产品类别以及相应的价格信息等,整个页面的左边部分,分类列出了各类产品,每一类产品都有自己唯一对应的categoryID,同时,categoryID在product表里都有相对应的产品名,当点击某个产品种类时,所有对应该种类categoryID的产品都会从数据库中提取出来并且显示在页面上,这样起到了导航的作用,一目了然,方便用户能够比较迅速找到自己想要的产品,如图4-2所示。
图4-2产品中心图
所有产品的图片都是管理员在添加新产品到系统中时,上传到images这个目录下的图片的名字和产品的型号相同,通过下面的代码来获得:
((Image)e.Item.FindControl("photo")).ImageUrl="images\\"+MyDataRowView.Row[4].ToString();
另外,通过点击“详细信息”就可查看该商品的具体资料,用户可以看到产品名称,产品价格,以及详细描述,是在product表中通过相应的productID(产品ID)读出其相关信息的,通过下面的语句实现:
selectproductname,productdescription,cast(salepriceasnvarchar)aspricefromproductwhereproductID='"+productID+"'",conn
购物车
此功能模块由cart.aspx,shoppingcart.aspx来实现。
当用户查看了相关商品的详细信息以后,如果愿意购买并且是在用户已经登录的情况下,可以在下拉列表中选择购买商品的数量并点击“添加到购物车”加入到购物车中,在这个过程中,系统将用户选择的商品所对应的productID和购买的数量都写入到数据库的shoppingcart这个表中,并生成唯一的cartID(购物车ID),一个cartID对应用户登录一次所有购买的商品,也就是说cartID和productID的对应关系既可以是一对一,也可以是一对多。
最后顾客结束购物时,点击“查看我的购物车”,则在可以看到相关购物信息,这就是将shoppingcart表中生成的cartID所对应的productID和购买数量的信息读出并通过GridView这个控件显示出来,如图4-3所示。
图4-3查看购物车图
用户可以在最终结算前放弃购买某样或多样已放在购物车中的商品,在此时点击“删除”,shoppingcart表中的当前cartID所对应的productID删除,从而达到放弃购买的作用。
总计金额是通过计算GridView中第3列中的小计而得,最后通过一个Lable显示出来,具体实现的代码如下:
doubletotalmoney=0;
doubletempprice;
for(inti=0;i { tempprice=Convert.ToDouble(GridView1.Rows[i].Cells[3].Text.ToString()); totalmoney+=tempprice; } Label1.Text=totalmoney.ToString(); 如果是未注册用户或未登录用户,则无法购买,系统会有相应提示,并自动转到主页。 订单管理 此功能模块由order.aspx,orders.aspx来实现,分别实现生成和显示当前订单以及显示历史订单的功能,当用户购物完成以后,查看自己的购物车后,并确定购买的时候,点击“最终结算”可以生成相应的订单,当系统生成订单时,会将shoppingcart表中的cartID,shopperID,totalcost插入到orders表中,代码如下: protectedvoidButton1_Click(objectsender,EventArgse) { cartid=Request.Cookies["cartID"].Value.ToString().Trim(); shopperid=Request.Cookies["userName"].Value.ToString(); stringsql=string.Format("insertintoorders(cartID,shopperID,totalcost)values({0},{1},convert(money,{2}))",cartid,"'"+shopperid+"'",Label1.Text); databaseAccess.ExeSql(sql); Response.Cookies.Clear(); Response.Redirect("order.aspx"); } 此外,订单日期是获取当前系统时间并自动写入,而订单号也是在orders表中自动生成,每个唯一的订单号对应唯一的cartID,所以查看订单详情即是获取订单号与对应cartID,通过cartID在shoppingcart表中得到相应的信息,如图4-4所示。 图4-4查看当前订单图 此外,如果想查看自己所有的订单情况,就可以直接点击“所有订单”,这样通过Getorder2这个函数来获取所有的订单信息,将该用户在本系统中所有的购物订单显示出来,代码如下: publicstaticDataSetGetorder2(stringshopperid) { SqlConnectionconn=newSqlConnection(connection); SqlDataAdapterdata=newSqlDataAdapter("select*fromorderswhereshopperID='"+shopperid+"'orderbyorderdatedesc",conn); DataSetds=newDataSet(); data.Fill(ds); conn.Close(); returnds; } 用户管理 此功能模块由register.aspx,reviseinformation.aspx来实现,分别用来实现新用户注册和用户信息修改的功能。 register.aspx实现用户注册功能,主要向shopper表中插入新用户信息,包括用户名、国家、省份、城市、联系地址、密码、姓、名、电子邮箱、邮政编码、联系电话,在本系统中用户名不允许重名,因此,系统通过checkUserExist这个函数进行判别,为了确保用户两次输入相同的密码,用一个if语句进行判别,如果两次输入的密码不相同,则有所相应提示,如果用户一切填写正确,当点击“确定”以后,会提示用户注册成功,此功能靠以下代码实现: Respo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 购物 系统