javaweb网上花店销售系统的设计与实现

2024-01-23 20:50

本文主要是介绍javaweb网上花店销售系统的设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网上花店销售系统的设计与实现

论文题目

网上花店销售系统的设计与实现

Thesis Topic

Design and implementation of online florist sales system

需要源码和调试运行服务可私

摘 要

随着时代的快速发展,我们的生活已经离不开计算机网络,而电子商务的快速发展正在改变着人们的生活方式。随着各种网上购物平台的不断兴起,人们早已习惯了不用出门就买到自己需要的东西。但是针对鲜花销售这方面的网络平台还很少,因此设计一个网上花店销售系统很有前景。

网上花店销售系统采用JSP+Servlet+JavaBean的MVC模式,将数据对象、业务逻辑以及用户界面分离。该系统分为用户和管理员两个角色。用户注册登录后可以浏览鲜花,浏览公告,购买鲜花,管理员登录后可以对系统进行管理和维护。

网上花店销售系统对于用户来说操作方便,满足了用户随时随地购买鲜花的需求,不仅为用户节省了时间,还提高了用户的购买效率。对于花店老板而言,不仅提高了销售效率还降低了时间和人工成本。

关键词 销售系统;JSP;MVC;网上花店

Design and implementation of online florist sales system

Abstract

With the rapid development of the times, our lives have been inseparable from the computer network, and the rapid development of e-commerce is changing people's way of life. With the continuous rise of a variety of online shopping platform, people have long been accustomed to buy their own needs do not have to go out. But for the sale of flowers on the network platform is still very small, so the design of an online florist sales system is promising.

Online flower florist system using JSP + Servlet + Javabean MVC model, the data object, business logic and user interface are separate. The system includes two roles: user and administrator. After registering, user can browse the flowers, browse the announcement, buy flowers, Administrators can manage and maintain the system after logging.

Online florist sales system for the user is easy to operate, It fulfills the needs of users to buy flowers anytime and anywhere.This system not only saves user's time, but also improve the user's purchasing efficiency. For the flower shop owner, this system not only improve the sales efficiency but also reduce the time and labor costs.

Key words: sales system; JSP; MVC; online florist

目 录

摘 要 I

Abstract II

1 绪论 1

1.1 现状分析 1

1.2 研究意义 1

1.3 研究方法 1

2 系统的开发环境及技术简介 3

2.1 系统开发环境简介 3

2.2 系统开发技术简介 3

3 可行性研究 7

3.1 经济可行性 7

3.2 技术可行性 7

3.3 操作可行性 7

3.4 法律可行性 7

4 需求分析 9

4.1 数据描述 9

4.1.1 数据流图 9

4.1.2 数据字典 11

4.1.3 系统IPO图 12

4.2 功能需求 12

4.2.1 功能划分 12

4.2.2 功能描述 13

4.3 性能需求 14

4.4 运行需求 14

4.5 其他需求 15

5 总体设计 16

5.1 系统功能模块设计 16

5.2 数据库设计 18

5.2.1 概念结构设计 18

5.2.2 逻辑结构设计 21

6 详细设计与实现 24

6.1 系统对象的设计与实现 24

6.2 系统首页的设计与实现 25

6.3 系统前台功能的设计与实现 25

6.3.1 用户注册模块的设计与实现 25

6.3.2 用户登录模块的设计与实现 27

6.3.3 公告浏览模块的设计与实现 28

6.3.4 鲜花列表模块的设计与实现 29

6.3.5 用户购物车模块的设计与实现 30

6.3.6 用户订单模块的设计与实现 31

6.3.7 用户信息管理模块的设计与实现 31

6.4 系统后台功能的设计与实现 32

6.4.1 系统后台页面的设计与实现 32

6.4.2 分类管理功能的设计与实现 33

6.4.3 鲜花管理功能的设计与实现 33

6.4.4 公告管理功能的设计与实现 33

6.4.5 订单管理功能的设计与实现 34

6.4.6 用户管理功能的设计与实现 34

7 系统的调试与测试 36

7.1 程序调试 36

7.2 程序测试 36

7.2.1 测试的内容 36

7.2.2 测试用例 36

7.2.3 测试结果 38

结论 44

参考文献 45

致谢 46

外文原文 47

中文译文 53

绪论

现状分析

鲜花销售行业最初是鲜花销售商个体进行实体销售,后来经过发展形成了鲜花进入批发市场再进行分销的形式。传统的鲜花销售模式是以实体花店为主体,直到后来由于网络的迅速发展,电子商务的介入使鲜花销售发生了很大的变化。随着人们生活水平的提高以及对生活品质的要求,鲜花销售行业发展的前景也越来越好。目前,很多大的鲜花销售品牌已经开始了鲜花的网上销售,方便了消费者购买鲜花的需求,节约了大量的时间。但很多个体鲜花销售商的鲜花销售依然不够景气,还停留在传统花店的状态。这样不仅消费者必须亲自进入花店进行购买,再加上鲜花包装等一系列工序,浪费了大量的时间,而且鲜花销售商也会由于实体销售的缺陷降低销售额。另外,传统花店销售由于地域性的约束和客户范围的划分,使得传统花店的客户受到限制。因此发展网上花店销售系统就显得比较重要,也比较有前景。这样能扩展鲜花消费市场,实现利润增长。网上花店销售系统的实现不仅缩短了鲜花上市时间,节约了成本,方便了消费者购买,方便管理员管理,节约了大量时间和大量的人力物力,还增强了人们之间的感情交流等。

研究意义

传统的实体鲜花销售存在很多的限制,该系统致力于满足用户随时随地在网上挑选购买鲜花的需求。对于花店老板而言,可以提高工作效率,使网上鲜花管理工作系统化、规范化、自动化,提高整个购买鲜花流程的效率,使总体水平上升到一个新的高度。与传统花店相比,网上花店有其不可比拟的优势。首先网上花店的运营成本较低,职员人数较少,也不需要很大的运营场地。其次网上花店有传播信息迅速、容量大、范围广、可交互等特点。不仅如此,网上花店的建立,可以更好的满足消费者的需求。通过这种网络工具为消费者带来方便,同时促进浏览此网站用户的购买欲,提高销售效率。

网上花店系统给用户提供了一整套完整的网上鲜花订购流程,使用户足不出户直接进行网上购物,给消费者带来了很大的方便。随着人类社会的发展,人际交往变得越来越重要。在这个繁忙的社会,人们很少有时间能见面交流感情,在特殊的日子里送给好友一束鲜花是用于联络感情的很好方式,因此受到广大消费者的欢迎。与此同时,商家也不再需要在商店里被动的等待顾客,完全可以坐在家里就轻松的卖出自己的商品,获得利润。计算机的存储与快速查询功能大大提高了网上花店管理的效率,并且还提高了查询并购买鲜花的精确度。方便快速的操作,不仅可减少从前的漏洞,还可以减少因工作的冗余出现的错误,更重要的是该系统的操作非常简单,推广起来比较容易。

研究方法

