岳阳市美术馆预约平台(小程序论文源码调试讲解)

第4章 系统设计

一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。

4.1 设计原则

本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则,安全性原则外,还有准确性原则,实用性原则,可维护性原则。

第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。

第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。

第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。

第四个设计原则:实用性原则,本系统主要用于处理信息,在实际工作中,要帮助使用者完成信息处理任务,同时本系统在面对特殊情况时,也要能够满足信息处理的需要。另外,为了后期便于在本系统中进行功能的扩充,也需要提前预留好空间。

第五个设计原则:可维护性原则,本系统在实际使用期间,难免会遇到一些故障,因此,本系统在应对故障时,要能够进行诊断并弱化故障,可以在短时间内进行自维护。

4.2 功能结构设计

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图)。

4.3 数据库设计

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。

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

用户实体属性图

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

展品收藏实体属性图

(3)下图是操作日志实体和其具备的属性。

操作日志实体属性图

(4)下图是参观预约实体和其具备的属性。

参观预约实体属性图

(5)下图是美术馆实体和其具备的属性。

美术馆实体属性图

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

论坛实体属性图

(7)下图是美术馆收藏实体和其具备的属性。

美术馆收藏实体属性图

(8)下图是展品留言实体和其具备的属性。

展品留言实体属性图

(9)下图是公告通知实体和其具备的属性。

公告通知实体属性图

(10)下图是展品信息实体和其具备的属性。

展品信息实体属性图

(11)下图是美术馆留言实体和其具备的属性。

美术馆留言实体属性图

4.3.1 数据库物理设计

本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。

关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;

元组:元组就是数据表中的一行记录;

属性:属性就是数据表中的字段,也就是数据表中的一列;

域:域就是对数据表中属性的取值进行限定;

关键字:关键字就是数据表中的主键;

在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。

表4.1操作日志表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

caozuorizhi_this_biao

String

操作人所在表

3

caozuorizhi_caozuobiao

String

操作表

4

caozuorizhi_caozuozhanghu

String

操作账户

5

caozuorizhi_caozuoleixing

String

操作类型

6

caozuorizhi_text

String

操作内容

7

insert_time

Date

操作时间

8

create_time

Date

创建时间

表4.2字典表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.3论坛表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

forum_name

String

帖子标题

3

yonghu_id

Integer

用户

4

users_id

Integer

管理员

5

forum_content

String

发布内容

6

super_ids

Integer

父id

7

forum_state_types

Integer

帖子状态

8

insert_time

Date

发帖时间

9

update_time

Date

修改时间

10

create_time

Date

创建时间

表4.4美术馆表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

meishuguan_uuid_number

String

美术馆编号

3

meishuguan_name

String

美术馆名称

4

meishuguan_photo

String

美术馆照片

5

meishuguan_address

String

美术馆地点

6

zan_number

Integer

7

cai_number

Integer

8

meishuguan_types

Integer

美术馆类型

9

meishuguan_kucun_number

Integer

门票数量

10

meishuguan_new_money

BigDecimal

门票价格

11

meishuguan_clicknum

Integer

美术馆热度

12

jieshu_time

Date

结束时间

13

meishuguan_content

String

美术馆介绍

14

meishuguan_delete

Integer

逻辑删除

15

insert_time

Date

录入时间

16

create_time

Date

创建时间 homeMain

表4.5美术馆收藏表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

meishuguan_id

Integer

美术馆

3

yonghu_id

Integer

用户

4

meishuguan_collection_types

Integer

类型

5

insert_time

Date

收藏时间

6

create_time

Date

创建时间

表4.6美术馆留言表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

meishuguan_id

Integer

美术馆

3

yonghu_id

Integer

用户

4

meishuguan_liuyan_text

String

留言内容

5

insert_time

Date

留言时间

6

create_time

Date

创建时间

表4.7参观预约表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

meishuguan_order_uuid_number

String

订单编号

3

meishuguan_id

Integer

美术馆

4

yonghu_id

Integer

用户

5

buy_number

Integer

预约人数

6

meishuguan_order_true_price

BigDecimal

实付价格

7

meishuguan_order_types

Integer

订单类型

8

insert_time

