写点什么

微信业务架构图 & 学生管理系统架构设计

作者:阿卷
  • 2022 年 1 月 22 日
  • 本文字数:818 字

    阅读完需:约 3 分钟

微信业务架构图

学生管理系统架构设计

需求:

1 要求可以通过公网域名访问;

2 要求至少 3 人合作完成;

3 能够支撑管理 1000 个学生;

4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。

基本情况:

1 大家都会 Java,但是有一个是 PHP 高手;

2 大家经济条件一般

需求分析

需求中没有说明需要哪些模块,一般毕业设计也不会固定死必须要有什么,这个全看个人自己,前期我们规划上必须的功能(注册登录、学生信息管理、教师信息管理、课程管理、权限管理、在线考试等),完成之后再计划扩展一些其他功能(社团、活动组织、论坛等)。

功能拆解

从需求中看这个系统是一个相对简单的系统,只要支撑管理 1000 个学生,对于这个系统来说性能要求也不会太高,再怎么写也不至于卡死,我们只需要使用 MVC 的模式开发即可满足需求,主要考虑的是扩展性和可用性。我们按照功能主要划分成几个模块:

  1. 用户模块:包含用户登录注册、学生基本信息管理、教师信息管理

  2. 课程模块:课程信息、学生选课

  3. 权限模块:角色分配和权限配置

  4. 考试模块:上传试卷、在线考试、在线阅卷

  5. 社团模块:社团信息管理、报名等

  6. 活动模块:活动信息、活动组织、报名等

  7. 论坛:可直接使用开源论坛账户打通

备选架构

方案 1:
方案 2:


方案分析:

方案 1 和方案 2 都选择 MVC 单体架构的模式开发,从成本和开发效率上来看 MVC 是最好的选择,同时也符合 3 人团队的开发模式,部署两个业务服务器和和数据库只要考虑的是应用的可用性,不至于一个服务器下线导致系统不可用,数据库损坏导致数据丢失的情况。方案 2 加入了一个 redis,主要的考虑是有多个业务服务器时做分布式 session 和一些数据缓存。

最终方案选择

对 3 人团队开发这样的相对简单系统来说方案 1 和 2 都符合架构三原则中的合适和简单原则,对于方案 2 中的 redis 解决的分布式 session 问题前期我们可以通过 MySQL 解决,后期有必要再引入 redis,方案 2 可以作为方案 1 的后续演进架构,所以最终选择方案 1 来实现这个学生管理系统,语言方面既然是单体那肯定是选择一个大家都会的语言 java

用户头像

阿卷

关注

还未添加个人签名 2021.06.29 加入

还未添加个人简介

评论

发布
暂无评论
微信业务架构图 & 学生管理系统架构设计