写点什么

模块三课后作业 - 详细架构设计文档 - 外包学生管理系统

作者:断水风春
  • 2021 年 11 月 10 日
  • 本文字数:1745 字

    阅读完需:约 6 分钟

前言

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

词汇表

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

MySQL:最流行的关系型数据库管理系统

SpringBoot:简化配置来进一步简化了 Spring 应用搭建的

MyBatis:开源的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

 

1    业务背景

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

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

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

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

2    约束和限制

1)、必须在 2022.03.30 号完成

2)、数据库采用 MYSQL

3)、要求通过公网域名访问

4)、在校学生和教辅人员的人数在 6000 左右,需支持最大在线访问人数在 2000

5)、学校经济条件不算太好,需要在一定程度上考虑成本,但是也要兼顾质量。

3    总体架构

系统边界白盒图



3.1      架构分析

3.1.1       高性能

支撑管理 6000 个学生,一般系统均可满足需求,高性能要求较低。

3.1.2       高可用

对于外包学生管理系统,如果个别学生数据丢失,可采用人工方式或通过备份找回数据,但如果数据服务器损坏或大批量数据遗弃,则问题很严重。所以,对数据高可用有要求。

3.1.3       可扩展

为了后续业务需求的复杂度和变化性,需要在一定程度上满足可扩展性。

3.1.4       安全、成本

需要在一定程度考虑成本,为学校节约成本。安全方面,学校未做过多要求。

综合来看,外包学生管理系统需要满足可扩展和数据高可用,包括业务功能需求可扩展,数据存储高可用

3.2      总体架构


(1)、采用数据主从备份架构,服务器按业务功能拆分,每台服务器布署一个子系统。

(2)、通过 Nginx 反向代理对请求进行转发,按不同业务请求转发到对应业务子系统服务器。

(3)、学生、课程、权限三大子系统,分别对应一台服务器,只是拆分成子系统,并非微服务设计。

(4)、存储上,包括一台主 MYSQL 和一台备 MYSQL,实现主备数据复制。

4    详细设计

4.1      核心功能

 

系统时序图-课堂成绩:


系统时序图-考试成绩:


业务架构图:


4.2      关键设计

(1)、Nginx 请求按业务分流转发,采用前后端动静分离,具体比较不错的性能,保守估计可支撑 10000 人以下的在线访问。

(2)、三个子系统按业务功能,分别布署在三台服务器上,各个业务子系统,可以单独开发、测试、上线,降低耦合,具有很好的灵活性和扩展性。

(3)、数据库存储,采用 Mysql 主从备份,提供最好的灾备能力,并能保证一定时间内的数据一致性。

(4)、硬件 5 台服务器,相对成本不算高,并且按功能布署的三台业务服务器,具有相对较高的性能。

4.3      设计规范

(1)、 后端使用 SpringBoot、Mybatis、Shiro 框架,用 Maven 对项目工程进行管理和拆分。

(2)、数据库 MySQL,使用 Innodb 存储引擎。

(3)、前后端分离,前端采用 Vue 框架实现。

(4)、前端静态页面、JS、图片等资源,部署在 Ngnix 上

(5)、前后端通讯、服务调用采用 http 协议,json 数据交换格式 ;

服务调用使用 httpClient 发送和接收。

5    质量设计

5.1      可测试性

不用考虑

5.2      可维护性

不用考虑

5.3      可观测性

除系统日志外,对重要业务操作、权限操作日志、管理授权、用户登陆需要提供日志查询界面。

5.4      成本、安全

按照采购硬件计算成本,不再做减少其他成本支出;

没有特殊安全要求,采用常规安全级别。

6    演进规划

6.1  一期

按照业务需求,完成各个子系统的交付,满足教师、学生、辅导员、管理的日常使用。

6.2  二期

根据客户需求,完善报表、监控等功能。

用户头像

断水风春

关注

还未添加个人签名 2018.04.26 加入

还未添加个人简介

评论

发布
暂无评论
模块三课后作业-详细架构设计文档-外包学生管理系统