「架构师训练营」学习笔记:第 1 周
前言
一直以来我都很迷惑究竟架构师是做什么的。现在好像谁都说自己是架构师,每个人对架构师的说法都不一样。到底架构师是怎么样的一个角色,在工作中它承担什么职责,能够起到什么作用。带着这些问题,报名了架构师训练营。希望能够在这里找到答案。
架构师的主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
进行技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
技术能力是一个架构师的基石。
软件架构与架构师的关系
软件架构
是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计
架构师
做架构设计、对系统架构负责的那个人。
架构师的产出
各种架构文档是架构师的主要产出。
确定相关方。需要明确你的文档是给谁看的。给老板看的文档和给开发看的文档是不一样的。
架构视图
在系统开发出来之前,架构师要把脑海中对系统的理解,系统要解决什么问题,要开发一个什么样的系统,用图画的方式表达出来
目的是为了与其他人沟通,保持软件设计的最终成果
4+1架构视图
1. 逻辑视图(Logical View)
设计的对象模型
相关方:客户,用户,开发组织,管理者
视角:系统的功能元素,以及他们接口,职责,交互。
主要元素:系统,子系统,功能模块,子功能模块,接口。
用途:开发组织划分,成本/进度的评估。
例如:
2. 过程视图(Process View)
捕捉设计的并发和同步特征
相关方:开发相关人员,测试人员。
视角:系统如何开发实现。
主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架。
用途:知道开发组织设计和开发实现。
例如:类视图
3. 物理视图(Physical View)
描述了软件到硬件的映射,反映了部署特性。
相关方:系统集成商,系统维护人员。
视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置。
主要元素:物理节点以及节点的通信。
用途:让系统部署起来。
例如:
4. 开发视图(Development View)
描述了在开发环境中软件的静态组织结构。
相关方:性能优化,开发相关人员。
视角:系统运行时线程,进程的情况。
主要元素:系统进程,线程以及处理队列等。
用途:
例如:
5. 场景视图(Scenarios)
描述用例场景
相关方:用户,设计和开发人员。
视角:概括了架构上最重要的场景(最典型或者最有风险)及其非功能性需求,通过这些场景的实现,阐明了架构的广度或众多架构元素运行的方式。
不同的相关人的关注点是不一样的。不能通过一种视图完成架构设计。需要通过不同的视图,从不同的角度对架构进行描述。
评论 (1 条评论)