第 2{;卷第 6期
V01.28 No.6
长 春师 范学院 学报 (自然科学版 )
Journal ofClmngchun Normal University(Natural Science)
2009年 12月
Dee.2009
ASP.NET开发 网上 图书销 售 系 统
刘 海 蓉
(黄 冈职业技 术学 院 ,湖北 黄 冈 438002)
[摘 要】业务逻辑基础类库的编码实现是整个逻辑 层实现的核心 ,如数据库 连接类 和系统设 置类 以
及购 物车信息类 。它可 以通过具体各模块 的界 面和后 台编 码来 实现 。本 文对 一个电子 商务应 用系 统
—
— 网上 书店进行 了需求分析 、概要设计 、详细设计实 现,初步建立 了一个网上 图书店。
【关键词]网上书店 ;模块 ;购物车 ;开发
[中图分类号 ]TP31
[文献标识码 】A
[文章编号】1008—178X(2(K}9)06—0018—06
0 引言
目前 国内网上书店前景看好 ,行业竞争也日趋激烈 ,许多大型的网上出版物交易平 台如当当网、卓越亚
马逊图书凭借技术优势和先进的营销理:念,市场 占有率可观 ,国内网民数量连年激增 ,大约有 87.7%的网
民有过 网上 购物经 验 ,其 中 27.6%的网 民购买 的是 图书 ,26.4%则 购买 了音像 制品 。这一 现象 充分说 明 在线
出版 物销售 有着广 阔 的市场 空间 ,是 未来 的发展 方 向。开发 网上书店 ,打破 了商 业往来 的时 间限 制 ,节 约公
司营运 成本 ,提高 了客 户购 物的积极 性 ,节 省 了顾 客 的购物时 间和精 力 。
l 系统 功 能模块 规划
1.1 业务逻 辑模 块
(1)在 客户端 即前 台组成 部分
① 图书列表 模块 :该模 块 主要 显示 图书 的封面和 图书 的详 细 信息 ,提 交购 买 。
②购 物帮 助模 块 :列 出购物 流程 中可能碰 到的 问题并作 出 回答 ,提供 用户 参考 。
③购物车模块 :查看购买图书清单 ,修改购物车信息 ,清空购物车内容,提交结算 。
④会员 功 能模块 :会员 注册 、登 录和修改 个人详 细信息 的功 能 ,帮助 忘 记密码 的用 户 找 回密码 。
⑤汀单和图书搜索模块 :根据选择的图书类别列出所有该类图书,对会员用户提供订单查询功能。
(2)在 管理端 即后 台组 成部分
① 图书类别 管理模 块 :添加 新的 图书类别 名 ,列 出所有 图书类 名 ,提 供更 、修 改 和删除 的功 能 。
② 图书维 护模块 :录入新 书 的详 细 信息 ,包 括所 属 类别 、 内容 简 介 、上 传封 面 图片 、定 价 和会 员 折 扣
率 ;列 出所有 已有 图书提供 更新 、删 除 的排列 的功 能 。
③会 员 管理模块 :列 出所有 注册 会员 的详 细信 息 ,提供 更新 、删除 功能 。
④ 订单 维护模 块 :根 据处 理状态 列 出订单 明细 ,更 改订单 处理状态 ,更新 、删除功 能 。
⑤ FAQ管理模 块 :添加 、修改更 新 和删除 问题 及答 案列表 。
⑥ 管理 员维护模 块 :查 看管理 员登 录成功记 录 ,修 改管理 员密码 ,删 除管理 员功 能 。
⑦ 销 售统计模 块 :按 月份 显示各 类 图书的销 量 ,按 图书名 或价格 区 间显 示 图书销量 。
[收稿 日期]2009—06—12
[作者简介 ]刘海蓉 (1977一),女 ,湖北黄 冈人 ,黄 冈职业技术学院讲师,从 事高职教育 、计算机研究。
- 18 ·
1.2 功 能
图 1 客 户 端 功 能模 块 示 意
图 2 管 理 端 功 能模 块
2 详 细设 计 与实现
2.1 规划 Web应 用程 序结 构
2.1.1 配置 站点 web.config文 件
通过 web.config文件 中配置 站点 的 ASP.NET Web应 用程 序 ,本 例 中将 设 置连 接 字 符 串连 接 到 数 据 库 服
务器 ;启 用 Forms认 证 ,从 而使用 成员 资格 管理提 供程 序 ;以后 根据设 计 上 的需 要 还要 添加 相应 配 置节点 。
2。1.2 按访 问权 限创 建页 面 目录
系统 的用 户按 照权 限 分为 :管理 员用 户 、会员用 户 和匿名 用户 ,本 例分 别置 于 Admin和 Customer文 件 夹
及根 目录下 ,针对 目录来设 置 角色 的访 问权 限。
2.1.3 用 Theme和 Skin规划 网站 的风 格
方便 用 户对 页面 显示 样式 控制 ,包 含一份 样式 表 文件 *.es$和 *.Skin分 别 用 于规 定 HTML控 件 和 WEB
控件 的表现样式 ,将页面表现与业务逻辑分离 ,即将数据 的显示和控制分离 ,降低对开发者的要求 ,增强开
发 的合理 性 和提 高开 发效率 。
2.1.4 用 MasterPage和 SiteMap规 划 网站 的结 构
MasterPage和 SiteMap均 是 ASP.NET2.0的新增 功 能 ,前 者用 来规 划 一 系列 的 页面 和 页面 布 局 ,后 者 用 来
规 划整个 网 站 的层 次 结构 ,再 配合 Theme使得 网站迅 速 UI定 型 。
· 19 ·
整个应 用程 序 的结 构框架 如 图 3所 示 :
h ttP :I,locm..tho t,by 工j,
裙 £: Admin — — — — —
芝 疆蜀茧gl嚣 ———————公 序集合
通 App_Dat~—
固 》 App ,htmes
—
—
转 理 员 权 限页 面集
合. 即后 台 页 i1If集 合
数 据库 文什
国
MistBlu~
j 鞠 £: sk’,B1ut
主 题 文 件 ,包 括 C$8文什 和 web控 件 皮 肤
艺 Bin
田 £
0 一菱:
瓣 国 孵 辩 瓣 ∞
—
—
—
用 户 自定 义 拄 件 , 组 装页 面 的元 繁
— 会 员 权 限页 面 粲
商 翻
国
国
x s a m L .
p t r x . 一x 1
S .o^K t t P.▲
~ t p t= .毫P P e p
■ .d a b i t t k e .
f q q o‘t 0 d y
t●t-一王o●● o r^
D f f F 1 M b o p
““h d 吖.兰“
P. ●●
口 d ddd围渤幽
r●t .0.1 t
‘ .●a n n
㈨ 吣 小“
s c c工 丸C
e●h h e t
帅w
‘
瓣 迂
潲 口
x ▲
;
p
x
s f
t t
t B
r ^
r
s
p
x
.
P
p x x i ;
s × , p p s .
^ p ● s s . t
m ^ = t e r
—
—
匿 名 权 限
站 布 局 岛定 义 模 扳 ,按 布 局 装
控 件 , 快 速 ,r发 页 面
-页
—]————~ 一——务权限用户枉本站的地图 航文件
二 !
全站鹿用程序配段文件
图 3 全站应用程序结构和 页面组织图
2.2 系统公 共模块 程序集
页 面 中的事件 响应 代码 和后 台逻辑 代码 都将 频繁引用 该类 ,是整个 业务 逻辑 实现 的基 石 。
2.2.I 数 据库连 接类
因系统中有大量涉及数据库的操作,一旦操作不当将导致系统效率低下 ,故将这些操作封装在公共类库
之中,避免误操作影响系统性能 ,同时也提高了系统的扩展能力 。
2.2.2 输入 检查类
信 息管理 系统 要面对 大量 数据 录入 问题 ,设 置输 入检查 可有 效避免人 为错 误 录入信息 ,同时也 能预 防非
法 字符 的入侵 造成 系统 无法正 常工作 。这 里还 涉及 正则表 达式 的运用 ,以对参 数 录入做 出要求 。
2.2.3 系 统设置类
提供与 系统设 置相关 的属 性和方 法 以供 调用 ,如获取 连接字 符 串 ,获取 系统 内置角 色名称 等 ,在 系统 成
员资格 管理 中起 到 了关键 作用 。
2.3 自定义 控件 的开发
本 系统 中展示 图书 ,供用 户浏览 将是 页面设计 的重 点 ,采用 模块化 的思 想很容 易想 到开发 一个 展示 图书
基 本信 息 的控件 ,于是 所有 的显示集都 由该 控件 组成 ,称 其为显 示 图书缩略信 息控件 (smartInfo.ascx),主要
功能 为绘制表 格加 入 图片 、文 字和超 级链 接。
系统登录控件实现登录之后 ,相应开发欢迎用户信息控件 (welcomePane1.ascx),并提供该会员的权限操
作,如修改个人信息和密码 ,查询订单和注销退出等功能链。
前文 已提及采 用页 面 (aspx) =模 版页 (Masterpage) +用 户 控件 (ascx) 的开发 模 式 ,为 实 现设 计 目标
还要 开发 大量 的用户 控件 ,并优先 考虑 在应用 现有 的系统控件 上扩 展实现 。
2.4 管理端 界 面开发
2.4.1 管理端 功能 与组成
(1)图书类别管理 ;(2)会员维护 ;(3)订单维护 ;(4)FAQ管理 ;(5)管理员维护 ;(6)查看销量统
计 。
2.4.2 首页框 架设 计
· 20 ·
2.4 3 图书类别 管理 模块
该模 块 实现对 仓 库 中图 书类 别 的分类 管理 ,提 供显 示库 存 图书类别 列表 功 能和 添加 图书 分类 功能 。 图书
类别 的列 表显 示 、添加 、修 改 和删除 功 能都 在 用 户控 件 BookTypeMgr.ascx中实 现 ,采 用 了 SqlDataSource控 件
连 接数据 源 ,并 通过 GridView控件 显示 数据列 表 ,通过 启用 相关 功 能实现 编辑 和删 除 。
2.4.4 图书信息 维护 模块
在 完成 类别 维护 之后 ,完 成类 别之 下 图书信 息 的维 护 ,该 模块 提供 添加 、删 除 和修 改 图 书 信息 的功 能 ,
并能够按书名模糊搜索。
该模 块是 整 个 管 理 模 块 的 核 心 ,是 实 现 过 程 中 的 难 点 , 涉 及 的 控 件 有 BookList.ascx (图 书 列 表 ,
BookAdd.ascx (添 加 图书 ),BookModify.aSCX(修 改 图书信息 )。
2.4.5 会 员维 护模 块
会员维 护 模块 的 功 能 主要 由会 员 列 表控 件 (MemberList.ascx)来 实现 ,另外 本 系统 采 用 ASP.NE3E.0的
成 员管 理 与 自定 义 成 员 扩 展 相 结 合 的 方 式 , 因 此 要 注 意 在 删 除 了 一 条 记 录 之 后 还 要 调 用 Member.
ship.DeleteUser删 除 ASP.NET成员 管理 生成 的用户 。
2.4.6 订 单维 护模 块
订单 处 理 模 块 是 本 系 统 的 本 质 所 在 , 主 要 由 订 单 列 表 (orderList.ascx) 和 订 单 详 细 信 息 页 面
(orderDetail.aspx)实 现 。 由 FromView控件从 OrderDetail表 中读 取数 据 ,显示 出定 单 的详 细 资料 ,并提 供 相关
操作 ,可 以删 除或 者开 始配 货 或者立 即发货 物 ,各操 作将 把操 作完 毕后 的订 单状 态 写 入 OrderDetail表 的订单
状态 字段 。
2.4.7 管理 员维 护模 块
管理 员 模 块 的 主 要 功 能 由 管 理 员 密 码 修 改 界 面 (Changepwd.aspx) 和 管 理 员 登 录 界 面 ( n/
Default.aspx)以及查 看登 录记 录 页面 (Loginrecord.aspx)来 实现 。
2.5 客 户端 界 面开发
2.5.1 客 户端 功能 与组成
概 括起 来 客户端 具有 的功 能如 下 :
(1) 内容丰 富美 观 的页面设 计
(2)按 照 图书类 别来 浏览 图 书
(3)查 看 图书 的详细 信息
(4)管 理购 物 车的功 能
(5)确 认购 买 、输入 收货 人信 息 ,提交 订单
(6)根据关键字查询 图书信息
(7)根 据 订单 号查 询订 单
(8)查 看 购物 帮助
(9)用 户 注册 和个 人信 息维 护
(1o)找 回密码 的功 能
2.5.2 首 页架构 设计
客户端 首 页主要 分 为用户 登 录注册 区 、图 书展 示 区 、图 书列 表 导航 区 、站 点 地 图导 航 区 四部分 ,其 中图
书列表 导航 区 ,提供 按类 别 列表 和按销 售 量列表 两种 方式 ;图书展示 区包 括新 书 推荐栏 和浏览 区 ,提供 图 书
搜 索 和订单 搜 索功 能 ;页面底 部 提供进 入 管理端 首 页 的人 口。
2.6 客户端 主要功 能模 块 的开发
客户端 的主要 功能模 块有 登 录注 册模 块 、图 书浏 览 模 块 和 购 物 车及 订 单 模 块 ,设 计 思 路 和 实 现 方法 如
下 :
.
2.6.1 用 户 注册登 录模 块
本系统 中,用户信息分为两部分 :机密信息与扩展信息。机密信息包括密码 、密码 问题、密码答案和发
· 21 ·
退
图 4 登 录与 注 册 流 程 图
送 密码 的 E—mail;扩展 信息 则包 括用 户 的 真实 姓名 、联 系 方式 、通 讯 地 址 、常 用 E—mail等 (与 前 一 E—
mail可 以不 同)。本模 块通 过系统 自带 的登录控 件稍 做扩 展 即可实 现 。
2.6.2 图书浏览 相关模 块
(1)最新推荐图书由 TheNewAndRecomand.ascx控件实现,它获得和设置关于最新推荐书籍的基本信息 :
包括 封面 图片 、图 书简介 、各级别 会员价 格和购 物车链 接 。所 有这些 功能都 通过 FormView与 SqlDataSource绑
定实 现的且 无须 编写代码 。
(2)最新 图 书 列 表 由 NewBookSmart.ascx控 件 实 现 。依 次 显 示 2O本 图 书 ,通 过 绑 定 DataList与 SqlData—
Source控件 实现 ,通过 SQL语 句 每次降序 查询 图书列表 中后 20本 图书 。
(3)查 看图 书详情模 块 由 Booklnfo.ascx控 件实 现 ,与最 新推 荐类似 。
2.6.3 购物相 关模块
含 遇 ^
同 5 购 物 流程 图
(1)购物 车数据 存储方 式
建 立购物 车信 息元素类 (Shopp!: gI 一.. :U~c‘e-一 种 商 品 为一 个对 象 存 储 该 种 商 品 的 ID、名 称 、购 买 数
· 22 ·
量 、成交 价 ;购 物信息 类 (ShoppinghemColleetion):存 储所 有 的 Shoppingltem,同 时 提 供 添加 ,修 改 和删 除方
法。后者从 System.Collections.ObjectMode1.Collections(Of ShoppingItem)派生 ,Collection为泛 型集 合类 ,且集
合存 储 的元素 为 Shoppinghem。
(2)购 物 车模 块 (Shopeacart.ascx)
设 置 Web.eonfig中定义 Profile属 性 ,该属性 用 于记 录 当前 会话 用户 的扩 展信 息 ,这 里记 录 客户 浏 览商 品
的信 息 ,即购 物 车功能 实现 ,同时启用 匿名 用户 识别 ,即会 通 过 Cookie标 识每 位 匿名用 户 ,这 样 匿名用 户也
可 以选 购商 品 ,就本例 而言 只要 匿 名用 户 在下 定 单 之 前 注册 为会 员 ,同样 可 以提 交 订 单 实现 购 物 ,这样 看
Profie功能虽与 ASP的 Session类似,但 Profile最终将存人数据库而不像 session被销毁 ,功能大大增强。
(3)下订 单模 块 (pay.&sex)
业 务逻辑 描 述 :首先判 断是 否选 购商 品 ,无 则 返 回 ,若 已经选 购再 判断是 否 为会 员 ,若是 则从 会员 信息
表中读取预设信息。页面初始化由 FormView控件绑定 SqlDataSouree完成 ,“确定下单 ”按钮要处理的事件包
括 :加 入订 单 到 OrderList表 ;返 回 OrderlD;将 Profile.ShopCart内 的数 据 插 入 到 OrderDetail表 中 并 清 空 Pro.
file.ShopCart集合 即购 物车 。
3 结 语
本 系统 还有 许 多需要 改进 的地 方 ,例如 应用程 序查 询功 能不 够灵 活和 强大 ,这些 问 题都 要在 后期 维护 和
扩展 中逐一 发现 和改 进 ,并最 终使 该 Web应 用程 序走 向成熟 ,实 现完 整意 义上 的 电子商 务应 用 。
【参 考 文 献 】
[1]奚江华 .ASP.NET2.0开发详解一使用 VB[M].北京 :电子工业 出版社 ,2008.
[2]Alex Hon~r and Dave Stmsmm1.Inside ASP.NEr Web Matrix[M].New York:Wrox Press Ltd,1999.
[3]李正希 ,胡 方霞 ,陈发吉 .ASP.NUr案例开发 [M]。北京 :中国水利水电 出版社 ,2005.
[4]王则先 .Microsoft Corporation SQL Server2000数据库开发手册[M].北京 :科学 出版社 ,2001.
[5]石志 国.ASP.NET实用案例教程 M].北 京 :清华大学 出版社 ,2003.
[6j彭雪冬 ,柯 建林 ,吕洋波 .网站 建设 实用 开发精粹 [M].北 京 :人 民邮 电出版社 ,2006.
[7]梁建 ,全宋 修 ,舵孙强 ,等 .专家门诊一AsP.NEr开发答疑 200问[M].北 京 :人 民邮 电出版社 ,2005.
[8]Pard Wilton,JoIm W.Cdhy.Beginning SQL[MJ.Indianapohs:Wiley,2005.
ASP.NET Online Book Sales System Development
IJU Hai—-rong
(Huanggang Polytechnic,Huanggang 438002,China)
Abstract:The realization of the entire logic of the core layer,such as database connection type and category of system set—
tings,as well as the type ofinformation to Cart CgXI be achieved through the concrete realization ofthe interface ofthe module
design and the background coding,based on business logic class library code.E—business applications on a system —online
bookstore are discussed,analyzed and designed in this paper and a web—based bookstore is established preliminarily.
Key words:Online bookstore mod ule development to Cart
· 23 ·