模块 3 作业
前言
本文是外包学生管理系统架构设计文档,用于指导系统的开发、测试和运维
词汇表
MySQL:关系型数据库
1. 业务背景
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,处理效率也十分低下。为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。
2. 约束和限制
必须在 三个月内 完成
成本不能超过 100 万
数据库采用关系型数据库便于维护
学校(大学)有在校学生 5 万
3. 总体架构
系统需求有四大块:学生管理 ,课程管理 ,考试管理,权限管理。架构采取业务服务器加 MySQL。
3.1 架构分析
系统需求总体分四个模块:
学生管理 - 学生账号,信息查询等
课程管理 - 排课,选课 等
考试管理 - 安排,成绩等
权限管理 - 不同系统使用者的权限和功能等
业务服务器包含这四个模块功能,不采取服务拆分。为保障数据不丢失,采用主备 MySQL。
3.2 总体架构
4. 详细设计
核心功能分学生,教师和管理员部分。关键设计包括注册,成绩查询,权限管理等。
4.1 核心功能
用例图:
4.2 关键设计
学生注册:
4.3 设计规范
MySQL 使用 Innodb 存储引擎
服务器和 DNS 用 http (内网)
服务器和 MySQL 用 tcp(内网)
5. 质量设计
可测试性保证:提供全链路压测
可维护性保证:服务提供降级,下线,切换;使用 MySQL SET 和 SHOW
可观测性保证:主要通过日志和后端运维平台
6. 演进规划
业务服务器包含这四个模块功能,不采取服务拆分。一次性交付,不考虑后期演化,因为预期学生数量不会有很大变化。
评论