SSM商城设计与实现

摘 要 本文的主要工作是对基于B/S模式及JSP技术的基于智能推荐的b2c销售网站进行了研究与设计。本文首先介绍了基于智能推荐的b2c销售网站的背景,分析比较了国内外相关基于智能推荐的b2c销售网站的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应用开发技术中存在的优势和不足之处,权衡利弊后,选择并重点研究了JSP技术进行开发。然后根据Web应用的特点提出了基于B/S模式、采用JSP技术的Web应用开发方案。最后对基于该方案的基于智能推荐的b2c销售网站进行了功能模块设计、体系结构设计和数据库设计,提出了网站开发过程中的关键技术的研究与选用(如如何获得“及时”信息等),并给出了相应的实现。 关键词:SSI框架,JSP,MySQL,需求分析, Abstract The main work of this paper is to study and design the b2c sales website based on B / S mode and JSP technology based on intelligent recommendation. This paper first introduces the background of b2c sales website based on intelligent recommendation, analyzes and compares the operation mode, system characteristic and development technology of b2c sales website based on intelligent recommendation at home and abroad. And then analyzes the advantages and disadvantages of various Web application development technologies in the current hotspots. After weighing the pros and cons, we choose and focus on the development of JSP technology. And then based on the characteristics of Web applications based on B / S model, the use of JSP technology Web application development program. Finally, the function module design, architecture design and database design of the b2c sales website based on the intelligent recommendation are put forward. The research and selection of key technologies in the process of website development are put forward (such as how to obtain "timely" information, etc.) And gives the corresponding implementation. Keywords: SSI framework, JSP, MySQL, requirements analysis, 目 录 1 绪论  1.1 系统开发的背景  1.2 系统的开发意义  1.3本文的章节安排  2 系统开发环境  2.1 系统平台体系结构选择  2.2 J2EE平台概述  2.2.1 J2EE规范  2.2.2 J2EE体系结构  2.3 SSM框架介绍  3 系统分析  3.1系统可行性分析  3.1.1经济可行性  3.1.2技术可行性  3.1.3操作可行性  3.1.4法律可行性  3.1 需求分析  3.2.1 系统目标  3.2.2 用户需求和模块功能  3.3软件系统的非功能分析  3.7 设计目标  4 系统概要设计  4.1 系统功能模块图  3.2 系统业务流程分析  4.6 人机界面设计  4.3数据库设计  4.2.1 数据库概要设计  4.2.2 E-R图向关系模型的转换  4.2.3 数据表结构  5 系统详细设计与实现  5.1 用户登录  5.2用户注册  5.3产品浏览  5.4购物车管理  5.5订单管理  5.6新闻查看  5.3密码修改  5.2用户管理  5.5商品管理  第六章 系统测试  6.1 测试方法  6.2 测试环境介绍  6.3 功能模块测试  结 论  致 谢  参考文献 

1 绪论

1.1 系统开发的背景

为适应国际贸易和商业领域的国际化、信息化和无纸化的需要,电子商务充分利用计算机技术,网络通信技术和因特网,在短短的几年内,迅速发展成为全球的支柱产业,给经济、生活、工作带来综合的革新。我们借助毕业设计这一锲机,以网上购物的形式,尝试建造一个全天侯的网上购物广场,为任何访问本网站的客户提供优质的商业服务、可靠的商业信息、最新的商业机会。

本网站分为购物广场、会员社区、购物车、数据管理四个大模块。其相互之间的结构关系如下:

客户首先进入本网站的首页,即购物广场部分,选购商品,阅读新闻。通过会员注册后,可以登录进入会员社区模块。在这,会员可以享受专为会员设计的聊天室、跳蚤市场等社区功能。也可以在购物广场选购商品,放入购物车,填写相关信息、选择付款形式,经订单确定后,可以向本网站下购物单。这些模块的数据——商品数据、登录数据、客户数据、会员数据、订单数据等都存放在数据库管理系统中,由数据库管理员操作数据库管理程序进行系统管理。

1.2 系统的开发意义

当今社会是一个信息社会,信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地, 谁就会有更多的优势。商品管理信息系统是一个销售单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以商品信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但目前还有一些小型企业仍使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。

随着科学技术的不断提高,计算机科学日渐成熟,他强大的功能早已为人们所知晓,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算机业飞速发展,技术淘汰指标高得惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”。 微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动信息管理系统的使用起到了重要作用。

使用计算机对商品信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、使用时间长、成本低等。这些优点能够极大地提高商品信息管理的效率,也是企业的科学化、正规化管理及与世界接轨的重要条件。

1.3本文的章节安排

该论文一共包括6章:

其一:就是课题的研究背景和意义。针对以SSi为基础的基于智能推荐的b2c销售网站的背景分析和该系统开发的实际意义,并做了详尽地分析说明,还指出了其必要性以及和其他类似应用相比的优势。

其二:关键技术介绍。对A设计部分对纳总结各种核心技术做了整个论文工作考研查询过程设计和数据库了分析说明,同时也针对了数据库的作用做了介绍。

其三:基于智能推荐的b2c销售网站系统分析和设计。本章分两部分,分析部分对系统开发的可行性和系统的开发需求做了分析,设计做了较为详细的介绍。

其四:系统实现。对本软件的基于智能推荐的b2c销售网站功能的实现过程做了介绍,同时也详细地介绍了各个模块的实现过程。

其五:系统测试。行通过对系统进行分析后进了代码设计、输入输出设计和处理过程设计。详细地大部分页面和最核心的代码,最后还对系统做了较为详细的给出了系统的所涉及到的测试分析。

其六:总结与展望。归过程中遇过的问题,并针对本系统做了一些个人评价。

2 系统开发环境

目前在系统的应用开发领域中,主要分成了两种主流的编程体系,一种是基于浏览器的B/S(Brower/Server)的结构,另一种则是C/S(Client/Server)结构,如今相关系统的开发设计中都选择B/S结构,在本次的学校基于智能推荐的b2c销售网站开发设计中,选择的就是开发环境为B/S结构的体系,采用基于SSM的框架,使用JSP技术,后台数据库选择了MySQL。

2.1 系统平台体系结构选择

在本系统中的应用开发领域主要采用了B/S结构。B/S结构即浏览器和服务器结构,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发,维护和使用。客户机上只要安装一个浏览器,服务器安装了MySQL,Sybase,Informix或SQL Server等数据库,本设计采用的是MySQL数据库,浏览器通过Web Server同数据库进行数据交互。在这种结构下,用户界面主要通过浏览器实现,节约了开发成本。

