写点什么

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

作者:石小天
  • 2022 年 2 月 24 日
  • 本文字数:1030 字

    阅读完需:约 3 分钟

前言

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

词汇表

  • nginx:一高性能的 HTTP 和反向代理 web 服务器;

  • springboot: spring 软件框架,便于快速开发;

  • mysql:一个流行的关系型数据库管理系统;

1. 业务背景

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

处理效率也十分低下。

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

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

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

因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高

信息的准确度以及日常管理的工作效率。

本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其

主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等

功能设计的管理系统。

2. 约束和限制

  • 可用性:保障已存储数据不会出现全部丢失;

  • 成本要求:成本不能太高

3. 总体架构

3.1 架构分析

3.1.1 高可用

学生的学籍信息是人工录入的,不能在极端情况下出现全部丢失

3.1.2 高性能

学生人数不会太多,没有特别高的性能要求

3.1.3 可扩展

业务需求比较复杂,需要一个可扩展的系统


3.1.4 安全

不涉及金融、支付等,对安全要求不高


3.1.5 隐私

基本都是公开信息,隐私要求不高


3.2 总体架构

  • 使用 nginx 负责请求接入,把请求反向代理到具体的子系统

  • 系统拆分成学生、课程、权限三个子系统

  • 数据存储需要一定的高可用,采用 MySql 主备架构

4. 详细设计

4.1 核心功能

4.1.1 学生子系统

学生个人信息管理。

4.1.2 课程子系统

课程信息管理,选课,考试。

4.1.3 权限子系统

账号角色管理,权限分配,账号信息管理。


4.2 关键设计

4.2.1 高可用

存储:采用 MySQL 准备架构,保障数据不会在极端情况下全部丢失

4.2.2 可扩展

  1. 拆分成多个子系统,便于多人协作开发以及日后扩展


4.3 设计规范

  • 子系统开发语言使用 java,框架使用 spring boot

  • MySQL 使用 Innodb 存储引擎


5. 质量设计

1. 可测试性

需要搭建测试环境,模拟真实场景

2. 可维护性

大家对 MySQL 比较熟悉,采用 MySQL

3. 可观测性

  • 管理系统自身是一个管理后台,具有一定的可观测性。

  • 重要信息如报错等需要打印日志

6. 演进规划


  • 一次性交付,没有太多需要演进的地方

  • 学校学生数量不会很大变化

用户头像

石小天

关注

还未添加个人签名 2018.11.07 加入

还未添加个人简介

评论

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