当前位置:文档之家› 网上购物系统毕业论文

网上购物系统毕业论文

1 引言

进入21 世纪,网上购物系统在人们的生活中已经不可或缺,通过网络实现商品的交易,大大减少了时间,网上购物以它独特的方便、快捷、高效而深受广大用户的喜爱。在我国,网上购物从无到有也不过短短几年时间,我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。消费者选择网上购物的因素有很多,主要是方便快捷和信息量大:随着现代生活节奏的加快和生活观念的改变,使得诸如没有时间购物、店铺太远、商店人员态度不佳、商品的体积太大不易搬运、销售时间太过短暂(如季节性商品)等供求矛盾日益突出。网络购物以全天营业,无需奔赴商店购物、商品送达到家等优势,越来越受到人们的青睐。消费者足不出户,就可到世界各地采购自己喜爱的商品;与传统的购物方式相比,电子商务的信息量大的惊人,包括了消费者知道的和不知道的所有商品。此外,一些独特的产品,还可以满足那些想拥有别人所没有的商品的心理需求。随着网络安全性的提高和网上支付等条件的进一步完善,网上购物必将成为信息化时代的一个消费新热点。

2 程序开发的技术基础

该系统的开发用到了html语言,JavaScript语言,https://www.doczj.com/doc/eb8316164.html,,Microsoft Office Access,用户密码安全技术,以下详细说明。

2.1 HTML语言

HTML(Hyper Text Markup Language 超文本标记语言)是一种用来制作超文本文档的简单标记语言。与常见的字处理文件不同,Web页以超文本标识语言编排格式。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式

的标准文本文件,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。

2.2 JavaScript语言

JavaScript脚本语言脚本是应用程序在网页上表达的语言,可以将脚本嵌入Web页中。通常脚本在服务器上运行,但也可以采用客户端和服务器端结合使用JavaScript脚本语言。

2.3 https://www.doczj.com/doc/eb8316164.html,框架

https://www.doczj.com/doc/eb8316164.html,是微软最新推出的用于构建动态、交互式Web内容的开发技术集。https://www.doczj.com/doc/eb8316164.html,并非构建专业电子商务网站的唯一的服务器端技术,但其编写的页面都是由负责绘制页面静态部分(模板)的基本HTML和负责生成动态部分的代码所组成的[5]。

https://www.doczj.com/doc/eb8316164.html,允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜在巨大的.NET Framework。https://www.doczj.com/doc/eb8316164.html,是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。https://www.doczj.com/doc/eb8316164.html,把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

https://www.doczj.com/doc/eb8316164.html,完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让https://www.doczj.com/doc/eb8316164.html,远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短了web应用程序的开发周期。https://www.doczj.com/doc/eb8316164.html,与Windows 2000 Server/Advanced Server 的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定、高效、安全的运行环境。

https://www.doczj.com/doc/eb8316164.html,是把基于通用语言的程序在服务器上运行,不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。https://www.doczj.com/doc/eb8316164.html,页面的服务器端代码在编译时(而不是运行时)检测大量错误,大大提高了开发效率与性能。后台代码文件把页面的可视化部分与服务器端的逻辑分离开来,结合https://www.doczj.com/doc/eb8316164.html,开发工具的所见即所得的开发模式和事件驱动的方法有助于开发更为简单。

2.4 Microsoft Office Access

Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和图形用户界面两项特点,是 Microsoft Office 的系统程式之一。

自从Access 2000新添“项目数据库”这一概念,并强化Access与后端数据库系统的整合后,长久以来,Access提供的功能与特色便与日俱增;Access 2003推出后,更改善了Internet上电子数据交换的整合能力(XML支持),并且提供了更强的错误检查、控件排序、自动校正、备份/压缩数据库与导入/导出功能等,整体来看提高了使用与操作Access的管理性能,同时更易于和Office 家族的其他成员(例如:Word、Excel、PowerPoint等)整合。

2.5 用户密码安全性技术

将用户密码以纯文本的格式存储到数据库中,不是好方法,这些信息是潜在的被攻击对象。可以采用散列hash解决方案来保存密码。对于每个密码而言,其散列值是唯一的,而且散列值是无法转换成密码本身的。要校验用户输入的密码,只需计算其输入的密码的散列值,然后和保存在数据库中的散列值进行比较。如果散列值是匹配的,则说明输入的密码是正确的。散列处理hashing采用的是一个单向的机制。将要散列处理的对象序列化为一个字节数组。对字节数组进行散列计算,获取一个已散列的新字节数组。将已散列的字节数转成存储所需的格式。

