软件架构介绍

一、定义

软件架构:可以简单理解为满足干系人关键诉求的一系列宏观决策。

软件架构介绍_第1张图片

二、软件质量属性

软件架构师大部分时间在解决以下产品质量模型中的质量属性问题。

三、程序员和架构师区别

从思维逻辑方面来看,

程序员从功能和业务逻辑方面去想问题。

架构师更多的从质量属性和约束方面考虑问题。

架构师相较于程序员,会向功能需求方面倾向多一些。

软件架构介绍_第2张图片

从视野角度来看,

左侧为程序员的视角,更多关注与目标软件的设计与开发;

右侧为架构师的视角,视野更宽,要兼顾技术发展与行业发展。 

 从输出物的角度来看,程序员更多的是输出程序源码;架构师是输出方案。

软件架构介绍_第3张图片

 从工作流程上看,程序员的工作是线性工作流程;而架构师的工作则是放射型的内容居多,要兼顾技术与沟通等方面的工作,工作经常会反复,迭代式进行。

软件架构介绍_第4张图片

 四、架构设计工作的过程要素

软件架构介绍_第5张图片

 五、架构师的知识和技能体系

软件架构介绍_第6张图片

 六、如何发展架构能力

软件架构介绍_第7张图片

 七、学习路径

记忆背诵 → 理解 → 应用 → 创造、分析、计算、评价

  八、常见的软件架构模式

所有的软件方法学知识,其最终的目的都是为了降低软件复杂度。

所有的软件工程反面的知识体系,其最终目的都是为了提高可预测性。

软件架构介绍_第8张图片

 

 

 

 

你可能感兴趣的:(软件架构,架构)