写点什么

「架构师训练营」第 1 周学习总结

用户头像
guoguo 👻
关注
发布于: 2020 年 06 月 08 日

架构师如何做架构

任职要求

开篇第一课,首先通过从各大厂对架构师的招聘信息来了解对架构师的岗位职责,架构师应该具备哪些技术技能、专业支持以及其他能力。

我们了解到,各大厂对架构师的任职要求,架构师需要完成公司产品的整体架构设计,具备海量数据和大规模分布式系统的设计和开发经验,擅长运用消息中间件、分布式事务等应用架构,微服务架构,同时对常用的框架有较深的理解和运用。让我们对架构师的技术领域、专业技能有了一个印象。

除了技术领域和专业技能外,架构师还需要具备良好的沟通协作能力。



主要职责

架构师的主要职责,也是后面课程要讲的内容提纲。



什么是架构

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



架构设计最重要的是,架构是给谁看的,要考虑到相关方的利益。老板,开发,测试,维护人员这些都是相关方,给每个不同的对象看,架构考虑的方面、展现的内容是不一样的。



如何做架构设计文档

架构是关于架构元素和元素间关系的描述,架构文档是一组架构视图组成的,架构视图反映了相关方的关注点。架构是给相关方做的,架构不是给自己做的。我做的架构文档,相关方能不能看得懂,看不懂我应该如何去做改进。

4+1视图模型

逻辑视图,开发视图,物理视图,过程视图 + 场景视图。



视图所对应的相关方是不同的,大家所关注的方面是不一样的,所以要通过4+1针对不同的相关方,展示不同的内容。



逻辑视图

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

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

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

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



开发视图

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

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

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

用途:指导开发组织设计和开发实现。



物理视图

相关方:系统集成商、系统运维人员。

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

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

过程视图

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

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

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



场景视图

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

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



统一建模语言(UML)



常用的7种图:

用例图(用来描述角色,动作,关系,边界)

类图(用来描述核心类之间的关系,类之间的调用一定是同步消息)

状态图(用来描述状态的变化关系)

时序图(用来描述动态交互关系,有时间顺序)

活动图(用来描述活动对象的处理过程和分支流程,表示一个活动)

组件图(用来描述系统内的组件组成部分,可以是一个子系统,模块,物理节点等)

部署图(用来描述系统的部署节点物理空间的逻辑关系)



用户头像

guoguo 👻

关注

还未添加个人签名 2017.11.30 加入

还未添加个人简介

评论

发布
暂无评论
「架构师训练营」第1周学习总结