在线商城系统的设计与实现

潇洒哥
720次浏览
2020年03月21日 19:57
最佳经验
本文由作者推荐
购物商城网站开发

摘 要 随着Web技术的发展以及人们购物心态的转变,网上购物已经成为时尚一族的购物首选。而网上商城系统也随之不断完善。目前各大门户网站也纷纷推出了在线商城业务,比较流行的有淘宝网、腾迅公司的拍拍网以及京东等等。使用javaWeb技术结合MySQL数据也可以非常方便的制作出在线商城系统。本文根据当当网网上购物的具体情况,详细介绍了通过B/S架构实现在线商城系统的过程。该系统采用目前流行的Java语言,利用JSP、Javascript、Servlet 、JavaBean、AJAX等技术以及MySQL数据库存储数据完成系统的开发。该系统实现了用户的注册与登录,采用数据库存储用户信息;网页浏览产品模块,JSP技术实现了良好的人机交互界面;实现购物车模块,模拟超市选购物品暂时存放的一个模型;实现创建订单模块,当用户选购完物品将订单生成并确认的一个模型。 关键词 B/S,java,MySQL,在线商城 I

ABSTRACT Along with the development of technology and the Web people shopping mentality change, online shopping has become a fashion breed of shopping first choice. And online mall system also will continuously improved. At present major website also have launched online mall business, more popular have , room of clap nets and jingdong etc. Use javaWeb technology in combination with MySQL database can also be very convenient produce online mall system. In this paper, according to the network shopping when the specific situation, introduces in detail through the B/S structure realize online mall system process. The system adopts the currently popular Java language, using the JSP, Javascript, Servlet, JavaBean, AJAX, technology and MySQL database data storage complete system development. In this system, the user registration and login, using the database storing user information; Web browsing product module, JSP technique is good human-machine interaction interface; Achieve a shopping cart module, the simulation supermarkets temporary storage of goods of a model. Establishing order module, when a user choose and buy the goods will order form and confirmation of a model. Keywords B/S,java,MySQL,online mall II

目 录 摘要 .................................................................................................................................................. I ABSTRACT ........................................................................................................................................ II 1 绪论 ............................................................................................................................................. 1 1.1 在线商城系统的概述 ..................................................................................................... 1 1.2 本课题研究的背景及意义 ............................................................................................. 1 1.2.1 本课题来源及背景简介 ......................................................................................... 1 1.2.2 研究本课题的意义 ................................................................................................. 1 1.3 本课题研究的主要内容 ................................................................................................. 2 1.4 本章小结 ........................................................................................................................ 2 2 系统开发相关技术 ................................................................................................................. 3 2.1 JAVA相关简介 ............................................................................................................... 3 2.1.1 Java简介 ............................................................................................................... 3 2.1.2 JAVAEE平台介绍 .................................................................................................... 3 2.1.3 JSP简介 ................................................................................................................. 4 2.1.4 Servlet简介 .......................................................................................................... 4 2.1.5 JavaBean简介 ........................................................................................................ 5 2.2 AJAX简介 ....................................................................................................................... 5 2.3 MySQL数据库 ................................................................................................................. 5 2.4 MVC设计模式 ................................................................................................................. 6 2.5 C/S模式与B/S模式比较 .............................................................................................. 7 2.6 系统开发与运行环境 ..................................................................................................... 8 2.7 本章小结 ........................................................................................................................ 9 3 需求分析 .................................................................................................................................. 10 3.1 系统设计目标 .............................................................................................................. 10 3.2 可行性分析 .................................................................................................................. 10 3.2.1 市场可行性分析 ................................................................................................... 10 3.2.2 技术可行性分析 ................................................................................................... 11 3.3 功能需求分析 .............................................................................................................. 11 III

3.3.1 后台的功能需求描述 ........................................................................................... 11 3.3.2前台的功能需求描述 ............................................................................................ 11 3.4 用户接口 ...................................................................................................................... 11 3.5 本章小结 ...................................................................................................................... 12 4 系统设计 .................................................................................................................................. 13 4.1 系统体系结构 .............................................................................................................. 13 4.2 系统功能结构 .............................................................................................................. 13 4.2.1 系统功能结构图 ................................................................................................... 13 4.2.2 商品展示系统功能模块 ....................................................................................... 15 4.2.3 购物车系统功能模块 ........................................................................................... 15 4.2.4我的订单系统功能模块 ........................................................................................ 16 4.2.5用户管理系统功能模块 ........................................................................................ 16 4.2.6商品管理系统功能模块 ........................................................................................ 16 4.3 数据库设计 .................................................................................................................. 16 4.3.1 数据库设计概述 ................................................................................................... 16 4.3.2 数据库设计需求分析 ........................................................................................... 17 4.3.3 数据库概念模型设计 ........................................................................................... 19 4.3.4 数据库表设计 ....................................................................................................... 20 4.4 本章小结 ...................................................................................................................... 23 5 系统实现 .................................................................................................................................. 24 5.1系统开发平台搭建 ........................................................................................................ 24 5.2 功能实现 ...................................................................................................................... 24 5.2.1 代码实现 .............................................................................................................. 24 5.2.2 界面实现 .............................................................................................................. 30 5.3 本章小结 ...................................................................................................................... 33 6 系统测试 .................................................................................................................................. 34 6.1 系统测试概述 .............................................................................................................. 34 6.2 系统测试步骤 .............................................................................................................. 34 6.3 本章小结 ...................................................................................................................... 40 结 论 ........................................................................................................................................... 42 参考文献 ...................................................................................................................................... 43 IV

致 谢 ........................................................................................................................................... 44 V