网上花店销售系统将采用瀑布模型的方式,先对目前鲜花销售的情况进行概述,然后对开发系统的环境以及技术进行简要介绍,之后对开发网上花店销售系统进行可行性分析、需求分析、总体设计、详细设计、编程实现以及测试直到实现最终理想的效果。本文将详细阐述整个实现过程。

系统的开发环境及技术简介

系统开发环境简介

1、MyEclipse简介

MyEclipse企业级工作平台作为对Eclipse IDE的扩展,它的功能体现在可以在数据库和JavaEE的开发、发布、应用程序服务器的整合方面极大的提高工作效率。MyEclipse几乎包括了目前所有主流开源产品的专属Eclipse开发工具,它作为功能丰富的JavaEE集成开发环境,在功能方面包括了完备的编码、调试、测试和发布,十分完整地支持HTML、Struts 2、Spring、JSP、CSS、JavaScript、Servlet、Hibernate、JDBC数据库链接工具等。JavaEE模型;Web开发工具;EJB开发工具;应用程序服务器的连接器;JavaEE项目部署服务;数据库服务;MyEclipse整合帮助是MyEclipse的7类特征。在Eclipse中,对于以上每一种功能上的类别都存在相应的功能部件,以及一系列可以用来实现它们的插件。MyEclipse这种结构上的模块化为它带来了很多优势,可以让开发人员在基本不影响其他模块的前提下,可以单独的扩展和升级任一模块。

2、Tomcat简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器。运行时占用的系统资源小;扩展性好;支持负载平衡与邮件服务等开发应用系统常用的功能这几个特点使得其很受编程人员的喜欢。任何一个编程人员都可以更改它或在其中加入新的功能,因此Tomcat服务器还在不断的改进和完善中。 Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是调试和开发JSP程序的第一选择。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat时,它实际上是作为一个与Apache独立的进程单独运行的。

3、SQL Server简介

SQL Server 是一个关系数据库管理系统,常用的有SQL Server 2000,SQL Server 2005,SQL Server 2008等版本。SQL Server 2008是微软公司2008年推出的数据库产品。它紧密结合了微软公司的各类主要产品,与Windows操作系统、Office办公软件、Visual Studio开发平台的最新技术进行了衔接。其各项指标在同类产品中都堪称优秀,而且图形化的管理界面十分便于学习与使用。SQL Server 2008具有很多新的特点,它是可信任的,使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。它是高效的,使得公司可以降低开发和管理他们的数据基础设施的时间和成本。它是智能的,提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。

系统开发技术简介

1、JSP简介

JSP全称Java Server Pages,是一种动态网页开发技术。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Servlet和JSP配合才能完成。JSP具备了Java技术简单易用的特点,完全地面向对象,具有平台无关性、主要面向因特网且安全可靠。简单的理解,JSP就是HTML页面+Java代码,但是JSP中能写的内容还不止这些,可以包含HTML标签,CSS,JavaScript,JAVA代码,EL表达式,引入并使用其他标签库,例如JSTL标签库、Struts 2标签库等。浏览器可以直接运行HTML页面,但是不能直接运行JSP页面,JSP是需要在拥有JSP引擎的服务器中运行的,例如Tomcat服务器。所以JSP是运行在服务器端的,运行完之后,把动态生成的HTML页面再使用IO流写回给浏览器,浏览器接收并且解析后再呈现出来效果。JSP的生命周期分为编译阶段,初始化阶段,执行阶段,销毁阶段。

2、Javabean简介

JavaBean 是一种Java语言写成的可重用组件。为了编写JavaBean,类必须是特定的和公共的,并且具有无参数的构造器。JavaBean通过提供一个符合一致设计模式的公共方法公开内部域的成员属性。众所周知,属性名与此模式相一致,其他java类可以通过自省机制发现和操纵这些JavaBean的属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JavaBean可分为两种:一种是有用户界面的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。JavaBean是可复用的平台独立的软件组件,开发者可以在软件构造器工具中对其直接进行可视化操作。一个JavaBean由3部分组成:属性、方法、事件。

3、Servlet简介

Servlet是一个基于JAVA技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容,Servlet是平台独立的Java类,编写一个Servlet实际上就是按照Servlet规范编写一个Java类,Servlet被编译为平台独立的字节码,可以被动态地加载到支持 Java技术的Web服务器中运行。Servlet容器也叫Servlet引擎,是Web服务器或者应用服务器的一部分,用户在发送请求和响应之上提供网络服务,Servlet不能独立运行,必须被部署到Servlet容器中,由容器实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包含和管理Servlet。Servlet是单实例多线程的运行方式,每个请求在一个独立的线程中运行,提供服务的Servlet实例只有一个Servlet 具有可升级性,能响应更多的请求,因为Servlet容器使用一个线程而不是操作系统进程,线程占用的资源要小,Servlet使用标准的API,被更多的Web服务器所支持。Servlet使用Java语言编写,拥有更多的Java程序语言的优点,Servlet可以访问Java平台丰富的类库,使得各种应用的开发更为容易,Servlet容器给Servlet提供额外的功能。

4、JDBC简介

对系统来说数据库连接应该说是最为重要的部分,Java中连接数据库的技术是JDBC。JDBC作为一种用于执行SQL语句的Java API,具备为多种关系数据库提供统一访问的功能,JDBC是由一组用Java语言编写的类和接口组成的。为了达到可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序的目的,JDBC提供了一种基准。众所周知,JDBC API、JDBC驱动程序和JDBC驱动程序管理器是JDBC的三个部分,即可以通过Java.sql包来提供JDBC API,JDBC API上仅仅设计为了利用数据库而提供的类的接口,提供JDBC驱动的软件商来实际完成这个接口。当JDBC API制作的程序进行数据调用时,JDBC驱动发挥它的作用,实际连接数据库并且进行相应的处理, JDBC API的接口类也由JDBC驱动提供。

两层模型(C/S)和三层模型(B/S)同样都是JDBC API支持数据库访问的。在两层模型(C/S)中,Java Applet或应用程序与数据库会直接进行对话,与所访问的特定数据库管理系统进行通讯时需要一个JDBC驱动程序,数据库收到被用户送来的SQL语句,而用户将会收到其被送回的结果。客户机/服务器配置指的是数据库可以位于另一台计算机上,用户通过网络连接到上面。其中客户机就是我们平时常说的用户的计算机,而服务器是我们常说的提供数据库的计算机,网络是Internet。在三层模型(B/S)中,服务的"中间层"先是收到命令,然后由服务的“中间层”将SQL语句交给数据库,数据库需要对SQL语句进行处理并将所得结果送回到中间层,最后用户将会收到中间层所得的结果。

JDBC是用于直接调用SQL命令的“低级”接口。它在这方面的功能极佳,相比其它的数据库,它连接API易于使用,与此同时它也被设计成为了一种基础接口,高级接口和工具可以建立在它之上。很明显,JDBC具有如下优点:JDBC支持不同的关系数据库,JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数,可以将常用的JDBC数据库连接封装成一个类等。

  1. SQL语言简介

SQL全称是结构化查询语言(Structured Query Language),SQL语言结构简洁,功能强大,简单易学。SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。SQL语言不仅是一个功能强大的通用的关系数据库标准语言,而且还是一种介于关系演算和代数之间的语言,其功能之强大体现在查询、操纵、定义和控制这四个方面。SQL语言包含以下六个部分:

