软件工程之美 day3

如何做好架构设计

架构设计,是为了控制软件项目中技术复杂的问题。架构设计,通过组织人员和技术,低成本满足需求以及需求的变化,保障软件稳定高效运行。
架构设计可以通过四个基本步骤:

  1. 分析需求
  2. 选择相似的成熟的架构设计方案
  3. 自顶向下层层细化。
  4. 验证和优化架构设计方案。

分析需求

架构设计,最基本的就是要能满足业务需求,所以搞清楚需求是至关重要一步。而产品需求,只有功能的描述。界面的交互,还需要进一步进行抽象。

选择相似的成熟的架构设计方案

在了解清楚需求后,就可以从业界成熟的架构设计模式中选取一个或几个。当然,具体选择哪些架构设计模式,需要你根据平时的学习积累来做判断。到这个阶段,同时还要考虑使用的语言和框架。

自顶向下层层细化

在选择好成熟的架构设计方案后,可以基于方案,层层细化,逐步完善、调整和优化。

验证和优化架构设计方案

在技术方案完成后,还需要去验证方案是不是满足设计的目标,能够满足需求和未来需求的变化,能否保障软件有效地运行。

如何做好技术选型

做好技术选型可以分为四个阶段:

  1. 问题定义
  2. 调研
  3. 验证
  4. 决策

问题定义

在问题定义阶段,需要搞清楚两个问题:为什么需要技术选型?技术选型的目标是什么?
很多时候为了解决问题引入了一个新技术,然而真的需要吗?也许我们可以基于现有技术方案进行优化,根本就不需要引入一个新的技术或新的框架。
还有一个就是技术选型的目标需要明确,你的技术选型是为了使用新酷技术呢?还是为了提升开发效率?还是为了降低开发成本?只有明确了技术选型的目标,才能有一个标准可以来评判该先择哪个方案。

调研

在明确技术选型的目标后,就可以去调研,看看有哪些技术选型可以满足目标,包括开源方案和商业方案。
我们可以从几个方面去分析:

  1. 满足技术选型目标吗?
  2. 满足范围、时间和成本的约束吗?
  3. 是不是可行的?
  4. 有什么样的风险?风险是不是可控?
  5. 优缺点是什么?

验证

可以通过一个小型的快速原型项目,用候选的技术方案快速做一个原型出来,做的过程中才能知道,你选择的技术选型是不是真的能满足技术选型的目标。

决策

在调研和验证完成后,就可以召集所有利益相关人一起,就选择的方案有个调研结果评审的会议,让大家提出自己的意见,做出最终的决策。

内容来源

极客时间 《软件工程之美》

原文地址:https://www.cnblogs.com/luoleqi/p/14272960.html