写点什么

[架构实战] 课后作业

  • 2022 年 9 月 25 日
    北京
  • 本文字数:847 字

    阅读完需:约 3 分钟

[架构实战] 课后作业

1. 画出微信的业务架构图


  • 业务架构图:描述系统对用户提供了什么业务功能,类似于 4+1 视图的场景视图。

  • 业务架构图的使用场景:

  • 产品人员业务规划

  • 汇报

  • 新员工培训业务


解题思路:打开微信,使用记事本 将微信的功能都列出来,在按照功能类别进行汇总



2. “学生管理系统”毕设架构设计

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

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

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

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

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


你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:

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

②大家经济条件一般。


作业要求:

①对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。

②使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。

③给出你选择的最终方案以及选择理由。


解题思路:

按照 面向复杂架构设计环分析:

  • 支撑管理 1000 个学生,数据量不大,不存在 高性能,高并发

  • 公网域名访问:安全性要求较高,避免被黑客攻击,造成学生信息泄露

  • 团队 3 个成员,大家都会 java,使用 java 作为开发语言。

  • 经济条件一般(预算不高)

  • 毕业设计,设计+开发 也就两个月的时间


方案一

区分两个模块:

  • 学生管理:学生注册、学生信息维护、学生课程管理、学生成绩管理)

  • 权限管理:学生信息审核,系统权限维护(安全登陆功能实现)

  • 使用 mysql 主备 ,来做数据的备份,防止数据的丢失。

方案二

  • 业务应用:包含了 学生注册、学生信息维护、学生课程管理、学生成绩管理)、学生信息审核,系统权限维护(安全登陆功能实现)

  • 使用一台 Mysql 服务器,采用人工定期备份,将学生信息定期备份出来


结论:

  • 方案一 将功能按照模块进行区分,分为学生管理和权限管理,需要分开部署,而且后期扩展也比较好。

  • 方案二将功能打包到一个包里,一起部署。可以满足当前用户规模的访问。采用一台 mysql 服务器,人工手工,定期部署。


方案二:比较符合当前的场景、团队三个成员,开发周期较短,经济条件有限。


用户头像

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
[架构实战] 课后作业_爱学习的麦子_InfoQ写作社区