高端企业网站建设_青岛网站建设_江门网站建设_做网站公司
Abstract The Yunnan Cuisine Recipe Website is a platform dedicated to showcasing and sharing Yunnan's unique cuisine. The website includes a rich collection of local flavors and provides detailed cooking steps and ingredient introductions, aiming to inherit and promote Yunnan's diverse culinary culture. This system is a Yunnan cuisine recipe website developed based on the SpringBoot framework, which implements functions such as food type management, food information management, order information management, food ranking management, preparation method management, ingredient classification management, ingredient information management, and food forum management for Yunnan cuisine. In the design and implementation process of this system, the object-oriented design principles and MVC design pattern were followed, making the system have good scalability and maintainability.
Keywords : Food recipes; MySQL database; Springboot framework
第一章 绪论 1.1研究背景与意义 云南,位于中国西南边陲,是一个历史悠久、民族众多的省份。这里不仅风景秀丽、气候宜人,而且美食种类繁多,具有独特的地方特色。云南美食融合了汉族、彝族、傣族、白族等多民族的饮食文化,形成了独树一帜的烹饪风格。尽管云南美食文化丰富多彩,但在全国范围内乃至国际上的知名度和影响力仍有待提升。随着生活节奏的加快和信息传播的迅速,人们对于便捷获取食谱和学习烹饪技巧的需求日益增长。建立一个系统性强、内容丰富、易于使用的云南美食食谱网站,对于推广和传承云南美食文化具有重要意义。
构建一个专注于云南美食的食谱网站,可以有效地集中展示云南的特色菜肴和烹饪技艺,为喜爱云南美食的人们提供一个学习、交流和分享的平台。通过这个平台,用户不仅可以轻松地找到各种云南美食的制作方法,还可以了解到每种食物背后的文化故事和健康理念,从而增进对云南文化的理解和认同。网站还可以作为云南饮食文化的宣传窗口,吸引更多国内外游客前来体验和品尝,促进当地旅游业的发展。对于云南省内的餐饮业者而言,该网站也能提供宝贵的信息资源,帮助他们提升服务质量,创新菜品,拓展业务。云南美食食谱网站的建设不仅有助于保护和传承珍贵的饮食文化遗产,还能促进地方经济的发展,增强云南在全国乃至全球的文化软实力。
1.2系统研究现状
在中国,随着互联网技术的发展和地方文化的推广,各个地区的美食文化逐渐受到全国乃至全世界食客的关注。云南作为多民族聚居的省份,其独特的风土人情孕育了丰富多彩的美食文化。近年来国内对云南美食的研究主要集中在食谱的收集整理、烹饪技艺的传承与创新以及美食文化的传播上。各类美食节目、旅游指南和网络平台都开始关注并介绍云南的特色菜肴,如过桥米线、云南小锅米线、鲜花饼等。一些专注于地方菜系的美食食谱网站也开始兴起,这些平台不仅为热爱云南美食的人们提供了学习和交流的空间,也推动了云南美食文化的保护和发展。 在国际上,对于中国美食文化的兴趣日益浓厚,特别是对于那些具有独特地域特色和文化内涵的地方美食。云南美食以其多样性和独特性吸引了众多外国食客和研究者的关注。国外的研究更多地从文化交流和旅游体验的角度出发,探讨如何将云南美食作为一种文化符号进行推广。一些国际美食杂志、旅游指南和文化交流项目通过专题报道、烹饪展示和美食节等形式,向世界介绍云南的美食和烹饪艺术。也有外国研究者通过对云南食材和烹饪方法的研究,探索云南美食在健康饮食和可持续发展方面的潜在价值。尽管国外对云南美食的研究不如国内深入广泛,但其研究成果和推广活动对于提升云南美食的国际知名度和影响力起到了积极作用。
1.3系统研究的主要内容 本系统选用Java作为后端编程语言,并采用Spring Boot框架,这为应用程序提供了轻量级、高效的开发环境。在数据处理方面,使用MySQL数据库,以满足大规模数据存储和查询的需求。前端技术方面,通过HTML、CSS、JavaScript和Vue.js构建出富有互动性和易用性的用户界面。开发过程中选用了Eclipse作为主要的编程工具,因其强大的开发功能和易用性大大提升了编程效率。此外,Navicat作为数据库管理工具,用于简化和优化数据库操作,以提升开发效率和项目的整体质量。整体来看,这个技术栈为管理系统的开发带来了效率和稳定性的双重保障。系统分管理员和用户两个角色,主要实现了对个人中心、用户管理、美食类型管理、美食信息管理、订单信息管理、美食排行榜管理、制作方式管理、食材分类管理、食材信息管理、美食论坛、系统管理等功能进行操作。
第二章 关键技术介绍 2.1 Java语言简介 Java是一种广泛应用于软件开发的高级编程语言。它由Sun Microsystems(现在是Oracle Corporation)的詹姆斯•高斯林(James Gosling)等人在20世纪90年代初开发而成。Java的设计目标是实现“一次编写,到处运行”的原则,即通过Java编写的程序可以在不同的操作系统和硬件平台上运行。
Java具有简单、面向对象、健壮、安全、跨平台等特点,因此被广泛应用于各个领域的软件开发,尤其是Web应用程序和移动应用程序的开发。Java的语法类似于C++,但相对来说更加简洁和易于理解。它支持面向对象的编程范式,提供了类、继承、多态等常见的面向对象概念。
Java的跨平台性是其最重要的特点之一。Java程序在编译时会被编译成字节码(bytecode),而不是直接编译成机器码。这些字节码可以在Java虚拟机(JVM)上运行,而JVM则负责将字节码转换为特定平台的机器码。这使得Java程序可以在任何安装了Java虚拟机的计算机上运行,无需针对不同的操作系统进行重新编译。
Java还提供了丰富的类库和API(应用程序接口),使得开发人员可以更加高效地编写代码。它包括了各种各样的功能模块,如图形界面、网络通信、数据库连接等,这些模块大大简化了开发过程,提高了开发效率。
总之,Java是一种强大而灵活的编程语言,具有广泛的应用领域和良好的跨平台性能。无论是开发Web应用程序、移动应用程序还是嵌入式系统,Java都是一个值得学习和掌握的重要工具。
Spring Boot是一个基于Spring框架的开源项目,它旨在简化Spring应用程序的创建、配置和部署过程。Spring Boot提供了一系列预设的默认配置,使得开发者可以快速搭建一个独立运行的应用。它还支持通过插件扩展功能,以满足不同场景的需求。Spring Boot具有自动配置、内嵌Web服务器、独立运行等特性,使得开发者能够更加专注于业务逻辑的开发。此外,Spring Boot还提供了丰富的依赖管理,方便开发者引入所需的库和组件。总之,Spring Boot是一个高效、便捷的开发工具,能够帮助开发者快速构建出高质量的Spring应用。
2.3 vue框架 Vue.js是一款轻量级的JavaScript框架,用于构建用户界面。它采用了MVVM(Model-View-ViewModel)架构模式,使得开发者可以更加高效地编写代码。Vue.js具有简单易学、灵活、高性能等特点,同时支持响应式数据绑定和组件化开发,使得开发者可以快速构建复杂的单页应用。Vue.js还拥有丰富的插件和工具库,如Vue Router、Vuex等,可以帮助开发者更好地完成项目开发。总之,Vue.js是一个非常优秀的前端框架,值得学习和使用。
MySQL是一种开源的关系型数据库管理系统(RDBMS),被广泛应用于各种规模的企业和个人项目中。它是由瑞典MySQL AB公司开发并推出的,后来被Sun Microsystems收购,最终成为Oracle公司的一部分。MySQL以其高性能、可靠性和灵活性而闻名,成为最受欢迎的数据库之一。
MySQL具有许多优点,其中之一是其简单易用的特性。它采用了SQL(Structured Query Language)作为查询语言,使得用户可以通过简单的命令和语法来操作数据库。MySQL提供了丰富的文档和社区支持,使得初学者可以快速上手并解决问题。MySQL还具备出色的性能和扩展性。它可以处理大量的数据,并支持高并发访问。MySQL使用了多线程架构和高效的索引机制,以提供快速的数据读写和查询响应时间。MySQL还支持主从复制和分布式架构,可以轻松地实现数据的备份和负载均衡,满足不同规模和需求的项目。MySQL的可靠性和稳定性很高。它具备ACID(原子性、一致性、隔离性和持久性)特性,确保数据的完整性和一致性。MySQL还提供了多种备份和恢复机制,可以防止数据丢失和故障发生。MySQL支持多种编程语言的接口,如Python、Java、PHP等,使得开发人员可以方便地与数据库进行交互。它还提供了丰富的存储引擎选项,如InnoDB、MyISAM等,以满足不同应用场景下的需求。
B/S模式,即浏览器/服务器模式,是一种常见的网络应用架构模式。在B/S模式中,用户通过浏览器作为客户端与服务器进行交互。相比于传统的C/S模式,B/S模式具有许多优势。B/S模式不需要安装客户端软件,只需通过浏览器访问网页即可使用,大大降低了部署和维护成本。B/S模式实现了跨平台和跨设备的应用访问,用户可以在任何具有浏览器的设备上使用应用程序。B/S模式将应用逻辑集中在服务器端,提高了系统的安全性和稳定性,并方便进行版本升级和功能扩展。B/S模式还支持多用户同时访问,实现了信息共享和协同办公。
3.1设计目标 建成一个用 java 结合 MySQL 数据库开发的云南美食食谱网站,该系统已经具备整个云南美食管理的能力,可以充分地让注册的用户感受到由云南美食食谱网站所带来的便捷服务。在此基础上继续完善系统的功能,使其能够动态管理用户信息的功能。建立更加完善的基础的、专业的数据库设计,提高系统整体的性能。使得用户能够更有兴趣来使用本系统。
可行性研究的目的是确定问题是否值得去解决,以便判断原定的系统规模是否现实,以及所带来的效益是否大于投资成本。从本质上看,可行性研究是为了以抽象的方式对系统进行分析和设计,并列出其规模与目标。因此,在分析和确定问题定义之后,从技术可行性、经济可行性和操作可行性三个方面分析,绘制系统流程图,从而对系统进行可行性研究。
3.2.1技术可行性 本项目在开发后端时,使用springboot开发框架进行开发。由于springboot开发框架是由java编写的后端程序框架。在其内部包含了一个轻量级的、独立的Web服务器,易于开发和测试。并且springboot支持序列化操作,能够生成或读取springboot模型实例。所以,本系统具有技术可行性。
3.2.2经济可行性 本系统设计与实现的开发软件需要从相关网站上购买下载,因此开发方面的支出主要集中在购买相关开发软件上。因为本项目开发周期短、维护费用不大等优点,系统投入使用后所能够获得的效益远远大于系统开发成本。所以,本系统具有经济可行性。
3.2.3操作可行性 这款云南美食食谱网站,是电子商务技术应用于网络管理中的实现。系统的后台界面,使得网站管理人员可以随时添加和修改系统中相关关键性信息。在用户交互界面,也无需在客户端安装其他应用程序,仅通过本项目中添加的外部在线聊天API就可以进行交流互动。为了使该系统能够稳定可靠的运行和数据处理,通过设置有效性原则等操作,极大增强了系统的稳定性,从而有效避免错误的出现。系统在工作时正常表现,并且能够正确高效的处理各类信息的记录于管理。所以,本系统具有操作可行性。
在进行可行性研究时需要对现有的系统进行分析,并表达对系统的大致认识。由于在设计阶段之后,需要将事先构建的逻辑模型,通过一系列转变,形成物理模型,因此选取系统流程图作为对物理模型的描述,从而形象展现出数据在各系统模块之间的运作情况。
UML是 Unified Modeling Language的缩写,又称统一建模语言。是开发者对客观事物进行建模的标记,同时也是为开发者了解系统需要什么样的功能和整个流程是什么样的做的前期工作。云南美食食谱网站的UML用例分析详情如下图所示。
图3-1 管理员用例图
图3-2 用户用例图
系统流程分析是一种对系统进行详细研究的方法,在了解系统的运作方式和各个组成部分之间的关系方面进行深入分析。通过系统流程分析,可以更好地理解系统的工作原理,发现潜在的问题和改进点,并为优化系统设计和提高系统性能提供依据。系统流程分析是一种重要的工具,能够帮助我们更好地理解和管理复杂的信息系统。
根据不同用户划分出不同的功能得出云南美食食谱网站的流程图,如图3-3所示:
图3-3系统工作的流程图
该平台对用户实行分级管理,用户分为两类:
(1)普通用户通过注册页面完成注册,输入个人信息。登录后进入后台管理系统,后台控制界面会显示该用户的个人信息。普通用户登陆后台后不允许针对系统的核心概况进行改动,如图3-4所示:
图3-4普通用户登录逻辑流程图
(2)系统管理员具有最高的管理权限。主要负责的任务是管理系统资源信息,针对系统内容做出调整,针对内容进行动态规划。针对普通用户进行权限的管理,以及添加或者删除普通用户的功能,如图3-5所示:
图3-5系统管理员登录逻辑流程图
第四章 系统设计 云南美食食谱网站在设计与实现时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。系统总体功能结构图如图4-1所示。
图4-1 系统总体功能结构图
4.2 数据库设计 数据库概念结构设计过程中,E-R图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。在系统中将对“用户、食材信息、美食论坛、订单信息、美食排行榜、公告信息”等作为实体,它们的局部E-R图,如图4-2所示:
图4- 2 局部E-R图
4.2.2 数据库表设计 本平台所采用的数据库是MySQL,数据库中包含数据库表和表之间的关系。该平台数据库设计采用的是关系型数据库表。表结构如下列各表所示。
表4-1:配置文件
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
name
varchar
100
配置参数名称
value
varchar
100
配置参数值
url
varchar
500
url
表4-2:公告信息分类
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
typename
varchar
200
分类名称
表4-3:关于我们
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
title
varchar
200
标题
subtitle
varchar
200
副标题
content
longtext
4294967295
内容
picture1
longtext
4294967295
图片1
picture2
longtext
4294967295
图片2
picture3
longtext
4294967295
图片3
表4-4:公告信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
title
varchar
200
标题
introduction
longtext
4294967295
简介
typename
varchar
200
分类名称
name
varchar
200
发布人
headportrait
longtext
4294967295
头像
clicknum
int
点击次数
0
clicktime
datetime
最近点击时间
thumbsupnum
int
赞
0
crazilynum
int
踩
0
storeupnum
int
收藏数
0
picture
longtext
4294967295
图片
content
longtext
4294967295
内容
表4-5:用户表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
username
varchar
100
用户名
password
varchar
100
密码
image
varchar
200
头像
role
varchar
100
角色
管理员
addtime
timestamp
新增时间
CURRENT_TIMESTAMP
表4-6:token表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
userid
bigint
用户id
username
varchar
100
用户名
tablename
varchar
100
表名
role
varchar
100
角色
token
varchar
200
密码
addtime
timestamp
新增时间
CURRENT_TIMESTAMP
expiratedtime
timestamp
过期时间
CURRENT_TIMESTAMP
表4-7:系统简介
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
title
varchar
200
标题
subtitle
varchar
200
副标题
content
longtext
4294967295
内容
picture1
longtext
4294967295
图片1
picture2
longtext
4294967295
图片2
picture3
longtext
4294967295
图片3
表4-8:美食论坛
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
title
varchar
200
帖子标题
content
longtext
4294967295
帖子内容
parentid
bigint
父节点id
userid
bigint
用户id
username
varchar
200
用户名
avatarurl
longtext
4294967295
头像
isdone
varchar
200
状态
istop
int
是否置顶
0
toptime
datetime
置顶时间
表4-9:收藏表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
userid
bigint
用户id
refid
bigint
商品id
tablename
varchar
200
表名
name
varchar
200
名称
picture
longtext
4294967295
图片
type
varchar
200
类型
1
inteltype
varchar
200
推荐类型
remark
varchar
200
备注
表4-10:食材信息评论表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
refid
bigint
关联表id
userid
bigint
用户id
avatarurl
longtext
4294967295
头像
nickname
varchar
200
用户名
content
longtext
4294967295
评论内容
score
double
评分
reply
longtext
4294967295
回复内容
表4-11:美食信息评论表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
refid
bigint
关联表id
userid
bigint
用户id
avatarurl
longtext
4294967295
头像
nickname
varchar
200
用户名
content
longtext
4294967295
评论内容
reply
longtext
4294967295
回复内容
表4-12:美食排行榜评论表
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
refid
bigint
关联表id
userid
bigint
用户id
avatarurl
longtext
4294967295
头像
nickname
varchar
200
用户名
content
longtext
4294967295
评论内容
score
double
评分
reply
longtext
4294967295
回复内容
表4-13:订单信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
dingdanbianhao
varchar
200
订单编号
meishimingcheng
varchar
200
美食名称
meishileixing
varchar
200
美食类型
tupian
longtext
4294967295
图片
jiage
double
价格
shuliang
int
数量
zongjiage
double
总价格
zhuyaoshicai
varchar
200
主要食材
xiadanshijian
datetime
下单时间
yonghuzhanghao
varchar
200
用户账号
yonghuxingming
varchar
200
用户姓名
yonghudianhua
varchar
200
用户电话
ispay
varchar
200
是否支付
未支付
表4-14:食材分类
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
shicaifenlei
varchar
200
食材分类
表4-15:制作方式
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
zhizuofangshi
varchar
200
制作方式
表4-16:用户
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
yonghuzhanghao
varchar
200
用户账号
mima
varchar
200
密码
yonghuxingming
varchar
200
用户姓名
xingbie
varchar
200
性别
touxiang
longtext
4294967295
头像
yonghudianhua
varchar
200
用户电话
表4-17:美食信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
meishimingcheng
varchar
200
美食名称
meishileixing
varchar
200
美食类型
zhizuofangshi
varchar
200
制作方式
tupian
longtext
4294967295
图片
zhizuoshipin
longtext
4294967295
制作视频
jiage
double
价格
guige
varchar
200
规格
zhuyaoshicai
varchar
200
主要食材
meishixiangqing
longtext
4294967295
美食详情
shiyongrenshu
varchar
200
适用人数
clicktime
datetime
最近点击时间
clicknum
int
点击次数
0
discussnum
int
评论数
0
storeupnum
int
收藏数
0
表4-18:美食排行榜
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
meishimingcheng
varchar
200
美食名称
meishileixing
varchar
200
美食类型
guige
varchar
200
规格
zhizuofangshi
varchar
200
制作方式
paiming
int
排名
tupian
longtext
4294967295
图片
zhizuoshipin
longtext
4294967295
制作视频
zhuyaoshicai
varchar
200
主要食材
meishixiangqing
longtext
4294967295
美食详情
fabushijian
datetime
发布时间
discussnum
int
评论数
0
storeupnum
int
收藏数
0
表4-19:美食类型
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
meishileixing
varchar
200
美食类型
image
longtext
4294967295
图片
表4-20:食材信息
字段名称
类型
长度
字段说明
主键
默认值
id
bigint
主键
主键
addtime
timestamp
创建时间
CURRENT_TIMESTAMP
shicaimingcheng
varchar
200
食材名称
shicaitupian
longtext
4294967295
食材图片
shicaifenlei
varchar
200
食材分类
shicaiyongtu
longtext
4294967295
食材用途
zhizuofangshi
varchar
200
制作方式
shicaijieshao
longtext
4294967295
食材介绍
discussnum
int
评论数
0
storeupnum
int
收藏数
0
第五章 系统实现 5.1.1首页页面功能实现 当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过点击导航条上的美食信息、美食排行榜、食材信息、美食论坛、公告信息、个人中心等功能进入各详细页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示:
图5-2用户注册界面
美食信息:在美食信息页面输入美食名称进行查询美食详细信息,并进行下单、评论或收藏操作;如图5-3所示:
图5-3美食信息界面
食材:在食材页面通过输入食材名称进行查询食材详细信息,并进行评论或收藏操作;食材页面如图5-4所示:
图5-4食材详细页面
5.1.2个人中心页面实现 个人中心:在个人中心页面可以对个人中心、修改密码、订单信息、我的收藏、我的发布进行详细操作;如图5-5所示:
图5-5个人中心界面
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-6所示。
图5-6管理员登录界面
管理员进入主页面,主要功能包括用户管理、美食类型管理、美食信息管理、订单信息管理、美食排行榜管理、制作方式管理、食材分类管理、食材信息管理、美食论坛、系统管理、我的信息等进行操作。管理员主页面如图5-7所示:
图5-7管理员主界面
美食类型功能在视图层(view层)进行交互,比如点击“查询信息、新增或删除”按钮或填写美食类型表单。这些美食类型表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、更改或移除美食类型信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食类型功能可以看到最新的信息或相应的操作反馈。如图5-8所示:
图5-8美食类型管理界面
美食信息功能在视图层(view层)进行交互,比如点击“查询信息、新增或删除”按钮或填写美食信息表单。这些美食信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、发布排行、更改、查看评论或移除美食信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食信息功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9美食信息管理界面
美食排行榜功能在视图层(view层)进行交互,比如点击“查询信息或删除”按钮或填写美食排行榜表单。这些美食排行榜表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、更改、查看评论或移除美食排行榜信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食排行榜功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10美食排行榜管理界面
食材信息功能在视图层(view层)进行交互,比如点击“查询信息、新增或删除”按钮或填写食材信息表单。这些食材信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、更改、查看评论或移除食材信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便食材信息功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11食材信息界面
美食论坛功能在视图层(view层)进行交互,比如点击“查询信息、新增或删除”按钮或填写美食论坛表单。这些美食论坛表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、更改、查看评论或移除美食论坛信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食论坛功能可以看到最新的信息或相应的操作反馈。如图5-12所示:
图5-12美食论坛界面
第六章 系统测试 云南美食食谱网站的测试是为了使功能满足不同级别用户的需求,主要的目标是找到项目中可能存在的漏洞。但是,测试仅仅是一个完善系统可行性功能的过程,绝不能够证明程序是完全正确的。所以在后续的部署上线的使用过程中,可以不断针对系统可能出现的问题做出测试,发现还未被发现的问题。
测试方法主要包括两种方式:
黑盒测试:注重测试产品的功能测试、产品的数据规格测试。测试案例是应用系统应该做的功能,照规范、规格或要求等设计。测试者选择有效输入和无效输入来验证是否正确的输出。
白盒测试:注重测试产品结构、产品的逻辑驱动测试。测试者了解待测试程序的内部结构、算法等信息,这是从程序设计者角度对程序进行的测试。尽管这种测试的方法可以发现许多的错误或问题,它可能无法检测未使用部分的规范。针对云南美食食谱网站功能特性,本次测试采用的是黑盒测试。
6.3系统测试用例 6.3.1系统登录模块的测试 模块名称
登录模块
测试环境
操作系统 浏览器
条件设置
无
步骤序号
具体描述
输入数据
预期效果
1
在注册界面,不输任何信息、选择登录按钮
不能登录,出现提示:用户名不能为空;
2
输入错误的用户名或密码
用户名为12
密码为12
提示(用户名错误)
3
输入正确的用户名和密码
用户名:12
密码:ckmputer
显示登录成功,并跳转到首页
4
点击注册按钮
直接跳转到注册界面
5
必填信息:选项遗漏
用户名:12
密码:123456
确认密码:123456
E-mail:未填
提示信息未填写完整,无法完成注册
6
选填信息:选择遗漏
用户名:12
密码:123456
确认密码:123456
E-mail:1669400@qq.com
提示注册成功
7
注册用户重复
用户名:12级计算机
提示该用户名已经被注册
8
注册使用密码超过16位
用户名:12
密码:
123456789123456789
提示密码超过规定的16位
9
注册时确认密码和原始密码不同
用户名:12
密码:123456
确认密码:654321
提示两次密码不一致,请重新输入
10
普通用户登录
用户名:小明
密码:123456
进入普通用户界面
11
管理员登录
用户名:admin
密码:admin
进入管理员界面
图6-1 平台登录模块的测试图
6.3.2用户中心模块的测试 模块名称
用户中心模块
测试环境
操作系统 浏览器
条件设置
未登录
步骤序号
具体描述
输入数据
预期效果
1
选择查看用户资料
提示无法查看,请登录
2
普通用户登录
用户名:小明
密码:xiaoming
登录成功
3
选择查看我的资料
成功进入用户资料页面
4
选择修改资料,修改邮箱地址
邮箱信息
用户资料显示小明邮箱信息
5
选择查看用户权限
用户名:12
密码:123456
确认密码:123456
E-mail:未填
成功跳转到用户权限界面
6
选择退出
用户名:12
密码:123456
确认密码:123456
E-mail:1669400@qq.com
成功退出登录
图6-2 用户中心模块的测试图
6.3.3用户管理模块的测试 模块名称
用户管理模块
测试环境
操作系统 浏览器
条件设置
网站管理员已经登陆
步骤序号
具体描述
输入数据
预期效果
1
选择删除
用户名:小明
成功删除,登录界面使用(小明)登录,显示该用户名不存在
2
选择创建用户
用户名:小李
创建成功,登录使用(小李)登录,显示登录成功
3
选择修改用户资料,修改用户名为(小李)的邮箱地址
用户名:小李
邮箱:123@qq.com
显示用户(小明)及其邮箱地址
4
选择修改用户密码,将用户(小李)密码由(123)改为(123456)
用户名:小李
新密码:123456
用户(小李)使用密码:123,无法登录,使用新密码:123456 显示登录成功
图6-3 用户管理模块的测试图
根据云南美食食谱网站的要求,通过对springboot开发框架的应用,从试运行效果来看,该系统的功能基本上达到了预期的设计要求。通过此云南美食食谱网站,可以便捷的查看到关注的用户信息。在本系统的开发过程中,我重点研究了对用户分级权限的考虑,由于考虑到不同的用户在使用本系统的时候,需要呈现不同的用户界面和用户级别。所以通过划分不同的用户级别,把本系统用户划分为管理员和用户。整体提高系统的安全级别和用户实用性。
此外,要使系统功能更加完善,还应该提供配备一些子系统功能,其次,该系统通用性不是很强,如果把该系统应用到其他地方,还需要重新配置服务。针对以上出现的问题,今后还需要深入研究和完善的有以下三点:
1、本系统设计没有考虑到用户跨设备访问所带来的数据存储问题
2、在某些功能板块处理问题上,出现了功能不完善还需要继续改进设计思路。
3、对与系统上的数据并没有备份操作,冗余备份能力不够。系统应该根据不同的适用性,完善系统整体性能。
">