(1)数据查询语言

(2)数据操作语言

(3)事务处理语言

(4)数据控制语言

(5)数据定义语言

(6)指针控制语言

作为非过程化的语言,SQL一次只对一个记录进行处理,自动对数据提供导航。SQL不对单个记录进行操作,它不仅可对记录集进行操作,还允许用户在高层的数据结构上工作。对于所有SQL语句,输入的是接受集合,输出的是返回集合。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL可用于所有用户的DB活动模型,这里所指的用户包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员以及许多其它类型的终端用户等。基本的SQL命令简单易学,一般情况下只需很少时间就能学会,即使是高级的命令在几天也内便可掌握。SQL语言则将所有任务统一在了一种语言中。用户之所以可将使用SQL的技能从一个关系数据库管理系统转到另一个,是因为所有主要的关系数据库管理系统都支持SQL语言。

可行性研究

经济可行性

经济可行性,主要考虑的是系统开发涉及到的一些相关费用问题,企业是否可以支撑这些费用,通常来分析,软件系统开发主要包括的费用有设备购买费用,人员开发成本,设备维护更新成本,以及其他零散费用等,这些费用中,人员开发费用相对较高,但是本次系统开发规模小,周期短,所设计的开发费用不高,因此企业不必担心此方面问题。再则就是设备购买费用,一般保持电脑,交换机,网络,服务器等,这些都是一次性购买,费用也不高。因此,对于企业来讲,问题不大,经济上可以接受。通过对现已存在的相关系统进行调查,开发该系统所需的相关资料可以由此采集。同时所需的应用软件、系统硬件也便于获得,因此该系统开发成本不高。在引进该系统之后,不可否认,与传统方式相比可以节省不少人力、物力及财力,因为它的确具有效率高、质量高、成本低以及实用性高的特点。所以,站在经济的角度来讲,网上花店销售系统被认定为是可行的。

技术可行性

技术可行性主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。首先,系统采用的是JAVA开发技术,这项技术比较全面,实用广泛,没有实现不了的功能需求;其次该网站采用了SQL Server2008数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能,它的灵活性、安全性和易用性为数据库编程提供了良好的条件;最后开发工具,采用的是MyEclipse,工具中具有框架函数等,可以直接引用。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

操作可行性

操作可行性主要是考虑系统完成后,用户使用的是否便利,是否可以达到用户的操作要求。该系统界面设计充分考虑浏览用户的习惯,鲜花信息浏览,公告浏览,鲜花搜索,用户注册,用户登录,用户挑选鲜花加入购物车,用户将购物车的鲜花生成订单,用户查看订单,用户管理个人信息等功能操作方便。除此之外,对于管理员而言,管理界面一目了然,对于系统的管理和维护也很容易。更重要的是所有网页设计清新、简洁、合理,不会让用户感到视觉疲劳,可操作性强。

法律可行性

法律可行性主要是看新系统的开发会不会在社会上或政治上引起侵权,有无违法问

题。网上花店销售系统开发过程中所有技术资料都是合法的;在开发过程中是不存在知识产权问题的;未抄袭其他系统,故不存在侵犯版权问题;开发过程中不会涉及任何法律责任。

需求分析

数据描述

数据流图

数据流图简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。网上花店销售系统的数据流图如图4-1所示。

图4-1 系统数据流图

在该数据流图中方框表示数据的原点或终点,原点和终点是系统之外的实体。椭圆表示变换数据的处理,也称之为加工,它对数据流进行某些操作或变换。箭头表示数据流,数据流是数据在系统中的运行方向。双杠表示数据存储文件,是用来暂时存储数据的。网上花店销售系统的实体有两个,分别为用户和管理员,用户对应于在网上购买鲜花的顾客,管理员对应于网上花店的老板。此系统中的加工对于用户来说有浏览鲜花、查看分类、管理用户信息、管理购物车、生成并查看订单、查看公告,对管理员来说有鲜花管理、分类管理、用户管理、订单管理、公告管理。此系统中的数据存储包括鲜花信息、分类信息、用户信息、购物车信息、订单信息和公告信息,在实际的实现中应该将这些信息存储在对应的表里,虽然鲜花信息、分类信息、用户信息、订单信息和公告信息是用户和管理员共享的,但是由于权限的不同用户对于鲜花信息、分类信息以及公告信息只有查看的权限,管理员对于这些信息有增、删、改的权限。在数据流图中反映为加工的不同。

用户在系统中可以浏览鲜花、查看分类、管理用户信息、管理购物车、生成并查看订单、查看公告,本系统中用户数据流图如图4-2所示。

图4-2 用户数据流图

管理员在系统中可以进行鲜花管理、分类管理、用户管理、订单管理、公告管理,其中管理员可以对鲜花、分类和公告进行添加、修改、查看和删除,对用户进行查看和删除,对订单进行查看和处理。本系统中管理员数据流图如图4-3所示。

图4-3 管理员数据流图

数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。图4-1中数据流条目如下所示:

用户信息=用户ID+用户名+密码+姓名+角色+手机号+地址

鲜花信息=鲜花ID+鲜花名+鲜花图片+上架时间+分类ID+分类名+价格+是否推荐+

点击数+鲜花销量+鲜花描述

公告信息=公告ID+标题+内容+添加时间

分类信息=分类ID+分类名称

购物车信息=购物车ID+用户ID+鲜花ID+鲜花名+价格+购买数量

订单信息=订单ID+订单状态+用户ID+用户姓名+用户手机+收货地址+订单详情+订单号+备注+生成时间+总价

根据数据流条目得到数据项条目如表4-1所示。

表4-1 系统数据项

名称

类型

长度

别名

id

int

11

用户ID

username

varchar

255

用户名

password

varchar

255

密码

xingming

varchar

255

姓名

role

int

11

角色

dianhua

varchar

255

手机号

dizhi

varchar

255

地址

id

int

11

鲜花ID

pname

varchar

255

鲜花名

imgpath

varchar

255

鲜花图片

createtime

varchar

255

上架时间

fname

varchar

255

分类名

jiage

double

价格

tuijian

varchar

255

是否推荐

dianjishu

int

11

点击数

xiaoliang

int

11

鲜花销量

miaoshu

text

鲜花描述

id

int

11

公告ID

biaoti

varchar

255

标题

neirong

text

内容

shijian

varchar

255

添加时间

表4-1(续)

名称

类型

长度

别名

id

int

11

分类ID

fname

varchar

255

分类名称

id

int

11

购物车ID

shuliang

int

11

购买数量

id

int

11

订单ID

status

varchar

255

订单状态

xiangqing

text

订单详情

orderid

varchar

255

订单号

beizhu

varchar

255

备注

shijian

varchar

255

生成时间

zongjia

double

总价

系统IPO图

