系统架构师考试-ABSD基于架构的设计方法

概念

ABSD是体系结构驱动,是指构成体系结构的软件构件和类的组合驱动的。

ABSD强调由商业、质量和功能需求的组合驱动软件架构设计。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动就可以终止,而是应该与设计活动并行。

ABSD的三个基础

  • 功能的分解
  • 通过选择体系结构风格来实现质量和商业需求
  • 软件模版的复用

特点

  • 自顶向下,递归细化,迭代清晰
  • 采用视角与视图来描述软件架构
  • 采用用例来描述需求;采用质量场景来描述质量需求

开发过程

ABSDM开发过程包括架构需求、架构设计、架构文档化、架构复审、架构实现、架构演化

架构需求包括:需求获取、标识构件、架构需求评审

需求获取包括:获取系统的质量目标、获取系统的商业目标、获取系统开发人员的商业目标

标识构件包括:生成类图、对类进行分组、把类打包成构件

架构设计包括:提出软件体系结构模型、把已标识的构件映射到软件体系结构中(映射构件)、分析构件之间的相互关系、产生软件体系结构、设计评审。

架构文档化的主要输出内容包括:体系结构规格说明、质量设计说明书(测试体系结构)

架构实现包括:分析与设计、构件实现、构件组装、系统测试

架构演化包括:需求变化归类、指定架构演化方案、修改、增加或删除构件、更新构件相互作用、构件组装与测试、技术评审

相关推荐
幽络源小助理几秒前
8、幽络源微服务项目实战:前端登录跨域同源策略处理+axios封装+权限的递归查询增删改+鉴权测试
前端·微服务·架构
AAA修煤气灶刘哥1 小时前
Redis为什么快??3 个底层逻辑拆明白,性能优化不用瞎折腾
redis·后端·架构
上园村蜻蜓队长1 小时前
ARM芯片架构之CoreSight SoC-400组件详解
arm开发·fpga开发·架构·rtl
AAA修煤气灶刘哥1 小时前
Nginx 为什么这么强?10 万并发压不垮,这 3 个黑科技藏不住了!
后端·nginx·架构
BeyondCode程序员2 小时前
设计原则讲解与业务实践
设计模式·架构
七夜zippoe2 小时前
微服务配置中心高可用设计:从踩坑到落地的实战指南(二)
微服务·架构·php
hello_2502 小时前
GitOps:一种实现云原生的持续交付模型
架构·argocd
胡耀超3 小时前
2、CPU深度解析:从微架构到性能优化
python·性能优化·架构·arm·cpu·x86·多核心
BTU_YC14 小时前
FastAPI+Vue前后端分离架构指南
vue.js·架构·fastapi