3 系统分析

在开发一个项目之前,首先要对所开发的项目进行问题提出及解决分析、需求目标分析、可行性分析,以使开发人员了解和掌握系统的前期策划和开发流程。

3.1 问题提出

当前互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四煤体,同时正在以其便捷的信息传递方式改变着人们的生活生产方式,利用简单、快捷、低成本的电子通信方式,走向商业的互联网已经成为网络经济的大势所趋。

购物网站随着互联网的发展也雨后春笋般的出现,为电子商务的发展起到不可估量的作用。

本系统是一个中小型的电子商务系统——家居饰品购物网站。随着时代的发展,信息技术、Internet/Intranet技术、数据库技术的不断发展完善,网络进程的加快,传统的商品销售方式也越来越不能满足现在人们购买需求,那么怎样才能满足现代人们的购物需求呢?

正是因为现代网络技术的飞速发展,人们的需求不断的提高,搭建一个安全先进的购物平台以满足人们现代化的购物需求,为广大用户提供便捷的网上购物是一个必要的途径。那么该怎样搭建这个购物平台呢?因此得出解决方案。3.2解决方案

网上购物系统在开发语言方面采用了简洁易懂、维护方便的https://www.doczj.com/doc/eb8316164.html,技术,以安全的Access作为后台数据库,另外系统还采用了B/S模式这样能够充分体现用户与网站的有效的衔接,最大限度的为用户提供安全可靠的服务。在为广大用户提供便捷方面,本系统在参考了许多大型的网上购物系统,设计了许多实用的功能模块包括商品的分类搜索、购物车等,尽可能的为网上购物者提供便捷服务。

3.3 可行性分析

该电子商务平台网的可行性可从以下四方面考虑:

(1)经济可行性。计算机硬件配置档次的提高,而价格的降低,如今一般的计算机都能够进行网上的活动,而且现在网络环境比较发达,传输速度相对较快,都可以满足本系统的需求,并能顺利运行。

(2)技术可行性。当前https://www.doczj.com/doc/eb8316164.html,功能强大,易于编写,因此系统采用其开发,在技术上完全可行。

(3)运行可行性。该网上购物系统在每台计算机上只要安装有浏览器,就可以很好的运行。本系统操作方便快捷,界面简洁友好,并且具有良好的管理平台。

(4)法律可行性。因为该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。

3.4 需求目标

根据对本课题的研究,本系统应可以为用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册会员、会员信息修改、发表评论、浏览商品、搜索查询商品、下定单、处理定单、查看最新资讯等功能;管理员可以通过用户管理、定单管理、商品管理、资讯管理和其它管理功能来对系统进行维护更新。

4系统设计

本系统实现非会员可以浏览每个模块,但是不能购买商品,所以非会员者要进行会员的注册。会员注册成功后可以浏览商品并购买自己想要的商品,查看自己的购物车,对购物车中商品进行添加,修改,删除管理,也可以对自己的资料和密码等信息进行修改,若确定购买商品则进入收银台结算,获得订单号,用户可以查询发货信息,用户还可以对网站或商品留言及评论。

4.1系统总体规划

购物系统主要是实现网上订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等基本模块。

非会员可以浏览商品每个模块,但是不能购买商品,所以非会员者要进行会员的注册。注册成功后可以购买自己想要的商品,查看自己的购物车,对购物车进行管理。最后结帐生成订单,退出系统。

管理员可以对系统的所有信息进行管理,包括用户管理、商品管理、资讯管理、订单管理。系统采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。

4.2系统功能模块划分

4.2.1系统功能模块设计

根据系统的总体设计,得出系统的功能模块如下。

(1)用户登录并管理账户功能模块:用户可以注册会员,修改密码等功能。

(2)网站商品功能模块:用户查看商品。

(3)资讯管理功能模块:用户浏览最新资讯。

(4)商品浏览功能模块:用户能够浏览有关商品公告。

(5)发布评论功能模块:用户能够发表自己的意见。

根据系统设计为满足用户需求,前台功能模块划分如图4.1所示。

图4.1 系统前台功能图

后台功能模块划分如图4.2所示。

(1)系统管理功能模块:系统的一些基本信息的配置。

(2)用户管理功能模块:会员及管理员信息的管理。

(3)商品信息功能模块:管理员可以查询,添加,删除,更改商品信息。

