基于架构的开发方法ABSD(Architecture Based Software Development)是架构驱动的,强调由业务 、质量 和功能需求 的组合驱动架构设计。它是一个自顶向下、递归细化 的软件开发方法,软件系统的架构通过该方法得到细化,直到能产生软件构件和类(模块)。
ABSD有三个基础:
- 功能的分解:在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术
- 选择架构风格来实现质量和业务需求
- 软件模板的使用
ABSD强调采用视角和视图 来描述软件架构,采用用例和质量场景 来描述需求。进一步来说,用例 描述的是功能需求,质量场景描述的是质量需求。
ABSD的开发过程包括:
- 架构需求
- 需求来自三个方面:系统的质量目标 、系统的商业目标 和系统开发人员的商业目标
- 架构需求包括:需求获取、标识构件、架构需求评审
- 标识构件过程包括:生成类图、对类进行分组、把类打包成构件
- 架构设计
- 包括:提出架构模型、映射构件、分析构件相互作用、产生架构、设计评审
- 架构文档化
- 架构文档化过程的主要输出结果是架构规格说明 和测试架构需求的质量设计说明书
- 文档的完整性和质量是软件架构成功的关键因素
- 文档注意事项
- 从使用者的角度书写,针对不同背景的人员采用不同的书写方式;
- 将文档分发给相关人员;
- 文档要保持较新,但不需要随时保证文档最新,要保持文档的稳定性
- 架构复审
- 目的是标识潜在的风险,及早发现架构设计中的缺陷和错误
- 需要外部独立人员参与(用户代表、领域专家)
- 架构实现
- 包括复审后的文档化的架构、形成构件库、架构演化
- 形成构件库包括:分析与设计、构件实现、构件组装、系统测试、架构演化
- 架构演化
- 包括:需求变化归类、架构演化计划、构件变动、更新构件的相互作用、构件组装和测试、技术评审、演化后的架构
其中架构设计、架构文档化、架构复审是一个循环的过程。