基于微信小程序的中国各地美食推荐平台的设计与实现springboot+论文源码调试讲解

ops/2025/1/17 14:33:48/

第4章 系统设计

4.1 系统设计的原则

在系统设计过程中,也需要遵循相应的设计原则,这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性,安全性,可定制化,可扩展性,可维护性,可升级性以及客户体验等原则。下面就对这些原则进行简要阐述。

可靠性:一个软件是否可靠决定了其是否被用户使用,设计不可靠的软件,用户很容易就遗弃;

安全性:程序软件承担了信息的保存与管理等事务,安全性不足的软件会导致使用者承担巨大的损失;所以系统安全也是需要考虑进入的;

可定制化:市场环境从来都不是一直固定不变,面对客户群体的改变,以及使用环境的改变,市场需求的改变等因素,程序软件也要易于调整以适应各种变化;

可扩展性:程序软件在运行使用期间,也需要及时引进当下的新技术来进行系统优化,主要就是在系统功能层面,系统性能层面上进行相应的扩展,只有这样才能让系统在实际生活中继续占有市场;

可维护性:程序软件的维护需要一定量的资金,不管是排除现有程序错误,还是变更软件的现有需求,都需要在软件技术上投入一定资金,所以易于维护的软件程序就可以降低技术层面的资金消耗;

可升级性:程序软件的投入使用,会面临用户数量增多的情况,用户对软件的使用率也会提升,所以系统面临这种情况,仍然需要通过升级保持性能的合理,这样才能够适应市场;

客户体验:设计出来的程序软件在界面上不能够太复杂,要遵循界面设计的原理设计出简单,方便操作的功能操作界面,让用户易于接受软件,并乐于使用软件提供的功能。

4.2 功能结构设计

在管理员功能模块确定下来的基础上,对管理员各个功能进行设计,确定管理员功能的详细模块。绘制的管理员功能结构见下图。

图4-2 管理员功能结构图

4.3 数据库设计

与功能结构设计一样,数据库设计也是程序开发不可避免的设计环节,数据库设计最主要的目的就是帮助运行程序存储相应的数据信息。数据库设计包含的内容有数据表结构的设计,也包含了数据库E-R图的设计。

4.3.1 数据库E-R图

在绘制E-R图之前,先要找出数据库的实体,明确各个实体具有的属性,比如用户信息这个实体,它具备的属性包括了用户的姓名属性,用户的密码属性,用户的创建时间属性等,所以明确了用户这个实体,以及用户实体具备的属性之后,就需要根据这些信息绘制用户实体对应的实体属性图了。绘制软件选用当下认可度高,使用范围广,操作便利的微软旗下的Visio工具。

(1)管理员实体属性图通过Visio工具绘制,绘制结果展示如下:

图4-4 管理员实体属性图

(2)注册用户实体属性图通过Visio工具绘制,绘制结果展示如下:

图4-5 注册用户实体属性图

(3)美食类型实体属性图通过Visio工具绘制,绘制结果展示如下:

图4-6 美食类型实体属性图

4.3.2 数据库表结构

在进行这部分设计之前,需要明白和掌握数据类型以及各个数据类型的长度范围等知识,因为在一张具体的数据表中,为了方便理解,这里就举个简单的例子。比如用户信息表,这个表格的字段就是用户这个实体具备的属性,这时就需要对字段进行数据类型,以及字段长度的设置,也要设置一个主键来作为用户信息表的唯一标识。这些都是数据库表结构设计需要完成的内容。根据中国各地美食推荐平台的功能设计以及数据库设计要求,展示该系统的数据表结构。

1地址表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

address

String

地址

5

name

String

收货人

6

phone

String

电话

7

isdefault

String

是否默认地址[是/否]

2美食分享评论表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

refid

Integer

关联表id

4

userid

Integer

用户id

5

nickname

String

用户名

6

content

String

评论内容

7

reply

String

回复内容

3美食信息评论表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

refid

Integer

关联表id

4

userid

Integer

用户id

5

nickname

String

用户名

6

content

String

评论内容

7

reply

String

回复内容

4收藏表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

userid

Integer

用户id

4

refid

Integer

收藏id

5

tablename

String

表名

6

name

String

收藏名称

7

picture

String

收藏图片

8

type

String

类型(1:收藏,21:赞,22:踩)

9

inteltype

String

推荐类型

5购物车表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

tablename

String

商品表名

4

userid

Integer

用户id

5

goodid

Integer

商品id

6

goodname

String

商品名称

7

picture

String

图片

8

buynumber

Integer

购买数量

9

price

float

单价

10

discountprice

float

会员价

11

shangjiazhanghao

String

商户名称

6商家表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

shangjiazhanghao

String

商家账号

4

mima

String

密码

5

shangjiamingcheng

String

商家名称

6

tupian

String

图片

7

lianxiren

