软件架构介绍

文章探讨了软件架构的定义,强调其关注质量属性和干系人的诉求。架构师与程序员的区别在于思考角度和视野,架构师需兼顾功能、质量、技术趋势和行业动态。工作流程上,架构师面对的是非线性的、涉及多方面的工作。文章还提到了架构设计的关键要素、架构师的知识技能体系以及成长为架构师的学习路径,旨在降低软件复杂度和提高可预测性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

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

二、软件质量属性

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

三、程序员和架构师区别

从思维逻辑方面来看,

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

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

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

从视野角度来看,

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

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

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

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

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

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

 六、如何发展架构能力

 七、学习路径

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

  八、常见的软件架构模式

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

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

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值