Lesson 1 架构师如何做架构 心得笔记
前言
已经很久没有在极客时间上学习,2020-03-25那天在同事的推荐下说要不要报个架构师的课程,我说好呀,一起学习,极客时间上面看到这个《架构师训练营》,什么也没有想就报名了,本来以为5月30日还要很久的,结果时间还是过得有点快,一不留神今天已经开课了。之所以报名这个训练营,主要是想拓展一下自己的知识面,提升下自己的实力,从而提升更高的层次,学习架构和管理知识,对自己当前的一个情况兴许会有更深的感悟吧。 其实很早就和极客时间有缘,那时极客帮的原名叫StuQ,那时上面还报了三个课程,分别为android 和2套微服务的课程,收获也很大,把知识运用在工作中,是我最大的快乐。
4 个重点内容:
如何成为架构师,有好的路径?
架构师的主要职责是什么
老师分享他面试考察别人的三点内容
软件架构和架构师的关系?
1、如何成为架构师,有哪些路径?
通过学习 +自身努力 -》跳槽
2、架构师的主要职责
重点:架构师要面对不同的受众、要用不同的方式、展示不同的侧面。
分享主要内容为:架构师训练营课程的框架介绍。
编写架构设计文档 (week1)
开发编程框架 (week2)
重构软件代码 (week3)
设计系统架构(其他人讲架构师主要是这一点)(week4)
进行技术选型,解决技术应用中的问题 (week5-6)
优化系统性能 (week7-9)
模块分解与微服务架构重构 (week10)
保障系统安全与高可用 (week11)
大数据应用 (week12-13)
技术创新 (week14)
沟通管理 (week15)
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力
软件架构和架构师的关系?
软件架构是有关软件整体结构与组件的抽象描述,用于知道大型软件系统各个方面的设计
架构师的理解为是做架构设计、对系统架构负责的那个人。
我觉得这里面最重要的是自己要学会不断地思考、思辨:
你想从这个训练营里面收获什么东西?
前辈的经验对你现在及以后要走的路有多少帮助?
你今后想要走什么样路?
UML建模
UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言
用模型元素来组建整个系统的模型
模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等
举个例子:比如我们描述未来设计的房子?
第一种方式,对房子建造设计描述(程序开发)
第二种方式,进行画出房子的结构图 (UML建模语言)
UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。
4+1的架构视图方法
该方法的不同架构视图承载不同的架构设计决策,支持不同的目标和用途:
逻辑视图:当采用面向对象的设计方法时,逻辑视图即对象模型。
开发视图:描述软件在开发环境下的静态组织。
处理视图:描述系统的并发和同步方面的设计。
物理视图:描述软件如何映射到硬件,反映系统在分布方面的设计。
悟
架构需要悟,和佛学一样 知识由不懂 ->懂,就像捅破层窗户纸一样。
架构师需要协调、满足各方的(客户、老板、开发、测试、运维等)诉求
架构师要面对不同的受众,用不同的方式,展现系统不同的侧面
要被任命为架构师,才有可能做架构,两种途径:
跳槽,内部晋升
UML图的构成部分
这就是UML,原本您会觉得很高深,其实就这样。
需求分析:用例图、状态图、时序图、活动图
概要设计:部署图、系统级时序图、系统级活动图、组件图、组件时序图、组件活动图
详细设计:类图、类时序图、状态图、方法活动图
我其实很早就读过UML的相应书籍 《UML与ENTERPRISE ARCHITECT 7.5团队开发实用手册 》
趁着这段时间在好好翻翻这个书 提升下自己的软件建模能力
评论