面向复杂度架构设计之学生管理系统
1.微信业务架构
2.学生管理系统架构设计
2.1 需求背景
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
1 要求可以通过公网域名访问;
2 要求至少 3 人合作完成;
3 能够支撑管理 1000 个学生;
4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
1 大家都会 Java,但是有一个是 PHP 高手;
2 大家经济条件一般。
要求:
1 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
2 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
3 给出你选择的最终方案以及选择理由。
2.2 架构设计
备选方案一
备选方案二
2.3 结论
综合团队技术水平,成本,开发周期等因素采用备选方案二。
面向复杂度架构设计分析-设计三原则
合适原则
团队成员都会用 java,减少技术沟通的成本
采用模块化开发设计,降低开发成本
两台应用服务,两台数据库服务器(主从备份)保证系统高可用
简单原则
采用方案二不需要进行系统拆分,降低了部署维护的成本
考虑到这个系统没有高性能的特别要求,以及费用成本,不需要采用微服务,省去了微服务基础设施的成本
演化原则
考虑到这是一次毕业设计,一次性交付,无需考虑太多后期的演化
学生数量维持在一个稳定的数量不会有太大的变化,这套系统架构能够服用多年
评论