写点什么

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

作者:炎彬
  • 2022 年 2 月 24 日
  • 本文字数:1405 字

    阅读完需:约 5 分钟

前言

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

词汇表

Nginx:高性能的 HTTP 和反向代理 web 服务器。

MySQL:行业主流的开源免费关系型数据库管理系统,用于存储业务数据。

Spring Boot:基于 Spring4.0 设计,具有开箱即用和约定优于配置的策略,简化了 Spring 应用的整个搭建和开发过程。


1. 业务背景

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

为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改

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

因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。

本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。

2.约束和限制

1.开发团队人员少,技术水平普通,尽量采用难度适中的技术方案;

2.预算成本低,没有专职运维人员,要求系统架构不能太复杂,方便运维;

3.一次性交付产品,不需要考虑太多的后期需求演化,学生数量不会有非常大的变化,数量比较稳定,系统可以使用多年。

3.总体架构

3.1 架构分析

系统根据业务紧密度划分为学生子系统、课程子系统和权限子系统,三个子系统之间存在交互关系。

3.1.1 高性能

考虑到学生的数量,系统的 QPS 和 TPS 都不会很高,计算量和存储量都不会很大,不需要考虑很高的性能问题。

3.1.2 高可用

数据库层面,采用主备架构,保证数据存储方面的高可用;

应用层面,每个子系统可以做分布式部署,保证每个子系统的高可用。

3.1.3 可扩展

考虑到本系统是一次性交付,不需要考虑后期的演化和学生人员数量增加很多的问题,可扩展不是系统主要需要考虑的点,可以在每个子系统的分布式部署中,弹性增加集群数量,提供可扩展的能力。

3.2 总体架构

web 端采用 Nginx 做负载均衡服务器,根据请求 URL 分发到不同的子系统中,每个子系统可以进行分布式集群部署,数据保存在 MySQL 数据库中,数据库架构采用主备模式。

4.详细设计

4.1 核心功能

人员管理:使用人员的使用流程,根据不同的人员角色设计使用时序图;

权限管理:考虑权限管理对于人员角色的控制粒度和模式;

课程管理:课程管理中涉及的选课和课程维护管理功能;

考试管理:需考虑考试的试卷录入、成绩评判、成绩组成、最终排名等各种信息管理。


4.2 关键设计

数据库主备架构模式

子系统分布式集群架构设计

5.质量设计


5.1 可测试性

从系统的开发阶段开始,每个子系统的每个模块都需要进行单元测试和集成测试,并保证每个子系统可以进行自动化的测试。

5.2 可维护性

系统的架构部署比较简单,每个子系统都有独立的部署和维护脚本,系统升级操作很简单。数据库采用主备架构,编写响应的启动和同步脚本,保证数据库的高可用性。

5.7 成本

考虑到系统的用户数量和使用维护成本,采用云服务器部署系统,并且系统对于性能要求不是很高,不需要购买很高的云服务器配置,够用就好。

 

6.演进规划

因为是一次性交付项目,不需要考虑太多的演进性规划。

用户头像

炎彬

关注

还未添加个人签名 2021.08.26 加入

还未添加个人简介

评论

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