基于协同过滤算法商品推荐系统设计与实现

news2024/11/17 9:35:55

协同过滤算法商品推荐系统设计与实现

摘 要

传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装协同过滤算法商品推荐系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,协同过滤算法商品推荐系统的有效运用可以帮助管理人员准确快速地处理信息。

协同过滤算法商品推荐系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现协同过滤算法商品推荐系统的功能。其中管理员管理用户,新闻公告。

协同过滤算法商品推荐系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,协同过滤算法商品推荐系统都可以轻松应对。

关键词:协同过滤算法商品推荐系统;SpringBoot框架,系统分析,数据库设计

Abstract

The traditional method of managing public transportation information first takes more time, and secondly, the data error rate is relatively high, and it is more difficult to modify the wrong data, and finally, it is laborious and laborious to retrieve the data. Therefore, installing the public transportation query website software on the computer to play its role in efficient information processing can standardize the public transportation information management process, so that the management work can be systematized and programmed. At the same time, the effective use of the public transportation query website can help managers accurately Process information quickly.

The public transportation query website is also very cautious in the selection of development tools. In order to facilitate the development and realization, the selected development tool is Eclipse, and the selected database tool is Mysql. In this way, the development environment is built to realize the functions of the public transport query website. Among them, the administrator manages users, drivers, news announcements, manages vehicles, stations, and trip information in the route management module, and responds to users’ suggested messages in the message suggestion management module. Users inquire about the site, inquire about transfer information, post message suggestions, and check news announcements.

The bus query website is an application system designed and implemented using software development technology. It can achieve rapid information processing. Whether it is for data addition, data maintenance and statistics, and data query processing requirements, the bus query website can easily response.

**Key Words:**Public transport query website; bus number information; suggestion to leave a message; query site

目 录

第1章 绪论 1

1.1选题动因 1

1.2目的和意义 1

1.3论文结构安排 2

第2章 开发环境与技术 3

2.1 MYSQL数据库 3

2.2 Tomcat 介绍 3

2.3 vue技术 4

2.4 SpringBoot框架 5

第3章 系统分析 5

3.1可行性分析 5

3.1.1操作可行性分析 5

3.1.2经济可行性分析 6

3.1.3技术可行性分析 6

3.2系统流程分析 6

3.3系统性能分析 8

第4章 系统设计 9

4.1界面设计原则 9

4.2功能结构设计 10

4.3数据库设计 10

4.3.2 数据库物理设计 11

第5章 系统实现 14

5.1用户信息管理 14

5.2 商品信息管理 15

5.3资讯类型管理 16

5.1商品资讯管理 17

第6章 系统测试 19

6.1 系统测试方法 19

6.2 功能测试 19

6.2.1 登录功能测试 20

6.3 测试结果分析 20

结 论 21

参考文献 23

致 谢 24

第1章 绪论

1.1选题动因

当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐渐增多,因此,在计算机上安装软件来发挥其高效地信息处理的作用,则很受人们的青睐。对于协同过滤算法商品推荐系统信息来讲,通过手工形式处理,在面对庞大的信息数量时,就显得不适宜了,首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,为了解决上述问题,有必要建立协同过滤算法商品推荐系统,来规范协同过滤算法商品推荐系统信息管理流程,让管理工作可以系统化和程序化,同时,协同过滤算法商品推荐系统的有效运用可以帮助管理人员准确快速地处理信息。

1.2目的和意义

协同过滤算法商品推荐系统可以对协同过滤算法商品推荐系统信息进行集中管理,可以真正避免传统管理的缺陷。协同过滤算法商品推荐系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,协同过滤算法商品推荐系统都可以轻松应对。所以,协同过滤算法商品推荐系统的运用是让协同过滤算法商品推荐系统信息管理升级的最好方式。它可以实现信息处理的便利化要求,还可以规范信息处理的流程,让事务处理成为管理人员手中的一件简单事,而不是之前手工处理时的困难事。尽管协同过滤算法商品推荐系统具备较完善的功能,但是也需要管理人员利用闲暇时间提升自身素质以及个人能力,在操作协同过滤算法商品推荐系统时可以最大化运用协同过滤算法商品推荐系统提供的功能,让系统在满足高效率处理数据的同时,也能始终稳定运行,还可以确保数据的可靠性与数据处理的质量。

