架构师训练营 Week01 summary 架构方法, 软件建模与文档设计
正如智慧老师所讲, 不想苦大仇深的去讲网上找的到的技术应用,而是希望大家能get到点,所有总结会有选择的列出概念,更多的是有闪光点的观点
卓越的编程能力
解决棘手问题的能力
广阔的知识面
洞悉技术背后的本质和规律
沟通和打动人心的能力
优秀的架构师必须是软件开发的全才, 架构师是全才而并非全能(全栈工程师是全能)
架构方法:架构师如何做架构
架构师是做架构设计,对系统架构负责任的人,
架构师是一顶帽子,而不是一把椅子; 架构师是一个角色而不是一个职位.
当我们在做架构的事情的时候就是架构师, 主动承担架构任务当别人 judge你的时候,你就已经是架构师了
架构师的主要能力:
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
常用架构模式和框架的理解与应用能力
业务理解与功能模块及非功能模块拆解的能力
快速学习能力
沟通与领导能力
https://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84
软件架构,是有关软件整体结构与组件的抽象描述, 用于指导大型软件系统各个方面的设计
4+1 架构视图
逻辑视图, 设计的对象模型,开发组织划分, 成本进去评估
过程视图, 捕捉设计的并发和同步特征,系统进程, 线程以及处理队列等
物理视图, 描述了软件到硬件的映射,反映了部署特性,物理节点以及节点的通信
开发视图, 描述了在开发环境中软件的静态组织架构,指导开发组织设计和开发实现
场景视图, 描述用例场景,概括了架构上最重要的场景,以及非功能性需求阐明架构的广度或众多架构元素的运行方式
建议架构设计做的第一张图: 部署图
架构是给相关方做的,对于不同方要看的架构是不同的,他们关注的点是不同的,需要有不同的表现形式, 关注重点事情才能越做越少,做成
多视图才能保证了做出东西的立体, 不然一推就倒了
视图本身并不难使用, 困难在于表达设计意图,
软件设计就是软件的建模,模型是一个系统的完整的抽象
思考问题时头脑有声音, 语言有助于思考, 沟通,模型图画到能看懂就好,表达出设计意图.
关于架构的粒度:
分成多个模块, 分到一个人能开发的粒度
评论