架构师考点大纲11 一些真题记录

一些真题记录

2020年真题

软件活动主要包括软件描述,( 软件分析 ),软件有效性验证和( 软件维护或进化 )。( 软件描述 )定义了软件功能及使用限制。

软件设计包括4个既独立又相互联系的活动,( 数据设计)、 软件结构设计(注:高项中称“体系结构设计”)、人机界面设计(注:高项中称“接口设计”)和(过程设计 )

高质量的(数据架构设计)将改善程序结构和模块划分,降低过程复杂性;(软件结构设计)的主要目标是开发一个模块化的程序结构,并表示出模块间的控制关系;(人机界面设计)描述了软件与用户之间的交互关系。
通过信息隐蔽可以提高软件的可修改性、可测试性和可移植性,它也是现代软件设计的一个关键性原则。

中间件基本功能包括,为客户机和服务器提供(连接和通信),提供(交易管理机制)保证交易的一致性,提供应用的(负载均衡和高可用性)

针对二层c/s软件结构的缺点,三层c/s架构应运而生,在三层c/s架构中,增加了一个( 应用服务器)三层c/s架构是将应功能分成表示层,功能层和(数据层 )三个部分,其中(表示层 )是应用的用户接口部分,担负与应用逻辑间的对话功能。

创建型模式支持对象的创建该模式允许在家系统中创建对象,而不需要在代码中标识特定出的类型,这样用户就不需要编写一些列相关或相互依赖的对象在不指定具体类的情况下。(Abstract Factoty )模式为创建一系列相关或相互依赖的对象提供了一个接口,(Builder )模式将复杂对象的构建与其表面相分离,这样相同的构造过程可以创建不同的对象,( Prototype)模式允许对象在不了解要创建对象的确切类以及如何创建细节的情况下创建自定义对象。

2019年

软件概要设计将软件需求转化为软件设计的(数据结构) 和软件的(系统结构) 。

软件结构化设计包括(架构设计、接口设计、数据设计、过程设计 )

模块:
是指执行某一特定任务的数据结构和程序代码。
将模块的接口和功能定义为其外部特性
将模块的局部数据和实现该模块的程序代码称为内部特性。
在模块设计时,最重要的原则就是实现信息隐蔽和模块独立。

基于构件的软件开发中,构件分类方法可以归纳为三大类:
(关键字分类法)根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构;
(刻面分类法)利用Facet描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征;
(超文本方法)使得检索者在阅读文档过程中可以按照人类的联想思维方式任意跳转到包含相关概念或构件的文档。

性能测试包括负载测试、强度测试和容量测试等。
强度测试:是在系统资源特别低的情况下考查软件系统极限运行情况。
负载测试:通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时系统各项性能指标的变化情况。
压力测试:通过确定系统的瓶颈或不能接收的性能点,来获得系统能够提供的最大服务级别的测试。
容量测试:用于测试系统可同时处理的在线最大用户数量

ABSDM(Architecture-Based Software Design Model)把整个基于体系结构的软件过程划分为体系结构需求、体系结构设计、体系结构文档化、( 体系结构复审 )、( 体系结构实现 )和体系结构演化等6个子过程。其中,( 体系结构文档化 )过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书。
注:6个过程:需设文复实演

需求变更管理是需求管理的重要内容。需求变更管理的过程主要包括问题分析和变更描述、( 变更分析和成本计算 )、变更实现。
附:需求管理的活动包括:1变更控制 2、版本控制3、需求跟踪 4、需求状态跟踪

2018年

系统工程利用计算机作为工具,对系统的结构、元素、(1)和反馈等进行分析,以达到最优(2)、最优设计、最优管理和最优控制的目的。霍尔(A.D.Hall)于1969年提出了系统方法的三维结构体系,通常称为“霍尔三维结构”,这是系统工程方法论的基础。霍尔三维结构以时间维、(3)维、知识维组成的立体结构概括性地表示出系统工程的各阶段、各步骤,以及所涉及的知识范围。其中时间维是系统的工作进程,一个具体的工程项目可以分为7个阶段,在(4)阶段会做出研制方案及生产计划。