1.3论文结构安排

本文总共分为6个章节,每个章节都对本系统描述了不同的内容。接下来就对本文的研究内容进行阐述。

第1章:这个章节是论文的绪论部分。从选题的背景和意义的角度阐述即将开发的系统。

第2章:这个章节是技术介绍部分。从本系统需要运用的技术知识的角度阐述系统。

第3章:这个章节是系统分析部分。从分析系统可行性,分析系统功能和性能等角度阐述系统。

第4章:这个章节是系统设计部分。从系统功能结构的角度和数据库设计的角度阐述系统。

第5章:这个章节是系统实现部分。从系统功能模块运行效果的角度阐述系统。

第6章:这个章节是系统测试部分。从测试系统功能,系统测试方法的角度阐述系统。

第2章 开发环境与技术

开发协同过滤算法商品推荐系统需要搭建编程的环境,也需要通过调查,对各个相关技术进行分析,选取适合本系统开发的技术与工具。

2.1 MYSQL数据库

题目确定了是一个应用程序之后,就开始按部就班的进行设计与分析。本课题是需要数据库作为数据管理工具以及数据载体,从程序功能分析到数据分析,选择合适的关系型数据库是当下所选择的重要环节。关系型数据库可选择余地不多,本身甲骨文公司的两个,微软的两个,IBM的一个,也就是这五个了,功能和差异都不影响数据库的选择,因为这些数据库都能实现应用程序功能所需的,那么只能从其他的方面来综合考虑哪种数据库更合适。作为开发使用的电脑硬件上来讲,还是大一的时候买的,当初并没有太多的钱买好一点的电脑,只是作为学习用的,所以经过这么几年的使用,电脑老化了,性能下降也比较厉害,还有好多需要用的学习资料,本身面临毕业,选择学校机房也不是一个长久的打算,选择一个数据库适合自己的老旧笔记本电脑作为学习开发当前的应用,是最重要的。综合考虑的结果就是选用MySQL数据库作为应用数据库,因为MySQL数据库体积小,占用内存小,不影响电脑上其他用的软件运行,并且不需要因为安装维护MySQL数据库而重装系统,最终选择的数据库就是MySQL数据库。

2.2 Tomcat 介绍

刚开始学习Java语言的时候,是不知道还有Tomcat这些东西的,各种语法各种输出在控制台进行输出结果,当Java网站开发的时候就不可避免的学习到了Tomcat服务器。Tomcat准确的来讲不算是服务器,可以说是vue引擎或者一个容器,这些都是学术上或者原理上都比较贴切的,但是实际工作中Tomcat就是作为一个web服务器来用的,因为可以实现网站的发布和运行。因为工作原理的原因,Tomcat一般作为中小型企业和并发量并不突出的一种轻量级的服务器存在的,比如某些行业的应用系统,本身客户端就不多,需要的连接也不多,一般都用Tomcat的。Tomcat里面可以配置多个网站,配置文件后缀是config的文档,类似于XML的结构,比较清晰明了。每当Java发布新的版本的时候,Tomcat也会为了匹配Java的版本进行升级,目前Tomcat版本已经到版本10了。Tomcat标识是一只有点发黄的小猫咪,当Tomcat配置成功一般测试的时候能看到这个小猫咪就算是成功的,才能进行下一步的配置。Tomcat服务器在Java网站开发中还是挺合适的。

2.3 vue技术

