【软考系统架构设计师】复盘架构设计师真题知识点第六章---架构基础概念

【软考系统架构设计师】复盘架构设计师真题知识点第六章—架构基础概念

复盘架构设计师真题知识点第六章---架构基础概念

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

前言部分 历年真题考点分析

  • 本版块主要的知识点是架构相关的基础概念,具体包括有:4+1视图,架构的概念,架构的作用,架构描述语言,架构建模

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

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

【2009下架构真题第35题:绿色】
35.软件架构贯穿于软件的整个生命周期,但在不同阶段对软件架构的关注力度并不相同,在(45)阶段,对软件架构的关注最多。
(45)
A.需求分析与设计
B.设计与实现
C.实现与测试
D.部署与变更

解答:答案选择B。本题主要考査软件架构对软件开发的影响和在生命周期中的关注力度。

  1. 软件架构贯穿于软件的整个生命周期,但在不同的阶段对软件架构的关注力度并不相同。
  2. 其中需求分析阶段主要关注问题域;设计阶段主要将需求转换为软件架构模型;
  3. 软件实现阶段主要关注将架构设计转换为实际的代码;软件部署阶段主要通过组装软件组件提高系统的实现效率。
  4. 其中设计与实现阶段在软件架构上的工作最多,也最重要,因此关注力度最大。

【2009下架构真题第36题:绿色】
36.软件架构设计是降低成本、改进质量、按时和按需交付产品的关键活动。以下关于软件架构重要性的叙述中,错误的是(46).
(46)
A.架构设计能够满足系统的性能、可维护性等品质
B.良好的架构设计能够更好地捕获并了解用户需求
C.架构设计能够使得不同的利益相关人(stakeholders)达成一致的目标
D.架构设计能够支持项目计划和项目管理等活动

解答:答案选择B。送分题。

  1. 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。
  2. 架构设计能够满足系统的性能、可维护性等品质;能够使得不同的利益相关人(stakeholders) 达成一致的目标;
  3. 能够支持项目计划和项目管理等活动;能够有效地管理复杂性;等等。
  4. 然而系统架构的给出必须建立在需求明确的基础上

【2009下架构真题第37题:绿色】
37.软件架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。以下活动中,不属于软件架构需求过程范畴的是(47)。
(47)
A.设计构件
B.需求获取
C.标识构件
D.架构需求评审

解答:答案选择A。送分题。

  1. 软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。
  2. 需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。
  3. 其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。
  4. 软件架构需求并不应该包括设计构件的过程。
2010下综合知识历年真题(2分)

【2010下架构真题第37题:绿色】
37.软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是( )。
A.根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程
B.软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等
C.软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动
D.软件架构能够指导设计人员和实现人员的工作

解答:答案选择A。

  1. 软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等
  2. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。
  3. 一般在设计软件架构之初,会根据用户需求,确定多个候选架构,从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。

【2010下架构真题第38题:绿色】
38.软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。以下关于软件架构设计活动的描述,错误的是( )。
A.在建立软件架构的初期,一般需要选择一个合适的架构风格
B.将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系
C.软件架构设计活动将已标识构件集成到软件架构中,设计并实现这些构件
D.一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审

解答:答案选择C。

  1. 软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程
  2. 在建立软件架构的初期,一般需要选择一个合适的架构风格,将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系,一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审。
  3. 一般来说,软件架构设计活动将已标识构件集成到软件架构中,设计这些构件,但不予以实现。
2011下综合知识历年真题(4分)

【2011下架构真题第34题:绿色】
34.( ) 描述了一类软件架构的特征,它独立于实际问题,强调软件系统中通用的组织结构选择。垃圾回收机制是Java语言管理内存资源时常用的一种( )。
A.架构风格
B.开发方法
C.设计模式
D.分析模式

解答:答案选择A|C。第二空应该是惯用语法。

  1. 架构风格描述了一类软件架构的特征,它独立于实际问题,强调软件系统中通用的组织结构选择。
  2. 垃圾回收机制是Java语言管理内存资源时常用的一种设计模式。

