软考 系统架构设计师系列知识点之基于架构的软件开发方法ABSD(1)

所属章节:

第7章. 系统架构设计基础知识

第2节. 体系结构的设计方法概述

1. 体系结构的设计方法概述

ABSD ,全称是Architecture-Based Software Design ,中文译为基于体系结构的软件设计 。ABSD方法是由体系结构驱动 的,即指由构成体系结构的商业 、质量 和功能需求 的组合 驱动的。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求抽取和分析方法还没有完成(甚至远远没有完成),就开始了软件设计 。设计活动的开始并不意味着 需求抽取和分析活动就可以终止,而是应该与设计活动并行。特别是在不可能预先决定所有需求时(例如,产品线系统或长期运行的系统),快速开始设计是至关重要的。方法使用已有的基于模块

ABSD方法有3个 基础:第1个基础是功能的分解 。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术 ;第2个基础是通过选择体系结构风格来实现质量和商业需求 。第3个基础是软件模板的使用,软件模板利用了一些软件系统的结构。

ABSD方法是递归的 ,且迭代的每一个步骤都是清晰定义的。因此,不管设计是否完成,体系结构总是清晰的,这有助于降低体系结构设计的随意性。

2. 概念与术语

(1)设计元素

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

在最顶层 ,系统被分解成为若干概念子系统 和一个和若干个软件模板 。在第2层 ,概念子系统又被分解成概念构件 和一个或若干个附加软件模板。

(2)视角与视图

考虑体系结构时,要从不同的视角(Perspective)来观察对架构的描述 ,这需要软件设计师考虑体系结构的不同属性。例如:展示功能组织的静态视角能判断质量特性;展示并发行为的动态视角能判断系统行为特性。因此,选择的特定视角或视图(如逻辑视图、进程视图、实现视图和配置视图)可以全方法地考虑体系结构设计。使用逻辑视图来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能、性能等。

(3)用例和质量场景

用例 已经成为推测系统在一个具体设置中的行为 的重要技术。用例被用在很多不同的场合,用例是系统的一个给予用户一个结果值的功能点,用例用来捕获功能需求。

在使用用例捕获功能需求 的同时,人们通过定义特定场景来捕获质量需求 ,并称这些场景为质量场景 。这样一来,在一般的软件开发过程中,人们使用质量场景捕获变更、性能、可靠性和交互性 ,分别称之为变更场景、性能场景、可靠性场景和交互性场景 。质量场景必须包括预期的 和非预期的场景。例如,一个预期的场景是估计每年用户数量增加10%的影响,一个非预期的场景是估计每年用户数量增加100%的影响。非预期场景可能不会真正实现,但它们在决定设计的边界条件时很有用。

相关推荐
拆房老料1 天前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构
Jmyd01231 天前
文物3D数字化的技术选型指南:从WW/T 0115标准到落地工程,一次讲透采集、建档、管理与展示
3d·系统架构·博物馆·数字展厅·博物馆数字化
薛定谔的猫-菜鸟程序员2 天前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
无心水2 天前
22、数学与经济管理(运筹学) 核心考点与学习笔记
人工智能·笔记·学习·架构师·软考·软考架构师·软考系统架构师
被放养的研究生2 天前
第一章 信息系统架构
系统架构·金融监管计算机类
装不满的克莱因瓶3 天前
支付订单成功异步MQ权益发放设计和开发
java·架构·系统架构·rabbitmq·硬件架构
数字新视界4 天前
数字孪生技术赋能智能化转型与创新实践
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
微三云 - 廖会灵 (私域系统开发)4 天前
企业级 SaaS 系统架构设计:单体、微服务还是模块化单体?技术选型实战
微服务·架构·系统架构
Liaiyang664 天前
六家大模型体检卡:六个 ∅_safe(安全兜底态)的藏身之处(或显影处),就是下一次翻车的地方
系统架构·agent·rlhf·ai安全·容错设计·大模型评测·ai幻觉
shuair4 天前
Spring Cloud 微服务脚手架:Simple Cloud 系统架构设计
spring cloud·微服务·系统架构