如何熟悉一个陌生系统

在日常开发过程中,我们经常需要去承接一个陌生的系统,而且承接的系统都很复杂,那我们应该如何快速去熟悉一个系统呢,有哪些思路和切入点呢,下面从业务和技术以及实操3个层面来分享一些心得体会。

业务层面

在熟悉一个系统之前一定是先熟悉业务再熟悉技术,切不可本末倒置,下面是熟悉业务的一些要点。

1.业务背景

系统都是为业务服务,所以要了解系统为公司的哪块业务服务,在所有的业务域里处于一个什么样的地位,实现什么业务目的,有什么业务价值,如果没有这个系统,公司业务是否有影响,影响范围是多少,是否能正常运转。

2.业务图谱

大部分系统都可以通过两个纬度来梳理出一个业务图谱出来,一个是流程纬度,比如创建、审核、下传、回传等X个流程。另一个纬度是场景纬度,比如每个流程需要支持Y个业务场景,将X与Y组合起来,就可以形成一个矩阵式的业务图谱。通过业务图谱的拆解和整理,对于业务的各种逻辑就有了全貌的了解。

3.使用情况

可以从分两方面来了解使用情况,一个正常使用情况,也是从宏观层面,比如该系统有哪些部门用户在使用,有哪些用户角色,主要是B端用户还是C端用户,如果是B端用户,是一线用户还是管理层的用户,用户的结构分布是什么样的。每天系统的用户使用量有多少,流量(PV/UV)分别有多少,流量可以衡量一个系统的重要程度,尤其是峰值流量。还有系统的用户

另外一个是异常使用情况,是从微观层面参与处理系统异常问题,也就是系统运维问题,运维问题就像一双无形的手,在背后推着你,能倒逼你更深入了解系统的业务和逻辑。

技术层面

在前面所述,已经对系统的业务有了一个全面的认知,在业务认知的基础上,接下来就需要熟悉系统的技术实现了。

1.技术架构

首先需要了解的就是系统的技术架构,基于什么底层架构实现,使用了哪些中间件技术,代码层面需要了解代码实现的结构,基于什么样的原则分包分层。

2.数据存储

系统使用了哪些数据库,哪些是系统本身产生的数据,哪些是依赖的外部数据,有多少数据表,核心业务存储在哪些表,每个表存储什么样的业务数据,重要表的数据每天每周每月增量是多少

如果存在多种数据库的存储,需要了解清楚数据库之间的数据同步机制,是否存在延时情况,这个延时是否会产生运维问题,是否会影响业务使用。

3.外部交互

很多系统都不是独立存在的,都需要和外部很多系统进行交互,那系统依赖的外部接口,提供了哪些接口供外部使用呢,这些内外部接口分别承担了什么样的功能和作用,其重要性如何,重要接口的SLA分别是多少。

4.系统部署

系统应用部署了哪些机房集群,每个集群有多少个节点容器,如何实现负载均衡,系统应用的相关性能指数如何配置的,高峰值的负载是多少。

5.系统问题

如果要熟悉一个系统,从系统反馈的问题出发来了解会让人印象更深刻,比如通过监控能收集到很多的报警问题,就可以从监控问题入手,了解问题所在的模块以及相关代码和业务,一步一步顺藤摸瓜,分析产生问题的原因,最终推进解决问题,这些分析问题解决问题的过程,其实就是逐步的熟悉系统的过程,当然前期分析问题可能还需要同事的支持和帮助,否则有的问题,如果对系统不熟,还是很难解决的。

实操层面

以上这些思路都是从宏观层面或者从某个视角去熟悉系统,但是由于我们的系统都是由每一行代码编织而成,所以最直观的方式还是需要从代码层面去进一步熟悉,才能更深刻的理解系统所实现的功能以及系统如何实现的。代码层面有很多方式,比如可以通过开发一个需求或者修改一个Bug来熟悉代码和相关功能。

最后使用一个思维导图来总结以上的要点:

相关推荐
文火冰糖的硅基工坊3 小时前
[创业之路-204]:《华为战略管理法-DSTE实战体系》- 5-平衡记分卡绩效管理
产品经理·需求分析·产品·创业·战略
陈哥聊测试14 小时前
软件格局在变,谁能扛起国产替代的大旗?
安全·程序员·产品
Marx82013 天前
英语尬面后,我做了一个生成英语学习视频的小工具
前端·面试·产品
文火冰糖的硅基工坊3 天前
[创业之路-200]:什么是business(业务)?B2B, B2C, B2G业务, 什么是业务设计?
产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊3 天前
[创业之路-198]:华为的成立发展与新中国的建立与发展路径的相似性比较
华为·产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊4 天前
[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
华为·产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊7 天前
[创业之路-197]:华为的发展路径启示
网络·华为·产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊10 天前
[创业之路-189]:《华为战略管理法-DSTE实战体系》-2- 生存与发展的双重旋律:短期与长期、战术与战略的交响乐章
产品经理·需求分析·产品·创业·战略
河北小田12 天前
2.7 用户故事
程序员·产品
文火冰糖的硅基工坊12 天前
[创业之路-182]:《华为战略管理法-DSTE实战体系》-1-华为的发展历程和战略管理演变
华为·产品经理·需求分析·产品·创业·战略