微信小程序研学自习室选座与门禁系统的实现与开发springboot+论文源码调试讲解

第4章 系统设计

用户对着浏览器操作,肯定会出现某些不可预料的问题,但是不代表着系统对于用户在浏览器上的操作不进行处理,所以说,要提前考虑可能会出现的问题。

4.1 系统设计思想

系统设计,肯定要把设计的思想进行统一,只有统一的思想才能指导程序的开发,并且可以让众多的程序开发人员更快速的进入状态,提高开发速度。根据当前系统的既定需求,下面将进行本系统设计思想的阐述。

  1. 扩展性:开发任何一个系统的时候不可避免要考虑这个问题。软件版本的更迭是一种常识,任何一个软件都不会一次性开发就成永恒,软件是一个不断成长的东西。所以考虑问题的时候需要对当前问题进行数据上的扩大化,然后进行归纳整理,最终形成具有一定扩展性的程序。程序的可扩展性必然会影响开发进度,所以最终需要综合评估程序的可扩展程度,进而有的放矢,循序开发。

  2. 实用性:程序设计是一个先高屋建瓴式的设想,然后再具体化,实用性就是具体化的第一个步骤,要充分考虑使用者是不懂程序设计的这一点,使用者只是懂得常规性的上网操作步骤,并不需要对程序进行理解,所以一定要让使用者感觉到便利,感觉到实用性的存在,如果使用者使用程序过程中没发现使用程序的好处,那么程序设计的实用性将大大降低。

  3. 安全性:当使用者使用的过程中,会产生大量的相关数据,这些数据必须有安全性的保证,否则当使用者发现数据出现问题的原因是程序设计问题的时候,将会对程序开发者失去信任,甚至可能会产生大量的费用赔偿问题,这是一个不可避免的问题。所以安全性关系开发与使用者双方的经济利益,程序的安全性是一定要保证的。

  4. 先进性:程序设计的先进性是开发者进行考虑的,必须要在满足系统功能的前提下,必须要选择好当下最合适的技术。最合适的技术要从开发成本,使用成本以及维护成本里面综合分析,经过综合分析后要让技术实现最优解,保持先进的技术生产力。

  5. 维护性:程序开发之初就要考虑以后的维护问题。维护是在程序开发完毕,已经上线可以运作,进入生产试用过程和使用过程中才会发现需要维护的必要。要通过各方面降低维护成本,不是说维护的越少就代表程序开发的越完美,程序既然是人类进行设计制造的,肯定有很多不可避免的问题产生,那么如何维护好程序的正常运作也是一门很重要的学问。

4.2 功能结构设计

图4.1即为设计的用户功能结构,用户权限操作的功能包括在论坛模块通过发帖与评论帖子的方式进行信息讨论,用户也能对账户进行在线充值,查看座位信息并预定需要的座位,管理座位预定的订单,查看公告等。

图4.1 用户功能结构

4.3 数据库设计

研学自习室选座与门禁系统运行中产生的数据需要按照提前设置的存储规则进行保存,设计出一个符合项目的最优数据存储格式,因为它能减少用户的等待时间,还可以对系统的请求在最短时间内进行响应。所以,对数据库设计时,需要对功能需求进行详细的拆分,以及对业务状态的细分,然后设计具体的存储规则,保证数据库能正常运作,缩短数据处理时间,并在一定程度上降低数据冗余,节省存储空间。

4.3.1 数据库概念设计

实体-联系图还有一个名称即E-R图,是Entity Relationship Diagram各英文单词首字母的缩写,它这种概念模型通常用于对现实世界进行描述。同时它还是一种能够直观表达数据中实体,联系,属性的有效手段。绘制E-R图能够选择的工具也有很多,但是Office Visio 这款软件在E-R图的绘制上一般都是作为首选工具,因为它是基于可视化处理,使用它创建E-R图非常简单。使用基本的E-R图构成元素,比如椭圆,菱形,矩形,还有实线段来表达对应的信息,椭圆代表属性,即实体的特征,矩形代表实体,即数据库中的一个具体数据表,菱形代表实体中相互关系,实线段主要是完成椭圆,矩形,菱形的连接。

(1)图4.4即为座位这个实体所拥有的属性值。

图4.4 座位实体属性图

(2)图4.5即为座位订单这个实体所拥有的属性值。

图4.5 座位订单实体属性图

(3)图4.6即为用户这个实体所拥有的属性值。