摘 要 本文的主要工作是对基于B/S模式及JSP技术的基于智能推荐的b2c销售网站进行了研究与设计。本文首先介绍了基于智能推荐的b2c销售网站的背景,分析比较了国内外相关基于智能推荐的b2c销售网站的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应用开发技术中存在的优势和不足之处,权衡利弊后,选择并重点研究了JSP技术进行开发。然后根据Web应用的特点提出了基于B/S模式、采用JSP技术的Web应用开发方案。最后对基于该方案的基于智能推荐的b2c销售网站进行了功能模块设计、体系结构设计和数据库设计,提出了网站开发过程中的关键技术的研究与选用(如如何获得“及时”信息等),并给出了相应的实现。 关键词:SSI框架,JSP,MySQL,需求分析, Abstract The main work of this paper is to study and design the b2c sales website based on B / S mode and JSP technology based on intelligent recommendation. This paper first introduces the background of b2c sales website based on intelligent recommendation, analyzes and compares the operation mode, system characteristic and development technology of b2c sales website based on intelligent recommendation at home and abroad. And then analyzes the advantages and disadvantages of various Web application development technologies in the current hotspots. After weighing the pros and cons, we choose and focus on the development of JSP technology. And then based on the characteristics of Web applications based on B / S model, the use of JSP technology Web application development program. Finally, the function module design, architecture design and database design of the b2c sales website based on the intelligent recommendation are put forward. The research and selection of key technologies in the process of website development are put forward (such as how to obtain "timely" information, etc.) And gives the corresponding implementation. Keywords: SSI framework, JSP, MySQL, requirements analysis, 目 录 1 绪论  1.1 系统开发的背景  1.2 系统的开发意义  1.3本文的章节安排  2 系统开发环境  2.1 系统平台体系结构选择  2.2 J2EE平台概述  2.2.1 J2EE规范  2.2.2 J2EE体系结构  2.3 SSM框架介绍  3 系统分析  3.1系统可行性分析  3.1.1经济可行性  3.1.2技术可行性  3.1.3操作可行性  3.1.4法律可行性  3.1 需求分析  3.2.1 系统目标  3.2.2 用户需求和模块功能  3.3软件系统的非功能分析  3.7 设计目标  4 系统概要设计  4.1 系统功能模块图  3.2 系统业务流程分析  4.6 人机界面设计  4.3数据库设计  4.2.1 数据库概要设计  4.2.2 E-R图向关系模型的转换  4.2.3 数据表结构  5 系统详细设计与实现  5.1 用户登录  5.2用户注册  5.3产品浏览  5.4购物车管理  5.5订单管理  5.6新闻查看  5.3密码修改  5.2用户管理  5.5商品管理  第六章 系统测试  6.1 测试方法  6.2 测试环境介绍  6.3 功能模块测试  结 论  致 谢  参考文献 

1 绪论

1.1 系统开发的背景

为适应国际贸易和商业领域的国际化、信息化和无纸化的需要,电子商务充分利用计算机技术,网络通信技术和因特网,在短短的几年内,迅速发展成为全球的支柱产业,给经济、生活、工作带来综合的革新。我们借助毕业设计这一锲机,以网上购物的形式,尝试建造一个全天侯的网上购物广场,为任何访问本网站的客户提供优质的商业服务、可靠的商业信息、最新的商业机会。

本网站分为购物广场、会员社区、购物车、数据管理四个大模块。其相互之间的结构关系如下:

客户首先进入本网站的首页,即购物广场部分,选购商品,阅读新闻。通过会员注册后,可以登录进入会员社区模块。在这,会员可以享受专为会员设计的聊天室、跳蚤市场等社区功能。也可以在购物广场选购商品,放入购物车,填写相关信息、选择付款形式,经订单确定后,可以向本网站下购物单。这些模块的数据——商品数据、登录数据、客户数据、会员数据、订单数据等都存放在数据库管理系统中,由数据库管理员操作数据库管理程序进行系统管理。

1.2 系统的开发意义

当今社会是一个信息社会,信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地, 谁就会有更多的优势。商品管理信息系统是一个销售单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以商品信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但目前还有一些小型企业仍使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。

随着科学技术的不断提高,计算机科学日渐成熟,他强大的功能早已为人们所知晓,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算机业飞速发展,技术淘汰指标高得惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”。 微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动信息管理系统的使用起到了重要作用。

使用计算机对商品信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、使用时间长、成本低等。这些优点能够极大地提高商品信息管理的效率,也是企业的科学化、正规化管理及与世界接轨的重要条件。

1.3本文的章节安排

该论文一共包括6章:

其一:就是课题的研究背景和意义。针对以SSi为基础的基于智能推荐的b2c销售网站的背景分析和该系统开发的实际意义,并做了详尽地分析说明,还指出了其必要性以及和其他类似应用相比的优势。

其二:关键技术介绍。对A设计部分对纳总结各种核心技术做了整个论文工作考研查询过程设计和数据库了分析说明,同时也针对了数据库的作用做了介绍。

其三:基于智能推荐的b2c销售网站系统分析和设计。本章分两部分,分析部分对系统开发的可行性和系统的开发需求做了分析,设计做了较为详细的介绍。

其四:系统实现。对本软件的基于智能推荐的b2c销售网站功能的实现过程做了介绍,同时也详细地介绍了各个模块的实现过程。

其五:系统测试。行通过对系统进行分析后进了代码设计、输入输出设计和处理过程设计。详细地大部分页面和最核心的代码,最后还对系统做了较为详细的给出了系统的所涉及到的测试分析。

其六:总结与展望。归过程中遇过的问题,并针对本系统做了一些个人评价。

2 系统开发环境

目前在系统的应用开发领域中,主要分成了两种主流的编程体系,一种是基于浏览器的B/S(Brower/Server)的结构,另一种则是C/S(Client/Server)结构,如今相关系统的开发设计中都选择B/S结构,在本次的学校基于智能推荐的b2c销售网站开发设计中,选择的就是开发环境为B/S结构的体系,采用基于SSM的框架,使用JSP技术,后台数据库选择了MySQL。

2.1 系统平台体系结构选择

在本系统中的应用开发领域主要采用了B/S结构。B/S结构即浏览器和服务器结构,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发,维护和使用。客户机上只要安装一个浏览器,服务器安装了MySQL,Sybase,Informix或SQL Server等数据库,本设计采用的是MySQL数据库,浏览器通过Web Server同数据库进行数据交互。在这种结构下,用户界面主要通过浏览器实现,节约了开发成本。

添加图片注释,不超过 140 字(可选)

图2.1 B/S结构

B/S最大的优点是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装,零维护。对于系统的扩展非常容易。现如今,B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。

2.2 J2EE平台概述

J2EE是java2 platform,Enterprise Edition的缩写,它是由美国的Sun Microsystems公司提出的一种用于开发分布式学校级应用程序的技术架构。J2EE提供了一个多层次的分布式应用模型和一系列开发技术规范。J2EE简化了开发大型学校及应用系统的难度。如今,J2EE平台已经成为了开发分布式学校级应用的标准平台之一。

2.2.1 J2EE规范

J2EE平台由一整套服务,应用程序接口和协议构成,它对于开发基于Web的多层应用提供了在功能上的支持,以下对J2EE中的4种技术规范进行描述:

(1)JDBC(Java Database Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径。JDBC对数据库的访问也具有平台无关性。

(2)JSP(Java Server Pages):JSP页面由HTML代码和嵌入其中的java代码组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

(3)Java Servlet: Servlet是一种小型的Java程序,它扩展了Web服务器的功能。

(4)XML (Extensible Markup Language):XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。

2.2.2 J2EE体系结构

J2EE提供了基于组件的方式来设计,开发,组装和部署学校应用。J2EE使用了多层分布式的应用模型,主要通过以下几层来实现:

(1)客户层,运行在客户计算机上的组件。

(2)Web层,运行在J2EE服务器上的组件。

(3)业务层,运行在J2EE服务器上的组件。

J2EE应用程序是由组件构成的。应用程序客户端和Applet是指运行在客户计算机

上的组件。基于Java Servlet和JSP技术的组件叫做Web组件,主要运行在服务器上。学校Java Bean组件叫业务组件,也运行在服务器上。下面对J2EE的三个应用模型进行简要说明。

(1)客户端

J2EE客户端可以是一个Web组件或者是一个应用程序客户端。主要是Web客户端包括web页面和web浏览器;小应用程序,主要运行在安装了Java虚拟机的web浏览器的客户端;应用程序客户端,主要运行在客户机,可以提供用户界面;Java Bean组件结构,在服务器和客户端两层中包括了基于Java Bean的组件结构,通过Java Bean可以实现数据的流动,可以在应用程序客户或Applet与运行在J2EE服务器上的组件之间,或者是在J2EE服务器和后台数据库之间;J2EE服务的通讯,客户层可以直接与J2EE服务器上运行的业务层之间通讯,也可通过运行在Web层中的Servlet和JSP来实现。

(2)Web组件

J2EE的web组件可以是Servlet或JSP页面。

(3)业务组件

业务组件是指由位于业务层的学校Bean执行的逻辑,这些业务代码能够解决商业

领域上的一些重要的需求。现在主要有三种不同类型的学校Bean:会话Bean,实体Bean和消息驱动Bean。会话Bean代表客户的一次短暂的会话过程。在客户执行完成后,会话Bean以及它所包含的数据也随之流失。实体Bean代表的是持久的数据,既存储在数据库的一行纪录,即使客户终止或者服务器关闭,在J2EE底层确保实体bean的数据被保存下来。

(4)学校信息系统层

学校信息系统层处理学校信息系统的软件,包括学校组织结构系统。

对以上关于J2EE体系结构的概述,可以归纳到以下几个概念,首先EJB即Enterprise Java Bean,是一种组件架构,用于开发和部署面向对象的,分布式的,学校级的应用程序。

EJB包括会话Bean(seSSMon bean)分为无状态会话Bean(stateless seSSMon bean)和有状态会话Bean(stately seSSMon bean),实体Bean(entity bean)分为Bean管理实体Bean和容器管理实体Bean,由于这种Bean对应于数据库中的记录,所以数据库记录的任何改变也被同步到组件池中的相关bean中,这个过程叫做持久性。消息驱动Bean(message-driven bean)。

其次,容器即container,一个实体,它管理组件的生命周期,安全,部署,和运行时服务。每个类型的容器都只提供与相应类型的组件相关的服务。如EJB,WEB,JSP,Applet和应用程序客户端。其中,EJB容器和Web容器都运行在J2EE服务器中。

2.3 SSM框架介绍

1、Springmvc介绍

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow[2]里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

2、Spring框架技术

Spring是一个开源框架,它由Rod Johnson创建。主要是为了解决学校应用开发的复杂性而创建的。Spring使用基本Java Bean来完成由EJB完成的事情。Spring的用途不仅限于服务器端的开发。由于Spring的简单性,可测试性和松耦合性。任何的Java应用可以使用Spring。

Spring是一个轻量级的控制反转(IOC)和面向对象(AOP)的容器框架。

轻量:主要从大小和开销两方面而言。此外,Spring是非侵入式框架,主要体现在,Spring应用中的对象不依赖于Spring特定类。

控制反转:Spring通过一种控制反转(IOC)的技术促进了松耦合。控制反转应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的,这样控制权就由应用转移到了外部容器,控制权的转移即所谓的反转。在运行期,由外部容器动态的将依赖对象注入到组件中即称为依赖注入。依赖注入主要有三种方式:接口注入,属性注入,构造函数注入。

面向切面:Spring还提供了面向切面编程的丰富支持,面向切面编程主要是针对业务处理过程的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。

容器:Spring包含并管理应用对象的配置和生命周期,它是一种容器,使得用户可以配置自己的每个Bean如何被创建,以及Bean创建单独的实例或生成一个新的实例,及它们之间如何相互关联。

框架:Spring可以将简单组件配置,组合成为复杂的应用。在Spring框架的应用中,应用对象被声明在一个XML文件中。Spring当然也提供了很多方便的基础功能如事务管理,持久化框架集成等等。

基于这些Spring的特征,我们在应用开发中可以编写出更加方便管理,方便测试的优秀代码。同时也为Spring中的各种模块提供了大力的支持。

Spring框架由7个定义明确的模块组成。下面将简要介绍这7个模块。

(1)核心容器:核心容器是Spring框架中最基础的部分,通过依赖注入(Dependency Injection)特征来实现容器对Bean的管理,即是由核心容器提供的。在这其中最基本的概念是Bean Factory,它是任何Spring应用的核心。这里最基本的概念是Bean Factory,Bean Factory是工厂模式的一个实现,它使用IOC将应用配置和依赖说明从实际的应用代码中分离出来。

(2)应用上下文(Context)模块:上下文模块使它成为一个框架。这个模块拓展了Bean Factory的概念。主要增加了对国际化消息,事件传播,以及验证的支持。另外,这个模块还提供了许多学校服务。

(3)Spring的AOP模块:AOP模块是在Spring应用中实现切面编程的基础。AOP主要是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的莫个步骤或阶段,以获得逻辑过程中各个部分之间低耦合的隔离效果。AOP的实现步骤是首先确定连接点(切点),确定处理逻辑调用模式,编写处理逻辑,配置ProxyFactoryBean实例。

(4)JDBC抽象和DAO模式:使用JDBC经常导致大量的重复代码,取得连接,创建语句,处理结果集,然后关闭连接。使用了Spring的JDBC和DAO模块就可以抽取这些没必要的重复代码,保证数据库访问代码干净简介,防止因关闭数据库资源失败而引起的其它问题。另外,这个模块还是用了Spring的AOP模块为Spring应用中的对象提供了事务管理服务。

(5)对象/关系映射集成模块:Spring还提供了ORM模块个使用对象/关系映射工具的用户。Spring并不是实现它自己的ORM解决方案,而是为几种流行的ORM框架提供了集成方案,包括如Hibernate,JDO和IBATIS SOL映射。Spring的事务管理则支持这些经典的ORM框架。

(6)Spring的Web模块:Web上下文模块建立与应用上下文模块之上。这个模块提供了面向服务的支持。

(7)Spring的MVC框架:Spring为构建Web应用提供了一个功能全面的MVC框架。Spring的MVC框架使用IOC实现了控制逻辑和业务对象的弯曲分离。

通过以上内容我们对Spring框架的详细介绍,我们了解到由于spring框架的自身特点使得J2EE更加容易使用,面向接口而不是针对类编程,减轻了开发的复杂度,Spring框架还会帮助我们,使代码的测试更加简单,同时Java Bean提供了应用程序配置的最好方法。Spring框架技术的出现让我们这些Web开发的用户获益匪浅。

3、IBatis简介

Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate、Toplink等在java编程的对象持久化方面深受开发人员欢迎。

对象关系映射(ORM):简单原理是通过面向对象方式操作关系型数据库,目前存储数据最常用最流行的工具是关系型数据库,其操作方式是通过 SQL语句操作数据库的表,但是对于Java面向对象编程语言中,所有的操作对象都是对象,因此对象关系映射就是把数据库表和java编程语言中的对象对 应起来,把表的列同java对象中的字段对应起来,程序员在程序开发过程中不再是使用原始SQL语句去直接操作数据库,而是通过ORM提供的查询语句操作 普通的java对象,ORM将其提供的对普通java对象的查询语句翻译成SQL语句来操作数据库,从而屏蔽了不同数据库SQL语句的差别,简化了程序开 发工作,提高了程序的可移植性。

2.Ibatis开发的准备工作:

(1).将Ibaits相关的jar包添加到工程的类路径下。

(2).Ibatis工程的主要配置文件为:

a.Ibatis的总配置文件SqlMapConfig.xml。

b.Ibatis的实体映射文件。

3 系统分析

本章将从整体上描述系统的需求,根据需求确定了系统的整体结构和数据库设计方案,对系统各部分的功能进行了划分并描述了系统架构的设计思路。本文将详细的分析系统的续期功能的设计及实现方法。

3.1系统可行性分析

对于系统的可行性分析,也许我们并不陌生,究其目的,要意识到对于该问题的几种方法的可能潜在的利弊,然后才能得出准确的判断,看原来设置的目标能不能实现,其实这个也就是要在一个比较高端的角度,以不是很具体的方式来做一个整体的分析和设计,就是这样的一个过程。

应用的可行性包括许多方面,整体来讲可以概括为三点,首先是经济上的可行性,毕竟这是任何人都不得不面对的问题;其次,技术上也必须可行,不可脱离实际;最后,操作和法律上的可行性也是不可或缺的。经过一系列的研发之后,还有进行运行和实际操作,从发展的眼光来看,还要考虑这个系统的可持续发展性,一个成功的基于智能推荐的b2c销售网站平台,也许在硬件设备上是有一定的局限性,进一步的优化和创新乃至突破是非常重要的。

3.1.1经济可行性

该系统的研发在经济上并没有非常大的需求,商品信息的获取也只需较少的费用。同时,目的也并非是十分的复杂,这样并不实用,研发的时间整体上来说很长,事实上它达到了为用户带来方便的目的,还可以让该应用有很大的发展空间,这样的话,那它所产生的回报会高于支出。Java平台是一个非常自由的平台,开发人员的经济支出其实是有限的。这样会在很大程度上提升该系统的高效性这一特点,然后就能为研发工作创造一个良好的条件和基础。结果证实,本系统的开发确实科学性较强。

3.1.2技术可行性

该应用采用的是基于JavaEE开发,现阶段来讲,Java发展已经相当成熟,并且以Java为开发平台的研发日益增多,受到很多研发工作人员的欢迎。所以,技术层面上Javaee其实是能够完成这个平台开发的任务。因此系统开发在技术上是可行的。

3.1.3操作可行性

对于软件来讲,开发之后其操作难度决定了它能否受到大规模推广,这是研发者必须考虑的问题,而本基于智能推荐的b2c销售网站就非常易于操作。使用者能够拥有一个浏览器设备,根本就不需要指导,很自然的就能够自己学会使用,操作完全没有复杂性,因此,在开发这个软件的时候,我并没有提供提示或者帮助这类功能,这完全不影响。多以,该系统在操作上来说,都是广大群众非常熟练的模式,一切的操作都很简单,易于上手。

3.1.4法律可行性

该系统无论在哪一方面都有十分详尽的考虑,包括技术,经济等等,事实上,它也绝不会有任何的法律问题,完全具有法律的可行性,其研发能够进行。

3.1 需求分析

3.2.1 系统目标

本系统的目标是要完成一个基于B/S架构的基于智能推荐的b2c销售网站功能的设计和开发。这些模块主要包括服装订购管理、用户管理、订单管理、商品管理等功能。实现对基于智能推荐的b2c销售网站信息进行管理,实现管理自动化,系统化,规范化。本系统开发过程主要采用基于SSI框架技术,使用JSP页面技术,后台数据库采用MySQL开发而成,保证查询,添加,删除,修改等功能。

3.2.2 用户需求和模块功能

1、注册用户:订单管理、退货管理、新闻查看、产品购买、购物车管理、账户管理。

添加图片注释,不超过 140 字(可选)

管理员:订单管理、商品管理、客户管理、广告管理、新闻管理、支付配送管理、销售统计

添加图片注释,不超过 140 字(可选)

3.3软件系统的非功能分析

软件的非功能需求是约束系统、支持功能实现的相关需求,包括软件的效率、可靠性、安全性、可用性、适应性等。由于本软件的用户量较大应满足以下非功能需求:

(1)效率:基于智能推荐的b2c销售网站数据库访问速度最大延迟为1秒,允许多个用户并行访问,访问站点不能超过2秒的延迟时间。

(2)可靠性:保证系统正常工作,具有抗干扰能力,能够对系统检测并自动纠错。出现故障时不会发生崩溃,并且功能重新恢复。

(3)安全性:保证信息的可用性、完整性、机密性、用户身份认证。

(4)可用性:界面友好、容易学习、方便用户使用。

(5)适应性:系统能能够适应外部环境及需求的变化。

3.7 设计目标

设计与实现一个基于智能推荐的b2c销售网站。能够辅助管理员对基于智能推荐的b2c销售网站信息的管理。

在构建系统时,根据不同的模块的特点和功能,新系统必需满足以下目标:

(1)稳定性:保证系统能够稳定的运行,部分硬件的变化不会影响到系统的整体运行,同时系统的运行也不会受到其他错误模块的影响。

(2)准确性:根据官方的操作指南,使用系统管理员操作所产生的“权限数据”,应该是符合所有数据库的实际状态,它是禁止记录错误和错位数据等现象。

(3)开放性:系统可以在保证兼容性的硬件基础上,进行多个站点的操作,作为在Java平台的基础上架构的该系统具有独立的平台,在不同的环境下,具有独立处理能力。

(4)可扩展性:如果有新的业务增加,不需要改变原有系统,你只需要进行扩展。

(5)可维护性:接口参数的变化不需要再写代码,从而大大方便了二次开发。

(6)独立性:尽量减少模块之间的链接,这样用户可以自主选择模块需要安装或不需要安装的模块。

(7)易使用性:系统的用户界面和操作员之间的交互性非常的好,同时和主机使用B/S模式。

(8)先进性:使系统能够跟上技术的发展,不过时。在保证系统稳定性的前提下,我们可以尝试更多的国际上的流行技术。

4 系统概要设计

概要设计的主要任务是把需求分析得到DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分,建立模块的层次结构及调用关系,确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述,确定数据的结构特性,以及数据库的设计,显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。

4.1 系统功能模块图

经过对系统的需求分析的了解,我们对系统的功能模块进行了划分,图4.1是本系统所涉及的功能模块图。

1、注册用户:订单管理、退货管理、新闻查看、产品购买、购物车管理、账户管理。

添加图片注释,不超过 140 字(可选)

管理员:订单管理、商品管理、客户管理、广告管理、新闻管理、支付配送管理、销售统计

添加图片注释,不超过 140 字(可选)

图4.1 功能模块图

3.2 系统业务流程分析

添加图片注释,不超过 140 字(可选)

4.6 人机界面设计

人机界面设计是接口设计的一个组成部分。对于人机交互系统,人机界面设计和数据设计、架构设计、工艺设计等都是重要的。近年来,人机界面在系统中的比例越来越大,个人设计的人机界面在系统中的工作量甚至占到总设计的一半以上。

人机界面设计的质量,直接影响到用户对软件产品的评价,从而影响到软件产品的竞争力和使用寿命,因此,必须给予足够的重视人机界面的设计。

本系统的用户在使用该系统时,首先要通过用户登录模块对身份进行验证,当确认正确后可进入系统。每个模块都具有自己的页面和功能,根据人机界面设计指南和模块功能可以设计用户界面。

4.3数据库设计

在一个数据库应用系统的开发过程中,数据库的设计是整个系统的基础。良好的数据结构设计不仅可以减少数据冗余、提高查询效率,而且还可以降低应用程序的编写难度,提高工作效率。

4.2.1 数据库概要设计

概念设计是在分析数据的基础上建立了系统的分析和数据库设计,然后从前面分析的角度,将设计的观点整合在一起,最终完成了系统的结构分析和优化设计。

一般的数据库结构的概念,是一个实体和属性的关系模型。E-R模型一般拥有实体、属性和联系等多方面的信息,E-R模型采用的是E-R图来表示,需要提示用户工作中所以需要用到的事物,属性则是对实体信息的表述。

概念设计的目标是需要反映出系统所要求的数据库概念的结构,也就是概念模型。概念模式是独立于数据库的逻辑结构的,并且是一个独立的DBMS,不需要去依赖计算机系统的。

根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

添加图片注释,不超过 140 字(可选)

4.2.2 E-R图向关系模型的转换

关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下:

(1) 实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性及为关系模式的属性,实体标识符及为关系模式的键。

(2) 联系类型的转换,根据不同的情况做不同的处理:

①若实体间的联系是1:1,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一各关系模式的键和联系类型的属性。

② 若实体间的联系1:N,则在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。

③若实体间的联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上关系类型的属性,而键为两端实体间的组合。

依照该规则将网上招聘求职系统的E-R图转换为关系模型如下:

将每一个实体转换成一个关系(关系就是给出关系名,写出属性,并标明该关系的主键)。

管理员信息(流水号,管理员帐号,管理员密码)

用户信息(流水号,姓名,编号号,年龄,性别,用户名,密码,邮箱,QQ)

4.2.3 数据表结构

建立一个良好的数据库,需要追寻一下原则:

1. 尽量较少数据沉余和重复。

2. 操作设计和结构设计相结合。

3. 数据结构具有相对的稳定性。

根据系统的需求分析,同时又根据相关部分数据流程,本系统共创建了3长表,

以下为数据库中的表:

数据库名:egorder3

表名:advertise

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

subject

varchar

128

4

content

text

5

pic_id

varchar

32

6

pic

varchar

128

7

level

int

11

8

place_id

varchar

32

9

place

varchar

128

10

type

varchar

32

11

creator_id

varchar

32

12

creator_name

varchar

64

13

create_time

datetime

14

modifier_id

varchar

32

15

modifier_name

varchar

64

16

modify_time

datetime

17

state

varchar

1

c

18

url

varchar

1000

表名:area

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

parent_id

varchar

32

3

code

varchar

16

4

name

varchar

256

5

level

int

11

6

sort

int

11

7

creator_id

varchar

32

8

creator_name

varchar

100

9

create_time

datetime

10

modifier_id

varchar

32

11

modifier_name

varchar

100

12

modify_time

datetime

13

state

varchar

1

s

表名:customer

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

operator_id

varchar

32

3

operator_name

varchar

100

4

name

varchar

100

5

code

varchar

32

6

account

varchar

32

7

pwd

varchar

32

8

vip_level_id

varchar

32

9

vip_level_name

varchar

100

10

payment_id

varchar

32

11

payment_code

varchar

32

12

payment_name

varchar

100

13

company_name

varchar

100

14

company_address

varchar

256

15

machine_brand

varchar

32

16

machine_model

varchar

32

17

linkman

varchar

100

18

mobile

varchar

32

19

telephone

varchar

32

20

email

varchar

64

21

remark

varchar

512

22

creator_id

varchar

32

23

creator_name

varchar

100

24

create_time

datetime

25

modifier_id

varchar

32

26

modifier_name

varchar

100

27

modify_time

datetime

28

state

varchar

1

s

表名:delivery

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

delivery_fee

decimal

18

2

5

remark

varchar

512

6

creator_id

varchar

32

7

creator_name

varchar

100

8

create_time

datetime

9

modifier_id

varchar

32

10

modifier_name

varchar

100

11

modify_time

datetime

12

state

varchar

1

s

表名:dictionary

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

128

4

sort

int

11

5

state

varchar

1

s

表名:dictionary_item

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

dictionary_id

varchar

32

3

code

varchar

64

4

name

varchar

128

5

sort

int

11

表名:file_upload

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

app_id

varchar

32

3

app_type

varchar

32

4

create_time

datetime

5

postfix

varchar

8

6

original_name

varchar

64

7

relative_path

varchar

128

表名:good

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

good_type_name

varchar

100

5

good_type_id

varchar

32

6

unit

varchar

8

7

shape

varchar

32

8

price

decimal

18

2

9

weight

double

18

2

0.00

10

stock

double

11

pic_id

varchar

32

12

pic

varchar

128

13

remark

text

14

creator_id

varchar

32

15

creator_name

varchar

100

16

create_time

datetime

17

modifier_id

varchar

32

18

modifier_name

varchar

100

19

modify_time

datetime

20

state

varchar

1

c

21

daily_net_sales

int

11

22

pic1_id

varchar

32

23

pic1

varchar

128

24

pic2_id

varchar

32

25

pic2

varchar

128

26

pic3_id

varchar

32

27

pic3

varchar

128

28

pic4_id

varchar

32

29

pic4

varchar

128

30

pic5_id

varchar

32

31

pic5

varchar

128

表名:good_specification

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

16

3

name

varchar

64

4

show_type

varchar

1

0

5

show_way

varchar

1

1

6

remark

varchar

512

7

sort

int

11

8

creator_id

varchar

32

9

creator_name

varchar

64

10

create_time

datetime

11

modifier_id

varchar

32

12

modifier_name

varchar

64

13

modify_time

datetime

14

state

varchar

1

s

表名:good_specification_val

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

good_specification_id

varchar

32

3

value

varchar

64

4

sort

int

11

5

state

varchar

1

s

表名:good_type

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

parent_id

varchar

32

3

code

varchar

16

4

name

varchar

100

5

level

int

11

6

remark

varchar

512

7

sort

int

11

8

creator_id

varchar

32

9

creator_name

varchar

100

10

create_time

datetime

11

modifier_id

varchar

32

12

modifier_name

varchar

100

13

modify_time

datetime

14

state

varchar

1

c

表名:goods_complaints

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

contract_number

varchar

32

4

few

varchar

32

5

pic_id

varchar

32

6

pic

varchar

128

7

main_drive_form

varchar

32

8

machine_model

varchar

32

9

thickness

varchar

16

10

machine_condition

varchar

16

11

mold_types

varchar

16

12

punch_structure

varchar

32

13

shape

varchar

32

14

gap

varchar

8

15

maintenance

varchar

16

16

view_waste

varchar

128

17

questions

text

18

stamping_plate

varchar

32

19

punch_methods

varchar

64

20

wear_turret_hole

varchar

64

21

guide_button_wear

varchar

64

22

mold_base_support

varchar

64

23

opinion

varchar

512

24

creator_id

varchar

32

25

creator_name

varchar

100

26

create_time

datetime

27

modifier_id

varchar

32

28

modifier_name

varchar

64

29

modify_time

datetime

30

state

varchar

11

表名:information

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

type

char

1

4

title

varchar

128

5

content

text

6

creator_id

varchar

32

7

creator_name

varchar

100

8

create_time

datetime

9

modifier_id

varchar

32

10

modifier_name

varchar

100

11

modify_time

datetime

12

state

varchar

1

s

表名:message

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

type

char

1

3

title

varchar

128

4

content

text

5

recipient_id

varchar

32

6

recipient_name

varchar

100

7

creator_id

varchar

32

8

creator_name

varchar

100

9

create_time

datetime

10

state

varchar

1

s

表名:order_good

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

order_id

varchar

32

3

good_id

varchar

32

4

standard

varchar

512

5

number

decimal

18

2

6

price

decimal

18

2

7

money

decimal

18

2

8

remark

varchar

512

9

attachment_id

varchar

32

10

attachment_name

varchar

150

11

sort

int

11

12

isReturn

varchar

11

表名:orders

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

handler_name

varchar

100

4

handler_id

varchar

32

5

remark

varchar

512

6

customer_id

varchar

32

7

customer_name

varchar

100

8

is_tax

char

1

1

9

discount

double

18

2

0.85

10

good_money

decimal

18

2

0.00

11

order_money

decimal

18

2

0.00

12

tax_money

decimal

18

2

0.00

13

discount_money

decimal

18

2

0.00

14

payment_id

varchar

32

15

payment_code

varchar

32

16

payment_name

varchar

100

17

delivery_id

varchar

32

18

delivery_name

varchar

100

19

delivery_fee

decimal

18

2

20

delivery_address

varchar

256

21

delivery_mobile

varchar

16

22

delivery_telphone

varchar

16

23

post_code

varchar

8

24

linkman

varchar

100

25

flow_state

int

11

26

pay_state

char

1

27

creator_id

varchar

32

28

creator_name

varchar

100

29

create_time

datetime

30

modifier_id

varchar

32

31

modifier_name

varchar

100

32

modify_time

datetime

33

state

varchar

1

c

34

order_express

varchar

32

35

delivery_time

datetime

36

remind

varchar

32

37

isReturn

varchar

11

表名:payment

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

payment_fee

decimal

18

2

5

vip_level_id

varchar

256

6

vip_level_name

varchar

256

7

remark

varchar

512

8

creator_id

varchar

32

9

creator_name

varchar

100

10

create_time

datetime

11

modifier_id

varchar

32

12

modifier_name

varchar

100

13

modify_time

datetime

14

state

varchar

1

s

表名:received_address

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

customer_id

varchar

32

3

address

varchar

256

4

zip_code

varchar

8

5

linkman

varchar

100

6

mobile

varchar

30

7

telephone

varchar

30

8

sort

int

11

表名:serial_number

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

app_type

varchar

100

3

serial_date

datetime

4

number

int

11

5

type

varchar

1

表名:sms_receive

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

msgid

varchar

32

3

sender

varchar

100

4

content

varchar

1024

5

create_time

datetime

表名:sms_send

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

sender

varchar

100

3

receiver

varchar

1600

4

content

varchar

1024

5

create_time

datetime

6

state

varchar

1

c

表名:supplier

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

150

4

address

varchar

256

5

payables

decimal

18

2

6

receivables

decimal

18

2

7

linkman

varchar

100

8

mobile

varchar

30

9

telphone

varchar

30

10

email

varchar

64

11

area_ids

varchar

128

12

area_names

varchar

256

13

street

varchar

256

14

zip_code

varchar

30

15

creator_id

varchar

32

16

creator_name

varchar

100

17

create_time

datetime

18

modifier_id

varchar

32

19

modifier_name

varchar

100

20

modify_time

datetime

21

state

varchar

1

s

表名:sys_power

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

creator_id

varchar

32

5

creator_name

varchar

100

6

create_time

datetime

7

modifier_id

varchar

32

8

modifier_name

varchar

100

9

modify_time

datetime

10

state

varchar

1

s

表名:sys_role

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

creator_id

varchar

32

5

creator_name

varchar

100

6

create_time

datetime

7

modifier_id

varchar

32

8

modifier_name

varchar

100

9

modify_time

datetime

10

state

varchar

1

s

表名:sys_role_power

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

role_id

varchar

32

3

power_id

varchar

32

4

sort

int

11

表名:sys_user

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

role_id

varchar

32

5

role_code

varchar

32

6

role_name

varchar

100

7

pwd

varchar

32

8

telphone

varchar

30

9

mobile

varchar

30

10

email

varchar

96

11

company

varchar

100

12

address

varchar

256

13

operator_id

varchar

32

14

operator_name

varchar

100

15

creator_id

varchar

32

16

creator_name

varchar

100

17

create_time

datetime

18

modifier_id

varchar

32

19

modifier_name

varchar

100

20

modify_time

datetime

21

state

varchar

1

s

22

begin

date

23

end

date

表名:vip_level

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

code

varchar

32

3

name

varchar

100

4

vip_discount

double

5

remark

varchar

512

6

creator_id

varchar

32

7

creator_name

varchar

100

8

create_time

datetime

9

modifier_id

varchar

32

10

modifier_name

varchar

100

11

modify_time

datetime

12

state

varchar

1

s

表名:ware

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

good_id

varchar

32

3

code

varchar

16

4

stock

int

11

5

price_discount

decimal

18

2

6

good_price

decimal

18

2

7

sort

int

11

8

pic

varchar

1000

9

pic_id

varchar

1000

10

good_val_id

varchar

32

11

good_val

varchar

1000

表名:ware_specification_val

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

varchar

32

2

ware_id

varchar

32

3

good_specification_val_id

varchar

32

4

sort

int

11

5 系统详细设计与实现

详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。详细设计的主要任务是设计每个模块的实现算法,所需的局部数据结构。

本章将使用图形,代码,语言等工具将系统的每个模块处理过程的详细算法描述出来。

5.1 用户登录

用户登陆模块最基本的作用是为了限制该管理系统资源的使用,只有经过身份确认的操作员才能对其个性化电子商务推荐系统进行相关操作。其基本过程是从客户端取得提交的用户名和密码,然后到数据库中进行核对。如果该信息在数据库中存在,那么就可以成功登录到下一界面,否则就会被该系统拒之门外。

选择连接数据库后,进入用户登陆界面。在用户登陆界面中输入用户名和密码,从数据库表中检查是否有相应的用户名和密码。如果用户名和密码错误,系统就会给出错误提示,并且不会有任何的页面跳转。如果输入的用户名和相应密码正确,则可以点击“确定”进入主控制平台。用户登陆的界面如图4.1所示。

添加图片注释,不超过 140 字(可选)

5.2用户注册

用户点击网站首页的注册链接并跳转到注册页面,在注册页面上填写上必填的手机号、密码相关的用户信息。当用户提交时,先由页面判断是否符合提交的基础要求,符合要求则向服务器提交表单数据。如果填写不正确,就会弹出错误提示框,让用户重新输入。

注册模块如图所示:

添加图片注释,不超过 140 字(可选)

5.3产品浏览

注册用户登录系统可以查看系统的产品信息。

添加图片注释,不超过 140 字(可选)

5.4购物车管理

在该模块中,用户必须注册成为会员才可以在有效登录时间内在网站进行订购,未注册的用户或注册失败的会员只可以浏览物品或宠物,不可以把商品添加到购物车中。在购物车中,用户可以输入购买商品的数量,也可以删除购物车中的商品。

添加图片注释,不超过 140 字(可选)

5.5订单管理

在该模块中,用户必须注册成为会员才可以在有效登录时间内查看订单状态,包括订购的日期、订购数量还有商品是否已发货。界面如图所示。

添加图片注释,不超过 140 字(可选)

1.描述:管理员点击左侧的菜单“订单管理”,页面跳转到订单信息管理界面,从数据库中查询出所有的订单信息,并把这些信息显示到页面中。主要包括订单信息。点击修改按钮实现订单信息的修改操作。

2.程序效果图如下图4.11所示

添加图片注释,不超过 140 字(可选)

5.6新闻查看

用户可以查看商城的新闻信息。

添加图片注释,不超过 140 字(可选)

5.3密码修改

为了可以更好的、更方便的对用户信息进行管理,读者可以进行密码修改的操作,以确保个人账户的安全。用户登录成功后,在主页面中通过“修改密码”的链接就可以直接进行个人密码的修改操作。密码修改页面中将会显示当前用户的用户名信息,用户在页面中需要输入原来使用的密码、新密码和确认的新密码,用户点击“修改”按钮完成修改,点击“重置”按钮可以将用户输入的信息清空,方便用户重新输入信息。

密码修改的界面如图所示。

添加图片注释,不超过 140 字(可选)

5.2用户管理

1.描述:管理员点击左侧的菜单“用户管理”,页面跳转到用户信息管理界面,从数据库中查询出所有的用户信息,并把这些信息显示到页面中。主要包括用户名、类型信息。点击添加按钮实现用户信息的添加操作。

2.程序效果图如下图4.11所示

添加图片注释,不超过 140 字(可选)

5.5商品管理

1.描述:管理员点击左侧的菜单“商品管理”,页面跳转到商品信息管理界面,从数据库中查询出所有的商品信息,并把这些信息显示到页面中。主要包括商品信息。点击添加按钮实现商品信息的添加操作。

2.程序效果图如下图4.11所示

添加图片注释,不超过 140 字(可选)

第六章 系统测试

在设计系统和系统开发的过程中,我们常常会遇到一些错误,有时是一些简单的语法错误,对于语句的语法错误,我们再编码的时候很多的开发工具就能够识别出来从而很容易发现并改正;还有一些错误是很难发现的,开发工具也不会给出提示,只有在我们运行程序是才会报错,这就需要我们对程序进行调试,如果遇到这种错误我们可以通过加断点或者打印语句等方法来定位错误,再根据错误信息改正错误。

系统开发完成后,测试环节是必不可少的。系统在开发过程中,首先分析需求和设计阶段得出的结论,用来确定测试的目的和范围。系统测试有单元测试、集成测试和系统测试等。

6.1 测试方法

本系统采用黑盒测试法,黑盒测试又称为功能测试。黑盒测试不同于白盒测试,不需要测试人员具有专业的测试知识,也不需要了解系统的内部运行细节。在测试时只需要找到所有输出功能和输入的集合,对每个模块分别进行测试分析。白盒测试,需要测试人员具有一定的专业知识,要懂得系统的内部工作过程。

6.2 测试环境介绍

测试环境:操作系统win7系统,数据库MYSQL。

测试数据:用户登录。

6.3 功能模块测试

用户登录测试,测试结果如表6.1所示。

表6.1 用户登录测试表

用例名称

用户登录

测试时间

3.03

对应需求

用户登录

测试人员

陶梦娇

功能描述

验证用户登录

测试目的

不存在用户或者帐号密码错误登录是否成功

前置条件

数据库中存在用户(帐号:tmj,密码:tmj123)非法用户(tmj123)

测试步骤

1.在登录界面中输入帐号和密码2.单击“登录”按钮

序号

输入数据/动作

预期结果

实际结果

1

输入用户名和密码

去服务器数据库验证

和预期结果一致

2

输入非法用户

提示登录错误信息

和预期结果一致

在进行用户登录测试时,输入用户名和密码,点击登录按钮后,系统会去后台对用户名和密码进行校验。如果用户名和密码正确则跳转到用户信息界面,如果用户名和密码不正确就会显示登录不成功弹出提示框显示登录失败。

用户注册测试,测试结果如表5-2所示。

结 论

本文主要介绍了基于SSM 框架下基于智能推荐的b2c销售网站的设计与实现,该系统实现了对大量的基于智能推荐的b2c销售网站进行管理,从而大大提高了基于智能推荐的b2c销售网站管理效率。在控制层,利用Struts2的标签功能,在Action中直接与JSP页面上的数据进行交互。在业务逻辑层,可以利用Spring框架的依赖注入来实现对业务逻辑类和DAO类的实例编写。在持久层,利用hibernate提供的半自动化的对象关系映射的实现,开发人员需要编写具体的SQL语句,为系统设计提供了更大的自由空间。

当然,本系统仍存在一定不足,如:在基于智能推荐的b2c销售网站管理模块中,还应该增加一个模块给用户提出问题反馈意见。

致 谢

首先感谢我的导师老师在毕业设计过程中,从课题的选择、技术上的指导到具体的设计中,指导我阅读相关的资料和书籍,引领我快速入门,在开发的过程中对我的系统给出了一些及时的建议,在这段期间,我始终感受着老师的精心指导,受益匪浅,在此向老师表示深深的感谢。值得一提的是,李老师对学生认真负责,在她身上,我可以感受到一个学者的严谨和务实,这些都让我受益匪浅,并将终身受用。毕竟“经师易得,人师难求”,希望借此机会向陈老师表示最衷心的感谢!

不积跬步,何以至千里,本课题能顺利完成,也归功于大学期间各位任课老师的认真负责,使我能够很好的掌握和运用专业知识。同时还有这四年来一起学习的同学,感谢所有帮助过我的人。

最后,我还要感谢我的父母在物质及精神上给予的支持,他们不仅培养了我对科学文化的浓厚兴趣,让我在漫长的人生旅途中使心里有了明确的目标,而且也为我能够顺利的完成毕业论文提供了巨大的支持和帮助,在未来的日子里,我会更加努力的学习和工作,不辜负父母对我的殷殷期望!我一定会好好的孝敬和报答他们!

参考文献

[1] 马斗,邱哲,王俊标.JSP开发答疑200问[M].人民邮电出版社,2009:6-12.

[2] 李振华,季小虎.Dreamweaver基础教程[M].清华大学出版社,2010:5-20.

[3] 柳纯路,刘明亮.信息系统基于智能推荐的b2c销售网站管理师教程[M].清华大学出版社,2011:2-15.

[4] 任港.Ibatis框架源码剖析[M].电子工业出版社,2010:30-70.

[5] 苏林忠.基于JSP技术的动态WEB开发[M].河南师范大学学报,2008:3-10.

[6] 李振捷.JSP网站开发典型模块与实例精讲[M].电子工业出版社,2009:23-38.

[7] 李江,张威.实例解析XML/XSL/Java网络教程[M].北京希望电子出版社,2012:510-531.

[8] 庞永庆.JavaScript网页编程从入门到精通[M].科学出版社,2009:5-16.

[9] 徐明华.Struts基础与案例开发详解[M].清华大学出版社,2009:34-44.

[10] 孟晓峰.数据库系统导论[M].机械工业出版社,2010:7-15.

[11] 叶键毅.精通JavaEE-Eclipse Struts2 Hibernate Spring 整合应用案例[M].人民邮电出版社,2009:33-48.

[12] Gary Mark.Spring攻略[M].人民邮电出版社,2012:3-14.

[13] 计文柯.Spring技术内幕[M].机械工业出版社,2010:146-165.

[14] 刘中兵Java研究室.Java高手真经Java Web核心框架[M].电子工业出版社,2009:552-688.

[15] Billington.MySQL PL/SQL实战[M].人民邮电出版社,2012:45-63.a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

drawDB docker部属

docker pull xinsodev/drawdb docker run --name some-drawdb -p 3000:80 -d xinsodev/drawdb浏览器访问:http://192.168.31.135:3000/

CentOS7下Hadoop集群分布式安装详细图文教程

1、集群规划 主机 角色 DSS20 NameNode DataNode ResourceManager NodeManager DSS21 SecondaryNameNode NameNode NodeManager DSS22 DataNode NodeManager 1.1、环境准备 1.1.1 关闭防火墙 #查看防火墙状态 firewall-cmd --state #停止…

计算机网络——网络层-IPV4相关技术

一、网络地址转换NAT • 网络地址转换 NAT 方法于1994年提出。 • 需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。 • 所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将…

postgresql|数据库|利用sqlparse和psycopg2库批量按顺序执行SQL语句(psyconpg2新优化版本)

一、 旧版批量执行SQL脚本的python文件缺点,优点,以及更新内容 书接上回,postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)_python sql psycopg2-CSDN博客 这个python脚本写了很久了,最近开始…

