第一周学习总结
架构师技能全面很重要,技能深耕更重要,不过人的时间有限,深耕个别技能再以点破面。智慧老师举了一个例子,linux内核的高手转职算法开发,花了很短时间上手算法开发,证明这样方式是可行的。智慧老师也提出架构师沟通和影响力很重要,沟通是让大家明白你要做什么和怎么做,影响力是让大家跟着你的路子做,不超出边界或做错方向。在影响力这块我是深有感触,就发生在2018年的事情,当时就做了些架构文档,希望开发那里做出我们想要的东西,可是越到后面开发那里和我们的预想结果偏离的越大。这个我知道是自身的能力不足,文档写的不够清楚,可是是还有哪里不足自己不是太明白,现在直到起码还有一个技能不足-影响力,不足以让开发完全跟着自己的设计思路走。
以前觉得文档重要,不过重要在什么地方很模糊。之前都在小团队里面开发着一些小项目,就算发生问题也很容易重构,文档的重要性就那么高。当团队的人越来越多,尤其开始有些开发团队在不同的国家的时候,用人来对话沟通就效率就很低下,用文档来沟通尤为重要。
架构文档写法
设计概述
为什么做这个?
做来解决什么问题?
目标是什么?
功能概述
系统有什么功能。例子:用户登入、用户权限等等。
使用者是谁。
非功能约束
预测场景
日点击有500万
同时在线有人数500人
查询反应时间
数据是否加密
是否需要黑名单
系统高可用目标是5个9还是6个9
系统部署图和整体设计
整体设计文字描述
系统部署图
子系统文字说明,以及各个子系统相互依赖的关系。
场景时序图
例子登入的时候会经过子系统1,转到子系统2验证才返回子系统1
除了图加文字说明
场景活动图
除了图加文字说明
子系统组件图
除了图文字说明
补充说明:如果文档需要提交给非IT的人员看,那么部署图可以做些相应的设计,让非IT可以更容易明白。文档是帮助大家更好的沟通,做些改动让大家可以更好的理解是允许的。
评论