在线书店系统设计文档.docx
《在线书店系统设计文档.docx》由会员分享,可在线阅读,更多相关《在线书店系统设计文档.docx(16页珍藏版)》请在冰豆网上搜索。
![在线书店系统设计文档.docx](https://file1.bdocx.com/fileroot1/2023-2/6/39fd7913-e614-4618-8fd6-973de618350c/39fd7913-e614-4618-8fd6-973de618350c1.gif)
在线书店系统设计文档
在线书店系统(MyBookShop)
一、引言
1、项目背景
本项目是ACCP5.0ASP.NET理论贯穿案例部分。
系统大量采用VisualStudio2005中的新控件和新特性。
并且利用了当前最流行的AJAX技术。
2、参考书籍
《ASP,NET2.0宝典》---------电子工业出版社吕洋波
《ASP.NET2.0揭秘》---------人民邮电出版社StephenWalther
《ASP.NET2.0开发指南》---人民邮电出版社郝刚
《ASP.NETAJAX》------------机械工业出版社章立民
《征服ASP.NET2.0AJAX》—人民邮电出版社陈冠军
二、语言和环境
实现语言:
C#
环境要求:
开发环境:
VisualStudio2005;
数据库:
SQLServer2005
三、数据库设计
数据库名称:
MyBookShop
数据库表信息:
1、用户表(Users)
表名
Users
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
LoginId
nvarchar
用户登录名。
LoginPwd
nvarchar
登录密码
Name
nvarchar
真实姓名
Adderss
nvarchar
地址
Phone
nvarchar
电话
Mail
nvarchar
电子邮件
UserRoleId
int
用户角色,外键,对应UserRoles表的id
UserStateId
int
用户状态,外键,对应UserStates表的id
2、用户权限表(UserRoles)
表名
UserRoles
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
Name
nvarchar
用户角色
3、用户状态表(UserStates)
表名
UserStates
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
Name
nvarchar
用户状态。
4、图书表(Books)
表名
Books
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增长,标识种子为1。
Title
nvarchar
图书标题
PublisherId
int
出版社id。
外键,对应Publishers表的id
PublishDate
datetime
出版日期。
ISBN
nvarchar
图书ISBN。
不可重复,图书封面图片以ISBN.jpg命名,并存储于目录”\Images\BookCovers”中
WordsCount
int
总字数。
UnitPrice
money
定价
ContentDescription
nvarchar
是
内容描述
AurhorDescription
nvarchar
是
作者描述
EditorComment
nvarchar
是
编辑推荐
TOC
nvarchar
是
图书目录
CategoryId
int
图书分类id。
外键,对应Categories表的id
Clicks
int
图书浏览量
5、出版社表(Publishers)
表名
Publishers
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
Name
nvarchar
出版社名称
6、图书分类表(Categories)
表名
Categories
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
Name
Nvarchar
图书类型名称。
7、图书订单表(OrderBook)
表名
OrderBook
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
OrderID
int
总订单表ID。
对应Orders的Id
BookID
int
图书Id。
对应Books表的Id
Quantity
int
数量
UnitPrice
decimal
单价
8、总订单表(Orders)
表名
Orders
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
OrderDate
datetime
订单时间。
UserID
int
用户Id。
对应Users表的Id
TotalPice
decimal
总价
9、读者评论表(ReaderComments)
表名
ReaderComments
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
BookId
nvarchar
图书Id。
对应Books表的Id
ReaderName
nchar
读者名
Title
nvarchar
评论标题
Comment
nvarchar
评论内容
Date
datetime
评论时间
10、搜索关键字表(SearchKeywords)
表名
SearchKeywords
主键
Id
列名
数据类型
允许空
说明
Id
int
主键,自增,标识种子为1。
KeyWord
nvarchar
关键词
SearchCount
int
搜索次数
四、系统结构
本系统为B/S模式。
本系统采用三层结构开发。
分别为:
界面层、业务逻辑层(MyBookShopBLL)、数据访问层(MyBookShopDAL)。
数据访问层只负责与数据库交互相关的功能。
在业务逻辑层中不能出现与数据访问有关的ADO.NET操作或SQL语句。
表示层只允许调用业务逻辑层方法来实现数据绑定和展示。
系统模块结构图如下:
五、系统模块设计
1、管理员后台功能
图书分类管理
图书分类管理用于修改图书的分类。
如下图所示:
设计:
1、分类管理:
单击“修改”时,将选中的图书分类修改为下拉单指定的分类
2、列表显示:
使用GridView显示图书列表信息如图,并要求提供分页功能
3、光棒效果:
鼠标移动到的行高亮显示
4、全选系统:
选中“全选”按钮时,所有多选框选中
5、使用ObjectDataSource实现数据的绑定
类名称:
BBooks
继承:
隶属系统:
在线书店
namespace:
MyBookShopBLL
实现功能:
图书业务对象
类说明:
封装图书业务操作
主要属性和方法说明:
publicintID;//主键ID
publicstringTitle;//图书标题
publicstringAuthor;//作者
publicintPublisherID;//出版社ID
publicstringPublishDate;//出版日期
publicintISBN;//图书ISBN
publicintWordsCount;//总字数
publicfloatUnitPrice;//定价
publicstringContentDescription;//内容描述
publicstringAurhorDescription;//作者描述
publicstringEditorComment;//编辑推荐
publicstringTOC;//图书目录
publicintCategoryID;//图书分类ID
publicintClicks;//图书浏览量
publicDataSetgetBooks()//查询所有图书
publicDataSetgetBooksByTitle(stringtitle)//根据标题模糊查询
title:
图书标题关键字
publicDataSetgetBooksByID(intID)//根据主键ID查询
ID:
主键ID
publicDataSetgetBooksOrderby(stringCondition)//排序查询
Condition:
排序条件(出版日期和价格)
publicvoidupdateBooksCategoryIDByID(intID,intCategoryID)//更新图书分类
ID:
主键ID
CategoryID:
图书分类ID
类名称:
DBooks
继承:
隶属系统:
在线书店
namespace:
MyBookShopDAL
实现功能:
数据库访问
类说明:
封装了图书数据库操作
主要属性和方法说明:
publicstaticDataSetselectBooksByAll()///查询所有图书
publicstaticDataSetselectBooksByTitle(stringtitle)//根据标题模糊查询
title:
图书标题关键字
publicstaticDataSetselectBooksByID(intID)//根据主键ID查询
ID:
主键ID
publicstaticDataSetselectBooksOrderby(stringCondition)//排序查询
Condition:
排序条件(出版日期和价格)
publicstaticvoidupdateBooksCategoryIDByID(intID,intCategoryID)//更新图书分类
ID:
主键ID
CategoryID:
图书分类ID
图书详细信息的编辑和录入
图书详细页的编辑状态如下图所示:
设计:
1、使用DetailsView控件和ObjectDataSource完成图书的插入和更新功能
2、实现图书封面图片的上传
3、图书出版社使用下拉单进行选择。
4、出版日期使用日历控件进行选择(参考My97DatePicker)
5、图书目录使用在线文本编辑控件(参考FreeTextBox.dll)
2、前台相关功能
首页(default.aspx)
设计:
1、创建母版页,首页的内容页可以采用静态内容。
2、设置站点地图。
3、使用SiteMapPath控件显示当前页面的位置。
4、使用TreeView导航控件显示图书分类(使用XML文件作为数据源,为此,创建名为TreeView.xml的xml文件)
5、创建一个WebService,针对每一个关键字得到相似的关键字列表
6、使用AJAX的AutoComplete控件,通过调用WebService完成搜索提示功能。
图书列表展示(BookList.aspx)
设计:
1、使用DataList展示图书
2、排序:
提供“出版日期”、“价格”两种形式的排序方式,当单击“出版日期”时,结果以出版日期正序排序,此时,“出版日期”按钮变灰(不可选择)。
3、分页,提供“上一页“、“下一页”的翻页按钮,并显示“第X页共Y页”的信息。
当浏览第一页时,“上一页”变灰(不可选择)。
使用PagedDataSource分页类。
图书搜索页(Search.aspx)
设计:
1.实现关键字的模糊搜索,并记录每个关键字的搜索次数
2.关键字直接比较字符串即可,不要求区分大小写
3.相同关键字不可有多条记录
4.分页
5.排序。
图书详细页(BookDetail.aspx)