电子商务网站毕业设计报告 - 图文

更新时间:2024-01-31 16:57:01 阅读量: 教育文库 文档下载

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

基于网络的图书销售系统

摘 要

随着 Internet 的飞速发展,电子商务在经济领域将会扮演越来越重要的角色。网上购物不仅受到年轻人的青睐,而且越来越多的中老年人也开始接受网络购物。现今如当当网、亚马逊等网上书店应需而出,不仅成为读者们新的购买渠道,而且也形成了一个新的消费观念。这种网上书店的出现离不开网络技术的发展,消费者在网上选择自己需要的书籍,通过网银或者其他网上支付的方式来付款,这些功能都是依靠计算机技术和通讯技术来完成的。

本设计主要介绍了网上书店的使用方法,然后描述了系统的原理和实现系统所用到的工具,包括 JSP 、Dreamweaver MX 、MySQL、JSON,最后进入实现部分,简介了系统的需求分析和具体实现,详细介绍了购物流程和购物过程的数据流,正文详细的描述了实现网上书店系统的解决方案。

本系统是基于 Java EE SSH技术的、有关于网上购书的一个交换平台,主要实现的功能模块有用户登录模块、商品查询模块、分页处理模块、购物车处理模块、订单处理模块等,以数据为中心模型,经过了大量的测试来验证本系统的安全可靠性以及解决相应问题的能力。

关键词:网上书店,JSP,Java EE SSH,电子商务

Online book store system

ABSTRACT

With the rapid development of Internet, e-commerce in economic field will play an

increasingly important role. Internet shopping is not only the favour of young people, more and more people began to accept in shopping network. Recently, such as dangdang.com and remarkable network of online bookstore, not only should be to become new purchase channel, and sensibility and formed a new consumption idea, in order to appear this kind of online bookstore without the development of network technology. Consumers through on the web to choose their books, through the e-

currency payment or other online payment on the way, computer technology and communication technology to finish this function.

This paper is mainly on the design in detail, the use of online bookstore is introduced firstly, and then describes the method of system principle and realization of tools used by system including the JSP, Dreamweaver MX, MySQL, Json, Final part of the system,and realization of needs analysis and realization, detailed introduces the shopping process and shopping process data flow, Text a detailed description of the realization of online bookstore system solutions.

This system is based on Java EE SSHtechnology exchange platform for online bookstores, and main function modules are user login module, commodity inquiry module, paging processing module, shopping cart processing module, order processing module based on several major modules, data center, through a model of this system is tested safe,reliable and can solve the corresponding problems.

Key Words: Online bookstore,JSP, Java EE SSH,E-commerce

目 录

第一章 绪论 ........................................................................................................................... 1

1.1 1.2 1.2.1 1.2.2 1.3 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.4 3.4.1 3.4.2

选题背景及意义......................................................................................................... 1 国内外发展情况......................................................................................................... 1 国内发展情况 ......................................................................................................... 1 国外发展情况 ......................................................................................................... 2 主要研究内容............................................................................................................. 3 开发环境..................................................................................................................... 4 服务器软件环境 ..................................................................................................... 4 服务器硬件环境 ..................................................................................................... 4 开发机器软件环境 ................................................................................................. 5 开发机器硬件环境 ................................................................................................. 5 技术架构综述............................................................................................................. 5 表现层 ..................................................................................................................... 5 业务层 ..................................................................................................................... 5 数据访问层 ............................................................................................................. 6 采用MVC模式 ...................................................................................................... 7 WEB层框架Struts ................................................................................................. 7 持久层框架Hibernate ............................................................................................ 8 系统需求................................................................................................................... 10 功能需求................................................................................................................... 10 功能设想 ............................................................................................................... 10 实现功能: ........................................................................................................... 10 性能需求................................................................................................................... 11 响应时间 ............................................................................................................... 11 稳定性 ................................................................................................................... 11 安全性 ................................................................................................................... 11 运行需求................................................................................................................... 11 硬件需求 ............................................................................................................... 11 软件需求 ............................................................................................................... 11

第二章 开发环境 .................................................................................................................. 4

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

第四章 总体设计 ................................................................................................................ 12

4.1 4.2 4.2.1 4.2.2 4.2.3 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5

系统架构................................................................................................................... 12 系统数据库设计....................................................................................................... 13 数据库需求 ........................................................................................................... 13 数据库逻辑设计 ................................................................................................... 13 数据库E-R图 ....................................................................................................... 14 前台模块功能详细设计........................................................................................... 16 游客注册功能实现 ............................................................................................... 16 游客/会员搜索功能实现 ...................................................................................... 18 游客/会员购物车功能实现 .................................................................................. 20 会员登录功能实现 ............................................................................................... 22 会员留言评价功能实现 ....................................................................................... 24 后台模块功能详细设计........................................................................................... 25 管理员登录管理功能实现 ................................................................................... 25 书籍管理功能实现 ............................................................................................... 26 订单管理功能实现 ............................................................................................... 28 管理员管理功能实现 ........................................................................................... 30 网站基本信息管理功能实现 ............................................................................... 32 集成测试................................................................................................................... 35 测试内容 ............................................................................................................... 35 测试要求 ............................................................................................................... 35 进入准则 ............................................................................................................... 35 退出准则 ............................................................................................................... 35 压力测试................................................................................................................... 36 测试内容 ............................................................................................................... 36 测试要求 ............................................................................................................... 36 进入准则 ............................................................................................................... 36 退出准则 ............................................................................................................... 36 重点功能测试用例及结果....................................................................................... 37 图书搜索 ............................................................................................................... 37 将书籍加入购物车 ............................................................................................... 38 会员留言 ............................................................................................................... 39 添加书籍 ............................................................................................................... 40 审核订单 ............................................................................................................... 41

