毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现

毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现

ID:6370131

大小:7.23 MB

页数:34页

时间:2018-01-12

上传者:U-3682
毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现_第1页
毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现_第2页
毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现_第3页
毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现_第4页
毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现_第5页
资源描述:

《毕业设计(论文)-基于网络超市商品销售管理系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

基于网络超市商品销售管理系统的设计与实现摘要随着互联网日益深入我们的生活,网上商品销售的方式也逐渐被人们所接受,因而集成销售管理功能的网上销售系统也显得更加重要而实用。鉴于此,本课题设计了基于网络超市的商品销售管理系统。首先,论文简单介绍了商品销售管理系统的产生、发展和现状;然后对本系统使用的几项关键技术做了介绍;最后用软件工程的分析方法从系统需求分析、系统设计、数据库设计、系统实现等几个方面对整个系统进行了阐述。同时对系统的功能,包括商品目录显示、用户注册、用户登录、购物车、定单查询、系统维护管理等功能模块进行了实现。本系统主要运用了HTML、JSP编程技术与SQLServer数据库等关键技术进行设计、实现。设计中使用页面模块化思想,并部分采用三层架构思想,使用JavaBean完成对数据库的操作,对销售管理、系统维护部分使用Servlet技术实现。当然系统还存在许多不足之处有待改进,特别是安全方面的问题还没有很好的考虑和实现。关键词:网络超市;管理系统;JSP;JavaBean;Servlet TheDesignandImplementoftheSystemofTradeandManagementofProductsbasedonOnlineSupermarketAbstractAsthecloselinkofInternetwithourlives,theonlinetradinghasbeenacceptedbypeoplegradually.Sotheonlineintegratingsystemoftradeandmanagementbecomesveryimportantanduseful.Therefore,thisprojectdesignsthesystemoftradeandmanagementofproductsbasedononlinesupermarket.Atthebeginning,thepaperintroducestheorigin,developmentandthecurrentsituationofthesystemoftradeandmanagementofproductsbriefly.Thenitdescribessomekeytechnologiessimplybeingusedbythesystem.Finally,thesystemhasbeenanalyzedfromseveralaspects,suchastheanalysisofrequirement,designsofthewholesystem,databasedesignandtheimplementationofsystembyusingthemethodsofsoftwareengineering.Meanwhile,thisprojectimplementsthefunctionswhichthesystemrequires,includingthecatalogs,userregistration,userlogin,shoppingcart,orderinquiry,maintenanceandmanagementofsystemandsoon.ThesystembuildsthisonlineshoppingsystembasedonHTML,JSPandSQLServerdatabase.Intheprocessofdesigningsystem,thethinkingofmodularizationofpagesandthree-layerstructureisadoptedintheproject.TheoperationofdatabaseismadebyusingJavaBean.Servletsareusedtoachievesomepartsofthesystem,suchasthetrademanagementandsystemmaintenance.Butlotsofimprovementsshouldbemadeforthissystem,especiallythesecurityissuewhichisnotsolvedproperly.Keywords:OnlineSupermarket;Managementsystem;JSP;JavaBean;Servlet 目录论文总页数:32页1引言11.1选题背景11.2国内外发展现状11.3本课题的研究内容及方法22技术理论基础及开发平台32.1技术理论基础32.1.1HTML语言32.1.2JSP技术42.1.3SQLServer数据库52.2开发平台52.2.1简介52.2.2特点63需求分析与设计方案63.1需求分析63.1.1需求背景63.1.2可行性分析73.2设计方案83.2.1设计目标83.2.2系统总体设计84各模块及数据库设计94.1数据库设计94.1.1数据分析94.1.2概念结构分析104.1.3逻辑结构分析114.2各模块详细设计134.2.1用户模块134.2.2在线模块144.2.3系统维护模块174.3主要核心代码174.3.1数据库连接174.3.2登录确认18 4.3.3购物车194.3.4管理员维护215系统的运行结果245.1实验环境与结果245.1.1实验环境245.1.2运行结果及分析245.2系统的不足及改进方法27结论29参考文献29致谢错误!未定义书签。声明错误!未定义书签。 1引言1.1选题背景互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时以其便捷的传输模式改变着人们的消费方式。它有着信息传送速度快、信息覆盖面广、成本低的特点,互联网已日益成为收集和提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建立在线商店,打破了传统的消费观念,并向消费者展示出一种全新的购物理念。商家可以通过对信息筛选处理有用信息,并做出相应的销售策略,这能为商家带来便利和更大的利润,也能更好的管理好自己的商店。利用简单、便捷、低成本的电子通信方式,买卖双方不见面就可以进行各种商贸活动。当今商业经济网络化已经成为网络经济的大势所趋,眼下电子商务如雨后春笋般大量涌现,企业网络已经成为一种时尚。为了兼顾商家和顾客的利益,本课题选择针对基于网络超市的商品销售管理系统进行研究设计。本课题主要讨论如何建设网上购物系统以及如何管理。网上购物是一种具有交互功能的商业信息系统,它向用户提供静态和动态两类信息资源。所谓静态信息是指那些不是经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,商品流动和商品信息等。商品销售系统具有强大的交互功能,可使商家和用户方便的传递信息,完成网上购物交易,加强了厂家与消费者之间的沟通,这种全新的交易方式实现了零售商家与消费者之间的无纸币交换。而对于网上销售的商家,只要使用了在线销售管理系统,他们可以轻松建立一个功能强大的网上商城,最主要的是管理员只需要登录网站后台管理就可以在线发布商品、处理订单,完全不需要任何网站建设的知识,这样节省了大量的人力、物力和财力。1.2国内外发展现状基于网络的商品销售管理系统,它是网上商务活动的产物,代表了未来零售业的走向。在网上商店消费的顾客不必出门,可以直接通过计算机网络选购商品,由相应网络经销商送货上门。这种直销的好处是消费者可以方便地得到所需的商品,有效地减少了销售成本,从而大大地降低了商品的价格。在欧美等信息化程度较高的国家和地区,网络商店发展速度迅猛,享誉全球的美国Amazon网上书店,没有一间门市,经营图书250多万种,1997年时营业额就超过了一亿美元。世界级超一流的零售商,如沃尔玛、凯玛特、家庭仓储、科罗格、J.C培尼等也纷纷挤身于网络经商的行列。调查表明,欧美地区的家庭已越来越习惯于在家中从网上购物。第10页共32页 而在我国,电子商务一直在艰难地发展着。从当年8848的失落,到现在的卓越兴起,或多或少都体现了中国电子商务活动的不完善、不成熟。对基于网络的商品销售系统的设计开发,可以为完整的大型商务网站开发积累大量的经验。我国的电子商务发展起步相对较晚,直到1996年,燕莎友谊商场才首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。随着我国互联网的飞速发展,互联网在人们生产生活中作用提高,致使我国上网人数持续增加,2004年上网人数达9400万,预计今年这一数字将达1.2亿。而且有大部分的网民有过网上购物经历,这就说明中国在网上购物的用户还是比较多,而且会日益增长,这也说明在中国发展网上购物具有良好的群众基础,网上购物方式日益被大家所接受。“2005年中国电信业发展与政策通报会”上,信息产业部有关负责人说,在互联网的快速发展中,将加强规划指导,推动网络建设和结构优化,引导企业开发适合市场需求的新业务。同时,研究互联网上各类业务应用的商业运营模式,现在已经有很多的网上商店,例如,淘宝、易趣、拍拍网等。由于在网上选择范围广,价格实惠,现在越来越多的人已经习惯网上购物的方式,特别是年轻一代。1.3本课题的研究内容及方法基于网络超市的商品销售管理系统,一般存在两种结构:C/S(Client/Server——客户端/服务器)架构和基于Internet的B/S(Browser/Server——浏览器/服务器)架构。B/S架构比起C/S架构有着很大的优越性,C/S架构的系统依赖于专门的操作环境,这意味着操作者的活动空间受到极大限制;而B/S架构则不需要专门的操作环境,在任何地方,只要能上网,就能够操作该系统。这也就给交互式信息的产生创造了先决条件,使得通过互联网的信息传递变得更加的便捷。因此,本文设计的基于网络超市商品销售管理系统选取的是B/S。基于网络超市的商品销售管理系统,实质就是程序结合数据库开发的网站系统。在该系统中,主要实现用户注册、用户登录、用户留言、购物指南、商品查询、购物车、订单查询等基本功能。管理员可以实现对用户的管理、对用户留言的管理、对产品种类的管理、产品的管理、商品管理、订单管理等维护工作。商品销售管理系统不仅要设计漂亮的网页,更要有严谨的规划,每一个细小的环节都很重要,这样才能使得在网上交易的过程中避免不必要的错误发生。对于本系统的设计开发,是以JDK+Eclipse+TOMCAT作为开发平台,JSP作为前台开发语言,负责处理页面的显示,同时结合Servlets和JavaBean应用开发。运用JSP产生页面动态部分,HTML产生静态页面,同时在HTML中嵌入JavaScript增加动态效果。使用JavaBean完成对第10页共32页 数据库连接的封装和对数据库的存取操作。在系统维护部分还编写简单Servlet接收用户的输入和提交动作,并根据动作指示进行相应的业务处理。此外还需要建立SqlServer数据库。因为传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法适合数据量不大的时候,但是当数据量比较大并且有较强的专业性时,录入的费用和出错的可能性都会增大。特别对一个网上购物系统,经过长时间的运行,记录了大量的顾客消费的记录,不加分析,这些数据都将毫无用处。建立自己的数据库,使得所需商品信息可以及时的保存、更新,也可以更好的及时了解商品买卖的情况。2技术理论基础及开发平台2.1技术理论基础2.1.1HTML语言HTML(Hyper  Text  Markup  Language  超文本标记语言)是一种用来制作超文本文档的简单标记语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐,程序等非文字的元素。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作WWW上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有HTM或HTML的文件扩展名。生成一个HTML文档主要有以下三种途径:(1)手工直接编写,例如用你所喜爱的ASCII文本编辑器或其它HTML的编辑工具。(2)通过某些格式转换工具将现有的其它格式文档(如WORD文档)转换成HTML文档。(3)由Web服务器(或称HTTP服务器)一方实时动态地生成。一般的HTML页面具有如下的结构:            < html>                                                //这是HTML正文部分第10页共32页              可见在一个HTML网页文件中,一般必须有一对标记作为文件的开头和结尾,在标记后是头部标记,其后是实体标记。在编辑器中输入html代码即可完成对网页的设计,如果在其中加入VB、JAVA等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查询,从而生成动态网页的一部分。在JSP中会经常使用HTML表单提交数据,实现JSP与客户端的交互。HTML表单是HTML支持用户在页面输入信息的方法,它提供了文本框、单选框、文本区、复选框、下拉菜单等控件,方便和简化用户的输入。2.1.2JSP技术JSP(JavaServerPages)是在服务器端编译执行的WEB设计语言,其脚本采用Java技术,完全继承了Java的所有优点。JSP技术为创建显示动态生成内容的WEB页面提供了一个简捷而快速的方法,它能使你将网页的动态部分和静态部分有效分开。JSP有如下优点:(1)将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML来设计页面的静态内容;使用JSP生成页面的动态内容。JSP是服务器端技术。在服务器端,JSP引擎解释JSP,生成所有客户端的请求的内容,然后将结果以HTML或者XML页面的形式发送给客户端。这有助于开发人员既保护自己的代码,又保证任何基于HTML的Web浏览器的完全可用性。(2)强调可重用性组件绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的更为复杂的处理。JavaBeans已经是很成熟的技术,基于组件的方法可供开发人员共享,大大加速了总体开发过程。(3)采用标识简化页面开发JSP技术封装了许多功能,这些功能是在生成易用的、与JSP相关的HTML或者XML的动态内容时所需要的。标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet,以及执行用其他方法更难编码的耗时功能。通过开发制定标识库,JSP技术是可以扩展的。开发人员可以为常用功能创建自己的标识库,从而使Web页面开发人员能够使用如同标识一样的工具来执行特定功能的构件。(4)健壮性和安全性第10页共32页 由于JSP的内置脚本语言是基于Java语言的,而且所有的JSP都被编译成Servlets,JSP就具有Java技术的所有好处,包括健壮的储存管理和安全性。(1)良好的移植性作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点,即具有良好的移植性。2.1.3SQLServer数据库SQL(Structured  Query  Language)的意思为结构化查询语言,是用户操作关系数据库的通用语言。 按照ANSI(AmericanNationalStandardsInstitute美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,包括数据定义、数据操纵和数据控制等与数据库有关的全部功能。目前绝大多数流行的关系型数据库管理系统,如Oracle、  Microsoft  SQLServer、Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Delete、Create 以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在使用数据库时用得最多的是数据操纵语言,其中以Select语句使用最为频繁。Select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。Select语句中位于Select关键词之后的列名用来决定哪些列将作为查询结果返回。Select语句中位于From关键词之后的表格名称用来决定将要进行查询操作的目标数据表。用户可以按照自己的需要按照条件进行查询,条件在WHERE之后,还可以使用通配符“*”来设定返回表格中的所有列。LIKE运算符的功能非常强大,通过使用LIKE运算符可以设定只选择与用户规定格式相同的记录,称为模糊查询。除了上面所提到的之外,用户还可以使用运算符,按顺序显示数据,对结果进行分组计算,限制结果集以及汇总数据等。2.2开发平台2.2.1简介本设计为基于网络超市的商品销售管理系统,采用JSP作为前台开发页面的语言,然而能够实现这种页面开发的平台很多,可以使用文本文档直接编写或者使用特定的工具来编写,根据目前所学的知识以及各方面的综合因素,本设计选择Eclipse平台。Eclipse是通用的工具平台——一个开放的可以为任何内容而扩展的集成开发环境。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件构建开发环境。此外,Eclipse还附带了一个标准的插件集。第10页共32页 2.2.2特点(1)Eclipse平台具有以下特点:1)在大部分平台上提供一致的特性集不论使用什么平台,Eclipse就像为该平台建立的应用程序一样。当下载Eclipse时,可以选择下载满足自己需要平台的Eclipse,对每个平台它都有单独的图形工具包。这提供了接近本土的外观,以及更好的性能。2)不仅支持Java或任意单一的语言,插件体系结构使Eclipse支持许多语言和模型3)开源且免费,但完全得到支持Eclipse平台和它的许多免费插件让使用者很容易地下载他们所需要的东西。另外,通过尝试新的语言和工具,大量的免费插件提供一种低风险的方式来扩展视野。4)真正地可扩展并可配置Eclipse插件的页面列出了825个提供产品,它是平台可扩展性的证据。5)行业力量Eclipse这样的高级图形用户界面来开发软件也是极好的,由于它去掉了许多重复琐碎的工作,使我们可以有更多的时间考虑实际的代码和重要的算法。一旦了解如何通过不同的Eclipse视图进行定位,就可以轻易地从一种语言或平台迁移到另一种并且知道工作起来是一样的。下面对Eclipse和Jbuilder做简单的比较:eclipse是开源的,自己可以写plugin,免费使用,扩展性强,对机器性能要求比Jbuilder低,Borland已经把java的开发平台挪到eclipse上面了。而Jbuilder需要花钱购买,对机器性能高,并且以后不再有后继版本了。3需求分析与设计方案3.1需求分析3.1.1需求背景(1)系统背景目前,随着经济的快速发展,企业规模的不断壮大,企业与国内外市场的紧密接轨,电子商务已经成为世界各国发展经济的核心。近年来,在互联网的普及推广下,人们的日常生活和休闲方式也在发生着变化,而以网上购物为主的电子商务也逐渐成长起来,在人们的日常生活中发挥越来越重要的作用。基于网络超市的商品销售管理系统,则是在网络上建立一个虚拟的购物商场,避免了选购商品的烦琐过程,使购物过程变得轻松、快捷、方便,很适合现代人快节第10页共32页 奏的生活,同时商家和企业又可以有效的控制销售运营的成本,提高经济利润,开辟新的销售渠道。商品销售管理系统的主要任务是把日益繁多的商品进行汇总,根据商品的用途进行种类的划分,然后制定商品的详细信息,同时配有实物图片,为方便用户的选择和购买,开发出一种编排更准确、更合理、更快速的商品销售管理系统。因此如何高效地管理好产品,控制好物流成本,提高企业的整体效益,己迫在眉睫。所以,本系统正是根据此要求进行开发设计的。(1)用户特征商品销售管理系统的用户可大致分为两类:一类是需要购买物品的用户,这些用户涉及的面比较广,有来自各个行业和各个职业的不同年龄和不同文化程度的,户对于计算机的操作能力也参差不齐,对这类用户系统必须提供方便的输入方式来满足他们的要求,如使用数字或者字母等,展示友好易懂的用户界面等;另一类是商家的系统管理员,这些人计算机文化程度相对比较高,可以对系统进行日常的维护和紧急情况下对系统的处理。(2)假设与前提根据现实生活中的销售情况和对消费者的购买心理的理解,现对该系统的设计做如下假设和前提条件:1)所有的商品数量已知。2)注册用户人数已知。3)在商品销售系统中,主要安排了日常生活中常用的商品类型。3.1.2可行性分析(1)逻辑可行性网上购物系统自身具备的即时互动方式可以吸引很多购物者的注意力,这些购物网站能够随时让顾客参与购买、更方便、更详细、更安全。而且在这样的网站中,产品的管理是有秩序的,并将其进行科学化的分类,便于购买者查询。这种网站的网页设计往往制作得更有指导性,并且更加美观,这些都将会吸引大批的购买者。(2)经济可行性基于网络的商品销售管理系统的投入,能够提高工作效率,减少工作人员,从而减少劳力资本的投入,在货物管理中节省人力,减轻了劳动强度,达到降低成本及其他费用的目的。通过改进薄弱环节,提高工作效率,提高数据处理的及时性和准确性。所以从经济角度来说,本系统开发完全必要。(3)技术可行性本系统开发涉及到的技术因素主要有如下几个方面:第10页共32页 1)数据库技术,对SQLServer熟悉,能够熟练使用SQLServer数据库。2)系统架构的规划,使用B/S架构。3)页面开发,使用HTML和JSP技术,能够使用这两种技术开发页面。4)系统维护部分,运用Servlets处理。5)配置环境,装有WindowsXP电脑一台,安装SQLServer2000数据库,搭建Eclipse平台和Tomcat服务器,IE浏览器等。上述条件基本符合,本系统设计开发可以进行。3.2设计方案3.2.1设计目标客户使用网上购物系统可以很方便地在网上查询、挑选、修改、订购商品等。并且购买后可以选择方便自己的付款方式,如电汇,网上支付,银行汇款等;使用后还可以直接在网上向销售商反馈信息。用户只要有一台电脑上网就可以完成以前复杂的过程,节省许多宝贵的时间。销售商使用该系统,可以直接和客户交流信息、管理用户、管理产品,以及对商品进行添加、删减,并及时更新商品信息。该系统可以帮助销售商更好的管理商品的销售和最及时的了解到商品的销售情况,加强对商店的管理。3.2.2系统总体设计(1)系统设计思想1)页面模块化把页面中常用部分集成为模块,例如页面的头部和尾部。在系统中分别是tail.html和head.html两个文件。2)三层架构设计采用三层架构后,用户界面层通过统一的接口向业务发送请求,业务层按照自己的逻辑规则将请求处理之后进行数据库操作,然后将数据返回给用户界面层。(2)系统功能模块划分图1为商品销售管理系统功能图,主要是把基于计算机系统的功能分配到各个系统元素,就此建立一个模型,用以表达系统元素间的相互关系,为稍后的分析与设计奠定基础。总体设计就是从系统总的方面考虑,结合需要实现的功能,做出规范、全面的设计。第10页共32页 图1总体模块图4各模块及数据库设计4.1数据库设计4.1.1数据分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,为后面具体设计打下基础。收集基本数据,将这些商品数据分为三类:纸面记录、电子数据(XML、Access、Excel等文件)、网上数据。无论对于哪一种数据,都要对其进行检查,修正有问题的数据,删除重复和过期的记录。在检查的同时,还要对这些数据进行分析,为制定商品目录方案做准备。(1)通过上述对系统功能的分析,针对基于网络超市的商品销售管理系统,总结出如下需求信息:1)用户分为一般用户和管理员用户。2)订单分为详细订单和总订单。3)每一种商品从属于一种类型。4)一种类型有不同的产品。5)一种产品有不同的商品。6)一个用户可以购买多种商品。7)一个用户对应一张总订单。8)一张总订单对应多张详细订单。9)用户可以写留言信息。(2)经过上述系统功能分析和需求总结,设计如下的数据项和数据结构:第10页共32页 1)用户信息,包括数据项:用户名、密码、昵称、真实姓名、性别、地址、电话、电子邮箱、用户身份号2)种类信息,包括数据项:种类号、种类名称3)产品信息,包括数据项:种类号、产品号、产品名称4)商品信息,包括数据项:产品号、商品号、商品名称、单价、介绍、规格、产地、图片链接地址5)总订单信息,包括数据项:订单号、用户号、用户名称、用户电话、收货地址、订购日期、电子邮箱、发货状态、付款状态、总额、邮政编码、性别、付款方式、发货方式、备注6)详细订单信息,包括数据项:订单号、商品号、商品名称、单价、商品数量、总价格7)留言本信息,包括数据项:用户号、留言时间、留言人IP、留言人QQ、留言人邮箱、留言内容4.1.2概念结构分析在上面得出数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。根据上面的设计规划出的实体有7个:用户信息实体、种类实体、产品实体、商品实体、总订单实体、详细订单实体和留言本实体。各实体之间的E-R图如下所示,实体属性省略。图2各实体之间的E-R图第10页共32页 4.1.3逻辑结构分析在上面数据的概念结构设计完成后,在该节要将上面的数据库概念结构转化为数据库的逻辑结构。(1)数据库设计的命名规则:1)ODBC数据源名:eshop2)数据库名:为了和系统的名称相同,给数据库取名为eshop3)数据库文件名:eshop.mdf4)数据库日志名:eshop.log5)数据库账户:sa6)账户密码:sa考虑系统今后的维护工作及功能修改的需要,将表及字段做出了命名规则。(2)表的相关项命名规则:1)所有表的主键命名为“表名+id”。如:product_id为产品表的主键。2)所有表的外键命名为使用外键所在表的列名。product_id为商品表的外键。这样把这个两个表关联起来。3)所有字段的命名为该字段的“表名+英文名称”。如product_name产品的名称。商品销售管理系统数据库中各个表的设计结果如下面的表格所示,每个表格表示在数据库中的一张表。(3)各个表的结构如下:1)用户信息表:表1用户表uidpwdnicknamerealnamegenderaddressteleemailqxchar(10)char(10)char(10)char(16)char(4)textchar(12)char(15)char(1)用户代码密码用户昵称真实姓名性别地址电话邮箱身份号注:qx为0代表一般用户,1代表管理员主键:uid第30页共32页 种类信息表:表2种类表class_idchar(2)种类号class_namechar(16)种类名称注:主键:class_id1)留言信息表:表3留言表uidint用户IDtimesvarchar(30)留言时间urlvarchar(100)主机地址ipvarchar(20)留言人IPemailvarchar(50)留言人邮箱qqvarchar(20)留言人QQcontentvarchar(1000)留言内容namevarchar(20)留言人姓名注:主键:uid,这个是自动生成2)商品信息表:表4商品表product_iditem_iditem_namepriceintroducespecssupplierlinkclicknumchar(5)char(8)char(40)floattextchar(20)char(12)char(40)int产品号商品号商品名称价格介绍规格产地图片链接点击率注:主键:itme_id外键:product_id3)订单细节表:表5订单细节表order_iditem_iditem_namepricenumbersumpricechar(20)char(8)varchar(40)floatintfloat订单号商品号商品名称价格数量总价注:主键:order_id+item_id组合组成外键:order_id,item_id4)第30页共32页 总订单表:表6总订单表order_idchar(20)订单号uidchar(10)用户号cnamechar(10)用户名称addresschar(10)用户地址pdatechar(20)订购日期phonechar(15)用户电话sendestatuschar(1)发货状态paystatuschar(1)付款状态totalfloat总额zipchar(6)邮政编码sexchar(1)性别paychar(20)付款方式sendsmallint发货方式contentvarchar(50)备注注:主键:order_id外键:uidpaystatus:“0”代表未付款,“1”代表已付款sendestatus:“0”代表未发货,“1”代表已发货1)产品信息表:表7产品表class_idchar(2)种类号product_idchar(5)产品号product_namechar(20)产品名称注:主键:product_id外键:class_id4.2各模块详细设计4.2.1用户模块该模块是对用户管理的模块,是本系统中的一个重要部分,包括用户注册、用户登录、用户留言等几个小部分。用户可以通过注册成为会员,而管理员只能由系统管理员添加。对于会员的管理,要对会员的信息进行保密,即只允许会员自己可以查看自己的信息。下面是用户模块图:第30页共32页 图3用户模块图下面是各个小模块的功能介绍:(1)用户注册:用户在第一次登入网上购物系统时需要注册成为本系统的会员,使用用户注册就可以注册成为本商店的会员。只有注册成为商店的会员后,才可以在购物动作结束时结帐。(2)用户登录:用户登录可验证用户的注册信息。对用户身份加以确认,判断该用户是哪种用户,具有那些权限,同时赋予其相应操作。这个登录模块可以实现对用户信息的管理,是商店的会员,可以查看自己的信息,修改自己的信息,并可以产生购买行为。同时可以保证系统的安全,不至于让一些无聊的人员恶意修改信息,破坏商店的信誉,同时也可以对用户信息进行确认。如果是管理员则进入系统维护。(3)用户留言:用户可以进入留言板发表自己的留言,也可以对商家提出对产品的要求,向商家提出宝贵意见,反映对产品及服务的满意度。4.2.2在线模块图4是在线购物的整个主体业务图,主要包括购物指南、商品搜索、购物车管理、订单查询和收银台四个模块。客户在产生购买行为的时候,主要做以上这些行为。图4在线模块图下面对这些行为做如下的介绍:(1)购物指南:在设计系统时,考虑到新用户由于不了解网上购物的具体流程,从而产生盲目购物的现象,甚至有可能不知道怎么操作。为此,我们设计了购物指南这个功能,其主要作用就是帮助新注册的用户能够很快地学会以及方便地进行购物,因此这个功能是专门为新用户而设计的,购物指南会引导用户一步一步熟悉操作。(2)商品搜索:可以进入商品种类或者我的商店查询不同类别的所有商品,第30页共32页 也可以在首页搜索商品框内进行,查询时可以按照商品代号,或者商品名称进行查询行为,中意的商品可以加入购物车。因为顾客对有些商品的代码,或者名称不是很熟悉,只知道其中的一两个字,这时就可以在首页使用模糊查询,输入商品号或者商品名称或者产地等即可找到所需要的商品,只要是有满足条件的就全部列举出来,让用户选择。(1)购物车管理:用户在购买东西的时候会有个购物车盛装用户选购的商品。如果用户发现刚才选的商品自己不喜欢,并可以在自己的购物车上把不喜欢的商品删除,也可以清空购物车,也可以继续添加商品到你的购物车中,总之用户可以管理自己的购物车。(2)收银台:当用户购买完东西后点击收银台图标进入收银台,开始结帐过程,其中会让用户填写相关信息,比如选择付款方式,备注信息等,结帐最后生成订单。(3)订单查询:在用户购买商品以后,进入收银台去结帐并会生成订单。在订单查询处可以查看自己已经提交的订单信息。不仅在没有退出时可以查看,在退出之后重新登入系统还可以继续查看。下面看看用户购买东西的流程图,当了解网上购物的大致流程后,根据用户自己的实际需要查看自己需要的商品,在商品的目录里有各个种类的商品,而每个种类的商品中又包含具体商品的详细介绍,方便用户选择所需的商品。用户在选择自己的商品时,系统则连接到后台关于此商品信息的数据库中,找到适合客户需求的信息。然后点击“继续购买”或“收银台”图标,完成购物。此外顾客还得进行身份信息的填写,选择的支付方式、收货地址、邮编等信息。注意,其中商品出库是在收到汇款或者在转帐之后才由商家所做的行为,在没有收到钱之前是没有这个行为的产生的。第30页共32页 图5购物流程图第30页共32页 4.2.3系统维护模块该模块是管理员对整个商店的管理,属于管理员的操作,包括商品信息管理、会员信息管理、订单管理、产品管理、种类管理等几个部分,先看模块图如下所示:图6系统维护模块图其中各个小部分主要完成的功能,分别如下:(1)用户管理:当有新的管理员来时可在用户管理中添加新的管理员,当有管理员要离开时,为了系统的安全必须删除要离开的管理员;或者当有些管理员觉得自己的密码不安全时可以在用户管理模块进行修改。此模块还可以对普通会员进行管理。(2)种类管理:现代社会是个千变万化的社会,每天都有新的商品产生,所以作为管理员必须对自己系统中的种类进行更新。也可以删除不合理的种类。(3)产品管理:在此模块中,可在各种产品的种类下添加新的产品,并且可对过时的产品进行删除,或者更新现有的产品。(4)商品管理:在此模块中,可在商品原有的种类号、商品号、商品名的基础上对商品注册更详细的信息。如:单价、产地、图片、规格、产品介绍,并实时更新商品的最新信息。也可以添加新商品、删除过时商品。(5)订单管理:在此模块中,可对顾客已定购的商品的发货情况、付款情况、总额等进行登记,也可以从中得出商品的销售情况,以方便对商品的管理。(6)留言管理:管理员在留言板上看到留言信息,如果已经处理了就可以删除掉。4.3主要核心代码4.3.1数据库连接核心代码:StringdbUrl="jdbc:microsoft:sqlserver://localhost:1433;databasename=eshop";Stringuser="sa";//数据库用户名Stringpassword="sa";//密码Connectionconn=null;第30页共32页 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//加载数据库驱动程序conn=DriverManager.getConnection(dbUrl,user,password);//建立一个连接Statementrst=conn.createStatement();//创建该对象用于将SQL语句发送到数据库中,也可以创建PreparedStatement对象用于对数据库操作4.3.2登录确认核心代码://用脚本语言写出两个函数,一个是返回上页,一个是打开一个网页functionbackward(){history.back();}functionwinopen(){window.open("adminstrator.html","","height=450,width=750,left=25,top=25,resizable=yes,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes","");}Stringuid=request.getParameter("uid");Stringpwd=request.getParameter("pwd");try{ResultSetrs=bean0.executeQueryUser(uid,pwd);if(rs.next()){Stringrealname=rs.getString("realname");Stringqx=rs.getString("qx").trim();//省略其他代码session.setAttribute("uid",uid);if(qx.equals("0")){byte[]tmpbyte=realname.getBytes("8859_1");//转化格式realname=newString(tmpbyte);session.setAttribute("realname",realname);//省略response.sendRedirect("./index.jsp");}第30页共32页 else{%><%=uid%>:你是管理员用户!欢迎你进入!

 