IPO图是输入--处理--输出图(Input-Process-Output)的简称。基本形式是画三个方框,在左边框中列出有关输入数据,在中间框内列出主要处理,在右边框中列出产生的输出数据。网上花店销售系统的输入数据主要是用户信息以及鲜花信息,处理主要针对用户、鲜花分类、鲜花详情、购物车以及订单,输出数据对应于处理过程。该系统IPO图如图4-4所示。

图4-4 系统IPO图

功能需求

功能划分

本网上花店销售系统主要分为前台操作和后台管理两部分。

1、前台操作

前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不太懂电脑操作的用户也能轻松的享受该系统带来的便利。

前台主要功能包括:首页(主界面)、鲜花搜索、鲜花分类、花店公告、鲜花浏览、用户注册、用户登录、订购鲜花、查看购物车、查看订单等。

2、后台管理

后台管理考虑了花店管理的操作简单方便。

后台主要功能包括:分类管理、鲜花管理、公告管理、订单管理、用户管理。

功能描述

1、首页(主界面)

提供简洁美观的主界面,界面陈列系统提供功能,用户和管理员通过选择各个功能来达到自己所需的目的。

2、用户注册

新用户通过填写注册表单,将自己的详细信息输入并提交系统,系统会通过与数据库的连接以及表单限定的格式来检查合法性。注册成功后可以进行订购等其他功能。

3、用户登录

用户通过输入“用户名”和“密码”进行登录,系统会通过与数据库的连接来检查合法性,如果存在则登录成功继续接下来的功能,如果不存在则返回登录界面。

4、鲜花浏览

用户可以通过选择该功能看到本系统鲜花的详细介绍。

5、加入购物车

用户可以通过该功能选择自己要购买的鲜花并放入购物车,在购物车也可以进行数量的修改并且生成订单。但要首先登录才可以实现该功能。

6、生成订单

用户可以把购物车里的鲜花下订单。

7、查看订单

用户可以查询自己的订单,但首先必须登录。

8、修改个人信息

用户可以修改个人资料。

9、管理员分类管理

管理员可以对系统首页的分类进行增加、查看、修改、删除。

10、管理员鲜花管理

管理员可以对系统首页的鲜花进行增加、查看、修改、删除。

11、管理员公告管理

管理员可以对系统首页的公告进行增加、查看、修改、删除。

12、管理员订单管理

管理员可以对用户的订单进行查看、处理。

13、管理员用户管理

管理员可以对系统已经注册的用户进行查看、删除。

性能需求

网上花店销售系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的求。由于网上花店销售系统的查询功能对于整个系统的功能和性能完成举足轻重,作为系统的很多数据源,其准确性很大程度上决定了网上花店销售系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。当操作发生变化时,一些功能同样能够实现。因为在实现各项功能时了,把功能划分成了不同的模块,各模块之间互不干扰,而且JavaBean都采用类的形式,每个功能都封装成一个类,当运行环境发生变化时,对程序会有一些影响,但打上补丁就可以继续运行了。总体上讲,本系统具有一定的自适应性。

运行需求

硬件条件:英特尔酷睿2 CPU、1GB 内存、20GB以上硬盘的PC机。

软件条件:Windows 7操作系统。

当系统遇到问题时,首先查看运行环境是否更改;如果更改,只修复运行环境即可;若未更改,查看系统中各个模块之间的接口是否有问题,可通过调试改正错误。数据库最严重的问题是数据库损坏,此时最好是从备份恢复数据库。如果是由于存储问题导致部分数据库文件损坏,但数据库还可以连接,这种情况采用导出数据库的表结果和数据的方法来恢复数据库。解决数据库的性能问题,可以从以下方面入手,检查数据库的配置,如缓冲池,排序堆等是否处理;检查数据库是否收集过统计信息,准确的统计信息对语句优化起着重要的作用;对sql语句进行优化;查看是否有系统资源瓶颈。

其他需求

网上花店销售系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面。针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。网上花店系统中涉及到的数据是相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。

总体设计

系统功能模块设计

网上花店销售系统一共分为前台和后台两大模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同。

网上花店销售系统的前台功能模块分为:

1、鲜花展示模块

鲜花展示模块主要是向用户展示网上花店的鲜花,主要分为鲜花搜索和鲜花分类两个子模块。用户可以通过鲜花搜索直接查询自己想要了解的鲜花,也可以通过鲜花分类查找某一类的鲜花。

2、公告展示模块

公告展示模块是管理员发布的与网上花店系统相关的公告信息,可以包括系统的使用或者最新的优惠活动等。用户登录系统后,可以查看公告信息,以此来最快的了解系统。

3、购买鲜花模块

购买鲜花模块主要是完成用户在网上的购物的流程。购买鲜花模块分为加入购物车和生成订单两个子模块。

4、用户管理模块

用户管理模块分为用户注册、用户登录、用户修改信息三个子模块。

网上花店销售系统前台功能模块图如图5-1所示。

图5-1 前台功能模块图

用户进行购买鲜花时,先进行注册,然后进行登录,登录系统后用户可以浏览鲜花,把需要购买的鲜花加入购物车,把购物车的鲜花生成订单。用户购买鲜花时序图如图5-2所示。

图5-2 用户购买鲜花时序图

网上花店销售系统的后台功能模块分为:

1、分类管理模块

分类管理模块主要是实现管理员对系统分类的管理,使得用户可以按照分类挑选鲜花,方便了用户的挑选,管理员通过这个模块可以向系统添加新的分类,查看已有的分类,修改已有的分类,删除旧的分类。

2、鲜花管理模块

鲜花管理模块主要是实现管理员对系统鲜花的管理,该模块对整个系统至关重要。管理员通过这个模块可以向系统添加新的鲜花,查看已有的鲜花,修改已有的鲜花,删除旧的鲜花。

3、订单管理模块

订单管理模块主要是实现管理员对系统订单的管理,管理员通过这个模块可以查看用户下的订单并对订单做出相应的处理。

4、公告管理模块

公告管理模块主要是实现管理员对系统公告的管理,这样用户进入系统后可以通过浏览公告获取网上花店销售系统的最新资讯,并且可以在最短的时间内对系统有基本的了解。管理员通过这个模块可以向系统添加新的公告,查看已有的公告,修改已有的公告,删除旧的公告。

5、用户管理模块

用户管理模块主要是实现管理员对已注册用户的管理,管理员通过这个模块可以查看用户的信息或者删除用户。

网上花店销售系统后台功能模块图如图5-3所示。

图5-3 后台功能模块图

数据库设计

概念结构设计

描述概念模型的有力工具是E-R模型,E-R模型是用E-R图来描述现实世界的概念模型。E-R模型包括实体、属性、实体之间的联系等。接下来将用E-R图对网上花店销售系统进行概念结构设计,包括各实体间的E-R图及各实体的详细属性E-R图。其中实体型用矩形表示,矩形框内写明实体名。属性用椭圆形表示,并用无向边将其与相应的实体型连接起来。联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型。

本网上花店销售系统的实体有管理员,用户,公告,订单,分类,鲜花。下面将分别设计各实体的E-R图。

1、用户E-R图如图5-4所示。

图5-4 用户E-R图