Date

添加时间

9

create_time

Date

创建时间

表4.8公告通知表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

news_name

String

公告标题

3

news_types

Integer

公告类型

4

news_photo

String

公告图片

5

insert_time

Date

添加时间

6

news_content

String

公告详情

7

create_time

Date

创建时间

表4.9用户表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_name

String

用户名称

3

yonghu_phone

String

用户手机号

4

yonghu_id_number

String

用户身份证号

5

yonghu_photo

String

用户头像

6

yonghu_email

String

用户邮箱

7

new_money

BigDecimal

余额

8

yonghu_delete

Integer

逻辑删除

9

insert_time

Date

添加时间

10

create_time

Date

创建时间

表4.10展品信息表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhanpin_name

String

展品名称

3

zhanpin_photo

String

展品封面

4

zhanpin_video

String

视频

5

zhanpin_types

Integer

展品类型

6

zan_number

Integer

7

cai_number

Integer

8

meishuguan_clicknum

Integer

展品热度

9

zhanpin_content

String

展品详情

10

zhanpin_delete

Integer

逻辑删除

11

insert_time

Date

录入时间

12

create_time

Date

创建时间

表4.11展品收藏表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhanpin_id

Integer

展品

3

yonghu_id

Integer

用户

4

zhanpin_collection_types

Integer

类型

5

insert_time

Date

收藏时间

6

create_time

Date

创建时间

表4.12展品留言表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhanpin_id

Integer

展品

3

yonghu_id

Integer

用户

4

zhanpin_liuyan_text

String

留言内容

5

insert_time

Date

留言时间

6

reply_text

String

回复内容

7

update_time

Date

回复时间

8

create_time

Date

创建时间

表4.13管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

医院名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

第5章 系统实现

进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。

5.1用户信息管理

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

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

图5.1 用户信息管理页面

5.2 展品信息管理

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

图5.2 展品信息管理页面

5.3美术馆信息管理

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

图5.3 美术馆信息管理页面

5.4论坛信息管理

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

图5.4 论坛信息管理页面

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

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

相关文章

Python游戏编程之赛车游戏6-3

1 “敌人”汽车类的创建 在创建玩家汽车类之后,接下来创建“敌人”汽车类。“敌人”汽车类与玩家类一样,也是包含两个方法,一个是__init__(),另一个是move()。 1.1 __init__()方法 “敌人”汽车类的__init__()方法代码如图1所示…

TCP/UDP调试工具推荐:Socket通信图解教程

TCP/UDP调试工具推荐:Socket通信图解教程 一、引言二、串口调试流程三、下载链接 SocketTool 调试助手是一款旨在协助程序员和网络管理员进行TCP和UDP协议调试的网络通信工具。TCP作为一种面向连接、可靠的协议,具有诸如连接管理、数据分片与重组、流量和…

神经网络 - 神经元

人工神经元(Artificial Neuron),简称神经元(Neuron),是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接收一组输入信号并产生输出。 生物学家在 20 世纪初就发现了生物神经元的结构。一个生物神经元通常具有多个树…

蓝桥杯备考:贪心算法之矩阵消除游戏

这道题是牛客上的一道题,它呢和我们之前的排座位游戏非常之相似,但是,排座位问题选择行和列是不会改变元素的值的,这道题呢每每选一行都会把这行或者这列清零,所以我们的策略就是先用二进制把选择所有行的情况全部枚举…

DeepSeek系统架构的逐层分类拆解分析,从底层基础设施到用户端分发全链路

一、底层基础设施层 1. 硬件服务器集群 算力单元: GPU集群:基于NVIDIA H800/H100 GPU构建,单集群规模超10,000卡,采用NVLink全互联架构实现低延迟通信。国产化支持:适配海光DCU、寒武纪MLU等国产芯片,通过…

ktransformers 上的 DeepSeek-R1 671B open-webui

ktransformers 上的 DeepSeek-R1 671B open-webui 一、下载GGUF模型1. 创建目录2. 魔塔下载 DeepSeek-R1-Q4_K_M3. 安装显卡驱动和cuda4. 显卡 NVIDIA GeForce RTX 4090 二、安装ktransformers1. 安装依赖2. 安装uv工具链3. 下载源码4. 创建python虚拟环境 三、编译ktransforme…

