基于架构的软件开发方法ABSD(Architecture-Based Software Design)是由架构驱动,强调由业务、质量和功能需求的组合驱动架构设计。

在基于软件架构的开发方法中,采用视角与视图来描述软件架构,采用用例来描述功能需求,采用质量场景来描述质量需求。

ABSD有三个基础:是功能分解;选择架构风格来实现质量和业务需求;件模板的使用。

使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,这就意味着需求获取和分析还没完成(甚至远远没有完成)就开始了软件设计。ABSD能够很好的支持软件的重用。

ABSD模型把整个软件开发过程分为:体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现、体系结构演化。

软件架构分析案例(基于架构的软件开发方法ABSD)(1)

(1)体系结构需求

体系结构需求包括需求获取;标识构件(其中标识构件又包括生成类图、对类进行分组、把类打包成构件);需求评审。

软件架构分析案例(基于架构的软件开发方法ABSD)(2)

(2)体系结构设计

体系结构设计包括提出软件架构模型;映射构件; 分析构件的相互作用; 产生架构; 设计评审。

软件架构分析案例(基于架构的软件开发方法ABSD)(3)

(3)体系结构文档化:主要输出为体系结构规格说明书和质量设计说明书。

(4)架构复审:用户、领域专家等人员参加复审

(5)体系结构实现

体系结构实现包括分析与设计; 构件实现;构件组装;系统测试

软件架构分析案例(基于架构的软件开发方法ABSD)(4)

(6)体系结构演化

体系结构演化包括需求变化归类;制定架构演化计划;制定架构演化计划;构件变动;更新构件的相互作用; 构件组装与测试;技术评审

软件架构分析案例(基于架构的软件开发方法ABSD)(5)

,