1 绪论 1.1 在线商城系统的概述 在线商城系统又称为网上购物、网络商城、网上商城、网上开店平台、网店管理系统、网店程序、网上购物系统、在线购物系统等。 无论是开设个人网上购物商店还是企业在线购物商城,一套好用的网上购物系统都是必须的。 网上购物系统拥有完整规范的商流和金流,整合了几十家国内知名的支付网关,并且内置了多套精美模版,同时还提供灵活强大的模版编辑功能。商家可以根据自己的喜好对网上商店(网上购物系统)的前台页面做个性化设置; 同时,网上购物系统还拥有强大的商城功能,如店铺推荐和搜索,商品推荐和展示等等。运营商可以给商家提供全方位的广告宣传和推广。顾客也可以方便的找到自己心仪的商品和商店。 通过网上购物系统的建设以实现对商业零售企业提供信息化管理。建立了B2C的网络销售系统。着重论述了系统功能与实现、数据流程及存储,包括商品目录、用户注册、网上订货与购物、库存查询、后台数据库管理等。运用HTML语言、JavaScript技术、SSH、JSP与后台数据库链接等关键技术建设网上购物系统。 1.2 本课题研究的背景及意义 1.2.1 本课题来源及背景简介 随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。在这一前提下,电子商务应运而生了。电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。自1998年“电子商务年”以来,电子商务在全球发展迅猛,大约每九个月其交易额就翻一番,全球电子商务交易额(包括网上贸易额、销售额等)达到数千亿美元,电子商务收入剧增262%。 目前,世界各国纷纷看好电子商务这块新大陆,普遍认为电子商务的发展将是未来25年世界经济发展的一个重要推动力,对经济的促进将远远超过200年前的工业革命。 1.2.2 研究本课题的意义 1

21世纪是—个以网络为核心的信息时代,数字化、网络化与信息化是21世纪的时代特征。电子商务作为信息时代的一种新的商贸形式,不仅对商务的运作过程和方法产生巨大的影响,实际上也带来了一场革命,其影响将远远超出商务的本身,将对社会的生产和管理、人们的生活和就业、政府职能、法律制度以及文化从多方面改变人类的观念、思维和相互交往的方式。 1.3 本课题研究的主要内容 本文详细地介绍了在线商城系统从分析、设计到实现的全部过程。共分为 6部分,具体如下: 第1部分 绪论,阐述了在线商城的概述、课题研究的背景及意义,以及论文研究的主要内容。 第2部分 系统开发相关技术,介绍了本课题所用到的技术,包括Java、Jsp、Servlet、Ajax等技术以及C/S 和 B/S 的比较,为系统开发提供技术支持。 第3部分 系统需求分析,主要是进行功能分析,整个系统包括网站页面显示系统和管理人员的用户和网页数据管理系统两部分组成。 第4部分 系统设计,主要是描述网站页面显示系统的系统体系结构,根据分析得出功能结构,根据需求模型,利用 MySQL 进行数据库设计,接下来对整个系统的子模块进行详细进行详细设计。 第5部分 系统实现,介绍系统开发平台的搭建及部分模块的详细实现过程和实现的界面效果图。 第6部分 系统测试,采用单元测试和系统测试对系统进行测试,检验系统是否实现需求的功能。 最后是本课题的结论,所用到的参考文献及致谢的部分。 1.4 本章小结 通过在线商城系统的概述,引出了本课题研究的背景和意义,介绍了论文的主要组织结构和主要内容。 2

2 系统开发相关技术 本课题主要研究采用JAVA语言开发B/S模式的津贴管理系统,其中涉及到JavaEE、JSP、JavaScript、Servlet 、JavaBean、AJAX、数据库等技术以及MVC设计模式,在本章中将对系统开发运用的主要技术、开发模式以及系统运行环境作详细介绍。 2.1 JAVA相关简介 2.1.1 Java简介 JAVA是由美国Sun Microsystems公司在1995年推出的一种编程语言。该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点。JAVA程序的执行主要是通过JAVA虚拟机实现的。JAVA虚拟机是利用软件模拟的计算机,可以在任何处理器上安全并兼容地执行经编译生成的JAVA程序目标文件中的字节码。JAVA执行的过程是先由JAVA编译器负责将源程序编译成为字节码文件,再由JAVA虚拟机中的JAVA解释器将字节码文件解释成为特定的机器码进行运行。JAVA虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑处理器的类型。目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上;在UNIX、Linux、Windows和部分实时操作系统上都可以安装对应版本的虚拟机。同时Java具有面向对象、鲁棒并且安全、结构中立并且可以移植、高性能、解释执行、多线程并且是动态的等一系列优点。 目前Sun公司把Java平台划分为 Java SE(Java Platform,Standard Edition)、Java EE(Java Platform,Enterprise Edition)、Java ME(Java Platform,Micro Edition)三个平台。Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。 鉴于JAVA众多的优秀特性,许多项目都采用JAVA来进行开发,JAVA语言正逐步成为世界上程序员使用最多的编程语言。 2.1.2 JAVAEE平台介绍 JavaEE是Sun公司为企业级应用推出的标准平台。随着Java技术的发展,3

JavaEE成为Java平台中应用最广泛的平台之一。它不仅仅是一种标准平台,更多的是代表一种软件架构和设计思想。JavaEE技术的基础就是JavaSE标准版,JavaEE不仅巩固了标准版优点,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlet API、Jsp以及XML等技术的支持。在JavaEE架构下,开发人员可遵循规范基础,进行企业级的应用。基于JavaEE架构的应用系统,可以部署在不同的服务器上,提高了应用系统的可移植性。JavaEE体系结构为开发B/S架构的服务器提供了一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,降低了企业级应用开发、部署和维护的成本和复杂性。 2.1.3 JSP简介 随着Web应用的发展,传统的静态HTML已经不能满足Web的发展需求。为了实现与Web进行信息交互,在静态HTML的基础上增加了新的功能,于是就产生了动态网页技术。JSP(Java Server Pages)就是由Sun公司在1999年推出的一种动态网页技术标准。Jsp是基于Java Servlet 以及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。与ASP相比JSP以Java技术为基础,动态页面与静态页面分离,因此用JSP开发的Web应用能够在不同的系统环境下运行。 与其它动态网页技术相比,JSP还具有以下特点: 1) 一次编写,到处运行。 2) 系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。 3) JSP标签库的可扩充性。JSP技术能够使用开发者扩展的JSP标签,通过定制标签库,减少了对脚本语言的依赖。 4) 支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JavaBean 组件来实现复杂商务功能。 5) 易于维护。基于JSP技术的Web应用比其它技术开发的程序更容易管理维护,JSP突出的组件技术使修改内容而不影响业务逻辑。 2.1.4 Servlet简介 Servlet是Java服务器端程序,它是一种独立于平台和协议的服务器端的Java应用,可以生成动态的WEB页面。它使用Java Servlet API以及其他相关类和方法来分发客户端浏览器请求。Servlet是JSP的基础,JSP的运行是被预编译成Servlet然后运行的。通过配置文件可以找到用户请求和特定的Servlet对应关系,每个Servlet都有一个Servlet对象与之对应。许多Web服务器都支持Servlet,既使不支持Servlet的服务器也可以通过附加的应用服务4

