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

概念

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

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

ABSD的三个基础

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

特点

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

开发过程

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

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

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

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

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

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

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

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

相关推荐
shaohaoyongchuang23 分钟前
01-分布式基础-创建微服务项目
分布式·微服务·架构
海市公约31 分钟前
Python操作SQLite数据库:从基础语法到完整项目实战
数据库·ide·python·程序人生·架构·pycharm·sqlite
大雾的小屋41 分钟前
【1-1】基于深度学习的滚动轴承故障诊断系统:从数据处理到交互式界面全流程解析
人工智能·pytorch·深度学习·系统架构·人机交互·pyqt·用户界面
Mintopia44 分钟前
🧠 AI驱动的B端服务架构猜想
人工智能·安全·架构
云小逸2761 小时前
openEuler 多算力虚拟化性能实测
架构
Mintopia1 小时前
🤖 AIGC技术服务商与Web平台的API对接标准与技术规范
人工智能·架构·aigc
鱼鱼块1 小时前
揭开浏览器底层的秘密:为什么一个 Chrome 能跑这么快又这么稳?
架构·操作系统·浏览器
sugar椰子皮1 小时前
【爬虫框架-2】funspider架构
爬虫·python·架构
空中海1 小时前
1.Flutter 简介与架构原理
flutter·架构
斯普信专业组1 小时前
Calico网络架构与实现深度解析(上)
网络·架构