当前位置: 首页 > news >正文

毕业设计:基于springboot的林业产品推荐系统(源码)

4 系统设计

当前,系统的类型有很多,从系统呈现的内容来看,系统的类型有社交类,有商业类,有政府类,有新闻类等。那么,在众多系统类型中,先明确将要设计的系统的类型才是系统设计的首要工作,然后在此基础上明确系统的用户群,功能等,针对这些信息设计出具有独特体验和视觉的系统。如此才能让系统比较具有特色,也能够在众多相似系统中给用户留下深刻印象。

4.1系统目标

本系统在功能制定上,严格参照用户的要求,但是在设计本系统时,也要满足易操作,使用便利的设计要求。由此,设计出一个规范化并且符合用户需求的系统,一定要达到下述系统目标。

第一个系统目标:用户与系统之间的操作方式是基于人机对话,可视化界面的设计除了美观性之外,也具备友好性。可视化界面提供的各类信息符合准确性,可靠性的要求,并能够方便用户灵活查看。

第二个系统目标:用户与系统交互产生的数据,要严格规范的保存在数据库里,无论是后期管理人员查找与管理,都要确保数据安全。

第三个系统目标:实现用户需求的功能。根据对用户的调查得出的功能需求,完成林业产品推荐系统的设计与实现。

第四个系统目标:在必要环节,对用户登记的数据进行检查,包括数据长度,以及数据输入类型等的检查,发现错误及时反馈,引导用户规范登记数据。常见的有密码修改,注册登录,用户资料填写等环节的数据核验。

第五个系统目标:设计开发本系统,需要尽最大努力,在系统具备易操作的特点外,也要求系统于后期使用中,维护方便,让系统具备易维护的特点。

第六个系统目标:本系统在交付用户使用时,可以达到运行稳定的目标,另外,系统具备安全性,也符合可靠性的条件,用户可以放心使用。

4.2功能结构设计

前面所做的功能分析,只是本系统的一个大概功能,这部分需要在此基础上进行各个模块的详细设计。

设计的管理员的详细功能见下图,管理员登录进入本人后台之后,管理商品和用户,管理商品评价和商品资讯,管理不同状态的订单。

图4.1 管理员功能结构图

设计的用户的详细功能见下图,用户管理收货地址,管理不同状态的订单,收藏商品,购买商品。

图4.2 用户功能结构图

4.3数据库设计

相比非关系型数据库来说,目前市场上使用率比较高,并且易于维护的数据库,当数关系型数据库了。这个数据库主要是基于关系模型的方式来对数据信息进行组织。也就是常见的二维表模型。可以说二维表和二维表之间的相互联系就构成了关系型数据库。

4.3.1数据库E-R图

为了更好地保存林业产品推荐系统产生的数据,就需要在数据库的设计阶段对E-R模型进行建立,以及完成数据库中的表结构的创建。之所以要单独完成数据库的设计,主要有以下几点原因:

第一点:防止代码冗余;

第二点:防止占用过多内存;

第三点:提升数据库的整体性能,方便程序开发以及数据更新;

第四点:保证数据的完整性;

本部分内容主要在于建立本系统的E-R模型,需要先收集数据,然后根据数据库实现的思路,对用户的需求进行分析,这期间需要对实体,属性,还有关系进行标识,为绘制E-R模型做好充足准备。同时,在作图中,也要注意作图规范,注意每个符号的正确使用。

(1)设计的订单实体,其具备的属性见下图。

图4.4 订单实体属性图

(2)设计的商品实体,其具备的属性见下图。

图4.5 商品实体属性图

(3)设计的用户实体,其具备的属性见下图。

图4.6 用户实体属性图

(4)设计的购物车实体,其具备的属性见下图。

图4.7 购物车实体属性图

(5)设计的各实体间关系见下图。

图4.8 实体间关系E-R图

4.3.2 数据库表结构

为了设计出结构合理,性能优良的数据库,在设计数据库时,需要遵循三大范式:

第一范式:确保数据表当中的每列所代表的字段值都不能再进行分解了;

第二范式:在满足第一范式基础上,让数据表中每列与主键相关;

第三范式:在满足第二范式基础上,确保每列数据直接与主键相关,不是间接相关。