vue技术可以让初学者尽快上手进行编写动态网站,不需要变成高级的Java编程人员才可以书写代码,从学习的效率还有编写的效率上都有很大的提升。让着重于网页开发者与着重于后台逻辑开发进行分离合作开发变成了一种可能,降低了学习成本,不需要考虑程序运行解释编译阶段的话,vue网页本身就可以理解成一个普通的Servlet。vue结构上面,主要分为两个方面,一个是专属的vue引擎,通俗的讲就是可以实现vue编译后运行解释的一个东西,另一个就是web服务器。vue运行编译需要vue引擎和web服务器进行配合以及相互协作,当然他们的分工也是很明确的,这样才可以真正的运行起来。vue容器和引擎有Tomcat,这个Tomcat其实也还有Apache静态解释代码的部分,虽然看起来运行效果差不多,但是其实是两个截然不同的工具,在文件系统里目录也是不一样的,当然如果有特殊需求也是可以进行特殊的配置的,配置上面还是比较灵活的。虽然Tomcat部署了网站之后就可以运行网页让客户访问,但是Tomcat也只是vue引擎而非web服务器。比如JRUN和Resin都算是vue引擎,而web服务器的职责比较单一,就是处理客户端请求还有返回给客户显示请求处理后的数据而已。vue引擎则可以运行纯HTML编写的网站,也可以运行vue编写的动态网站,在效率上也只是比单纯的web服务器而已,但是从纯web服务器无法运行动态网站上来讲,vue引擎在功能上还是强大了很多,提升一点点效率反而算不了什么,对于必须实现的功能这些要素上,选择了vue技术。

2.4 SpringBoot框架

java一直被人诟病的一点就是臃肿、麻烦。当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其原因注意是两点:复杂的配置,项目各种配置其实是开发时的损耗, 因为在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。一个是混乱的依赖管理。项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。而SpringBoot让这一切成为过去!Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置,存放默认配置的包就是启动器),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,就能得到一个生产级别的web工程。

第3章 系统分析

用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料,分析人员可以根据这些信息确定出本系统具备的功能,分析出本系统具备的性能等内容。

3.1可行性分析

尽管系统是根据用户的要求进行制作,但是在确定制作前,有必要分析其可行性。

3.1.1操作可行性分析

开发本系统需要用到的工具,本人都比较熟悉,因此可以使用这些工具,完整开发协同过滤算法商品推荐系统。此外,协同过滤算法商品推荐系统在功能上,基本都是完成信息的处理,涵盖了添加,修改,删除等,而且操作者面对的都是各个功能操作界面,并不是编码后台,所以一般的使用者都可以通过操作界面轻松完成信息的加工处理。因此,本系统操作可行。

3.1.2经济可行性分析

开发本系统,并没有投入资金购买开发工具。因为使用的开发工具都是事先在百度上下载安装在本人电脑上的,随着软件开发技术的成熟,系统功能实现的编码也都模块化,很容易通过各大软件开发类网站获取,并通过小部分代码改动,运用到本系统中,这些都不需要资金投入,同时,本系统开发的结构选用B/S,成本可以忽略不计。

3.1.3技术可行性分析

本系统需要的软件包括Eclipse,Tomcat,Mysql等,这些工具都接触并使用过,至于JAVA,B/S,vue,Html等技术,图书馆都有对应的书籍可以参考学习,加上平时课堂上学习的编程小项目对这些技术都有讲解,另外,本人也从课程设计作业中锻炼了编程能力。所以在技术上,可以完成协同过滤算法商品推荐系统的编程开发。

通过上面的分析,已经确定了本系统在经济上的可行,本系统在技术上的可行,本系统在操作上的可行。由此,可以得出在目前的条件下,对于协同过滤算法商品推荐系统的设计与实现是可以进行下去的。

3.2系统流程分析

本系统在处理数据时,其内部的操作逻辑也需要使用相应的工具进行展示。

在本系统的数据录入页面,对于操作者提供的每条数据都有相应的检验规则,比如数据信息不能有非法字符,或者本来应该是汉字的数据,不能用字母代替,还有对数据内容的长度等进行规范,这样的可以确保数据准确性的检验规则,在编码时,就提前编写好了。数据添加的流程见下图。如果数据已经保存进入数据库,则说明操作者提供的数据内容和格式都是符合要求的。

