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

概念

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

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

ABSD的三个基础

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

特点

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

开发过程

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

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

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

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

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

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

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

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

相关推荐
森焱森2 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
强哥之神7 小时前
英伟达发布 Llama Nemotron Nano 4B:专为边缘 AI 和科研任务优化的高效开源推理模型
人工智能·深度学习·语言模型·架构·llm·transformer·边缘计算
DemonAvenger8 小时前
高性能 TCP 服务器的 Go 语言实现技巧:从原理到实践
网络协议·架构·go
Code季风9 小时前
深入理解微服务中的服务注册与发现(Consul)
java·运维·微服务·zookeeper·架构·go·consul
小马哥编程9 小时前
【iSAQB软件架构】架构决策记录-ADR
数据库·架构·系统架构·设计规范
木鱼时刻9 小时前
容器与 Kubernetes 基本概念与架构
容器·架构·kubernetes
zhuyasen11 小时前
定义即代码!这个框架解决了90%的Go开发者还在低效开发项目的问题
架构·go·gin
LCG元11 小时前
云原生微服务间的异步消息通信:最终一致性与系统容错的架构实战
微服务·云原生·架构
骑着王八撵玉兔12 小时前
【性能优化与架构调优(二)】高性能数据库设计与优化
数据库·性能优化·架构
Jiude13 小时前
MinIO 社区版被故意阉割,Web管理功能全面移除。我来试试国产RustFS
后端·docker·架构