基于体系结构的软件设计(Architecture-Based Software Design,ABSD)方法是由体系结构驱动的,即指由构成体系结构的「商业、质量和功能需求」的组合驱动。
ABSD方法是一个自顶向下、递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件「构件」和「类」。
ABSD设计活动从项目总体框架明确就开始,此时需求抽取和分析还没完成。
要点1: 使用ABSD方法的3个基础
1. 功能的分解:使用已有的基于模块的内聚和耦合技术。
2. 选择架构风格:实现质量和业务需求。
3. 软件模块的使用:复用软件系统的结构。
要点2: 视图与视角
视角与视图:描述系统的体系结构,体现关注点分离的思想。
静态视角:展示功能组织,判断质量特性。
动态视角:展示并发行为,判断行为特性。
要点3: 用例和质量场景
描述软件架构:视角 + 视图
描述需求:用例(功能需求) + 质量属性场景(质量需求)
用例:用来捕获功能需求。
质量属性:通过定义特定场景来捕获质量需求。
要点4: 基于架构的开发模型
1. 架构需求:需求获取 -> 生成类图 -> 对类进行分组 -> 把类打包成构件 -> 需求评审
2. 架构设计:提出架构模型 -> 映射构件 -> 分析构件相互作用 ->产生架构 -> 设计评审
3. 架构文档化:体系结构规格说明 + 测试体系结构需求的质量设计说明书
4. 架构复审:标识潜在的风险,及早发现架构设计中的缺陷和错误。
5. 架构实现:分析与设计 -> 构件实现 -> 构件组装 -> 系统测试
6. 架构演化:制订演化计划 -> 增删改构件 -> 更新构件的相互作用 -> 构件组装与测试
阶段1: 架构需求
1. 需求获取
2. 标识构件:生成类图 —> 对类进行分组 —> 把类打包成构件
3. 需求评审
阶段2: 架构设计
1. 提出架构模型
2. 把已标识的构件映射到架构中
3. 分析构件之间的相互作用
4. 产生软件体系结构
5. 设计评审
阶段3: 架构文档化
体系结构规格说明
测试体系结构需求的质量设计说明书
阶段4: 架构复审
安排一次由外部人员(用户代表和领域专家)参加的复审,标识潜在的风险,及早发现架构设计中的缺陷和错误。
阶段5: 架构实现
1. 复审后的文档化的架构
2. 分析与设计
3. 构件实现
4. 构件组装
5. 系统测试
6. 架构演化
阶段6: 架构演化
1. 需求变化归类
2. 制订架构演化计划
3. 修改、增加、删除构件
4. 更新构件的相互作用
5. 构件组装与测试
6. 技术评审
▪ THE END ▪