系统工程是在20世纪中后期发展起来的一门新兴学科,最早产生于20世纪40年代左右的美国。时至今日,系统工程已经成为现代社会高速发展不可或缺的一部分。它的诞生让自然科学和社会科学中有关的思想、理论和方法根据总体协调的需要联系起来,综合应用并利用现代电子计算机,对系统的结构、要素、信息和反馈等进行分析,以达到最优规划、最优设计、最优管理和最优控制等目的。
霍尔三维结构是由逻辑维、时间维和知识维组成的立体空间结构。
(1)逻辑维
运用系统工程方法解决某一大型工程项目时,一般可分为7个步骤。
明确问题。
建立价值体系或评价体系。
系统分析。
系统综合。
系统方案的优化选择。
制定计划有了决策就要付诸实施,实施就要依靠严格且有效的计划。
(2)时间维(工作进程)。
对于一个具体的工作项目,从制定规划起一直到更新为止,全部过程可分为7个阶段。
规划阶段:即调研和程序设计阶段,目的在于谋求活动的规划与战略。
拟订方案:提出具体的计划方案。
研制阶段:制定研制方案及生产计划。
生产阶段:生产出系统的零部件及整个系统,并提出安装计划。
安装阶段:将系统安装完毕,并完成系统的运行计划。
运行阶段:系统按照预期的用途开展服务。
更新阶段:为了提高系统功能,取消旧系统而代之以新系统,或改进原有系统使之更加有效地工作。
(3)知识维(专业科学知识)。
系统工程除了要求为完成上述各步骤及各阶段所需的某些共性知识外,还需要其他学科的知识和各种专业技术,霍尔把这些知识分为工程、医药、建筑、商业、法律、管理、社会科学和艺术等。各类系统工程,如军事系统工程、经济系统工程和信息系统工程等都需要使用其他相应的专业基础知识。

软件开发环境应支持多种集成机制,其中(环境信息库)用于存储与系统开发有关的信息,并支持信息的交流与共享,(过程控制与消息服务器)是实现过程集成和控制集成的基础。

软件开发环境(Software Development Environment,SDE)是指支持软件的工程化开发和维护而使用的一组软件,由软件工具集和环境集成机制构成。
软件开发环境应支持多种集成机制,如平台集成、数据集成、界面集成、控制集成和过程集成等。软件开发环境应支持小组工作方式,并为其提供配置管理。该环境的服务可用于支持各种软件开发活动,包括分析、设计、编程、调试和编写文档等。
较完善的软件开发环境通常具有多种功能,如软件开发的一致性与完整性维护、配置管理及版本控制、数据的多种表示形式及其在不同形式之间的自动转换、信息的自动检索与更新、项目控制和管理,以及对开发方法学的支持。软件开发环境具有集成性、开放性、可裁减性、数据格式一致性,以及风格统一的用户界面等特性,因而能大幅度地提高软件生产率。
集成机制根据功能的不同,可划分为环境信息库、过程控制与消息服务器、环境用户界面3个部分。
(1)环境信息库:软件开发环境的核心,用于存储与系统开发有关的信息,并支持信息的交流与共享。其中主要存储两类信息,一类是开发过程中产生的有关被开发系统的信息,如分析文档、设计文档和测试报告等;另一类是环境提供的支持信息,如文档模板、系统配置、过程模型和可复用构件等。
(2)过程控制与消息服务器:实现过程集成和控制集成的基础,过程集成是按照具体软件开发过程的要求进行工具的选择与组合;控制集成使各工具之间进行并行通信和协同工作。
(3)环境用户界面:包括环境总界面和由它实行统一控制的各环境部件及工具的界面。统一并具有一致性的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性,以及高效地使用工具并减轻用户的学习负担的保证。

软件设计包括体系结构设计、接口设计、数据设计和过程设计。
(1)结构设计:定义软件系统各主要部件之间的关系。
(2)数据设计:将模型转换成数据结构的定义,好的数据设计将改善程序结构和模块划分,降低过程复杂性。
(3)接口设计(人机界面设计):软件内部、软件和操作系统之间,以及软件和人之间如何通信。
(4)过程设计:系统结构部件转换成软件的过程描述。

ATAM分为4个主要的活动领域(或阶段),分别是场景和需求收集、体系结构视图和场景实现、属性模型构造和分析、折中。
SAAM分析评估体系结构的过程包括5个步骤,即场景开发、体系结构描述、单个场景评估、场景交互和总体评估。SAAM的主要输入问题是问题描述、需求声明和体系结构描述。