写点什么

架构师如何做架构(训练营第一课)

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



什么是架构师

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

  • 架构师是一顶帽子,而不是一把椅子;

  • 架构师是一个角色,而不是一个职位

架构师主要职责 (如何做软件架构)

  • 编写架构设计文档

  • 开发编程框架

  • 重构软件代码

  • 设计系统架构

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

  • 优化系统性能

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

  • 保障系统安全和高可用

  • 大数据应用

  • 技术创新

  • 沟通管理

架构师主要能力

  • 编程能力

  • 基础技术掌握能力

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

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

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

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

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

  • 快速学习能力

  • 沟通与领导能力

再说架构师能力

  • 只有好的代码是不够的 -> 要会推广并让人信任

 

  • 夸夸其谈能帮你带来掌声

  • 解决棘手问题能帮你带来名声

  • 奠定架构师地位的,是让别人依赖你的代码

优秀的架构师必须是软件开发的全才

  • 卓越的编程能力

  • 解决棘手问题的能力

  • 广阔的知识面

  • 洞悉技术背后的本质和规律

  • 沟通和打动人心的能力 (说服不懂技术的老板)

什么是架构设计

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



软件建模与设计文档

4+1 视图视图 

软件架构 = {元素,形式,关系/约束}



单一的视图无法完整地表达架构,因此需要具备完整的视图集合。

  • 逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。

  • 过程视图(Process View),捕捉设计的并发和同步特征。

  • 物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。

  • 开发视图(Development View),描述了在开发环境中软件的静态组织结构。

  • 场景视图(Scenario View),描述用例场景





软件建模

软件设计的 3 个阶段

 

需求分析 - 用例图(核心)、活动图(描述业务流程)、状态图(描述关键业务对象的变迁)、外部系统级的时序图(当前系统和外部系统的交互)

概要设计 - 部署图(顶层、子系统)、序列图(子系统)、活动图(子系统)、组件图(子系统)、序列图(组件)、活动图(组件、可选)

详细设计 - 类图(组件)、时序图(类)、状态图(类、状态枚举、转换条件bool)、活动图(类的方法)



用户头像

看山是山

关注

还未添加个人签名 2018.11.16 加入

还未添加个人简介

评论

发布
暂无评论
架构师如何做架构(训练营第一课)