《软件工程之美》—— 架构设计

本文探讨了架构设计的目的,如何解决复杂性,以及如何做好技术选型。架构设计旨在降低开发成本,提高协作效率,确保软件稳定运行。同时,文章强调了架构师的思维和技能,以及技术债务的管理,提醒开发者要注重预防技术债务的产生。
摘要由CSDN通过智能技术生成

看着看着就想着应该把一些好的建议和好的提问记下来,日常开发中实时提问。然后还有很多想法,比如总结一个项目体检表出来,对着检查项发现问题。
enmm……我是不是有点上瘾?!

1、架构设计的目的

软件项目中的架构设计是想要解决一个问题:让普通程序员也能参与其中,一起实现复杂系统,而不必依赖于很多精英。

架构设计,就是通过组织人员和技术,低成本满足需求以及需求的变化,保障软件稳定高效运行。

1.1、什么是复杂的软件项目

复杂的软件项目通常有两个特点:

  • 需求不确定
  • 技术复杂

技术的复杂性主要体现在四个方面:

  • 需求让技术变复杂:软件要能不断响应新的需求
  • 人员让技术变复杂:团队成员水平不一,擅长的技术方向也不一样
  • 技术本身复杂:技术本身的使用门槛较高
  • 保证软件稳定运行是复杂的:运行时的不确定性
1.2、架构设计如何解决“复杂”

因为技术的复杂性,会导致软件开发变得很复杂,开发成本高。而架构设计恰恰可以在这些方面很好地解决技术复杂的问题。
主要从四个方面来:

  • 架构设计可以降低满足需求和需求变化的开发成本:通过对系统抽象和分解,把复杂系统拆分成若干简单的;对需求的变化,已经有一些成熟的架构实践。
  • 架构可以帮助组织人员一起高效协作:通过抽象再拆分,可以把复杂的系统拆分成开发人员可以各自独立完成的模块。
  • 架构设计可以帮助组织好各种技术:如分层架构
  • 架构设计可以保障服务稳定运行:如分布式架构、异地多活等
1.3、什么是架构设计

架构设计的目标,使用最小的人力成本来满足需求开发和响应需求的变化,用最小的运行成本来保障软件的运行。

架构设计的方法都是基于工程领域分而治之的策略,本质上就是将系统分拆,将人员分拆。但是光拆还不够,拆完了还能拼回来&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值