smolagents学习笔记系列(五)Tools-in-depth-guide

这篇文章锁定官网教程中的 Tools-in-depth-guide 章节,主要介绍了如何详细构造自己的Tools,在之前的博文 smolagents学习笔记系列(二)Agents - Guided tour 中我初步介绍了下如何将一个函数或一个类声明成 smolagents 的工具&…

形式化数学编程在AI医疗中的探索路径分析

一、引言 1.1 研究背景与意义 在数字化时代,形式化数学编程和 AI 形式化医疗作为前沿领域,正逐渐改变着我们的生活和医疗模式。形式化数学编程是一种运用数学逻辑和严格的形式化语言来描述和验证程序的技术,它通过数学的精确性和逻辑性,确保程序的正确性和可靠性。在软件…

C#初级教程(3)——变量与表达式:从基础到实践

一、为什么使用变量 计算机程序本质上是对数据的操作,数字、文字、图片等在计算机中都属于数据。而变量,就是数据在计算机内存中的 “栖息地”。我们可以把变量想象成一个个小盒子,这些盒子能存放各种数据,需要时还能随时取出。 二…

【深度学习神经网络学习笔记(三)】向量化编程

向量化编程 向量化编程前言1、向量化编程2、向量化优势3、正向传播和反向传播 向量化编程 前言 向量化编程是一种利用专门的指令集或并行算法来提高数据处理效率的技术,尤其在科学计算、数据分析和机器学习领域中非常常见。它允许通过一次操作处理整个数组或矩阵的…

海康威视摄像头RTSP使用nginx推流到服务器直播教程

思路: 之前2020年在本科的时候,由于项目的需求需要将海康威视的摄像头使用推流服务器到网页进行直播。这里将自己半个月琢磨出来的步骤给大家发一些。切勿转载!!!! 使用网络摄像头中的rtsp协议---------通…

鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载)

鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载) 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/Ba…

【Rust中级教程】2.8. API设计原则之灵活性(flexible) Pt.4:显式析构函数的问题及3种解决方案

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 说句题外话,这篇文章一共5721个字,是我截至目前写的最长的一篇文章&a…

一周学会Flask3 Python Web开发-Jinja2模板过滤器使用

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在Jinja2中,过滤器(filter)是一些可以用来修改和过滤变量值的特殊函数,过滤器和变量用一个竖线 | &a…

数据库 安装initializing database不通过

出现一下情况时: 处理方法: 将自己的电脑名称 中文改成英文 即可通过

嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT

目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程,通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…

Mobaxterm服务器常用命令(持续更新)

切换文件夹 cd path # for example, cd /gpu03/deeplearning/进入不同GPU ssh mgmt ssh gpu01 ssh gpu03寻找文件位置 find /path -name file_name #for example, find / -name lib #在根目录下搜寻名为lib文件 #for example, find /home/deeplearning -name "lib"…

MFC文件和注册表的操作

MFC文件和注册表的操作 日志、操作配置文件、ini、注册表、音视频的文件存储 Linux下一切皆文件 C/C操作文件 const char* 与 char* const const char* 常量指针,表示指向的内容为常量。指针可以指向其他变量,但是内容不能再变了 char szName[6]&qu…

微信小程序源码逆向 MacOS

前言 日常工作中经常会遇到对小程序的渗透测试,微信小程序的源码是保存在用户客户端本地,在渗透的过程中我们需要提取小程序的源码进行问题分析,本篇介绍如何在苹果电脑 MacOS 系统上提取微信小程序的源码。 0x01 微信小程序提取 在苹果电…

ubuntu-24.04.1-desktop 中安装 QT6.7

ubuntu-24.04.1-desktop 中安装 QT6.7 1 环境准备1.1 安装 GCC 和必要的开发包:1.2 Xshell 连接 Ubuntu2 安装 Qt 和 Qt Creator:2.1 下载在线安装器2.2 在虚拟机中为文件添加可执行权限2.3 配置镜像地址运行安装器2.4 错误:libxcb-xinerama.so.0: cannot open shared objec…