器和模块来支持Servlet。 2.1.5 JavaBean简介 JavaBean的实质是Java类,它的体系结构是一个基于组件的标准模型,通过封装属性和方法成为具有独立功能、可重复使用并且可以与其它控件通信的组件对象,已经成为当今流行的设计开发方法。JavaBean组件可以用来执行复杂的计算任务,负责与数据库间的数据交互。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外的功能。其中,属性、方法和事件三种接口可以独立对外进行开发。利用JavaBean组件还有以下优势: 1) 可以实现代码的重复利用 2) 易编写、易维护、易使用 3) 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。 4) 在JSP中JavaBean常用来封装事务逻辑,可以很好的实现业务逻辑与前台程序的分离,使系统具有更好的健壮性和灵活性。 2.2 AJAX简介 AJAX(Asynchronous JavaScript And XML),即异步JavaScript 和 XML。它并不是一项单独的技术,而是由XHTML、CSS、DOM、XML、XSTL、XMLHttpRequest以及JavaScript等多项技术组合在一起的。XHTML和CSS负责呈现界面;DOM实现动态显示和交互;XML和XSTL进行数据的处理和交换;使用XMLHttpRequest进行异步数据查询检索;JavaScript将以上技术实现综合运用。 AJAX技术的核心是JavaScript对象XMLHttpRequest。通过它可以实现数据的异步传送,在不刷新整个页面的情况下和服务器实现数据交互。AJAX技术的实现是在客户端和服务器之间增加了AJAX引擎,客户端与服务器之间不在直接的进行数据交互,客户端的Http请求都是通过JavaScript调用AJAX来完成与服务器的数据交互。这样当每次用户请求服务器后不用等待服务器完成响应后再做其它的操作,使用户有更好的操作体验。 2.3 MySQL数据库 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其5

是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 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.4 MVC设计模式 MVC设计模式,即模型(Model)-视图(View)-控制器(Controller)的缩写,是一种著名的软件开发设计模式。MVC设计模式最早由Xerox在20世纪80年代为Smaltalk-80语言的发展而提出的,而这种设计思想并没有被局限于该语言而是被广泛地应用到其它面向对象的编程语言中。 视图是用户看到并与之交互的界面。作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。对以前的Web应用程序,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。 模型表示企业数据和业务规则。模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBS和ColdFusion Components这样的构件对象来处理数据库。6

被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。 MVC的处理过程是首先由控制器接受用户的请求,并决定调用哪个模型来处理用户请求;然后模型根据相应的请求进行相应的业务逻辑处理,并将处理结构返回;最后控制器调用相应的视图来格式化模型返回的数据,通过视图将结果显示给用户。图2.1描述了MVC中模型、视图、控制器三者的功能及相互之间关系: 模型 状态查询 状态改变 通知改变 封装应用程序状态 响应状态查询 通知改变 应用程序功能 视图 解释模型 模型更新请求 发送用户输入给控制器 通知视图改变 视图选择 控制器 定义应用程序行为 用户动作映射成模型更新 选择响应的视图 用户请求 允许控制器选择视图 方法调用 事件 图2.1 MVC组件类型的关系和功能 2.5 C/S模式与B/S模式比较 C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。 C/S (Client/Server)即客户机和服务器结构。在C/S结构模式中,系统分为两层:第一层是在客户机上运行的用户界面与业务逻辑程序,具有为用户提供服务、保持与服务器通信等功能;第二层是服务器上运行的数据库管理系统,具有管理数据、与客户机通信的功能。C/S将复杂的用户交互界面、业务处理模块和数据库管理分离,减小了服务器数据处理的压力。但C/S结构模式也存在着许多缺点,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。随着信息技术的发展和应用系统的复杂化,B/S结构模式比C/S结构模式显示出更多的优点。 7

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在B/S模式中,系统分为三层:第一层是客户端即浏览器,完成用户与系统交互和结果显示的功能;第二层是Web服务器的功能层,完成接受用户请求、连接数据库和返回结果的功能。第三层是数据库服务器层,完成数据处理的功能。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。与C/S相比B/S还存在以下优势: 1) 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。系统开发者不必再为不同级别的用户开发不同的客户端应用程序,所有的客户端只是浏览器,根本不需要做任何的维护,只需要将所有的功能在服务器端实现。所有系统的维护和升级操作只需要针对服务器进行。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的。 2) 成本降低,选择更多。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这样就降低了成本。 从以上的分析可以看出,B/S结构的管理软件有着C/S结构软件无法比拟的优势。B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。鉴于B/S结构的优势,本系统采用B/S系统结构结合JavaEE技术进行开发。 2.6 系统开发与运行环境 硬件平台: CPU:2.0GHZ 以上 内存:1G以上 软件平台: 开发工具:MyEclipse 6.5 服务器:apache-tomcat-6.0.14 开发环境:jdk1.6.0_21 8

数据库:MySQL 浏览器:IE6.0及以上 分辨率:最佳效果1024*768像素 2.7 本章小结 本章介绍了系统开发过程中涉及的主要技术,包括JSP、Servlet、JavaBean、AJAX、MVC设计模式、B/S模式、开发环境以及数据库MySQL。9