第五章 详细设计 ................................................................................................................ 16

第六章 系统测试 ................................................................................................................ 35

结 束 语 ............................................................................................................................... 43 参考文献 ............................................................................................................................... 44 附 录 ............................................................................................................................... 45 致 谢 ............................................................................................................................... 49

天津理工大学2011届本科毕业设计说明书

第一章

绪论

1.1 选题背景及意义

随着计算机网络技术、数据库技术、通讯技术的不断发展。电子商务逐渐崭露头角,网上购物不仅受到年轻人的青睐,而且越来越多的中老年人也开始接受网络购物,网上书店作为电子商务的一种,也伴随着网上购物应运而生。伴随着计算机网络技术的不断发展,电子商务提供的功能也越来越强大,消费者在网络上几乎可以搜索到自己想要的任何的商品,而且可以将商品进行比较,不满意的还可以在一定的时间期限内退货,让消费者感受到了购物的快感和方便。我的毕业设计完成了一个网上图书销售系统。

[1]

1.2 国内外发展情况

1.2.1 国内发展情况

当当网是全球最大的综合性中文网上购物商城,由国内著名出版机构科文公司、美国老虎基金、美国IDG集团、卢森堡剑桥集团、亚洲创业投资基金(原名软银中国创业基金)共同投资成立。1999年11月,当当网作为图书交易网站正式开通。当当网在线销售的商品包括了家居百货、化妆品、数码、家电、图书、音像、服装及母婴等几十个大类,逾百万种商品,在库图书达到60万种。在为消费者服务的同时,当当网帮助出版社提高了单本书的销量、并有效地增加了出版物的寿命。当当网不受上架周期的和顾客地域性偏好的限制,为出版社尤其是专业、学术出版社提供了窗口支持和读者,使知识的传播变为更加有效。

1

天津理工大学2011届本科毕业设计说明书

图1.1 当当网

1.2.2 国外发展情况

亚马逊公司(Amazon.com,简称亚马逊,NASDAQ:AMZN),是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图。是网络上最早开始经营电子商务的公司之一,亚马逊成立于1995年,一开始只经营网络的书籍销售业务,现在则扩及了范围相当广的其他产品,包括了DVD、音乐光碟、电脑、软件、电视游戏、电子产品、衣服、家具等等。

图1.2 亚马逊网

2

天津理工大学2011届本科毕业设计说明书

1.3 主要研究内容

本设计主要研究内容包括:分析国内外现有的电子商务系统、简述网站的工作原理和相关技术、设计交易网站的前台页面、设计交易网站的后台数据库。

主要实现用户对商品的购买、发布、修改,用户信息管理,订单处理流程,商品在网站上的显示,商品搜索,购物车,管理员对用户管理,商品管理,订单管理以及网站管理等。

做为 Web 站点的主流编程语言 JSP,在电子商务类网站中更能显现它的优势。JSP 能够在用户多次页面请求期间保持服务对象的状态,并且可以在 Servlet 和 JavaBean 的支持下完成更加强大的功能。所以,本设计采用 JSP 作为开发语言,利用 JSP 语言,JAVA 语言,数据库等知识实现了一个用户可以在线注册、登陆、查询商品、订购商品、退货、留言等功能的图书销售系统。

3

天津理工大学2011届本科毕业设计说明书

第二章

开发环境

2.1 开发环境

2.1.1 服务器软件环境

表2.1 服务器软件环境

分类 操作系统 数据库平台 应用平台 邮件系统

名称 Windows server MYSQL tomcat Foxmail 版本 2003 5.0 6.0 4.2.0 语种 简体中文 简体中文 简体中文 简体中文 2.1.2 服务器硬件环境

表2.2 服务器硬件环境

服务器 应用服务器、数据库服务器、邮件服务器、目录服务器 最低配置 1CPU:P4 2.0G Mem:512M HD:40G 推荐配置 1CPU:P4 2.8G Mem:2G HD:120G 4

天津理工大学2011届本科毕业设计说明书

2.1.3 开发机器软件环境

表2.3 开发机器软件环境

分类 操作系统 数据库平台 应用平台 开发平台

名称 Windows XP MYSQL tomcat JDK 版本 2000 5.0 6.0 1.6 语种 简体中文 简体中文 简体中文 英文 2.1.4 开发机器硬件环境

