网上商城购物系统毕业论文(设计)论文正文

更新时间:2024-05-04 04:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

摘 要 ................................................................................................................. III ABSTRACT ....................................................................................................... IV 第一章 绪 论 ....................................................................................................... 1

1.1 课题背景 ....................................................................................................................... 1 1.2 目的和意义 ................................................................................................................... 1 1.3 系统开发环境 ............................................................................................................... 2 1.4 B/S结构的数据库访问模式 ........................................................................................ 2 1.5 相关技术简介 ............................................................................................................... 3

1.5.1 JSP开发技术简介 .................................................................................................................. 3 1.5.2 SQL Server 2005数据库简介............................................................................................... 3

第二章 可行性研究 ............................................................................................. 5

2.1 技术可行性 .................................................................................................................... 5 2.2 经济可行性 .................................................................................................................... 5 2.3 法律可行性 .................................................................................................................... 6 2.4 运行可行性 .................................................................................................................... 6

第三章 需求分析 ................................................................................................. 7

3.1 前台业务流程分析 ........................................................................................................ 7 3.2 后台业务流程分析 ........................................................................................................ 7 3.3 数据流程分析 ................................................................................................................ 8

第四章 系统总体设计 ....................................................................................... 10

4.1 系统结构分析 .............................................................................................................. 10 4.2 功能模块设计 .............................................................................................................. 11

4.2.1 前台模块的功能模块设计 ................................................................................................... 12

I

4.2.2 后台模块的功能模块设计 ................................................................................................... 12

4.3 数据库设计 .................................................................................................................. 13

4.3.1 E-R图 .................................................................................................................................... 14 4.3.2 基本表设计 ........................................................................................................................... 18

第五章 系统详细设计 ....................................................................................... 22

5.1 系统主界面设计 .......................................................................................................... 22 5.2 系统前台各主要模块的功能设计 .............................................................................. 23

5.2.1 用户登陆模块的实现 ........................................................................................................... 23 5.2.2 新会员注册模块的实现 ....................................................................................................... 24 5.2.3 购物车模块的实现 ............................................................................................................... 26 5.2.4 商品搜索模块的实现 ........................................................................................................... 29

5.3 后台管理模块的实现 .................................................................................................. 30

第六章 系统测试及性能分析 ........................................................................... 34

6.1 测试的基本概念 ......................................................................................................... 34 6.2 测试步骤 ..................................................................................................................... 35 6.3 系统测试 ..................................................................................................................... 35 6.4 系统的性能分析 ......................................................................................................... 37 6.5 系统中所存在的问题及解决方案 ............................................................................. 38

6.5.1 系统的整体设计和规划中的问题 ........................................................................................ 38 6.5.2 开发功能模块所遇到的难点................................................................................................ 39 6.5.3 系统中存在的问题及拟定的解决方法 ................................................................................ 39

总 结 ............................................................................................................. 41 参考文献 ............................................................................................................. 42 致 谢 ............................................................................................................. 43 附 录 ............................................................................................................. 44

II

摘 要

随着市场经济的逐渐形成,全球化经济已在国内迅速发展起来。以往的销售模式正在受到空前的挑战:人们已经对去固定的场所、购买(出售)固定的物品的交易方式所带来的不便越来越感到不满,交易的时间长、效率低。高额的运费、销售场地的凭租费等繁多的额外开支也给商家带来沉重的成本支出。为了适应市场、适应经济前进的步伐,买家和商家都在努力积极地寻找一种能够带来高效率、低成本销售模式。

系统采用JSP作为主要开发语言,Tomcat为系统服务器,SQL Server为系统数据库。JSP、Tomcat、SQL Server为当今主流的网上购物系统的开发技术,无论从系统的兼容性还是可扩展性来看,采用JSP、Tomcat、SQL Server技术将有利于大中型系统的开发和建设。

关键词:网上购物系统、网上购物、JSP、SQL Server

III

Abstract