3 需求分析 3.1 系统设计目标 采用jsp语言,mysql数据库进行该网站的后台管理系统的自主设计开发,力求达到系统平台的先进性、安全性、实用性、可扩充性和易维护性的要求。前台采用静态页面+连接动态页面的模式。 网站后台管理平台: 1) 具有完整、全面、统一的网站管理平台。 2) 网站管理平台分级管理,分系统管理员后台、会员后台等。 3) 网站管理平台具有强大的权限管理功能,能针对不同的模块编辑功能,对不同的权限组进行设置。 4) 不同权限的网站管理人员(用户),根据各自权限不同有各自的管理操作界面。 3.2 可行性分析 随着计算机技术的发展和网络人口的增加,网络世界也越来越广博、越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长时间,顾客就可以在网络世界获得他们在现实世界上可以获得的所有商品和服务。 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程。所以,进行可行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出一下两点可行性分析。 3.2.1 市场可行性分析 电子商务营销是市场营销发展的一个方向,能实现营销成本的降低和营销质量的提高,最终是提高企业竞争力。企业发展电子商务营销,目前在通讯网络技术和安全技术方面已走完“技术实现”阶段,现正进入“技术开放和普及”阶段;而宏观和微观环境方面,思想观念、经济体制和政策、法律体系、人口情况以及从事营销的企业本身,都还存在不完善的情况,直接或间接的作用和影响营销的实现。 我国企业发展电子商务营销要根据自己的行业特点、目标市场消费者的行为特征、本企业的经济实力、营销环境状况等因素来制定本企业营销目标,选择适合上网交易的产品,利用网络工具进行营销策划,选择合适的营销金融中介开展网上交易,并利用网上工具进行数据统计和评估,及时调整策略,赢得市场主导地位。在现阶段,结合国情,跟踪技术,踏实试点,推广发展,同时保护市场资10

源和民族文化,走可持续发展道路,这是发展的根本。 3.2.2 技术可行性分析 在线商城系统是基于Web应用的开发,主要采用以JavaEE平台为基础的Jsp+Servlet+JavaBean的技术来实现,以MySQL作为数据库,Tomcat6.0作为应用服务器。JavaEE作为开发B/S系统的企业级平台,理论上能够实现系统需求的功能,而MySQL作为MySQL AB公司开发的小型关系数据库管理系统,也能够为系统的数据管理提供良好的支持。 3.3 功能需求分析 通过在线商城业务流程的了解,系统可以划分为前台查询系统和后台管理系统两个部分。后台管理部分,主要有管理员信息设置模块、订单管理模块、商品设置模块、商品类别设置模块等功能。前台查询部分,主要有客户信息模块、商城模块、结账模块、订单信息模块等功能。 3.3.1 后台的功能需求描述 1) 管理员信息设置模块:修改个人信息。管理员登陆进入管理界面后,点击管理员设置按钮,在所弹出窗口的上半部分会显示出自己的详细信息,并有“修改”按钮,点击“修改”按钮后上半部分板块刷新,弹出界面为可更改状态的个人信息页面,修改后点击“提交”页面刷新到初始页面。 2) 订单管理模块:能够进行订单查询、订单详情查询、订单执行等。 3) 商品设置模块:管理员点击“商品设置”按钮,弹出商品列表页面,并可以在查询框内输入关键字查询商品。各列表项后面有删除该商品的按钮,列表下方设有“添加商品”按钮。点击列表中项进入商品详细信息页面。 4) 商品类别设置模块:管理员点击“商品类别”按钮,弹出商品类别列表页面,并可以在查询框内输入关键字查询商品大类。各列表项后面有删除该商品大类的按钮,列表下方设有“添加商品类别”按钮。 3.3.2 前台的功能需求描述 1) 客户信息模块:用户可以进行注册、登录、修改个人资料等操作。 2) 商城模块:用户可以查询商品、查看商品详情、加入购物车以及商城公告等。 3) 结账模块:查看购物车内商品、确认购买商品、付款、生成订单。 4) 订单信息模块:查询订单信息、查询订单详情、商品评分。 3.4 用户接口 1) 硬件接口 支持一般的 PC(个人电脑)、笔记本电脑。 11

2) 软件接口 支持常用的浏览器。 3.5 本章小结 本章主要描述了系统设计的目标,并从市场可行性和技术可行性两个方面对系统开发的可行性进行了分析,得出了在线商城系统的开发是可行的结论。从前台和后台两方面展示了功能的需求,以及用户接口的描述。 12

4 系统设计 4.1 系统体系结构 根据需求分析,本系统设计为 B/S 体系结构,采用JavaEE的 MVC三层架构模式开发。视图层主要负责用户与系统的交互功能,由Jsp页面实现;模型层主要负责封装对象的属性,由JavaBean实现;控制层分为业务层和数据层,业务层完成业务逻辑的处理,数据层负责访问数据库,由Java类实现。通过使用MVC三层模式,使得系统的整个框架结构和组件都可以被重用,从而使整个系统的开发、维护变得更为有效与快捷。 4.2 系统功能结构 经过对系统的需求分析,整个系统由商品展示、购物车、我的订单、用户管理、商品管理五个部分组成。 1) 商品展示系统包括三个功能模块:商品预览模块、商品明细模块、分类检索模块。 2) 购物车系统包括六个功能模块:添加商品模块、删除商品模块、恢复列表模块、数量修改模块、清空购物车模块、结算模块。 3) 我的订单系统包括四个功能模块:订单确认模块、订单列表模块、删除订单模块、查询明细模块。 4) 用户管理系统包括四个功能模块:登录退出模块、用户注册模块、信息修改模块、管理员管理用户模块。 5) 商品管理系统包括四个功能模块:商品列表模块、商品发布模块、商品修改模块、商品删除模块。 4.2.1 系统功能结构图 图 4.1商品展示系统功能结构图 13 商品展示 商品预览 商品明细 分类检索

购物车恢复列表 添加商品 删除列表 数量修改 清空购物车 查询明细 图4.3我的订单系统功能结构图 订单确认 结算 图4.2购物车系统功能结构图 我的订单订单列表 删除订单 14

