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

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

ABSD有三个基础:

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

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

ABSD的开发过程包括:

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

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

相关推荐
刀法如飞8 天前
从程序员到架构师:6大编程范式全解析与实践对比
设计模式·系统架构·编程范式
郑州光合科技余经理12 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
王九思13 天前
Thrift Server 介绍
大数据·系统架构·运维开发
xiaozhazha_13 天前
技术选型深度解析:企业级AI智能办公系统架构设计与“人机协同”实践——以快鹭为例
人工智能·系统架构
C澒13 天前
SLDS 自营物流系统:Pickup 揽收全流程
前端·架构·系统架构·教育电商·交通物流
holeer13 天前
【V3.0】「酒店 × 视觉AI」项目 | 需求分析说明书(软件工程概论 - 课程作业三)
人工智能·软件工程·需求分析·原型设计·总体设计·结构化设计
雾江流13 天前
Xtra 2.54.1 | Twitch直播第三方客户端,开源纯净无广
软件工程
RockHopper202514 天前
承载现实的系统:语义驱动如何让组织在混沌中构建秩序
系统架构·语义驱动
沪漂阿龙14 天前
第二章:RAG系统技术架构设计
人工智能·系统架构
开源能源管理系统14 天前
MyEMS开源能源管理系统结合零碳工厂
系统架构·开源·能源·制造·能源管理系统