<%}}else{rs.close();%><%=uid%>:对不起!你的输入有误,请重新填写!

<%}}%>4.3.3购物车用户通过detail.jsp查看商品的详细信息,然后通过add.jsp保存到buylist对象中,接着就引用了一个Vector对象shop来模拟购物车。首先从session对象中读取shop,如果读取的结果为空,说明购物车中还没有商品,这时就需要对购物车进行初始化。如果购物车不为空,则应该向车中添加新的商品。此外在这个程序中还使用了一个智能判断,即当用户重复购买某种商品时,不再添加新的buyList对象,而是把原来的buyList对象的number属性加一。核心代码如下:Stringuid=(String)session.getAttribute("uid");//从会话中读取用户的ID号Stringpid=request.getParameter("itemid");Stringpname="";floatprice=0;Stringsql="selectitem_name,pricefromitemswhereitem_id='"+pid+"'";try{ResultSetrs=bean0.executeSql(sql);//从数据库中读出该商品的价格和名称if(rs.next())第30页共32页 {pname=rs.getString("item_name");price=rs.getFloat("price");}//读取bulist的对象buylistmylist=newbuylist();mylist.pname=pname;mylist.price=price;mylist.pid=pid;mylist.uid="uid";mylist.number=1;booleanlistFlag=true;//读取购物车信息Vectorshop=(Vector)session.getAttribute("shop");if(shop==null){//如果原购物车为空,则新建购物车shop=newVector();}else{//原购物车不为空的情况for(inti=0;i//这部分使用表单提交处理//下面主要是分页显示和显示数据库查询的信息<%Stringclassid="";Stringclassname="";intintPage;//待显示的页intintPagesize;//每页显示的记录数intintRowcount=0;//总记录数intintPagecount=0;//总页数Stringstrpage;intPagesize=5;strpage=request.getParameter("page");if(strpage==null){intPage=1;}else{intPage=Integer.parseInt(strpage);第30页共32页 if(intPage<1)intPage=1;}Stringsql0=selectcount(*)fromcategoryStatementrs0=bean0.excuteSql(sql0);intRowcount=rs0.getInt(1);ResultSetrs=bean0.executeCategory();//rs.last();//intRowcount=rs.getRow();intPagecount=(intRowcount+intPagesize-1)/intPagesize;if(intPage>intPagecount)intPage=intPagecount;if(intPagecount>0){rs.absolute((intPage-1)*intPagesize+1);inti=0;while(i//显示在页面上><%=classid%><%=classname%><%i++;rs.next();}}%>         第30页共32页

