【软考系统架构设计师】复盘架构设计师真题知识点第五章---基于架构的软件设计

【软考系统架构设计师】复盘架构设计师真题知识点第五章—基于架构的软件设计

复盘架构设计师真题知识点第五章---基于架构的软件设计

    • 【软考系统架构设计师】复盘架构设计师真题知识点第五章---基于架构的软件设计
      • 第一部分 综合知识历年真题
          • 2009下综合知识历年真题(3分)
          • 2010下综合知识历年真题(2分)
          • 2011下综合知识历年真题(1分)
          • 2011下综合知识历年真题(2分)
          • 2013下综合知识历年真题(5分)
          • 2014下综合知识历年真题(1分)
          • 2015下综合知识历年真题(2分)
          • 2016下综合知识历年真题(0分)
          • 2017下综合知识历年真题(4分)
          • 2018下综合知识历年真题(0分)
          • 2019下综合知识历年真题(3分)
          • 2021下综合知识历年真题(2分)
      • 第二部分 案例分析历年真题
      • 第三部分 论文写作历年真题
          • 2012下论文写作历年真题(75分)
          • 2018下论文写作历年真题(75分)

第一部分 综合知识历年真题

2009下综合知识历年真题(3分)

【2009下架构真题第38题:绿色】
38.基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。以下关于ABSD的叙述中,错误的是(48)。
(48)
A.使用ABSD方法,设计活动可以从项目总体功能框架明确就开始
B.ABSD方法是一个自顶向下,递归细化的过程
C.ABSD方法有三个基础:功能分解、选择架构风格实现质量和商业需求以及软件模板的使用
D.使用ABSD方法,设计活动的开始意味着需求抽取和分析活动可以终止

解答:答案选择D。

  1. 基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,并且设计活动的开始并不意味着需求抽取和分析活动可以终止,而是应该与设计活动并行。
  2. ABSD方法有三个基础:第一个基础是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择体系结构风格来实现质量和商业需求。第三个基础是软件模板的使用。
  3. ABSD方法是一个自顶向下,递归细化的过程,软件系统的架构通过该方法得到细化,直到能产生软件构件的类。

【2009下架构真题第39题:绿色】
39.软件架构文档是对软件架构的正式描述,能够帮助与系统有关的开发人员更好地理解软件架构。软件架构文档的写作应该遵循一定的原则。以下关于软件架构文档写作原则的叙述中,错误的是(49)。
(49)
A.架构文档应该从架构设计者的角度进行编写
B.应该保持架构文档的即时更新,但更新不要过于频繁
C.架构文档中的描述应该尽量避免不必要的重复
D.每次架构文档修改,都应该记录修改的原则

解答:答案选择A。

  1. 软件架构文档是对软件架构的一种描述,帮助程序员使用特定的程序设计语言实现软件架构。
  2. 软件架构文档的写作应该遵循一定的原则,这些原则包括:文档要从使用者 的角度进行编写;必须分发给所有与系统有关的开发人员;应该保持架构文档的即时更新,但更新不要过于频繁;架构文档中描述应该尽量避免不必要的重复;每次架构文档修改都应该记录进行修改的原则。

【2009下架构真题第40题:绿色】
40.架构复审是基于架构开发中一个重要的环节。以下关于架构复审的叙述中,错误的是(50)。
(50)
A.架构复审的目标是标识潜在的风险,及早发现架构设计的缺陷和错误
B.架构复审过程中,通常会对一个可运行的最小化系统进行架构评估和测试
C.架构复审人员由系统设计与开发人员组成
D.架构设计、文档化和复审是一个迭代的过程

解答:答案选择A。

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

【2010下架构真题第39题:绿色】
39.基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用( )来描述软件架构. 采用()来描述需求。
A.类图和序列图
B.视角与视图
C.构件和类图
D.构件与功能

A.用例与类图
B.用例与视角
C.用例与质量场景
D.视角与质量场景
解答:答案选择B|C。

  1. 根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。
  2. 它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。
2011下综合知识历年真题(1分)

【2011下架构真题第36题:绿色】
36.基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、( )和软件模板的使用。
A.对需求进行优先级排列
B.根据需求自行设计系统的总体架构
C.选择架构风格实现质量及商业需求
D.开发系统原型用于测试

解答:答案选择C。
ABSD以架构风格和质量属性为中心,强调由商业、质量和功能需求的组合驱动软件架构设计。ABSD方法有三个基础:功能分解、选择架构风格实现质量及商业需求和软件模板的使用。

2011下综合知识历年真题(2分)

【2012下架构真题第29题:绿色】
29.采用以架构为核心的软件开发方法,在建立软件架构的初期,首要任务是选择一个合适的( ),在此基础上,开发人员通过架构模型,可以获得关于( )的理解,为将来的架构实现与演化过程建立了目标。
A.分析模式
B.设计模式
C.架构风格
D.架构标准

A.架构需求
B.架构属性
C.架构优先级
D.架构约束

