架构师训练营 - 第 1 周 - 学习总结
第一部分: 学习的内容
1. 大厂offer
架构师的主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
进行技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块以及非功能模块拆解能力
快速学习能力
沟通与领导能力
2. 4+1视图模型
概述
软件架构= { 元素、形式、关系/约束}
逻辑视图(Logincal View),设计的对象模型。
过程视图(Process View),捕捉设计的并发和同步特征。
物理视图(Physical View),描述了软件到硬件的映射,反映了部署特性。
开发视图(Development View),描述了在开发环境中软件的静止组织结构。
场景视图(Scenarios),描述用例场景。
比较
3. UML
3.1 引言
什么是模型?
模型是一个系统的完整抽象。
人们对某个领域特定问题的求解及解决方案,对它们的理解和认知都蕴涵在模型中。
开发一个计算系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
为什么要建造模型?
建造软件模型的目的:
为了与它人沟通
为了保存软件设计的最终成果
何时、何处画图?
何时:讨论、交流时;最终设计文档
何处:白板;绘图工具
3.2 UML简介
统一建模语言,Unified Modeing Language
以图形的方式描述软件的概念
UML可用来描述:某个问题领域;构思中的软件设计;描述已经完成的软件实现
3.3 UML的分类
静态图:通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。
动态图:通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程。
3.4 参考书目
《UML精粹:标准对象建模语言简明指南》
作者:Martin Fowler
第二部分:心得体会
期盼已久的架构师训练营终于开始了,开始的几天因为工作太忙了,总是不能抽出时间看完所有的视频,只能在周六全部看完了视频课程,也开始了课后作业的练习。
这周主要讲了架构师的职责和能力要求、以及4+1视图和UML。
UML在上大学的时候学习过,毕业后工作种也是经常用到,10种UML图,经常用到用例图、包图、类图、时序图、状态图。组件图和部署图没有用过UML的工具图画过,也画过变种的组件图和部署图。
虽然第一周的内容是自己已经知道和接触过的知识,但是还是好好做了课后作业的练习。
UML的画图工具尝试了老师推荐的 draw.io,也用了其他ProcessOne这种在线的工具,但是不是很好用,尤其是画时序图的时候很费劲,花了很多时间在图形的排列和调整上,很多功能也不支持。
还是用回了用了很久的 Astah,依然吐槽画出的图形不是很优美;但是还是很好用,很多功能都支持。
如果用draw.io、ProcessOne这类工具画下简要的图还是OK,很好看,也简单。
最后想说:参加架构师训练营,主要的目的并不是找份新工作,而是想知道自己和架构师的差距还有多少?还想知道像智慧老师这样的一流的架构师在做系统架构的时候是怎么思考的?也借此次的架构师训练营重新激起自己的学习热情。
版权声明: 本文为 InfoQ 作者【水野君】的原创文章。
原文链接:【http://xie.infoq.cn/article/895035168e25d29827379a97b】。未经作者许可,禁止转载。
评论