用户管理登录/退出 用户注册 信息修改 管理员管理用户 图4.4用户管理系统功能结构图 用户删除 用户列表 商品列表 商 商品发布 品管理4.2.2 商品展示系统功能模块 1) 商品预览:将鼠标放在商品图片上,图片将被放大并且显示一些商品的简略信息。 2) 商品明细:用于显示商品的全部详细信息。 3) 分类检索:将商品进行归类,然后在窗口的一侧列出类别,可按类别进行商品搜索。 4.2.3 购物车系统功能模块 1) 添加商品:用户浏览商品时,可以添加商品到购物车。 2) 删除列表:用户可以删掉不想要的已选商品。 15 商品修改 商品删除 图4.5商品管理系统功能结构图

3) 恢复列表:当用户出现误删商品列表,此功能可以恢复已删列表。 4) 数量修改:用户选择好商品后的数量默认是1个,这里可以修改商品的数量。 5) 清空列表:如果用户想放弃整个购物车中的商品,可以使用此功能实现清空购物车。 6) 结算:用户选购完商品后,使用此功能实现对已选物品的价格计算。 4.2.4 我的订单系统功能模块 1) 订单确认:用户对已选购的商品进行结算后,需要对订单进行确认,如果生成的订单没有问题就确认,否则就返回到前一步的结算模块。 2) 订单列表:用于显示已确认的订单。 3) 删除订单:当用户不要这个订单时,可以在此处删除订单。 4) 查询明细:查看已确认的订单的详细信息。 4.2.5 用户管理系统功能模块 1) 登录/退出:用户访问网站可以登录自己的用户,访问完后可以退出该系统。 2) 用户注册:用户在该系统没有账户时,可以点一个“注册”链接进行用户账号注册操作。 3) 信息修改:用户注册账号时需要填写一些个人资料,后期可以修改个人资料。 4) 管理员管理账户 用户列表:管理员查看有哪些用户,已表格的形式显示全部用户信息。 用户删除:管理员可以删除不合法用户。 1) 商品列表:在浏览器显示已发布的商品。 2) 商品发布:用户增添商品。 3) 商品修改:修改已发布的商品的一些信息。 4) 商品删除:将下架商品进行删除操作。 4.2.6 商品管理系统功能模块 4.3 数据库设计 4.3.1 数据库设计概述 数据库设计是建立数据库及其应用系统的重要组成部分。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储和管理数据,满足各种用户的应用需求。同时,数据库设计人16

员必须深入实际与用户密切结合,对应用环境专业业务有具体深入的了解才能设计出符合具体领域要求的数据库应用系统。 4.3.2 数据库设计需求分析 对于在线商城系统来讲,首先必须了解系统的需求分析,了解各个模块要实现的功能,并且知道模块与模块之间的联系,然后,我们要画出大致的模型,将实体抽象化,再将系统中的表及每张表中的字段,类型,长度等设计出来。 根据在线商城的需求分析,首先抽象出数据实体。在线商城系统的数据实体包括:产品共有信息、图书信息、产品类别信息、类别和产品对应关系、用户信息、用户收货地址信息、用户订单信息、订单明细信息。下面通过实体图对实体进行详细描述: 出版社 作者 出版时间 字数 版本 编号 产品共有信息 当当价 图片 是否被删 关键字 名字 原价 类型 增加时间 图 4.6产品共有信息实体 编号 摘要 图书信息 页数 目录 ISBN 印刷量 印刷时间 图 4.7 图书信息实体 17

分类跳转 编号 产品类别信息 类名 描述 父类编号 图 4.8 产品类别信息实体 类别编号 编号 类别和产品对应关系 产品编号 图 4.9类别和产品对应关系实体 编号 最近登录IP 昵称 密码 Email核实状态 用户信息 Email核实码 最近登录时间 email 图 4.10 用户信息实体 积分 用户编号 收货地址 默认地址 编号 用户收货地址信息 邮政编码 手机 电话 图 4.11用户收货地址信息实体 18

编号 状态 时间 描述 接收人名字 用户订单信息 默认地址 邮政编码 电话 用户编号 总价 手机 图 4.12 用户订单信息实体 订单编号 产品编号 当当价 订单明细信息 总计 编号 产品数量 产品名字 图 4.13订单明细信息实体 4.3.3 数据库概念模型设计 通过对数据库设计需求分析,确定了实体、实体的属性和实体间的联系类型。用户信息与用户收货地址是一对一关系;产品类别信息与类别和产品对应关系是多对一关系;产品信息与类别和产品对应关系是多对一关系;产品信息与图书信息是一对多关系;订单明细信息与用户订单是一对多关系。通过E-R图描述实体间的关系,并对E-R图进行优化即得到数据库概念模型,如图4.14所示: 19

图 4.14 E-R模型 4.3.4 数据库表设计 本系统采用MySQL作为数据库。因此将概念模型转换为MySQL支持的数据库模式,就能够确定数据库中表的字段,类型,长度等。本系统的数据库名称为dangdang,有产品共有信息表、图书信息表、产品类别信息表、类别和产品对应关系表、用户信息表、用户收货地址信息表、用户订单信息表、订单明细信息表,共8张表。下面将对每张表作详细说明: 产品共有信息表:用于存储产品的编号、名字、描述、增加时间、市场价格、当当价、关键字、已售量、产品图片链接,详细设计如表4.1所示: 表4.1产品共有信息表 列名 id Product_name Description Add_time Fixed_price Dang_price 数据类型 int varchar varchar Bigint double double 长度 12 100 100 20 10 10 20 允许空 否 否 是 是 否 否 是否为主键 是 否 否 否 否 否 备注 编号 产品名称 描述 增加时间 市场价 当当价

