Week1 学习总结
架构方法:架构师如何做架构?
从场景出发,紧贴业务,结合实际条件,设计出合理的适合的架构。
忌讳不考虑场景和实际条件生搬硬套比较知名的大公司的系统架构。
如何成为架构师?
精通技术,再扩展知识面,逐步成为技术负责人,提高沟通能力与领导能力;
若在一个小公司,没有架构可言,就有意地去承担架构师这一角色,做好架构设计文档,提供给大家进行讨论;
若在一个大公司,很难分到架构师这一角色,可以考虑跳槽;
大厂offer该如何获取?
根据大厂招聘职责与要求,学习相关技术与经验;
面向要招聘的岗位对自己的简历进行针对性地修改包装;
什么是架构师?
架构师是做架构设计、对系统架构负责的那个人。
架构师是一定帽子,而不是一把椅子;架构师是一个角色而不是一个职位。
架构师的主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
进行技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师的主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力
什么是软件架构?
是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
元素间关系包括静态和动态关系。
软件架构={元素,形式,关系/约束}
4+1视图模型
单一的视图无法完整的表达架构,因此需要具备完整的视图集。
逻辑视图(Logical View)
设计的对象模型。
过程视图(Process View)
捕捉设计的并发和同步特征。
物理视图(Physical View)
描述了软件到硬件的映射,反映了部署特性。
开发视图(Development View)
描述了在开发环境中软件的静态组织结构。
场景视图(scenarios)
描述用例场景。
软件建模语言UML
什么是软件模型?
模型是一个系统的完整抽象。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
为什么要建造模型?
建造传统模型的目的
为了证明某件事物能否工作
前提:建造模型的成本远远低于建造实物的成本
造飞机
建高楼
建造软件模型的目的
为了与他人沟通
为了保存软件设计的最终成果
前提:除非模型比代码更说明问题
UML图的分类
静态图
用例图
对象图
类图
组件图
包图
部署图
动态图
协作图
序列图
活动图
状态图
评论