【2011下架构真题第35题:绿色】
35.1995年Kruchten提出了著名的“4+1”视图,用来描述软件系统的架构。在“4+1” 视图中,( )用来描述设计的对象模型和对象之间的关系;( )描述了软件模块的组织与管理;( )描述设计的并发和同步特征。
A.逻辑视图
B.用例视图
C.过程视图
D.开发视图

解答:答案选择A|D|C。
“4+1”视图中的“4”,指的是:逻辑视图、开发视图、进程视图、物理视图,“1”指的是场景视图。
场景视图又称为用例视图,显示外部参与者观察到的系统功能。逻辑视图从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能。开发视图又称为实现视图,显示的是源代码以及实际执行代码的组织结构。处理视图又称为进程视图,显示程序执行时并发的状态。物理视图展示软件到硬件的映射。

2012下综合知识历年真题(4分)

【2012下架构真题第27题:绿色】
27.架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。ADL主要包括以下组成部分:组件、组件接口、( )和架构配置。
A.架构风格
B.架构实现
C.连接件
D.组件实现

解答:答案选择C。

  1. 架构描述语言(Architecture Description Language, ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。
  2. ADL主要包括以下组成部分:组件、组件接口、连接件和架构配置。ADL 对连接件的重视成为区分ADL和其他建模语言的重要特征之一。

【2012下架构真题第28题:黄色】
28.ANSI/IEEE 1471-2000是对软件密集型系统的架构进行描述的标准。在该标准中, ( )这一概念主要用于描述软件架构模型。在此基础上,通常采用( )描述某个利益相关人(Stakeholder)所关注架构模型的某一方面。( )则是对所有利益相关人关注点的响应和回答。
A.上下文
B.架构风格
C.组件
D.视图

A.环境
B.资源
C.视角
D.场景

A.架构
B.系统
C.模型
D.使命

解答:答案选择D|C|A。二周目第二空错。红色变黄色。

  1. 在ANSI/IEEE 1471-2000标准中,系统是为了达成利益相关人(Stakeholder)的某些使命(Mission),在特定环境 (Enviroment)中构建的。每一个系统都有一个架构(Architecture)。
  2. 架构是对所有利益相关人的关注点(Concern)的响应和回答,通过架构描述(Architecture Description)来说明。每一个利益相关人都有各自的关注点。这些关注点是指对其重要的,与系统的开发、运营或其他方面相关的利益。
  3. 架构描述(Architecture Description)本质上是多视图的。每一个视图(View)是从一个特定的视角(Viewpoint)来表述架构的某一个独立的方面。试图用一个单一的视图来覆盖所有的关注点当然是最好的,但实际上这种表述方式将很难理解。
  4. 视角(Viewpoint)的选择,基于要解决哪些利益相关人的哪些关注点。它决定了用来创建视图的语言、符号和模型等,以及任何与创建视图相关的建模方法或者分析技术。
  5. 一个视图(View)包括一个或者多个架构模型(Model),一个模型也可能参与多个视图。
    模型较文本的表述的好处在于,可以更容易的可视化、检查、分析、管理和集成。
2013下综合知识历年真题(4分)

【2013下架构真题第28题:绿色】
28.软件系统架构是关于软件系统的结构、( )和属性的高级抽象。在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的( )。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织和( )结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。
A.行为
B.组织
C.性能
D.功能

A.交互关系
B.实现关系
C.数据依赖
D.功能依赖

A.进程
B.拓扑
C.处理
D.数据

解答:答案选择A|A|B。黄色变绿色。

  1. 软件系统架构是关于软件系统的结构、行为和属性的高级抽象。
  2. 在描述阶段,主要描述直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件的交互关系。
  3. 在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。
  4. 软件系统架构不仅指定了软件系统的组织和拓扑结构,而且显示了系统需求和组件之间的对应关系,包括设计决策的基本方法和基本原理。

【2013下架构真题第30题:绿色】
30.以下叙述,( )不是软件架构的主要作用。
A.在设计变更相对容易的阶段,考虑系统结构的可选方案
B.便于技术人员与非技术人员就软件设计进行交互
C.展现软件的结构、属性与内部交互关系
D.表达系统是否满足用户的功能性需求

解答:答案选择D。

  1. 软件架构能够在设计变更相对容易的阶段,考虑系统结构的可选方案,便于技术人员与非技术人员就软件设计进行交互,能够展现软件的结构、属性与内部交互关系。
  2. 但是软件架构与用户对系统的功能性需求没有直接的对应关系。
2014下综合知识历年真题(4分)

【2014下架构真题第28题:绿色】
28.以下关于软件架构设计重要性的描述,( )是错误的。
A.软件架构设计能够满足系统的性能、安全性、可维护性等品质
B.软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构
C.软件架构设计能够帮助架构师更好地捕获和细化系统需求
D.软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用

解答:答案选择C。

  1. 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。
  2. 软件架构设计能够满足系统的性能、安全性、可维护性等品质;
  3. 软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构
  4. 软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用;
  5. 软件架构设计对系统开发具有指导性:软件架构设计为系统复用奠定的基础;
  6. 软件架构设计能够支持冲突分析。需要注意的是,软件架构设计与系统需求是直交的,两者并无必然联系。

【2014下架构真题第29题:绿色】
29.将系统需求模型转换为架构模型是软件系统需求分析阶段的一项重要工作,以下描述中,( )是在转换过程中需要关注的问题。
A.如何通过多视图模型描述软件系统的架构
B.如何确定架构模型中有哪些元素构成
C.如何采用表格或用例映射保证转换的可追踪性
D.如何通过模型转换技术,将高层架构模型逐步细化为细粒度架构模型

解答:答案选择C。

  1. 从本质上看,需求和软件架构设计面临的是不同的对象:一个是问题空间;另一个是解空间。
  2. 保持两者的可追踪性和转换,一直是软件工程领域追求的目标。从软件需求模型向SA模型的转换主要关注两个问题:
  3. ①如何根据需求模型构建软件架构模型;②如何保证模型转换的可追踪性。
  4. 本题答案中A选项和B选项是软件架构设计阶段需要考虑的问题,D选项是软件架构实现阶段中需要考虑的问题。

【2014下架构真题第31题:绿色】
31.”4+1”视图主要用于描述系统逻辑架构,最早由Philippe Kruchten于1995年提出。其中( )视图用于描述对象模型,并说明系统应该为用户提供哪些服务。当采用面向对象的设计方法描述对象模型时,通常使用( )表达类的内部属性和行为,以及类集合之间的交互关系;采用( )定义对象的内部行为。
A.逻辑
B.过程
C.开发
D.物理

A.对象图
B.活动图
C.状态图
D.类图

解答:答案选择A|D|C。黄色变绿色。

  1. “4+1”视图是对逻辑架构进行描述,最早由Philippe Kruchten提出,他在1995年的IEEE Software上发表了题为The 4+1 View Model of Architecture 的论文,引起了业界的极大关注,并最终被RUP采纳,现在已经成为架构设计的结构标准。
  2. “4+1”视图主要包括: ①逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。 ②过程视图(Pmcess View),捕捉设计的并发和同步特征。 ③物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。 ④开发视图(Development View),描述了在开发环境中软件的静态组织结构。 ⑤架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(Use Cases)或场景(Scenarios)来说明,从而形成了第五个视图。
  3. 当采用面向对象的设计方法描述对象模型时,通常使用类图表达类的内部属性和行为,以及类集合之间的交互关系;采用状态图定义对象的内部行为。
2015下综合知识历年真题(4分)

【2015下架构真题第30题:绿色】
30.软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计需满足系统的( ),如性能、安全性和可修改性等,并能够指导设计人员和实现人员的工作。
A.功能需求
B.性能需求
C.质量属性
D.业务属性

解答:答案选择C。

  1. 软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等,软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。
  2. 一般在设计软件架构之初,会根据用户需求,确定多个候选架构,并从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。

【2015下架构真题第31题:绿色】
31.架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。ADL主要包括以下组成部分:组件、组件接口、( )和架构配置。
A.架构风格
B.架构实现
C.连接件
D.组件约束

解答:答案选择C。

  1. 架构描述语言(Architecture Description Language,ADL)是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。
  2. ADL主要包括以下组成部分:组件、组件接口、连接件和架构配置。ADL对连接件的重视成为区分ADL和其他建模语言的重要特征之一。

【2015下架构真题第38题:绿色】
38.软件架构设计包括提出架构模型,产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和( ),并通过多种( )全面描述特定系统的架构。
A.实现方式
B.交互作用
C.设计方案
D.测试方式

A.对象
B.代码
C.文档
D.视图

解答:答案选择B|D。

  1. 软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。
  2. 架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
2016下综合知识历年真题(0分)
2017下综合知识历年真题(0分)
2018下综合知识历年真题(1分)

【2018下架构真题第31题:绿色】
31.体系结构模型的多视图表示是从不同的视角描述特定系统的体系结构。著名的4+1模型支持从( )描述系统体系结构。
A.逻辑视图、开发视图、物理视图、进程视图、统一的场景
B.逻辑视图、开发视图、物理视图、模块视图、统一的场景
C.逻辑视图、开发视图、构件视图、进程视图、统一的场景
D.领域视图、开发视图、构件视图、进程视图、统一的场景

解答:答案选择A。

  • 4+1视图即:逻辑视图、开发视图、物理视图(部署视图)、进程视图、场景。
2019下综合知识历年真题(2分)

【2019下架构真题第27题:绿色】
27.一个完整的软件系统需从不同视角进行描述,类图属于软件架构设计中的( )用于( )视图来描述软件系统 。
A.对象图
B.时序图
C.构件图
D.类图

A.进程
B.开发
C.物理
D.用户

解答:答案选择D|B。送分题。

  1. 本题第一空选择D选项。图示展示的是类图的结构。
    注意区分类图和对象图。对象图标记的是对象名,命名形式 对象名:类名,或者 :类名。这里没有出现冒号,表示的是类图。
  2. 对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
  3. 类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
  4. 本题第二空选择B选项。
  5. “4+1”视图模型从五个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,五个视图结合在一起才能反映软件架构的全部内容。
    (1)逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,在设计中要注意保持一个单一的、内聚的对象模型贯穿整个系统。
    (2)开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,例如,软件开发的容易性、软件复用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统I/O关系的模型图和子系统图来描述。其中类图属于开发视图。
    (3)进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
    (4)物理视图。物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小化。
2021下综合知识历年真题(2分)

【2021下架构真题第32题:绿色】
32.4+1视图模型可以从多个视图或视角来描述软件架构。其中,( )用于捕捉设计的并发和同步特征;( )描述了在开发环境中软件的静态组织结构。
A.逻辑视图
B.开发视图
C.过程视图
D.物理视图

A.类视图
B.开发视图
C.过程视图
D.用例视图

解答:答案选择C|B。送分题。

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

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

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

2013年下系统架构师试题一(架构建模)

软件架构建模技术与应用
软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起。软件架构用来处理软件高层次结构的设计和实施,它以精心选择的形式将若干结构元素进行装配,从而满足系统的主要功能和性能需求。软件架构设计的首要问题是如何表示软件架构,即如何对软件架构建模。根据建模的侧重点不同,可以将软架构模型分为结构模型、框架模型、动态模型、过程模型和功能模型。Kmchten在1995年提出了“4+1”视图模型,将5种模型有机地统一在一起
请围绕“软件架构建模技术与应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。
2.简要叙述“4+1”视图模型的主要内容。结合你参与项目的实际情况,详细说明该项目需求及所涉及的软件架构(包括使用到的视图模型、创建的架构模型及使用的建模工具等)。
3.说明该项目软件架构的实施效果,分析其是否满足了项目的需求并说明原因。

  1. “4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件结构的全部内容。这5个不同的视角包括逻辑视图、开发视图、进程视图、物理视图和场景视图。
  2. 逻辑视图
    逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。
  3. 实现视图(开发视图)
    开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求。
  4. 进程视图
    进程视图侧重于系统的运行特性,主要关注一些非功能性需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适应进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。
  5. 物理视图
    物理视图在UML中被称为部署视图,主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。
  6. 场景
    场景可以看作是那些重要系统活动的抽象,它使4个视图有机联系起来。场景对应UML中的用例视图。

你可能感兴趣的:(#,系统架构设计师---复盘系列,算法,单元测试)