keywords Has_deleted Product_pic varchar int varchar 200 1 200 是 否 是 否 否 否 关键字 是否被删 图片链接 图书信息表:用于存储图书编号、作者、出版社、出版时间、字数、版本、页数、印刷时间、印刷数量、ISBN、摘要、目录,详细设计如表4.2所示: 表4.2图书信息表 列名 id author publishing Publish_time Word_number Which_edition Total_page Print_time Print_number isbn Author_summary catalogue 数据类型 int varchar varchar bigint varchar varchar varchar int varchar varchar text text 长度 12 200 200 20 15 15 15 20 15 25 允许空 否 否 否 否 是 是 是 是 是 是 否 否 是否为主键 是 否 否 否 否 否 否 否 否 否 否 否 备注 编号 作者 出版社 出版时间 字数 版本 页数 印刷时间 印刷数量 ISBN 摘要 目录 产品类别信息表:用于存储产品类别信息的编号、跳转类别、名称、描述、父类编号,详细设计如表4.3所示: 表4.3 产品类别信息表 列名 Id turn name description Parent_id 数据类型 int int varchar varchar int 长度 12 10 200 200 10 允许空 否 否 否 否 是 是否为主键 是 否 否 否 否 备注 编号 跳转类别 名称 描述 父类编号 类别和产品对应关系表:用于存储类别和产品对应关系的编号、类别信息编号、产品信息编号,详细设计如表4.4所示: 表4.4 类别和产品对应关系表 列名 Id Cat_id Product_id 数据类型 int int int 长度 4 20 4 允许空 否 否 否 是否为主键 是 否 否 备注 编号 类别信息编号 产品信息编号 用户信息表:用于存储用户信息的编码、邮箱、昵称、密码、用户积分、邮箱是否验证、邮箱验证码、最近登录时间、最近登录IP,详细设计如表4.5所示: 21

表4.5 用户信息表 列名 id email nickname password User_intergral Is_email_verify Email_verify_code Last_login_time Last_login_ip 数据类型 长度 int varchar varchar varchar int char varchar Bigint varchar 12 50 50 50 12 3 50 50 50 允许空 否 否 是 否 否 是 是 是 是 是否为主键 是 否 否 否 否 否 否 否 否 备注 编号 邮箱 昵称 密码 用户积分 邮箱是否验证 邮箱验证码 最近登录时间 最近登录IP 用户收货地址信息表:用于存储用户收货地址信息的编号、用户编号、收货地址、默认地址、邮政编码、手机、电话,详细设计如表4.6所示: 表4.6 用户收货地址信息表 列名 id User_id Receive_address Full_address Postal_code Mobile phone 数据类型 int Int varchar varchar varchar varchar varchar 长度 12 11 20 200 8 15 20 允许空 否 否 否 否 否 是 是 是否为主键 是 否 否 否 否 否 否 备注 编号 用户编号 收货地址 默认地址 邮政编码 手机 电话 用户订单信息表:用于存储用户订单信息中的编号、用户编号、状态、订单时间、描述、总价、收货人、默认地址、邮政编码、手机、电话,详细设计如表4.7所示: 表4.7 用户订单信息表 列名 id User_id Status Orer_time Order_desc Total_price Receive_name Full_address Postal_code Mobile phone 数据类型 Int Int Int Bigint Varchar Double varchar varchar varchar varchar varchar 长度 10 10 10 20 100 20 100 200 8 20 20 允许空 否 否 否 否 是 否 否 否 否 否 否 是否为主键 是 否 否 否 否 否 否 否 否 否 否 备注 编号 用户编号 状态 订单时间 描述 总价 收货人 默认地址 邮政编码 手机 电话 订单明细信息表:用于存储订单明细表中的编号、订单编号、产品编号、产品名称、当当价格、产品数量、合计,详细设计如表4.8所示: 22

表4.8 订单明细信息表 列名 id Order_id Product_id Product_name Dang_price Product_num amount 数据类型 int int int Varchar Double Int double 长度 12 10 10 100 20 10 20 允许空 否 否 否 否 否 否 否 是否为主键 是 否 否 否 否 否 否 备注 编号 订单编号 产品编号 产品名称 当当价 产品数量 合计 4.4 本章小结 本章主要从系统体系设计、系统功能模块设计和数据库设计等几个方面对商城系统进行了详细的设计。 23

5 系统实现 5.1系统开发平台搭建 1) 安装 JDK1.6开发工具包,配置好系统运行需要的环境变量,打开命令提示符窗口,输入Java、Javac测试JDK是否安装配置成功。 2) 安装 Tomcat6.0服务器,并配置好相应的环境变量,启动服务器,在浏览器地址栏输入http://localhost:8080 测试服务器是否能够正常运行。 3) 安装 MySQL数据库。 4) 安装MyEclipse 6.5,配置JDK和Tomcat。 5) 下载MySQL JDBC驱动包、,编写测试类测试数据库能否连接。 5.2 功能实现 5.2.1 代码实现 交易系统功能是在线商城系统的核心功能,在本小结将交易系统的实现作详细说明。交易系统主要实现在浏览器展示商品、用户使用购物车、我用管理自己的资料以及管理员管理用户资料。具体实现如图5.1所: 图 5.1 用户使用主页面 1) 视图层 该系统的视图层由Jsp页面实现,其中包括主显示页面和用户管理页面。主显示页面负责显示推荐商品、热销商品、最新上架商品以及商品分类,用户管理页面负责对用户资料进行处理,主要有注册、登录两个部分。 ------主显示页面 24

book_------商品清单显示页面 register_------注册页面 login_------登录页面 2) 模型层 模型层既要由JavaBean类实现,负责完成对用户的属性封装,并实现每个属性的get和set方法,主要代码如下: public class User implements Serializable{ private int id;//用户编号 private String email;//用户邮箱 private String nickName;//用户昵称 private String password;//密码 private int user_integral;//用户积分 private boolean is_email_verify;//用户email验证状态 private String email_verify_code;//email验证码 private long last_login_time;//最近登录时间 private String last_login_ip;//最近登录ip public String getEmail() { } @Override public String toString() { return return email; id+":"+email+":"+nickName+":"+password+":"+user_integral+":"+is_email_verify+":"+email_verify_code+":"+last_login_time+":"+last_login_ip; } public void setEmail(String email) { } public String getEmail_verify_code() { } public void setEmail_verify_code(String email_verify_code) { } public int getId() { } public void setId(int id) { } public boolean isIs_email_verify() { } 25 = email; return email_verify_code; _verify_code = email_verify_code; return id; = id; return is_email_verify;

} public void setIs_email_verify(boolean is_email_verify) { } public String getLast_login_ip() { } public void setLast_login_ip(String last_login_ip) { } public String getLast_login_tim() { } public long getLast_login_time(){ } public void setLast_login_time(long last_login_time) { } public String getPassword() { } public void setPassword(String password) { } public int getUser_integral() { } public void setUser_integral(int user_integral) { } public String getNickName() { } public void setNickName(String nickName) { } me = nickName; return nickName; _integral = user_integral; return user_integral; rd = password; return password; _login_time = last_login_time; return last_login_time; SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd hh:mm"); Date d = new Date(last_login_time); return (d); _login_ip = last_login_ip; return last_login_ip; _email_verify = is_email_verify; 3) 控制层 控制层主要实现对客户端请求处理和业务逻辑处理,主要由业务逻辑处理类和数据库连接类实现。 数据库连接类主要用于获取一个Connection,利用Connection实现对数据26