Along with the gradual formation of a market economy and globalization, the economy has developed rapidly in China. Sales of the previous model is facing an unprecedented challenge: people are increasingly dissatisfied with the inconvenience of the transaction long time and low efficiency. High freight costs, sales venue rental, etc. With many of the additional expenses also impose a heavy cost to businesses. In order to adapt to the market to adapt to the pace of growth of our economy, buyers and businesses are working actively to find a way to bring high efficiency, low cost sales model.

JSP is adopted as the main designing language in the developing of this system, Tomcat as the system server and the SQL Server as system database. They are the most important techniques of designing online purchasing system nowadays. It is facilite the developing and construction of large or medium systems,no matter of the compatibility and expansibility of this system.

Keywords:Electronic Commerce, online purchasing, JSP, SQL Server

IV

Shopping online网上购物系统的设计与实现

第一章 绪 论

1.1 课题背景

随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,网上商城已经成为网上购物的一股潮流。互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通流域,互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。人们对于互联网技术的要求已不单单是浏览一下网站网页,收发电子邮件,日益忙碌的人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式。对于企业来讲,无论是企业之间(B to B),还是企业和客户之间(B to C)的交易,如果能够实现网上交易将大大提高交易速度节约成本。但是对网络的及时、一对一、跨时间、 跨空间等特性,并没有充分加以利用。在这种形势下,传统的依靠管理人员人工工作传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。因而开发了这样一个具有前后台的系统,以满足购物者和企业的需求。

1.2 目的和意义

无店铺零售的悄然兴起,是商业经济发展到一定阶段的产物,也是顺应新的消费需求和技术进步的必然结果。与传统的百货商店、连锁超市、大卖场、便利店等有形商铺相比,无店铺零售业态具有一定的先天优势。一是地段。对于传统的有形店铺来说,门店的选址、地段的优劣,几乎能够决定其未来经营的成败,而城市中的商业网点资源,尤其是优质商业网点资源通常十分稀缺。无店铺零售则大多不存在地段方面的制约。二是经营成本。借助日益发展的科学技术,无店铺零售通常能够省却从生产到销售过程中的许多环节,从而有效降低经营成本与交易成本,给消费者、商家带来双赢的局面。三是风险。对于个人来说,网上商店等无店铺零售业态的准入门槛相对较低,运转比较灵活,即使遇到风险,也有船小好掉头的优势。专家表示,随着社会经济的发展及消费水平的提高,人们希望得到更加方便、更加快捷的购物方式,同时也乐于尝试各种新的购物方式。在这一市场需求的推动下,企业会对商品零售的方式进行创新,而先进的技术

1

Shopping online网上购物系统的设计与实现

给创新提供了重要支撑与平台。

鉴于互联网的优势以及对国内外相关的各销售网站现状的研究分析,我决定开发以基于Web的商城网站作为我的毕业设计主题。立足于设计一个在网络平台上运行的购物支付配送等功能于一体的无店铺网络商城。以小小的力量推动中国互联网的发展。

1.3 系统开发环境

本系统采用B/S结构,前台开发工具为MyEclipse Enterprise Workbench 6.0.0 GA,后台数据库是SQL Server,服务器是Tomcat 6.0.8,软件要求:操作系统为Windows XP或更高,Internet Explorer 5.01 或更高版本,硬件要求:Pentium 133 MHz* Pentium 133 MHz 或更快 128 MB* 256 MB 或更高。

1.4 B/S结构的数据库访问模式

B/S结构是真正的三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构组成如图1-1所示,图中从左到右,分为三个层次:

第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;

客户端 WEB服务器 客户端 后台数据库

图1.1 三级结构组成

第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;

第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。

2

Shopping online网上购物系统的设计与实现

与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。

由以上的比较分析可知,三层结构也可以理解为增加WEB服务器的C/S模式。

1.5 相关技术简介

1.5.1 JSP开发技术简介

JSP是Java Server Page的缩写,是由Sun Microsystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:

1. JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。

2. 高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。

3. 可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。

4.稳定性。 5.产品的多样性。

目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。

1.5.2 SQL Server 2005数据库简介

SQL Server 2005 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有

3

Shopping online网上购物系统的设计与实现

使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2005 的大型多处理器的服务器等多种平台使用。

SQL Server 2005的兼容性很好。由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2005 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。