表2.4 开发机器硬件环境

分类 最低配置 1CPU:P4 2.0G 推荐配置 1CPU:P4 2.8G Mem:2G HD:120G 开发机器 Mem:512M HD:40G 2.2 技术架构综述

2.2.1 表现层

表现层(Presentation Tier)对应于MVC的V(View),负责系统的表示逻辑,主要响应前台用户的操作和提供适当数据的表现形式。具体地,表现层处理接收到的HTTP请求,从中抽取业务数据,进行合法性校验,调用对应的业务逻辑层的业务逻辑,根据返回结果,决定画面迁移,产生HTTP响应[2]。

2.2.2 业务层

业务层(Business Tier)体现系统的业务逻辑,是一组Stateless Session Bean。业务层起到了Business Delegate的作用,屏蔽了表示层,有利于重用业务模型。业务层可以进一步细分为:

5

天津理工大学2011届本科毕业设计说明书

1.业务控制层

业务控制层(Business Control Tier)主要包括各类业务过程控制组件。它负责封装业务过程逻辑,组装业务服务组件,并对事务进行控制和管理。

2.业务逻辑层

业务逻辑层(Business Logic Tier)主要包括各类业务服务组件(service component),封装了业务逻辑(Business logic)。它主要从业务的角度而不是具体需求操作的角度来设计。当涉及到具体的数据存储操作(主要是数据库访问),它委托给集成层去具体实现。业务逻辑层意识不到表示层的具体逻辑,而是通过约定的接口让表示层来调用。

3.业务模型

业务模型层(Business Model Tier)包括各种业务对象(Business Object,BO)和值对象。业务对象是根据业务领域知识和经验定义,包括属性、关系和相关的业务方法。在建模的时候,使用了组件化和面向对象的设计思想。

2.2.3 数据访问层

数据访问/集成层(Data Access/Integration Tier)负责进行数据访问及系统间交互操作。 数据访问组件负责与关系型数据库打交道,进行具体的增删改查(CRUD)操作。 系统集成代理/适配器组件负责与软件产品(例如报表工具)和外部系统(例如财务核算系统、银行接口系统、外汇交易系统等)打交道,交换数据和消息。数据访问/集成层组件意识不到业务层的具体逻辑,通过约定的接口让业务层来调用。

产品各模块的功能相对独立,模块除实现自身的业务逻辑外,同时对外提供业务接口,各模块之间的通信、调用将统一通过调用各模块的接口实现。接口间采用了低耦合度和高重用性的技术,在设计上做到易扩展、易修改,便于系统的升级与维护。

1.原则上接口对外提供的功能均是本模块的完整的业务逻辑,不允许接口独立提供逻辑。结构视图如下:

图2.1接口结构视图

6

天津理工大学2011届本科毕业设计说明书

2.接口与业务逻辑的依赖关系由代码交为容器处理,保持接口与业务逻辑在编译时的独立性,所有业务逻辑类实现自调用方法,对外提供统一入口,同时可通过此特性由执行器实现业务委托。

3.模块接口可利用业务逻辑类的自调用方法实现接口的动态加载,同时可实现接口的易扩展性,和易修改性。

2.2.4 采用MVC模式

MVC模式是一个用于将用户界面逻辑与业务逻辑分离开来的基础设计模式,它将数据处理、界面以及用户的行为控制分为:Model(模型)-View(视图)-Controller(控制器)。

Model:负责当前应用的数据获取与变更及相关的业务逻辑,可用JAVABEAN来体现。

View:负责显示信息,可以使用JSP、VELOCITY模板等技术。 Controller:负责收集转化用户的输入,常用一个SERVLET来实现。

图2.2 MVC模式

View和Controller都依赖于Model,但是Model既不依赖于View,也不依赖于Controller,这是分离的主要优点之一,这样Model可以单独的建立和测试以便于代码复用,View和Controller只需要Model提供数据,它们不会知道、也不会关心数据是存储在SQL Server还是Oracle数据库中或者别的什么地方。

2.2.5 WEB层框架Struts

Struts是一个在JSP Model2基础上实现的MVC框架,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性及可重用性[3]。Struts框架的体系结构如下图所示[4]:

7

天津理工大学2011届本科毕业设计说明书

图2.3 Struts框架的体系结构

下面就上图所示的体系结构图分析Struts框架中的MVC组件。

视图(view):视图部分主要由JSP页面组成,其中没有流程逻辑、业务逻辑和模型信息,只有标记。Struts自身包含了一组标记库(TagLib),这也是Struts的精华之一,灵活运用它们可以简化JSP页面的代码,提高开发效率。

控制器(controller):Struts中的Controller主要是其自身提供的ActionServlet。ActionServlet接收所有来自客户端的请求并根据配置文件(struts.xml)中的定义将控制转移到适当的Action对象。

模型(model):Struts没有定义具体Model层的实现,Model层通常是和业务逻辑紧密相关的,有持续化的要求。目前在商业领域和开源世界,都有一些优秀的工具可以为Model层的开发提供便利。

2.2.6 持久层框架Hibernate