图3.1 添加信息流程图

很多时候,面对系统中的大量数据,难免会发现一些错误,因此需要及时纠正错误,本系统也提供数据后期的修改功能,其流程见下图。但是更新的数据也需要通过数据有效性检验。能够最终写入数据库则说明修改的数据是符合要求的。

图3.2 修改信息流程图

面对数据库里面大量数据,在系统的前台,要想快速获取需要的信息,就需要使用查询功能。其流程见下图。该功能需要操作者提前输入关键词,当系统的后台数据库保存了与关键词匹配的数据时,就会及时显示出来,整个过程耗时很短。

图3.3 查询信息流程图

3.3系统性能分析

分析协同过滤算法商品推荐系统对于性能的需求主要还是从下面的5个角度来分析,它们分别是系统的实用性,系统的适应性,系统的易操作性,系统的安全性和系统的易维护性。

性能需求一:系统的实用性,本系统主要是让管理人员集中处理相关信息,可以提供方便快捷的信息添加,信息编辑等操作。在提高信息管理人员的工作效率的同时,也可以降低管理成本,并大大减少管理人员日常繁琐的工作量。

性能需求二:系统的适应性,本系统对于运行环境的要求并不高,可以被广泛运用在生活中。因为使用者只要在日常使用的计算机,或者是随身携带的笔记本上搭建运行环境都能运行本系统,另外系统提供的基础功能包括添加,修改等都能随时操作。

性能需求三:系统的易操作性,本系统提供的功能跟同类型系统一样,也具备简单的增删改操作,操作流程的逻辑也符合广大使用者的使用需求,使用者使用本系统管理数据会非常顺手。

性能需求四:系统的安全性,本系统在数据保存与管理上安全系数要达标,在设计与编码阶段,通过对用户进行权限分配,把系统的功能依照不同用户的角色进行分配,在首次进入系统时,通过编写安全验证的代码模块,引导不同用户进入不同的操作界面。还可以对用户基础信息包括登录的账号密码等进行加密保存,可以利用当下常用的技术成熟的MD5加密技术实现。

性能需求五:系统的易维护性,本系统在后期运行中,会根据使用者的操作,产生许多数据信息,为了便于维护,就要求这些数据可以通过工具从数据库中导出来,对于一些阶段性数据,可以进行批量删除,以此达到轻负荷处理数据的目标,让本系统可以变得更加轻盈。

第4章 系统设计

市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。

4.1界面设计原则

一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。

第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。

第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。

第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。

第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。

作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。

4.2功能结构设计

为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。

在这里插入图片描述

图4.1 系统功能结构图

4.3数据库设计

一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。

(1)下图是用户实体和其具备的属性。

在这里插入图片描述

用户实体属性图

(2)下图是购物车实体和其具备的属性。

在这里插入图片描述

购物车实体属性图

(3)下图是客服聊天实体和其具备的属性。

在这里插入图片描述

客服聊天实体属性图

(4)下图是论坛实体和其具备的属性。

在这里插入图片描述

论坛实体属性图

(5)下图是商品实体和其具备的属性。

在这里插入图片描述

商品实体属性图

(6)下图是商品资讯实体和其具备的属性。

在这里插入图片描述

商品资讯实体属性图

(7)下图是商家实体和其具备的属性。

在这里插入图片描述

商家实体属性图

(8)下图是商品收藏实体和其具备的属性。

在这里插入图片描述

商品收藏实体属性图

(9)下图是商品评价实体和其具备的属性。

在这里插入图片描述

商品评价实体属性图

(10)下图是商品订单实体和其具备的属性。

在这里插入图片描述

商品订单实体属性图

(11)下图是收货地址实体和其具备的属性。

在这里插入图片描述

收货地址实体属性图

4.3.2 数据库物理设计