在使用由Microsoft SQL Server 2005关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protocol(超文本传输协议,HTTP)来访问SQL Server 2005,以实现面向SQL Server 2005数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。

Microsoft SQL Server 2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。 Microsoft SQL Server 2005简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性--诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。

4

Shopping online网上购物系统的设计与实现

第二章 可行性研究

可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性的可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下几个方面进行研究:技术可行性、经济可行性、法律可行性和运行可行性。

2.1 技术可行性

技术可行性是对现有技术进行评价,分析系统是否可以用现有技术来实施以及技术发展对系统建设有什么影响。

新系统可以用现有的技术来实现,针对目前的开发工具而言,新系统比较适合采用流行的WEB开发工具J2EE。这种开发工具非常适合于B/S 结构的应用系统,提供了强大的软件生成器。与其他开发工具相比,J2EE能够支持跨平台客户端应用程序开发的工具,除WINDOWS外,它还支持MACINTOSH和UNIX平台,可提供优秀的报表生成方法和完整的在线帮助以及丰富的INTERNET访问功能和组件特征。

J2EE安全可靠,对于开发人员而言开发方便,对于使用人员而言界面友好,开发出来的软件简单易用,掌握方便。开发出的软件易学易用,即便原来没有什么计算机操作基础也会很容易学会使用。

2.2 经济可行性

系统的经济可行性指的是对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。但该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。

5

Shopping online网上购物系统的设计与实现

2.3 法律可行性

该电子商务系统是本人自主开发的网上购物系统,还是个比较粗糙、功能还不完善的系统,开发这个系统不同于开发普通的系统软件,即该系统不同于原来已有的现代化的系统,不存在侵权等问题,本系统开发不会侵犯他人、集体或国家利益,不违反国家法律,因此具有法律可行性。

2.4 运行可行性

操作可行性是指系统对组织机构的影响,现有人员和机构、设施、环境等对系统的适应性以及进行人员培训的补充计划可行性。该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。而且从新系统使用难易程度上来看,新系统使用起来并不复杂,界面设计亲切,容易上手,使用起来还是比较方便的。

6

Shopping online网上购物系统的设计与实现

第三章 需求分析

软件需求分析工作是软件生存周期中重要的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体上的软件需求规格说明,从而奠定软件开发的基础。软件需求分析工作也是一个不断认识和逐步细化的过程。该过程将软件调研阶段的需求资料进行分析和设计,使软件范围逐步细化到详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法。本章将从不同角度的需求分析问题,讲述软件需求类型,分析过程,并部分给出了数据字典和数据流图。

3.1 前台业务流程分析

前台业务主要面向客户。用户可以浏览网站主页、商品的介绍和一些新闻信息。前台业务流程如图3.1所示。

商品信息浏览 购物车 用户 查看订单 修改资料 浏览商品清单 修改 订购 订单 资料

图3.1 前台业务流程

3.2 后台业务流程分析

在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对管理及商品分类的信息进行新增,修改、删除,也可

7

Shopping online网上购物系统的设计与实现

以对订单信息进行查看、撤销、编辑状态等处理,同时管理员也可以对用户信息进行管理。后台业务流程如图3.2所示。

管理员 维护网站 网站信息 提交 网站信息 取出订单 受理订单 订单 图3.2 后台业务流程

3.3 数据流程分析

在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好准备。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户之间进行交流,以及在开发组织内部交流。因此数据流图作为一种模型工具已经广泛使用在软件工程的事件中。

根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。网站数据流的总体图如图3.3所示。

8

Shopping online网上购物系统的设计与实现

用户 管理员 商城信息 0 网站系统 站内信息用户 订单数据

图3.3网站数据流的总体图

进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.4所示。

图3.4网站数据流的零级图

9

Shopping online网上购物系统的设计与实现

第四章 系统总体设计

本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。

结构化设计技术的核心是模块分解设计,模块上系统结构图的主要元素。其设计思想是,采用自顶向下、逐层分解的方法,先给出总的模块功能,再逐层分解,使其分为多个大小适当,功能明确,具有一定独立性且容易实现的模块,从而把一个复杂的系统设计转变成为多个简单模块的设计。

