学生外包管理系统架构设计文档
前言
本文是学生外包管理系统详细架构设计文档,用于指导学生外包管理系统后续的开发、测试和运维。
1.业务背景
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,处理效率也十分低下。为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的。
该系统主要解决业务问题:
1).数据管理问题:需要解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
2).规范化提效问题:可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。
2.约束和限制
2.1 开发成本越低越好,控制在 20 万以内
2.2 时间限制为 2 个月周期
2.3.语言采用 Java
2.4.数据库和中间件均采用开源
2.5.保证数据可用性
2.6.运维成本要低
3.总体架构
3.1 架构分析
3.1.1 高性能:学生管理系统针对的对象为学生,即使高校学校预计 5 万以内,不存在高并发问题,所以性能要求不高
3.1.2 高可用:数据需要具备高可用能力,不能丢失学生相关数据
3.1.3 高拓展:系统需求明确,不存在拓展需求
3.2 总体架构
系统采用 Nginx 做负载均衡;
各个业务模块独立运作,分为四个业务模块:学生子系统、课程子系统、权限子系统、考试管理子系统;
采用 MYSQL 主备架构做数据处理。
架构图:
4. 详细设计
分为四个子系统:学生子系统、课程子系统、权限子系统、考试子系统
4.1 核心功能
4.1.1 学生子系统
4.1.1.1 账户管理
4.1.1.2 组织架构管理
4.1.1.3 信息管理
4.1.2 课程子系统
4.1.2.1 课程录入
4.1.2.2 选课
4.1.2.3 排课
4.1.2.4 教材选择
4.1.3 成绩子系统
4.1.3.1 评分判定
4.1.3.2 试卷区域分割
4.1.3.3 平时成绩
4.1.4 权限子系统
4.2 关键设计
MySQL 采用主备架构,实现自主切换
4.3 设计规范
4.3.1 系统框架采用 springboot
4.3.2 MySQL 使用 Innodb 存储引擎,数据库中间件采用 mybatis
4.3.3 系统间数据访问采用 openfeign 框架
5. 质量设计
5.1 成本:控制在 20 万以内
5.2 可测试性:MYSQL 主备切换模拟和测试
6. 演进规划
无需考虑演进,学生外包管理系统需求明确,用户数量不会变化太大,系统架构不会存在经常变动。
评论