




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南职业技术学院毕业论文河南职业技术学院毕业设计(论文)题目:网上购书管理系统的设计与实现系(分院) 学生姓名 学号 专业名称 指导教师 2012 年 3 月29日目录第一部分摘要4第二部分第一章 产品背景及名词解释51.1 产品背景 51.2 名词解释5第二章 系统分析72.1 运行环境72.2 系统需求分析72.2.1 购物车管理模块72.2.2 会员登录和管理模块72.4.3 订单管理模块72.2.4 图书管理模块72.2.5 图书检索模块72.2.6 目录管理模块7第三章 系统设计83.1 系统功能分析83.2 数据库设计93.3 数据库的逻辑结构设计113.4 数据库连接16第四章 系统模块设计和代码实现384.1 首页384.2 用户登录后页面394.3 图书搜索424.4 购物车444.5 用户注册454.6 我的订单474.7 修改密码484.8 生成订单494.9 后台主页504.10目录管理514.11图书管理524.12系统管理544.13退出系统55第五章 结论及尚存在的问题56第三部分一. 致谢57二. 参考文献57三. 附录583.1 毕业设计任务书583.2毕业设计答辩意见表603.2毕业设计指导教师评阅意见表61网络购物书店系统的设计与实现南洋摘要:网上书店系统是目前Internet上广泛使用的在线系统之一。网上购书电子商务系统通过互联网进行图书的交易活动,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。网上书店利用现代最新的信息技术,这种虚拟的购物系统有着传统的书店无法比拟的优势。本文阐述了国内网上图书市场的发展与现状,将介绍如何使用ASP.NET技术,结合开发实例,使网站具有基本的电子商务平台的特点。在对网络购物书店进行综合分析的基础上,结合系统开发技术,确定了系统应该具有的前台管理和后台管理两大基本功能。前台管理主要包括用户注册登录、图书搜索、购物车、订单结算,会员信息管理,后台管理主要包括图书管理,系统管理,目录管理,用户管理。关键词: 电子商务 网络书店 ASP.NET SQL Server2000第一章 产品背景及名词解释 1.1 产品背景随着中国加入WTO,全球经济一体化的逐步深入,互联网在我国得到了突飞猛进的发展,特别是电子商务网站如雨后春笋般涌现出来,网上购物更是已经逐渐成为一种时尚了。随着社会的发展,传统的图书销售方式已经不可避免的显示出它在时间、空间等方面的局限性,广大的人民群众迫切的需要打破这种局限性。在这种要求下,基于Internet的电子商务产生了。它的出现不但解决了传统销售方式的缺点,而且给了广大消费者更大的选择空间,促进了资源的优化配制,有效的避免了商家的恶性竞争。所以电子商务的发展壮大是不可避免的。网上图书销售作为一种典型的Web电子商务系统也迅速的发展并深入人们的日常生活中。大多数人更愿意足不出户就可以挑选购买自己喜欢的各种书籍,这样大大缩短了购书的时间,提高了效率。而且,图书因其具有标识精晰、规格统一、特征容易描述、同种商品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。可见,网上图书销售系统跨越了时间和空间的限制,给商业流通领域带来了不一样的变革,也给消费者带来了便捷。只要网络发展没有停止,网上图书销售的发展就不会停止。如今全国的网上书店已有100余家,遍布北京、上海、天津、杭州、广州等地,“网上书市”以技术和时空的绝对优势,对传统图书业消费流程形成了挑战。许多传统图书店存在的问题,反而成为网络书店的发展焦点。由于中国地域广大,不得不形成以出版社、一级代理、二级代理和零售店的多层次渠道结构,层层加码导致书价降不下来,互联网却无所谓地域问题,自然免去了流通环节中的多层次多渠道和高昂价格;传统图书业长期忽略对新营销技术比如低价策略的采用。网上书店却是可以选用各种营销方案,吸引消费者参与,带来其它商品的有。网上书店就是网络购物系统的典型应用1.2 名词解释设计书中用到的专门术语的定义或外文首字母组词的原词组:ASP:即一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术。 指 Active Server Pages(动态服务器页面) ,运行于 IIS 之中的程序 。B/S:即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。.NET:即 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。IIS:Internet信息服务。第二章 需求分析系统功能如图2-1所示。网络书店购物系统后台管理前台销售 用户管理 目录管理 图书管理 个人资料管理 会员管理 支付管理 会员信息管理 会员访问 订单管理 购物车管理 图书及目录信息图2-1 系统功能图2.1 运行环境操作系统:windows2000server中文版、windows 2003 Server或者Windows XP数据库:Microsoft SQL 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 系统分析1 购物车管理模块2 会员登录和管理模块3 订单管理模块4 图书管理模块5 图书检索模块6 目录管理模块第三章 系统详细设计3.1 系统功能分析通过以上的系统需求分析和系统总体设计,就已经有了一个网上系统的大体轮廓了。1、前台主要功能:注册/登录、购物车、联系方式、图书查询、图书分类浏览、图书展示、打折专区、热门推荐、精品推荐、在线帮助功能等等。2、书店系统前台设计的特色(1) 购物车 每个注册的用户,都拥有一个属于自已的购物车管理界面,客户可以轻松的查看购物车中的图书。本系统充分考虑到了本模块对于客户的重要性,所以界面尽量做的简捷,采用开放式结构,一目了然,方便客户轻松掌控自已的信息。(2) 购书的详细过程开始-浏览图书-放入购物车-会员-去下订单 不是会员-注册-会员购物车与下订单: 推出了全新的网上商务理念,这也是本系统与其他书店较大的不同的之一。(3) 灵活多样的图书展示区网站前台图书显视栏目分为以下几种方式: (1)最新图书 (2) 热销图书 (3)推荐图书 (4) 按照类型分类的书 3、系统提供完善的系统管理在主页的进入后台入口,点击进入系统管理器。后台分为目录管理、图书管理、用户管理、个人资料管理、会员管理等主要融合在系统管理内。 (1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。(2) 图书管理是对图书信息进行管理,添加或删除图书信息,也可对图书信息进行修改。动态添加图书信息,信息内容要求完善,并带有图片上传功能(3) 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号,可以对用户和管理员进行统一的管理。图书销售网站功能结构如图3-1所示。网络书店购物系统后台管理前台销售 用户管理 目录管理 图书管理 个人资料管理 会员管理 支付管理 会员信息管理 会员访问 订单管理 购物车管理 图书及目录信息3.2 数据库设计3.2.1数据库需求分析在网上书店系统中,数据库应当解决如下需求。 保存注册用户的个人信息,包括联系资料等。 保存图书信息,包括书名、价格、作者、图片等信息。 保存购物车的详细信息 保存购书信息,包括用户ID、图书ID、数量、总价等。 保存订单信息,包括日期、支付方式、是否确认等。3.2.2 数据库关系逻辑结构关系模型的逻辑结构是一组关系模式的集合,通常使用实体-联系方法即E-R图表示数据库概念模型。E-R图则是由实体、实体的属性和实体之间的关系组成。以下为部分实体-联系图。 (1) 图书信息实体的E-R图如下:图书图书ID是否推荐图片图书名称数量发布时间图书描述售价成本是否热点作者出版社(2) 订单实体的E-R图如下:订 单真实姓名地址运送方式订单号其他付款方式用户名订购日期Email邮编订单核对联系方式订单实体E-R图3.3 数据库的逻辑结构设计数据库的逻辑结构设计是将个局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。根据本系统需求分析,系统的数据库包括了图书管理、订单管理、购物车管理,用户管理等部分。其中用户表有数据库自动成。图书管理包括的表:Category图书类别表BookBrief图书概要信息表Item图书详情信息表购物车管理包括的表:Cart购物车信息表订单管理包括的表:Orders订单头信息表LineItem订单明细表OrderStatus订单状态表Category表结构字段名类型默认值索引PK/FK允许空说明CategoryIdSmallintYesPKNo类别编号CategoryNameNvarchar(50)YesNo类别名称DescNvarchar(50)NoNo类别描述BookBrief表结构字段名类型默认值索引PK/FK允许空说明BookIdVarchar(10)YesPKNo图书编号CategoryIdSmallintYesPKNo目录编号BookNameVarchar(80)NoNo图书名称BookDescVarchar(225)NoNo图书描述BookImageVarchar(80)NoNo图书图片AddTimedatetimeGetdate()NoNo添加时间IsHeadLinebitNoNo是否热点推荐IsClassicbitNono是否经典书目Item表结构字段名类型默认值索引PK/FK允许空说明BookIdVarchar(10)YesPK/PKNO图书编号KookAuthornvarchar(50)NoNO作者Publishernvarchar(50)NoNO出版社PublishDateDatetimeNoNO出版日期BookPriceDecimal(10,2)NoNO图书市价ListPriceDecimal(10,2)NoNO售价UnitCostDecimal(10,2)NoNO成本价ItemNameVarchar(80)NoNO详细书名ItemImageVarchar(80)NoNO详细图片Qtyint0noNO数量Cart表结构字段名类型默认值索引PK/FK允许空说明UserNameVarchar(256)YesPKNo用户名BookIdVarchar(10)YesPK/FKNo图书编号PriceDecimal(10,2)NoNo售价ItemNameVarchar(50)NoNo详细书名Quantityint0noNo数量Orders表结构字段名类型默认值索引PK/FK允许空说明OrderIdIntYesPKNo订单编号UserIdVarchar(20)NoNo用户名OrderDateDatetimeGetdate()NoNo订单日期ShipToNameVarchar(80)NoNo接货人姓名ShipEmailVarchar(80)NoNo接货人电话ShipAddrVarchar(80)NoNo接货人地址ShipStateVarchar(80)nono接货人所在省份ShipCityVarchar(80)NoNo接货人所在城市ShipZipVarchar(20)NoNo接货人邮编ShipCountryVarchar(20)NoNo接货人所在国家ShipPhoneVarchar(20)NoNo接货人电话BillToNameVarchar(80)NoNo付款人姓名BillEmailVarchar(80)NoNo付款人电邮BillAddrVarchar(80)NoNo付款人地址BillCityVarchar(80)NoNo付款人所在城市BillStateVarchar(80)NoNo付款人所在省份BillZipVarchar(20)NoNo付款人邮编BillCountryVarchar(20)NoNo付款人所在国家BillPhoneVarchar(20)NoNo付款人电话TotalPriceDecimal(10,2)NoNo数量NoNoNoNoLineItem表结构字段名类型默认值索引PK/FK允许空说明OrderIdIntYesPK订单编号LineNumIntYesPK订单明细BookIdVarchar(10)No图书编号QuantityIntNo数量UnitPriceDecimal(10,2)no售出价格OrderStatus表结构字段名类型默认值索引PK/FK允许空说明OrderIdIntYesPKNO订单编号LineNumIntYesPKNO订单明细号TimestampDatetimeGetdate()NoNO时间戳StatusVarchar(2)noNO订单状态3.4 数据库连接在网上图书展示系统中需要多次连接数据库,而且这种连接是一项很消耗系统资源的操作。所以图书展示网将调用数据库的部分写成了一个单独的WEbConfig文件。关键代码如下: 由于要对数据库进行频繁的操作,将其共有的代码封装成类以减少耦合性,提高代码的重用效率,达到易于维护的功能,数据库实用类如下:namespace BookShopOnline public class OperateDB /定义连接数据库字符串 public string connString = System.Configuration.ConfigurationManager.ConnectionStringsconn.ConnectionString; / AppSettings public SqlConnection conn = new SqlConnection(); /定义构造函数:与类名相同(无参数:在类的实例化时调用并打开连接通道)从而建立数据库连接通道 public OperateDB() conn.ConnectionString = connString; conn.Open(); public void close() conn.Close(); conn.Dispose(); public int insertDel(string sqlString) SqlCommand cmd = new SqlCommand(sqlString, conn); return cmd.ExecuteNonQuery(); public SqlDataReader getValue(string sqlString) SqlCommand cmd = new SqlCommand(sqlString, conn); return cmd.ExecuteReader(); public static string KeyValue(string keyValue) return + keyValue + ; 每一张表都被设计成一个实用类存在,提供了各种方法便于其他类调用,用来达到数据关联的效果:地址类:namespace BookShopOnline public class AddressInfo string email;/电子邮件 public string Email get return email; set email = value; string name;/真实姓名 public string Name get return name; set name = value; string address;/地址 public string Address get return address; set address = value; string city;/城市 public string City get return city; set city = value; string state;/省份 public string State get return state; set state = value; string zip;/邮编 public string Zip get return zip; set zip = value; string country;/国家 public string Country get return country; set country = value; string phone;/电话 public string Phone get return phone; set phone = value; public AddressInfo() public AddressInfo(string email, string name, string address, string city, string state, string zip, string country, string phone) this.email = email; = name; this.address = address; this.city = city; this.state = state; this.zip = zip; this.country = country; this.phone = phone; 图书信息类 : namespace BookShopOnline public class BookBriefInfo private string bookId;/书号 public string BookId get return bookId; set bookId = value; private string bookName;/图书概要名称 public string BookName get return bookName; set bookName = value; private string bookDesc;/图书介绍 public string BookDesc get return bookDesc; set bookDesc = value; private string bookImage;/图书概要图片 public string BookImage get return bookImage; set bookImage = value; private Int16 categoryId;/目录编号 public Int16 CategoryId get return categoryId; set categoryId = value; private string addTime;/添加时间 public string AddTime get return addTime; set addTime = value; private bool isHeadLine;/热点 public bool IsHeadLine get return isHeadLine; set isHeadLine = value; private bool isClassic;/经典 public bool IsClassic 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 = image; this.categoryId = categoryId; this.addTime = addtime; this.isHeadLine = headline; this.isClassic = classic; /添加书籍:如果bookId不存在就添加,存在就不添加 public static int addBook(BookBriefInfo bbf) int result = 0; BookBriefInfo bb = BookBriefInfo.getByBookId(bbf.bookId); if (null = bb) string sqlString = insert 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(目录)查询所有书籍 public static List getByCategoryId(string categoryId) List newBooks = new List(); BookBriefInfo bbf = null; string sqlString = SELECT BookId, CategoryId, BookName, BookDesc, BookImage, IsClassic, IsHeadLine, AddTime FROM BookBrief 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.ToString(); 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(); bbf.BookDesc = drBookDesc.ToString(); newBooks.Add(bbf); dr.Close(); return newBooks; /获取单个书籍根据bookId public static BookBriefInfo 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(); dr.Close(); return bbf; /修改书的概要 如果id不存在,则需要重新输入 public static int updateGaiYao(BookBriefInfo bbfUpdate) int result = 0; BookBriefInfo bbf = BookBriefInfo.getByBookId(bbfUpdate.bookId); if (null = bbf) return 0; else string sqlString = update BookBrief set IsHeadLine= + bbf.isHeadLine + ,IsClassic= + bbfUpdate.isClassic + where BookId= + bbfUpdate.bookId + ; OperateDB od = new OperateDB(); result = od.insertDel(sqlString); return result; /查询新书 public static List getNew() List newBooks = new List(); BookBriefInfo bbf = null; string sqlString = SELECT TOP (4) BookId, BookName, BookImage FROM BookBrief ORDER BY AddTime DESC; 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(); newBooks.Add(bbf); dr.Close(); return newBooks; /查询热点图书 public static List getHot() List hot = new List(); BookBriefInfo bbf = null; string sqlString = SELECT TOP (4) BookId, BookName, BookImage FROM BookBrief WHERE IsHeadLine = true; OperateDB od = new OperateDB(); SqlDataR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大二基础实验考试题及答案
- 常微分方程考试卷及答案
- 新质生产力区域经济发展
- 安全生产应急管理手册讲解
- 发展宠物行业新质生产力
- 民族知识科普课课件
- 学校消防日教育宣传活动方案(模板)
- 新质生产力赋能供应链贸易
- 华工科技新质生产力研究
- 新质生产力代表物品解析
- DISC沟通风格测试
- 九年级英语人教版Unit 1 How Can we become good learners 单元话题书面表达 真题+模拟(含解析)
- 大学体育:轮滑教案
- DB31-T 1380-2022 社会消防技术服务机构质量管理要求
- 常见天气系统课件
- 不良资产项目尽调指引
- 深基坑钢板桩支护方案
- 李家河大坝监测工程大坝安全监测报告
- JJF 1245.1-2019安装式交流电能表型式评价大纲有功电能表
- GB/T 9286-1998色漆和清漆漆膜的划格试验
- 无人机结构与系统-第1章-无人机结构与飞行原理课件
评论
0/150
提交评论