学生管理系统详细架构设计文档
1.业务背景
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,处理效率也十分低下。
为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。
2.约束和限制
- 控制成本两台服务器 
- 2 个月开发周期 
- 数据库采用 mysql 
3.总体架构
3.1 架构分析
3.1.1 高可用
对于学生管理系统来说最重要的就是保证信息不能丢失,包括学生信息,教师信息,课程信息等等,如果不能采取有效的手段导致信息丢失带来的后果非常严重。
综合来看,采用 mysql 数据库主从备份机制保证信息高可用是一个不错的选择。
3.2 总体架构
 
 - 系统采用多实例部署,每个系统分别部署两套实例在两台服务器上,保证系统的高可用。 
- Nginx 做负载均衡,采用轮询机制,将请求分发到两台服务器。 
- 如果一台服务器宕机,Nginx 将请求代理到正常的服务器。 
- 数据存储在 mysql,利用 mysql 主从备份机制,同步保存数据备份,主库宕机自动切换到从库继续提供存储服务,保证数据存储的高可用。 
- 系统采用前后端分离开发设计,前端用 vue 开发,后端用 springboot 开发。 
4.详细设计
4.1 核心功能
4.1.1 查询课程流程
 
 4.2 关键设计
- 服务请求的高可用 
前端程序访问后端服务,由 nginx 反向代理到具体的系统服务,nginx 采用轮询方式做负载均衡,当其中一台主机宕机,修改 nginx 代理,将请求代理到正常的服务器,保证系统的高可用。
- 数据存储的高可用 
数据存储采用 Mysql 主从复制机制
- 主库将数据库的变更操作记录到 Binlog 日志文件中 
- 从库读取主库中的 Binlog 日志文件信息写入到从库的 Relay 
- Log 中继日志中从库读取中继日志信息在从库中进行 Replay,更新从库数据信息 
4.3 设计规范
- 客户端程序采用 VUE3.x 开发 
- 服务端程序采用 Spring Boot2.x 开发 
- 数据库采用 Mysql8.0,使用 Innodb 存储引擎 
- 前后端通讯采用 json 数据格式 
- 服务端返回相应体 
5.质量设计
通过学生管理系统客户端测试系统整体的功能流程。
6.演进规划
一期完成所有功能












 
    
评论