O/R mapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。Hibernate是目前最为流行的O/R mapping框架,它也是开源软件,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作,它不仅负责从Java类到数据库表格以及来自Java数据类型的SQL数据类型的映射,而且还提供数据查询和检索能力,并能大大减少花在SQL和JDBC手工数据处理上的开发时间[5]。Hibernate工作原理如下图所示:

8

天津理工大学2011届本科毕业设计说明书

图2.4 Hibernate工作原理

Hibernate通过对JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制xml映射文件。

底层数据库的改变只需要简单地更改初始化配置文件(hibernate.cfg.xml或者hibernate.properties)即可,不会对应用程序产生影响。

Hibernate有自己的面向对象的查询语言HQL,HQL功能强大,支持目前大部分主流的数据库,如Oracle、DB2、MySQL、Microsoft SQL Server等,是目前应用最广泛的O/R映射工具。Hibernate为快速开发应用程序提供了底层的支持。

9

天津理工大学2011届本科毕业设计说明书

第三章

需求分析

3.1 系统需求

当今世界,一股势不可挡的电子商务浪潮席卷而来。图书作为一种最适合开展电子商务的商品,为网上书店成为一种典型的电子商务项目奠定了基础。现在,网上书店在国内如雨后春笋般涌现,方便读者购书的同时也为读者提供了更多选择。

3.2 功能需求

作为一个网上书店系统,基于B/S的设计结构要求具备其他管理系统最基本的特点与性能:良好的用户界面、基本的管理功能、较快的运行响应速度和稳定的系统等[6]。

3.2.1 功能设想

目前纷繁复杂的网上书店应运而生,不管是国内的还是国外的,基本都具备以下功能:商品资料、用户注册登录、会员管理、购物车、订单管理、广告管理、数据统计等等。

3.2.2 实现功能:

系统具有的具体模块有商品模块、用户模块、会员积分管理模块、购物车模块、订单管理模块、广告管理模块、统计模块等等。

其中:

1.商品模块主要包括商品资料的管理(增删改查)以及商品图片的管理等。 2.用户模块主要包括用户登录,注册,修改个人资料,找回密码等。 3.会员积分管理模块包括会员的等级,积分兑换等。 4.购物车模块主要包括存放商品等。 5.订单模块主要包括订单处理(增删改等)。 6.广告管理主要包括广告的增删改等。 7.数据统计模块包括:

(1)商品销售统计:按月份统计每个子产品分类的销量及分类下产品的销量。 (2)客户激活统计:根据用户的登陆次数及最后登陆时间,统计用户活跃度。 (3)供应商供货情况统计:按季度统计供应商的供货量。

8.邮件发送模块,包括注册邮件通知激活,定期为客户或供应商发送邮件。

10

天津理工大学2011届本科毕业设计说明书

3.3 性能需求

3.3.1 响应时间

一般来说,基于B/S下开发出来的管理系统的响应时间很大程度上依赖于用户的网络环境和该系统所在服务器的性能。因此,用户的网络环境和系统服务器性能两个因素都会对系统的响应时间有一定的影响。

3.3.2 稳定性

对一个管理系统来说,稳定性是很重要的,一个系统做得再精良,如果稳定性很差,那么它也不会被用户认可[7]。

但是本系统由于是采用B/S结构的,用户和网站管理人员在自己的电脑上,只需通过IE浏览器就可以轻松完成工作。

3.3.3 安全性

互联网是对全世界都开放的网络,任何单位或个人都可以在网上方便地传输和获取各种信息,互联网这种具有开放性、共享性、国际性的特点就对计算机网络安全提出了挑战。

网上书店系统为了保证用户交易的安全,一方面要求网站管理人员不要随意到网吧等公共场所登录管理系统,同时也要求用户确保自己计算机的安全。系统在一定范围内也对用户的密码修改做了保护,增强系统的安全性。

3.4 运行需求

3.4.1 硬件需求

两台或两台以上PC机;CPU:Pentium 133以上;内存:64M以上;硬盘:6G以上。

3.4.2 软件需求

服务器:OS:Windows 2000 以上版本;jdk1.6以上;Eclipse;SQL Server 2005;Apache Tomcat 6.0。

客户端:OS:Windows 2000 以上版本;IE等浏览器。

11

天津理工大学2011届本科毕业设计说明书

第四章

总体设计

4.1 系统架构

下图4.1为系统总体结构设计图:

图4.1 系统总体设计图

下图4.2为前台系统模设计图:

图4.2 前台系统模块设计图

12

天津理工大学2011届本科毕业设计说明书

下图4.3为后台服务功能设计图:

图4.3 后台服务功能设计图

4.2 系统数据库设计

4.2.1 数据库需求

根据系统的部署设计,数据库将部署到一部独立的计算机中。根据前期的分析,系统将有大量的数据存放入数据库。预留数据库空间400m,日增长约3m,日志空间1G,日增长5m[8]。

4.2.2 数据库逻辑设计

表设计中应注意的问题:

1.对于字符类型的字段,要仔细确认字段的可能长度。在mysql数据库设计中,一般来说,对于定长的字符数据字段,取字符类型(char),对于不定长的,取变长字符类型(varchar)。

2.对于以分类形式出现的字段,建议不使用字符类型,而使用数字类型。如:订单的状态等;如果用字符类型,则将这些字符串需要入库;如果使用数字类型分别用2、1、0代表,则订单的是数字信息,从程序编写的角度考虑,后者更好维护一些,主要体现在如果是多语言版本时,不需要在程序中将这些字符串信息进行判断处理。

13

天津理工大学2011届本科毕业设计说明书

表4.1 数据库设计

数据库表名 orderitem t_ad t_area t_book t_category t_counter t_disrank t_order table_admin table_article table_article_type table_collection table_friend_link table_message table_message_reply table_message_tyjpe table_online table_plan table_usre table_wuliu 中文名 订单项 广告列表 地区列表 书籍列表 书籍分类 计数机 等级列表 订单列表 管理员信息 文章列表 文章类型 收藏列表 友情链接列表 用户留言 留言回复 留言类型 在线资源 任务计划 用户 物流信息 说明 一个订单可以有多个订单项 保存广告信息 保存国内所有的城市信息 保存所有的书籍信息 保存所有的书籍分类信息 保存每天的顾客访问量 记录用户需要的积分和等级 记录用户的订单信息 记录所有的管理信息 记录所有的本站文章 记录所有的文章类型关系 记录用户收藏的书籍信息 记录所有的友情链接信息 记录所有的留言信息 记录管理员的回复 记录所有的留言信息类型 记录在线资源信息 记录可能的任务和计划 记录用户的信息 记录物流配送地点信息 4.2.3 数据库E-R图

下图4.4为系统总体设计E-R图:

14

天津理工大学2011届本科毕业设计说明书

图4.4 数据库E-R图

15

天津理工大学2011届本科毕业设计说明书

第五章

详细设计

5.1 前台模块功能详细设计

5.1.1 游客注册功能实现

1.游客注册管理模块类图:

图5.1 游客注册管理模块类图

16

天津理工大学2011届本科毕业设计说明书

2.游客注册管理模块时序图[9]:

图5.2游客注册管理模块时序图

3.时序图展示内容说明:

(1)User通过JSP页面进行填写并提交注册信息。

(2)JSP页面通过post方式和控制器UserAction交互,提交注册会员请求。 (3)UserAction调用UserBizImpl类的register()函数进行注册。

(4)UserBizImpl类调用UserDaoImpl类的queryUser()函数检查用户名是否有效[10]。 (5)queryUser()方法返回true,表明用户名可用。 (6)new 方法生成一个新的User对象。

(7)UserBizImpl类调用UerDaoImpl类的insertUser()方法将新的User插入数据库。 (8)UserAction控制器将注册成功的信息(response)返回给JSP页面。

附加说明:拓展用例场景,注册用户失败的情况:在进行用户名有效性检查时,发现用户名已经被注册,方法返回false,结果返回“该用户名已经被注册,注册失败”的信息给用户。

17

天津理工大学2011届本科毕业设计说明书

5.1.2 游客/会员搜索功能实现

1.搜索图书类图:

图5.3搜索图书类图

18

天津理工大学2011届本科毕业设计说明书

2.查询模块时序图:

图5.4查询模块时序图

3.时序图展示内容说明:

(1)User通过JSP页面选择书籍类别、输入查询关键字进行查询操作。 (2)JSP页面通过post方式和控制器SearchAction交互,提交用户查询请求。 (3)SearchAction调用SearchBizImpl类的SearchByKeyWord()函数进行查询。 (4)SearchBizImpl类调用SearchDaoImpl类的queryByKeyWord()函数完成查询。 (5)将查询结果封装到User类中。 (6)将查询结果返回给SearchAction类。

(7)SearchAction类将结果渲染到jsp视图中返回给用户。

19

天津理工大学2011届本科毕业设计说明书

5.1.3 游客/会员购物车功能实现

1.购物车模块类图:

图5.5购物车模块类图

20

天津理工大学2011届本科毕业设计说明书

2.购物车模块时序图:

图5.6购物车模块时序图

3.时序图展示内容叙述:

(1)用户选中喜欢的书籍后,点击添加到购物车请求。

(2)JSP页面通过post方式和控制器CartAction交互,提交用户查询请求[11]。 (3)生成一个新的Cart对象。

(4)CartAction类调用业务逻辑类CartBizImpl的session.addCart()方法将书籍添加的用户session缓存中。

(5)调用CartAction将添加成功的信息返回给用户[12]。

21

天津理工大学2011届本科毕业设计说明书

5.1.4 会员登录功能实现

1.游客登录管理模块类图:

图5.7游客登录管理模块类图

22

天津理工大学2011届本科毕业设计说明书

2.游客登录管理模块时序图:

图5.8游客登录管理模块时序图

3.时序图展示内容说明:

(1)会员输入用户名和密码,点击请求登录。

