写点什么

模块三作业:学生管理系统架构设计文档

作者:赵先生
  • 2021 年 11 月 14 日
  • 本文字数:1065 字

    阅读完需:约 3 分钟

模块三作业:学生管理系统架构设计文档

前言

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


1. 业务背景

随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的人力物力,处理效率也十分低下。从学生管理系统的现状出发,根据学生管理的新要求设计开发一套新的管理系统迫在眉睫。它需要帮助管理人员有效进行学生信息的管理。


本系统主要是应用于学生各类信息的管理,其主要任务是对学生信息进行日常管理,如查询、修改、增加、删除,以及支持选课、考试成绩查询等功能。

2. 约束和限制

  1. 全校约有学生 20000 人,教师 1500 人

  2. 数据库要求使用 MySQL

  3. 支持 7*24 小时稳定运行,支持同时在线人数不超过 500 人

  4. 整体成本不超过 100 万

  5. 必须在 2022 年春季学期开学前上线

3. 总体架构



  1. 采用 MySQL 主备方式进行数据备份

  2. 使用 Nginx 反向代理进行负载均衡服务

  3. 拆分为学生子系统、课程子系统以及权限子系统三个子系统,对业务进行解耦,利于后期进行业务模块支持的扩展

4. 详细设计

4.1 核心功能

4.1.1 学生管理

  1. 系统登录:学生与教师进行系统登录,包含第三方快捷登录、账号注册与找回、密码修改等

  2. 信息修改与查询:个人信息修改与查询、课程信息修改与查询

  3. 文件上传与下载:试卷照片、作业文件等上传与下载,成绩表格的上传与下载

4.1.2 课程管理

  1. 课程创建与修改:管理员对课程体系的创建,供学生和老师进行选择

  2. 开课选课功能:教师可选择开设课程,学生选择学习课程

  3. 排课功能:根据学生选定的课程和教学计划安排,对教师、教室、学生进行时间、空间统一规划安排

4.1.3 权限管理

  1. 角色设置:系统的角色包括管理员、学生、老师

  2. 功能设置:管理员拥有最高权限,可进行全部数据信息的修改与查询;学生教师可以进行注册、个人信息修改;学生可以查询已选择课程与考试成绩,对应教学的教师可以查看与修改考试成绩

4.2 关键设计

  1. 业务扩展性:拆分为 3 个子系统,各子系统负责不同领域的业务实现,便于后续扩展其他功能

  2. 数据高可用:MySQL 主备方式,主节点宕机后手工切换为备节点服务,针对主备同步延迟做到监控及告警

4.3 设计规范

  1. 业务服务开发使用 Spring Boot 2.x 框架

  2. 服务间数据响应采用 json 格式

  3. 接口遵循 Restful 风格

5. 质量设计

5.1 可测试性

  • 提供一套标准规范的 API 文档,同时给出单元测试用例,系统整体测试用例

5.2 可维护性

  • 编写详细的上下线部署文档、升级与回滚方案、应急预案、问题响应手册,确保出现问题后及时恢复

5.3 可观测性

  • 提供必要的指标与接口,进行监控数据的采集与分析

6. 演进规划

6.1 项目计划

一期:完成三个子模块业务开发,完成各子系统内部测试

二期:上线进行小规模业务流程测试,灾备流程测试

三期:全部功能上线

发布于: 3 小时前阅读数: 8
用户头像

赵先生

关注

还未添加个人签名 2017.12.03 加入

还未添加个人简介

评论

发布
暂无评论
模块三作业:学生管理系统架构设计文档