作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。

表4.1收货地址表

序号列名数据类型说明允许空
1IdIntid
2yonghu_idInteger创建用户
3address_nameString收货人
4address_phoneString电话
5address_dizhiString地址
6isdefault_typesInteger是否默认地址
7insert_timeDate添加时间
8update_timeDate修改时间
9create_timeDate创建时间

表4.2购物车表

序号列名数据类型说明允许空
1IdIntid
2yonghu_idInteger所属用户
3shangpin_idInteger商品
4buy_numberInteger购买数量
5create_timeDate添加时间
6update_timeDate更新时间
7insert_timeDate创建时间

表4.3客服聊天表

序号列名数据类型说明允许空
1IdIntid
2yonghu_idInteger提问用户
3chat_issueString问题
4issue_timeDate问题时间
5chat_replyString回复
6reply_timeDate回复时间
7zhuangtai_typesInteger状态
8chat_typesInteger数据类型
9insert_timeDate创建时间

表4.4字典表

序号列名数据类型说明允许空
1IdIntid
2dic_codeString字段
3dic_nameString字段名
4code_indexInteger编码
5index_nameString编码名字
6super_idInteger父字段id
7beizhuString备注
8create_timeDate创建时间

表4.5论坛表

序号列名数据类型说明允许空
1IdIntid
2forum_nameString帖子标题
3yonghu_idInteger用户
4shangjia_idInteger商家
5users_idInteger管理员
6forum_contentString发布内容
7super_idsInteger父id
8forum_state_typesInteger帖子状态
9insert_timeDate发帖时间
10update_timeDate修改时间
11create_timeDate创建时间

表4.6商品资讯表

序号列名数据类型说明允许空
1IdIntid
2news_nameString资讯标题
3news_typesInteger资讯类型
4news_photoString资讯图片
5insert_timeDate添加时间
6news_contentString资讯详情
7create_timeDate创建时间

表4.7商家表

序号列名数据类型说明允许空
1IdIntid
2shangjia_nameString商家名称
3shangjia_phoneString联系方式
4shangjia_emailString邮箱
5shangjia_photoString营业执照展示
6shangjia_typesInteger商家类型
7new_moneyBigDecimal现有余额
8shangjia_contentString商家介绍
9shangjia_deleteInteger逻辑删除
10create_timeDate创建时间

表4.8商品表

序号列名数据类型说明允许空
1IdIntid
2shangjia_idInteger商家
3shangpin_nameString商品名称
4shangpin_uuid_numberString商品编号
5shangpin_photoString商品照片
6shangpin_typesInteger商品类型
7shangpin_kucun_numberInteger商品库存
8shangpin_old_moneyBigDecimal商品原价
9shangpin_new_moneyBigDecimal现价
10shangpin_clicknumInteger商品热度
11zan_numberInteger
12cai_numberInteger
13shangpin_contentString商品介绍
14shangxia_typesInteger是否上架
15shangpin_deleteInteger逻辑删除
16insert_timeDate录入时间
17create_timeDate创建时间

表4.9商品收藏表

序号列名数据类型说明允许空
1IdIntid
2shangpin_idInteger商品
3yonghu_idInteger用户
4shangpin_collection_typesInteger类型
5insert_timeDate收藏时间
6create_timeDate创建时间

表4.10商品评价表

序号列名数据类型说明允许空
1IdIntid
2shangpin_idInteger商品
3yonghu_idInteger用户
4shangpin_commentback_textString评价内容
5insert_timeDate评价时间
6reply_textString回复内容
7update_timeDate回复时间
8create_timeDate创建时间

表4.11商品订单表

序号列名数据类型说明允许空
1IdIntid
2shangpin_order_uuid_numberString订单号
3address_idInteger收货地址
4shangpin_idInteger商品
5yonghu_idInteger用户
6buy_numberInteger购买数量
7shangpin_order_true_priceBigDecimal实付价格
8shangpin_order_courier_nameString快递公司
9shangpin_order_courier_numberString订单快递单号
10shangpin_order_typesInteger订单类型
11shangpin_order_payment_typesInteger支付类型
12insert_timeDate订单创建时间
13create_timeDate创建时间

