如何快速了解一个系统

从不同的层次、不同的角度,来了解跟系统有关的整体框架。

概念层

  1. (最重要)明晰需求:询问了解系统解决的问题。(可以跟产品经理和项目经理沟通一下)
    a. 没有该系统时问题的解决办法,该系统的解决办法
    b. 目标用户是谁
    c. 系统创造的价值
  2. 专业词典:了解该系统所在领域的专业用词,不然沟通起来效率很低

概念层掌握的内容是最重要的,这些在之后了解其他层次时候,需要进行回顾,如此才能比较深入掌握需求与实现的对应关系,并进一步提出一些有价值的问题。

功能层

  1. 角色扮演:代入不同角色,体验该系统,从感性上了解系统的功能
  2. 完整流程:不同角色的请求或动作实现的完整流程,如何在各个子系统间流转

架构层

  1. 整个系统有哪些层次结构,有哪些子模块
  2. 各个子模块的功能及实现方式
  3. 模块之间的通信方式,比如协议、同步还是异步等
  4. 各个模块如何实现高可用
  5. 重点关注系统架构中与普通架构不同点,或者说与之前遇到的大部分架构不同的点,了解其原因

关键技术点

这个不同的系统不一样,有的是算法、有的是技术、有的是架构等等

通用技术点

  1. 如何实现对系统的监控及告警
  2. 哪些模块使用了缓存,如何保证缓存的一致性
  3. 如果是分布式系统,如何保证系统和数据的一致性
  4. 如何实现高可用、容灾
  5. 如何实现系统的可伸缩性

组织层面

  1. 项目有哪些成员,每个人是如何分工
  2. 项目有哪些合作伙伴,合作内容是什么,互相提供了什么价值

了解一个系统,不能停留在需求和技术上,人员的分工和合作伙伴也是非常重要,一方面可以协助判断哪些是核心模块、重点模块、哪些是辅助模块。而且了解人员分工后,在进一步了解系统时,遇到问题的时候,也能有针对性地请教对应子模块的负责人

如果对你有一点帮助,麻烦为我点一个赞,如果没有帮助,也非常期待你的反馈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • 未来的路不知在哪里 但我深知这条路 不会走太远。
    相相相柳阅读 139评论 0 0
  • 姓名:王佳梅 省份:吉林 【日管理打卡第08天】 【知~学习】 1、醒来:知行合一传习读本 2、线上6访、线下3访...
    王佳梅美容达人阅读 95评论 0 0
  • 娃娃的颈淋巴结肿大有一周了,也抗感染也消肿治疗了,缓解了,但是还是没有彻底,我们决定到省里头的大医院看看,于是就有...
    80后老农民阅读 615评论 4 1