写点什么

学生管理系统的架构文档

  • 2022 年 2 月 22 日
  • 本文字数:1152 字

    阅读完需:约 4 分钟

前言

本文是学校学生管理系统详细架构设计文档,用于指导后续的开发、测试和运维。

1. 业务背景

随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,

处理效率也十分低下。

为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从

学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改

不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。

本系统主要应用于学校学生信息管理,总体任务是实现学生信息管理的系统化、规范化和自动化,其主要任务是管理学生相关信息,如学籍、课程、成绩、奖惩。保证数据不丢失,同时为了应对将来的新需求,要求系统具有良好的扩展性。

 

2. 约束和限制

2.1.必须在 2022.10.30 号完成

2.2 系统部署在学校内网环境,硬件和网络资源由学校科技处提供,云服务器操作系统为 Centos7.6

2.3.中间件和数据库需采用开源软件

2.4.总开发成本不能超过 50 万

 

3. 总体架构

 

3.1 架构分析

3.1.1 高可用

对于系统而言,可用性有一定要求,同时,要保证数据安全,不能丢失数据,否则影响正常的学校教学活动。

3.1.2 可扩展

因学校业务规则逻辑复杂,后续迭代需求较多,因此要求系统具有良好的扩展性。

3.1.3 高性能

学校有教师约 1500 人,学生约 10000 人,同时用户对请求响应时间容忍度较高,所以对高性能没有特殊要求。

3.1.4 安全

学校内网部署,HTTPS 协议加用户登录权限验证流程,可以满足安全要求。

3.1.5 成本

系统复杂度较低,因此开发成本不会超过 50 万预算。


3.2 总体架构



1)采用 Springboot 微服务架构,分为学生、课程、权限三个子系统进行分布式集群部署。

2)通过 Nginx 进行请求的路由转发,将请求转发到各个子系统的集群机器上。

3)一台主 MySQL 和一台备 MySQL,主备数据复制,主 MySQL 提供数据读写。


4. 详细设计

4.1 核心功能

4.1.1 账号创建及密码修改流程



4.1.2 考试流程



4.2 关键设计

4.2.1 各系统功能列表

 

4.2.2 数据安全及高可用

Mysql 采用主备架构,通过 VIP+keeepalive 实现自动切换主机,实现数据存储高可用。

4.2.3 各系统功能列表

 

4.3 设计规范

4.3.1 MySQL 使用 Innodb 存储引擎

4.3.2 学生、课程、权限三个子系统间通过 HTTP 协议交互。

4.3.3 子系统接口需要符合 restful 规范,为 Json 格式接口。

 

5. 质量设计

5.1 界面测试

系统界面布局合理、颜色搭配、各个控件的放置位置符合学生和教师的使用习惯。

5.2 性能测试

除了验证系统在实际运行环境中的性能外,还要考虑当前硬件配置是否会成为制约系统的重要因素

 

6. 演进规划

6.1 学生管理系统一期

2022-8-31 日之前完成权限管理、学生信息的管理、课程的管理,以及课程相关的权限管理。

6.2 学生管理系统二期

2022-10-30 日之前完成考试管理。

 

发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2018.08.31 加入

还未添加个人简介

评论

发布
暂无评论
学生管理系统的架构文档