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

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

ABSD有三个基础:

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

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

ABSD的开发过程包括:

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

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

相关推荐
小徐不徐说4 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
长不大的杨瑞杰5 小时前
OpenCode v2 会话可靠性实战:Snapshots、Compaction、Instructions 与 Formatters
人工智能·安全·云计算·软件工程·devops
代码丰8 小时前
大 JSON 放进 Redis 之后,如何用 Stream 解耦耗时任务?
redis·后端·系统架构
阿狸猿14 小时前
系统架构评估方法及其应用
系统架构
Eyfcom14 小时前
〖阶段性回顾〗物流系统架构与算法的 Day 1-5 知识图谱与实战答疑
算法·系统架构·知识图谱·物流管理系统·快递管理系统
你看我名字14 小时前
系统架构的演变:从单机应用到双十一级高并发系统
系统架构
吴建旭 智宅焕17 小时前
智能家居B端从业者路径选择的系统架构设计:准入约束、路径匹配与交付确定性
系统架构·智能家居
AI你一生一世1 天前
当“暂停“成为架构决策:从签证系统停摆看高可用设计的边界
架构·系统架构·流量控制·幂等性·高可用设计·优雅降级·状态一致性
考拉讲支付1 天前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
Old Uncle Tom1 天前
LLM 替代 SAST?Claude Code 安全审查工具的设计取舍与工程启示
人工智能·安全·软件工程