图4.6 用户实体属性图

  1. 图4.7即为公告信息这个实体所拥有的属性值。

图4.7 公告信息实体属性图

  1. 图4.8即为上面介绍的实体中存在的联系。

图4.8 实体间关系E-R图

4.3.2 数据库物理设计

本小节主要任务即是根据上述内容进行数据存储结构的设计,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,还不容易导致系统出错。接下来就对设计的表进行简单说明。

表4.1 论坛表

字段 注释 类型 空
id (主键) 主键 int(11) 否
forum_name 帖子标题 varchar(200) 是
yonghu_id 用户 int(11) 是
users_id 管理员 int(11) 是
forum_content 发布内容 text 是
super_ids 父id int(11) 是
forum_state_types 帖子状态 int(11) 是
insert_time 发帖时间 timestamp 是
update_time 修改时间 timestamp 是
create_time 创建时间 timestamp 是

表4.2 公告信息表

字段 注释 类型 空
id (主键) 主键 int(11) 否
news_name 公告标题 varchar(200) 是
news_types 公告类型 int(11) 是
news_photo 公告图片 varchar(200) 是
insert_time 添加时间 timestamp 是
news_content 公告详情 text 是
create_time 创建时间 timestamp 是

表4.3 管理员表

字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否

表4.4 用户表

字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 用户姓名 varchar(200) 是
yonghu_photo 头像 varchar(255) 是
sex_types 性别 int(11) 是
yonghu_phone 联系方式 varchar(200) 是
yonghu_email 邮箱 varchar(200) 是
new_money 余额 decimal(10,2) 是
yonghu_delete 假删 int(11) 是
create_time 创建时间 timestamp 是

表4.5 座位表

字段 注释 类型 空
id (主键) 主键 int(11) 否
zuowei_name 座位名称 varchar(200) 是
zuowei_photo 座位照片 varchar(200) 是
zuowei_types 座位类型 int(11) 是
zuowei_shijian 开始时间 varchar(200) 是
zuowei_new_money 现价 decimal(10,2) 是
zuowei_number 座位 int(11) 是
zuowei_clicknum 点击次数 int(11) 是
zuowei_delete 逻辑删除 int(11) 是
zuowei_content 座位简介 text 是
create_time 创建时间 timestamp 是

表4.6 座位订单表

字段 注释 类型 空
id (主键) 主键 int(11) 否
zuowei_order_uuid_number 订单号 varchar(200) 是
zuowei_id 座位 int(11) 是
yonghu_id 用户 int(11) 是
zuowei_order_true_price 实付价格 decimal(10,2) 是
zuowei_order_types 订单类型 int(11) 是
zuowei_order_payment_types 支付类型 int(11) 是
buy_zuowei_number 购买的座位 varchar(200) 是
buy_zuowei_time 订购日期 date 是
insert_time 订单创建时间 timestamp 是
create_time 创建时间 timestamp 是

第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 帖子信息界面

5.5 公告信息查看

图5.5 即为编码实现的公告信息查看界面,用户查询公告需要在查询框中登记公告标题来实现对公告信息的查询,同时用户可以根据公告类型啦筛选需要查看的公告信息。

图5.5 公告信息查看界面

5.6 更改个人信息

图5.6 即为编码实现的更改个人信息界面,用户更改包括邮箱,头像等在内的个人信息,用户更改了个人信息需要及时保存。

图5.6 更改个人信息界面

相关推荐
谢亮_vipxieliang9 分钟前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
imperialeast15 分钟前
创建WAV文件 韩文、德文、俄文等unicode音乐标签
windows·小程序
源码宝22 分钟前
Web‑PACS 云影像源码|Java+Vue3 医院影像管理系统完整方案
java·源码·影像pacs·成品源码·医院影像系统
ShineWinsu33 分钟前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
倔强的石头_1 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP1 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
2501_933670791 小时前
2027 应用统计学秋招选岗指南:统计、SQL、业务指标如何对应岗位
数据库·sql
Alice-YUE2 小时前
向量数据库选型实战:Chroma/Qdrant/Milvus/PgVector 怎么选
数据库·milvus·向量数据库·chroma·rag·qdrant
invicinble2 小时前
python 编程语言 认识维度
开发语言·数据库·python
IT古董2 小时前
《FDE前沿部署工程师实战教程》29 - Enterprise AI Security:Agent安全体系设计
大数据·数据库·人工智能