写点什么

模块三 - 学生系统详细架构设计

作者:ASCE
  • 2022 年 4 月 19 日
  • 本文字数:917 字

    阅读完需:约 3 分钟

前言

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


词汇表


1. 业务背景

随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源, 处理效率也十分低下。 为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从 学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改 不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。 因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高 信息的准确度以及日常管理的工作效率。 本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其 主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等 功能设计的管理系统


2. 约束和限制


1.必须在 2021.06.30 号完成

2.成本不能超过 200 万


3. 总体架构


3.1 架构分析


3.1.1 高可用

数据存储方面采用 mysql 主备,避免系统数据丢失

应用子系统可部署多实例防止单点故障

3.1.2 可扩展

服务拆分,后续有新的业务服务可以方便扩展


3.2 总体架构


1)采用 nginx 进行服务请求的负载均衡,根据 url 路由到各业务服务子系统

2)学生子系统负责学生信息的管理和服务;课程子系统负责课程信息的管理和服务;权限子系统负责整体系统的权限查询和控制

3)三个业务子系统共用一个数据库进行数据读写和数据交互

4)mysql 数据库采用主备架构,主备间进行数据同步


4. 详细设计

[必选,描述核心场景或者流程的实现机制]

4.1 核心功能


4.1.1 学生管理

4.1.2 课程管理

4.1.3 权限管理


4.2 关键设计


1)服务间数据交互

各子系统提供独立的业务服务,若存在服务间数据的交互,通过共用数据库实现,而不用类似微服务的服务间调用,从而简化系统间的交互流程。


4.3 设计规范


1)各子系统采用 Spring Boot + mybatis 开发

2)MySQL 使用 Innodb 存储引擎

3)对外提供 http 服务

5. 质量设计


5.1 成本

通过简化服务交互,提升开发效率,采用熟悉的技术栈进行开发


6. 演进规划


6.1 一期 先上线主要功能,可以先投入使用

6.2 二期 丰富非核心业务功能及优化


用户头像

ASCE

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

发布
暂无评论
模块三-学生系统详细架构设计_ASCE_InfoQ写作社区