博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到🔎百套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,帮你完成文档⚠️文末联系方式获取完整资料⚠️
4 系统设计
基于微信小程序的图书馆座位预约系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
4.1 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
图4.1 程序工作的原理图
4.2 系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图。
图4.2 功能结构图
4.3 数据库设计
程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。
4.3.1 数据库E-R图设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
(1)管理员实体属性图见图4.4。
图4.4 管理员实体属性图
(2)用户实体属性图见图4.5。
图4.5 用户实体属性图
(3)图书馆座位实体属性图见图4.6。
图4.6 图书馆座位实体属性图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
1选座信息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
dizhi | varchar | 200 | 地址 | ||
zuoweibianhao | varchar | 200 | 座位编号 | ||
zuoweitupian | longtext | 4294967295 | 座位图片 | ||
zuoweiweizhi | varchar | 200 | 座位位置 | ||
zhuangtai | varchar | 200 | 状态 | ||
zuoweixiangqing | longtext | 4294967295 | 座位详情 |
2用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
youxiang | varchar | 200 | 邮箱 | ||
touxiang | longtext | 4294967295 | 头像 |
3收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
4图书馆表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
dizhi | varchar | 200 | 地址 | ||
tupian | longtext | 4294967295 | 图片 | ||
guimo | varchar | 200 | 规模 | ||
rongnarenshu | int | 容纳人数 | |||
chengliriqi | date | 成立日期 | |||
jianjie | longtext | 4294967295 | 简介 |
5管理员表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
6签到表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
dizhi | varchar | 200 | 地址 | ||
zuoweibianhao | varchar | 200 | 座位编号 | ||
zuoweitupian | longtext | 4294967295 | 座位图片 | ||
zuoweiweizhi | varchar | 200 | 座位位置 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
yuyuebeizhu | varchar | 200 | 预约备注 | ||
yuyueshijian | varchar | 200 | 预约时间 | ||
qiandaobeizhu | varchar | 200 | 签到备注 | ||
qiandaoshijian | datetime | 签到时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
userid | bigint | 用户id |
7签退表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
dizhi | varchar | 200 | 地址 | ||
zuoweibianhao | varchar | 200 | 座位编号 | ||
zuoweitupian | longtext | 4294967295 | 座位图片 | ||
zuoweiweizhi | varchar | 200 | 座位位置 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
yuyuebeizhu | varchar | 200 | 预约备注 | ||
yuyueshijian | varchar | 200 | 预约时间 | ||
qiandaobeizhu | varchar | 200 | 签到备注 | ||
qiandaoshijian | varchar | 200 | 签到时间 | ||
qiantuibeizhu | varchar | 200 | 签退备注 | ||
qiantuishijian | datetime | 签退时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
userid | bigint | 用户id |
8预约选座表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
mingcheng | varchar | 200 | 名称 | ||
dizhi | varchar | 200 | 地址 | ||
zuoweibianhao | varchar | 200 | 座位编号 | ||
zuoweitupian | longtext | 4294967295 | 座位图片 | ||
zuoweiweizhi | varchar | 200 | 座位位置 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
yuyuebeizhu | varchar | 200 | 预约备注 | ||
yuyueshijian | datetime | 预约时间 | |||
userid | bigint | 用户id |
9公告表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
10留言表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 留言人id | |||
username | varchar | 200 | 用户名 | ||
avatarurl | longtext | 4294967295 | 头像 | ||
content | longtext | 4294967295 | 留言内容 | ||
cpicture | longtext | 4294967295 | 留言图片 | ||
reply | longtext | 4294967295 | 回复内容 | ||
rpicture | longtext | 4294967295 | 回复图片 |
11论坛表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 | 状态 |
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 | 回复内容 |
5 系统实现
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。
5.1 用户管理
如图5.1显示的就是用户管理页面,此页面提供给管理员的功能有:对用户信息进行查询,添加,删除以及批量删除操作。
图5.1 用户管理页面
5.2 图书馆座位管理
如图5.2显示的就是图书馆座位管理页面,管理员可以对图书馆座位信息进行添加,修改,删除,查询操作。
图5.2 图书馆座位管理页面
5.3 签到信息管理
如图5.3显示的就是签到信息管理页面,管理员可以在选座信息管理界面查看用户的签到信息,还可以对选签到息信息修改,删除,批量删除以及查询操作。
5.4 用户注册
如图5.4显示的就是用户注册页面,用户如果没有账号要先注册才可以登录,注册需要输入账号密码等注册信息。
图5.4 用户注册页面
5.5 用户登录
如图5.4显示的就是用户登录页面,用户登录需要输入账号密码以及选择用户权限才可以登录。
图5.5 用户登录页面
5.6 用户预约选座
如图5.4显示的就是用户预约选座页面,用户登录后可以在图书馆座位管理里面查看到座位信息,还可以对座位进行预约,已经预约过的座位是不可以再预约的。
图5.6 用户预约选座页面
5.7 用户选座信息
如图5.4显示的就是用户选座信息页面,用户登录后在选座信息里面可以看到自己的选座信息。
图5.7 用户选座信息页面
源码获取
大家点赞、收藏、关注 ,让更多需要的同学看到
不同开发语言专栏推荐订阅:
👇下方有我的微信名片👇