在该E-R图中,对于用户实体,用户可以浏览公告,因此用户实体和公告实体是浏览关系,用户可以选购鲜花,因此用户实体和鲜花实体是选购关系,用户可以查看分类,因此用户实体和分类实体是查看关系,用户可以管理自己的购物车,因此用户实体和购物车实体是管理关系,用户可以查看自己的订单,因此用户实体和订单实体是查看关系,用户在系统中是被管理员管理的,因此用户和管理员是被管理的关系。

  1. 管理员E-R图如图5-5所示。

图5-5 管理员E-R图

在该E-R图中,对于管理员实体,管理员可以对系统的公告、订单、分类、鲜花进行管理,对已注册的用户进行管理,因此它与其他实体的关系都是管理关系。

3、用户实体的属性有ID、用户名、密码、姓名、角色、手机号、地址。用户详细属性E-R图如图5-6所示。

图5-6 用户详细属性E-R图

4、鲜花实体的属性有ID、鲜花名、鲜花图片、上架时间、分类ID、分类名、价格、是否推荐、点击数、鲜花销量、鲜花描述。鲜花详细属性E-R图如图5-7所示。

图5-7 鲜花详细属性E-R图

5、公告实体的属性有ID、标题、内容、添加时间。公告详细属性E-R图如图5-8所示。

图5-8 公告详细属性E-R图

6、分类实体的属性有ID、分类名称。分类详细属性E-R图如图5-9所示。

图5-9 分类详细属性E-R图

7、购物车实体的属性有ID、用户ID、鲜花ID、鲜花名、价格、购买数量。购物车详细属性E-R图如图5-10所示。

图5-10 购物车详细属性E-R图

8、订单实体的属性有ID、订单状态、用户ID、用户姓名、用户手机、收货地址、订单详情、订单号、备注、生成时间、总价。订单详细属性E-R图如图5-11所示。

图5-11 订单详细属性E-R图

逻辑结构设计

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。数据库设计时注意保证在整个系统运行和业务操作过程中,数据库都能便于访问和查询,同时还需要考虑到要尽量节省数据库操作时的响应时间,尽可能的提高数据库对程序和业务请求的响应速度。

根据概念结构设计阶段的E-R图,设计数据库表结构如下。

1、t_Fenlei分类表

该表存放分类ID及分类名称。t_Fenlei分类表如表5-1所示。

表5-1 t_Fenlei分类表

名称

类型

长度

备注

id

int

11

主键

fname

varchar

255

分类名称

2、t_Product鲜花表

该表存放鲜花信息,主要包括鲜花名、鲜花图片、上架时间、价格、鲜花销量、鲜花描述等信息。分类表和该表相关联,因此表中还包含了分类ID以及分类名。t_Product鲜花表如表5-2所示。

表5-2 t_Product 鲜花表

名称

类型

长度

备注

id

int

11

主键

pname

varchar

255

鲜花名

imgpath

varchar

255

鲜花图片

createtime

varchar

255

上架时间

fenleiid

varchar

255

分类ID,外键

fname

varchar

255

分类名

jiage

double

价格

tuijian

varchar

255

是否推荐

dianjishu

int

11

点击数

xiaoliang

int

11

鲜花销量

miaoshu

text

鲜花描述

3、t_Gonggao公告表

该表存放公告信息,主要包括标题、内容、添加时间。t_Gonggao公告表如表5-3

所示。

表5-3 t_Gonggao 公告表

名称

类型

长度

备注

id

int

11

主键

biaoti

varchar

255

标题

neirong

text

内容

shijian

varchar

255

添加时间

4、t_Gouwuche购物车表

该表存放购物车ID、以及用户ID、鲜花ID、鲜花名、价格、购买数量。t_Gouwuche购物车表如表5-4所示。

表5-4 t_Gouwuche购物车表

名称

类型

长度

备注

id

int

11

主键

userid

int

11

用户ID,外键

pid

int

11

鲜花ID,外键

pname

varchar

255

鲜花名

jiage

double

价格

shuliang

int

11

购买数量

5、t_User用户表

该表中存放用户的基本信息,普通用户和管理员共用此表,主要包括用户ID、用户名、密码、姓名、角色、手机号、地址信息。普通用户和管理员通过角色的值进行区分, 0表示普通用户,1表示系统管理员。t_User用户表如表5-5所示。

表5-5 t_User 用户表

名称

类型

长度

备注

id

int

11

主键

username

varchar

255

用户名

password

varchar

255

密码

xingming

varchar

255

姓名

role

int

11

角色

dianhua

varchar

255

手机号

dizhi

varchar

255

地址

6、t_Dingdan订单表

该表存放订单ID、订单状态、以及关联表里的用户ID、用户姓名等信息。t_Dingdan订单表如表5-6所示。

表5-6 t_Dingdan订单表

名称

类型

长度

备注

id

int

11

主键

status

varchar

255

订单状态

userid

int

11

用户ID 外键

xingming

varchar

255

用户姓名

dianhua

varchar

255

用户手机

dizhi

varchar

255

收货地址

xiangqing

text

订单详情

orderid

varchar

255

订单号

beizhu

varchar

255

备注

shijian

varchar

255

生成时间

zongjia

double

总价

详细设计与实现

根据总体设计部分对于功能模块的划分,在详细设计中采用JSP+Servlet+Javabean的MVC模式,其中系统的显示由JSP页面完成,用Javabean封装对象,业务的逻辑处理由Servlet完成,对于数据库的操作写在dao包的文件里。

系统对象的设计与实现

系统中总共包括七个对象,分别为用户,管理员,公告,鲜花,类别,购物车和订单。系统的类图如图6-1所示。

图6-1 系统类图

在实现过程中将这七个对象封装成bean对象,其中管理员和用户的封装对象内容相同,故二者共用一个对象,用属性role进行区分,0表示用户,1表示系统管理员。六个对象对应于代码中的Dingdan.java,Fenlei.java,Gonggao.java,Gouwuche.java,Product.java,User.java。以User.java为例,关键代码如下:

public class User {

private int id;//主键

private String username;//用户名

private String password;//密码

private String xingming;//姓名

private int role;//用户角色 0表示用户,1表示系统管理员

private String dianhua;//手机

private String dizhi;//收货地址

}

系统首页的设计与实现

该系统首页页面风格简单明了,上边横条可以选择注册和登录,左侧有鲜花搜索,鲜花分类,销量排行榜以及花店公告,用户可以根据自己的需求浏览相关内容。页面右侧是鲜花列表,用户可以通过点击相应的链接查看详情或者加入购物车。首页页面的设计如图6-2所示。

图6-2 系统首页

具体的实现过程是:index.jsp文件主要包括鲜花列表部分,在index.jsp页面引入黄色横条的head.jsp以及左侧的left.jsp。

系统前台功能的设计与实现

用户注册模块的设计与实现

用户注册需要填写相应的信息,主要包括用户名、密码、确认密码、姓名、收货地址以及手机号码。用户注册页面的设计如图6-3所示。

图6-3 注册页面