Node.js——http 模块(二)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

基于element UI el-dropdown打造表格操作列的“更多⌵”上下文关联菜单

<template><div :class"$options.name"><el-table :data"tableData"><el-table-column type"index" label"序号" width"60" /><!-- 主要列 BEGIN---------------------------------------- --&g…

javascrip基础语法

为什么学习 JavaScript? JavaScript 是 web 开发人员必须学习的 3 门语言中的一门&#xff1a; HTML 定义了网页的内容CSS 描述了网页的布局JavaScript 控制了网页的行为 1. JavaScript 输出 1.1 console.log()&#xff1a;用于将信息输出到浏览器控制台&#xff0c;例如con…

大语言模型预训练、微调、RLHF

转发&#xff0c;如有侵权&#xff0c;请联系删除&#xff1a; 1.【LLM】3&#xff1a;从零开始训练大语言模型&#xff08;预训练、微调、RLHF&#xff09; 2.老婆饼里没有老婆&#xff0c;RLHF里也没有真正的RL 3.【大模型微调】一文掌握7种大模型微调的方法 4.基于 Qwen2.…

django基于Python的校园个人闲置物品换购平台

Django 基于 Python 的校园个人闲置物品换购平台 一、平台概述 Django 基于 Python 的校园个人闲置物品换购平台是专为校园师生打造的一个便捷、环保且充满活力的线上交易场所。它借助 Django 这一强大的 Python Web 开发框架&#xff0c;整合了校园内丰富的闲置物品资源&…

