1、在线书店系统设计文档在线书店系统(MyBookShop)一、引言1、项目背景 本项目是ACCP5.0 ASP.NET理论贯穿案例部分。 系统大量采用Visual Studio2005中的新控件和新特性。并且利用了当前最流行的AJAX技术。2、参考书籍ASP,NET2.0宝典-电子工业出版社 吕洋波ASP.NET2.0揭秘-人民邮电出版社 Stephen WaltherASP.NET2.0开发指南-人民邮电出版社 郝刚ASP.NET AJAX-机械工业出版社 章立民 征服ASP.NET2.0AJAX人民邮电出版社 陈冠军二、 语言和环境实现语言:C#环境要求:开发环境:Visual Studio
2、2005;数据库:SQL Server2005三、 数据库设计 数据库名称:MyBookShop 数据库表信息:1、用户表(Users)表名Users主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。LoginIdnvarchar用户登录名。LoginPwdnvarchar登录密码Namenvarchar真实姓名Adderssnvarchar地址Phonenvarchar电话Mailnvarchar电子邮件UserRoleIdint用户角色,外键,对应UserRoles表的idUserStateIdint用户状态,外键,对应UserStates表的id2、用户权限表(UserR
3、oles)表名UserRoles主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。Namenvarchar用户角色3、用户状态表(UserStates)表名UserStates主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。Namenvarchar用户状态。4、图书表(Books)表名Books主键Id列名数据类型允许空说明Idint 主键,自增长,标识种子为1。Titlenvarchar 图书标题PublisherIdint 出版社id。外键,对应Publishers表的idPublishDatedatetime 出版日期。ISBNnvarchar图书ISB
4、N。不可重复,图书封面图片以ISBN.jpg命名,并存储于目录”ImagesBookCovers”中WordsCountint总字数。UnitPricemoney定价ContentDescriptionnvarchar是内容描述AurhorDescriptionnvarchar是作者描述EditorCommentnvarchar是编辑推荐TOCnvarchar是图书目录CategoryIdint图书分类id。外键,对应Categories表的idClicksint图书浏览量5、出版社表(Publishers)表名Publishers主键Id列名数据类型允许空说明Idint主键,自增,标识种子为
5、1。Namenvarchar出版社名称6、图书分类表(Categories)表名Categories主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。NameNvarchar图书类型名称。7、图书订单表(OrderBook)表名OrderBook主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。OrderIDint总订单表ID。对应Orders的IdBookIDint图书Id。对应Books表的IdQuantityint数量UnitPricedecimal单价8、总订单表(Orders)表名Orders主键Id列名数据类型允许空说明Idint主键,自增,标识种子
6、为1。OrderDatedatetime订单时间。UserIDint用户Id。对应Users表的IdTotalPicedecimal总价9、读者评论表(ReaderComments)表名ReaderComments主键Id列名数据类型允许空说明Idint主键,自增,标识种子为1。BookIdnvarchar图书Id。对应Books表的IdReaderNamenchar读者名Titlenvarchar评论标题Commentnvarchar评论内容Datedatetime评论时间10、搜索关键字表(SearchKeywords)表名SearchKeywords主键Id列名数据类型允许空说明Idin
7、t主键,自增,标识种子为1。KeyWordnvarchar关键词SearchCountint搜索次数四、 系统结构 本系统为B/S模式。本系统采用三层结构开发。分别为:界面层、业务逻辑层(MyBookShopBLL)、数据访问层(MyBookShopDAL)。数据访问层只负责与数据库交互相关的功能。在业务逻辑层中不能出现与数据访问有关的ADO.NET操作或SQL语句。表示层只允许调用业务逻辑层方法来实现数据绑定和展示。系统模块结构图如下:五、 系统模块设计1、管理员后台功能 图书分类管理 图书分类管理用于修改图书的分类。如下图所示: 设计: 1、分类管理:单击“修改”时,将选中的图书分类修改为
8、下拉单指定的分类 2、列表显示:使用GridView显示图书列表信息如图,并要求提供分页功能 3、光棒效果:鼠标移动到的行高亮显示 4、全选系统:选中“全选”按钮时,所有多选框选中 5、使用ObjectDataSource实现数据的绑定类名称:BBooks继承:隶属系统:在线书店namespace:MyBookShopBLL实现功能:图书业务对象类说明:封装图书业务操作主要属性和方法说明: public int ID;/主键ID public string Title;/图书标题 public string Author;/作者 public int PublisherID;/出版社ID pu
9、blic string PublishDate;/出版日期 public int ISBN;/图书ISBN public int WordsCount;/总字数 public float UnitPrice;/定价 public string ContentDescription;/内容描述 public string AurhorDescription;/作者描述 public string EditorComment;/编辑推荐 public string TOC;/图书目录 public int CategoryID;/图书分类ID public int Clicks;/图书浏览量pub
10、lic DataSet getBooks()/查询所有图书public DataSet getBooksByTitle(string title) /根据标题模糊查询title :图书标题关键字public DataSet getBooksByID(int ID) /根据主键ID查询 ID:主键IDpublic DataSet getBooksOrderby(string Condition) /排序查询 Condition : 排序条件(出版日期和价格) public void updateBooksCategoryIDByID(int ID, int CategoryID) /更新图书分类
11、ID :主键IDCategoryID :图书分类ID类名称:DBooks继承:隶属系统:在线书店namespace:MyBookShopDAL实现功能:数据库访问类说明:封装了图书数据库操作主要属性和方法说明:public static DataSet selectBooksByAll()/ 查询所有图书public static DataSet selectBooksByTitle(string title) /根据标题模糊查询title :图书标题关键字public static DataSet selectBooksByID(int ID) /根据主键ID查询ID:主键IDpublic
12、static DataSet selectBooksOrderby(string Condition) /排序查询 Condition : 排序条件(出版日期和价格)public static void updateBooksCategoryIDByID(int ID, int CategoryID) /更新图书分类ID :主键IDCategoryID :图书分类ID 图书详细信息的编辑和录入 图书详细页的编辑状态如下图所示: 设计: 1、使用DetailsView控件和ObjectDataSource完成图书的插入和更新功能 2、实现图书封面图片的上传 3、图书出版社使用下拉单进行选择。 4
13、、出版日期使用日历控件进行选择(参考My97DatePicker) 5、图书目录使用在线文本编辑控件(参考FreeTextBox.dll)2、前台相关功能 首页(default.aspx)设计:1、 创建母版页,首页的内容页可以采用静态内容。2、 设置站点地图。3、 使用SiteMapPath控件显示当前页面的位置。4、 使用TreeView导航控件显示图书分类(使用XML文件作为数据源,为此,创建名为TreeView.xml的xml文件)5、 创建一个WebService,针对每一个关键字得到相似的关键字列表6、 使用AJAX的AutoComplete控件,通过调用WebService完成搜
14、索提示功能。 图书列表展示(BookList.aspx)设计:1、 使用DataList展示图书2、 排序:提供“出版日期”、“价格”两种形式的排序方式,当单击“出版日期”时,结果以出版日期正序排序,此时,“出版日期”按钮变灰(不可选择)。3、 分页,提供“上一页“、“下一页”的翻页按钮,并显示“第X页 共Y页”的信息。当浏览第一页时,“上一页”变灰(不可选择)。使用PagedDataSource分页类。 图书搜索页(Search.aspx)设计:1 实现关键字的模糊搜索,并记录每个关键字的搜索次数2 关键字直接比较字符串即可,不要求区分大小写3 相同关键字不可有多条记录4 分页5 排序。 图书详细页(BookDetail.aspx)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1