从上面的表述中可以看出,这三大范式,在等级上还是有区分的,最低等级的就数第一范式,最高等级的就是第三范式,趋于两者中间的是第二范式。总之,数据库设计按照这三大范式进行,可以简化设计过程,并且还会减少数据冗余,对于数据检索效率的提升也很有帮助。

表4.1 收货地址信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

userid

bigint(20)

用户id

address

varchar(200)

地址

name

varchar(200)

收货人

phone

varchar(200)

电话

isdefault

varchar(200)

是否默认地址[是/否]

表4.2 购物车信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

tablename

varchar(200)

shangpinxinxi

商品表名

userid

bigint(20)

用户id

goodid

bigint(20)

商品id

goodname

varchar(200)

NULL

商品名称

picture

varchar(200)

NULL

图片

buynumber

int(11)

购买数量

price

float

NULL

单价

discountprice

float

NULL

会员价

表4.3 客服聊天信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

userid

bigint(20)

用户id

adminid

bigint(20)

NULL

管理员id

ask

longtext

NULL

提问

reply

longtext

NULL

回复

isreply

int(11)

NULL

是否回复

表4.4 用户信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

yonghuming

varchar(200)

用户名

mima

varchar(200)

密码

xingming

varchar(200)

NULL

姓名

touxiang

varchar(200)

NULL

头像

xingbie

varchar(200)

NULL

性别

lianxidianhua

varchar(200)

NULL

联系电话

money

float

0

余额

表4.5 商品资讯信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

title

varchar(200)

标题

introduction

longtext

NULL

简介

picture

varchar(200)

图片

content

longtext

内容

表4.6 订单信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

orderid

varchar(200)

订单编号

tablename

varchar(200)

shangpinxinxi

商品表名

userid

bigint(20)

用户id

goodid

bigint(20)

商品id

goodname

varchar(200)

NULL

商品名称

picture

varchar(200)

NULL

商品图片

buynumber

int(11)

购买数量

price

float

0

价格/积分

discountprice

float

0

折扣价格

total

float

0

总价格/总积分

discounttotal

float

0

折扣总价格

type

int(11)

1

支付类型

status

varchar(200)

NULL

状态

address

varchar(200)

NULL

地址

表4.7 商品分类信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shangpinfenlei

varchar(200)

商品分类

表4.8 商品评价信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

dingdanbianhao

varchar(200)

NULL

订单编号

shangpinmingcheng

varchar(200)

NULL

商品名称

shangpinfenlei

varchar(200)

NULL

商品分类

pinpai

varchar(200)

NULL

品牌

pingfen

varchar(200)

评分

pingjianeirong

longtext

评价内容

tianjiatupian

varchar(200)

NULL

添加图片

pingjiariqi

date

NULL

评价日期

yonghuming

varchar(200)

NULL

用户名

lianxidianhua

varchar(200)

NULL

联系电话

sfsh

varchar(200)

是否审核

shhf

longtext

NULL

审核回复

表4.9 商品信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

addtime

timestamp

CURRENT_TIMESTAMP

创建时间

shangpinmingcheng

varchar(200)

商品名称

shangpinfenlei

varchar(200)

商品分类

tupian

varchar(200)

NULL

图片

biaoqian

varchar(200)

NULL

标签

pinpai

varchar(200)

NULL

品牌

shangpinxiangqing

longtext

NULL

商品详情

clicktime

datetime

NULL

最近点击时间

clicknum

int(11)

0

点击次数

price

float

价格

表4.10 管理员信息表

字段

类型

默认

注释

id (主键)

bigint(20)

主键

username

varchar(100)

用户名

password

varchar(100)

密码

role

varchar(100)

管理员

角色

addtime

timestamp

CURRENT_TIMESTAMP

新增时间


5 系统实现

在此部分内容中,主要通过系统功能的运行效果图展示前面设计的最终结果。系统实现对编制人员的技术能力有较高要求,因为需要他们使用编程的方式去实现系统设计的方案。

5.1 管理员功能实现

5.1.1 商品信息管理

管理员权限中的商品信息管理,其运行效果见下图。管理员维护商品资料,能修改与删除。也能登记本页面没有的商品资料。

图5.1 商品信息管理页面

5.1.2 用户管理

管理员权限中的用户管理,其运行效果见下图。用户可以注册提交信息,也可以让管理员在后台添加用户,维护用户资料,包括修改与删除。

图5.2 用户管理页面

5.1.3 商品资讯