该页面对应代码中的register.jsp,该页面对输入的每一个数据都有格式上的要求,用户名不能为空且必须是数字,字母或者下划线,密码不能为空且至少6位,确认密码要和密码一致,姓名,收货地址以及手机号都不能为空,手机号码还要符合正确的格式。当用户进行注册时,页面首先会对输入的数据格式进行检验,若输入错误会有相应的提示。除此之外,当用户输入正确的格式的数据之后,点击了注册按钮,系统会在数据库进行比对,若用户名已经被注册,系统也会弹出相应的提示,若用户名还未注册则将数据插入数据库,提示注册成功并跳转到首页。具体的实现过程是在IndexServlet.java中对注册进行逻辑处理,在UserDao.java中对数据库进行操作。

该页面关键代码如下:

<form action="indexServlet/register" method="post" οnsubmit="return checkform()">

<label>用户名:</label>

<input type="text" class="form_input" name="username" id="usernameid" />

<label>密码:</label>

<input type="password" class="form_input" name="password" id="passwordid"/>

<label>确认密码:</label>

<input type="password" class="form_input" name="password2" id="password2id"/>

<label>姓名:</label>

<input type="text" class="form_input" name="xingming" id="xingmingid"/>

<label>收货地址:</label>

<input type="text" class="form_input" name="dizhi" id="dizhiid"/>

<label>手机:</label>

<input type="text" class="form_input" name="dianhua" id="dianhuaid"/>

<input type="submit" class="form_submit" value="注册" />

</form>

用户在注册时,第一不能有空值,第二两次密码的输入要一致,第三各项数据的格式要正确。除此之外,用户名不可以是已经注册过的。用户注册程序流程图如图6-4所示。

图6-4 用户注册程序流程图

用户登录模块的设计与实现

用户登录需要填写用户名以及密码,登录页面的设计如图6-5所示:

图6-5 登录页面

该页面对应代码中的login.jsp,用户名和密码都不能为空,否则页面会进行相应的提示,当输入用户名和密码点击登录之后,系统会在数据库中查找,若有匹配的数据则提示登录成功并跳转到首页,否则提示用户名或密码不正确。具体的实现过程是在IndexServlet.java中对登录进行逻辑处理,在UserDao.java中对数据库进行操作。

该页面关键代码如下:

<form action="indexServlet/login" method="post" οnsubmit="return checkform()">

<label>用户名:</label>

<input type="text" class="form_input" name="username" id="usernameid" />

<label>密码:</label>

<input type="password" class="form_input" name="password" id="passwordid"/>

<input type="submit" class="form_submit" value="登录" />

</form>

用户在登录时,用户名和密码要一致,如果正确才可以登录成功,否则登录失败需要重新输入登录信息。用户登录程序流程图如图6-6所示。

图6-6 用户登录程序流程图

公告浏览模块的设计与实现

用户在首页可以浏览花店公告,通过点击花店公告的标题可以查看花店公告的详细信息。花店公告页面以及公告详情页面设计如图6-7以及6-8所示。

图6-7 花店公告页面

图6-8 公告详情页面

具体的实现过程是,当用户点击花店公告的标题时,通过IndexServlet.java的gonggaoupdate方法获取对象,然后通过GonggaoDao.java对数据库进行操作,最后将对象传到gonggao.jsp页面。

公告详情页面关键代码如下:

<form action="${url }" method="post" οnsubmit="return checkform()">

<div class="form">

<div class="form_row">

<label>公告标题:</label>${bean.biaoti }</div>

<div class="form_row"><label>内容:</label>${bean.neirong }</div>

<div class="form_row"><label>发布时间:</label>${bean.shijian }</div>

<div class="form_row">

<input type="button" class="form_submit" value="返回" οnclick="javascript:history.go(-1);"/> </div>

<div class="clear"></div></div>

</form>

鲜花列表模块的设计与实现

用户在系统首页的鲜花列表可以浏览鲜花,鲜花列表包括鲜花名,图片,分类名,鲜花价格,以及查看详情和加入购物车两种操作。点击查看详情后页面会跳转到鲜花信息详情页面。鲜花列表页面以及鲜花信息详情页面如图6-9以及6-10所示。

图6-9 鲜花列表页面

图6-10 鲜花信息详情页面

鲜花列表页面对应代码中的index.jsp,鲜花信息详情页面对应代码中的product.jsp,具体实现方式是当用户点击查看详情时,在IndexServlet.java中用productupdate方法进行具体处理,之后把对象传到product.jsp页面。当用户点击鲜花列表或鲜花信息详情页面的加入购物车时,如果用户已经登录,那么系统跳转到我的购物车页面。否则,系统会提示用户先登录并跳转到登录页面。

用户购物车模块的设计与实现

我的购物车页面,包括鲜花名,单价,购买时间,小计。用户可以修改购买数量或者删除购物车里的东西,也可以点击链接跳转到订单页面。我的购物车页面设计如图6-11所示。

图6-11 购物车页面

我的购物车页面对应代码中的gouwuchelist.jsp,当用户点击鲜花列表或鲜花信息详情页面的加入购物车时,在IndexServlet.java中用gouwucheadd2方法进行添加商品到购物车操作,在GouwucheDao.java里对数据库进行操作,将所选鲜花数据插入数据库。我的购物车页面的变更删除分别用IndexServlet.java的gouwucheupdate2方法和gouwuchedelete方法实现。

用户订单模块的设计与实现

我的订单页面,包括订单号,收货人姓名,订单状态,生成时间,总价,以及查看订单详情的操作。用户也可以查看和搜索自己的订单。我的订单页面如图6-12所示。

图6-12 生成订单页面

我的订单页面对应代码中的orderlist.jsp,查询订单的操作在indexServlet/orderlist中实现,查看订单详情的操作在indexServlet/dingdanupdate3中实现,其中对数据库的操作在DingdanDao.java中完成。

用户信息管理模块的设计与实现

用户可以在个人信息页面对自己的信息进行管理,主要是对姓名,手机号以及收货地址的更改,可以在修改密码页面进行密码的修改。用户信息页面的设计与修改密码的

设计如图6-13以及6-14所示。

图6-13 个人信息页面

图6-14 修改密码页面

个人信息页面对应代码中的userupdate.jsp,修改密码页面对应代码中的passwordupdate.jsp,修改个人信息在是在indexServlet/userupdate2中完成的,修改密码是在indexSe rvlet/passwordupdate2中完成的,操作数据库的部分在UserDao.java中完成。

系统后台功能的设计与实现

系统后台页面的设计与实现

管理员登录成功后会进入系统后台页面,主要包括左侧的主菜单以及中间的欢迎页面。主菜单包括,分类管理,鲜花管理,公告管理,订单管理,用户管理。系统后台页面如图6-15所示。

图6-15系统后台页面

管理员在此页面可以通过点击左侧主菜单进行相应的管理。关键代码如下:

<ul>

<li><a href="<%=basePath2 %>manageServlet/fenleilist" >分类管理</a></li>

<li><a href="<%=basePath2 %>manageServlet/productlist" >鲜花管理</a></li>

<li><a href="<%=basePath2 %>manageServlet/gonggaolist" >公告管理</a></li>

<li><a href="<%=basePath2 %>manageServlet/dingdanlist" >订单管理</a></li>