String

联系人

8

lianxidianhua

String

联系电话

9

shangjiadizhi

String

商家地址

10

money

float

余额

7管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

8订单表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

orderid

String

订单编号

4

tablename

String

商品表名

5

userid

Integer

用户id

6

goodid

Integer

商品id

7

goodname

String

商品名称

8

picture

String

商品图片

9

buynumber

Integer

购买数量

10

price

float

价格/积分

11

discountprice

float

折扣价格

12

total

float

总价格/总积分

13

discounttotal

float

折扣总价格

14

type

Integer

支付类型

15

status

String

状态

16

address

String

地址

17

tel

String

电话

18

consignee

String

收货人

19

logistics

String

物流

20

shangjiazhanghao

String

商户名称

9美食分享表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

meishimingcheng

String

美食名称

4

tupian

String

图片

5

meishileixing

String

美食类型

6

tuijianzhishu

String

推荐指数

7

meishitese

String

美食特色

8

renjunxiaofei

String

人均消费

9

dakadidian

String

打卡地点

10

meishixiangqing

String

美食详情

11

yonghuzhanghao

String

用户账号

12

yonghuxingming

String

用户姓名

13

sfsh

String

是否审核

14

shhf

String

审核回复

15

thumbsupnum

Integer

16

crazilynum

Integer

10用户表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

yonghuzhanghao

String

用户账号

4

mima

String

密码

5

yonghuxingming

String

用户姓名

6

touxiang

String

头像

7

xingbie

String

性别

8

shoujihaoma

String

手机号码

9

money

float

余额

11美食信息表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

meishimingcheng

String

美食名称

4

tupian

String

图片

5

meishileixing

String

美食类型

6

tuijianzhishu

String

推荐指数

7

meishitese

String

美食特色

8

diqu

String

地区

9

chiboshipin

String

吃播视频

10

meishixiangqing

String

美食详情

11

shangjiazhanghao

String

商家账号

12

shangjiamingcheng

String

商家名称

13

thumbsupnum

Integer

14

crazilynum

Integer

15

clicktime

datetime

最近点击时间

16

clicknum

Integer

点击次数

17

price

float

价格

12美食类型表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

addtime

Date

创建时间

3

meishileixing

String

美食类型


第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 我的页面


http://www.ppmy.cn/ops/150826.html

相关文章

【Kotlin】上手学习之类型篇

一、类型 1.1 基本类型 主要分为 数字及其无符号版布尔字符字符串数组 1.1.1 数字 整数类型 Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同: 类型大小(比特数)最小…

2006-2020年各省人均水资源量数据

2006-2020年各省人均水资源量数据 1、时间:2006-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、人均水资源量 4、范围:31省 5、指标解释:人均水资源量是指一个国家或地区在一定时期…

基于单片机的多功能门铃控制系统设计(论文+源码)

1功能设计 本课题为基于单片机的多功能门铃控制系统设计,主要结合单片机技术,门铃控制技术进行设计,在多功能门铃控制系统的设计中,将其主要的设计功能确定如下: (1)可以实现门铃的基础功能&am…

Django Admin 中为自定义操作添加权限控制

在 Django 开发中,Django Admin 是一个非常强大的工具,可以帮助我们快速管理后台数据。然而,默认的 Admin 功能可能无法完全满足我们的需求,尤其是当我们需要为某些操作添加权限控制时。本文将详细介绍如何在 Django Admin 中为自定义操作添加权限控制,确保只有经过授权的…

JavaEE:多线程初阶

JavaEE:多线程初阶 一、线程的原理和进程与线程之间的关系1. 线程的原理线程的基本概念线程的生命周期线程的调度线程的并发与并行 2. 进程与线程的关系进程(Process)线程与进程的关系进程和线程的对比线程的优势线程的缺点 3. 总结 二、多线…

中国计算机学会(CCF)赛事

中国计算机学会(CCF) 全国青少年信息学奥林匹克竞赛(NOI) 创办时间与宗旨:1984年创办,旨在向中学阶段的青少年普及计算机科学知识,为学校信息技术教育提供思路,给有才华的学生创造…

Android15源码编译问题处理

最近想在Raspberry Pi5上面运行自己编译的Android15镜像,参考如下链接来处理: GitHub - raspberry-vanilla/android_local_manifest GitHub - raspberry-vanilla/android_kernel_manifest 代码同步完后,编译就出问题了,总是提示: FAILED: analyzing Android.bp files and…

【机器学习】鲁棒(健壮)回归-RANSAC(Random Sample Consensus)算法

RANSAC算法 RANSAC(Random Sample Consensus)是一种用于估计数据中包含异常值时的模型参数的迭代算法,特别适用于数据包含噪声或离群点的情况。 核心思想 RANSAC通过随机采样和一致性验证来找到能够最大化拟合数据模型的参数,重…