(2)Jsp页面通过post方式进行提交数据,控制器UserAction调用UserLogin()方法进行处理。

(3)调用UseBizImpl中的CheckUser()方法进行用户名和密码有效性验证[13]。 (4)调用UserDaoImpl的queryUser()方法进行数据库查询。 (5)若用户名和密码正确,返回true。

(6)UserAction控制器向用户显示登录成功信息。

23

天津理工大学2011届本科毕业设计说明书

5.1.5 会员留言评价功能实现

1.留言评价模块类图:

图5.9留言评价模块类图

2.时序图展示内容叙述: (1)会员填写留言信息。 (2)JSP通过post提交。

(3)控制器MessageAction调用AddMessage()方法处理请求。 (4)继续调用MessageBizImpl的doAddMessage()进行处理。 (5)new Message()生成预购信息对象。

(6)调用MessageDaoImpl的InsertMessage()向数据库插入留言记录。

24

天津理工大学2011届本科毕业设计说明书

(7)返回插入成功。 (8)返回添加留言成功。

(9)控制器调用disPatch()函数,将response返回给JSP页面信息以jsp方式显示给会员。

5.2 后台模块功能详细设计

5.2.1 管理员登录管理功能实现

1.管理员登录管理模块时序图:

图5.10管理员登录管理模块时序图

25

天津理工大学2011届本科毕业设计说明书

2.时序图展示内容说明:

(1)管理员通过JSP页面进行登录操作。

(2)JSP页面通过post方式和控制器UserAction交互,提交订单添加请求。 (3)UserAction调用UserBizImpl类的CheckUser()函数进行添加。 (4)UserBizImpl类调用UserDaoImpl类的queryUser()函数完成查询。 (5)UserDaoImpl类通过UserVO类获得User类的数据封装。 (6)UserDaoImpl类返回true。

(7)UserAction调用disPatch()函数,将response返回给JSP页面。

5.2.2 书籍管理功能实现

1.书籍管理模块类图:

图5.11书籍管理模块类图

26

天津理工大学2011届本科毕业设计说明书

2.书籍管理模块时序图:

图5.12书籍管理模块时序图

3.时序图展示内容说明:

(1)管理员通过JSP页面进行书籍查询操作。

(2)JSP页面通过post方式和控制器Servlet交互,提交查询请求。 (3)BookAction调用BookBizImpl类的add_book()函数进行查询。 (4)BookBizImpl类调用BookDaoImpl类的insertBook()函数完成查询。 (5)BookDaoImpl类通过BookVO类获得Book类的数据封装。 (6)返回添加成功信息给BookAction。

(7)BookAction调用disPatch()函数,将response返回给JSP页面。

27

天津理工大学2011届本科毕业设计说明书

5.2.3 订单管理功能实现

1.订单管理模块详细类图:

图5.13订单管理模块详细类图

28

天津理工大学2011届本科毕业设计说明书

2.订单管理模块时序图:

图5.14订单管理模块时序图

3.时序图展示内容说明:

(1)管理员通过JSP页面进行订单查询操作。

(2)JSP页面通过post方式和控制器Servlet交互,提交查询请求。 (3)OrderAction调用OrderBizImpl类的add_Order()函数进行查询。 (4)OrderBizImpl类调用OrderDaoImpl类的insertOrder()函数完成查询。 (5)OrderDaoImpl类通过OrderVO类获得Order类的数据封装。 (6)返回添加成功信息给OrderAction。

(7)OrderAction调用disPatch()函数,将response返回给JSP页面。

29

天津理工大学2011届本科毕业设计说明书

5.2.4 管理员管理功能实现

1.管理员管理模块详细类图:

图5.15管理员管理模块详细类图

30

天津理工大学2011届本科毕业设计说明书

2.管理员管理模块时序图:

图5.16管理员管理模块时序图

3.时序图展示内容说明:

(1)管理员通过JSP页面进行管理员查询操作。

(2)JSP页面通过post方式和控制器Servlet交互,提交查询请求。 (3)AdminAction调用AdminBizImpl类的add_Admin()函数进行查询。 (4)AdminBizImpl类调用AdminDaoImpl类的insertAdmin()函数完成查询。 (5)AdminDaoImpl类通过AdminVO类获得Admin类的数据封装。 (6)返回添加成功信息给AdminAction。

(7)AdminAction调用disPatch()函数,将response返回给JSP页面。

31

天津理工大学2011届本科毕业设计说明书

5.2.5 网站基本信息管理功能实现

1.网站基本信息管理模块类图:

图5.17网站基本信息管理模块类图

32

天津理工大学2011届本科毕业设计说明书

2.网站基本信息管理模块时序图:

图5.18网站基本信息管理模块时序图

3.时序图展示内容叙述:

(1)用户进入CURD页面,输入查询条件并提交。

(2)查询参数通过form以POST形式传递给后台服务器上的ExcOrderServlet。 (3)ExcOrderServlet根据获取的参数condition=”query”判断出查询命令,生成查询SQL语句,调用ExcOrderService的查询方法query(sql,currentpage),此处的currentpage=1或者由javascript得到的currentpage值。

