「架构师训练营」学习笔记:第 1 周

用户头像
Amy
关注
发布于: 2020 年 06 月 10 日

前言

一直以来我都很迷惑究竟架构师是做什么的。现在好像谁都说自己是架构师,每个人对架构师的说法都不一样。到底架构师是怎么样的一个角色,在工作中它承担什么职责,能够起到什么作用。带着这些问题,报名了架构师训练营。希望能够在这里找到答案。



架构师的主要职责

编写架构设计文档

开发编程框架

重构软件代码

设计系统架构

进行技术选型,解决技术应用中的问题

优化系统性能

模块分解与微服务架构重构

保障系统安全与高可用

大数据应用

技术创新

沟通管理



架构师主要能力

架构师主要能力

技术能力是一个架构师的基石。

软件架构与架构师的关系

软件架构

是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计

架构师

做架构设计、对系统架构负责的那个人。



架构师的产出

各种架构文档是架构师的主要产出。

确定相关方。需要明确你的文档是给谁看的。给老板看的文档和给开发看的文档是不一样的。



架构视图

在系统开发出来之前,架构师要把脑海中对系统的理解,系统要解决什么问题,要开发一个什么样的系统,用图画的方式表达出来

目的是为了与其他人沟通,保持软件设计的最终成果



4+1架构视图

1. 逻辑视图(Logical View)



设计的对象模型



相关方:客户,用户,开发组织,管理者



视角:系统的功能元素,以及他们接口,职责,交互。



主要元素:系统,子系统,功能模块,子功能模块,接口。



用途:开发组织划分,成本/进度的评估。



例如:



2. 过程视图(Process View)



捕捉设计的并发和同步特征



相关方:开发相关人员,测试人员。



视角:系统如何开发实现。



主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架。



用途:知道开发组织设计和开发实现。



例如:类视图

3. 物理视图(Physical View)



描述了软件到硬件的映射,反映了部署特性。



相关方:系统集成商,系统维护人员。



视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置。



主要元素:物理节点以及节点的通信。



用途:让系统部署起来。



例如:



4. 开发视图(Development View)



描述了在开发环境中软件的静态组织结构。



相关方:性能优化,开发相关人员。



视角:系统运行时线程,进程的情况。



主要元素:系统进程,线程以及处理队列等。



用途:



例如:





5. 场景视图(Scenarios)



描述用例场景



相关方:用户,设计和开发人员。



视角:概括了架构上最重要的场景(最典型或者最有风险)及其非功能性需求,通过这些场景的实现,阐明了架构的广度或众多架构元素运行的方式。



不同的相关人的关注点是不一样的。不能通过一种视图完成架构设计。需要通过不同的视图,从不同的角度对架构进行描述。



用户头像

Amy

关注

还未添加个人签名 2018.06.10 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
建议总结下老师提到的那7个常用的架构图,:)
2020 年 06 月 12 日 22:56
回复
没有更多了
「架构师训练营」学习笔记:第1周