<li><a href="<%=basePath2 %>manageServlet/userlist" >用户管理</a></li>

</ul>

分类管理功能的设计与实现

管理员通过此功能可以查看、修改、删除已经存在的分类,也可以增加新的分类。该系统分类管理页面如图6-16所示。

图6-16 分类管理页面

分类管理页面对应代码中的fenleilist.jsp,添加新分类以及查看和修改分别对应fenl eiadd.jsp,fenleiupdate3.jsp,fenleiupdate.jsp,管理员进行操作时,系统通过在ManageSer vlet.java中的方法实现,对数据库的操作在FenleiDao.java中实现。

鲜花管理功能的设计与实现

管理员通过此功能可以查看、修改、删除已经存在的鲜花,也可以增加新的鲜花。该系统鲜花管理页面如图6-17所示。

图6-17 鲜花管理页面

鲜花管理页面对应代码中的productlist.jsp,添加新商品对应productadd.jsp,上传图片对应productupdate5.jsp,查看和修改分别对应productupdate3.jsp,productupdate.jsp,管理员进行操作时,系统通过在ManageServlet.java中的方法实现,对数据库的操作在ProductDao.java中实现。

公告管理功能的设计与实现

管理员通过此功能可以查看、修改、删除已经存在的公告,也可以增加新的公告。该系统公告管理页面如图6-18所示。

图6-18 公告管理页面

公告管理页面对应代码中的gonggaolist.jsp,添加新公告对应gonggaoadd.jsp,查看和修改分别对应gonggaoupdate3.jsp,gonggaoupdate.jsp,管理员进行操作时,系统通过在ManageServlet.java中的方法实现,对数据库的操作在GonggaoDao.java中实现。

订单管理功能的设计与实现

管理员通过此功能可以查看和处理订单。该系统订单管理页面如图6-19所示。

图6-19订单管理页面

订单管理页面对应代码中的dingdanlist.jsp,查看订单详情对应dingdanupdate3.jsp,管理员进行操作时,系统通过在ManageServlet.java中的方法实现,对数据库的操作在DingdanDao.java中实现。

用户管理功能的设计与实现

管理员通过此功能可以查看和删除用户。该系统用户管理页面如图6-20所示。

图6-20 用户管理页面

用户管理页面对应代码中的userlist.jsp,管理员进行查询用户和删除用户操作的时

候,系统通过在ManageServlet.java中的方法实现,对数据库的操作在UserDao.java中实现。

系统的调试与测试

程序调试

调试是在测试发现错误之后排除错误的过程。调试的目的是为了解决存在的错误,即对错误定位、分析并找出原因改正错误,因此调试也称为纠错。软件调试是一项具有很强技巧性的工作,调试是一个通过外部表现找出原因的思维分析过程。常用的调试技术是消去原因法,即通过思考,分析列出发生错误的所有可能原因,逐个排除,最后找出真正的原因。试探法、归纳法、折半查找法、演绎法都属于消去原因法。

程序测试

测试的内容

功能测试:用户注册登录后进行鲜花选购、查看公告等功能,与此同时查看数据库内容是否同步更改,若更改成功则说明程序正确,反之说明程序错误。同理以管理员身份进行登录,对公告、用户等进行查看更改,查看数据库的变化。

链接测试:在点击菜单按钮之后,查看跳转的页面是否正确。

极限测式:可以通过频繁登录与退出数据库这类频繁的操作来对系统进行测试等。

测试用例

根据系统的功能,测试用例为以下几方面:

1、用户的注册和登录以及退出,管理员的登录以及退出。

2、用户浏览鲜花,将鲜花加入购物车,对购物车的鲜花数量进行更改,生成订单,提交订单,查看订单,修改个人信息。

3、管理员对分类、鲜花、公告进行增、删、改、查,对订单和用户进行查、删。

具体的测试细节为:

1、用户注册测试

用户注册时,填写各项信息,首先是各项信息空值的测试,其次是各项数据的数据格式的测试。

2、用户及管理员登录测试

用户及管理员登录时只需填写用户名和密码,因此测试时主要对用户名和密码的匹配性进行测试。

3、用户及管理员退出测试

用户和管理员的退出主要是通过点击“退出系统”按钮,因此实际测试中只需测试用户点击按钮后是否能够正确跳转。

4、浏览鲜花测试

浏览鲜花时用户可以点击查看详情去获取鲜花的详细信息,因此实际测试中只需测试用户点击按钮后是否能够正确跳转到相应的鲜花详情页面。

5、加入购物车测试

鲜花列表以及鲜花详情页面都有包含加入购物车功能,因此实际测试中需要在两个页面都测试用户点击按钮后是否能够正确跳转到购物车页面。

6、管理购物车测试

在购物车页面,用户可以对购物车里的鲜花数量进行更改,可以删除购物车里的鲜花,因此实际测试中需对这两方面进行测试。

7、生成订单测试

用户点击生成订单页面会跳转到确认订单收货信息页面,因此实际测试中要测试用户点击链接后能否正确跳转。

8、提交订单测试

用户提交订单后会跳转到订单页面,因此实际测试中要测试用户点击提交按钮后页面能否正确跳转以及数据库信息是否相应改变。

9、用户管理个人信息测试

用户可以更改自己的姓名、收货地址和手机,更改后数据库数据会有相应改变,因此实际测试中要测试用户点击提交按钮后页面能否正确弹出更改成功的信息以及数据库信息是否相应改变。

10、管理员分类管理测试

管理员在网上花店后台对于分类的管理主要是对分类的增加、修改、查询和删除,因此实际测试中要测试管理员进行查询操作时是否能正确显示查询信息,管理员进行增加、修改和删除操作时前台显示的分类是否改变以及数据库中的分类数据是否相应的改变。

11、管理员鲜花管理测试

管理员在网上花店后台对于鲜花的管理主要是对鲜花的增加、修改、查询和删除,因此实际测试中要测试管理员进行查询操作时是否能正确显示查询信息,管理员进行增加、修改和删除操作时前台显示的鲜花是否改变以及数据库中的鲜花数据是否相应的改变。

12、管理员公告管理测试

管理员在网上花店后台对于鲜花的管理主要是对公告的增加、修改、查询和删除,因此实际测试中要测试管理员进行查询操作时是否能正确显示查询信息,管理员进行增加、修改和删除操作时前台显示的公告是否改变以及数据库中的公告数据是否相应的改变。

13、管理员订单管理测试

管理员在网上花店后台对于订单的管理主要是对订单的查询和处理,因此实际测试中要测试管理员进行查询操作时是否能正确显示查询信息,管理员进行处理操作时订单是否显示已处理并且数据库中的订单数据是否相应的改变。

14、管理员用户管理测试

管理员在网上花店后台对于用户的管理主要是对用户的查询和删除,因此实际测试中要测试管理员进行查询操作时是否能正确显示查询信息,管理员进行删除操作时数据库中的用户数据是否相应的删除。

测试结果

通过上一小节对测试细节的分析,对系统进行相应的测试,具体的测试结果如表7-1、表7-2以及表7-3所示。

在表中有四项内容:

名称:指测试的对象。