解答:答案选择C|B。

  1. 在该方法中,架构用来激发和调整设计策略,不同的视图用来表达与质量目标有关的信息。
  2. 架构设计是一个迭代过程,在建立软件架构的初期,选择一个合适的架构风格是首要的,在此基础上,开发人员通过架构模型,可以获得关于软件架构属性的理解,为将来的架构实现与演化过程建立了目标。
2013下综合知识历年真题(5分)

【2013下架构真题第33题:黄色】
33.某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用( )实现质量属性与商业需求、采用软件模板设计软件结构。ABSD方法主要包括架构需求等6个主要活动,其中( )活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;( )活动针对用户的需求变化,修改应用架构,满足新的需求。
小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王( )的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和( )。
A.架构风格
B.设计模式
C.架构策略
D.架构描述

A.架构设计
B.架构实现
C.架构复审
D.架构演化

A.从使用者的角度书写文档
B.随时保证文档都是最新的
C.将文档分发给相关人员
D.针对不同背景的人员书写文档的方式不同

A.架构需求说明书
B.架构实现说明书
C.架构质量说明书
D.架构评审说明书

解答:答案选择A|C|D|B|C。二周目第一空错。

  1. 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法有三个基础,分别是对系统进行功能分解、采用架构风格实现质量属性与商业需求、采用软件模板设计软件结构。
  2. ABSD方法主要包括架构需求等6个主要活动,其中架构复审活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;架构演化活动针对用户的需求变化,修改应用架构,满足新的需求。
  3. 软件架构文档应该从使用者的角度进行书写,针对不同背景的人员采用不同的书写方式,并将文档分发给相关人员。
  4. 架构文档要保持较新,但不要随时保证文档最新,要保持文档的稳定性。
  5. 架构文档化的主要输出结果是架构规格说明书和架构质量说明书。
2014下综合知识历年真题(1分)

【2014下架构真题第35题:绿色】
35.在对一个软件系统的架构进行设计与确认之后,需要进行架构复审。架构复审的目的是为了标识潜在的风险,及早发现架构设计中的缺陷和错误。在架构复审过程中,主要由( )决定架构是否满足需求、质量需求是否在设计中得到体现。
A.系统分析师与架构师
B.用户代表与领域专家
C.系统拥有者与项目经理
D.系统开发与测试人员

解答:答案选择B。

  1. 在对一个软件系统的架构进行设计与确认之后,需要进行架构复审。
  2. 架构复审的目的是为了标识潜在的风险,及早发现架构设计中的缺陷和错误。
  3. 在架构复审过程中,主要由用户代表与领域专家决定架构是否满足需求、质量需求是否在设计中得到体现。
2015下综合知识历年真题(2分)

