ASP.NET项目开发全程实录(第4版)
上QQ阅读APP看书,第一时间看更新

2.3 系统设计

2.3.1 系统目标

对于典型的数据库管理系统,尤其是51电子商城网站这样数据流量比较大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应该满足以下目标:

 界面设计美观友好,操作简便。

 全面、分类展示商城内所有商品。

 显示商品的详细信息,方便顾客了解商品信息。

 查看商城内的交易信息。

 设置灵活的打印功能。

 对用户输入的数据,系统地进行严格的数据检验,尽可能排除人为错误。

 提供新品上市公告,方便顾客及时了解相关信息。

 提供网站留言功能。

 提供网上在线支付功能。

 系统最大限度地实现易维护性和易操作性。

 系统运行稳定、安全可靠。

2.3.2 系统流程图

51电子商城网站流程图如图2.2所示。

图2.2 51电子商城网站流程图

2.3.3 系统功能结构

为了使读者能够更清楚地了解网站的结构,下面给出电子商务网站的前台功能模块结构图和后台功能模块结构图。

51电子商城网站前台管理系统功能设计如图2.3所示。

图2.3 51电子商城网站前台管理系统功能设计

51电子商城网站后台管理系统功能设计如图2.4所示。

图2.4 51电子商城网站后台管理系统功能设计

2.3.4 系统预览

51电子商城网站由多个Web页面组成,下面仅列出几个典型页面,其他页面参见资源包中的源程序。

网站首页如图2.5所示,在其中展示出了商城推荐商品、热门商品等,并提供商品分类导航等信息。网站购物流程页面如图2.6所示,能够让用户清楚地了解在本网站购物的全过程。

网站购物车页面如图2.7所示,通过该页面网站会员可以详细了解和处理购物信息。网站后台页面如图2.8所示,主要包括订单管理、用户管理等。

图2.5 网站首页(资源包\TM\02\B2C\B2C\Default.aspx)

图2.6 网站购物流程页面(资源包\TM\02\B2C\B2C\buyFlow.aspx)

图2.7 网站购物车页面(资源包\TM\02\B2C\B2C\shopCart.aspx)

图2.8 网站后台订单页面(资源包\TM\02\B2C\B2C\AdminIndex.aspx)

2.3.5 构建开发环境

1. 网站开发环境

 网站开发环境:Microsoft Visual Studio 2017。

 网站开发语言:ASP.NET+C#。

 网站后台数据库:SQL Server 2014。

 开发环境运行平台:Windows 7/ Windows 10。

2. 服务器端

 操作系统:Windows 7。

 Web服务器:IIS 6.0以上版本。

 数据库服务器:SQL Server 2014。

 浏览器:Chrome浏览器、Firefox浏览器。

 网站服务器运行环境:Microsoft .NET Framework SDK v4.5。

3. 客户端

 浏览器:Chrome浏览器、Firefox浏览器。

 分辨率:最佳效果1280×800像素或更高。

2.3.6 数据库设计

1. 数据库概要说明

从读者角度出发,为了使读者对本系统后台数据库中的数据表有一个更清晰的认识,笔者在此特别设计了一个数据表树形结构图,该结构图中包括系统中所有的数据表,如图2.9所示。

2. 数据库概念设计

通过对网站进行需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为商品类型、商品信息、商品订单、订单详细和管理员信息实体。

为了使用户在网上购物时,能够按照自己所需要的商品类别进行选购,就需要将所列商品划分类别。商品类型的实体E-R图如图2.10所示。

图2.9 数据表树形结构图

图2.10 商品类型的实体E-R图

对于网上商城所展示的商品,为了使消费者详细了解商品,应将商品所有相关信息都展示出来。商品信息实体E-R图如图2.11所示。

图2.11 商品信息实体E-R图

当消费者选购好商品放入购物车后,如果不再继续购物,便可以前往服务台,进行选择商品运输方式等相关操作,然后提交订单,最后进行在线支付。商品订单实体E-R图如图2.12所示。

图2.12 商品订单实体E-R图

当用户提交完商品订单后,需要进一步了解所购买商品的信息,如所购商品的金额、数量、订单号等。订单详细实体E-R图如图2.13所示。

图2.13 订单详细实体E-R图

在网站的维护过程中,管理员的角色最为重要。本网站管理员信息实体E-R图如图2.14所示。

图2.14 管理员信息实体E-R图

3. 数据库逻辑结构设计

在设计完数据库实体E-R图之后,需要根据实体E-R图设计数据表结构。下面列出本程序中应用的主要数据表结构,其他数据表可参见本书附带的资源包。

(1)tb_Admin(管理员信息表)

表tb_Admin用于保存管理员的基本信息,如图2.15所示。

(2)tb_Class(商品类型表)

表tb_Class用于保存商品类别的基本信息,如图2.16所示。

图2.15 tb_Admin管理员信息表

图2.16 商品类型表

(3)tb_Detail(订单详细表)

表tb_Detail用于存储订单中商品的详细信息,如图2.17所示。

图2.17 订单详细表

(4)tb_BookInfo(商品信息表)

表tb_BookInfo用于保存商品的基本信息。在商品信息表(tb_BookInfo)中,ClassID字段是用来确定该商品所属类别的ID代号,与商品类别表(tb_Class)的主键ClassID相对应,如图2.18所示。

图2.18 商品信息表

(5)tb_OrderInfo(商品订单表)

表tb_OrderInfo用于保存用户购买商品生成的订单信息。在商品订单表(tb_OrderInfo)中,IsConfirm用来标识订单是否被确认,即在送货之前,确认一下收货人的情况,主要通过电话来联系;当确认完后,开始发送货物,发送货物状态用IsSend字段来表示;货物是否交到用户手中,用ISEnd字段来表示。从确认到货物移交到用户手中的每一步,都需要一个跟单员,其中跟单员ID代号用字段AdminID来表示,该字段与管理员信息表(tb_Admin)中的主键AdminID相对应,如图2.19所示。

(6)tb_Member(会员信息表)

表tb_Member主要用来存储注册会员的基本信息,包括登录名、密码、真实姓名等,如图2.20所示。

图2.19 商品订单表

图2.20 会员信息表

2.3.7 文件夹组织结构

为了便于读者对本网站的学习,在此笔者将网站文件的组织结构展示出来,如图2.21所示。

图2.21 网站文件组织结构图