学生管理系统架构文档
前言
本文是学生管理系统架构设计文档,用于指导学生管理系统后续的开发、测试和运维。
1. 业务背景
传统的维护学生数据的方式效率较低。为提高学生管理的管理水平,需要开发学生管理系统。
本系统主要是应用于学生各类信息的管理,总体任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。
2. 约束和限制
成本不能超过 XX 万。
各种组件优先使用国产化或开源项目。
3. 总体架构
3.1 架构分析
3.1.1 高可用
由于是学校内部使用,可接受短时间系统不可用。
3.1.2 高性能
热门功能如选课可分年纪在不同时间进行,所以在选课时经受 10000TPS 即可。
3.1.3 可扩展
无需考虑
3.2 总体架构
1)前端使用 Nginx 将请求分发到相应的服务器
2)后端分为学生子系统、课程子系统、权限子系统三个模块
3)使用 Mysql 的主备存储方式
4. 详细设计
4.1 核心功能
4.1.1 权限控制
用户角色(学生、教师、辅导员)在权限子系统查询该用户的权限,并根据权限返回课程列表、能否查看、编辑课程、修改学生信息、修改学生成绩等信息。
4.1.2 课程管理
根据用户权限,显示对课程的不同操作选项,编辑课程,选择课程,编辑课程表等。
4.1.3 学生管理
根据用户权限,显示对学生信息的不同操作选项,编辑,查看,打分等。
4.2 关键设计
高可用:使用主从数据库,保证数据存储的可用性。
高性能:拆分不同的子系统,使用 nginx 进行请求转发,保证各个系统相对独立。
安全性:在内网环境中使用,减少信息泄露风险。
4.3 设计规范
业务模块开发使用 Spring Boot + Mybatis
MySQL 使用 InnoDB 存储引擎
数据传输使用 HTTP+JSON
5. 质量设计
无
6. 演进规划
无
评论