使用ABSD方法,设计活动可以从项目总体功能框架明确就开始
ABSD方法是一个自顶向下,递归细化的过程
ABSD方法有3个基础:功能分解、选择架构风格实现质量和商业需求及软件模板的使用
使用ABSD方法,设计活动的开始意味着需求抽取和分析活动可以终止
第1题:
● 基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。以下关于ABSD 的叙述中,错误的是 (48) 。
(48)
A. 使用ABSD 方法,设计活动可以从项目总体功能框架明确就开始
B. ABSD 方法是一个自顶向下,递归细化的过程
C. ABSD 方法有三个基础:功能分解、选择架构风格实现质量和商业需求以及 软件模板的使用
D. 使用ABSD 方法,设计活动的开始意味着需求抽取和分析活动可以终止
试题(48)分析
基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。ABSD方法有三个基础:第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择体系结构风格来实现质量和商业需求。第三个基础是软件模板的使用。ABSD方法是一个自顶向下,递归细化的过程,软件系统的架构通过该方法得到细化,直到能产生软件构件的类。
参考答案
(48)D
第2题:
论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。
请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2. 结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3. 阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。
一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。
二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。
1. 架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。
(1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。
(2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。
(3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。
2. 架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。
3. 架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。
4. 在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等。从而标识潜在的风险,及早发现架构设计中的缺陷和错误。
5. 架构实现主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。
6. 架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题。主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试和技术评审。
三、在软件开发的过程中可能遇到的问题包括:在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;在架构复审过程中如何解决评审人员的意见不一致问题;在架构实现过程中如何根据项目组实际情况选择开发语言与开发平台;在架构演化过程中如何筛选并处理用户的需求变更,等等。
第3题:
试题(46)、(47)
基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用 (46) 来描述软件架构,采用 (47) 来描述需求。
(46)
A. 类图和序列图
B. 视角与视图
C. 构件和类图
D. 构件与功能
(47)
A. 用例与类图
B. 用例与视角
C. 用例与质量场景
D. 视角与质量场景
第4题:
ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。
A.架构设计
B.架构实现
C.架构复审
D.架构演化
第5题:
关于软件架构设计所处的阶段,以下说法正确的是( )。( )A.可行性分析与需求分析之间B.需求分析与软件设计之间C.软件设计与软件编码之间D.测试阶段
第6题:
● 架构复审是基于架构开发中一个重要的环节。以下关于架构复审的叙述中,错误的是 (50) 。
(50)
A. 架构复审的目标是标识潜在的风险,及早发现架构设计的缺陷和错误
B. 架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试
C. 架构复审人员由系统设计与开发人员组成
D. 架构设计、文档化和复审是一个迭代的过程
第7题:
● 基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、 (49) 和软件模板的使用。
(49)
A. 对需求进行优先级排列
B. 根据需求自行设计系统的总体架构
C. 选择架构风格实现质量及商业需求
D. 开发系统原型用于测试
第8题:
● 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键活动。以下关于软件架构重要性的叙述中,错误的是 (46) 。
(46)
A. 架构设计能够满足系统的性能、可维护性等品质
B. 良好的架构设计能够更好地捕获并了解用户需求
C. 架构设计能够使得不同的利益相关人(stakeholders)达成一致的目标
D. 架构设计能够支持项目计划和项目管理等活动
第9题:
基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用 (46) 来描述软件架构,采用 (47) 来描述需求。
(46)
A. 类图和序列图
B. 视角与视图
C. 构件和类图
D. 构件与功能
(47)
A. 用例与类图
B. 用例与视角
C. 用例与质量场景
D. 视角与质量场景
第10题:
某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。 ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。 小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。
A.架构风格
B.设计模式
C.架构策略
D.架构描述