知识卡片
架构驱动开发的六步流程与三阶段迭代核心
内容
架构驱动的软件开发流程包含六个步骤:架构需求获取、基本架构设计、架构文档化、架构评估、架构实现、架构维护。其中”基本架构设计→架构文档化→架构评估”这三个步骤构成一个迭代循环——这是整个流程的核心所在,只有设计出的架构满足了所有需求、经过记录和评估,才能进入编码实现阶段,若评估发现问题就要退回重新设计,如此循环直到架构真正符合要求。这个”先反复打磨架构再开始编码”的流程结构,与第6章敏捷开发中”种子架构+详细架构在编码中逐步完善”的思路形成鲜明对照——架构驱动开发把大部分架构决策的确定性要求前置到编码之前完成,而敏捷开发把详细架构决策后移到编码过程中,两者代表了应对”架构不确定性”的两种相反策略:一个是”先想清楚再动手”,一个是”边做边想清楚”,适用场景取决于需求变化速度和架构错误的返工代价孰高孰低。架构需求本身来自系统的质量目标、业务目标、利益相关者三个源头之一,且数量通常不超过20个——这远少于功能性需求的数量级,因为架构层面只需要讨论”架构层次的需求”,更细化的功能性需求工作留给架构设计完成之后处理,避免架构设计阶段被过多细节拖累。
结构图:
flowchart TD
A[架构需求获取] --> B[基本架构设计]
B --> C[架构文档化]
C --> D[架构评估]
D -->|不满足需求,退回重新设计| B
D -->|满足所有需求| E[架构实现]
E --> F[架构维护]
subgraph 核心迭代循环
B
C
D
end
参考来源
- 位置:《软件架构理论与实践》第7章《架构驱动的软件开发》"7.1 架构驱动的软件开发简介"及"7.2 架构需求获取"节(源文件:_epub-src/OEBPS/text00056.html、text00057.html)
- 结论依据:原文说明"架构驱动的软件开发主要包括以下几个步骤:①架构需求获取;②基本架构设计;③架构文档化;④架构评估;⑤架构实现;⑥架构维护……步骤2、步骤3和步骤4,是一个迭代的过程……只有设计的架构满足了所有的需求,并且经过记录和评估后才可以进行软件的编码实现",并说明"一般来说,架构的需求不会超过20个",直接支撑本卡片的结构图与内容解释。
- 原始内容:步骤2、步骤3和步骤4,是一个迭代的过程。这三个步骤也是架构驱动的软件开发的核心所在,只有设计的架构满足了所有的需求,并且经过记录和评估后才可以进行软件的编码实现。