(4)ExcOrderService 获取和建立数据库的连接,调用ExcOrderDAO的方法query(conn,sql,currentpage)。

(5)ExcOrderDAO依据传递的sql语句和currentpage生成新的符合显示条件的SQL语句,查询数据库,将查询结果集(待显示的)封装进由ExcOrderDAO对象组成的LIST中。

(6)LIST 传递给Pagehelp 对象。

(7)ExcOrderDAO返回装载了LIST的pagehelp对象。 (8)pagehelp对象返回到ExcOrderService中。 (9)pagehelp对象返回到ExcOrderServlet中。 (10)pagehelp对象返回到ExcOrder.jsp显示页面。

33

天津理工大学2011届本科毕业设计说明书

(11)ExcOrderServlet获取参数condition=\,跳转到ExcOrder_add.jsp页面。 (12)获取用户输入的添加信息,生成sql添加语句,调用add(sql)。

(13)获取Connection对象conn,调用ExcOrderDAO中的add(conn,sql),添加到数据库中。

(14)ExcOrderServlet获取参数condition=\,获取用户输入的删除信息,生成sql添加语句,调用add(sql)。

(15)获取Connection对象conn,调用ExcOrderDAO中的add(conn,sql),从数据库中删除相关信息。

(16)ExcOrderServlet获取参数condition=\,获取用户输入的更新信息,生成sql添加语句,调用add(sql)。

(17)获取Connection对象conn,调用ExcOrderDAO中的add(conn,sql),更新数据库中信息。

34

天津理工大学2011届本科毕业设计说明书

第六章

系统测试

6.1 集成测试

6.1.1 测试内容

1.软件模块之间的接口测试,验证软件模块是否与其他应用的软件模块存在正确的数据传递。

2.全局数据结构测试,边界测试。

6.1.2 测试要求

1.采用非渐增式测试方法进行集成测试。

2.确认软件模块无错误连接,模块之间以及模块与平台之间可以无障碍交互。

6.1.3 进入准则

软件进入集成测试阶段的准则:软件按照功能设计实现完毕并通过单元测试。

6.1.4 退出准则

软件退出集成测试阶段的准则: 1.软件单元无错误的连接。 2.满足各种功能需求、性能要求。 3.能够对错误输入具有妥善的处理能力。

4.在集成测试中发现的错误已经得到修改并通过测试。 5.完成软件集成测试报告。

35

天津理工大学2011届本科毕业设计说明书

6.2 压力测试

压力测试采用工具LoadRunner作为压力测试工具。该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。

6.2.1 测试内容

可以从以下几个方面从压力测试角度分析应用程序性能,并生成相应报表:

1.Number of hits vs. Users:随着虚拟用户的增加,服务器在规定时间内所能处理的总点击数。

2.Requests per second vs. Users:随着虚拟用户的增加,服务器在规定时间内所能处理的每秒请求数。

3.Errors vs. Time:随着模拟访问时间的延续,出现错误的数量。 4.Errors vs. Users:随着虚拟用户的增加,出现错误的数量。

5.Performance Distribution vs. Users:针对虚拟用户数的应用性能分布情况,包括服务器的内存、CPU使用情况等。

6.Performance vs. Users:随着虚拟用户的变化,应用性能的变化等。

6.2.2 测试要求

1.采用压力工具进行测试。

2.压力测试在软件系统经过构造之后,功能测试相对稳定之后进行。 3.压力测试要尽量考虑到用户对软件系统的压力的需求。

6.2.3 进入准则

平台系统的功能测试基本完成之后可以进行压力测试。

6.2.4 退出准则

压力测试的指标结果达到系统设计预计的目标,并满足用户的实际压力需求。

36

天津理工大学2011届本科毕业设计说明书

6.3 重点功能测试用例及结果

6.3.1 图书搜索

1.测试用例

表6.1 图书搜索的测试用例

Total_01 角色 测试准备/前提条件 操作步骤 用户 会员或者游客 无 1、输入搜索关键词 2、点击搜索 预期结果(输出) 1、输入正确信息时返回符合信息书籍 2、输入错误信息时返回空表 3、输入乱码或者超长编号时提示用户非法输入 4、不输入信息查询全部书籍、 输入样例 A 搜索 @#¥%????& B 搜索 独唱团 C 搜索

37

天津理工大学2011届本科毕业设计说明书

2.测试结果

图6.1 图书搜索的测试结果

6.3.2 将书籍加入购物车

1.测试用例

表6.2 将书籍加入购物车的测试用例

Total_01 角色 测试准备/前提条件 操作步骤 用户 会员或者游客 无 1、 选中商品 2、 加入到购物车中 预期结果(输出) 输入样例 商品被添加到购物车中 商品名称 属性 市场价 本店价 购买数量 小计 操作 哈比呢此 1111 450.0 90.0 1 90.0 移除

38

天津理工大学2011届本科毕业设计说明书

2.测试结果

图6.2 将图书加入购物车的测试结果

6.3.3 会员留言

