软考(系统架构师)-软件架构设计之基于架构的开发方法

基于架构的开发方法ABSD(Architecture Based Software Development)是架构驱动的,强调由业务 、质量 和功能需求 的组合驱动架构设计。它是一个自顶向下、递归细化 的软件开发方法,软件系统的架构通过该方法得到细化,直到能产生软件构件和类(模块)。

ABSD有三个基础:

  • 功能的分解:在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术
  • 选择架构风格来实现质量和业务需求
  • 软件模板的使用

ABSD强调采用视角和视图 来描述软件架构,采用用例和质量场景 来描述需求。进一步来说,用例 描述的是功能需求,质量场景描述的是质量需求。

ABSD的开发过程包括:

  • 架构需求
    • 需求来自三个方面:系统的质量目标 、系统的商业目标 和系统开发人员的商业目标
    • 架构需求包括:需求获取、标识构件、架构需求评审
      • 标识构件过程包括:生成类图、对类进行分组、把类打包成构件
  • 架构设计
    • 包括:提出架构模型、映射构件、分析构件相互作用、产生架构、设计评审
  • 架构文档化
    • 架构文档化过程的主要输出结果是架构规格说明 和测试架构需求的质量设计说明书
    • 文档的完整性和质量是软件架构成功的关键因素
    • 文档注意事项
      • 从使用者的角度书写,针对不同背景的人员采用不同的书写方式;
      • 将文档分发给相关人员;
      • 文档要保持较新,但不需要随时保证文档最新,要保持文档的稳定性
  • 架构复审
    • 目的是标识潜在的风险,及早发现架构设计中的缺陷和错误
    • 需要外部独立人员参与(用户代表、领域专家)
  • 架构实现
    • 包括复审后的文档化的架构、形成构件库、架构演化
    • 形成构件库包括:分析与设计、构件实现、构件组装、系统测试、架构演化
  • 架构演化
    • 包括:需求变化归类、架构演化计划、构件变动、更新构件的相互作用、构件组装和测试、技术评审、演化后的架构

其中架构设计、架构文档化、架构复审是一个循环的过程。

相关推荐
一切皆是因缘际会13 小时前
掌控信息论:同源星际通信基础理论 上
人工智能·ai·系统架构·分布式系统·信息论·星际通信·物理计算机
RockHopper202514 小时前
AI时代模型生命周期与软件资产重构:概要版
人工智能·系统架构·软件工程·ai编程·世界模型
zmsup15 小时前
从运维需求到产品能力:OpsArk Agent 的运维智能平台架构设计思路
运维·系统架构·agent·智能体·运维智能平台
記億揺晃着的那天1 天前
【Agent 架构实战】大模型长期项目开发:决策文档生命周期管理与 CI 门禁治理
软件工程·devops·架构设计·ai agent·文档管理
408高手1 天前
用例建模之详解用例和用例规约
系统架构
rolt1 天前
智能机床-06 机械 ISO 23704-4-2026-用UML表示的行业标准
软件工程·产品经理·架构师·uml
️公子2 天前
Claude Code 2.1.289 补上四个 deny 缺口:Agent 权限匹配器的规范化、分层裁决与回归语料
软件工程·ai agent·权限控制·claude code·安全工程
要努力wow2 天前
系统架构师 —— 系统架构设计
系统架构
HRTOS2 天前
HRTOS:一个名字背后的目标——不断逼近硬实时
经验分享·单片机·系统架构·51单片机
沫璃染墨2 天前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理