4.1 系统结构分析

根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看网站等信息,还可以做订购商品等活动。为了方便客户搜索感兴趣的商品信息,将商品搜索嵌入到主页面中。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎围绕数据库,最后将更新的数据显示给前台。

前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为基础的。

系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理的分支。

在设计好网站前台和后台的结构后,就将数据库加入到结构中。后台将更新的数据

10

Shopping online网上购物系统的设计与实现

写入到数据库中,前台再将数据库中的信息取出来并显示。

4.2 功能模块设计

层次模块结构是将系统划分为若干子系统,子系统下在划分为若干的模块。而模块是指具备输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。

以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。 网上购物系统的功能结构如图4.1所示。

图4.1 网上购物系统的功能结构

会员删除 商品添加 商品修改 新闻添加 新闻修改 用户注册 用户修改 会员管理 商品管理 新闻管理 商品名称 用户管理 网上购物平台 网站布局 管理者进入 商品搜索

11

Shopping online网上购物系统的设计与实现

4.2.1 前台模块的功能模块设计

前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、商品查询模块、购物车模块、修改个人资料模块。顾名思义,这些模块的名称基本概况了它们的功能。下面详细说明一下这些功能模块的设计:

(1)用户管理模块:

为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登陆、修改密码等功能。

(2)购物车模块:

在超市购物,可以根据自己的需要将很多商品挑选至购物车或购物篮中,然后到收银台结账。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生成订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结账。

(3)商品搜索模块:

用户根据商品的名称可以搜索到所需要的商品信息。 (4)个人资料管理模块:

用户资料修改是为更改个人信息所提供的窗口,为了保护用户信息不受非法侵入,用户只有登录后才有权限修改自己的个人资料。

这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。 4.2.2 后台模块的功能模块设计

后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础,根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:

12

Shopping online网上购物系统的设计与实现

(1)管理员身份验证模块:

为合法用户提供一个后台入口。该模块的功能是对管理员身份进行验证。用户输入登陆ID和密码的有效性,如果通过验证则跳转后台主页,否则提示错误。

(2)商品管理模块:

向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能。 (3)处理订单模块:

网站管理者对用户订单的执行和编辑状态。 (4)用户信息管理模块:

查询所有注册用户,对一些非法或失信用户进行删除操作。 (5)新闻管理模块:

新闻管理即对网站信息的管理,新闻管理是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。

4.3 数据库设计

数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:

(1)根据用户需求,确定数据库要保存的信息。对用户需求进行分析时数据库设计的第一个阶段。对用户需求进行分析是数据库设计的第一个阶段。

(2)设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。

