系统架构设计师系统架构设计篇基于体系结构的软件开发方法
系统架构设计师—系统架构设计篇—基于体系结构的软件开发方法
概述
基于体系结构(架构)的软件设计(Architecture-Based Software Design,ABSD)方法。
ABSD方法时 体系结构驱动 ,即指构成体系结构的商业、质量和功能需求的组合驱动的。在基于体系结构的软件设计方法中,采用 视角与视图 来描述软件架构,采用 用例 来描述功能需求,采用 质量场景 来描述质量需求。
ABSD方法是一个 自顶向下、递归细化 的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。
ABSD方法有三个基础:
- 功能的分解 :ABSD方法使用已有的、基于模块的内聚和耦合技术。
- 通过选择体系结构风格来实现质量和商业需求 。
- 软件模板的使用 。
基于体系结构的开发模型-ABSDM
ABSDM把整个基于体系结构的软件过程划分为 体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现、体系结构演化 的子过程,直到能产生软件构件和类。
体系结构需求
需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。
体系结构需求过程主要是 获取用户需求、标识系统中所要用到的构件,可以复用需求库中已有的构件 。
主要过程:
- 需求获取
- 标识构件:为系统生成初始逻辑结构,包含大致的构件。
- 第一步:生成类图。
- 第二步:对类进行分组。在生成的类图的基础上,使用一些标准对类进行分组可以大大简化类图结构,使之更清晰。
- 第三步:把类打包成构件。
- 需求评审
组织一个由不同代表(如分析人员、客户、设计人员、测试人员)组成的小组,对体系结构需求及相关构件进行仔细的审查。
审查的主要内容包括所获取的需求是否真实反映了用户的要求,类的分组是否合理,构件合并是否合理等。
必要时,可以再“需求获取—标识构件—需求评审”之间进行迭代。
体系结构设计
主要过程:
- 提出体系结构模型:提出架构风格
- 映射构件:按照架构风格的思路映射构件
- 分析构件相互作用
- 产生体系结构
- 设计评审
体系结构文档化
主要输出结果是 体系结构规格说明 和测试体系结构需求的 质量设计说明书 这两个文件。
体系结构复审
体系结构复审是一个迭代过程,目的是标识出 潜在的风险 尽早发现体系结构设计中的 缺陷 和 错误 、
从这个方面来说,在一个主版本的软件体系结构分析之后,要安排一次由外部人员( 用户代表 和 领域专家 )参加的复审。
体系结构实现
主要过程:
复审后的文档化的体系结构
分析与设计
构件实现
构件组装
系统测试
体系结构演化
体系结构演化
主要过程:
需求变化归类
体系结构演化计划
构件变动:更新构件库
更新构件的相互作用
构件组装与测试
技术评审
演化后的体系结构