【2015下架构真题第32题:绿色】
32.基于架构的软件开发(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用( )描述软件架构,用( )来描述需求。
A.类图和序列图
B.视角与视图
C.构建和类图
D.构建与功能

A.用例与类图
B.用例与视角
C.用例与质量场景
D.视角与质量场景

解答:答案选择B|C。

  1. 根据定义,基于软件架构的开发(Architecture BasedS oftwareD evelopment,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。
2016下综合知识历年真题(0分)
2017下综合知识历年真题(4分)

【2017下架构真题第32题:绿色】
32.在基于体系结构的软件设计方法中,采用( )来描述软件架构,采用( )但来描述功能需求,采用( )来描述质量需求。
A.类图和序列图
B.视角与视图
C.构件和类图
D.构件与功能

A.类图
B.视角
C.用例
D.质量场景

A.连接件
B.用例
C.质量场景
D.质量属性

解答:答案选择B|C|C。黄色变绿色。
根据基于软件架构的设计的定义,基于软件架构的设计(Architecture Based Software Development,ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。进一步来说,用例描述的是功能需求,质量属性场景描述的是质量需求(或侧重于非功能需求)

【2017下架构真题第33题:绿色】
33.体系结构文档化有助于辅助系统分析人员和程序员去实现体系结构。体系结构文档化过程的主要输出包括( )。
A.体系结构规格说明、测试体系结构需求的质量设计说明书
B.质量属性说明书、体系结构描述
C.体系结构规格说明、软件功能需求说明
D.多视图体系结构模型、体系结构验证说明

解答:答案选择A。红色变绿色。
要让系统分析员和程序员去实现体系结构,还必须得把体系结构进行文档化。文档是在系统演化的每一个阶段,系统设计与开发人员的通信媒介,是为验证体系结构设计和提炼或修改这些设计所执行预先分析的基础。 体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书。

2018下综合知识历年真题(0分)
2019下综合知识历年真题(3分)

【2019下架构真题第30题:绿色】
30.ABSDM(Architecture-Based Software Design Model)把整个基于体系结构的软件过程划分为体系结构需求、体系结构设计、体系结构文档化、( )、( )和体系结构演化等 6个子过程。其中,( )过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书。
A.体系结构复审
B.体系结构测试
C.体系结构变更
D.体系结构管理

A.体系结构实现
B.体系结构测试
C.体系结构建模
D.体系结构文档化

A.体系结构设计
B.体系结构需求
C.体系结构文档化
D.体系结构测试

解答:答案选择A|A|C。

  1. 本题考查的是基于体系结构的开发模型ABSDM相关知识。
  2. ABSDM模型把整个基于体系结构的软件过程划分为:体系结构需求、设计、文档化、复审、实现和演化等6个过程。因此第一空选择A选项体系结构复审,第二空选择A选项体系结构实现。
  3. 体系结构需求:需求过程主要是获取用户需求,标识系统中所要用到的构件。
  4. 体系结构设计:体系结构设计是一个迭代过程,如果要开发的系统能够从已有的系统中导出大部分,则可以使用已有系统的设计过程。
  5. 体系结构文档化:绝大多数的体系结构都是抽象的,由一些概念上的构件组成,因此要去实现体系结构,还必须得把体系结构文档化。体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这2个文档。本题第三空选择C选项。
  6. 体系结构复审:体系结构设计、文档化和复审是一个迭代过程。复审的目的是表示潜在的风险,及早发现体系结构设计中的缺陷和错误,包括体系结构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件划分是否合理、文档表达是否明确、构件设计是否满足功能与性能的要求等。
  7. 体系结构实现:所谓“实现”就是要用实体显示出一个软件体系结构,即要符合体系结构描述的结构性设计决策,分割成规定的构件,按规定的方式互相交互。整个实现过程是以复审后的文档化的体系结构说明书为基础的,每个构件必须满足软件体系结构中说明的对其他构件的责任。最后一步是测试,包括单个构件的功能性测试和被组装应用的整体功能和性能测试。
  8. 体系结构演化:在构件开发过程中,用户的需求可能还有变动。在软件开发完毕,正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件体系结构,以适应新的变化了的软件需求。体系结构演化是使用系统演化步骤去修改应用,以满足新的需求。
2021下综合知识历年真题(2分)

【2021下架构真题第31题:绿色】
31.基于架构的软件设计(Archiecture-Based Software Design,ABSD)方法是架构驱动的方法,该方法是一个(44)的方法,软件系统的架构通过该方法得到细化,直到能产生(45)。
A.自顶向下
B.自底向上
C.原型
D.自顶向下和自底向上结合

A.软件质量属性
B.软件连接性
C.软件构件或模块
D.软件接口

解答:答案选择A|C。
ABSD方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。

第二部分 案例分析历年真题

第三部分 论文写作历年真题

2012下论文写作历年真题(75分)

论基于架构的软件设计方法及应用
基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。
请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。
2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动?
3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。

• 采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段

  1. 架构需求阶段
    需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审
    标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。
    架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。
  2. 架构设计阶段
    是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。
  3. 架构文档化
    架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。
  4. 架构复审
    在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等。从而标识潜在的风险,及早发现架构设计中的缺陷和错误
  5. 架构实现
    架构实现主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。
  6. 架构演化阶段
    架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题。主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试和技术评审

• 在软件开发的过程中可能遇到的问题包括:
• 在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;
• 在架构复审过程中如何解决评审人员的意见不一致问题;
• 在架构实现过程中如何根据项目组实际情况选择开发语言与开发平台;在架构演化过程中如何筛选并处理用户的需求变更,等等。

2018下论文写作历年真题(75分)

论软件体系结构的演化
软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后,由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。
请围绕“论软件体系结构的演化”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.软件体系结构的演化是使用系统演化步骤去修改系统,以满足新的需求。简要论述系统演化的6个步骤。
3.具体阐述你参与管理和开发的项目是如何基于系统演化的6个步骤完成软件体系结构演化的。

• 软件体系结构演化实际上指的是ABSD方法(基于架构的软件设计方法)中的最后一个阶段。体系结构演化是使用系统演化步骤去修改应用,以满足新的需求。主要包括以下六个步骤。

  1. 需求变动归类
    首先必须对用户需求的变化进行归类,使变化的需求与已有构件对应。
    对找不到的构件的变动,也要做好标记,在后续工作中,将创建新的构件,以对应这部分变化的需求。
  2. 制定体系结构演化计划
    在改变原有结构之前,开发组织必须制订一个周密的体系结构演化计划,作为后续演化开发工作的指南。
  3. 修改增加或删除构件
    在演化计划的基础上,开发人员可根据在第1步得到的需求变动的归类情况,决定是否修改或删除存在的构件、增加新构件。最后,对修改和增加的构件进行功能性测试。
  4. 更新构件的相互作用
    随着构件的增加、删除和修改,构件之间的控制流必须得到更新
  5. 构件组装与测试
    通过组装支持工具把这些构件的实现体组装起来,完成整个软件系统的连接与合成,形成新的体系结构。然后对组装后的系统整体功能和性能进行测试。
  6. 技术评审
    对以上步骤进行确认,进行技术评审。评审组装后的体系结构式否反映需求变动,符合用户需求。如果不符合,则需要在第2到第6步之间进行迭代。

你可能感兴趣的:(#,系统架构设计师---复盘系列,软考架构师,系统架构)