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

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

ABSD有三个基础:

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

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

ABSD的开发过程包括:

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

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

相关推荐
lisw053 小时前
基于零信任的云-边-端访问控制系统,使用可信标签
人工智能·机器学习·软件工程
Zzj_tju5 小时前
LLM for Code Research:程序合成、自动调试与软件工程评测
人工智能·语言模型·软件工程
疯狂打码的少年6 小时前
【软件工程】需求工程:需求获取与需求分析
数据库·笔记·软件工程·需求分析
云纳星辰怀自在20 小时前
嵌入式系统栈溢出:从幽灵Bug到精准防控的全链路指南
软件工程·嵌入式软件·栈溢出·stack溢出
NG4771 天前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程
cspttty1 天前
二本软件工程专业好就业吗?毕业后能做哪些岗位
大数据·软件工程
梁辰兴1 天前
软件工程:软件的定义、特点、种类及其发展
软件工程·软件·梁辰兴·软件发展·软件定义·软件特点·软件种类
圣殿骑士-Khtangc1 天前
传统单体架构改造方案实战:从单体地狱到模块化架构的渐进式演进
系统架构
疯狂打码的少年1 天前
【软件工程】需求工程:需求规格说明与需求验证
笔记·软件工程
lisw051 天前
智能CAD:理论、算法、应用与展望!
人工智能·机器学习·软件工程