写点什么

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

作者:阿卷
  • 2022 年 2 月 23 日
  • 本文字数:697 字

    阅读完需:约 2 分钟

前言

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


1、业务背景

随着学校的发展,教师、学生、课程等信息的管理使用传统的表格人工管理的方式,存在效率低、易出错、查询不方便等问题,为了更好的管理这些信息,需要一套完整的在线管理系统对这些信息进行管理以提高管理效率。

2、约束和限制

  1. 需要在 6 月底完成并上线

  2. 成本控制在 20

  3. 数据库要求使用 Mysql,开发语言 java 或 go

  4. 内网部署

3、总体架构

3.1 架构分析

可用性:保证数据不能丢失

可扩展:后续会有功能迭代,需要具备一定的扩展性

性能:学校人数相对较少(大点的 5w 左右),并发不会太高,性能要求不高

安全:使用 https 协议

3.2 总体架构

1、采用 kratos 服务框架开发,分成学生、课程、权限三个子系统进行独立部署

2、nginx 通过路由规则进行转发

3、mysql 使用主备模式部署,读写都使用主库,备库只做备份

4、详细设计

4.1、核心功能

用户登录

一般操作流程

4.2、关键设计

1、数据可靠性

使用 mysql 主备实现数据可靠性,当主库发送故障磁盘损坏时,可切换到备库继续提供服务,主库修复后作为备库重新上线,从而保证数据不丢失。

2、系统扩展性

系统按模块划分成多个子系统独立部署,方便后续扩展

4.3、设计规范

1、mysql 所有的表必须使用 innodb 引擎和 utf8mb4 编码

2、接口需要符合 RESTful 风格

3、所有的操作必须要有权限控制

4、所有的输入输出字段必须使用蛇形命名

5、质量设计

  1. 可测试性:接口通过单元测试,故障可手动停止服务

  2. 可维护性:各系统可进行平衡重启在线升级

  3. 可观测性:将系统资源及程序运行中的日志进行记录,通过管理平台进行服务监控

6、演进规划

  1. 一期:完成基本的功能,如学生信息管理、课程管理、权限管理等

  2. 二期:在线考试

  3. 三期:社区、其他

用户头像

阿卷

关注

还未添加个人签名 2021.06.29 加入

还未添加个人简介

评论

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