管理员权限中的商品资讯,其运行效果见下图。管理员具备发布商品资讯的权限,在本页面,管理员可以修改商品资讯信息,修改商品资讯的简介或标题,也能删除指定的商品资讯。

图5.3 商品资讯页面

5.1.4 已支付订单

管理员权限中的已支付订单,其运行效果见下图。管理员管理处于不同状态的订单,查看已支付的订单的收货地址并进行发货。

图5.4 已支付订单页面

5.2 用户功能实现

5.2.1 商品信息

用户权限中的商品信息,其运行效果见下图。用户在本页面可以操作的功能比较多,可以收藏,评价页面内的商品,可以直接购买,也能暂时加入购物车保存商品。

图5.5 商品信息页面

5.2.2 购物车

用户权限中的购物车,其运行效果见下图。购物车帮助用户暂时保存购买的商品,方便用户一次性下单购买多种商品。

图5.6 购物车页面

5.2.3 提交订单

用户权限中的提交订单,其运行效果见下图。下单支付前,收货地址和购买的商品需要再次核对清楚,最后支付订单。

图5.7 提交订单页面

5.2.4 已支付订单

用户权限中的已支付订单,其运行效果见下图。用户对订单明细进行查看,可以选择对某些误购买的商品进行退款。

图5.8 已支付订单页面

5.2.5 我的地址

用户权限中的我的地址,其运行效果见下图。用户管理收货地址,能修改与删除。

图5.9 我的地址页面

http://www.jsqmd.com/news/849676/

相关文章:

  • 用OpenCV和C++复现AVM环视算法:从四路视频到3D碗型投影的完整流程(附源码)
  • 绕过沙箱检测:利用进程间RWX内存执行ShellCode的实战分析
  • 量子近似优化算法(QAOA)参数传递技术解析
  • 别再手动折腾了!用CubeMX给STM32F407一键集成DSP库(附完整路径配置)
  • 从家庭路由器到云服务器:一张图讲清NAT、子网掩码和CIDR的日常应用
  • ARM PMU缓存窥探事件解析与性能优化
  • AirUI全流程可视化开发平台:从设计稿到代码的范式革命
  • Hotkey Detective:终极Windows热键冲突检测指南,快速找出“按键劫持“元凶
  • 【Proteus实战】8086汇编程序调试:从编译异常到内存观察的完整指南
  • 告别海量缺陷图!用WinCLIP+小样本搞定工业质检,5分钟上手教程
  • 5分钟快速上手:Translumo终极免费实时屏幕翻译工具完整指南
  • 从零到一:vue-print-nb插件在Vue项目中的实战打印方案
  • 告别手动操作:用Python自动化COMSOL仿真的3个关键突破
  • 从零构建MOSFET小信号分析:跨导、输出阻抗与本征增益的实战推导
  • 机箱表面划伤频发?模具磨损与润滑缺失是主因
  • Simulink建模避坑指南:While Iterator子系统的3个常见配置误区与性能优化建议
  • 多盘多跨转子连续动力学及参数识别方法与数值实验方法【附仿真】
  • 智慧零售技术架构解析:从智能终端到边缘计算,如何重塑购物体验
  • 保姆级教程:用SU-03T离线语音模块控制舵机和播放MP3,基于STM32F103C8T6的完整项目实战
  • 从PID参数整定到平稳启动:带霍尔BLDC方波调速的调试实战记录
  • TIA噪声计算的三种模型:从近似到精确的工程实践
  • 小米澎湃OS 2内核革新:微架构调度与一体化调频如何重塑移动体验
  • 从电话到代码:G.711 A律十三折线法,一个80年代的数字音频压缩算法是如何工作的?
  • WSL 桥接网络实战:让 Linux 子系统与宿主机共享局域网段
  • 在nodejs项目中集成taotoken多模型api的详细步骤与示例
  • AUTOSAR架构下LIN协议栈的配置与实战开发
  • 保姆级教程:在Debian11上为ArmSoM-W3的RK3588配置MIPI-DSI屏幕(从背光到开机Logo)
  • VR与深度学习结合的3D细胞追踪技术解析
  • 别再乱配了!Spring Boot 2.7.x 集成 Kafka 3.x 保姆级版本避坑指南
  • 手把手教你用STM32的GPIO模拟IIC驱动AT24C01 EEPROM(附完整代码)