(4)订单管理功能模块:管理员可以对订单管理。

(5)其它管理功能模块:管理员可以对资讯,友情链接,用户留言进行管理。

图4.2 系统后台功能图

4.2.2 购物流图

购物系统主要是实现网上选商品产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、用户信息注册登录管理、订单处理等基本模块。

非会员可以浏览每个模块,但是不能购买商品,所以非会员者要进行会员的注册。注册成功后可以购买自己想要的商品,查看自己的购物车,对购物车进行管理。最后结帐生成订单,退出系统。

管理员可以对系统的所有信息进行管理,包括用户管理、商品管理、资讯管理、订单管理。经过分析得到购物流程为图4.3所示。

图4.3 购物网站流程图

4.3 数据库设计

4.3.1 数据库分析

由于本系统是中小型的电子商务系统,需要考虑到成本问题及用户需求问题,Access 2003是目前最流行的、功能强大的桌面数据库管理系统之一,有强大的功能和直观的操作界面,所以这里选用Access为本系统的数据库管理系统4.3.2数据库及数据表

经系统功能分析和需求总结及概要设计,考虑到将来功能的扩展,设计的数据项和数据结构部分如下:

①menu表(栏目表):设置导航栏项,使转到相关页面,如表4.1所示。

②News表(资讯表):网站的最新资讯,如资讯标题等,如表4.2所示。

③xm_admin(管理员信息表):管理员的基本信息,如管理员用户名,密码,如表4.3所示。

④pay表(收货人信息表):收获人填写的信息,如用户姓名,密码,电话号码,地址,邮编,如表4.4所示。

⑤shop表(商品表):商品的详细信息,如商品类别,商品名字,商品数量,商品价格,商品颜色,商品详细描述,如表4.5所示。

⑥user_a(注册用户资料表):用户名,密码,email,性别,联系电话;,如表4.6所示。

⑦index表(系统设置表):系统的基本设置,如logo的设置,网站名字,网站名字缩写,网站关键字,网站描述,联系QQ等。

⑧quick表(快速导航表):网站下方快速导航栏的信息,如导航的题目等。

⑨index表(系统设置表):系统的基本设置,如logo的设置,网站名字,网站名字缩写,网站关键字,网站描述,联系QQ等。

(1)数据库概念结构设计

本系统根据以上的设计规划出的实体有:用户信息实体、商品信息实体、

管理员信息实体、系统信息实体、评论信息实体、资讯信息实体。

(2)数据库逻辑结构设计

经数据库概念设计,得出各表的设计,部分如下表4.1至表4.2所示。

表4.1 Menu表

表4.4 pay表

表4.6 user_a表

5 系统实现

通过对系统分析设计,本系统采用https://www.doczj.com/doc/eb8316164.html,技术,以Access作为后台数据库开发。该系统分为二个部分:前台服务部分和后台管理部分。实现了用户登录验证及新用户的注册、商品分类查询、购物车处理、管理员对商品等信息进行管理等功能。

下面对本系统各部分的实现做详细的介绍。

5.1 连接数据库

数据库连接文件在以后的其他动态页中都会涉及到,这样只有在页面前台包含进去即可,避免重复代码。在MyOleDbPager.cs编写代码如下:OleDbPager.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("~/xmdata/%xm.mdb");

5.2 前台设计与实现

5.2.1 首页设计与实现

前台首页主要包含以下内容:

(1)网站的菜单导航:主要包括首页,装饰画,烛台灯饰,陶瓷饰品等。

(2)商品信息的快速搜索引擎:用户输入要搜索的关键字得到相关商品。

(3)商品、推荐商品模块:主要展示相应商品和详细情况。

(4)用户中心模块:主要用于在会员个人信息的管理。

(5)最新资讯模块:发布家居饰品的最新资讯。

(6)友情链接模块:可链接到相关网页。

主页面的结构框架采用的是DIV+CSS模式,采用CSS模式轮廓美观操作方便,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。

首页采用二分栏结构布局如图5.1所示。前台首页实际效果图如5.2所示。

图5.1 网上购物的前台首页模板示意图

图5.2 网上购物的前台首页

(1)Top.ascx模块

用到通用图片轮换播放器: bcaster,一款通用的图片浏览器可以用于各种新闻系统或者blog系统。可以读取xml设置播放列表,可以不使用xml将图片地址直接写网页中直接,可以读取swf的动画格式,自动适应图片大小,循环播放,自定义自动播放时间等在xml中嵌入bcaster.xml,其代码为:

//设置自动播放时间

//加入多张图片

加入bcaster.swf,并修改flash的属性data为bcastr.swf?bcastr_xml_url= xml/bcastr.xml。

(2)Left.ascx模块

该模块包括用户登录信息,最新资讯,快速链接,发货通知,友情链接部分。本系统只有用户登录之后才可以购物,用户需输入用户名,密码及验证码,产生验证码的实现代码为:

this.Img.Attributes.Add("onclick","this.src='RandomNumImg.aspx?'+Math.ra ndom();"); //随机产生验证码

实现对登陆用户身份的验证,通过获取上一页面用户输入的用户名和密码与数据库中的记录进行核对,如果正确则准许用户完成相应操作,如果不正确则通知用户所输入的账号或密码不正确,如果账号和密码匹配,则判断验证码是否正确,验证码存放在Session["validateNum"]中,若用户输入的验证码和该session中存放的验证码不相同则提示验证码错误,具体实现代码如下:

string webnz = this.webnz.Value.ToUpper();//将输入的密码都转换为大写字母 if (webnz == Session["validateNum"].ToString())//验证码正确

{

String webname=s.wipeScript(this,webname,Value.Tostring()

.Replace("'","''"))

String webpaw= FormsAuthentication.HashPasswordForStoring InConfigFile(this.webpaw.Value.ToString().Replace("'", "''"), "md5");

DataSet ds = xm.getDataSet("SELECT * FROM [user_a] WHERE user_name='" + webname + "'and user_pwd='" + webpaw + "'");

int count = ds.Tables[0].Rows.Count;

if (count <= 0)

{

s.rScript(this.GetType(), "", this.Page);

}//若用户名和密码不匹配,弹出账号或密码错误的提示

else

{

Session["useradmin"] = webname;

Server.Transfer("index.aspx");

}//若通过验证,登录成功,则转到首页

}

else

{

s.rScript(this.GetType(), "", this.Page);

}//若验证码不正确,弹出验证码不正确的提示

(3)Foot.ascx模块

该模块为方便用户设置了快速链接,使其快速导航到相应页面实现代码如下:

class="foot">
class="foot2">