库的增加、删除、修改、查询等操作,主要代码如下: public class DBUtil { private static final String DRIVER; private static final String URL; private static final String USERNAME; private static final String PASSWORD; private static ThreadLocal conLocal = new } public static Connection getConnection(){ } public static void close(){ Connection conn = (); (null); if(conn != null){ try { } 27 ThreadLocal(); static { DRIVER = ue("driver"); URL = ue("url"); USERNAME = ue("username"); PASSWORD = ue("password"); try { } e(DRIVER); tackTrace(); } catch (ClassNotFoundException e) { Connection conn = (); try { } if(conn == null){ } return conn; n("数据库加载失败"); tackTrace(); return null; conn = (conn); nection(URL,USERNAME,PASSWORD); } catch (SQLException e) { (); tackTrace(); } catch (SQLException e) {

} } } 连接数据库所需的配置文件代码如下: driver= url=jdbc:mysql://localhost:3306/dangdang?useUnicode=true&characterEncoding=utf8 username=root password=root 业务逻辑处理类主要通过连接数据库完成页面分类、排序方式计算,将结构封装到中返回给客户端,主要代码如下: 5.2 图书列表展示界面 public class BookListAction { private Integer cThree; private Integer cTwo; private int curpage = 1; private Category cat; private List books; private int size = 4; private int totalpage = 1; IMainService mainService = nService(); public String execute(){ try { cat = egoryById(cTwo); for(int i=0;i

} Category te = Cats().get(i); if(cThree==()){ } e(e()); Integer cid = cThree==null?cTwo:cThree; books = eDate(cid,curpage,size); totalpage = eNum(cid,size); return "success"; } catch (Exception e) { tackTrace(); return "fail"; } } public List getBooks() { return books; } public void setBooks(List books) { = books; } public Category getCat() { return cat; } public void setCat(Category cat) { = cat; } public Integer getCThree() { return cThree; } public void setCThree(Integer three) { cThree = three; } public Integer getCTwo() { return cTwo; } public void setCTwo(Integer two) { cTwo = two; } public int getCurpage() { return curpage; } public void setCurpage(int curpage) { e = curpage; } 29

} public int getSize() { } public void setSize(int size) { } public int getTotalpage() { } public void setTotalpage(int totalpage) { } age = totalpage; return totalpage; = size; return size; 5.2.2 界面实现 1) 商品展示 商品展示功能将实现把数据库中的图书信息按照用户要求展示在浏览器的页面上,可以进行商品预览、查看商品明细以及分类检索等操作。商品展示界面如图5.3所示: 图5.3 商品展示界面 2) 购物车管理 30

购物车管理可以实现添加商品、删除列表、数量恢复、清空购物车、结算等功能。购物车管理界面如图5.4所示: 图5.4 购物车管理界面 3) 我的订单管理 我的订单管理将实现订单确认、查看订单列表、删除订单、查询订单明细信息。我的订单管理界面如图5.5所示: 31

图5.5 我的订单管理界面 4) 用户管理 用户管理可以进行用户注册,同时服务器将数据写入数据库;用户登录与退出,服务器进行数据比较验证用户的合法性;管理员还可以进行账户的查看删除操作。 用户登录界面如图5.6所示: 图5.6 用户登录界面 32

用户注册界面如图5.7所示: 图5.7 用户注册界面 5.3 本章小结 本章主要以系统的核心功能商品展示管理模块为例,介绍了模块的实现过程和详细代码,展现了系统主要功能模块的实现界面。 33

6 系统测试 6.1 系统测试概述 软件测试是在软件部署之前对软件需求分析、设计和编码的审核,是保证软件质量和可靠性的关键步骤。软件测试主要过程是根据软件开发各阶段的规格说明和内部结构,设计测试用例,使用测试用例运行程序,从而找出程序中隐藏的错误。测试的目的就是在系统运行之前,尽可能多的发现系统中的错误。 1) 软件测试方法: 测试方法分为白盒测试和黒盒测试两种测试方法。白盒测试在知道程序内部结构的前提下,是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行。黒盒测试是通过测试来检测每个功能是否都能正常使用。 2) 软件测试步骤: 测试步骤分为单元测试、综合测试、确认测试和系统测试。单元测试是测试每个模块单独运行是否正确,多采用白盒测试。单元测试后将模块组装为软件包,对软件包进行综合测试,主要测试软件的结构问题,采用白盒测试与黒盒测试结合。确认测试主要根据需求分析时确定的验收标准检验软件是否在功能、行为和性能方面达到要求,完全采用黒盒测试。将软件子系统与系统其它部分集成进行的测试称为系统测试,检验系统的协调性及功能和性能是否到达设计要求。 6.2 系统测试步骤 在将项目各个功能模块集成以后,对系统进行系统测试,检测系统是否达到系统设计的要求。本节将详细对用户管理和购物车的细节进行测试。 1) 注册功能测试 注册功能测试使用事先给予的数据进行注册,查看注册过程中是否会拦截不合法的资料信息,以及注册成功后数据库中是否增加了改数据。 首先输入不符合要求的用户名或者密码进行测试,查看系统时候会对内容进行验证,结果如图6.1所示: 34

