1引言
1.1编写目的
通过本实验,深入了解电子商务系统的开发内容和运行过程。将所学的网络开发技术Asp.net 2.0运用到企业项目中去,后台使用数据库sql server 2005。同时开发过程要求运用软件工程方法和Case工具。
1.2项目背景
目前传统书店均以店面形式存在,存在销售图书区域性,客户相对固定,查询、更新
不快捷,投资较大等诸多问题。当代计算机网络发展非常迅速,越来越多的商品交易已成功的运用在电子商务上了。比较典型的电子商务网站有:易趣、亚马逊、阿里巴巴、当当网、淘宝网…
电子商务平台给企业带来更多的商业机会,同时也给客户的消费和交易带来很大的方便。
1.3定义
开发工具:Visual Studio 2005
开发语言:C#
开发框架:Asp.net 2.0
数据库:sql server 2005
系统运行环境:Windows server 2003、Windows XP SP2、IIS6、.NetFramework 2.0
1.4参考资料
[1]张海藩 软件工程导论 清华大学出版社 2003.12
[2]李玉林、王 岩 著, ASP.NET2.0网络编程从入门到精通 清华大学出版社 2006.9
[3]郝 刚 主编,袁永刚、严治国、何宇光 著,ASP.NET2.0开发指南 人民邮电出版社 2007.3
[4]前沿科技 曾顺编著 精通Div+Css网页样式与布局 人民邮电出版社 2008.2
2总体设计
2.1需求规定
3.1 基本功能
a) 客户信息管理功能:客户滨册、客户登录功能,其中客户信息要湂包括配送需要
的相关信息。
b) 图书分繻显示功能:按图书的分繻显示相应繻别的所有图书的信息,显示信息包
括:图书名称、作者、单价、图书简介以及图书对应的币面图片。
c) 图书订购功能:在图书显示界面中,客户可以选购图书,并指定选购的数量。
d) 购物车功能:客户选购图书后能方便地查看购物车内的物品列表及相关的单价、
数量、图书名称、总价等信息;并能从购物车中删除选定物品的功能。
e) 图书查找功能:按指定的查找繻别(图书名称、作者姓名、ISBN等)查找指定的
图书,并显示相应查找到的图书信息。
f) 管理人员信息管理功能:管理人员可能添加其他管理人员信息、管理人员修改自
身密码功能。
g) 图书入库功能:管理人员登录后能添加图书信息,其中包括:图书名、ISBN、作
者姓名、所幞种繻、单价、图书的简介以及图书对应的币面图片。
3.2 附加功能
a) 客户账号管理功能:管理人员能够列表显示客户的帐号信息、禁用选定的客戶帐
号,但不得删除客户帐号。
b) 图书库存管理功能:能实时更新和显示各图书在库存数量,对零库存的图书,只
能显示在客户界面,但客户不能订购。
c) 配送管理功能:管理人员能够列表显示所有订单,其中可分为:已回款、配送
中、原始订单三种状态,并对原始订单下达发货指定,订单转入配送中状态。
d) 新闻中心:管理人员能够管理新闻,及时发布书店新闻信息。
e) 投票绻统:通过简单的投票模块,获得用户体验反馈信息。
f) 电子邮件服务:管理人员能够通过及时有效的错误信息邮件,进行维护,使书店
安全运行。客户能够通过订单绻统的电子邮件确认,获得自己的订单信息。
2.2运行环境
硬件要求:cup pentium 2.0GHZ 以上 512M内存以上 至少10G硬盘
系统运行环境:Windows server 2003、Windows XP SP2、IIS6、.NetFramework 2.0
2.3基本设计概念和处理流程
该网上书店应用程序对应着一个 ASP.NET Web 应用程序类型的解决方案。包括以下几大模块:
•注册/登录
•目录管理
◆门类管理
◆分类管理
•商品管理
◆商品管理
◆商品详情管理
•搜索目录
◆普通搜索
◆精确搜索
•购物车管理
◆设计购物车
◆保存购物车信息
◆生成购物车ID
◆实现购物车访问功能
•处理顾客定单
◆实现定单系统
◆管理定单
•商品推荐
◆动态推荐
•添加顾客账号
◆顾客账号处理
◆创建顾客账号方案
•增强定单
◆定单增强功能
◆税收和发贷费用
•订单流水线
◆构建流水线
•顾客信息管理
•邮件系统(错误处理及定单通知)
◆构建邮件系统
•新闻管理
◆新闻分类
◆新闻管理
•投票
◆网站投票
•公告
•帮助
整个项目结构如下图所示:
3、各模块结构
1、用户管理
2、目录管理模块
目录管理主要有门类管理、分类管理、商品管理、商品详情管理。其中门类管理、分类管理和商品管理有添加修改和删除功能,商品详情管理有商品详情修改功能。管理员可以创建门类,对过选择门类来创建分类,对过选择门类、分类,来创建商品目录。商品管理可以将商品关联到多个分类,也可以从某个分类中移除。
a) 功能描述:
门类管理主要完成商品的一级分类,并对其进行添加、删除、修改等操作。
如图所示:
b)目录管理的设计流程图
c)删除目录流程图
3、商品管理模块
商品管理模块实现对有关商品的所有功能,不要包括商品的搜索、获取指定目录下的商品及商品信息的增加、删除、修改等功能。
1.商品管理
a)添加商品
b)修改信息(包括分类关联)
c)删除商品
2.商品详情管理
4、搜索
搜索有两种方式,普通搜索和精确搜索,普通搜索完成在标题中搜索,精确搜索完成在标题跟商品描述中搜索。
a)普通搜索
b)精确搜索
5、购物车
系统提供两种购物车的实现,一种普通的购物车,一种AJAX购物车。使得用户可以多选择。
用户通过点击添加商品到购物车,当用户下定单定时,用户的临时购物车就会与用户的账户关联,由于临时购物车也可以工作,因此即使在开发了顾客账户管理系统后,用户在结账之前仍然无需提供任何额外信息,如用户登录或者创建一个新的用户。
目前或许保存购物车的最好方法可能是为每个购物车生成一个唯一的ID,采用全局唯一标识符(GUID)来实现,然后以cookie和session数据的形式保存在用户的计算机中,这种方法的好处是即使用户的浏览器是禁用cookie的,系统程序也能够基于session数据正常工作。
a)添加商品到购物车
b)管理购物车
6、订单管理
订单管理模块实现对用户所下订单的管理。不要包括订单接收地址的设置、商品接收地走红的设置、订单的处理和猎取订单中的商品信息等功能。如图所示:
a)实现定单系统
定单采用邮件通知用户。当用户下定单成功后,会给用户发送一封确认邮件。等到发货后由发货单位给用户再次发送发货通知邮件。
b) 处理定单
i.显示已有定单
管理员通过输入相应的查询参数(如根据日期、定单号、状态、用户名等),系统返回对应的定单,以及定单的状态。定单管理员根据得到的通知改相应的定单状态。
ii.订单详情管理
7、商品推荐
商品推荐有多同的类型,如:销售升级商品,关联销售,将行色商品放在主页上。
本项目将采用综合“销售升级商品”和“关联销售”的方法来实现,
商品推荐为系统自动执行,当用户查看某商品的详细信息时,在此商品下面列出其他顾客在选择此商品的同时还选择了以下产品,有利于挖掘潜在客户。
8、增强定单
a)定单增强功能
b)税收和发贷费用
9、订单流水线
a)构建流水线
10、顾客信息管理
11、邮件系统(错误处理及定单通知)
错误报告,本本项目中,将通过电子邮件的方式发送给网站管理员,另外也可以现实性入事件日志,或者保存到数据库,还可以保存到一个文本文件里。
另外还通过邮件系统在客户开出定单,在库存检查,在发货后等地方发送通知邮件。
12、新闻管理
13、公告管理
站内公告
14、统计管理
a)网站投票
用户选择相应的选项进行投票,可以查看投票统计。
4. 利用SQL Sever2005设计数据库
4.1创建数据库:sqlBookshop
4.2创建表:
表名:sqlBookshop
表名:pinglun
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | postID | int | 0 | √ | |||||
| 2 | bookID | int | 0 | √ | |||||
| 3 | textname | varchar | 100 | 0 | |||||
| 4 | userName | nvarchar | 50 | 0 | |||||
| 5 | text | varchar | 1000 | 0 | |||||
| 6 | speaktime | datetime |
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | bookID | int | 0 | √ | |||||
| 2 | typeID | int | 4 | 0 | |||||
| 3 | bookName | nvarchar | 50 | 0 | |||||
| 4 | bookAuthor | nvarchar | 50 | 0 | √ | ||||
| 5 | bookPrice | numeric(18,1) | 0 | ||||||
| 6 | publisher | nvarchar | 50 | 0 | √ | ||||
| 7 | publishDate | smalldatetime | 10 | 0 | √ | ||||
| 8 | bookImage | nvarchar | 50 | 0 | √ | ||||
| 9 | IsSelling | bit | 0 |
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | orderID | int | 0 | √ | |||||
| 2 | userID | int | 0 | ||||||
| 3 | orderTime | smalldatetime | 0 | ||||||
| 4 | orderSum | numeric(10,1) | 0 | ||||||
| 5 | payment | nvarchar(20) | 0 | ||||||
| 6 | ship | nvarchar(20) | 0 | ||||||
| 7 | buyerName | nvarchar(30) | 0 | ||||||
| 8 | buyerEmail | nvarchar(50) | 0 | ||||||
| 9 | buyerAddress | nvarchar(60) | 0 | ||||||
| 10 | buyerCode | nvarchar(30) | 0 | ||||||
| 11 | buyerTel | nvarchar(30) | 0 | ||||||
| 12 | Payed | int | 0 |
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | OrderID | int | 0 | √ | |||||
| 2 | bookID | int | 0 | √ | |||||
| 3 | quality | int | 0 | ||||||
| 4 | soldPrice | numeric(18,1) | 0 | ||||||
| 5 | paysum | numeric(18,1) |
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | typeID | int | 0 | ||||||
| 2 | typeName | sysname | 0 | ||||||
| 3 | fatherID | int | 0 | √ | |||||
| 4 | IsDelete | bit | 0 |
| 序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
| 1 | UserID | int | 0 | √ | √ | ||||
| 2 | UserName | nvarchar | 50 | 0 | |||||
| 3 | UserPwd | nvarchar | 50 | 0 |
5.1概述
基于项目特点,项目的安全控制主要由程序代码控制。SQL Server 端没有特殊地设定安全设置和检查。项目的用户身份验证、用户授权管理都由应用程序代码实现。
5.2 数据库验证方式
应用程序端连接数据库时使用的数据库验证方式为SQL Server验证。数据库连接串将使用CAPICOM技术加密存储在系统配置文件中。
6 数据库管理和设置
6.1 概述
本节内容与数据库功能无关,将从系统的数据库运行角度出发,对本数据库的属性设置和备份恢复策略提出指导性说明。
6.2 数据库属性设置
为了保障数据的安全和可用性,建议将数据库的故障还原模块设定为“完全”,这也是 SQL Server 的默认设置,具体操作步骤如下:
1)展开“数据库”,右击 HBSTPDB,单击“属性”。
2)选择“HBSTPDB 属性”对话框中的“选项”选项卡。
3)在“模型”下拉框中选中“完全”。
如图所示:
6.3 数据库备份恢复策略
数据库的大小和数据修改的频率决定了采用何种数据库备份恢复策略。如果数据库较小或修改的频度非常低,则可以只实施完全数据库备份,不过此时要定期清理数据库的事务日志,防止数据库的事务日志被填满。其他情况则需要使用差异备份。由于本案例教学涉及的数据库规模较小,建议每周做一次完全备份,中间间隔两天做一次差异备份。
6.4 数据库运行日常维护
SQL Server 的一个优势就是对日常维护的要求比较低,但为了追求更高的可用性和安全性,建议每周做备份,同时注意将备份放在不同的备份媒体中,如多个硬盘。下载本文