• 1.33 MB
  • 2022-04-22 13:40:22 发布

网上图书交易系统的毕业论文.doc

  • 31页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'金陵科技学院学士学位论文目录网上图书交易系统的毕业论文目录摘要IIIAbstractIV第一章绪论11.1研究背景11.2开发本系统的意义11.3研究目的21.4系统可行性分析21.4.1技术可行性21.4.2管理可行性21.4.3经济可行性3第二章系统开发关键技术及开发环境42.1.NET技术简介42.1.1.NET技术简介42.1.2ASP.NET六大内部对象42.1.3IIS简介52.1.4IIS与ASP.NET的结合52.1.5C#简介52.2数据库SQLServer2005简介62.3系统的开发环境62.3.1硬件环境要求62.3.2软件环境要求7第三章系统需求分析83.1系统功能需求83.2系统性能分析93.2.1数据精确度93.2.2时间特性93.2.3适应性9I 金陵科技学院学士学位论文目录3.2.4系统可靠性93.2.5系统安全性93.2.6系统完整性93.3与现有网上图书系统的比较93.3主要系统图分析103.3.1网上图书交易系统基本E-R图103.3.2网上图书交易系统用户使用流程图113.3.3搜索图书程序流程图113.3.4购物车程序流程图123.3.5订单管理程序流程图123.3.6结账程序流程图13第四章网上图书交易系统的设计与实现144.1网上图书交易系统概述144.2系统设计144.2.1系统架构设计144.2.2系统功能模块划分154.2.3系统数据库设计154.3系统实现174.3.1建立数据库连接174.3.2基本类文件的实现184.3.3功能模块的实现18第五章系统维护与测试225.1系统维护225.2系统测试225.2.1测试步骤225.2.2模块测试225.2.3部分模块测试显示22第六章总结与展望25参考文献26致谢27附录28I 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境第一章绪论1.1研究背景随着信息技术的发展,信息技术处于传递速度突破了时间和地域性的局限,网络化与全球化成为一种不可避免的世界趋势。由于网络用户的迅速膨胀,众多的商家和厂家也纷纷将眼光投向互联网。电子商务是能够在网上完成供、产、销的全部业务流程的虚拟市场。封闭式的银行电子金融系统已变成开放式的网络电子银行[13]。电子商务是一个发展潜力巨大的市场,极具有发展前景。电子商务双向信息沟通,灵活的交易手段和快速的交货方式的特点,将给社会带来巨大的经济效益,促进了整个社会的生产力的提高。电子商务的推广,打破了时空限制,改变了贸易形态,有助于降低企业成本和竞争力。电子商务给消费者提供了更多的选择,提供了更好的便利性。在互联网上可以进行很多的电子商务活动,“网上图书交易系统”就是一种典型的电子商务运用。网上销售为人们提供了更广阔的环境:人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易[12]。更广阔的市场:在网上这个世界将会变得很小,一个商家可以面对全球的消费者,而一个消费者可以在全球的任何一家商家购物。更快速的流通和低廉的价格:电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。更符合时代的要求:如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。“网上图书交易系统”实际上是运行在Web服务器中的一个Web应用程序。“网上图书交易系统”既可以作为网站的一个子模块实现,也可以作为一个网站单独运行。“网上图书交易系统”模拟一般的书店的经营模式,利用页面、脚本程序来实现“网上图书交易系统”的图书管理、订单管理、顾客管理等管理工作。可对顾客进行购物管理,实现标准购物车功能(分为修改、继续购买、清空、结账四个状态),可对购物车在结算之前任意步骤进行查询和修改,后台设置管理员维护界面,可在首页设定新增图书和新增类别,可设定会员购买折扣,可对订单状态进行跟踪和管理(修改状态、删除订单)。要实现这样的功能,离不开后台数据库的支持。用户验证信息,图书信息,主题层次信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用先进的JDBC技术进行数据库存取等操作,使Web与数据库紧密联系起来[8]。整个“网上图书交易系统”主要由使用MicrosoftSQLServer2005建立的数据库和利用IIS+ASP.NET技术实现的个性化Web页面两部分组成,二者通过数据库服务器和Web服务器连接。1.2开发本系统的意义网上售书的营销成本大大低于传统的店面销售模式,30作者:沈玲芳 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境更关键的是,风险资金的介入让网上书店并不在乎眼前的赢利,可以“超理性”地把价杀低,这更是传统书店无法应对的。同时在网络上销售图书,面对的市场非常大,网络连接全世界,销售对象就是全世界;而传统模式的商场销售面对的是本城市就近的一些消费者,受到了地域限制。网上售书营业时间的优势就是不需整天看着网店,网上书店的营业时间:24小时全天候接受订单,而传统书店的营业时间一般为早上9:00-晚上9:00。这些原因,导致了未来网上售书将成为主流的趋势。1.3研究目的网上图书交易系统是基于因特网在线图书销售过程设计的,利用ASP.NET技术开发了一个网上书店系统。以期达到功能强大、费用低廉、通用性强的目的。客户可以通过因特网登陆书店,浏览相关图书信息,将图书放在购物车里。根据自己的购买意向,顾客可以发送订单,网上书店系统管理员定期处理客户发来的订单。本系统满足消费者只要通过互联网就可以足不出户的购买自己喜欢的图书,改变传统商业交易,在互联网上进行交易,实现网上购买图书。网上购书的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个图书市场一片繁荣,在这种情况下,网上书店的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上书店的优势才能得以体现,达到盈利的目的。1.4系统可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务[15]。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下三点的可行性分析:1.4.1技术可行性本系统分为前台会员管理系统、后台管理员管理系统。前台是直接面向顾客,进行查询和销售处理,后台是进行系统管理和控制,为决策提供辅助[7]。软件方面使用ASP.NET+C#+SQLSever2005,硬件方面使用Pentiun900CPU或以上、内存256M以上、硬盘容量为40G以上等配置开发该系统,用大学四年所学的知识再加上平时对计算机专业知识的积累,在限定时间下,能够实现网上图书交易系统的基本功能,因此在技术上可行。1.4.2管理可行性由于计算机的普及和工作人员计算机知识的不断增长,有了领导的重视和关心,主要管理者的大力支持和全体员工的热心参与,网上图书销售系统的成功开发势在必行[3]30作者:沈玲芳 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境。该系统投入运行后,只需读者访问通过因特网访问该系统的域名,即可使用该系统。工作人员将自己的用户各和密码输入电脑,进行登陆后,就可随时查询特定业务的操作情况,录入图书信息,掌握销售信息实时动态。有助于整体工作效率的提高和增加利润。另外,通过ASP.NET可以设计出一个统一,友好的人机界面与用户对话。用户无须精通计算机知识或是了解它的内部处理,简单易学,清晰易懂,一般人在两天内即可学会使用,若稍有基础的一个小时便可学会使用,即该系统的开发在营运上是完全可行的。1.4.3经济可行性网上图书交易系统是实现在线购书的一个系统,数量大、种类多、价格低,出版时间跨度大,不受时间、地域限制,提供多途径综合检索,为用户节省大量的时间和精力,所以在经济上可行。由于该网上图书交易系统是一个比较小型的系统,适用于公司各部门人员管理和调研使用,而不是一个大型的全面复杂、综合的系统,对于该实验室从人力、物力、财力方面来说都是可行的。计算机和打印机及其他一些相关的附属物品该公司已初级具备。并且该系统开发的时间较短,只需两至三个月时间即可实现。由于该系统相对来说比较简单,人员的培训费和培训时间相对也较少,系统的维护费用也不高。开发完成后,可以实现准确与快速于一体,大提高了工作效率,有效降低了错误机率,使项目管理工作从大量的信息中更加准确地了解动态变化,为网上书店的项目管理工作发展提供强有力的支持,创造更大的经济效益,将公司带来一笔不小的回报[10]。因此,该系统的开发在经济上是完全可行的。综上所述,网上图书交易系统是可行的,可以立即着手开发系统。第二章系统开发关键技术及开发环境2.1.NET技术简介2.1.1.NET技术简介首先,.NET是一个平台,它定义了一种公用语言子集[1](CommonLanguageSubset,CLS)是一种为符合其规范的语言与类库之间提供无缝集成的混合语。.Net统一了编程类库,提供了对下一代网络通讯标准可扩展标记语言(ExtensibleMarkupLanguage,XML)的完全支持,使应用程序的开发变得更容易、更简单。Microsoft.NET计划还将实现人机交互方面的革命,微软将在其软件中添加手写和语音识别的功能,让人们能够与计算机进行更好的交流,并在此基础上继续扩展功能,增加对各种用户终端的支持能力。30作者:沈玲芳 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境最为重要的是.NET将改变因特网的行为方式:软件将变为服务。与Microsoft的其他产品一样,.NET与Windows平台紧密集成,并且与其他微软产品相比它更进一步:因为其运行库已经与操作系统融合在了一起,从广义上把它称为一个运行库也不为过。.NET框架是.NET平台的基础架构。其强大功能来自于公共语言运行时(CommonLanguageRuntime,CLR)环境和类库。CLR和类库(包括:WindowsForms,ADO.NET和ASP.NET)紧密结合在一起,提供了不同系统之间交叉与综合的解决方案和服务。.NET框架创造了一个完全可操控的、安全的和特性丰富的应用执行环境。这不但使得应用程序的开发与发布更加简单,并且成就了众多种类语言间的无缝集成。简而言之,.NET是一种面向网络、支持各种用户终端的开发平台环境[5]。微软的宏伟目标是让.NET彻底改变软件的开发方式、发行方式、使用方式等等,并且不止是针对微软一家,而是面向所有开发商与运营商。.NET的核心内容之一就是搭建第三代因特网平台,这个网络平台将解决网站之间的协同合作问题,从而最大限度地获取信息。在.NET平台上,不同网站之间通过相关的协定联系在一起,网站之间形成自动交流,协同工作,提供最全面的服务。2.1.2ASP.NET六大内部对象lASP.NET提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作[4]。这6个对象分别是:lRequest对象:Request对象可以保存Client端送往Server端的所有信息。这些信息包括:使用Get或Post方法传递的数据、Server环境变量、Cookie信息等。在没有指定表单集合的情况下,程序将以QueryString、Form、Cookie、ServerVariable的顺序搜索所有集合,寻找指定变量。lResponse对象:Response对象的主要功能是将信息从Server端传送到Client端。也可以用来实现页面的跳转或Cookie值的设定。由于ASP.NET脚本没有输出“值”的功能,要完成此功能必须使用Response对象。lServer对象:Server对象的主要功能是执行与Web服务器直接相关的一些操作。lSession对象:Session对象能够记录用户每一次上线的个人信息,它相当于每个上线用户的私有变量集合。它随着用户的上线而产生,随着用户的下线或强制解除而终止。lApplication对象:Application对象能记录所有Web用户的共有信息,它相当于所有上线用户的公共变量集合。它伴随着Web应用程序的开始运行而产生,随着Web应用程序的运行结束而终止。lObjectcontext对象:Objectcontext对象主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。2.1.3IIS简介Web服务器是Web应用程序的心脏[11]。IIS(InternetInformationServer)是微软推出的30作者:沈玲芳 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境WindowsNTOptionPack的主要成员,作为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。它具有强大的系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP.NET等强大功能。2.1.4IIS与ASP.NET的结合在过去,客户端/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法做出集成性的设计[14]。现在我们利用IIS+ASP.NET,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP.NET技术来集成Web前后端所带来的强大效益可归结为以下几个方面:(1)减少构建和维护成本;(2)加快联机过程;(3)应用软件集中在服务器端开发管理;(4)前端可使用任何浏览器(IE、Netscape…);(5)后端可存取任何数据库(SQL、SQLServer…);(6)可使用任何脚本语言开发(VBScript、JavaScript…)。2.1.5C#简介C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言[2],并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。它忠实地继承了C和C++的优点,与COM(组件对象模型)是直接集成的,并且它是微软公司.NETwindows网络框架的主角。C#有以下很多优点:(1)C#语法简洁,并具有面向对象的语言所应有的一切特性:封装、继承与多态性,自身的面向对象功能十分强大,使得开发人员的生产效率得到极大的提高;(2)C#与WEB紧密结合。仅需要使用简单的C#语言结构,C#组件将能够方便地为WEB服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用;(3)C#有完整的安全性与错误处理能力。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生;(4)C#在语言中内置了版本控制功能,和对接口、接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。2.2数据库SQLServer2005简介SQLServer2005的一个主要的优点就是与主流客户/30作者:沈玲芳 金陵科技学院学士学位论文第二章系统开发关键技术及开发环境服务器开发工具和桌面应用程序的紧密集成。可以使用许多方法访问SQLServer数据库[6]。SQLServer2005的客户端应用程序可以通过SQLServer提供的应用程序接口来访问服务器端的数据。有四个主要的访问方法:ODBCAPI、OLEDB、Transact-SQL和DB-Library。对于客户机,可以将这些API作为动态连接库来使用,并且通过客户端的网络库与SQLServer服务器通信。利用SQLServer2005可以使用HTTP来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过Web进行自然语言查询。它提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。SQLServer具备向上伸缩和向外扩展的能力[9]。SQLServer利用对称多处理器(SMP)系统,使SQLServerEnterpriseEdition最多可以使用32个处理器和64GB的RAM。向外扩展可以将数据库和数据负载分配给多台服务器。通过较强的故障转移群集、日志传送和备份策略,SQLServer2005达到了最大的可用性。之所以采用SQLServer2005作为数据库平台,是因为SQLServer2005具有别的数据库平台(如Access)所没有的安全性和独立性以及数据由DBMS统一管理和控制等优点,而本系统正需要采用SQLServer2005来实现的此功能。2.3系统的开发环境2.3.1硬件环境要求CPU:Pentiun900CPU或以上内存:256MB以上内存硬盘:40GB以上硬盘显示器:VGA显示器或更高2.3.2软件环境要求操作系统:Windows2000/XP+IIS数据库的选择:SQLServer2005开发工具:ASP.NET、C#、SQLServer2005数据库30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析第三章系统需求分析3.1系统功能需求网上图书交易系统是典型的电子商务(EC)。系统是在ASP.NET环境下开发的,提出实现图书交易、资源共享的基本目标,从而推动迈向数字化销售的步伐,并阐述系统结构设计和功能设计,一个整体自动化销售模式,从软件工程的角度进行了科学而严谨的阐述。该系统主要采用ASP.NET开发实现各方面的功能。主要包括以下几方面的功能:图3-1系统功能图(1)顾客注册和登录:普通顾客或注册为会员顾客;(2)图书检索:按关键字模糊查询图书名称、单价等属性;(3)购物车:顾客将选中的图书放入购物车、修改图书数量、删除图书、通过购物车下订单及结账与折扣处理;(4)查看和修改信息:顾客查看和修改个人信息;(5)订单查询:查询自己购物时下的订单;(6)管理员登录:管理员登录系统;(7)图书管理:管理员可添加、删除、修改图书及种类;30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析(8)订单管理:管理员对用户购物后所下的订单进行管理,检查库存是否有订单上的图书、将图书发送给顾客;若库存没有订单上的图书,需及时联系顾客;(9)数据统计:包括访问统计、图书销售统计功能、利润计算等;(10)数据库备份:对数据库进行备份操作;(11)权限设置:管理员授予用户查看、购买图书的权限。3.2系统性能分析3.2.1数据精确度(1)要按照严格的数据格式输入,否则系统不予响应进行处理。(2)查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常有文件的记录会很多,所以本系统采用了两种方法进行查询:直接查询和模糊查询。(3)数据的输出严格按照规定的格式显示。3.2.2时间特性一般操作的响应时间应在120毫秒内。3.2.3适应性满足网络业务平台的需求(记录量控制在109项内)。对前面提到的运行环境要求不应存在困难。3.2.4系统可靠性可靠性是系统为了避免来自系统内部的差错、故障而采取的保护措施。从系统可靠性角度出发,本系统和数据库采用了双备份的方式,即在系统正常运行时定期保留数据后备份副本,转储到存储介质上保存,并在转储后对系统的信息处理过程建立记录,记下每步数据操作的内容。一旦发生事故,在恢复的系统上起用后备数据,并根据信息处理过程记录,将数据恢复到故障发生前的状态。3.2.5系统安全性通过对用户合法身份的确认与检验(输入密码),使非法用户不能进行订购。3.2.6系统完整性商品信息、用户信息必须保证其完整性,防止恶意删改。用户信息保密,只有管理员可见(可查),只能删除而不能修改。3.3与现有网上图书系统的比较(1)相同之处:都具备了用户浏览图书、购物车和下订单,管理员添加图书和种类、管理订单和用户等基本功能。30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析(2)不同之处:现有的网上图书系统具有物流模块,能够选择以什么方式支付书款,本系统因为技术与时间的原因,并没有设计这一模块,只具备一个买家付款与收货的简单提示,未实现物流过程。(3)优越之处:现有网上图书系统利用数据库实现购物车,方法是将购物车的信息存储在数据库中的一个表内,它需要用户在进行购物前先登录系统,以确定购物车是哪位顾客的。这种方法的优点在于用户如果购物中断,下次还可以继续购物;其弊端在于需要频繁地操作数据库,并且顾客以后不再使用上次购物车的信息会造成数据库中存储了大量的无用数据。本系统使用Session来实现购物车,不要求用户在购物前登录系统,只要结账前登录即可。另外,不需要频繁地操作数据库,购物过程中数据都存储在Session中,只有顾客结账后才会把订单写入数据库。3.3主要系统图分析3.3.1网上图书交易系统基本E-R图图3-2网上图书交易系统基本E-R图由于各表的属性字段过多,故不在E-R图中表示出来,详见第四章网上图书交易系统的设计与实现中4.3.3系统数据库设计。30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析3.3.2网上图书交易系统用户使用流程图图3-3网上图书交易系统用户使用流程图3.3.3搜索图书程序流程图图3-4搜索图书程序流程图30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析3.3.4购物车程序流程图图3-5购物车程序流程图3.3.5订单管理程序流程图图3-6订单管理程序流程图30作者:沈玲芳 金陵科技学院学士学位论文第三章系统需求分析3.3.6结账程序流程图否开始根据折扣算出总金额取得用户信息已登录?按指定格式显示结束更改数量取得购书信息购买?请登陆后再结账!更改数量?打开Order表,并添加购物车信息更新客户的消费记录清空购物车否是否是是图3-7结账程序流程图30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现第四章网上图书交易系统的设计与实现4.1网上图书交易系统概述电子商务可以减少交易成本,增加贸易机会,简化贸易流程,改善物流系统,是进行商务活动的新形式[16]。随着电子商务的发展,网上购物商店迅猛发展,网上购物已经被越来越多的人所接受。而网上图书交易系统正是网上购物的典型应用。系统提供了网上购书的基本功能,主要包括顾客浏览、购买、查看订单以及注册和修改个人资料等。用户注册并登录后,可以浏览或搜索系统提供的各种图书,并将自己喜欢的书籍放入购物车,购物结束后,系统提供结账功能,保存购物车中的订单。如果是系统管理人员,还可以对图书、图书种类、顾客信息以及订单信息等内容进行维护。4.2系统设计在软件设计阶段,需要为应用系统确定一个体系结构。在较为复杂的应用系统中,如果没有一个良好的体系结构会使整个系统异常庞大而且杂乱无章,不利于日后的维护和扩展[17]。4.2.1系统架构设计虽然网上图书交易系统是以分层的体系架构形式来实现的,如图4-1所示。在这个系统架构中,最底层为数据层,即数据库,用于存储系统中用到的数据,本系统使用SQLSever2005来存储数据[18]。业务层数据访问层数据库用户层图4-1系统架构图数据层从业务层接收请求,利用存储过程或其他方法从数据层获取数据传回业务层或向数据库写入数据。该层的实现代码全部封装到DataAccess类中,大部分对数据库的操作都由它来完成[18]。业务层位于用户层和数据访问层之间,起到桥梁的作用,该层的实现代码全部封装到30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现BusinessFacade类中,该层响应用户层的用户请求,检验用户数据的合法性,将请求发送到数据访问层,并将数据访问层返回的数据传送给用户层,从而把业务逻辑与用户界面分开。如果需要修改应用程序代码,只需要对噪音业务层进行修改,使开发人员可以专注于系统核心业务的分析、设计和开发,简化了应用系统的开发、更新和升级工作[18]。用户层是提供给用户操作的界面,用户可填写数据,发出请求以及查看需要的信息等。如果获取数据时不对数据库进行数据更新,用户层可以不经过业务层而直接访问数据层获取数据;如果需要对数据库进行更新,可以通过业务层来实现[18]。4.2.2系统功能模块划分从大的方面来说,该系统分为顾客和管理员两大模块。顾客可以访问的页面有首页(图书展示页面)、图书详细页面、购物车页面、注册维护个人资料页面和注销等;管理员使用的页面包括图书类型管理、图书管理、顾客信息维护、订单处理等。系统功能页面结构图如图所示。管理员登录managelogin.aspx图书详细页面booksDetail.aspx顾客注册/维护个人资料regCustomer.aspx购物车shoppingCart.aspx结账account.aspx图书管理booksEdit.aspx顾客订单处理orderDeal.aspx图书种类管理booksTypeEdit.aspx顾客管理customerManage.aspx首页default.aspx图4-2主要功能页面结构图4.2.3系统数据库设计网上图书交易系统的主要功能就是让顾客在网上购买所需的图书。系统数据库首先要有图书表(tb_Books),用来存储图书的相关信息。图书过多的时候不便于选择和查询,为了对图书进行分类管理,还需要一个图书类型表(tb_BooksType)。顾客登录到系统购物后,系统需要知道所登录顾客的信息,因此需要一个记录顾客信息的顾客表(tb_Customer)。顾客如果选择了图书,确认购买时,就要下订单,因此用订单表(tb_Order)来记录顾客所确认的订单。订单的详细信息即顾客具体买了几种图书,以及每图书的数量等,需要一个订单详细表(tb_orderDetail)。除此之外,从系统维护和安全性的角度看,只有具有管理权限的用户才能进入系统进行维护和管理,因此需要有一个管理人员表(tb_Manage30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现)记录管理人员的信息。根据以上分析,建立数据库OnlineShop.mdb,对于系统信息数据库,可以列出以下数据项和数据结构:(1)tb_Books图书信息表:主要用于存放所有的图书信息,如图书名称和价格等。表4.1tb_Books(2)tb_BooksType图书类别表:主要存放类别信息。表4.2tb_BooksType(3)tb_Customer顾客信息表:主要存放顾客信息,如名字、电话号码、地址等。表4.3tb_Customer(4)tb_Manage管理员信息表:主要用于存放管理员信息。30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现表4.4tb_Manage(5)tb_Order订单表:主要存放用户所下订单的信息。表4.5tb_Order(6)tb_orderDetail订单详细表:用于查询订单的详细信息。表4.6tb_orderDetail4.3系统实现4.3.1建立数据库连接(1)数据库建立完毕后,进行ASP.NET与SQL的连接。在“Web.config”中,建立连接字符串,以保证VS2005与SQL能正常连接。(2)与数据库的连接代码保存在类库DataAccess.cs中,涉及需要连接数据库的地方均调用DataAccess.cs中的数据库连接。//获得数据库连接privateSqlConnectionconn=new30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现SqlConnection(ConfigurationManager.ConnectionStrings["OnlineShopConnectionString"].ConnectionString);4.3.2基本类文件的实现系统的架构采用多层模型,包括数据访问层和业务处理层。在SiteClass文件夹下有3个类文件,分别为Common.cs,DataAccess.cs和BusinessFacade.cs。(1)Common类:Common.cs中定义Common类,实现一些公用方法和常量的定义。Common.cs的部分代码如下:publicstaticstringstrDefaultItem="全部";///根据图片名字返回图片所在的路径publicstaticstringGetImagesPath(stringfileName){if(fileName==""){return"../booksimage/"+"defaultbooksimag.jpg";}else{return"../booksimage/"+fileName.ToString();}}///注册客户端脚本///控件名///提示信息publicstaticvoidRegScript(Controle,stringstrScript){ScriptManager.RegisterClientScriptBlock(e,e.GetType(),"","window.alert(""+strScript+"");",true);}其中GetImagesPath方法是根据指定的图片名称得图书图片在服务器上存放的路径;RegScript是对ASP.NETAJAX中ScriptManager.RegisterClientScriptBlock方法的封装,通过它注册客户端脚本块,在系统中用来向用户弹出提示信息。(2)DataAccess类:DataAccess.cs中的DataAccess类封装了大部分对数据库进行操作的方法。需要特别说明的是InsertOrder,该方法实现的功能是向数据库中写入一个订单。当顾客对已经放在购物车中的图书结账时,要将订单信息存储到数据库,同时将订单包含的书籍信息存储到订单详细表,并且更新图书的销售数量。而这3个操作必须保证能够同时执行成功,或者都不执行。因此在InsertOrder方法中使用了事务来保证数据的一致性。(3)BusinessFacade.cs类:BusinessFacade.cs中实现的BusinessFacade类,主要是对要写入数据的规则验证和读出数据的处理。4.3.3功能模块的实现(1)首页:在首页上方提供了检索功能,下方是图书展示,如图所示。由于每个图书显示的信息较多,并且要按照一定的格式显示,因此选择了用DataList控件来显示。图书的分页则使用了PagedDataSource,该类封装了数据绑定控件的分页属性,以允许执行分页操作。用户只有输入了正确的用户名和密码才能登录本系统,进行购买图书和查看订单的操作。但用户不需要登录,也即可以根据书名、图书种类、出版社、作者及单价来查询所需要的图书。30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现图4-3首页运行界面(2)注册与修改个人资料:用户点击注册按钮即可进行注册,注册内容包括登录名、真实姓名、密码、密码问题、密码答案、联系地址、邮政编码、电话和电子邮箱,如图4-4。本系统将注册与修改个人资料做在同一个页面,顾客登录系统之后,能够对自己的个人资料进行查看和修改,查看的是与注册界面一样的页面。本系统将修改密码与修改个人资料结合在一起,即用户修改个人资料时也可以修改密码。包括密码、邮政编码、电话号码和电子邮箱等。图4-4用户注册运行界面30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现(3)购物车:顾客浏览图书之后可进行购买,顾客将选中的图书放入购物车、修改图书数量、删除图书、显示缺书信息、通过购物车下订单及结账与折扣处理,如图4-5。顾客把选中的图书放入购物车后,可以返回首页继续选择想要购买的图书,若用户想对同一本书多购买几本,可以修改数量,但是如果库存中没有足够量的该书籍,系统会提示缺书,此时用户可以重新修改数量,或放弃修改;当用户准备结账时,点击购买即可转入结账页面;如果用户对所选择的图书不满意,可以从购物车中移删除该书籍的购买。图4-5购物车运行界面(4)订单查询:顾客能够查询购物所下的订单,订单显示的是购买时间、花费、卖家是否发货、买家是否付款和买家是否收货等信息。用户只能查看该订单的信息而不能修改。(5)管理员登录:管理员登录后台管理页面,管理员需要输入正确的用户名和密码才能进入后台的管理页面。图4-6管理员登录运行界面(6)图书管理:管理员可添加、删除、修改图书信息,管理员可以查询所要查看的图书,点击详细即可以看到详细的图书信息。管理员可以对显示的图书进行信息的修改,包括图书名称、图书类别、图书描述、图书单价、折扣、作者、本金、库存量、出版社等。也可以删除该图书和添加图书信息。(7)图书种类管理:管理员可添加、删除、修改图书种类信息,管理员点击编辑,在下面的文本框中会显示图书种类,管理员可以对其进行删除和修改操作,也可以直接新增,输入所需要的种类名,点击保存按钮,进行保存。30作者:沈玲芳 金陵科技学院学士学位论文第四章网上图书交易系统的设计与实现(8)订单管理:管理员对顾客用户购物后所下的订单进行管理,显示顾客购买书籍的时间、花费金额、卖家是否发货、买家是否付款、买家是否收货、资金是否回笼。管理员也可以删除该顾客的订单。点击详细信息时可以对该顾客的订单进行发货处理。图4-7订单管理运行界面(9)顾客管理:管理员查看用户信息或者删除该用户,此页面对用户的登录次数进行了统计。(10)销售统计:根据书名、作者、图书种类、出版社和销售日期来统计,查看管理员需要的交易详细信息。显示销售总金额、销售总数量、销售总利润。图4-7销售统计运行界面(11)备份数据库:用来对当前的数据库进行备份,采用默认路径。30作者:沈玲芳 金陵科技学院学士学位论文第五章系统维护与测试第五章系统维护与测试5.1系统维护本系统的维护工作主要包括代码的维护和数据库的维护。代码的维护主要是系统功能的完善,以更大程度的满足环境变化导致的新需求和用户的需求。数据的维护主要是数据库的备份。5.2系统测试建立建全数据库中的数据,进行系统测试,测试步骤如下:5.2.1测试步骤(1)主页测试(2)用户登录窗口的测试(3)查看和修改用户个人信息窗口的测试(4)购物车测试(5)图书浏览检索测试(6)添加新图书测试(7)用户管理测试5.2.2模块测试表5.1模块测试表模块预计测试功能输入、输出功能造成差别的原因主页正常显示,各个连接正常显示一致无用户登陆验证用户名(ID,满足系统设定要求)和密码的一致性一致无购物车添加图书,删除图书,编辑信息,确认提交一致无图书浏览添加新书,特价书,图片及资料显示一致无用户管理对注册用户管理,删除,查看一致无查看和修改信息浏览个人信息一致无添加新图书添加新书一致无缺货提示缺货时显示缺货信息一致无5.2.3部分模块测试显示(1)修改个人信息由于编写代码时加入了判断邮政编码和电子邮件格式的验证,所以修改个人信息时若邮政编码或电子邮件格式不正确,代码中出现错误信息,如图5-1。修改部分填写都正确,则成功修改。30作者:沈玲芳 金陵科技学院学士学位论文第五章系统维护与测试图5-1修改个人信息中邮政编码和电子邮件出错(2)更改购买图书的数量时,如果超过当前库存图书的数量,则会显示缺货信息,如图5-2。图5-2缺货30作者:沈玲芳 金陵科技学院学士学位论文第五章系统维护与测试(3)若用户没有登录系统,这时如果用户想要结账,则显示用户需要登录系统,如图5-3。图5-3未登录结账30作者:沈玲芳 金陵科技学院学士学位论文第六章总结与展望第六章总结与展望网上图书交易系统已经基本完成,接近尾声的同时也让我感到很有满足感。收获是巨大的,付出也是巨大的。从刚开始不断收集资料,然后划分功能模块,到如何设计数据库,到最后的设计,从中不乏艰辛,但与此同时,我也在不断完善我的知识体系,与实践相结合,成就了我的网上图书交易系统。网上图书交易系统虽然只具备基本的功能,如用户浏览图书、购物车和下订单,管理员添加图书和种类、管理订单等,业务也并不复杂,但这是我第一次独立而完整的开发程序,每实现一个功能都需要花费大量的时间去查阅相关资料,再放入自己的程序中去实现,对我也是一个很好锻炼!系统优点:本系统中,用户可以把自己想要的图书放入购物车,在购物车中下订单,然后进行结账处理,不需要用户一每购买一本书就结账一次,为用户省下了很多时间和精力。用户可以查看自己购书后的订单,查看管理员是否发货等,也让用户可以实时了解订单状态。管理员可以进行新书的添加、种类的添加,随时更新书籍,让用户可以在第一时间看到新出版的书籍从而进行购买,以此带来更多销售额,达到盈利的目的!系统不足:由于技术上的不足,导致本系统只具备网上售书的基本功能。所以对于这个系统,还可以进一步升级,比如用户结账时可以选择信用卡结账、或者货到付款,管理员可对用户注册信息进行加密处理,对用指令对数据库进行定期备份和恢复等,这些问题还可以进一步研究,完善本系统的功能。毕业设计是对我四年学习的一个总结与检验,而在设计本系统的过程中,让我充分认识到专业知识的重要性,每当遇到困难而不会解决时,就体会到专业知识的缺乏是多么大的绊脚石,今后我需要对自己的专业知识进行提高和扩充,多吸取百家之长,多向别人请教,在今后的网站开发和设计时奠定良好的基础!30作者:沈玲芳 金陵科技学院学士学位论文参考文献参考文献[1]薛小龙.ASP典型系统实战与解析[M].北京:电子工业出版社,2001年.[2]刘好增.ASP动态网站开发实践教程[M].北京:清华大学出版社,2000年.[3]周之英.现代软件工程[M].北京:科学出版社,2000年.[4]林信成,王道荣.HTML与ASP编程实务[M].北京:清华大学出版社,2007年.[5]陈娴.ASP.NET中型在线系统开发实践[M].北京:中国铁道出版社,2007年.[6]肖慎勇.SQLServer数据库管理和开发[M].北京:清华大学出版社,2006年.[7]许静雯等.ASP.NET网站开发典型模块与实例精讲[M].北京:电子工业出版社,2006年.[8]顾韵华等.ASP.NET程序设计教程[M].北京:机械工业出版社,2006年.[9]孟凡琦等.ASP.NET+SQLServer动态网站开发从基础到实践[M].北京:电子工业出版社,2005年.[10]郑耀东,蔡骞.ASP.NET网络数据库开发实例精解[M].北京:清华大学出版社,2006年.[11]吴俊.巧学巧用DreamweaverASP开发动态网站[M].北京:人民邮电出版社,2005年.[12]石志国等.ASP程序设计[M].北京:清华大学出版社.北京交通大学出版社,2005年.[13]陈建伟,李美军,施建强.ASP动态网站开发教程[M].北京:清华大学出版社,2005年.[14]刘端阳,黎卫东,黄炳强.Dreamweaver8+asp动态网站开发[M].北京:人民邮电出版社,2006年.[15]蔡毅,邓格琳.ASP.NET基础开发篇[M].北京:清华大学出版社,2007年.[16]杨云.ASP.NET典型系统开发详解[M].北京:人民邮电出版社,2006年.[17]施伟伟,王敬栋.ASP.NET2.0数据库通用模块开发与系统移植[M].北京:清华大学出版社,2007年.[18]马骏,党兰学,杜莹.ASP.NET网页设计与网站开发[M].北京:人民邮电出版社,2007年.30作者:沈玲芳 金陵科技学院学士学位论文致谢致谢历时三个月的毕业设计已经告一段落,经过自己不断的搜索努力以及王预老师的耐心指导和热情帮助,本设计已经基本完成,能成功运行,基本的功能都已经具备。首先要谢谢王预老师,王预老师对学生非常负责,凡事亲力亲为,详细的修改意见让我少走了很多弯路,以热忱的态度对待我们,耐心指导我的毕业设计,及时督促我认真扎实地完成论文写作。王老师平日里工作繁多,但在我做毕业设计的每个阶段,从查阅资料,开题报告的确定和修改,中期检查到后期详细设计等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是王老师仍然细心地纠正程序中的错误。除了敬佩王老师的专业水平外,王老师严谨的治学态度和热忱的工作作风令我十分钦佩,她的指导使我受益非浅,更是我永远学习的榜样,并将积极影响我今后的学习和工作!没有王老师的悉心指导,我的毕业设计就谈不上顺利完成,再次真心地感谢王老师!感谢我的家人的默默支持!感谢我的朋友、同学在此期间给予的帮助与鼓励! 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!在此一并祝愿学校领导、老师、同学工作顺利,事业更上一层楼;同时也祝愿学校更加辉煌!30作者:沈玲芳 金陵科技学院学士学位论文附录附录首页后台代码protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){//初始化下图书类别下拉列表,此代码仅首次加载执行DropDownListBooksType.AppendDataBoundItems=true;ListItemitem=newListItem(Common.strDefaultItem,"-1");DropDownListBooksType.Items.Add(item);DataAccessmyDA=newDataAccess();DataSetdstBooksType=myDA.GetAllBooksType();DropDownListBooksType.DataSource=dstBooksType.Tables[0];DropDownListBooksType.DataTextField="booksTypeName";DropDownListBooksType.DataValueField="booksTypeID";DropDownListBooksType.DataBind();//显示图书getBooks();}}privatevoidgetBooks(){doublePriceLow=1;try{if(txtPriceLow.Text!=""){PriceLow=Convert.ToDouble(txtPriceLow.Text);}}catch{Common.RegScript(Page,"价格输入有误!");return;}doublePriceHigh=100000;try{if(txtPriceHigh.Text!=""){PriceHigh=Convert.ToDouble(txtPriceHigh.Text);}}catch{Common.RegScript(Page,"价格输入有误!");return;}//获取数据DataAccessmyDA=newDataAccess();DataSetdstBooks=30作者:沈玲芳 金陵科技学院学士学位论文附录myDA.GetBooksByNameAndTypeAndPrice(TextBoxBooksName.Text.Trim(),int.Parse(DropDownListBooksType.SelectedValue),PriceLow,PriceHigh);//实现分页PagedDataSourceobjPds=newPagedDataSource();objPds.DataSource=dstBooks.Tables[0].DefaultView;objPds.AllowPaging=true;objPds.PageSize=4;intCurPage=Convert.ToInt32(this.LabelPage.Text);objPds.CurrentPageIndex=CurPage-1;if(objPds.CurrentPageIndex<0){objPds.CurrentPageIndex=0;}//只有一页时禁用上页、下页按钮if(objPds.PageCount==1){ImageButtonPrev.Enabled=false;ImageButtonNext.Enabled=false;}else//多页时{//为第一页时if(CurPage==1){ImageButtonPrev.Enabled=false;ImageButtonNext.Enabled=true;}//是最后一页时if(CurPage==objPds.PageCount){ImageButtonPrev.Enabled=true;ImageButtonNext.Enabled=false;}if(CurPage>1&&CurPage0){Session["manager"]=dstManager.Tables[0].Rows[0]["managerName"].ToString();Response.Redirect("booksEdit.aspx");}else{Common.RegScript(Page,"用户名或密码错误!");}30作者:沈玲芳'