1.测试用例

表6.3 会员留言的测试用例

Total_01 角色 测试准备/前提条件 操作步骤 无 1、 2、 点击选中商品 对商品进行留言评价 预期结果(输出) 输入样例 留言被成功提交 [留言] zc:评论了 asd asdasdasdasd

39

天津理工大学2011届本科毕业设计说明书

2.测试结果

图6.3 会员留言的测试结果

6.3.4 添加书籍

1.测试用例

表6.4 添加书籍的测试用例

Total_04 角色 测试准备/前提条件 操作步骤 添加书籍 管理员 成功登陆 1、 登陆书籍信息界面 2、 点击书籍添加 3、 分别输入三种情况的信息 (1)缺少信息 (2)完整正确信息 (3)空白信息 4、 点击提交 5、 点击 绑定 预期结果(输出) 1. 信息完全正确时添加成功 2. 缺少时提示用户添加完整信息 3. 添加乱码或者超长字符时提示用户添加失败,重新添加 输入样例 2.测试结果

40

天津理工大学2011届本科毕业设计说明书

图6.4 添加书籍的测试结果

6.3.5 审核订单

1.测试用例

表6.5 审核订单的测试用例

Total_12 角色 测试准备/前提条件 操作步骤 审核订单 管理员 登录成功 1、进入审核订单界面 2、显示出需要审核的订单 3、点击审核 4、审核通过,选择下拉列表中的已审订单,提交订单;拒绝订单,选择下拉列表中的驳回或拒绝选项。 预期结果(输出) 1、审核通过 2、审核失败 输入样例 A 合法信息 B 订单内容不合格

2.测试结果

41

天津理工大学2011届本科毕业设计说明书

图6.5 审核订单的测试结果

42

天津理工大学2011届本科毕业设计说明书

结束语

本设计首先对课题的背景和国内外的发展情况作出全面的介绍,然后对本程序的开发环境进行了介绍。

在设计程序之前,先进行了可行性分析,确保程序是可行的。然后是需求分析,确定程序有什么需求。最后是总体设计,确定程序的流程和具体实现功能。然后对程序进行具体的开发,包括页面的设计、所需要的类的设计和各个模块的开发。最后是对程序的各项功能进行测试,在整个测试过程中,程序运行正常,没有出现任何异常,能预见的所有情况均能正常处理,大体功能均正常完成。

在几个月的实践开发过程中,不仅学习了专业知识,也培养了自己的综合能力,以从全局考虑,局部探讨的思想,将复杂问题简单化、抽象化的能力。网上书店作为电子商务的一部分,我所设计的系统能够实现其基本功能,使自己对新时代的产物电子商务有了更加深入的了解,对以后的工作和学习都有巨大的帮助。

我所设计的网上书店系统还有未完善的地方,由于自己的专业技术能力有限,有些地方还没有突破和解决,特别是在网络安全方面还需要进一步的改善。

43

天津理工大学2011届本科毕业设计说明书

参考文献

[1] 蔡剑,叶强,廖明玮著. 电子商务案例分析. 2011 [2] Chad Michael Davis.Struts 2 in Action.2010 [3] 李刚著.Struts 2.1权威指南.2009

[4] Kurniawan,B著.杨涛译.深入浅出Struts 2.2009 [5] 孙卫琴著.精通Hibernate(第二版). 2009 [6] 计文柯著.Spring技术内幕.2010

[7] Bruce Eckel.Thinking in Java Fouth Edition. 2009 [8] 施瓦茨著.王小东,李军,康建勋译.高性能MySQL. 2010 [9] 巴拉赫,兰宝著,车皓阳等UML面向对象建模与设计.2006

[10] Joshua Bloch著, 杨春花,俞黎敏译.Effective Java中文版(第二版). 2010 [11] Bear Bibeault,Yehuda Katz著.陈宁译.jQuery实战.2007 [12] 费拉纳提著,李强译. JavaScript权威指南(第五版) .2007 [13] Keith,J,桑布尔斯著. JavaScript DOM编程艺术(第2版) .2011

44

天津理工大学2011届本科毕业设计说明书

附 录

1.基于Hibernate游标的分页实现

//利用游标查询

private PageUtil handleQuery(Query query, Map params) {

ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY);//定义游标结果集

int size;//每页数据量

int curPage;//当前第几页 if (params != null && params.containsKey(PageUtil.SIZE) && params.containsKey(PageUtil.CURPAGE)) { size =

Integer.parseInt(params.get(PageUtil.SIZE).toString());

curPage =

Integer.parseInt(params.get(PageUtil.CURPAGE).toString());

} else { size = 10; curPage = 1; }

位记录行数

List data = new ArrayList();//返回数据集 int count = 0;//记录总数计数器 if (curPage > 1) { }

while (results.next()) { Object value = results.get(0); count++;

data.add((T) value);//将记录添加到集合中 if (count == size) {

results.setRowNumber((curPage - 1) * size - 1);//定

break;//到达每页记录数跳出循环 } }

if (!results.isLast()) { results.last(); }

45

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

Top