写点什么

架构实战营 - 第三期 - 模块三作业

作者:lucian
  • 2021 年 11 月 12 日
  • 本文字数:969 字

    阅读完需:约 3 分钟

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


前言


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


词汇表


Nginx:常用的接入层反向代理和负载均衡器;

Mysql:常用的关系型数据库;

Linux:一种计算机操作系统,常用于服务器端;

Spring:一种典型的 Java 后端应用程序开发框架;

1. 业务背景


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

为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,有必要建设一套学生管理系统,从学生管理现状出发,根据学生管理的新要求进行开发设计的,解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。


2. 约束和限制


  1. 必须在 2021 年 12 月 1 日前完成交付,总工期 60 天;

  2. 成本不能超过 10w;

  3. 全校教师 2k,学生 5w;

  4. 数据库采用 Mysql,开发平台 Linux;

  5. 教育网部署,公网可访问;

  6. 开发人员 2 人,前端 1 人(熟悉 VueJS),后端 1 人(擅长 Java);


3. 总体架构


Nginx:接入层代理,提供 7 层(HTTP 协议)反向代理,支持根据域名和 URL 进行请求路由到不同后端子系统;

后端子系统:分别提供学生管理、课程管理、权限管理独立功能的 3 个不同子系统,提供 RestAPI 的接口服务(HTTPS/1.1),使用 MyBatis 实现数据库的读写访问;

MySQL:提供数据存储服务,采用简单的主从架构,主机提供读写服务,备机常规时间不提供服务,主库故障时,可通过人工切换备库成为主库,故障恢复后,原主库切换为备库,并从新的主库恢复流水;


4. 详细设计

4.1 核心功能

登录 &鉴权


提供 SSO 和基于 RBAC 的权限管理功能



学生管理

。。。


课程管理

。。。


4.2 设计规范

  1. 前端使用 VueJS 框架,UI 使用 Bootstrap,后端使用 Spring Boot web 开发框架;

  2. MySQL 使用 Innodb 存储引擎;

  3. 前后端使用 RestAPI 进行通信;


5. 质量设计

成本

1 台 Nginx 代理服务 :2 核 4G,10G 硬盘,带宽 10M

3 台子系统服务:2 核 ,4G,20G 硬盘

2 台数据服务:2 核,8G,500G 硬盘


6. 演进规划

6.1 迭代一(2 周)

完成权限管理系统开发,任务分解如下:

...


6.2 迭代二(1 周)

完成学生管理系统开发,任务分解如下:

。。。


6.3 迭代三(1 周)

完成课程管理系统开发,任务分解如下:

。。。


6.4 迭代四(1 周)

生产环境部署和整体联调,任务分解如下:

。。。


用户头像

lucian

关注

还未添加个人签名 2018.03.13 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 - 第三期 - 模块三作业