系统架构设计师—系统架构设计篇—基于体系结构的软件开发方法

news/2025/3/11 14:10:33/

文章目录

  • 概述
  • 基于体系结构的开发模型-ABSDM
    • 体系结构需求
    • 体系结构设计
    • 体系结构文档化
    • 体系结构复审
    • 体系结构实现
    • 体系结构演化

概述

基于体系结构(架构)的软件设计(Architecture-Based Software Design,ABSD)方法。

ABSD方法时体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。在基于体系结构的软件设计方法中,采用视角与视图来描述软件架构,采用用例来描述功能需求,采用质量场景来描述质量需求。

ABSD方法是一个自顶向下、递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。

ABSD方法有三个基础:

  1. 功能的分解:ABSD方法使用已有的、基于模块的内聚和耦合技术。
  2. 通过选择体系结构风格来实现质量和商业需求
  3. 软件模板的使用

ABSDM_14">基于体系结构的开发模型-ABSDM

ABSDM把整个基于体系结构的软件过程划分为体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现、体系结构演化的子过程,直到能产生软件构件和类。
在这里插入图片描述

体系结构需求

需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
体系结构需求过程主要是获取用户需求、标识系统中所要用到的构件,可以复用需求库中已有的构件
主要过程:

  1. 需求获取
  2. 标识构件:为系统生成初始逻辑结构,包含大致的构件。
    1. 第一步:生成类图。
    2. 第二步:对类进行分组。在生成的类图的基础上,使用一些标准对类进行分组可以大大简化类图结构,使之更清晰。
    3. 第三步:把类打包成构件。
  3. 需求评审
    1. 组织一个由不同代表(如分析人员、客户、设计人员、测试人员)组成的小组,对体系结构需求及相关构件进行仔细的审查。
    2. 审查的主要内容包括所获取的需求是否真实反映了用户的要求,类的分组是否合理,构件合并是否合理等。
    3. 必要时,可以再“需求获取—标识构件—需求评审”之间进行迭代。
      在这里插入图片描述

体系结构设计

主要过程:

  1. 提出体系结构模型:提出架构风格
  2. 映射构件:按照架构风格的思路映射构件
  3. 分析构件相互作用
  4. 产生体系结构
  5. 设计评审

在这里插入图片描述

体系结构文档化

主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这两个文件。

体系结构复审

体系结构复审是一个迭代过程,目的是标识出潜在的风险尽早发现体系结构设计中的缺陷错误

从这个方面来说,在一个主版本的软件体系结构分析之后,要安排一次由外部人员(用户代表领域专家)参加的复审。

体系结构实现

主要过程:

  1. 复审后的文档化的体系结构
  2. 分析与设计
  3. 构件实现
  4. 构件组装
  5. 系统测试
  6. 体系结构演化
    在这里插入图片描述

体系结构演化

主要过程:

  1. 需求变化归类
  2. 体系结构演化计划
  3. 构件变动:更新构件库
  4. 更新构件的相互作用
  5. 构件组装与测试
  6. 技术评审
  7. 演化后的体系结构
    在这里插入图片描述

http://www.ppmy.cn/news/1578368.html

相关文章

Stable Diffusion模型高清算法模型类详解

Stable Diffusion模型高清算法模型类详细对比表 模型名称核心原理适用场景参数建议显存消耗细节增强度优缺点4x-UltraSharp残差密集块(RDB)结构优化纹理生成真实人像/建筑摄影重绘幅度0.3-0.4,分块尺寸768px★★★★★☆皮肤纹理细腻,但高对比场景易出现…

mac安装nvm=>node=>nrm

下载并安装 NVM 运行以下命令下载并安装 NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash 配置环境变量 vim ~/.zshrc 按 i 将如下代码复制进去,controlc ,再按 :wq完成编辑 export NVM_DIR…

Django 初始化导入数据详解

Django 初始化导入数据详解 在 Django 项目中,初始化数据导入是一个常见的需求,特别是在开发阶段或者部署新环境时,通常需要一些预置的数据来确保应用能够正常运行。Django 提供了一种高效的方法来加载初始化数据,即通过 fixture…

第二节:网络设备与拓扑结构详解:从集线器到路由器

网络设备与拓扑结构详解:从集线器到路由器 在网络世界中,网络设备和拓扑结构是构建网络的基础。无论是小型家庭网络还是大型企业网络,都需要依赖各种网络设备和合理的拓扑结构来实现高效、稳定的通信。本文将从集线器、交换机、路由器等常见网络设备的工作原理入手,详细介…

元组(C# 7)——详解

C#中的元组(Tuple)是一种轻量级数据结构,用于将多个不同类型的元素组合成一个整体,特别适用于临时数据分组或需要返回多个值的方法。 注:C# 7的元组功能(如匿名元组、命名元组和解构)底层由 Sys…

什么是一致性模型,在实践中如何选择?

一、一致性模型 1、强一致性(Strong Consistency) ①定义:强一致性意味着在分布式系统中的每个读取操作,都能读取到最近写入的数据。也就是说,所有节点都始终保持相同的数据状态。 ②特点:写操作对所有节点立即可见,所有的读取操作在任何节点上都能看到最新的写入。 …

云原生可观测性:穿透分布式系统的迷雾森林

引言:数字世界的CT扫描革命 Uber分布式追踪每日收集100TB跨度数据,阿里巴巴鹰眼系统实现百万级QPS链路检索。Datadog APM将MTTR缩短68%,Prometheus单集群支撑每秒300万指标采集。CNCF OpenTelemetry被89%云原生企业采纳,Grafana …

web安全概述(web漏洞解析与攻防实战)

感谢机械工业出版社 李晓波 赠送的《web漏洞解析与攻防实战》,这本书是2023年刚刚出版的,作者是安全圈子里非常出名的do9gy和phith0n,今日有幸拜读大作,欣喜万分,从传统web后端漏洞(sql注入)到…