表4.12用户表

序号列名数据类型说明允许空
1IdIntid
2yonghu_nameString用户姓名
3yonghu_phoneString联系方式
4yonghu_id_numberString身份证号
5yonghu_photoString用户头像
6yonghu_emailString电子邮箱
7new_moneyBigDecimal余额
8create_timeDate创建时间

表4.13管理员表

序号列名数据类型说明允许空
1IdIntid
2usernameString用户名
3passwordString密码
4roleString角色
5addtimeDate新增时间

第5章 系统实现

这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。

功能模块的实现

5.1用户信息管理

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,

还进行了对用户名称的模糊查询的条件

在这里插入图片描述

图5.1 用户信息管理页面

5.2 商品信息管理

如图5.2显示的就是商品信息管理页面,此页面提供给管理员的功能有:查看已发布的商品信息数据,修改商品信息,商品信息作废,即可删除,还进行了对商品信息名称的模糊查询 商品信息信息的类型查询等等一些条件。

在这里插入图片描述

图5.2 商品信息管理页面

5.3资讯类型管理

如图5.3显示的就是资讯类型管理页面,此页面提供给管理员的功能有:根据资讯类型进行条件查询,还可以对资讯类型进行新增、修改、查询操作等等。

在这里插入图片描述

图5.3 资讯类型管理页面

5.1商品资讯管理

如图5.4显示的就是商品资讯管理页面,此页面提供给管理员的功能有:根据商品资讯进行新增、修改、查询操作等等。

在这里插入图片描述

图5.4 商品资讯管理页面

第6章 系统测试

尽管系统在编码过程中,程序的编制人员也会对编程的功能模块进行逐个测试,但还是避免不了已经组合完成的系统整体没有错误。很多时候,面对功能繁多,逻辑复杂的系统时,系统的测试就需要不同人来测试,并设计一些故障来检验系统的应对能力,以及发现很多系统内部的潜在问题。并通过寻求解决办法去完善系统,确保系统质量。

6.1 系统测试方法

根据系统的测试流程,划分的系统测试方法有单元测试,集成测试,系统测试,验收测试。接下来就开始描述这些内容。

单元测试:这个测试环节在编码中用得最多,主要是编程人员进行的,通常对编码实现的各个子模块当成一个单元完成测试,主要基于代码的层面去发现问题,所以它也是白盒测试中的一种。

集成测试:这个环节进行的前提是,已经把系统的各个子模块进行了组合,然后把组合的完整系统进行测试,检验组成目标系统的各个子模块是否具备兼容性,还有目标系统是否根据预期目标正常运行。

系统测试:这个环节用到了黑盒测试,主要是检验系统的功能。并确定目标系统的各个功能是否运行正常。

验收测试:这个环节需要用户参与,让用户在系统操作界面上通过对不同数据的输入,检测系统的输出结果,以此检验目标系统与用户需求之间存在的差异程度。存在的差异越小,就代表着越符合用户的期望。

6.2 功能测试

协同过滤算法商品推荐系统的目标用户最终面向的是系统的功能,所以检验本系统的功能也是一项重要任务,只有该系统的功能都能保证正常使用,才会吸引更多的用户来使用。

6.2.1 登录功能测试

本系统在编码时,提前在登录模块编写了安全验证规则,通过判断访问者提供的数据,引导符合要求的用户进入指定页面。测试表如下。错误的数据输入,在本系统中会得到及时的反馈提示。

表6.1 登录功能测试表

功能录入的数据预期结果实际结果结论
管理员登录用户名:空 密码:空提示请填写用户名提示请填写用户名通过测试
管理员登录用户名:guanliyuan 密码:空提示请填写密码提示请填写密码通过测试
管理员登录用户名:guanliyuan 密码:gly提示用户名密码不匹配提示用户名密码不匹配通过测试
管理员登录用户名:guanliyuan 密码:guanliyuan提示登录成功,并跳转到功能操作区提示登录成功,并跳转到功能操作区通过测试

