在基于架构的软件开发方法(ABSD)中,架构演化是一个受控的变更与迭代过程。它的核心目标是:系统地管理变更,在提升系统价值的同时,有效控制技术债务,并维护架构的完整性和一致性。

下面我们将详细拆解演化过程的各个环节,并阐述其与ABSD核心思想的关联。
1. 需求变化归类与影响分析
- 核心活动:识别变更的根源和本质。这需要明确区分变更属于功能性增长、质量属性提升,还是纯粹的技术重构。这通常是整个过程中最关键的一环,因为它决定了后续所有工作的规模与方式。
- ABSD关联:这一步骤体现了“业务与架构对齐”的持续验证。影响分析必须基于现有的架构基线文档,评估变更将波及哪些构件和交互模式,这是客观判断变更成本与技术风险的基础。
2. 制定架构演化计划
- 核心活动:将演化的宏观目标转化为具体、可执行的工程计划。必须包含回滚方案,因为架构级变更通常伴随较高风险。
- ABSD关联:演化计划本身可被视为一份小型的架构设计文档。它定义了本次迭代的“架构需求”和“架构设计”,确保演化是有设计指导、受控推进的,而非随意的、无序的修改。
3. 实施构件变动 & 4. 更新构件相互作用
- 核心活动:进入具体实施阶段。修改构件的内部实现(构件变动)和调整构件间的对外契约(相互作用)往往需要同步进行。
- ABSD关联:此阶段必须严格遵守架构实现阶段的工程纪律,例如代码规范、持续集成等,防止在演化过程中引入新的架构侵蚀(Architectural Erosion)。对交互关系的更新是确保整个系统架构一致性的关键。
4. 构件组装与测试
- 核心活动:重新组装系统,并执行比普通功能测试更为严格的专项测试。测试重点应特别关注受影响的质量属性,例如性能回归测试、安全漏洞扫描等。
- ABSD关联:测试用例应直接来源于步骤1中定义的演化验收标准,其目的在于验证本次演化的既定目标是否已达成。
5. 技术评审
- 核心活动:作为演化过程的质量门禁(Quality Gates)。评审的重点不仅是功能正确性,更是架构的完整性、技术债务的变化情况以及对未来新需求的适应性。
- ABSD关联:复用架构设计阶段的评估方法(如ATAM),确保演化后的架构仍然是一个经过深思熟虑的、健壮的设计,而不是一个打满补丁、难以维护的“破窗系统”。
6. 生成演化后的架构
- 核心活动:正式更新架构基线文档,使其与当前系统的实际状态保持一致。这是最易被忽视但至关重要的一步。
- ABSD关联:这是ABSD方法可持续性的根本保证。只有及时更新基线,架构文档才不会变成过时的“摆设”,才能为下一次的演化或日常维护提供准确的依据。对架构基线进行版本化管理(Vn, Vn+1)是有效管理架构生命周期的基石。
|