abap安装cl_json类

文章来自 SAP根据源码导入/ui2/cl_json类 - pikeduo - 博客园 新建一个se38程序&#xff0c;把源码放到里&#xff0c;源码如下 *----------------------------------------------------------------------* * CLASS zcl_json DEFINITION *----------------------------…

[OPEN SQL] ORDER BY排序数据

本次操作使用的数据库表为SFLIGHT&#xff0c;其字段内容如下所示 航班(SFLIGHT) 该数据库表中的部分值如下所示 OPEN SQL中的ORDER BY语句用于对数据库表中的数据进行排序 在查询数据的时候使用ORDER BY语句&#xff0c;则查询出来的结果会按照ORDER BY指定的字段进行排序 排序…

STM32F103ZET6战舰版单片机开发板PCB文件 电路原理图

资料下载地址&#xff1a;STM32战舰版单片机开发板PCB文件 电路原理图 1、原理图 2、PCB 3、板子介绍 一、核心芯片与性能 核心芯片&#xff1a;STM32F103ZET6&#xff0c;这是一款基于ARM Cortex-M3内核的高性能单片机。处理器频率&#xff1a;高达72MHz&#xff0c;确保了…

An FPGA-based SoC System——RISC-V On PYNQ项目复现

本文参考&#xff1a; &#x1f449; 1️⃣ 原始工程 &#x1f449; 2️⃣ 原始工程复现教程 &#x1f449; 3️⃣ RISCV工具链安装教程 1.准备工作 &#x1f447;下面以LOCATION代表本地源存储库的安装目录&#xff0c;以home/xilinx代表在PYNQ-Z2开发板上的目录 ❗ 下载Vivad…

