《2022年网上购书管理系统设计方案与实现》由会员分享,可在线阅读,更多相关《2022年网上购书管理系统设计方案与实现(19页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用河南职业技术学院毕业设计 论文)题目:网上购书管理系统的设计与实现系 分院)学生姓名学号专业名称指导教师2018 年 3 月 29 日目录第一部分4第二部分第一章 . 5 55 77精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 19 页个人资料整理仅限学习使用7 777777 8 8911 1638383942444547484950515254 5556 第三部分57 57 58586061 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 19 页个人
2、资料整理仅限学习使用网络购物书店系统的设计与实现南洋摘要 :网上书店系统是目前Internet上广泛使用的在线系统之一。网上购书电子商务系统通过互联网进行图书的交易活动,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。网上书店利用现代最新的信息技术,这种虚拟的购物系统有着传统的书店无法比拟的优势。本文阐述了国内网上图书市场的发展与现状,将介绍如何使用ASP.NET 技术,结合开发实例,使网站具有基本的电子商务平台的特点。在对网络购物书店进行综合分析的基础上,结合系统开发技术,确定了系统应该具有的前台管理和后台管理两大基本功能。前台管理主要包
3、括用户注册登录、图书搜索、购物车、订单结算,会员信息管理,后台管理主要包括图书管理,系统管理,目录管理,用户管理。关键词:电子商务 网络书店 ASP.NET SQL Server2000 第一章产品背景及名词解释 1.1 产品背景精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 19 页个人资料整理仅限学习使用随着中国加入WTO ,全球经济一体化的逐步深入,互联网在我国得到了突飞猛进的发展,特别是电子商务网站如雨后春笋般涌现出来,网上购物更是已经逐渐成为一种时尚了。随着社会的发展,传统的图书销售方式已经不可避免的显示出它在时间、空间等方面
4、的局限性,广大的人民群众迫切的需要打破这种局限性。在这种要求下,基于Internet的电子商务产生了。它的出现不但解决了传统销售方式的缺点,而且给了广大消费者更大的选择空间,促进了资源的优化配制,有效的避免了商家的恶性竞争。所以电子商务的发展壮大是不可避免的。网上图书销售作为一种典型的Web电子商务系统也迅速的发展并深入人们的日常生活中。大多数人更愿意足不出户就可以挑选购买自己喜欢的各种书籍,这样大大缩短了购书的时间,提高了效率。而且,图书因其具有标识精晰、规格统一、特征容易描述、同种商品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。可见,网上图书销售系统跨越了时间和空间的限制
5、,给商业流通领域带来了不一样的变革,也给消费者带来了便捷。只要网络发展没有停止,网上图书销售的发展就不会停止。如今全国的网上书店已有100 余家,遍布北京、上海、天津、杭州、广州等地,“网上书市”以技术和时空的绝对优势,对传统图书业消费流程形成了挑战。许多传统图书店存在的问题,反而成为网络书店的发展焦点。由于中国地域广大,不得不形成以出版社、一级代理、二级代理和零售店的多层次渠道结构,层层加码导致书价降不下来,互联网却无所谓地域问题,自然免去了流通环节中的多层次多渠道和高昂价格;传统图书业长期忽略对新营销技术比如低价策略的采用。网上书店却是可以选用各种营销方案,吸引消费者参与,带来其它商品的有
6、。网上书店就是网络购物系统的典型应用1.2 名词解释设计书中用到的专门术语的定义或外文首字母组词的原词组:ASP :即一项的技术,是一种使嵌入网页中的可由因特网服务器执行的服务器端脚本技术。指 Active Server Pages结构,是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。.NET:即 Microsoft XML Web services 平台。 XML Web services 允许应用程序通过Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET
7、平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。IIS :Internet信息服务。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 19 页个人资料整理仅限学习使用第二章需求分析系统功能如图 2-1所示。网络书店购物系统后台管理前台销售用户管理目录管理图书管理个人资料管理会员管理支付管理会员信息管理会员访问订单管理购物车管理图书及目录信息精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 19 页个人资料整理仅限学
8、习使用图2-1 系统功能图2.1 运行环境操作系统: windows2000server 中文版、 windows2003 Server 或者 Windows XP数据库: MicrosoftSQL Server Express 2005中文企业版WEB 服务器: IIS5.1 .NET Framework:2.0 版开发工具: Microsoft Visual Studio .NET 2008企业版 (C# 除了上面的环境, Visual Studio 2008自带编译器和 Web 服务器进行调试,在部署网站之前,所有工作都可以在 Visual Studio 2008中完成。2.2 系统分析
9、1 购物车管理模块2 会员登录和管理模块3 订单管理模块4 图书管理模块5 图书检索模块6 目录管理模块第三章系统详细设计3.1 系统功能分析通过以上的系统需求分析和系统总体设计, 就已经有了一个网上系统的大体轮廓了。1、前台主要功能:注册/ 登录、购物车、联系方式、图书查询、图书分类浏览、图书展示、打折专区、热门推荐、精品推荐、在线帮助功能等等。2、书店系统前台设计的特色(1 购物车每个注册的用户,都拥有一个属于自已的购物车管理界面,客户可以轻松的查看购物车中的图书。本系统充分考虑到了本模块对于客户的重要性,所以界面尽量做的简捷,采用开放式结构,一目了然,方便客户轻松掌控自已的信息。(2购书
10、的详细过程开始- 浏览图书 - 放入购物车 - 会员- 去下订单不是会员 - 注册- 会员购物车与下订单:推出了全新的网上商务理念,这也是本系统与其他书店较大的不同的之一。(3灵活多样的图书展示区网站前台图书显视栏目分为以下几种方式: (1 最新图书 (2 热销图书 (3 推荐图书 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。(2 图书管理是对图书信息进行管理, 添加或删除图书信息 , 也可对图书信息进行修改。动态添加图书信息 , 信息内容要求完
11、善,并带有图片上传功能(3 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号, 可以对用户和管理员进行统一的管理。图书销售网站功能结构如图3-1所示。3.2 数据库设计3.2.1 数据库需求分析在网上书店系统中,数据库应当解决如下需求。保存注册用户的个人信息,包括联系资料等。保存图书信息,包括书名、价格、作者、图片等信息。保存购物车的详细信息保存购书信息,包括用户ID、图书 ID、数量、总价等。保存订单信息,包括日期、支付方式、是否确认等。网络书店购物系统后台管理前台销售用户管理目录管理图书管理个人资料管理会员管理支付管理会员信息管理会员访问订单管理购物车管理图书及目录信息精选学习资料
12、- - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 19 页个人资料整理仅限学习使用3.2.2 数据库关系逻辑结构关系模型的逻辑结构是一组关系模式的集合,通常使用实体- 联系方法即 E-R图表示数据库概念模型。 E-R图则是由实体、实体的属性和实体之间的关系组成。以下为部分实体-联系图。 (1 图书信息实体的 E-R图如下:图书图书 ID 是否推荐图片图书名称数量发布时间图书描述售价成本是否热点作者出版社精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 19 页个人资料整理仅限学习使用(2 订单实体
13、的 E-R图如下:3.3 数据库的逻辑结构设计数据库的逻辑结构设计是将个局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。根据本系统需求分析,系统的数据库包括了图书管理、订单管理、购物车管理,用户管理等部分。其中用户表有数据库自动成。图书管理包括的表:Category图书类别表BookBrief 图书概要信息表Item图书详情信息表购物车管理包括的表:Cart 购物车信息表订单管理包括的表:Orders订单头信息表LineItem 订单明细表订 单真实姓名地址运送方式订单号其他付款方式用户名订购日期E
14、mail 邮编订单核对联系方式订单实体 E-R 图精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 19 页个人资料整理仅限学习使用OrderStatus 订单状态表Category 表结构字段名类型默认值索引PK/FK 允许空说明CategoryId Smallint Yes PK No 类别编号CategoryName Nvarchar(50 Yes No 类别名称Desc Nvarchar(50 No No 类别描述BookBrief 表结构字段名类型默认值索引PK/FK 允许空说明BookId Varchar(10 Yes PK
15、No 图书编号CategoryId Smallint Yes PK No 目录编号BookName Varchar(80 No No 图书名称BookDesc Varchar(225 No No 图书描述BookImage Varchar(80 No No 图书图片AddTime datetime Getdate( No No 添加时间IsHeadLine bit No No 是否热点推荐IsClassic bit No no 是否经典书目Item表结构字段名类型默认值索引PK/FK 允许空说明BookId Varchar(10 Yes PK/PK NO 图书编精选学习资料 - - - - -
16、 - - - - 名师归纳总结 - - - - - - -第 10 页,共 19 页个人资料整理仅限学习使用号KookAuthor nvarchar(50 No NO 作者Publisher nvarchar(50 No NO 出版社PublishDate Datetime No NO 出版日期BookPrice Decimal(10,2 No NO 图书市价ListPrice Decimal(10,2 No NO 售价UnitCost Decimal(10,2 No NO 成本价ItemName Varchar(80 No NO 详细书名ItemImage Varchar(80 No NO
17、详细图片Qty int 0 no NO 数量Cart 表结构字段名类型默认值索引PK/FK 允许空说明UserName Varchar(256 Yes PK No 用户名BookId Varchar(10 Yes PK/FK No 图书编号Price Decimal(10,2 No No 售价ItemName Varchar(50 No No 详细书名Quantity int 0 no No 数量Orders表结构字段名类型默认值索引PK/FK 允许空说明OrderId Int Yes PK No 订单编号UserId Varchar(20 No No 用户名OrderDate Datetim
18、e Getdate( No No 订单日期ShipToName Varchar(80 No No 接货人精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 19 页个人资料整理仅限学习使用姓名ShipEmail Varchar(80 No No 接货人电话ShipAddr Varchar(80 No No 接货人地址ShipState Varchar(80 no no 接货人所在省份ShipCity Varchar(80 No No 接货人所在城市ShipZip Varchar(20 No No 接货人邮编ShipCountry Varc
19、har(20 No No 接货人所在国家ShipPhone Varchar(20 No No 接货人电话BillToName Varchar(80 No No 付款人姓名BillEmail Varchar(80 No No 付款人电邮BillAddr Varchar(80 No No 付款人地址BillCity Varchar(80 No No 付款人所在城市BillState Varchar(80 No No 付款人所在省份BillZip Varchar(20 No No 付款人邮编BillCountry Varchar(20 No No 付款人精选学习资料 - - - - - - - -
20、- 名师归纳总结 - - - - - - -第 12 页,共 19 页个人资料整理仅限学习使用所在国家BillPhone Varchar(20 No No 付款人电话TotalPrice Decimal(10,2 No No 数量No No No No LineItem 表结构字段名类型默认值索引PK/FK 允许空说明OrderId Int Yes PK 订单编号LineNum Int Yes PK 订单明细BookId Varchar(10 No 图书编号Quantity Int No 数量UnitPrice Decimal(10,2 no 售出价格OrderStatus 表结构字段名类型默
21、认值索引PK/FK 允许空说明OrderId Int Yes PK NO 订单编号LineNum Int Yes PK NO 订单明细号Timestamp Datetime Getdate( No NO 时间戳Status Varchar(2 no NO 订单状态3.4 数据库连接在网上图书展示系统中需要多次连接数据库,而且这种连接是一项很消耗系统资源的操作。所以图书展示网将调用数据库的部分写成了一个单独的WEbConfig 文件。关键代码如下: 由于要对数据库进行频繁的操作,将其共有的代码封装成类以减少耦合性,提高代码的重用效率,达到易于维护的功能,数据库实用类如下:精选学习资料 - - -
22、 - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 19 页个人资料整理仅限学习使用namespace BookShopOnline publicclassOperateDB / 定义连接数据库字符串publicstring connString = System.Configuration.ConfigurationManager.ConnectionStringsconn .ConnectionString。/ AppSettings public SqlConnection conn = new SqlConnection (。/ 定义构造函数 : 与类名
23、相同 conn.ConnectionString = connString。 conn.Open(。 publicvoid close( conn.Close(。 conn.Dispose(。 publicint insertDel(string sqlString SqlCommand cmd = new SqlCommand (sqlString, conn。return cmd.ExecuteNonQuery( 。 public SqlDataReader getValue(string sqlString SqlCommand cmd = new SqlCommand (sqlStri
24、ng, conn。return cmd.ExecuteReader( 。 publicstaticstring KeyValue( string keyValue return + keyValue + 。 每一张表都被设计成一个实用类存在,提供了各种方法便于其他类调用,用来达到数据关联的效果:地址类:namespace BookShopOnline publicclassAddressInfo string email 。/ 电子邮件publicstring Email 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 19 页个人资
25、料整理仅限学习使用 get return email 。 set email = value 。 string name。/ 真实姓名publicstring Name get return name。 set name = value 。 string address 。/ 地址publicstring Address get return address 。 set address = value 。 string city。/ 城市publicstring City get return city。 set city = value 。 string state 。/ 省份publics
26、tring State get return state 。 set state = value 。 string zip 。/ 邮编publicstring Zip get return zip 。 set zip = value 。 string country 。/ 国家publicstring Country get return country 。 set country = value 。 string phone。/ 电话publicstring Phone get return phone。 set phone = value 。 public AddressInfo( pub
27、lic AddressInfo(string email, string name, string address, string city, stringstate, string zip, string country, string phone 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 19 页个人资料整理仅限学习使用this .email = email。this .name = name。this .address = address。this .city = city。this .state = state。this
28、 .zip = zip。this .country = country。this .phone = phone 。 图书信息类:namespace BookShopOnline publicclassBookBriefInfo privatestring bookId 。/ 书号publicstring BookId get return bookId 。 set bookId = value 。 privatestring bookName 。/ 图书概要名称publicstring BookName get return bookName 。 set bookName = value 。
29、privatestring bookDesc。/ 图书介绍publicstring BookDesc get return bookDesc。 set bookDesc = value 。 privatestring bookImage。/ 图书概要图片publicstring BookImage get return bookImage。 set bookImage = value 。 private Int16 categoryId。/ 目录编号public Int16 CategoryId get return categoryId。 set categoryId = value 。 p
30、rivatestring addTime 。/ 添加时间publicstring AddTime get return addTime。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 19 页个人资料整理仅限学习使用set addTime = value 。 privatebool isHeadLine 。/ 热点publicbool IsHeadLine get return isHeadLine 。 set isHeadLine = value 。 privatebool isClassic。/ 经典publicbool IsC
31、lassic get return isClassic。 set isClassic = value 。 public BookBriefInfo( public BookBriefInfo(string id, string name, string description, string image, Int16 categoryId, string addtime, bool headline, bool classic this .bookId = id。this .bookName = name。this .bookDesc = description。this .bookImage
32、 = image 。this .categoryId = categoryId。this .addTime = addtime 。this .isHeadLine = headline。this .isClassic = classic。 / 添加书籍 : 如果bookId 不存在就添加,存在就不添加publicstaticint addBook( BookBriefInfo bbf int result = 0。BookBriefInfo bb = BookBriefInfo.getByBookId(bbf.bookId。if ( null = bb string sqlString = i
33、nsert into BookBrief values( + bbf.bookId + , + bbf.categoryId + , + bbf.BookName + , + bbf.bookDesc + , + bbf.bookImage + , + bbf.addTime + , + bbf.isHeadLine + , + bbf.IsClassic + 。OperateDB od = new OperateDB(。 result = od.insertDel(sqlString。return result。 else return result。 / 根据categoryId(目录查询
34、所有书籍publicstaticList getByCategoryId(string categoryId精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 19 页个人资料整理仅限学习使用 List newBooks = new List (。BookBriefInfo bbf = null 。string sqlString = SELECT BookId, CategoryId, BookName, BookDesc, BookImage, IsClassic, IsHeadLine, AddTime FROM BookBrief
35、 where CategoryId=+categoryId+ 。OperateDB od = new OperateDB(。SqlDataReader dr = od.getValue(sqlString。while (dr.Read( bbf = new BookBriefInfo(。 bbf.BookId = drBookId .ToString(。 bbf.bookName = drBookName .ToString(。 bbf.BookImage = drBookImage.ToString(。 bbf.CategoryId = Int16 .Parse(drCategoryId.T
36、oString(。if (drIsHeadLine .ToString(.Equals( False bbf.IsHeadLine =false 。 if (drIsHeadLine .ToString(.Equals(True bbf.IsHeadLine = true 。 if (drIsClassic.ToString(.Equals(False bbf.IsClassic = false 。 if (drIsClassic.ToString(.Equals(True bbf.IsClassic = true 。 bbf.AddTime = drAddTime.ToString(。 bb
37、f.BookDesc = drBookDesc.ToString(。 newBooks.Add(bbf。 dr.Close(。return newBooks。 / 获取单个书籍根据 bookId publicstaticBookBriefInfo getByBookId( string bookId BookBriefInfo bbf = null 。string sqlstring = select * from BookBrief where BookId=+bookId+ 。OperateDB od = new OperateDB(。SqlDataReader dr =od.getValue(sqlstring。if (dr.HasRows dr.Read(。 bbf = new BookBriefInfo(。 bbf.BookId = drBookId .ToString(。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 19 页个人资料整理仅限学习使用 dr.Close(。return bbf 。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 19 页