模块三作业
前言
本文是学生管理系统详细架构设计文档,用于指导学生管理系统后续的开发、测试和运维
1. 业务背景
学生数量多,需要处理的信息大,处理效率低下
为提高学生管理的管理水平,帮助学生管理人员有效管理学生信息
基于以上背景需要需要构建学生管理系统实现学生信息管理的系统化、规范化和自动化,管理学生相关信息,如学籍、课程、成绩、奖惩。
2. 约束和限制
成本不能超过 20 万
3. 总体架构
3.1 架构分析
可扩展:业务需求比较复杂
数据高可用:数据不要全部丢失
3.2 总体架构
1)将整个系统划分为学生子系统、课程子系统、权限子系统;
2)用 nginx 进行反向代理;
3)使用 mysql 主从复制方案,保障数据的可靠性。
4. 详细设计
学生子系统、课程子系统、权限子系统基于 spring boot 框架开发,通过 http 接口进行交互
4.1 核心功能
4.1.1 学生帐号生成流程
管理者可以在权限子系统通过 Excel 批量导入学生基本信息,创建学生帐号。学生拿到帐号、初始密码后登录学生子系统完善基本信息。
4.1.2 选课流程
管理者在课程子系统中录入课程基本信息,指定课程上线时间。学生登录课程子系统选课,按照选课请求发送的先后时间确定课程选定结果。
4.2 关键设计
消息存储可靠性
消息存储在 MySQL 中,一主一备两台 MySQL 服务器,MySQL 服务器之间复制消息以保证消息存储高可用。
4.3 设计规范
1)学生子系统、课程子系统、权限子系统基于 spring boot 框架开发;
2)系统间通过 http 接口 json 报文进行交互;
3)数据存储使用 mysql,存储引擎使用 Innodb。
5. 质量设计
成本控制在 20 万以内;
测试全场景覆盖,TPS 不低于 1000。
6. 演进规划
一期完成权限子系统角色创建功能、学生子系统开发;
二期完成课程子系统课程相关功能开发;
三期完成课程子系统考试相关功能开发。
评论