GAN的应用

5、GAN的应用 ​ GANs是一个强大的生成模型&#xff0c;它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布&#xff0c;也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…

centos9设置静态ip

CentOS 9 默认使用 NetworkManager 管理网络&#xff0c;而nmcli是 NetworkManager 命令行接口的缩写&#xff0c;是一个用来进行网络配置、管理网络连接的命令工具&#xff0c;可以简化网络设置&#xff0c;尤其是在无头&#xff08;没有图形界面&#xff09;环境下。 1、 cd…

Idea日志乱码

问题描述 前提&#xff1a;本人使用windows Idea运行sh文件&#xff0c;指定了utf-8编码&#xff0c;但是运行过程中还是存在中文乱码 Idea的相关配置都已经调整 字体调整为雅黑 文件编码均调整为UTF-8 调整Idea配置文件 但是还是存在乱码&#xff0c;既然Idea相关配置已经…

R4-LSTM学习笔记

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 LSTM-火灾温度预测 导入数据数据可视化设置X、y构建模型调用模型个人总结LSTM 的基本结构细胞状态&#xff08;Cell State&#xff09;LSTM 的优点 导入数据 i…

uniapp实现H5页面内容居中与两边留白,打造类似微信公众号阅读体验

在 UniApp 中&#xff0c;由于需要兼容多端应用&#xff0c;我们通常使用 rpx 作为尺寸单位。然而&#xff0c;在某些情况下&#xff0c;如需要实现内容居中且两边留白时&#xff0c;直接使用 rpx 可能会带来一些限制。这时&#xff0c;我们可以考虑使用 px 或 rem 等单位&…

网工_网络体系结构

2024.01.09&#xff1a;网络工程学习笔记&#xff08;网工老姜&#xff09; 第1节 网络体系结构 1.1 计算机一切皆011.2 网络协议1.3 协议的分层模型1.4 主机1向主机2发送数据过程1.5 本章小结 1.1 计算机一切皆01 在计算机内部&#xff0c;所有的数据最终都是以01的方式存在的…

CI/CD 流水线

CI/CD 流水线 CI 与 CD 的边界CI 持续集成CD&#xff08;持续交付/持续部署&#xff09;自动化流程示例&#xff1a; Jenkins 引入到 CI/CD 流程在本地或服务器上安装 Jenkins。配置 Jenkins 环境流程设计CI 阶段&#xff1a;Jenkins 流水线实现CD 阶段&#xff1a;Jenkins 流水…