6.3 测试结果分析

通过测试,可以发现协同过滤算法商品推荐系统具备完善的功能,同时具备易操作性和易维护性的特点,在系统安全性上也有比较健全的数据保护机制。至此,协同过滤算法商品推荐系统可以投入使用。

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

v-bind后面不加属性和v-bind的动态属性

v-bind 平常常见的用法我们应该都知道&#xff0c;说一说 v-bind 的不常用的方式&#xff0c;第一个就是 v-bind 后面直接不添加任何属性&#xff0c;此时会将一个对象的所有 property 都作为 prop 传入 先看官网的说法案例&#xff1a; 父组件&#xff1a; <templat…

海外合规|新加坡网络安全认证计划简介(二)-Cyber Essentials

一、 认证简介&#xff1a; Cyber Essentials 标志是针对开始网络安全之旅的组织的网络安全认证。它针对的是中小企业 (SME) 等组织。一些中小企业的 IT 和/或网络安全专业知识和资源有限&#xff1b;Cyber Essentials 标志旨在使他们能够优先考虑必要的网络安全措施&#xff…

C++ | Leetcode C++题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:int lastRemaining(int n) {int a1 1;int k 0, cnt n, step 1;while (cnt > 1) {if (k % 2 0) { // 正向a1 a1 step;} else { // 反向a1 (cnt % 2 0) ? a1 : a1 step;}k;cnt cnt >> 1;step …

如何将pdf文档翻译英语?4招教会你

在全球化的商业环境中&#xff0c;与海外客户沟通是常态。 当你需要将pdf文档翻译成英语时&#xff0c;会怎么做呢&#xff1f;是上网查找翻译工具还是求助同事完成翻译任务&#xff1f; 其实我有更好的解决办法&#xff0c;可以通过一些免费且实用的技巧&#xff0c;可以帮助…

安卓13删除app 链接库警告弹窗Detected problems with app native

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…

上海亚商投顾:深成指、创业板指均涨超1%,华为产业链反复活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数昨日走势分化&#xff0c;沪指全天震荡调整&#xff0c;2800点失而复得&#xff0c;深成指、创业板指…

如何用W外链创建一个永久不变的活码?

"W外链"这个术语不是一个标准的技术术语&#xff0c;因此我假设你可能是指的是“外链”或者“网址链接”的活码。活码的优势在于它可以提供一个永久不变的二维码&#xff0c;而背后的链接或内容可以灵活地进行更新和修改。以下是创建活码的一般步骤和优势&#xff1a…

PCI Express 体系结构导读摘录

系列文章目录 文章目录 系列文章目录术语第Ⅰ篇  PCI 体系结构概述第 1 章  PCI 总线的基本知识1. 1  PCI 总线的组成结构1. 1. 1  HOST 主桥1. 1. 2  PCI 总线1. 1. 3  PCI 设备1. 1. 4  HOST 处理器1. 1. 5  PCI 总线的负载 1. 2  PCI 总线的信号定义1. 2. 1  地址…

web前端-网页

一、网页 1.网页 网站是指在因特网上根据一定的规则&#xff0c;使用 HTML等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”&#xff0c;通常是 HTML格式的文件&#xff0c;它要通过浏览器来阅读。 网页是构成网站的基本元素,它通常由图片、链接、文字、声…

作为中级前端工程师,每天都做些什么?

一直以来都没有记录或总结过自己每天工作模式和状态&#xff0c;以至于说回想起刚毕业参加工作的时候&#xff0c;作为一个初级开发&#xff0c;做事凭借着满腔热情&#xff0c;花的时间多&#xff0c;但成长是否成正比呢? 今天分享一下自己当前的工作状态&#xff0c;其一是…

实验二 Java基础语法练习

实验目的及要求 目的&#xff1a; 掌握各种变量的声明方式掌握Java的基本数据类型、运算符与表达式的使用方法。理解Java的程序语法结构&#xff0c;掌握顺序结构、选择结构和循环结构语法的程序设计方法。通过以上内容&#xff0c;掌握Java语言的编程规则 要求&#xff1a; …

聚鼎装饰画:装饰画新手多久才能做起来

在艺术的海洋中&#xff0c;装饰画以其独特的魅力吸引着无数初学者的目光。然而&#xff0c;对于刚刚踏入这一领域的新手来说&#xff0c;一个共同的疑问往往萦绕在心头&#xff1a;多久才能在装饰画的世界中找到自己的一席之地? 一般而言&#xff0c;掌握装饰画的基本技巧并不…

二开PHP泛目录生成源码 可生成新闻页面和关键词页面——码山侠

PS 本资源提供给大家学习及参考研究借鉴美工之用&#xff0c;请勿用于商业和非法用途&#xff0c;无任何技术支持&#xff01; 下载i5i.net 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果 程序小 基本的服务器都带的得动 打开i5i.net——…

开源网安引领AIGC+开发安全,智能防护铸就软件安全新高度

近日&#xff0c;国内网络安全领域知名媒体数说安全正式发布了《2024年中国网络安全市场100强》和《2024年中国网络安全十大创新方向》。开源网安凭借在市场表现力、资源支持力以及产品在AI方向的创新力上的优秀表现成功入选百强榜单&#xff0c;并被评为“AIGC开发安全”典型厂…

vue脚手架路由快速入门

这里写目录标题 路由 router路由插件的引用离线在线CDN 单独路由使用案例项目中如何定义路由1\安装路由2\创建路由文件router.js以及创建相关文件3\应用插件main.js4\实现切换<router-link></router-link>5\展示位置 <router-view></router-view> 嵌套…

【渗透测试专栏】1.1认证和授权类-任意文件下载

该系列专栏旨在让漏洞检测变得更简单&#xff0c;只用于学习用途 靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客 一、漏洞描述 任意文件下载漏洞是指应用程序在实现文件下载功能时&#xff0c;由于对用户输入的文件路径等参数未进行严格的过滤和校验&#xf…

RAG技术架构与实现原理

本文详细解析了RAG技术&#xff0c;包括其定义、作用、技术架构和检索模块的实现与优化&#xff0c;全面展示了RAG在自然语言处理中的重要性和广泛应用前景。 关注TechLead&#xff0c;复旦AI博士&#xff0c;分享AI领域全维度知识与研究。拥有10年AI领域研究经验、复旦机器人智…

Java_jdk安装配置~java入门

目录 0.总体介绍 1.入门介绍 2.官网 3.关于版本的问题 4.环境变量配置 5.编码修改 6.创建项目 0.总体介绍 下面的这个情况比较复杂&#xff0c;因为遇到了一些别人没有遇到的问题&#xff0c;我会把自己遇到这个问题&#xff0c;到解决这个问题的过程尽可能详细的展示出…

Matplotlib 坐标轴标签,画布标题及图例legend设置

坐标轴标签设置 面向过程 面向过程的方式 使用plt.xlabel()和plt.ylabel()根据就近原则分别设置x轴和y轴的标签. import matplotlib.pyplot as plt import numpy as npx np.linspace(0, np.pi*2, 100) y np.sin(x) y1 np.cos(x)plt.subplot(221) plt.plot(x,y) plt.xlabe…

10 万元预算,竟能打造满足第一性原理计算的高性价比服务器

科学研究的领域中&#xff0c;第一性原理计算占据着至关重要的地位。它要求服务器具备极高的性能&#xff0c;以应对复杂的量子力学计算任务。 第一性原理计算涉及对物质本质的深入探索&#xff0c;需处理海量数据并进行大规模并行计算。第一性原理计算基于量子力学原理&#x…