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

目录

1. 架构设计方法概述

2. 概念与术语

2.1 设计元素

2.2 视角与视图

2.3 用例和质量场景

3. 基于架构的开发模型

3.1 架构文档化

3.2 架构复审


1. 🗺️架构设计方法概述

基于架构的软件设计(Architecture-Based Software Design, ABSD)方法。ABSD方法是由架构驱动的,即指由构成架构的业务(商业)、质量和功能需求的组合驱动的。

   三大基础

  • 功能的分解,ABSD方法使用已有的基于模块的内聚和耦合技术。

  • 选择架构风格来实现质量和业务需求。

  • 软件模板的使用,软件模板利用了一些软件系统的结构。

2. 🧭概念与术语

2.1 🏝️设计元素

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

ABSD方法中使用的设计元素如下图所示。在最顶层,系统被分解为若干概念子系统和一 个或若干个软件模板。在第2层,概念子系统又被分解成概念构件和一个或若干个附加软件模板。

2.2 👀视角与视图

不同的视角来检查会有不同视图。这样做可以帮助软件设计师全面考虑架构的各种属性,确保设计的完整性和合理性。以下是几种常见的视角及其作用的总结:

  • 静态视角(逻辑视图):关注系统的功能组织,记录设计元素的功能和概念接口,帮助理解系统内部各组件的功能和职责。

  • 动态视角(进程视图):关注系统的并发行为,描述系统的运行时行为,帮助评估系统的性能和可靠性。

  • 实现视角(实现视图):关注系统的实现细节,描述源代码的组织和模块间的依赖关系,帮助开发人员进行代码管理和维护。

  • 配置视角(部署视图):关注系统的物理部署结构,描述系统的节点和网络连接,帮助系统管理员进行高效的系统管理和运维。

通过这些不同的视角,软件设计师可以全面考虑和评估架构的各个方面,确保设计的合理性和有效性。

2.3 🚵‍♀️用例和质量场景

用例:用于捕获系统的功能需求,描述用户与系统的交互,确保系统能够提供预期的功能。

质量场景:用于捕获系统的质量需求,包括变更、性能、可靠性和交互性等方面。通过定义预期和非预期场景,帮助评估系统在不同条件下的表现,确保设计的鲁棒性和适应性。

例如,一个预期的性能场景是估计每年用户数量增加10%的影响,一个非预期的场景是估计每年用户数量增加100%的影响。虽然非预期场景可能不会真正实现,但它们在确定设计的边界条件时非常有用。

3. 🧐基于架构的开发模型

传统的软件开发过程可以划分为从概念直到实现的若干个阶段,包括问题定义、 需求分析、软件设计、软件实现及软件测试等。如果采用传统的软件开发模型,软件架构的建立应位于需求分析之后, 概要设计之前

传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。

也就是说ABSD可以很好的支持软件重用。ABSD通过模块化设计、标准化接口、组件库和框架、领域模型和领域驱动设计、版本管理和文档等多个方面,支持软件重用。

ABSD模型把整个基于架构的软件过程划分为架构需求、设计、文档化、复审、实现和演化6个子过程,

3.1 📚架构文档化

架构文档化过程的主要输出结果是两个文档:架构规格说明测试架构需求的质量设计说明书

软件架构的文档要求与软件开发项目中的其他文档是类似的。文档的完整性和质量是软件架构成功的关键因素。

三大注意事项:

✅ 文档要从使用者的角度进行编写

✅ 必须分发给所有与系统有 关的开发人员

✅ 且必须保证开发者手上的文档是最新的

3.2 🛂架构复审

在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加 的复审。

复审的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误

包括架构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表 达是否明确、构件的设计是否满足功能与性能的要求等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值