写点什么

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

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

    阅读完需:约 2 分钟

前言

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

词汇表

(无)

1. 业务背景

随着学校规模的不断扩大,需要处理的学生管理信息也不断增加。花费大量人力资源,并且效率低下。

本系统(学生管理系统)将应用于管理学生的各类信息,实现学生信息管理的系统化、规范化、自动化。


系统边界黑盒图


2. 约束和限制

  1. 成本不能超过 20 万/年

3. 总体架构

3.1. 架构分析

3.1.1. 高性能

无需高性能。

3.1.2. 可扩展

业务需求复杂,预期未来会发生变化。

3.1.3. 高可用

数据不要大量丢失。

所有数据都有原始纸质版,数据小量丢失可以人力补充。

3.1.4. 成本

要严格控制成本。

3.2. 总体架构

系统边界白盒图


系统架构图


正常情况下,MySQL 主服务器提供读写服务,MySQL 备服务器不提供服务

MySQL 主服务器宕机的情况下,MySQL 备服务器对外提供读写服务。

4. 详细设计

4.1. 核心功能

4.1.1. 老师管理学生


4.1.2. 老师管理课程


4.1.3. 学生管理个人课程


4.2. 关键设计

4.2.1. 高性能

4.2.2. 高可用

MySQL 主备,保证数据不会大量丢失。

4.2.3. 可扩展

切分成学生、课程、权限子系统,方便扩展。

4.2.4. 安全

4.2.5 成本

每个子系统不使用集群,只使用单一服务器。

MySQL 虽然使用主备,但只用一主一备。

4.3. 设计规范

  1. 使用 PHP 的 Laravel 框架

  2. MySQL 使用 Innodb 存储引擎

  3. HTTP API 接口 使用 RESTful API

5. 质量设计

5.1. 可测试性

  1. 每个子系统要有单元测试,实现测试覆盖率 90%

  2. 关键功能必须要有单元测试

  3. 每个子系统要有 API 测试

  4. 整个系统要有 API 测试

5.2. 可维护性

暂无

5.3. 可观测性

暂无

5.4. 成本

每个子系统不使用集群。

MySQL 只用一主一备。

6. 项目计划

6.1. 学生管理系统一期

老师可以管理学生、课程

学生可以管理自己的课程

6.2. 学生管理系统二期

学生可以给老师、课程评分


用户头像

AragornYang

关注

还未添加个人签名 2018.10.03 加入

还未添加个人简介

评论

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