软考高级《系统架构设计师》-- 刷题-03

2,273 阅读7分钟

前言

今天是 2022年9月4,距离软考高级《系统架构设计师》还有两个月整。

继续把这周刷过的题总结一下。

这次是关于架构描述相关的内容。

题目1 架构描述语言

image.png

本题选C 但是在各个课本均未找到相关解释。。。。

ADL 即架构描述语言,其基本构成要素包括:组件、组件接口、连接件、架构配置。

组件(构件)是一个计算单元或数据存储。也就是说,组件是计算与状态存在的场所。在架构中,一个构件可能小到只有一个过程或大到整个应用程序。

连接件是用来建立组件间的交互以及支配这些交互规则的架构构造模块。

架构配置或拓朴是描述架构的组件与连接件的连接图。

题目2 图 相关

image.png

44 选B,最重要的一个知识点就是4+1视图模型。

45 选 C 用例图,他可以用来描述需求的。在《系统架构设计师考试全程指导》中,对架构设计中常用的图形,及其对应的作用,进行了详细的解释和描述。建议大家多理解几遍。

46 选 C 希赛版教材中,143页提到了质量场景相关内容:质量场景使质量需求具体化。

UML2.0中的14种图

4种图,分别列举如下。

(1)类图(class diagram)。描述- -组类、接口、协作和它们之间的关系。在面向对象系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。

(2)对象图(object diagram)。描述- -组对 象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图--样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。

(3)构件图( component diagram)。 描述一- 个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。

(4)组合结构图(composite structure diagram)。描述结构化类( 例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的构件配置。组合结构图用于画出结构化类的内部内容。

(5)用例图(use case diagram)。描述一组用例、 参与者(- -种特殊的类)及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。

(6)顺序图( sequence diagram,序列图)。是一种交互图(interaction diagram),展现了一种交互,它由- -组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。

(7)通信图(communication diagram)。也是一种交互图, 它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图所强调的概念不同, 顺序图强调的是时序,通信图则强调消息流经的数据结构。

(8)定时图(timing diagram, 计时图)。 也是一种交互图,它强调消息跨越不同对象或角色的实际时间,而不仅仅只是关心消息的相对顺序。

(9)状态图(state diagram)。描述-一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。

(10)活动图(activitydiagram)。将进程或其他计算的结构展示为计算内部--步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模特别重要,并强调对象间的控制流程。

(11)部署图(deployment diagram)。描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常-一个节点包含一个或多个部署图。

(12)制品图(artifact diagram)。描述计算机中-一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。

(13)包图(packagediagram)。描述由模型本身分解而成的组织单元,以及它们的依赖关系。

(14)交互概览图(interaction overview diagram)。是活动图和顺序图的混合物。

题目3 系统可修改性

image.png

可修改性(Modification)

可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。

可变性(Changeability)

可变性是指体系结构经扩充或变更成为新体系结构的能力。

试题分析

可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变

更为基准,通过考察这些变更的代价衡量可修改性。可修改性包含四个方面。

(1)可维护性(maintainability)。这主要体现在问题的修复上:在错误发生后“修复”软件系统。为可维 护性做好准备的软件体系结构往往能做局部性的修改并能使对其他构件的负面影响最小化。

(2)可扩展性(extendibility)。这一点关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。

(3)结构重组(reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。

(4)可移植性(portability)。可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件无关的方式组织软件系统,其他软件系统和环境被提取出。可移植性是系统能够在不同计算环境下运行的能力。这些环境可能是硬件、软件,也可能是两者的结合。在关于某个特定计算环境的所有假设都集中在一个构件中时,系统是可移植的。 如果移植到新的系统需要做些更改,则可移植性就是一种特殊的可修改性。

题目4 质量属性

image.png

如何保证每个质量属性,是高频考点之一。

常见的质量属性和对应方法:

安全性:限制访问、审计追踪

可修改性:运行时注册、接口实现分离、抽象、信息隐藏

可靠性:主动冗余

性能:队列调度、资源调度,并发

可测试性:记录-回放

可用性:主动冗余、心跳、被动冗余、选举、Ping/Echo