基于架构的软件开发方法

1.ABSD概念

基于架构的软件设计(Architecture-Based Software Design,ABSD)方法强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD是一个自顶向下,递归细化的软件开发方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板

ABSD强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。进一步来说,用例描述的是功能需求质量属性场景描述的是质量需求(或侧重于非功能需求)

ABSD方法有三个基础:

第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术。

第二个基础是通过选择体系结构风格来实现质量和商业需求。

第三个基础是软件模板的使用。

使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。

ABSDM模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。

2.体系结构需求(即软件架构需求)

软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。

需求过程主要是获取用户需求标识系统中所要用到的构件并进行架构需求评审

其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。软件架构需求并不应该包括设计构件的过程。

3.架构复审

架构复审是基于架构开发中一个重要的环节。架构设计、文档化和复审是一个迭代的过程。从这个方面来说,在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审。架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试。架构复审的目标是标识潜在的风险,及早发现架构设计的缺陷和错误。

4.体系结构演化

体系结构演化是使用系统演化步骤去修改应用,以满足新的需求。主要包括以下6个步骤。

1. 需求变化归类 首先必须对用户需求的变化进行归类,使变化的需求与已有构件对应。对找不到对应构件的变动,也要做好标记,在后续工作中,将创建新的构件,以对应这部分变化的需求。

2.制订体系结构演化计划 在改变原有结构之前,开发组织必须制订一个周密的体系结构演化计划,作为后续演化开发工作的指南。

3.修改、增加或删除构件 在演化计划的基础上,开发人员可根据在第1步得到的需求变动的归类情况,决定是否修改或删除存在的构件、增加新构件。最后,对修改和增加的构件进行功能性测试。

4.更新构件的相互作用 随着构件的增加、删除和修改,构件之间的控制流必须得到更新。

5.构件组装与测试 通过组装支持工具把这些构件的实现体组装起来,完成整个软件系统的连接与合成,形成新的体系结构。然后对组装后的系统整体功能和性能进行测试。

6.技术评审 对以上步骤进行确认,进行技术评审。评审组装后的体系结构是否反映需求变动、符合用户需求。如果不符合,则需要在第2到第6步之间进行迭代。在原来系统上所做的所有修改必须集成到原来的体系结构中,完成一次演化过程。

你可能感兴趣的:(软件架构设计,软件工程)