操作:指测试过程中进行的操作方法。

预期结果:指对测试操作产生结果的预测。

实际结果:指实际对系统进行测试时产生的结果。

表7-1 登录注册测试结果

名称

操作

预期结果

实际结果

用户注册测试

在注册表单输入各种格式的数据

格式正确则注册成功,反之失败

同预期

用户登录测试

在登录表单输入未注册和已注册数据

与数据库数据一致则登录成功,反之失败

同预期

管理员登录测试

在登录表单输入正确数据及错误数据

与数据库数据一致则登录成功,反之失败

同预期

用户退出测试

点击退出系统

正确退出

同预期

管理员退出测试

点击退出系统

正确退出

同预期

表7-2 用户操作测试结果

名称

操作

预期结果

实际结果

浏览鲜花测试

点击首页的鲜花列表相应链接

跳转到相应鲜花界面

同预期

加入购物车测试

点击加入购物车按钮

跳转正确并且数据库相应改变

同预期

管理购物车测试

对购物车内容进行增、删

跳转正确并且数据库相应改变

同预期

生成订单测试

点击生成订单按钮

跳转正确

同预期

提交订单测试

点击提交订单按钮

跳转正确并且数据库相应改变

同预期

管理个人信息测试

修改个人信息并提交

跳转正确并且数据库相应改变

同预期

表7-3 管理员操作测试结果

名称

操作

预期结果

实际结果

分类管理测试

在分类管理界面进行增删改查

跳转正确并且数据库相应改变

同预期

鲜花管理测试

在鲜花管理界面进行增删改查

跳转正确并且数据库相应改变

同预期

公告管理测试

在公告管理界面进行增删改查

跳转正确并且数据库相应改变

同预期

订单管理测试

在订单管理界面进行查看和处理

跳转正确并且数据库相应改变

同预期

用户管理测试

在用户管理界面查看和删除用户

跳转正确并且数据库相应改变

同预期

下面以用户登录和注册为例,详细说明测试过程。

用户注册需要填写用户名、密码、确认密码、姓名、收货地址、手机号码这六项,

对此划分出有效等价类和无效等价类进行测试,具体测试数据和结果如表7-4所示。

表7-4 用户注册测试结果

输入等价类

测试用例

测试数据

期望结果

实际结果

无效等价类

用户名为空

null,222222,222222,小红,太原理工大学,13211111111

注册失败

弹出提示信息 用户名不能为空

密码为空

222222,null,222222,小红,太原理工大学,13211111111

注册失败

弹出提示信息 密码不能为空

确认密码为空

222222,222222,null,小红,太原理工大学,13211111111

注册失败

弹出提示信息 确认密码和原密码不一致

姓名为空

222222,222222,222222,null,太原理工大学,13211111111

注册失败

弹出提示信息 姓名不能为空

收货地址为空

222222,222222,222222,小红null,13211111111

注册失败

弹出提示信息 收货地址不能为空

手机号码为空

222222,222222,222222,小红,太原理工大学,null

注册失败

弹出提示信息 手机不能为空

密码小于六位

222222,22222,22222,小红,太原理工大学,13211111111

注册失败

弹出提示信息 密码至少六位

确认密码与密码不一致

222222,222222,111111,小红,太原理工大学,13211111111

注册失败

弹出提示信息 确认密码与密码不一致

手机不是11位

222222,222222,222222,小红,太原理工大学,132

注册失败

弹出提示信息 请输入正确的手机格式

手机第一位不是1

222222,222222,222222,小红,太原理工大学,03211111111

注册失败

弹出提示信息 请输入正确的手机格式

手机第二位不是3、5、8

222222,222222,222222,小红,太原理工大学,14211111111

注册失败

弹出提示信息 请输入正确的手机格式

手机输入非数字

222222,222222,222222,小红,太原理工大学,13aaaaaaaaa

注册失败

弹出提示信息 请输入正确的手机格式

有效等价类

完整正确输入各项

222222,222222,222222,小红,太原理工大学,13211111111

注册成功

弹出提示信息 注册成功,请妥善保管您的账户

现将用户注册测试的部分过程截图如下。

当用户名为空时,点击注册,弹出提示框提示“用户名不能为空”。测试结果如图7-1所示。

图7-1 用户名为空时测试结果图

当密码和确认密码不一致时,点击注册,弹出提示框提示“确认密码和原密码不一致”。测试结果如图7-2所示。

图7-2 确认密码和原密码不一致时测试结果图

当输入的手机格式不正确时,点击注册,弹出提示框提示“请输入正确的手机格式”。测试结果如图7-3所示。

图7-3 手机格式不正确时测试结果图

当输入正确格式的数据时,点击注册,弹出提示框提示“注册成功,请妥善保管您的账户”。测试结果如图7-4所示。

图7-4 正确注册时测试结果图

用户登录时需要填写用户名和密码两项,对此划分出有效等价类和无效等价类进行测试,具体测试数据和结果如表7-5所示:

表7-5 用户登录测试结果

输入等价类

测试用例

测试数据

期望结果

实际结果

无效等价类

用户名为空

null,222222

登录失败

弹出提示信息 用户名不能为空

密码为空

222222,null

登录失败

弹出提示信息 密码不能为空

用户名密码不匹配

111111,222222

登录失败

弹出提示信息 用户名或者密码错误

有效等价类

完整正确输入各项

222222,222222

登录成功

弹出提示信息 登录成功

现将用户登录测试的部分过程截图如下。

当登录密码为空时,点击登录,弹出提示框提示“密码不能为空”。测试结果如图7-5所示。

图7-5 登录密码为空时测试结果图

当登录密码错误时,点击登录,弹出提示框提示“用户名或者密码错误”。测试结果如图7-6所示。

图7-6 登录密码错误时测试结果图

当登录密码正确时,点击登录,弹出提示框提示“登陆成功”。测试结果如图7-7所示。

图7-7 登录成功时测试结果图

结论

通过三个多月紧张的学习和编程工作,网上花店销售系统终于有了成果。

完成了网上花店销售系统的设计,系统前台实现了用户在线浏览所有鲜花,按需求搜索相关鲜花,浏览系统公告以及注册登录后对鲜花选购的操作和购物结束后对订单信息的查看。系统后台实现了管理员对鲜花、分类、公告、订单、用户的管理。

所设计系统中有一些优点,第一系统安全性高,本系统使用者分为管理员和用户两个角色,当其登录系统时,对其身份进行严格认证;第二采用隔离与访问控制,本系统根据用户的工作需求来分析,对用户权限进行了严格的控制,比如,用户只能浏览鲜花信息而不能修改,系统管理员就可以添加、删除、修改鲜花信息;第三操作简便,该系统本着方便易用的目的进行设计,无论是管理员还是用户都不需要具备专业的计算机知识,只要懂得计算机的一些基本操作,就可以轻松的对花店进行使用,这样做更加贴近用户,使用户使用方便,提高用户的体验。

但本系统也有一些不足,比如界面相对比较简单,功能相对有限。所以该系统还可以继续完善。

需要源码和调试运行服务可私

这篇关于javaweb网上花店销售系统的设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637484

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,