龙源期刊网 http://www.qikan.com.cn
基于.NET技术的在线图书购物商城设计与实现
作者:蒋洪峰
来源:《软件导刊》2014年第08期
摘要摘 要:对在.NET平台下,基于三层结构的B2C图书商城的设计和实现进行了研究。运用ASP.NET技术,实现了图书前台在线购物和后台管理功能。利用三层结构设计了购物网站,使得系统设计和修改更加方便,并具备良好的可扩展性。 关键词关键词:ASP.NET;三层结构;图书购物商城 中图分类号:TP319
文献标识码:A 文章编号文章编号:16727800(2014)008011003
作者简介作者简介:蒋洪峰(1990-),男,安徽亳州人,西华师范大学数学与信息学院硕士研究生,研究方向为计算机辅助教学与管理。 0 引言
随着互联网的迅猛发展和广泛应用,电子商务正在不断改变着人们的生活,并伴随着电子商务市场逐步步入正轨。如今便捷的网上购物已经成为人们喜欢且时尚的热门消费方式之一,网上书店前景广阔。本系统区别于一般的网上购物系统,它以流行的三层结构为框架,利用ASP.NET技术,以及Visual Studio 2008和SQL Server 2005两种软件来设计和实现。 1 基于.NET的三层结构
三层结构包括UI、BLL、DAL(用户界面层、业务逻辑层、数据访问层),其中UI层包含管理访问者和客户业务之间交互的所有程序逻辑,服务器端根据客户端请求和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML页面,也可以根据客户端浏览器类型,生成特定的数据表现类型,使ASP.NET网页能动态地编译到受控类中,用来提高执行性能。业务逻辑层用于接收用户表示层的请求并向表示层返回一个结果。由于需要处理数据库连接、处理用户需求,所以UI层是三层结构中最核心的一层。数据访问层负责保存系统数据,当业务逻辑层有请求时会发送给业务逻辑层。业务逻辑层与数据库以及数据访问层划分开,因而更加有利于系统的开发、维护。 以上3个层次是严格按照层次组织的,上层的程序只能调用它的下一层程序,既不能隔层调用,也不能反向调用(调用上层),即UI层依赖于BLL层,BLL层依赖于DAL层。
龙源期刊网 http://www.qikan.com.cn
微软对此做了大量工作,以简化开发和部署应用程序。.Net Framwork 作为开发人员的有效工具能够屏蔽底层的许多细节,让开发人员专注程序功能设计的逻辑部分。在语言支持方面,ASP.NET主要支持的语言包括VB.NET和C#。ASP.NET并不是ASP的简单升级,它相比于ASP有很大的提升,其中最大的提升在于提高了编程效率并引入了可视化编程环境。ASP.NET提供了一个Web应用程序模型,该模型由多组控件和基本结构构成,这样比较容易构建起Web应用程序。Web网站的界面包含了Web窗体、Web用户控件和母版页,它们共同构成应用系统的界面层,业务逻辑层则保存在后置代码文件中。在使用三层架构的应用系统中,界面层的数据程序逻辑通常表现为各种事件。开发人员直接使用ASP.NET控件集和一些类,能够有效构造界面层和业务逻辑层。 2 系统分析和设计 2.1 系统分析
网上图书商城是为客户提供一个通过Web网站实现图书购买的平台,主要是提供图书商品的展示和购买服务,在商家和消费者之间建立一个直接沟通和交流的渠道。购物平台要体现网上购物的整个流程,客户可以通过购物商城浏览商品信息,自由选择购买。客户在确定购买后,会主动生成购物订单并转送到收银台结算,购物后还可以对商品进行评价。
本系统主要涉及到的使用者包括客户、业务员。客户角色的功能包括:①能够在网站注册用户、填写用户个人信息、修改个人注册信息、修改个人密码;②能够浏览图书列表、查看图书详细信息,将图书加入购物车,并可修改购物车的货品和数量;③在登陆网站后,能够根据购物车里选购的图书下订单,查看自己所有订单和订单的详细信息,并可查看订单当前的处理状态;④可以在订单被业务员确认前取消订单。业务员角色的功能包括:①能够为图书商城添加新的图书信息,并可修改图书信息;②能够查看客户的新订单和老订单,并确认新订单,确认后的订单可以交给库房管理员发货;③能够根据回款情况确认订单回款,结束订单;④可以统计订单情况(一段时间的订单数量、总金额等);⑤可以查看图书销量情况;⑥可查看图书信息和图书库存。 2.2 系统三层结构
系统三层结构(用户界面层、业务逻辑层、数据访问层)与公用对象以及数据输出对象之间的关系如图1所示。 图1 系统三层结构 2.3 功能模块分析
前台系统功能主要包括会员注册和登录,商品、新闻、广告等信息的浏览和查询,书讯快递、推荐图书和热门图书的查询,以及购物车、购物结账。功能如下:
龙源期刊网 http://www.qikan.com.cn
(1) 会员注册和登录。用户按照要求填写自己的相关信息注册成为本网站的会员,注册用户可以修改自己的注册信息,以便商品能准确到达顾客手里。如果密码遗失可以通过回答密码提示问题重置密码。如果长时间不登陆,则需要重新登录。
(2) 商品、新闻、广告等信息的浏览和查询。用户可以在网站上浏览自己感兴趣的商品信息,根据需要浏览搜索本站的图书信息。
(3) 最新图书、推荐图书和热门图书的查询。用户可以查看本站推荐图书信息和热门图书信息,并根据需要对自己满意的图书商品下单。
(4) 书讯快递。书讯快递可以让会员一目了然地看到图书点击情况并且根据需要查看是否有自己需要购买的图书。
(5) 购物车。会员用户可以将所需图书商品添加到购物车,点击购物车将显示暂存于购物车里的商品名称、价格、数量信息,并且可以对购物车进行添加、修改、移除等操作。 (6) 购物结账。用户挑选好商品后就可以进行结账,结账需要先填写订单,提交订单,系统验证订单有无错误,验证通过,根据订单选择的支付方式结算。
后台管理系统主要包括对业务员的管理、用户管理、商品管理、订单管理等。
(1) 业务员管理。通过此模块可以添加或者删除业务员、设置业务员的管理权限、设置业务员密码、修改业务员资料等。
(2) 用户管理。对用户信息资料进行维护和审核,包括修改用户资料、查询用户、删除用户等。
(3) 图书管理。对图书商品信息进行管理,包括商品类别添加、商品信息修改和查询等。
(4) 留言管理。对于用户购买图书后的留言进行浏览和编辑。
(5) 订购管理。查看订单中的信息,确定配送地址,并将订单信息发送给配送员。 2.4 数据库设计
数据库是整个系统的核心,因而规范地设计数据库对于整个系统的实现至关重要。本系统数据库采用SQL Server 2005根据三层之间的关系进行了数据库设计如表1所示。 在程序需要连接数据库时只需要连接该数据源就可以实现数据库连接。
龙源期刊网 http://www.qikan.com.cn
2.5 图片、类文件存放
图片存放于目录文件夹的Images文件夹和ftp文件夹下,商品图片存放于images下的productImages文件夹下,并将商品文件图片名称和目录存放于tb_Image数据库表中。类文件存放于App_Code文件夹下,如图2所示。 3 系统实现 3.1 表示层实现
该系统按照Web网站设计特点,前台页面设计简洁明了,使会员进入该系统就能轻易理解如何使用。该系统主页面功能分布明确,导航清晰。前台首页界面如图3所示。 图2 App_Code中的类文件 图3 首页界面
在页面的左侧显示着图书种类,并且可以根据分类信息点击进去,左下侧显示网上其它图书购物商城,点击进去就可以进入其链接页面。顶端显示了图书的类库、后台管理和购物车。右侧显示书讯快递,可以一目了然地看到浏览量最高的图书信息,可以点击进入浏览。下侧显示推荐图书和热门图书。这些显示都是通过控件动态显示图书信息,这些控件的使用可以大大减少编程量和维护量。 3.2 后台管理
后台管理页面可以对用户和管理员进行管理,如图4所示。可以查看、修改和添加图书类别,管理图书信息查看购买图书会员的留言和订单信息。 图4 后台管理页面 3.3 业务逻辑层
业务逻辑层是用户界面层和数据访问层的桥梁,它将界面层和数据层的代码分开,通常需要定义很多方法,以类库的方式封装系统需要处理的方法以便于直接调用[4]。本系统将逻辑层定义在类文件中用以完成数据库操作和实现其它功能。 3.4 数据访问层
数据层处于最低层,用来定义、维护、访问和更新数据。本系统通过建立BookShop数据库及其表格来实现,其中包括ASP.NET应用程序中的数据访问类库。
龙源期刊网 http://www.qikan.com.cn
3.5 ADO.NET技术
ADO.NET技术是数据库访问技术,是本系统实现的关键技术。ADO.NET使用了一种基于XML的暂留和传输格式[5],它一般不直接对数据库进行操作而是通过在客户端读取DataSet对象来获取所需数据,在本系统的业务逻辑层中多次使用了此技术进行数据库的连接存储和返回值操作。 4 结语
本文基于三层结构实现了在线图书购物商城系统。三层结构作为当前流行的Web开发方式之一具有其独特的优势,它在Web开发中的应用显著提高了程序各部分之间的性,增加了系统的灵活性和代码的重用性。因此,选用三层结构开发Web系统能够使系统开发更加便捷、有效。
参考文献参考文献:
[1] 杨环俊,王雅琳.基于ASP.NET和B/S三层结构的校园网上商城研究和实现[D].长沙:中南大学,2010.
[2] 胡迎松,彭利文.基于.NET的web应用三层结构设计技术[J].计算机工程,2003(1). [3] 蒋培,王笑梅.ASP.NET web程序设计[M].北京:清华大学出版社,2008. [4] 张杰敏.ASP.NET web程序设计(C#版) [M] .北京:北京大学出版社,2011. [5] 张跃廷,苏宇.ASP.NET开发典型模板大全[M] .北京:人民邮电大学出版社,2009. 责任编辑(责任编辑:孙 娟)