网上购物电子商务系统论文
网上购物电子商务系统论文第2页
地作为前台用户服务层和后台数据服务和数据存储之间的桥梁。在电子商务系统中,商务服务层将由在windows组件服务中执行的事务处理和非事务处理.net服务组件构成。(3)数据服务层,该层负责检索和操作在一个或者多个数据存储中存储的数据。通过将数据访问和操作分离到独立的逻辑层中,就可以将商品服务层从附属数据存储的细节中抽象出去。在该电子商务系统中。数据服务层将实现为一组封装了sql数据访问逻辑,并向商务组件返回结果集的存储过程。商务服务组件通过这些存储过程访问数据库中的数据。
整个电子商务系统的逻辑体系结构如图所示。
用户服务
用户交互
页面导航
数据表现
asp.net的webforms
业务服务
事务处理逻辑
业务规则定义
数据访问
.net的服务器组件
asp.net的web服务
数据服务
数据检索
数据操作
数据验证
sqlserver的存储过程
数据存储
数据存储
数据关系
数据完整性
数据库
2.3技术开发方案
我们根据应用系统的有关规范标准和具体业务需求,结合软件开发技术发展状况,选择了以下相应系统软件或工具软件,以确定科学、合理的开发方案。
具体如下表所述:
类别
软件名称
软件用途
数据库
sqlserver
后台数据库
web服务
iis
后台服务器
开发工具
vs.net
后台编码,页面设计
2.4系统技术平台
(1) 硬件:
web服务器1台、客户机若干台、网卡、集线器等。
(2) 软件:
web服务器为windows及以上版本,安装有iis。
u 客户机安装interneteplorer或netscapecommunicator。
u 相关软件,如:ie、sqlserver、vs.net等等。
第三章 系统设计说明
基于该系统的4个基本功能。从逻辑上将本系统中的整个电子商务系统划分4个子系统,这四个子系统分别为:产品目录浏览系统、客户账号管理系统、订单处理系统和库存管理系统。这里采用统一模型语言(unitedmodellanguage简称uml)来分析
3.1消费客户的使用案例
浏览目录
%26lt;%26lt;uses%26gt;%26gt;
搜索目录
查看产品
%26lt;%26lt;uses%26gt;%26gt;
%26lt;%26lt;uses%26gt;%26gt;
选择产品
管理购物车
创建账号
付款
%26lt;%26lt;uses%26gt;%26gt;
登录
管理账号
%26lt;%26lt;uses%26gt;%26gt;
浏览目录,消费者可以通过浏览产品目录或者搜索特定产品,查看和选择产品。当用户浏览目录的时候,可以遍历产品类别的层次,并且查看属于各个类别的产品列表
查看产品,当消费者通过浏览产品目录或者执行搜索到一个产品之后,就可以查看所有产品的信息,包括产品名称、产品描述、图片及价格。
选择产品,当查看完产品之后,消费用户就能够将其放到他们的虚拟购物车中,并选择要购买的产品。
搜索目录,消费客户也能够通过在产品目录中搜索特定的产品,查看和选择产品。用户能够输入包括产品名称、描述和sku(库存管理)在内的各种条件,与搜索条件相匹配的产品列表将得到显示。
管理购物车,消费客户能够查看虚拟购物车内的所有产品,并且可以删除或者更新各项的数量。当客户删除产品项或者改变了项的数量之后,系统会从新计算订货的估价以及小价,如果顾客的购物车为空,就显示一个友好的警告信息。因为购物车没有与客户的账号相关联,岁消费客户不必首先登陆到系统就可以管理购物车。
付款,在查看和管理了购物车之后,消费客户就可以执行付款过程,为选择的产品下订单。如果用户还没有登陆到站点,系统会在继续处理付款过程之前,要求他们进行登陆或者建立新账号。在登录或者建立新账号之后,系统就会要求消费客户输入其信用卡信息。接下来,客户就能够查看其订单细节,提交或者取消付款过程。在查看订单的时候,客户能够浏览订单上的所有产品项,也能够查看各项的小价、运费、税收、以及订单的总费用。
登录,如果消费客户想要下订单或者访问其过去的订单,系统会自动提示其登录到站点。使用者可以在购物会话期间的任何时候进行登录。登录到站点需要输入创建客户账号的时候规定的电子邮件地址和密码的组合。如果客户输入了不正确的组合,系统就会要求他们重新登录。如果用户没有客户账户,就要建立新账户。
建立账号,如果使用者以前没有建立客户账户,则会要求在订单之前建立账号,当使用者创建了新账号的时候,必须输入姓名以及联系信息和帐单地址以及发货地址。建立新的账号之后就可以回到商务系统,并且使用规定的电子邮件地址和密码组合进行登录。
管理账号,登录到商务系统,或者建立新账号之后,使用者就可以管理其的账号,该系统的账号管理功能只限于查看过去的订货历史。
3.2商务客户的使用案例
在商务系统中商务客户所进行的活动比消费客户的简单,这主要是商务客户不需要用户接口与系统交互,其用例图描述如下:
提交订单
请求订单状态
登录
商务客户
提交订单,商务客户进行的主要活动就是提交ml格式的电子订单,订单所包括的信息与商务可以付款过程中收集的信息相同。当商务客户提交订单的时候,必须提供用于登录系统的主要联系电子邮件地址和密码信息
登录活动就是商务客户提交订单过程中的组成部分,商务客户在提交了订单后,就可以定期的请求订单状态,当商务客户请求订单状态的时候,也会要求提供主要的电子邮件联系方式和密码。并对这些信息进行检验。
3.3系统活动序列
定义了系统终端用户所进行的活动之后,后台的商务过程可以使用下图所示的uml来描述
供货商
商务系统
客户
创建客户账号
下订单
e-mail订单
发送订单状态
接受订单
发送订单
发送订单到erp系统
接受订单状态更新
更新订单状态
收货
同步消息
异步消息
3.4系统管理模块
根据系统的功能可以将该系统划分成客户管理模块,购物流程模块。
3.4.1客户管理模块
不同的客户登录网上商场系统自然需要不同的权限,普通顾客和管理员自然不能同等对待,所以身份认证绝对是任意一个网上购物系统不可全少的部分,另外还有必要对所有的顾客进行管理。
从功能方面描述网上购物系统包括注册、登录、注销和更改个人资料四个主要内容,从数据流程来描述整个过程:
login
登录
网上商场对外平台
ins
database
details
migrate
客户管理
注册
3.4.2购物流程模块
购物流程的模块如下图所示:
网上购物模块
添加到购物车
列别选择
商品增删
信息统计
细节浏览
商品浏览
购物车管理
结帐
选择货物
信息更新
添加到购物车
列别选择
分类浏览
第四章 数据库设计
该系统采用sqlserver作为后台数据库去存储所有与系统关的数据。这些数据包括产品目录、客户账号以及各种订单信息。数据模型的最终目的就是规划能够有效地处理事务,并且保持应用开发的简洁性的关系数据库,并在数据库的规范话、性能优化以及数据的简洁性之间达到平衡。
4.1数据表设计
根据系统分析和功能的说明,可以将该系统的数据库划分为四个基本逻辑块
4.1.1 产品目录模块
产品目录模块存储了有关售卖产品以及在电子商务的目录中的组织信息,由产品信息表,产品类型表,产品类型描述表组成。
产品信息表
产品类型表
产品类型描述表
4.1.2 客户账号模块
客户账号模块用来存储消费客户和商务客户的信息,只构造一个非常简单的客户信息数据表
4.1.3 订单处理模块
订单处理用来存储所有电子商务系统所需要处理的订单信息,订单处理模块包括订单信息表和订购产品信息表
订单信息表存储了各订单包含的一般信息,其详细设计参数如图
订购产品信息表存储了订单上的各项产品的购买细纪录,其参数如下
4.1.4 购物车管理模块
购物车管理模块主要存储当前购物车的商品信息,用来存储临时或者永久的顾客的购物信息。当用户提交时该纪录将存储到订单表中。
购物车管理表存储了当前购物车的商品信息,其详细参数如下
4.2存储过程设计
通过封装数据访问逻辑,数据服务层中的存储过程就可以在商务服务类和数据存储之间提供一个抽象层,商务服务类型只需要执行存储过程,并传递所需的参数,即可以得到存储过程返回的预期的返回值或者结果集。
4.2.1产品目录
产品目录的存储过程主要获得和更新电子商务系统数据库中的产品类型表(categories)和产品类型表(productcategpries),这些存储过程有
sp_products_sel_byproductid,其代码如下:
alterproceduresp_products_sel_byproductid
@chrproductidchar(38)
as
selectproductid,sku,producttype,productdate,productname,
description,productsize,imageurl,unitprice,onsale
fromproductswhereproductid=@chrproductid
sp_categories_sel_bycategoryid代码如下
alterproceduresp_categories_sel_bycategoryid
@chrcategoryidchar(38)
as
selectcategoryid,categoryname,description
fromcategories wherecategoryid=@chrcategoryid
return
4.2.2客户账号
客户账号的存储过程主要是选择、插入和更新电子商务系统数据库中的客户信息表(customers)的数据。有如下存储过程
proceduresp_customers_login其代码如下
alterproceduresp_customers_login
(@stremailaddressnvarchar(50),@strpassword nvarchar(10),
@intcustomeridint output)
as
select@intcustomerid=customerid
from customerswhere
emailaddress=@stremailaddressandpassword=@strpassword
if@@rowcount%26lt;1select@intcustomerid=0
proceduresp_customers_ins其代码如下
alterproceduresp_customers_ins
(@intcustomeridintoutput,@nvchrcustomernamenvarchar(50),
@nvchremailaddressnvarchar(50),@nvchrpasswordnvarchar(10))
as
insertintocustomers
(customername,emailaddress,password)
values(@nvchrcustomerna