基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。以下关于ABSD的叙述中,错误的是______。
A.使用ABSD方法,设计活动可以从项目总体功能框架明确就开始
B.ABSD方法是一个自顶向下,递归细化的过程
C.ABSD方法有三个基础:功能分解、选择架构风格实现质量和商业需求以及软件模板的使用
D.使用ABSD方法,设计活动的开始意味着需求抽取和分析活动可以终止
参考答案:D
解析: ABSD方法为产生软件系统的概念架构提供基础,概念架构是由Hofimeister、Nord和Soni提出的四种不同的架构中的一种,它描述了系统的主要设计元素及其关系。概念架构代表了在开发过程中作出的第一个选择,相应地,它是达到系统质量和业务目标的关键,为达到预定功能提供了一个基础。
ABSD方法取决于决定系统的架构驱动。所谓架构驱动,是指构成架构的业务、质量和功能需求的组合。使用ABSD方法,设计活动可以在架构驱动一决定就开始,这意味着需求获取和分析还没有完成(甚至远远没有完成),就开始了软件设计。设计活动的开始并不意味着需求获取和分析活动就可以终止,而是应该与设计活动并行。特别是在不可能预先决定所有需求时,例如产品线系统或长期运行的系统,快速开始设计是至关重要的。
ABSD方法有3个基础。第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择架构风格来实现质量和业务需求。第三个基础是软件模板的使用。软件模板利用了一些软件系统的结构。然而,对于设计方法来说,软件模板的使用是一个新概念,简单介绍如下。
软件模板是一个特殊类型的软件元素,包括描述所有这种类型的元素在共享服务和底层构造的基础上如何进行交互。软件模板还包括属于这种类型的所有元素的功能,这些功能的例子有:每个元素必须记录某些重大事件,每个元素必须为运行期间的外部诊断提供测试点等。在软件产品线系统中,软件模板显得格外重要,因为新元素的引入是一项通用的技术,这种技术用来使产品线体系结构适应一个特定的产品。
ABSD方法是递归的,且迭代的每一个步骤都是清晰地定义的。因此,不管设计是否完成,体系结构总是清晰的,这有助于降低体系结构设计的随意性。