第四章 系统设计
4.1系统功能设计
讲座预约管理系统的用户是系统最根本使用者,按需要分析系统包括用户:学生、管理员。
管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理和文章公告管理。讲座公告管理,添加讲座公告信息,给学生发布一些学校的公告内容,为学习提前做准备,管理员管理后点击退出,注销登录信息。
学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、在线交流、信息公告等,学生用户通过账户账号登录,登录后查看讲座、预约讲座。
用户功能结构图如4.1所示:
图4.1:用户功能结构图
1、 讲座系统具有以下的几个主要功能:(1)用户管理子系统;(2)讲座管理子系统;(3)公告管理子系统;(4)管理员子系统系统;
2、 学生注册通过学号12位注册。
3、 讲座分为两种(1)形式与政治讲座;(2)可加素拓分讲座
4、 讲座通过扫码签到,开始签到一次,结束签到一次。
5、 讲座有人数限制和教室信息,并且有讲座主讲教师,讲座时间,讲座到达限定人数后,学生预约不成功。
6、 对于预约了讲座没有去听的同学,限制该同学两周内不能预约讲座,两周后自动解除限制。
7、 讲座开始前1小时内不可以取消讲座预约
8、 学生登录小程序可以看到预约讲座记录,点击已通过讲座可以看到已通过讲座信息,点击以获取素拓分讲座可以看到以获取讲座信息,并且看到获取分数。
9、 学生听完讲座需要提交手写讲座报告,管理员审核报告,审核通过才算完成一次讲座。
10、 管理端:主要对公告管理,讲座管理,审核学生提交的讲座报告(讲座报告可以手写输入,也可以上传图片),对于已通过的讲座点击已通过,不通过的点击不通过。
11、 管理员可以通过管理端实现对学生个人信息、签到和签退信息和权限的管理,包括增删改查等功能。
4.2 系统总体设计
4.2.1 系统流程图
基于微信小程序的讲座预约系统包括学生和管理员。登录后维护个人信息,在线查看讲座信息。管理员管理用户信息、管理讲座信息。其中系统流程图如图4.2所示。
图4.2 系统流程图
4.2.2 数据流图
基于微信小程序的讲座预约系统数据流程图描述系统数据流程,它将数据独立抽象出来,展现信息的来龙去脉。其中基于微信小程序的讲座预约系统的数据流程图如4.3所示:
图4.3系统数据流图
4.3 系统架构设计
本基于微信小程序的讲座预约系统在结构上使用SSM框架,这种结构是基于浏览器和服务器的。程序部署在web服务器中,数据库存储在数据库服务器中,客户端通过浏览器访问服务器,通过连接专用网络。专用网络发送请求,服务器通过防火墙过滤非法连接的客户端信息,路由器传数据库服务器和应用程序服务器的信息,返回到客户端。
基于微信小程序的讲座预约系统在技术框架上采用SSM开发模式,包括视图层、业务逻辑层、数据持久层。
视图层是前台界面呈现给客户的页面。在微信小程序页面通过js标签调用后台Java代码,同时使用CSS、JS、AJAX等进行布局,以及和客户交互。
业务逻辑层是处理功能模块的业务,本模块也需要和数据库进行交互,因为许多业务逻辑都是基于数据库的数据之上的判断,所以需要操作数据库数据,通过实体内完成业务接口,并将完成后的数据通过配置文件返回到界面层。
4.4 数据库设计
4.4.1 ER图设计
本基于微信小程序的讲座预约系统实体清晰,所以这里只绘制系统整体E-R图,其它的略去E—R图的绘制。
(1)管理员信息实体E-R图:
图4.3管理员E-R图
(2)公告信息实体E-R图
图4.4公告信息实体E-R图
(3)类型信息实体E-R图
图4.5讲座类型信息E-R图
(4)学生信息实体E-R图
图4.6 学生信息实体E-R图
(5) 高校讲座信息E-R图
图4.7 高校讲座信息实体E-R图
(6)留言交流信息E-R图
图4.8 留言评论信息实体E-R图
4.4.2 数据库表设计
基于微信小程序的讲座预约系统包括多个数据库表,下面对数据表进行详细的介绍,每个数据库表包括这个名称,对于类型是否逐渐、是否与空字段的备注信息等。
表: 公告信息表
表: 学生信息表
表: 讲座分类信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_addtime | timestamp(8) | NO | No | 创建时间 |
No3 | C_jiangzuofenlei | nvarchar(400) | NO | No | 讲座分类 |
表: 交流信息表
表: 管理员信息表
表: 配置信息表
编号 | 数据字段名称 | 对应类型 | 主键 | 允许空 | 字段的备注信息 |
No1 | C_id | bigint(8) | PK | No | 主键 |
No2 | C_name | nvarchar(200) | NO | No | 配置参数名称 |
No3 | C_value | nvarchar(200) | NO | Null | 配置参数值 |
表: 讲座信息表
表: 预约信息表
表: 取消预约信息表