商品在线销售论文.doc_第1页
商品在线销售论文.doc_第2页
商品在线销售论文.doc_第3页
商品在线销售论文.doc_第4页
商品在线销售论文.doc_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书设计题目:商品在线销售系统的设计与实现学生姓名: 学 号:专业班级: 学 部: 指导教师: 2012年05月20日摘 要随着Internet技术的发展,人们的日常生活已经离不开网络。近年来由于Internet的迅速崛起,互联网已成为收集提供信息的最佳渠道。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、电子化、虚拟化,网上订购作为B2B、B2C、C2C电子商务的前端商务平台,在其商务活动的全过程中起着举足轻重的作用。通过该系统,顾客可以浏览全部商品信息,顾客也可以对商品进行检索,选出自己所需要的商品。顾客也可以将商品放入购物车,修改、删除购物车产品,之后可以点击结算生成订单。在线商品交易系统是利用Java语言和JSP技术开发的一个B/S模式的类似于网上商城的交易系统。系统期望达到功能强大、费用低廉、通用性强的目的。本系统采用My eclipse开发工具,MySQL数据库,应用MVC分层思想设计开发。在线商品销售系统分为两大模块:后台运营管理模块和前端客户服务模块。后台运营是商家进行商业活动的模块;前台服务主要是用户通过浏览器的形式对商家的商业活动进行参与的方式。后台数据库的建立和维护要求建立一致性和完整性强、数据安全性好的数据库;前端应用程序的开发要求应用程序具备功能完备、易使用等特点。关键词 商品在线销售;后台系统;Java;JSP;My SQLAbstractWith the development of Internet technology, peoples daily life is inseparable from the network. In recent years due to the rapid ascent of Internet, the Internet has become the information the best channel. The future of life and work will more and more depend on the development of digital technology, more and more digital, electronic, virtualization, online ordering as B2B, B2C, C2C a front-end e-commerce business platform, in the business activities of the entire process play a decisive role in the. Through the system, customers can browse all the commodity information, customers can also retrieve commodity, choose the products they need. Customers can also put the merchandise into the shopping cart, modify, delete the shopping cart products, can be settled, when click generate orders, orders can be generated.Online commodity trading system is the use of Java language and JSP technology developed a B / S mode similar to online bookstore trading system. The system is expected to strong function, low cost, strong commonality of purpose. This system uses the My eclipse development tools, My SQL database, application of MVC hierarchical design ideas. Online merchandise sales system is divided into two modules: the backstage management module and client service module. Background business is business module; the service is mainly the user via a browser in the form of the business of commercial activities in the way. The backstage database establishment and maintenance requirements to establish data consistency and integrity, good data security database, front-end application development requests the application procedure function is complete, easy usage etc.Keywords online commodity trading system; background system; Java; JSP; My SQL目 录摘 要IAbstractII第1章 绪论11.1 研究背景11.2 研究目的21.3 开发本系统的意义21.4 系统可行性分析31.4.1 技术可行性31.4.2 管理可行性31.4.3 经济可行性41.5 本章小结4第2章 系统开发关键技术及开发环境52.1 系统开发模式52.1.1 B/S结构概述52.1.2 B/S结构优点62.2 Java语言简介62.3 MVC模式介绍72.3.1 MVC概述72.3.2 MVC设计思想82.3.3 MVC优点92.4 JSP技术介绍102.4.1 JSP概述102.4.2 JSP运行机制102.4.3 JSP优势112.5 数据库MySQL简介112.5.1 MySQL系统特性122.6 系统开发工具122.7 本章小结12第3章 系统前期分析133.1 商品在线销售系统概述133.2 需求分析133.2.1 系统的用户角色和角色功能133.2.2 在线销售系统的功能分析133.3 数据库分析143.4 系统体系结构分析173.5 本章小结18第4章 系统详细设计194.1 数据库整体设计194.2 数据库具体表结构194.3 系统相关JavaBean的实现214.4 系统相关Dao类的实现214.5 主要界面模块的设计实现234.5.1 商品首页功能模块的实现234.5.2 商品购物车功能模块的实现254.5.3 商品订单功能模块的实现264.5.4 商品管理功能模块的实现294.5.5 流量统计功能模块的实现304.5.6 统一功能模块的实现314.6 系统设计实现中所存在的问题及解决方案314.6.1 系统的整体设计和规划中的问题314.6.2 开发功能模块所遇到的难点324.7 本章小结32第5章 系统测试335.1 系统测试分析335.2 系统相关测试335.3 模块测试335.4 部分模块测试显示345.5 本章小结35结 论37参考文献38谢 辞39注 释40附 录41附录A41附录B46附录C54第1章 绪论1.1 研究背景近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道。网上订购作为B2B、B2C、C2C电子商务的前端商务平台,在其商务活动的全过程中起着举足轻重的作用。网上购物系统具有强大的交互功能,可以使商户和顾客方便的传递信息,完成电子贸易。这种全新的交易方式,实现了公司间文档与资金的无纸化交换。在线销售系统为网络顾客提供了网上购物的平台,使得顾客足不出户就可以买到自己所需要的商品,方便了顾客,也方便了经营者。目前我国在北京、上海和广州已陆续开通银行安全支付系统,结合Internet完成ISP与客户之间的交易结算。随着国内结算体系的逐渐完善和与世界接轨,电子商务营销将在全世界范围迅速兴起。通过该系统,顾客可以浏览全部商品信息,顾客也可以对商品进行检索,选出自己所需要的商品。顾客也可以将商品放入购物车,修改、删除购物车产品。当顾客成功登陆之后,将会根据顾客等级给予顾客响应的折扣,之后可以进行结算。当点击生成订单时,可以将订单生成。顾客可以修改顾客的个人信息,查看、修改、取消历史订单。在线销售系统为人们提供了更广阔的环境:人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易。更广阔的市场:在网上这个世界将会变得很小,一个商家可以面对全球的消费者,而一个消费者可以在全球的任何一家商家购物。更快速的流通和低廉的价格:电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。更符合时代的要求:如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。商品在线销售系统实际上是运行在Web服务器中的一个Web应用程序。既可以作为网站的一个子模块实现,也可以作为一个网站单独运行。其模拟一般商城的经营模式,利用页面、脚本程序来实现“网上商品在线销售系统”的商品管理、订单管理工作。可对顾客进行购物管理,实现标准购物车功能(分为修改、继续购买、清空、结账四个状态),可对购物车在结算之前任意步骤进行查询和修改,后台设置管理员维护界面,可在首页修改商品信息,查询商品等操作,设定订单管理子模块对订单状态进行跟踪和管理。设定流量管理子模块用来统计流量和浏览用户的信息。整个“商品在线销售系统”主要由使用MySQL建立的数据库和利用JSP网页开发技术实现的个性化Web页面两部分组成,二者通过数据库服务器和Web服务器连接。业内专家指出,网络购物的快速增长不仅印证了网络世界的美好前景,也给传统零售业带来巨大的压力。同时,网络购物也必将改变人们的生活,从今开始,网络购物即将进入一个新的爆发性增长期。网上商城为人们提供了更广阔的环境,人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易。如今人们随着工作压力的增加,没有足够的时间去购物,网购将会成为人类生活不可缺少的一种快速、便捷的购物方式。1.2 研究目的商品在线销售系统是基于因特网在线商品销售过程设计的,利用Java语言和JSP技术开发了一个基于B/S模式的类似于网上商城的商品销售系统,以期达到功能强大、费用低廉、通用性强的目的。客户可以通过因特网浏览相关商品信息,将商品放在购物车里。根据自己的购买意向,顾客可以发送订单,系统管理员定期处理客户发来的订单。本系统满足消费者只要通过互联网就可以足不出户的购买自己喜欢的商品,改变了以往传统商品交易模式,在互联网上进行交易,实现网上购买商品。网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个商品市场一片繁荣,在这种情况下,商品在线销售的加入无疑将使得竞争更加激烈,但从另一个方面看,只有在这种激烈的竞争下,网上商店的优势才能得以体现,达到盈利的目的。1.3 开发本系统的意义对于网上商城来说,我想每个人都不陌生,即使你没有亲自在网上购买过东西也一定见过、听说过网上购物这种方式。网络购物作为一种新的购物形式已经被广大群众所接受,尤其是年轻群体,他们特别热衷于网购。我们的课题商品在线销售就是一种专注于商品交易的网络商城。网上商品交易的营销成本大大低于传统的店面销售模式,更关键的是,风险资金的介入让网上商品并不在乎眼前的赢利,可以“超理性”地把价杀低,这更是传统商店无法实现和应对的。同时在网络上销售商品,面对的市场非常大,网络连接全世界,销售对象就是全世界,而传统模式的商场销售面对的是本城市就近的一些消费者,受到了地域限制。营业时间的优势就是不需整天看着网店,网上商店的营业时间:24小时全天候接受订单,而传统商店的营业时间一般为早上9:00晚上9:00。这些原因,导致了网上商品交易将会成为商品交易主流的趋势。1.4 系统可行性分析随着计算机技术的发展和网络用户的激增,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股迅速流行的潮流。消费者已基本上可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可行性的分析是非常必要的,也是很重要的,经过最初的设计目标的构想和进行的市场调查得出以下三点的可行性分析。1.4.1 技术可行性在销售系统设计和开发中尽量采用成熟的技术是系统开发成功的保证。由于在线商品交易平台本身是一种B2B(Business To Business, 商家对商家)或B2C(Business To Customer,商家对顾客直销)的模式,所以决定了本系统的开发模式采用的主要技术为:Web开发技术的整合应用,JSP技术,html技术,MySQL数据库技术和局域网技术。采用了以上技术,购买者运行浏览器,以B/S方式连入主服务器,浏览信息或提出服务要求。商品销售者可以掌握所有的商品信息,店里销售财务人员可以方便结算商品的价格,灵活处理进货财务。JSP技术很好地适应了交互站点设计和基于Web的数据库访问的要求。JSP环境下对数据库的访问采用JDBC数据模型,使用它,可以对来自许多种购买者的数据进行读取和写入操作。硬件方面使用Pentiun900 CPU或以上、内存256M以上、硬盘容量为40G以上等配置开发该系统,运用大学四年所学的知识再加上平时对计算机专业知识的相关积累,以及魏老师的细心指导,在限定时间下,能够实现商品在线销售系统的基本功能,因此在技术上可行。1.4.2 管理可行性由于计算机的普及和工作人员计算机知识的不断增长,有关领导的重视和关心,主要管理者的大力支持和全体员工的热心参与,网上商品销售系统的成功开发势在必行。该系统投入运行后,只需用户通过因特网访问该系统的域名,即可使用该系统,就可随时查询特定业务的操作情况,录入商品信息,掌握销售信息实时动态。有助于整体工作效率的提高和增加利润。另外,通过JSP技术可以设计出一个统一,友好的人机界面。所以管理员无须精通计算机知识或是了解系统的内部处理即可操作,简单易学,清晰易懂,一般人在两天内即可学会使用,若稍有基础的一个小时便可学会使用,所以该系统的开发在营运上是完全可行的。1.4.3 经济可行性商品在线销售系统是实现在线销售的一个系统,数量大、种类多、价格低,不受时间、地域限制,提供多途径综合检索,为用户节省大量的时间和精力,所以在经济上可行。计算机和打印机及其他一些相关的硬件很多公司已初步具备。并且该系统开发的时间较短,只需两至三个月时间即可实现。由于该系统相对来说比较简单,人员的培训费和培训时间相对也较少,系统的维护费用也不高。开发完成后,可以实现准确与快速于一体,大提高了工作效率,有效降低了错误机率,使项目管理工作从大量的信息中更加准确地了解动态变化,为商品交易平台的项目管理工作发展提供强有力的支持,创造更大的经济效益,为公司带来一笔不小的回报。从总投资估算,产品成本估算与价格,财务效益预测和财务评估指标等方面考虑,该系统的开发在经济上是完全可行的。综上所述,该系统是可行的,可以立即着手开发系统。1.5 本章小结本章是本系统的绪论,主要作用是大体介绍一下本系统的研究背景和研究目的,本系统的研究背景是在网上电子商务越来越受到人们的青睐的背景下开发的,研究目的就是为了商品买卖脱离传统的营销模式,实现电子化交易。并在对研究背景和研究目的的探讨研究的基础上,论述了开发本系统的意义,最后又从技术可行性、管理可行性和经济可行性三个角度对系统可行性进行了分析,得出结论商品在线销售系统是可行的。第2章 系统开发关键技术及开发环境2.1 系统开发模式随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,B/S结构已成为当今应用软件的首选体系结构,用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,由于在线销售系统是一款基于传统购物流程为基础,而建立的以网络为平台的纯B/S结构的Web应用程序,它交互频繁,在线交易量大,用户不易确定,管理复杂而且商品信息需要不断地更新反馈给用户。相比之下,B/S结构更能够满足本系统的管理要求,所以本系统采用基于B/S的开发模式。2.1.1 B/S结构概述B/S(Browser/Server,浏览器/服务器模式)结构:是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这种三层体系结构如图2.1所示。 图2.1 B/S三层架构示意图这种结构大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。随着Internet和WWW的流行,以往的主机终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。2.1.2 B/S结构优点B/S结构的优点 (1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2)业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 (4)开发简单,共享性强。2.2 Java语言简介当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。它是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构的,中立的,可移植的,性能很优异的,多线程的,动态的语言2。Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。Java分为三个体系Java SE(Java2 Platform Standard Edition,Java平台标准版),Java EE(Java 2 Platform,Enterprise Edition,Java平台企业版),Java ME(Java 2 Platform Micro Edition,Java平台微型版)。Java语言是一个支持网络计算的面向对象程序设计语言,吸收了Smalltalk语言和C+语言的优点,并增加了其它特性。主要特性如下:(1)平台无关性 平台无关性是指Java能运行于不同的平台。(2)安全性 Java的编程类似C+,学习过C+的人将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。(3)面向对象 Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。 (4)分布式 Java建立在扩展TCP/IP网络平台上。(5)健壮性 Java致力于检查程序在编译和运行时的错误。 (6)解释型 Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译称为字节码的一种“中间代码”,字节码是很接近机器码的文件,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行。(7)动态 Java程序的基本组成单元就是类,有些类是自己编写的,有些是类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C+那样,每当类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。2.3 MVC模式介绍2.3.1 MVC概述在线销售系统将采用通用的MVC模式来构建应用。MVC是三个单词的缩写分别为:模型(Model),视图(View)和控制Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。MVC模式之间的关系如下图2.2所示。图2.2 MVC模式之间的关系2.3.2 MVC设计思想MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。应用服务器之上采用MVC开发的逻辑示意图,如图2.3所示。图2.3 应用服务器之上采用MVC开发的逻辑示意图MVC组件类型的关系和功能图,如图2.4所示。图2.4 MVC组件类型的关系和功能图(1)视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services。(2)模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJB和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。(3)控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。2.3.3 MVC优点(1)低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。(2)高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。(3)较低的生命周期成本。MVC使降低开发和维护用户接口的技术含量成为可能。(4)快速的部署。使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。(5)可维护性。分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。(6)有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。2.4 JSP技术介绍2.4.1 JSP概述JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 它继承了Java语言的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富,动态显示的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。2.4.2 JSP运行机制JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的客户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象14。JSP请求的步骤,如图2.5所示。(1) 客户端发出Request (请求); (2) JSP Container 将JSP转译成Servlet的源代码;(3) 将产生的Servlet 的源代码经过编译后,并加载到内存执行; (4) 把结果Response (响应)至客户端。在执行 JSP 网页时,通常可分为两个时期:转译时期(Translation Time)和请求时期(Request Time)。转译时期:JSP网页转译成Servlet类。请求时期:Servlet类执行后,响应结果至客户端。图2.5 JSP的执行过程图2.4.3 JSP优势JSP的优势:(1)可移植性。JSP是用Sun开发的,因此它也具有类似Java语言的可移植性,可以一处编写,随处运行,支持多平台。(2)有效性。JSP的初始化代码仅在Web服务器第一次加载时执行一次。(3)强大的可伸缩性和可扩充性。它能够在面向对象的语言(Java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)Java Servlet是一种开发Web应用的理想框架。JSP以Servlet技术为基础,又在许多方面作了改进。2.5 数据库MySQL简介MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性1。MySQL的SQL“结构化查询语言”,SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.5.1 MySQL系统特性(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。(3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。(4)支持多线程,充分利用CPU资源。(5)优化的SQL查询算法,有效地提高查询速度。(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。(8)提供用于管理、检查、优化数据库操作的管理工具。(9)可以处理拥有上千万条记录的大型数据库。(10)支持多种存储引擎。2.6 系统开发工具在开发工具选择方面,我选择了My Eclipse作为主要开发工具,还使用到了Edit Plus、Photoshop等。My Eclipse介绍:My Eclipse企业级工作平台(My Eclipse Enterprise Workbench ,简称My Eclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和Java EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Java EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, JavaScript, SQL, Hibernate。2.7 本章小结本章全面介绍本系统所用到的关键技术和工具,本系统是基于B/S结构的应用系统,阐述了B/S结构的原理和特点。系统的开发思想是采用MVC分层思想,所以对MVC的原理和优点进行了分析总结。了解JSP的运行机制,同时明白它的优劣势,本章都对其进行了阐述。最后介绍了本系统使用的数据库SQLServer以及tomcat服务器的特点。第3章 系统前期分析3.1 商品在线销售系统概述商品在线销售系统是典型的电子商务。本系统完成通过网络进行B2C的商品交易,是应用Java语言和JSP网页开发技术编写开发的基于B/S架构下的多层结构应用系统,初步实现商品介绍、商品分类、商品搜索、购物车、订单查询等,并阐述系统结构设计和功能设计,一个整体自动化销售模式,从软件工程的角度进行了科学而严谨的阐述。3.2 需求分析管理系统是典型的信息管理系统(MIS)12,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备、易使用等特点。3.2.1 系统的用户角色和角色功能(1)普通用户普通用户是系统的主要使用者之一,进入在线商品销售系统进行购物的人,普通用户就具有以下功能:用户可以打开系统的主页来浏览商品信息并可以通过商品的名称进行商品搜索,可以支持商品的模糊查询;可以将要购买的商品添加到购物车中,之后用户可以返回继续浏览商品信息也可以维护购物车。如果购物车中的商品已经确定购买可以进入结算中心进行信息的填写,并将用户的填写内容生成订单发送到商家。(2)系统管理员系统管理员是对系统进行维护和管理,其主要的操作:订单维护,商品管理和流量统计。订单维护过程中管理员可以删除订单信息、查看订单的详细信息。商品管理过程中管理员可以更新商品的信息和库存量,同时可以对商品进行模糊查询。流量统计对访问本网站的客户进行统一的记录,对单个时间段之间的人流量进行查看。3.2.2 在线销售系统的功能分析经过前期的深入调查和研究,在线商品销售系统需要完成的一些具体功能,共有以下几个部分,分析如下:在线商品销售系统分为两大模块:后台运营管理模块和前端客户服务模块。后台运营是商家进行商业活动的模块。前台服务主要是用户通过浏览器的形式对商家的商业活动进行参与的方式。具体分模块如下:(1)商品管理。对系统的商品信息管理,主要是实现添加商品、修改商品信息、删除商品、查看商品库存等基本操作,删除商品时能够实现批量删除。(2)订单管理。订单管理主要实现对于用户交易所生成订单的查看和处理的功能。(3)流量统计。流量统计对访问本网站的客户进行统一的记录,对单个时间段之间的人流量进行查看。管理系统实现的功能如下图3.1所示。图3.1管理系统功能图3.3 数据库分析数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。它并不是指文字的编辑或单纯的数字运算,而是还包含数据的搜索与筛选等工作。将数据利用数据库储存后,这些数据便不再是死数据了,可以灵活地操作这些数据,从现存的数据统计出任何想要的数据。如果说网络是信息传输的媒体,Web应用是信息发布的一种方式,那么数据库就是信息的载体。所以为了建立交互站点,需要使用数据库来存储来自访问者的信息。在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心11。(1)商品实体商品实体属性包括地址、图片、名称、价格、库存量等属性。如图3.2所示。图3.2 商品实体图(2)流量实体流量实体属性包括流量的基本信息。流量地址作为主键用于标志不同访客,其它属性用来描述流量的相关信息,包括流量地址名、浏览时长、浏览时间点、浏览IP地址等,流量实体图如图3.3所示。图3.3 流量实体图(3)条目实体条目实体属性包括条目地址、商品地址、订单地址、数量和价格等等。条目实体图如图3.4所示。 图3.4 条目实体图(4)订单实体订单实体属性包括订单号、订单地址、订购人卡号、订购人邮箱、订购人姓名、订购人电话,订单生成时间等等。其中订单的生成时间属性也是实时产生的。订单实体图如图3.5所示。图3.5 订单实体图3.4 系统体系结构分析在软件设计阶段,需要为应用系统确定一个体系结构。在较为复杂的应用系统中,如果没有一个良好的体系结构会使整个系统异常庞大而且杂乱无章,不利于日后的维护和扩展。软件开发过程中,系统的设计开发一般分层设计,在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。推荐的分层式结构一般分为三层,从下至上分别为:数据访问(持久)层、业务逻辑层(或称为领域层)、用户表示层数据层从业务层接收请求,利用存储过程或其他方法从数据层获取数据传回业务层或向数据库写入数据。大部分对数据库的操作都由它来完成。业务层位于用户层和数据访问层之间,起到桥梁的作用,该层响应用户层的用户请求,检验用户数据的合法性,将请求发送到数据访问层,并将数据访问层返回的数据传送给用户层,从而把业务逻辑与用户界面分开。如果需要修改应用程序代码,只需要对业务层进行修改,使开发人员可以专注于系统核心业务的分析、设计和开发,简化了应用系统的开发、更新和升级工作。用户层是提供给用户操作的界面,用户可填写数据,发出请求以及查看需要的信息等。如果获取数据时不对数据库进行数据更新,用户层可以不经过业务层而直接访问数据层获取数据;如果需要对数据库进行更新,可以通过业务层来实现。系统结构实现如图3.6所示。业务层数据访问层数据库用户层图3.6 系统架构图总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。本系统采用分层结构的设计思想,具体情况如下:“DB层”, 这一层由数据库连接类实现,存放的是链接数据库的字符串,用来直接访问数据库。因为在Java中,执行SQL语句的函数按照返回值可以分为三类,所以在这一层定义了JDBC模版类,每一次使用操作数据库时都要执行这一层的两个方法。“ACTION层”,调用业务逻辑层,根据返回的结果,控制JSP页面显示。它只知道业务层的存在。这一层是入侵者的攻击平台。“DAO层(Data Access Object数据访问对象层)”,由这一层存放了SQL语句(并不执行SQL语句,语句传给DB层执行)。这一层调用“DB层”访问数据库,它只知道“DB层”的存在,不知道数据库的存在。“SERVICE层”,业务逻辑层,因为一个业务的实现,并不是一次数据库访问就可以完成的,所以这一层通过N次调用“DAO层的方法”实现业务逻辑,它只知道“DAO层”的存在,不知道“DB层”和数据库的存在。 “Form层”,把用户POST提交的信息封装成Form对象,经过验证后提交给ACTION层处理。“JSP层”(显示层),这一层是最终显示给用户看的页面,同时也是入侵者的攻击平台。用户通过访问ACTION层,自动会发生:“ACTION调用SERVICE,SERVICE调用DAO,DAO调用DB,DB执行SQL语句返回结果给DAO,DAO返回给SERVICE,SERVICE返回给ACTION,ACTION把数据显示到JSP里返回给用户”。3.5 本章小结本章首先分析系统的功能需求,通过对系统功能的划分以及角色的划分,明确了系统需求,为总体设计提供依据。接下来通过对数据库设计分析,形成了开发的整体思路,最后阐述了系统的总体设计思想,说明了本系统是基于B/S架构下的多层结构应用系统,为下一步编程实现各个具体功能铺平了道路。第4章 系统详细设计4.1 数据库整体设计网上商品交易系统的主要功能就是让顾客在网上购买所需的商品。系统数据库首先要有商品信息表,用来存储商品的相关信息。顾客到系统购物后,系统需要通过流量信息表来统计流量和访客IP地址,顾客如果选择了商品,确认购买时,就要下订单,管理员要管理订单,查看和处理订单,因此用订单信息表来记录顾客所确认的订单。4.2 数据库具体表结构根据以上分析,应用MySQL工具,建立数据库,对于本系统信息数据库,可以列出以下数据项和数据结构:从实际出发,经过仔细地设计,得到相应的各表,它们分别是表4-1商品信息book表,表4-2 流量信息flux表,表4-3条目信息item表,表4-4订单信息order表。表4-1 商品信息表列名类型(长度)允许为空描述idInt(8)否商品id,自增长主键列imgvarchar(50)否商品图片,namevarchar(100)否商品名称priceDouble(10,1)否商品价格,money类型storageInt(11)否商品库存量说明商品信息表详细列出了商品的相关信息。表4-2 流量信息表列名类型(长度)允许为空描述idInt(8)否流量id,自增长主键列fnamevarchar(100)否流量名称time_costdouble(10,1)否用户密码visitor_ipvarchar(50)否用户身份visit_timetimestamp否用户性别说明 流量信息表是用来统计访问网站访客IP地址,访问时长和当前时间。表4-3条目信息表列名类型(长度)允许为空描述idInt(8)否用户id,自增长主键列bidInt(8)否流量名称oidInt(8)否用户密码amountInt(8)否用户身份pricedouble(10,1)否用户性别说明 对于条目信息表,要和商品表关联。同时表单由商品信息组成,因此也需要和订单表关联。表4-4 订单信息表列名类型(长度)允许为空描述IdInt(8)否订单地址,自增长主键列Numvarchar(20)否订购数量Ownervarchar(50)否订购人姓名Phonevarchar(11)否订购人的电话Emailvarchar(50)否订购人的邮箱card_idvarchar(20)否订购人的卡号Addressvarchar(400)否订购人的地址create_timetimestamp否订单生成时间说明 对于订单表,需要用户生成订单,同时管理员要管理订单,因此和user表关联。同时表单由商品信息组成,因此也需要和商品表关联。由于考虑不周没有将订单详细信息单独成表。订单的详细信息即顾客具体买了几种商品,以及每种商品的数量等。4.3 系统相关JavaBean的实现开始编写系统代码时首先应根据数据库中各表的表结构中的属性来构建相关的JavaBean。一个JavaBean其实就是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。编写JavaBean就是编写一个Java类,所以只要会写类就能编写一个Bean,一个完整JavaBean在类的编写中需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论