class="hearnav1">

  • 常见问题  |
  • 配送说明  |
  • 最新资讯  |
  • 客户留言  |
  • (4)Index.aspx模块

    此模块为首页的中心模块,可以在该模块浏览商品,查看用户中心信息等。

    用户进入首页看到最新上架和推荐商品,且是显示数据库中部分商品,实现代码如下:

    DataSet ds3 = xm.getDataSet("SELECT TOP 8 * FROM [shop] order by id desc");//得到数据集中前八条

    this.Repeater3.DataSource = ds3.Tables[0].DefaultView;//获取Repeater3的数据源

    this.Repeater3.DataBind();//Repeater3绑定到数据源,首页显示最新商品

    DataSet ds4 = xm.getDataSet("SELECT TOP 8 * FROM [shop] WHERE shop_style='是' order by id desc");//得到数据集中前八条

    this.Repeater4.DataSource = ds4.Tables[0].DefaultView;//获取Repeater4的数据源

    this.Repeater4.DataBind();//Repeater4绑定到数据源,首页显示推荐商品

    5.2.2 商品展示页面的实现

    商品展示模块属于网上购物的子页,主要显示网上购物的商品信息。商品展示模块主要实现以下功能:按照客户需求搜索商品;显示指定商品类别下的所有商品信息。

    (1)实现了商品的搜索功能,用户可以输入商品的关键字进行搜索,搜索出的结果显示在下方,用到模糊查询语句,具体实现主要代码如下:string id = Request.Form["se"].ToString();//得到用户输入的搜索关键字

    DataSet ds = xm.getDataSet("SELECT * FROM [shop] WHERE [shop_name] LIKE '%" + id + "%' OR [shop_id] LIKE '%" + id + "%' ORDER BY id DESC");//在数据表中进行查询

    if (ds.Tables[0].Rows.Count > 0)

    {

    OleDbPager.setAttribute(OleDbPager1, "DataList1", "SELECT * FROM [shop] WHERE [shop_name] LIKE '%" + id + "%' OR [shop_id] LIKE '%" + id + "%' ORDER BY id DESC", "1000000-id", 16); }//若有满足条件的商品在页面中显示搜索出来的相应商品

    else

    {

    this.Literal1.Text = "暂且没数据";

    }//若没有满足条件的商品显示暂且无数据

    (2)显示指定商品类别下的所有商品信息,根据用户要购买商品的类别,用户可以浏览某一类别的商品,通过导航技术转到相应页面,浏览相关商品的信息,实现以烛台灯饰页面为例,如图5.3所示。

    图5.3 网上购物的烛台灯饰页面

    若用户对某一商品感兴趣,可以查看该商品的详细信息,如图5.4所示。

    图5.4 网上购物的单一商品展示页面

    页面显示相应商品的具体信息,若确定购买该商品,则可加入购物车。

    5.2.3 购物车设计与实现

    (1)购物车功能

    在现实生活中,人们去超市买东西,都是把商品放在一个购物篮里,等到把所有要买的东西选购完毕后,一起拿到收银台前付钱。本系统在程序里定义的购物车实体就是模拟这个功能。作为网站的购物车,顾客,购物时间,所购的商品、不同商品的数量和所购商品的总价格都是必不可少的。在这里我的购物车的实现是新建了一张购物车的数据库表格,来记录购物的具体信息。当一个以登陆用户选择好自己想要购买的商品后点击“加入购物车”后可以进入到下一页面,并选择自己要购买商品的数量,查看自己的购物车并核对信息和总价格后。用户可以在自己的购物车中对自己购买的商品进行管理,比如删除不想的商品、减少所购买商品的数量等。用户可以进入收银台,添加收货人信息。最后确认完成后点击“确定”完成此次购物。

    (2)技术分析

    开发购物车采用的方法是将购物信息存储到Session变量中。顾客在购物时

    本系统为其分配一个购物车,当用户登录后,再分配两个变量,分别为用户存储

    用户放入购物车中商品的ID值和该商品的数量。

    用户如果选择某件商品并打算将其放入购物车中,只要用该user_rmb变量原来的值加上新放入的商品的价钱得到商品总价钱。

    (3)添加商品至购物车的实现过程如下图5.5所示。

    图5.5 网上购物的购物车实现

    若用户确定购买则点击去收银台填写用户收货信息,得到订单编号,方便用户查询发货信息如图5.6所示。

    图5.6 网上购物的填写收货信息

    将商品加入购物车的实现主要代码如下所示:

    string id = Request.QueryString["id"].ToString();//得到商品ID号

    DataSet ds = xm.getDataSet("SELECT * FROM [shop] WHERE id=" + id);//得到数据集ds

    ………………………//得到用户购买商品的信息略

    DataSet ds1 = xm.getDataSet("UPDATE [user_shop] SET user_name='" + name + "',user_shop='" + a2 + "',user_sl='" + a7 + "',user_rmb='" + a8 + "',user_n='" + aa6 + "' WHERE user_shop='" + a2 + "'");//用户将商品加入购物车,更新数据库s.rScript(this.GetType(), "", this.Page);

    5.2.3 会员注册及会员中心的管理

    会员注册部分主要包括用户注册界面和对用户注册内容进行核实二个内容。

    在这一部分中用户须按照页面中的提示按规则如实的填写注册内容,否则会弹出相应的提示框提示用户那部分输入错误。

    (1)用户注册界面如图5.7所示。

    (2)在用户的管理中心用户可以修改用户资料,修改密码,查看购物车,查

    看订单,查看留言也可安全退出,实现如图5.8所示。

    图5.7 网上购物的会员注册页面

    图5.8 网上购物的会员管理中心

    以会员修改密码为例,如图5.9所示。

    图5.9 网上购物会员更改密码

    此实现过程是用一个Session变量存放会员的用户名,用户输入的用户名和密码与数据库中的记录进行核对,如果不正确则通知用户所输入的帐号或密码不正确,如果正确则比较用户输入的新密码和确认密码是否相同,若相同提交后则提示修改成功,对实现代码如下所示:

    string name = Session["useradmin"].ToString();//得到用户名

    string aa= FormsAuthentication

    .HashPasswordForStoringInConfigFile (this.TextBox5.Text, "md5");//得到用户输入的密码

    DataSet ds = xm.getDataSet("SELECT * FROM [user_a] WHERE [user_pwd]='" + aa + "' and [user_name]='" + name + "'");//得到匹配的用户信息数据集

    int count = ds.Tables[0].Rows.Count;//得到数据集中数据条数

    if (count <= 0)

    {

    s.rScript(this.GetType(), "",

    相关主题
    文本预览