第<%=intPage%>页共<%=intPagecount%>页<%if(intPage>1){%>">上一页<%}%><%if(intPage">下一页<%}%>

Servletaddcategory类的核心代码:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringvar0=request.getParameter("text1");//获取种类号if(var0==null){var0="";}Stringvar1=request.getParameter("text2");//获取种类名称if(var1==null){var1="";}PrintWriterout=response.getWriter();try{ConnectionConnsql=dbConn.myconn();byte[]tmpbyte=var1.getBytes("Iso_8859_1");var1=newString(tmpbyte);Statementprep=Connsql.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//蒋从表单获取的信息插入数据库category表中prep.executeUpdate("insertintocategoryvalues('"+var0+"','"+var1+"')");response.sendRedirect("managecategory.jsp");}//省略}Servletdelcategory的核心代码:第30页共32页 publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringvar0=request.getParameter("classid");if(var0==null){var0="";}response.setContentType(CONTENT_TYPE);try{ConnectionConnsql=dbConn.myconn();PreparedStatementprep=Connsql.prepareStatement("deletefromcategorywhereclass_id=?");prep.setString(1,var0);ResultSetrs=prep.executeQuery();//从category中删除所选择的种类response.sendRedirect("managecategory.jsp");}5系统的运行结果5.1实验环境与结果5.1.1实验环境本系统需要的实验环境:一台安装WindowsXP计算机一台,安装Tomcat服务器及SQLServer2000数据库,使用IE7.0作为浏览器。5.1.2运行结果及分析本系统的具体功能在上面已经介绍清楚了,下面介绍运行结果。(1)一般用户可以通过用户名和密码登录进入首页,点击进行各种选择。首页如图所示:第30页共32页 图7首页界面(1)点击商品目录图标,列出商品的分类,选择自己需要的商品,点击该商品名或者商品号就可以查看商品详细信息,以便决定是否购买,购买界面如下:图8购买界面(2)在线结算模块要求用户登录以后可以填写用户信息和付款方式,同时系统自动统计用户商品的价格和数量。在进入了购物车的主界面后,点击收银台图标,如果用户之前未登录则进入结算登录界面,在登录后系统进入结算信息填写界面,最后反馈确认界面如下:第30页共32页 图9结算信息确认界面(1)用户购买商品后可以对商品的满意度和服务做出评价,即可以进入用户留言模块,发表自己的意见,在该模块用户可填写留言人、留言内容、留言人主页、留言人QQ、留言人E-Mail等内容,在填写相关信息后点击提交则将所有内容转入数据库。如下所示:图10用户留言界面第30页共32页 管理员可以通过点击登录或者系统维护通过用户名和密码以及标识管理员和一般用户的身份验证后便可以进入管理界面如下:图11系统维护界面(1)在系统维护部分,分为很多小模块,现例举其中一个,种类维护管理模块,管理员可以添加也可以删除种类,界面如下:图12种类维护界面5.2系统的不足及改进方法本系统虽然能够完成典型网上商店所具备的功能,实现了网上查询、网上购物、网上留言等。但是随着现代科技的提高和社会生活的信息化,人们对网上购物商店的要求也越来越高,相比之下本系统还存在着以下不足:(1)密码安全在本系统中用户按照不同身份输入登录名,密码登录系统平台。所有用户密第30页共32页 码和用户名在数据库内保存。用户登录时系统会对用户登录时所填写的信息进行校验,只有通过校验才可以进入系统。但是该过程的安全性很一般,如果要有更高的安全性应该为其使用加密功能,以提高系统和用户的安全性。但现在系统未能实现。(1)操作记录由于系统管理员作为管理级别的系统人员,他们的操作会对系统产生极大的影响,特别是对系统数据资料做出的能直接影响到用户的利益或者是系统的安全的操作。为了掌握管理员的操作和在出现问题或错误的时候能清楚的对负责人进行审查,因此在系统中应该设计添加系统日志功能,对系统管理员的重要操作进行记录。记录的信息包括记录时间、记录人、记录人业务类别、操作内容、操作结果等信息。这个功能没有实现。(2)销售商信誉度销售方的诚心和信誉度是顾客最看中的方面,这也是影响销售的主要因素。为了解决这个问题,因此应该在本系统中,让销售企业注册成为商户,并可以提交企业的相关资质,作为对企业诚心的鉴别,也可以通过顾客的评价来反馈企业的信誉度。同时,企业资质比较高的企业也可以获得更高级别的信誉等级。企业提交的资质,由系统管理员通过专家专门鉴定的机制进行鉴定,鉴定通过的资质可以在会员查询企业信息资料时显示出来。对于有效的资质,系统自动判别有效期限,超过有效期限的资质,系统自动对该资质注明“已过期”,并提示相应商户。但是本系统没有该模块,以后有待完善。(3)电子支付对于企业来说,彼此之间存在债务关系是一种不可避免的现象,对于商品销售同样难以回避,但该系统没有设计这方面的功能,特别是对需要购买大批量的商品的用户,无法实现欠款购买,显得不够灵活和呆板,本系统也没有实现此功能。只是在结帐的时候有此选项并没有具体实现,并且没有实现付款功能。一个健全的网上商店应该具备上述功能,并且为了保证支付安全和用户的利益,用户可以查询资金情况,但是不能提取资金使用。购物用户利用预付款进行购物,销售商派送货物,并形成付款订单,系统从用户预付款中划拨相应金额,支付给销售商。但是在本系统中没有考虑到这个问题。(4)利润结算对商家来说使用系统也为了给自己带来方便,比如每天营业结束应该能结算当天营业额,还有利润的计算,以方便商家的统计,该系统没有此功能。(5)用户的信誉度第30页共32页 根据用户的购买情况,以及付款状态,客观评价用户,给予一定级别。当会员用户级别到达一定程度,应该享受相应的优惠政策。该系统中这个功能没有实现。结论当今互联网用途呈现多元化,不论是信息内容还是使用功能,涉及范围都更深更广。在互联网服务方面,在线交易活动正在迅猛发展。本文设计了一个基于网络超市的商品销售管理系统,基本实现商品销售系统的功能,达到了预期的目的。本文主要完成的工作有两方面:(1)设计用户界面和实现相应的功能。用户注册成为会员,登录查询商品信息,购买,结账等,可以向商家反映情况以及提出宝贵意见。(2)设计管理员界面和实现相应的功能。管理员可以对系统各方面进行维护,种类维护,产品维护,商品维护,订单维护,用户管理,留言管理等。通过这个商品销售管理系统开发的整个过程,我基本掌握了JSP这一开发工具和Eclipse平台的使用,以及对开发系统的步骤有了更深刻的理解。同时,也让我对系统开发感受深刻:首先,开发一个系统需要了解这个系统的需求。其次在于各个小模块的划分并实现,特别是建立在业务之上的软件开发。在其过程中,编写代码要细心,避免一些语法错误,影响调试进度。再次,关键就在于各个模块的合并后,整个系统的实现的稳定性上。在开发过程中,对工程的创建和部署也是需要十分仔细的处理。这个系统在很多方面存在不足,有待完善和改进:(1)安全方面,对用户身份验证和密码登录都要进行加密,对电子交易应该使用数字签名等技术,以达到用户的交易更为安全,更为便利。(2)对商品销售情况进行排行,对销售好的商品进行排榜。(3)对商家信誉度的评价,给用户购买商品提供参考。每个商家都应该有自己的信誉度。(4)对用户的信誉度评价,根据用户的付款情况和购买后的留言客观对用户进行评价。参考文献[1]耿祥义,张跃平.JAVA2实用教程(第二版)[M].北京:清华大学出版社,2004。[2]普悠玛数位科技.JavaServerPages[M].北京:中国铁道出版社,2001。[3]HansBergsten[美],何建辉,许俊娟译.JSP设计[M].北京:中国电力出版社,2000。第30页共32页 [4]朱敏,朱晴婷,李媛媛.JSPWeb应用教程[M].北京:清华大学出版社,北京交通大学出版社,2004。[5]方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005。[6]汪孝道,刘中兵,徐佳晶.JSP数据库开发实例精粹[M].北京:电子工业出版社,2005。[7]胡恒,刘宇,吕游.JavaScript网页开发实例教程[M].北京:机械工业出版社,2002。[8]V.KI工作室.HTML+CSS入门与讲座[M].北京:科学出版社,2001。第30页共32页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