写点什么

模块三作业

作者:Vincent
  • 2021 年 12 月 19 日
  • 本文字数:712 字

    阅读完需:约 2 分钟

前言

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

 

词汇表

1. 业务背景

系统主要应用于学校学生信息管理,总体任务是实现学生信息管理的系统化、规范化和自动化,其主要任务是管理学生相关信息,如学籍、课程、成绩、奖惩。

 

2. 约束和限制

1.   独立部署。

2.   成本不能超过 50 万。

3. 总体架构

1.   系统分为课程子系统、权限子系统、学生子系统。

2.   采用 Spring Could Alibaba 作为基础框架。

3.   采用 Mysql 作为数据库。

4.   采用 Nginx 作为负载均衡器。

 

3.1 架构分析

高可用:

1.   计算高可用:允许宕机超过 2 小时,不考虑。

2.   存储高可用:保证数据不丢失。

 

高性能:

1.   计算高性能:一个学校学生通常不会超过太多,不考虑。

2.   存储高性能:不考虑。

 

可扩展:

1.   拆分成课程服务、学生服务、权限服务。

2.   一次性交付。

安全:

     独立部署,自己的机房,内网环境访问。

 

3.2 总体架构



4. 详细设计

4.1 核心功能

1.   学生登录系统,通过权限服务鉴权后,拿到自己能看到的课程。

2.   管理员通过权限系统控制学生、老师的权限。

3.   学生、管理员通过课程系统,管理课程。

4.   老师通过课程+学生系统管理学生成绩。

4.2 关键设计

1.使用 Mysql 主备,同步复制模式,保障数据的完整性。

4.3 设计规范

1.   服务器使用 Springboo+Tomcat 进行开发 。

2.   服务之间采用 Http+json 进行通信。

3.   Mysql 使用 Innodb 存储引擎。

4.   对外提供 HTTP+JSON。

5. 质量设计

可测试性:

     通过 Http 接口+UI 测试。

可维护性:

     无

可观测性:

     通过 SpringBootAdmin 监控。

成本:

     需要 6 台服务器。

6. 演进规划

     完成功能后一次性交付

用户头像

Vincent

关注

还未添加个人签名 2018.03.14 加入

还未添加个人简介

评论

发布
暂无评论
模块三作业