图6.1 用户信息不符合规范时注册界面 填写符合规范的信息进行注册,查看时候能通过注册,结果如图6.2所示。 图6.2 用户信息符合规范时注册界面 注册成功后,查询数据库中是否增加了该记录,查询结果如图6.3所示: 图6.3 数据库验证用户注册是否成功 35

注册成功后的欢迎界面如图6.4所示: 图6.4 注册成功的欢迎界面 2) 登录功能测试 登录功能主要是用户在网页的表单填写用户资料,提交到服务器后,服务器对邮箱和密码进行匹配如果不成功,如图6.5所示;如果成功,如图6.6所示。 图6.5 登录不成功的界面 36

图6.6 登录成功的界面 3) 购物车功能测试 添加商品测试:在浏览商品时,可以将看中的商品放到购物车当中,如图6.7和图6.8所示。 图6.7 购买成功的界面 37

图6.8 购物车的界面 删除列表测试:将已选但不进行结算的商品可以删除如图6.8和图6.9所示。 图6.9删除列表的界面 恢复列表:将前面已经删除的列表还原到初始的购物车中,如图6.8和图6.10所示。 图6.10恢复列表的界面 数量修改:已选择的商品的默认的数量都是1,这里有一个文本框可以输入一个数字改变数量,如图6.10和图6.11所示。 38

图6.11变更列表数量的界面 结算:系统对已选择的商品自动计算价格,如图6.12所示。 图6.12自动结算的界面 4) 我的订单系统测试 用户在对购物车操作完后,将进入确定订单阶段,首先是在购物车当中点击结算按钮,跳转到确认订单界面,如图6.13所示: 图6.13订单确认的界面 确认订单后,用户将进入填写送货地址信息的界面,如图6.14所示: 39

图6.13填写送货地址的界面 当用户填写的地址信息都正确时,将跳转到成功提示页面,否则将不能提交表单,订单成功界面如图6.14所示: 图6.13订单成功的界面 6.3 本章小结 本章主要介绍了常见的两种测试:白盒测试和黑盒测试,并且通过系统测40

试,以用户管理、购物车功能和订单系统为例对系统进行了测试,目的是为了发现系统中存在的错误并修改,检验系统是否达到设计的要求。 41

结 论 本篇论文研究的主题是以当当为例的在线商城系统。该系统能够实现用户的注册登录等功能,将用户数据写入数据库从而保证了数据的安全性;商品展示功能,将数据库中的商品信息读取出来并显示在页面上供用户浏览,主要的版块有商品预览、商品明细和分类检索;购物车功能是该系统的一大核心技术,能管理用户已经选择但还未结账的商品,分别实现了添加商品、删除列表、恢复列表、数量修改、清空购物车和结算功能;我的订单模块起到了管理用户订单,具体实现功能有订单确认、订单列表、删除订单和查询订单明细信息;以及商品管理模块,是管理员的核心模块,能够控制整个网站中的商品列表、商品发布、商品修改和商品删除,为管理网站起到决定性的作用。 由于对在线商城管理的实际流程不太熟悉,加之系统设计开发的经验缺乏和时间仓促等原因,系统开发过程中难免存在一些不足之处。首先,在系统设计方面存在不足,例如改在线商城只有图书一种商品,与实际的商城交易相差很远,只能理论实现过程。其次,系统实现也存在不足,例如程序代码不够规范;虽然实现了系统要求的功能,但程序存在一些异常应该处理;对于用户的一些非法操作和非法输入数据应该在代码编写中进行处理,防止非法输入造成系统发生错误;另外还存在系统的操作方式和信息提示不明显等问题。因此系统还有待进一步的改进。 通过这次毕业设计也让我学习到了许多的知识,编程能力和分析解决问题能力得到了很大的提高,学会了运用所学的计算机理论知识解决项目开发中遇到的实际问题。我相信这次毕业设计将为我从事计算机工作积累很好的经验。 42

参考文献 [1].张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社 [2]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007年 [3].王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社,2003年 [4].高林,周海燕.Jsp网上书店系统与案例分析[M]. 北京:人民邮电出版社,2004年 [5].刘腾红,孙细明.信息系统分析与设计[M]. 北京:科学出版社,2003年 [6].Bruce Eckel,《Thinking in Java 4》,American:Prentice Hall PTR [7].O’reilly,《Java Servlet Programming》,American:Sernni Yey [8].O'Reilly & Associates, Inc 《Java Cookbook》in the United States or Canada [9].Siyan K S,Weaver J.精通JSP网页编程.北京:宇航出版社,1988年 [10].林邦杰,彻底研究java.北京:电子工业出版社,2002年[14] (美)Rogers Cadenhead编著. Java编程入门经典,梅兴文译.人民邮电出版社,2007 [11] (美)Bruce Eckel编著,Java编程思想[专著]=Thinking in Java,陈昊鹏译.机械工业出版社.2007 43

致 谢 时间如梭,转眼毕业在即。回想在大学求学的四年,心中充满无限感激和留恋之情。感谢母校为我们提供的良好学习环境,使我们能够在此专心学习,陶冶情操。谨向我的论文指导老师刘老师致以最诚挚的谢意!刘老师不仅在学业上言传身教,而且以其高尚的品格给我以情操上的熏陶。本文的写作更是直接得益于他的悉心指点,从论文的选题到体系的安排,从观点推敲到字句斟酌,无不凝聚着他的心血。滴水之恩,当以涌泉相报,师恩重于山,师恩难报。我只有在今后的学习、工作中,以锲而不舍的精神,努力做出点成绩,以博恩师一笑。 在这次毕业设计过程中,刘老师细心地为我讲解了当当网的运营和模块分布的详细情况,让我对当当网有了清楚的认识和了解,而且帮助解决了整个项目的设计和开发过程中遇到的许多问题。刘老师渊博的知识、丰富的工作实践经验和严谨的治学态度令我受益匪浅。正是因为有了刘老师的精心指导,我才能够实现当当网在线商城系统的设计与开发,顺利地完成我的毕业设计。 同时,我要感谢在四年大学中教导过我们的老师。在他们谆谆教导下,让我在大学中学习到许多的知识。 在此对四年大学生活中所有细心指导我们学习的老师表示衷心的感谢! 44

购物商城网站开发