学生管理系统架构设计
一、需求描述
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,处理效率也十分低下。
为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高信息的准确度以及日常管理的工作效率。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统。
要求如如下:
①要求可以通过公网域名访问;
② 要求至少 3 人合作完成;
③ 能够支撑管理 1000 个学生;
二、复杂度分析
高性能:只有 1000 个学生,不需要考虑高性能
高可用:学生管理系统短时间挂掉,影响不会很大,不会影响学校的正常教学工作,但是学生的信息大量丢失影响会比较大
可扩展:功能比较复杂,不是那么容易理解
成本:大家经济条件一般,时间也有限,要考虑架构复杂度、服务器成本和维护方面成本等
安全:不涉及资金和个人敏感信息,安全方面不太考虑
三、备选架构
架构一
前后端不分离,Nginx 将请求路由到业务服务器,由业务服务器对请求做处理。数据库用 mysql 主备;
架构二
前后端分离,全部采用云服务器,DNS 做路由转发,全部服务采用云主机
PHP 实现前端页面和后端读请求逻辑;对于写请求由 java 后端处理;数据库采用 mysql 主备;
四:架构取舍
1、团队技术水平:团队只有三个人,都会 java,但是有 php 高手,可以考虑前后端分离,充分发挥团队优势
2、方案成本:实体服务器价格比较贵,可以购买云服务器;不拆分微服务,部署维护比较简单;
3、开发周期:最多一个学期的时间
最终选择备选架构二
五:方案分析
从架构设计三原则来分析架构二
合适原则:
架构二是一个很简单的架构,不做服务拆分,开发运维成本会比较低,后端专注业务逻辑,前端专注页面交互,云服务器成本也比较低,还有技术支持和完善的操作文档
简单原则:不进行系统拆分,部署维护简单,前后端分离,问题定位方便
演化原则:只是一个毕业设计,不需要考虑太多后期的变化,题目给定了,业务需求也不太会变化。
评论