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

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

ABSD有三个基础:

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

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

ABSD的开发过程包括:

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

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

相关推荐
Daorigin_com3 小时前
从“出海合规”到“全域合规”:道本科技用数字底座重构企业合规的逻辑
软件工程·团队开发·软件构建·需求分析·个人开发·设计规范·结对编程
盖伦发发4 小时前
代码实现前流程深度梳理-需求拆解, 架构与设计
软件工程
盖伦发发7 小时前
MySQL InnoDB事务完整教程|ACID、MVCC、隔离级别、事务控制
经验分享·后端·spring·软件工程
风123456789~9 小时前
【架构专栏】第10章 软件架构演化与维护 1/2
系统架构
PHP实战开发录9 小时前
PHP接口怎么防重复提交
系统架构·php·开发
在世修行10 小时前
干货:三合一架构:GUI/HTTP/引擎如何共用一条任务队列
系统架构·ai编程·任务队列·trae work
西瓜太郎123419 小时前
外层模型卡片与分组详情成功率不一致,应该怎么排查?
前端·typescript·go·软件工程·react
风123456789~1 天前
【架构专栏】第9章 软件可靠性基础知识 1/2
系统架构
郝学胜-神的一滴1 天前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
开发语言·数据结构·c++·软件工程·visual studio
艺杯羹1 天前
告别碎片化ToolCall:Model Context Protocol (MCP) 核心机理与私有数据总线落地实战
人工智能·microsoft·系统架构·大模型·mcp