(3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持系统的数据模型相符合的过程。

(4)数据库的实施与维护。

在设计好前台与后天的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。

13

Shopping online网上购物系统的设计与实现

4.3.1 E-R图

E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便直接的表达受众的各种语义知识,另一方面它还应该简单、清晰并且易于用户理解。以下是各个数据表的实体图。

(1)商品信息表hw的实体图

商品描述 商品类别编号 正常价格 商品数量 商品编号 商品信息 会员价格 商品名称 发布时间 图片路径 是否特价 是否推荐 图4.2 商品信息表hw的实体图

(2) 会员信息表member的实体图

14

Shopping online网上购物系统的设计与实现

会员密码 会员地址 会员编号 会员电话 会员信息 会员帐号 注册时间

图4.3 用户信息表tb_User的实体图

(3) 订单表saleorder的实体图

订单信息 订单编号 用户地址 购物时间用户编号 是否已经处理箱 称

图4.4 订单表saleorder的实体图

15

Shopping online网上购物系统的设计与实现

(4) 管理员表admin的实体图

管理员信息 编号 管理员名称密码 用户地址 称箱

图4.5 管理员 admin的实体图

(5)新闻列表news的实体图

图4.6 新闻列表news的实体图

新闻列表 新闻编号 新闻类别编号 新闻标题 新闻内容 (6) 新闻类别列表news_category的实体图

16

Shopping online网上购物系统的设计与实现

类别描述 父节点id 类别名称 等级 类别编号 类别排序 商品信息

图4.7新闻类别列表news_category的实体图

(7)订单产品表saleproduct的实体图

订单产品信息 编号 产品编号箱 产品数量 产品价格 所属订单编号

图4.8 订单产品表的实体图

(8)总体E-R图

17

Shopping online网上购物系统的设计与实现

订单 1生成

图4.9 总体E-R图

会员 1 1 修改 1会员信息 购买 n商品 n4.3.2 基本表设计

表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:会员信息表、订单表、商品信息表、新闻列表、新闻类别列表、管理员表和订单产品表。下面是为数据库设计的表:

表4.1 商品信息表hw

字段 Id Pname Descr Normalprice Memberprice Count Categoryid Spcialprice Commend 字段名 商品编号 商品名称 商品描述 正常价格 会员价格 商品数量 商品类别编号 是否是特价产品 是否是推荐产品 类型 Int Varchar Varchar Money Money Long Int Int Int 宽度 小数位 255 255 索引 是 可否为空 否 否 是 是 是 是 是 是 是 18

Shopping online网上购物系统的设计与实现

Img Pdate 图片路径 发布日期 Text Date 是 是 对于商品信息表,因为经验不足,我将其关键字段id商品编号采用的是数据库中的自动编号,虽然也确定了商品信息的唯一性,但不具备直观的特点,在实际应用中最好是将其设置一个命名规则,管理人员在添加商品的时候能够自动产生一个有一定规则和一定意义的命名规则,方便管理人员对其进行管理和维护,例如对于手机类商品可将其编号设置为mobile+型号+添加日期,这样更容易对商品进行管理。Img字段代表图片,但在这里存放的只是它的路径所以应该使用文本类型。

表4.2 会员信息表member

字段 id Username Password Addr Rdate Phone 字段名 会员编号 会员帐号 会员密码 会员地址 会员添加日期 会员电话 类型 自动编号 Varchar Varchar Varchar 文本型 Varchar 宽度 50 50 255 50 40 小数位 索引 是 可否为空 是 否 否 是 是 是 对于会员信息表需要注意的是用户密码,由于数据库本身不提供特殊字段的加密,用户注册以后注册密码是以明码形式存放在数据库中,这对系统来说是极不安全的,因此需要我们用一些特殊工具来对其进行加密。

表4.3订单表saleorder

字段 id odate Status Userid Addr 字段名 订单编号 购物时间 是否已经处理 用户编号 用户地址 类型 Int Date Int Int 宽度 18 小数位 2 索引 可否为空 否 是 是 是 是 Varchar 255 订单表则是系统中与其他几个表关系最多的一个表了,它包含了商品表,会员表中的几个重要字段,是我们进行最后购物统计的主要依据。

19

Shopping online网上购物系统的设计与实现

表4.4管理员表admin

字段 id Admin_name Password Level 字段名 编号 管理员名称 密码 级别 类型 自动编号 nVarchar Nvchar Int 宽度 50 50 小数位 索引 可否为空 是 是 否 是 该表和会员表一样存在字段的命名规则的要求,出于安全考虑对于管理员帐号发放应该谨慎,管理人员数量一定要控制,越少越安全,在实际应用中,我们还要对整个数据库进行加密,以防止系统重要数据泄漏。

表4.5新闻列表news

字段 id title content Categoryid 字段名 新闻编号 新闻标题 新闻内容 新闻类别编号 类型 自动编号 Varchar Text Date 宽度 50 小数位 索引 可否为空 否 是 是 是 存储网站新闻级别信息,和新闻表关联和产品类别结构相同。

表4.6新闻类别列表news_category

字段 id cname Cdescr Pid Grade Cno 字段名 类别编号 类别名称 类别描述 父节点id 等级 类别排序 类型 自动编号 Varchar text Int Int Int 宽度 50 小数位 索引 可否为空 是 是 否 是 是 是 存储网站新闻信息,与其他表没有关联。

表4.7订单产品表saleproduct

字段 id 字段名 编号 类型 自动编号 宽度 小数位 索引 可否为空 是 20

Shopping online网上购物系统的设计与实现

Productid Uniprice Pcount Orderid 产品编号 产品价格 产品数量 所属订单编号 Int Money Int Int 是 否 是 是

21

Shopping online网上购物系统的设计与实现

第五章 系统详细设计

详细设计的根本目标是确定应该具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。在项目开发时,使用一种稳定成熟的框架是项目成功的重要因素。MVC的基本思想就是逻辑与显示的分离,Model是应用程序的主体部分,它表示业务数据或者业务逻辑,View是应用程序中与用户界面相关的部分,也就是用户看到并与之交互的界面,Controller根据用户的输入,控制用户界面数据的显示和更新Model对象的状态,MVC不仅实现了功能模块和显示模块的分离,同时也提供了应用系统的可维护性、可扩展性、可移植性和组件的可重用性。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

5.1 系统主界面设计

本网站的主界面整体结构还算简洁、清晰,上面部分为商品搜索条,,左面部分为商品类别框,右面部分为资讯区,中间部分为商品展示区。本网上购物系统主界面如图5.1所示。

22

Shopping online网上购物系统的设计与实现

图5.1系统登陆界面

5.2 系统前台各主要模块的功能设计

5.2.1用户登陆模块的实现

用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品,如果是第一次登陆,必须先注册。

23

Shopping online网上购物系统的设计与实现

登陆的具体实现要通过一个全程变量,即Session变量来实现用户登录的界面UserLogin.jsp,从shopuser表查得用户提交的帐户名和密码正确后,用一个全局变量,即Session变量保存这一消息(该变量名称为Session(“user”))。具体的判断过程为:

若session中user为空即session.getAttribute(\\,表明没有经过登陆与否的验证,则立即跳转到UserLogin.jsp,请用户登录;并将用户登陆的帐号和密码通过

通过UserService 的check 方法,先判断是否存在这个用户如果不存在这个用户则抛出自己定义的一个异常UserNotFoundException ,如果存在这个用户再和输入的密码做对比,如果密码不正确则抛出自己定义的PasswordWrongException异常。对应Action中分别截获这两种不同的异常来判断对应的错误信息。具体代码实现如下: String username = request.getParameter(\String password = request.getParameter(\try {

User u = User.check(username, password); session.setAttribute(\

} catch (UserNotFoundException e) {

out.println(e.getMessage()); return;

} catch (PasswordNotCorrectException e) {

out.println(e.getMessage()); return; }

5.2.2新会员注册模块的实现

如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,(该处存在用户名命名规则的问题,后面问题中会详细解决)用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表

24

Shopping online网上购物系统的设计与实现

即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面的效果图如下:

图5.2注册页面界面

系统对用户的注册信息的验证实现如下:用户输入的各项信息分别对应字段 username,password,phone,addr, 再添加用户之前要有一个前台校验: function check{

var username=document.register.username.value; var password=document.register.password.value; var password2=document.register.password2.value; var addr=document.register.addr.value; if(username.length==0){ alert(“用户名不能为空”); ruturn false;

}else if(username.length<6){

25

Shopping online网上购物系统的设计与实现

Document.register.username.value=’’; alert(“用户名长度不能小于6位”); return false;

}else if(password.length<6){

alert(“用户名长度不能小于6位”); return false;

}else if(password!=password2){

alert(“两次输入的密码不一样,请返回重新输入!”); ruturn false;

}else if(addr.length==0){ }

return true; }

5.2.3 购物车模块的实现

当用户登陆成功以后,如果找到了希望定购的物品,在点击物品下方的定购以后,系统会弹出一个新的页面,显示该物品已经添加进购物车,然后用户需要选择定购的数量。页面效果如下:

alert(“地址不能为空”); return false;

图5.3购物车界面

26

Shopping online网上购物系统的设计与实现

在点击确认以后,该物品信息被后台添加到购物车中,如果用户需要继续购物,可以继续选择,不断添加,买的物品列表,及合计价格。

购物车类: public class Cart {

List items = new ArrayList(); public List getItems() { }

public void setItems(List items) { }

public void add(CartItem ci) { }

public double getTotalMemberPrice() {

double d = 0.0;

for(Iterator it = items.iterator(); it.hasNext(); ) { }

return d;

CartItem current = it.next();

d += current.getProduct().getMemberPrice() * current.getCount(); for (Iterator iter = items.iterator(); iter.hasNext();) { }

items.add(ci);

CartItem item = iter.next();

if(item.getProduct().getId() == ci.getProduct().getId()) { }

item.setCount(item.getCount() + 1); return;

this.items = items; return items;

27

Shopping online网上购物系统的设计与实现

}

}

public void deleteItemById(int productId) { }

for (Iterator iter = items.iterator(); iter.hasNext();) { }

CartItem item = iter.next();

if(item.getProduct().getId() == productId) { }

iter.remove();

CartItem 是购物车里的每一个购物项。里面含有商品的信息及其数量。购物车类的add 方法是添加一类商品的信息,getTotalMemberPrice() 方法算取所有商品的总价格。deleteItemById() 从购物车中删除某一类商品。

当用户选购完所有的商品时,可以点击下单就会显示所订购的物品的详细信息如图:

图5.4收银台结帐界面

用户再一次确认后,系统会显示购物成功并返回给用户一个定购单号。该页面也就是将用户提交的订单信息返回,并产生了一个唯一订单号,以方便用户查询。订货的具

28

Shopping online网上购物系统的设计与实现

体实现需要填入两张表:一张是订单表saleorder 另一张是订单货物表saleitem表。其中订单货物加入的时用到批处理加入:具体实现如下: public int add(SalesOrder so) { }

5.2.4 商品搜索模块的实现

网上购物作为一个在网上展示自己商品的销售系统,如何能让用户以最快的速度找到自己希望买到的物品,也是需要非常重视的一个问题,此时搜索引擎也就必不可少了。本购物系统也做了一个小模块,以供用户进行一些模糊查找,用户不必输入全部名称,只需输入一些关键词,系统就可以将符合该查询条件的所有商品信息以网页形式返回给用户。

}

public int userBuy(Cart c, User u) { }

public int getOrders(List list, int pageNo, int pageSize){ }

public SalesOrder loadById(int id) { }

public List getSalesItems(SalesOrder order) { }

public void updateStatus(SalesOrder order) {

dao.updateStatus(order);

}

return dao.getSalesItems(order.getId()); return dao.loadById(id);

return dao.getOrders(list, pageNo, pageSize); return u.buy(c); return dao.add(so);

29

Shopping online网上购物系统的设计与实现

该搜索功能中实现的关键代码为:

public int find(List products, int pageNo, int pageSize, String keyword) {

String queryStr = \where p.name like '%\+ keyword + \or p.descr like

'%\

}

return dao.find(products, pageNo, pageSize, queryStr);

5.3后台管理模块的实现

网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,还必须能够使管理人员能够对系统的各种信息进行维护,比如商品的增加、删除、修改,会员的审查,网站新闻的更新等等。管理功能是网上购物系统相当重要的一部分功能。

管理员可以通过主页面的“管理进入”进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。由于涉及到交易,出于安全性考虑,管理员帐号应尽量少分配,密码也要尽量复杂,经常更换。

进入之后系统管理的主页面 采用了框架结构,左边是一个树型菜单,右边显示具体信息。

管理的主要功能有商品信息的更新,会员信息维护,产品种类,新闻模块,订单管理设置等五大模块,商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。如下图所示:

30

Shopping online网上购物系统的设计与实现

图5.7 商品管理界面

这一部分的实现也没有新的方法,只是从添加商品的页面获取数据然后实例化一个product对象,利用其成员函数进行初始化,最后写入数据库中。 String action = request.getParameter(\if(action != null && action.trim().equals(\

String name = request.getParameter(\double normalPrice =

Double.parseDouble(request.getParameter(\

double memberPrice =

Double.parseDouble(request.getParameter(\

String descr = request.getParameter(\Product p = new Product(); p.setName(name);

p.setNormalPrice(normalPrice); p.setMemberPrice(memberPrice); p.setDescr(descr);

p.setCategoryId(categoryId);

31

Shopping online网上购物系统的设计与实现

p.setPdate(new Date());

ProductMgr.getInstance().add(p); 修改则使用update语句。

会员信息管理,则主要是对一些恶意注册用户进行删除,该功能设计存在一定问题,

具体在后面会有一定说明。

图5.8会员信息管理界面

网站信息管理,进行网上新闻的发布,修改删除,以及系统公告等信息的设置,这些功能虽然无关紧要,但在实际中却能方便用户,提高网站效益。

图5.9 新闻信息管理界面

32

Shopping online网上购物系统的设计与实现

在完成系统的更新之后,作为管理人员,应该及时注销自己的帐户,树型菜单的上方提供了注销登陆的选项,点击之后,注销用户,并返回到前台页面,防止他人恶意修改网站信息,造成不必要的损失。

以上两个部分都是比较简单的功能实现,具体实现过程与前几个类似。

33

Shopping online网上购物系统的设计与实现

第六章 系统测试及性能分析

经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段。然而,在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,甚至会导致巨大的损失。目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段。

6.1测试的基本概念

(1)测试的目的

软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。 明确测试的目的是一件非常重要的事,因为在现实世界中对测试工作存在着许多模糊或者错误的看法,这些看法严重影响着测试工作的顺利进行。

有人认为测试是为了证明程序是正确的,也就是说程序不再有错误,事实证明这是不现实的。因为要通过测试来发现程序中的所有错误就要穷举所有可能的输入数据,检查它们是否产生正确的结果。例如,一个需要3个16位字长的整型输入数据的程序,输入数据的所有组合情况大约有3×1014种,若每组数据的测试时间为1ms,那么即使一年365天,每天24小时地测试,也大约需要1万年的时间。 (2)测试用例

要进行测试,除了要有测试数据(或称输入数据)外,还应同时给出该组测试数据应该得到怎样的输出结果,我们称它为预期结果。在测试时将实际的输出结果与预期结果比较,若不同则表示发现了错误。因此测试用例是由测试数据和预期结果构成的。

为了发现程序中的错误,应竭力设计能暴露错误的测试。一个好的测试用例是极有可能发现迄今为止尚未发现的错误的测试用例。一次成功的测试是发现了至今为止尚未发现的错误的测试。 (3)白盒测试和黑盒测试

测试的关键是测试用例,其方法可分成两类:白盒测试和黑盒测试。

34

Shopping online网上购物系统的设计与实现

白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。

黑盒测试是把程序看成一只黑盒子,测试者完全不了解(或不考虑)程序的结构和处理过程。它根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。

6.2 测试步骤

软件测试的主要步骤有单元测试、集成测试和确认测试。 (1)单元测试(Unit Testing)

单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。单元测试主要发现编码和详细设计中产生的错误,通常采用白盒测试。 (2)集成测试(Integration Testing)

集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。 (3)确认测试(Validation Testing)

确认测试的任务是检查软件的功能、性能及其他特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。

确认测试产生测试程序是否满足需求规格说明书所列的各项要求,然后要进行软件配置复查,特别是文档是否齐全,各方面的质量是否符合要求等。

6.3系统测试

软件测试方法从测试人员角度看,可分为人工测试和机器测试。人工测试又称为代码复审。主要有三种方法:个人复查、走查、会审。机器测试分为黑盒测试(又称功能测试)和白盒测试(又称结构测试)两种。

下面对本网上购物系统进行测试,以检查系统能否正确完成各种操作,是否能够实

35

Shopping online网上购物系统的设计与实现

现预期具有的功能。 (1)系统后台登陆模块

此模块是进入本系统操作的一个入口,用于维护系统的安全。只有将正确的用户名和密码输入系统,才能继续进行操作

现在输入用户名和错误的密码,测试是否能够登录。测试结果是系统提示“用户名与密码不相符!”,如图6-1所示。

图6.1 提示用户名或密码错误消息窗口

(2)用户购物模块

用户浏览商品,点击购买商品按钮,系统检查该用户是否已登陆,如果没登陆给出提示信息,用户进入购物车页面后,可修改商品数量,对于非数字的将不能输入,在用户下单界面,对各个表单进行了验证,不符合要求的将给予提示信息,如图6.3所示。

图6.2用户购物测试

36

本文来源:https://www.bwwdw.com/article/z7ig.html

Top