写点什么

外包学生管理系统架构设计文档

作者:
  • 2022 年 2 月 24 日
  • 本文字数:1076 字

    阅读完需:约 4 分钟

前言

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

 

1. 业务背景

 

随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。带来了以下问题:

  • 占用大量的教师资源处理学生信息。

  • 人工处理数据效率低,容易出错,不易维护。

 

基于以上问题,我们需要引入外包学生管理系统,实现学生信息关系的系统化、规范化、自动化,主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。

 

2. 约束和限制

1、预计 3 个月。

2、成本尽量少。

3、数据库采用 Mysql。

4、学生人数在几万,暂定 3 万。

 

3. 总体架构

总体架构设计:


3.1 架构分析

 

3.1.1 高可用

信息不能大量丢失,对高可用有一定的要求,但是不高。对于抢课等场景可以考虑引入消息队列。

 

3.1.2 高性能

一个学校一般 2、3 万人,所以对高性能没有太多的要求,此处不涉及。

 

3.1.3 可扩展

预计本系统将使用 3 到 5 年,对于数据量的要求不高,但要考虑各种需求扩展。

 

3.1.4 安全性

不涉及金融,社交,所以不考虑太多加解密。

 

3.2 总体架构

 

系统架构图:



1)采用 Nginx 实现对外网提供服务。

2)学生管理系统主要由学生子系统、课程子系统和权限子系统组成。

3)数据库使用 MySql,采用主备模式,防止数据丢失。

 

4. 详细设计

 

4.1 核心功能

 

学生子系统


课程子系统


权限子系统


4.2 关键设计

 

1)高可用

信息不能大量丢失,对高可用有一定的要求,但是不高。对于抢课等场景可以考虑引入消息队列。

 

2)高性能

不涉及。

 

3)可扩展

后期的业务场景比较复杂,需要考虑可扩展的复杂度。

 

4)安全性

定期更新漏洞。

 

4.3 设计规范

1)服务整体采用 Spring Boot+Netty 开发。

2)MySql 采用 Innodb 存储。

3)MySql 采用主备模式,抱着数据尽量不丢失。

4)上传下载的文件采用服务器本地存储。

5)网络数据格式采用 JSON。

6)采用 log4j 或 logback 记录日常操作日志。

 

5. 质量设计

 

5.1 学生管理系统前端采用 php 开发,后台采用 java 开发,前后端分离。

5.2 成本低,没有采用本地存储+本地数据库。

5.3 性能要求不高。

5.4 采用 MySql 主备,实现尽量少丢失数据。

 

6. 演进规划

 

6.1 学生管理系统一期

完成学生管理系统的权限模块中权限分配,注册和注册管理功能,课程模块中课程录入、教材录入、课程增删改、选课功能,学生模块登录、退出、查询、组织绑定、文件上传、文件下、教师上传文件、教师下载文件的功能。

 

6.2 学生管理系统二期

增加考试管理模块,实现题库录入、自动生成试卷、试卷评分、学生考勤录入、课堂笔记录入、课后作业录入、课后作业批阅、计算平时成绩功能、最终成绩、学生学籍、奖惩录入

用户头像

关注

还未添加个人签名 2019.02.19 加入

还未添加个人简介

评论

发布
暂无评论
外包学生管理系统架构设计文档