架构-架构设计3.1-基于架构的软件开发ABSD
概述
ABSD-Architecture-Based Software Design
ABSD方法是架构驱动,强调由业务(商业)、质量和功能需求的组合驱动架构设计。”它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。这进一步来说,用例描述的是功能需求,质量属性场景描述的是质量需求(或侧重于非功能需求)
使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求获取和分析还没有完成,就开始了软件设计。
视角与视图:从不同的视角来检查,所以会有不同的视图。
用例用来捕获功能需求、特定场景【刺激、环境、响应】用来捕获质量需求。
三个基础。
- 第一个基础是功能的分解,使用已有的基于块的内聚和合技术;
- 第二个基础是通过选择架构风格来实现质量和业务需求:
- 第三个基础是软件模板的使用,软件模板利用了一些软件系统的结构。
开发方法
是一个自顶向下、递归细化的方法:
- 在最顶层,系统被分解为若干概念子系统和一个或若干个软件模板。
- 在第2层,概念子系统又被分解成概念构件和一个或若干个附加软件模板。
ABSD能很好的【支持软件重用】
ABSD方法是一个自顶向下,递归细化的方法。
软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。
1架构需求
架构需求:重在掌握标识构件的三步,如下左图。
- 需求获取:体系结构需求一般来自三个方面,分别是**系统的质量目标、系统的商业目标和系统开发 人员的商业目标。
- 标识构件:为系统生成初始逻辑结构,标识大致的构件。包括图中三个步骤【左侧虚线框】。
- 需求评审
2架构设计
架构设计:将需求阶段的标识构件映射成构件,进行分析,如下右图。【评审可能是组织内部人员】
3架构文档化
架构(体系结构)文档化:主要产出两种文档,即【架构(体系结构)规格说明】,【测试架构(体系结构)需求的质量设计说明书】。文档是至关重要的,是所有人员通信的手段,关系开发的成败。
关于文档的三大注意事项:
- 文档要从使用者的角度进行编写
- 必须分发给所有与系统有关的开发人员
- 且必须保证开发者手上的文档是最新的
4架构复审
架构复审:由外部人员(独立于开发组织之外的人,如用户代表和领域专家等)参加的复审,复审架构是否满足需求,质量问题,构件划分合理性等。
若复审不过,则返回架构设计阶段进行重新设计、文档化,再复审。
架构复审【架构评估】的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误
5架构实现
架构实现:用实体来显示出架构。实现构件,构件组装成系统,如下左图
6架构演化
架构演化:对架构进行改变,按需求增删构件,使架构可复用,如下右图
架构-架构设计3.1-基于架构的软件开发ABSD
http://060800.xyz/2025/08/18/架构/架构-架构设计3.1-基于架构的软件开发ABSD/