写点什么

极客大学架构师训练营 总结 - 第一课

用户头像
Darren
关注
发布于: 2020 年 06 月 10 日
极客大学架构师训练营 总结 - 第一课

架构师

架构师是做架构设计的,是对系统负责的那个人,

架构师是一顶帽子,而不是一把椅子,架构师是一个角色而不是一个职位。


架构师主要职责

  • 编写架构设计文档

  • 开发编程框架

  • 重构软件代码

  • 设计系统架构

  • 技术选型,解决技术使用中存在问题

  • 性能优化

  • 模块分解

  • 系统安全与高可用

  • 技术创新

  • 沟通管理

架构师核心能力

  • 编程能力

  • 基础技术掌握能力

  • 常用技术产品的理解与应用能力

  • 性能优化与分析故障的能力

  • 常用架构模式和框架的理解与应用能力

  • 建模以及设计文档的方法和能力

  • 业务理解与功能模块及非功能模块的拆解能力

  • 快速学习能力

  • 沟通与领导能力


架构

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

架构类图,架构对象图


架构是由架构元素和元素间关系组成的,元素间的关系有静态关系、动态关系;系统会有一种或者多种架构,而架构需要由架构文档来体现,架构文档由架构视图来组成,架构视图反映的是相关方关注点的具体展现。架构核心就是解决业务相关方的问题,不同的相关方(产品、业务方、技术经理等干系人)关注点不同,需要有考量提供不同的架构文档,别一股脑的搞一些不相关的文档给他们看,这样很容易让别人觉得你抓不住重点,能力不行有待提升。架构师面对不同的受众,要用不同的方式,展示不同的侧面。其实不同的人关注点不一样,需要我们提供人家感兴趣的东西。架构本身就是一个多面体,通过多维度来展示个问题。

架构师如何做架构

架构师需要将自己对于现实问题理解抽象出模型,模型映射到计算以达到对现实问题的求解。所以说架构师是介于领域问题与系统之间的桥梁,既要熟悉业务(对业务敏感),也要熟悉系统。


架构师做架构其中之一就是需要产出设计文档给相关方看,架构师的第一个成果就是架构设计文档,架构设计文档由架构视图组成,架构视图当然就是业界鼎鼎大名的 4+1 视图,这个视图传递了一个很好的设计理念就是都是围绕这场景来说事情,每一个视图展示了一个面,四个面和一个中心就构成了一个完整的问题解。


架构师常用的建模语言就是 UML 统一建模语言,UML 图分为两大类分别为静态图(用例图、类图、组件图、部署图)和动态图(序列图、活动图、状态图),而我们只需要掌握其中这七种就足以应付工作中的 case。在软件开发的三个阶段中需要的 UML 图如下所示:

需求分析:用例图、状态图、时序图、活动图

概要设计:部署图、系统级时序图、系统级活动图、组件图、组件时序图、组件活动图

详细设计:类图、类时序图、状态图、方法活动图

所谓的图只是为了落地架构师的设计理念,以便于验证该设计是否可行,作为一个 NB 的架构师一定记住你面对的受众是谁,每一种图都有自己的受众,就好比你拿着刀背切西瓜,虽然能搞,但是别人看着别扭,明显的就是你用错了,可想而知效果肯定不好。架构师可以通过组件相关的图很好的把控项目的进度,只因组件图的粒度可以拆的很细,这样前后依赖、时间都是可以掌控的,组件相关图也是开发任务分配单位。既然有了各种图,还需将公司的业务背景及战略目标融入设计文档,这样才能让人理解清楚前因后果,当然设计文档中还需体现非功能的需求,这些需求不可忽略,也是重之中。

发布于: 2020 年 06 月 10 日阅读数: 56
用户头像

Darren

关注

还未添加个人签名 2018.08.09 加入

还未添加个人简介

评论

发布
暂无评论
极客大学架构师训练营 总结 - 第一课