模块三作业
前言
本文是学生管理系统的详细架构设计文档,用于指导学生管理系统后续的开发、测试和运维。
词汇表
1. 业务背景
系统主要应用于学校学生信息管理,总体任务是实现学生信息管理的系统化、规范化和自动化,其主要任务是管理学生相关信息,如学籍、课程、成绩、奖惩。
2. 约束和限制
1. 独立部署。
2. 成本不能超过 50 万。
3. 总体架构
1. 系统分为课程子系统、权限子系统、学生子系统。
2. 采用 Spring Could Alibaba 作为基础框架。
3. 采用 Mysql 作为数据库。
4. 采用 Nginx 作为负载均衡器。
3.1 架构分析
高可用:
1. 计算高可用:允许宕机超过 2 小时,不考虑。
2. 存储高可用:保证数据不丢失。
高性能:
1. 计算高性能:一个学校学生通常不会超过太多,不考虑。
2. 存储高性能:不考虑。
可扩展:
1. 拆分成课程服务、学生服务、权限服务。
2. 一次性交付。
安全:
独立部署,自己的机房,内网环境访问。
3.2 总体架构
4. 详细设计
4.1 核心功能
1. 学生登录系统,通过权限服务鉴权后,拿到自己能看到的课程。
2. 管理员通过权限系统控制学生、老师的权限。
3. 学生、管理员通过课程系统,管理课程。
4. 老师通过课程+学生系统管理学生成绩。
4.2 关键设计
1.使用 Mysql 主备,同步复制模式,保障数据的完整性。
4.3 设计规范
1. 服务器使用 Springboo+Tomcat 进行开发 。
2. 服务之间采用 Http+json 进行通信。
3. Mysql 使用 Innodb 存储引擎。
4. 对外提供 HTTP+JSON。
5. 质量设计
可测试性:
通过 Http 接口+UI 测试。
可维护性:
无
可观测性:
通过 SpringBootAdmin 监控。
成本:
需要 6 台服务器。
6. 演进规划
完成功能后一次性交付
评论