系统架构设计-真题2021错题集

选择题

嵌入式实时操作系统与一般操作系统相比,具备许多特点。以下不属于嵌入式实时操作系统特点的是( )。
A 可剪裁性
B 实时性
C 通用性
D 可固化性

答案C
嵌入式实时操作系统兼具嵌入式操作系统的特点和实时操作系统的特点。
嵌入式操作系统主要有以下特点: (1)微型化 (2)代码质量高 (3)专业化 (4)实时性强 (5)可裁减、可配置。
实时操作系统的最核心特点是实时性强。
通用性与嵌入式操作系统相背,所以不属于嵌入式实时操作系统的特点。

嵌入式实时操作系统的特性
可剪裁性 (A)
定义:嵌入式实时操作系统可以根据具体应用的需求进行裁剪,去掉不必要的功能模块,以减少系统资源的占用。
例子:在资源受限的嵌入式设备中,可以去掉不需要的文件系统或网络协议栈,只保留必要的内核功能。
实时性 (B)
定义:实时操作系统能够在规定的时间内对外部事件做出响应,保证任务的执行时间是确定的。
例子:在工业控制系统中,传感器数据的采集和处理必须在严格的时间限制内完成,以确保系统的稳定性和安全性。
可固化性 (D)
定义:嵌入式实时操作系统通常可以固化到 ROM 或闪存中,使得系统启动速度快,并且不易被篡改。
嵌入式系统通常需要将操作系统和应用程序固化到非易失性存储器(如闪存)中,以便在系统启动时快速加载和运行。RTOS通常支持这种可固化性,确保系统在启动时能够快速初始化并进入运行状态。
例子:在嵌入式设备中,操作系统可以烧录到闪存中,即使断电后也不会丢失,保证了系统的可靠性和快速启动。
通用性 ©
定义:通用性是指操作系统能够支持多种硬件平台和应用场景,具有广泛的适用性。
解释:这并不是嵌入式实时操作系统的特点。嵌入式实时操作系统通常是针对特定的应用场景和硬件平台设计的,强调的是特定需求的满足,而不是广泛的通用性

[嵌入式系统-14]:常见实时嵌入式操作系统比较:RT-Thread(物联网版本的类Linux)、uC/OS-II和FreeRTOS、Linux

人工智能技术已成为当前国际科技竞争的核心技术之一,AI芯片是占据人工智能市场的法宝。AI芯片有别于通常处理器芯片,它应具备四种关键特征。( )是AI芯片的关键特点。
A 新型的计算范式、信号处理能力、低精度设计、专用开发工具
B 新型的计算范式、训练和推断、大数据处理能力、可重构的能力
C 训练和推断、大数据处理能力、可定制性,专用开发工具
D 训练和推断、低精度设计、新型的计算范式、图像处理能力

答案B
1.新型的计算范式
AI 计算既不脱离传统计算,也具有新的计算特质,如处理的内容往往是非结构化数据(视频、图片等)。处理的过程通常需要很大的计算量,基本的计算主要是线性代数运算(如张量处理),而控制流程则相对简单。处理的过程参数量大。

  1. 训练和推断
    AI 系统通常涉及训练(Training)和推断(Inference)过程。简单来说,训练过程是指在已有数据中学习,获得某些能力的过程;而推断过程则是指对新的数据,使用这些能力完成特定任务(比如分类、识别等)。

  2. 大数据处理能力
    人工智能的发展高度依赖海量的数据。满足高效能机器学习的数据处理要求是AI 芯片需要考虑的最重要因素。

  3. 数据精度
    低精度设计是AI 芯片的一个趋势,在针对推断的芯片中更加明显。对一些应用来说,降低精度的设计不仅加速了机器学习算法的推断(也可能是训练),甚至可能更符合神经形态计算的特征。

  4. 可重构的能力
    针对特定领域(包括具有类似需求的多种应用)而不针对特定应用的设计,将是AI 芯片设计的一个指导原则,具有可重构能力的AI 芯片可以在更多应用中大显身手,并且可以通过重新配置,适应新的AI 算法、架构和任务。

  5. 开发工具
    就像传统的CPU 需要编译工具的支持, AI 芯片也需要软件工具链的支持,才能将不同的机器学习任务和神经网络转换为可以在AI 芯片上高效执行的指令代码,如NVIDIA GPU 通过CUDA 工具获得成功。

AI 芯片的关键特点
新型的计算范式 (New Computing Paradigms)
定义:AI 芯片采用新的计算架构,如矩阵运算、张量处理单元(TPU)等,以优化深度学习和其他 AI 算法的执行效率。
例子:Google 的 TPU 专门设计用于加速 TensorFlow 框架中的矩阵运算,从而大幅提升深度学习任务的性能。

训练和推断 (Training and Inference)
定义:AI 芯片需要支持模型的训练(学习)和推断(预测)两个阶段。训练阶段涉及大量的数据处理和复杂的计算,而推断阶段则要求快速且高效的计算。
例子:在自动驾驶汽车中,AI 芯片需要在训练阶段学习如何识别道路标志和障碍物,而在推断阶段则需要实时处理摄像头和传感器的数据,做出驾驶决策。

大数据处理能力 (Big Data Processing Capabilities)
定义:AI 应用通常需要处理大量的数据,因此 AI 芯片需要具备高效的大数据处理能力。
例子:在数据中心中,AI 芯片可以用于处理大规模的数据集,进行数据分析和机器学习任务。

可重构的能力 (Reconfigurable Capabilities)
定义:AI 芯片应该具有一定的可重构性,以便根据不同的应用场景和需求进行调整和优化。
例子:FPGA(现场可编程门阵列)是一种常见的可重构硬件,可以根据不同的 AI 任务进行配置,提高灵活性和性能。

选项解析
A. 新型的计算范式、信号处理能力、低精度设计、专用开发工具
解释:虽然新型的计算范式和低精度设计是正确的,但信号处理能力和专用开发工具并不是 AI 芯片的核心特点。
B. 新型的计算范式、训练和推断、大数据处理能力、可重构的能力
解释:这四个特点都是 AI 芯片的关键特征,因此这是正确答案。
C. 训练和推断、大数据处理能力、可定制性,专用开发工具
解释:虽然训练和推断、大数据处理能力是正确的,但可定制性和专用开发工具并不是 AI 芯片的核心特点。
D. 训练和推断、低精度设计、新型的计算范式、图像处理能力
解释:虽然训练和推断、低精度设计和新型的计算范式是正确的,但图像处理能力并不是 AI 芯片的核心特点。

Internet网络核心采取的交换方式为( )。
A 分组交换
B 电路交换
C 虚电路交换
D 消息交换

Internet网络的核心交换方式是分组交换。以下是几种交换方式的详细解释,帮助你理解为什么分组交换是Internet的核心交换方式:

  1. 分组交换(Packet Switching)
    定义:分组交换是一种将数据分割成小块(称为分组或包)进行传输的网络交换方式。每个分组独立地在网络中传输,到达目的地后再重新组装。
    特点:
    动态路由:分组可以独立选择路径,网络可以根据当前的流量情况动态调整路径。
    资源共享:网络资源(如带宽)在多个用户之间动态共享,提高了资源利用率。
    可靠性:即使某些路径出现故障,分组也可以通过其他路径绕行,提高了网络的可靠性。
    应用:Internet的核心协议(如IP协议)就是基于分组交换的。数据包在网络中独立传输,到达目的地后再重新组装成完整的数据。
  2. 电路交换(Circuit Switching)
    定义:电路交换是一种在通信开始前建立固定物理路径(电路)的交换方式。通信期间,电路被独占,直到通信结束。
    特点:
    固定资源分配:电路建立后,资源被独占,即使没有数据传输,资源也不会被释放。
    低延迟:适合实时通信(如电话)。
    应用:传统的电话网络(PSTN)采用电路交换。
  3. 虚电路交换(Virtual Circuit Switching)
    定义:虚电路交换是一种逻辑上的电路交换方式。虽然物理路径是动态的,但逻辑上为每个连接分配了一个虚电路标识符(VCID)。
    特点:
    逻辑连接:每个分组携带虚电路标识符,网络根据标识符进行转发。
    资源管理:资源可以动态分配,但逻辑上保持连接。
    应用:X.25、帧中继(Frame Relay)等网络协议采用虚电路交换。
  4. 消息交换(Message Switching)
    定义:消息交换是一种将整个消息作为一个整体进行传输的交换方式。消息在网络中逐跳传输,每个节点存储整个消息后再转发。
    特点:
    存储转发:每个节点需要存储整个消息,可能会导致较大的延迟。
    资源占用:适合消息量较小的场景。
    应用:早期的电报系统采用消息交换。
    为什么Internet采用分组交换?
    灵活性:分组交换允许数据动态选择路径,提高了网络的灵活性和可靠性。
    资源利用率:分组交换允许网络资源在多个用户之间共享,提高了资源利用率。
    可扩展性:分组交换网络可以轻松扩展,支持大量用户和设备。
    适应性:分组交换能够适应不同类型的数据传输需求,如实时视频、文件传输等。

A. 分组交换:这是 Internet 的核心交换方式,具有高灵活性、高资源利用率和高可靠性。
B. 电路交换:适用于传统电话网络,不适用于 Internet。
C. 虚电路交换:适用于某些特定的网络协议(如 X.25、帧中继),不是 Internet 的核心交换方式。
D. 消息交换:适用于早期的电报系统,不适合现代 Internet 的需求。

程序员必知的计算机网络的166个核心概念

SDN(Software Defined Netwok)的网络架构中不包含( )。
A 逻辑层
B 控制层
C 转发层
D 应用层

答案A
SDN架构主要由三部分构成:应用层、控制层和基础设施层

应用层:包含各种网络应用和服务,如网络状态监控、负载均衡、策略管理等。应用层运行在SDN控制器之上,直接通过API与控制层进行交互,从而实现对网络资源的动态管理

控制层核心为SDN控制器,负责维护网络状态信息,并根据应用层的需求和网络策略做出决策。控制器向下通过南向接口(如OpenFlow)与网络设备交互,对数据包进行路由和转发决策。

基础设施层:由物理网络设备组成,例如交换机和路由器。这些设备实现了数据平面功能,负责实际的数据包转发。在网络中,南向接口连接控制层和基础设施层,使得控制层能够对数据平面进行编程和控制。

应用层(Application Layer):这一层包含各种网络应用和服务,如流量工程、负载均衡、安全管理等。应用层通过北向接口与控制层进行通信。
控制层(Control Layer):控制层是SDN的核心部分,负责网络的逻辑控制。它集中管理和配置网络设备,决定数据流的转发路径。控制层通过南向接口与基础设施层进行通信。
基础设施层(Infrastructure Layer):也称为转发层或数据层,由实际执行数据包转发的网络设备组成,如交换机、路由器等。

为什么不需要逻辑层
逻辑层这个术语在 SDN 的架构中并不常见,因为现有的三层架构已经能够很好地覆盖网络的所有主要功能。具体来说:

应用层负责高层次的网络服务和策略。
控制层负责网络的集中管理和控制。
转发层负责数据的实际传输和处理。

这些层次之间的交互和功能划分已经非常清晰和全面,没有必要再引入一个额外的 “逻辑层”。如果需要进一步理解,可以考虑以下几点:
逻辑功能的实现:SDN 的控制层实际上已经承担了很多逻辑功能,如路径计算、策略实施等。
简化架构:保持三层架构的简洁性有助于更好地理解和实现 SDN 网络。
标准化:SDN 的三层架构是业界广泛接受的标准,增加额外的层次可能会导致不必要的复杂性和混乱。

从零开始深入理解软件定义网络的新范式

从信息化建设的角度出发,以下说法错误的是( )。
A 有效开发利用信息资源
B 大力发展信息产业
C 充分建设信息化政策法规和标准规范
D 信息化的主体是程序员和项目经理

答案D
信息化的主体是程序员和项目经理,原因是:信息化的主体是全体社会成员,包括政府、企业、事业、团体和个人。
此外,本题涉及到国家信息化体系的内容,国家信息化体系包括信息技术应用、信息资源、信息网络、信息技术和产业、信息化人才、信息化法规政策和标准规范6个要素。

  1. 信息技术应用。
    信息技术应用是指把信息技术广泛应用于经济和社会各个领域。信息技术应用是信息化体系六要素中的龙头,是国家信息化建设的主阵地。
  2. 信息资源。
    信息资源、材料资源和能源共同构成了国民经济和社会发展的三大战略资源。信息资源的开发利用是国家信息化的核心任务,是国家信息化建设取得实效的关键,也是我国信息化的薄弱环节。
  3. 信息网络。
    信息网络是信息资源开发利用和信息技术应用的基础,是信息传输、交换和共享的必要手段。目前,人们通常将信息网络分为电信网、广播电视网和计算机网。三种网络的发展方向是:互相融通,取长补短,逐步实现三网融合。
  4. 信息技术和产业。
    信息技术和产业是我国进行信息化建设的基础。
  5. 信息化人才。
    信息化人才是国家信息化成功之本,对其他各要素的发展速度和质量有着决定性的影响,是信息化建设的关键。
  6. 信息化政策法规和标准规范。
    信息化政策法规和标准规范用于规范和协调信息化体系各要素之间关系,是国家信息化快速、持续、有序、健康发展的根本保障。

在这里插入图片描述
信息化需求包含3个层次,即战略需求、运作需求和技术需求。
战略需求。组织信息化的目标是提升组织的竞争能力、为组织的可持续发展提供一个支持环境。从某种意义上来说,信息化对组织不仅仅是服务的手段和实现现有战略的辅助工具;信息化可以把组织战略提升到一个新的水平,为组织带来新的发展契机。特别是对于企业,信息化战略是企业竞争的基础。
运作需求。组织信息化的运作需求是组织信息化需求非常重要且关键的一环,它包含三方面的内容:一是实现信息化战略目标的需要;二是运作策略的需要。三是人才培养的需要。
技术需求。由于系统开发时间过长等问题在信息技术层面上对系统的完善、升级、集成和整合提出了需求。也有的组织,原来基本上没有大型的信息系统项目,有的也只是一些单机应用,这样的组织的信息化需求,一般是从头开发新的系统。

软考高级之系统架构师系列之企业信息化

( )包括编制每个需求与系统元素之间的联系文档,这些元素包括其它需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等。
A 需求描述
B 需求分析
C 需求获取
D 需求跟踪

答案D

需求描述(A):
定义:需求描述是指详细记录用户的需求,包括功能需求、非功能需求等。
特征:主要关注于需求的具体内容和细节,而不是需求与其他系统元素之间的关系。
需求分析(B):
定义:需求分析是对用户需求进行深入研究和理解的过程,以确保需求的完整性和一致性。
特征:主要关注于理解和验证需求,而不是需求与其他系统元素之间的联系。
需求获取(C):
定义:需求获取是从用户和其他利益相关者那里收集需求信息的过程。
特征:主要关注于收集需求,而不是需求与其他系统元素之间的联系。
需求跟踪(D):
定义:需求跟踪是建立和维护需求与其他系统元素之间联系的过程。这包括需求与其他需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等之间的关系。
特征:主要关注于需求在整个开发过程中的可追溯性,确保需求的一致性和完整性。

需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他需求、体系结构、其他设计部件、源代码模块、测试、帮助文件和文档等,是要在整个项目的工件之间形成水平可追踪性。跟踪能力信息使变更影响分析十分便利,有利于确认和评估实现某个建议的需求变更所必须的工作。

需求跟踪提供了由需求到产品实现整个过程范围的明确查阅的能力。需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。

需求跟踪有两种方式

(1)正向跟踪。检查《产品需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。

(2)逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。

正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。

跟踪能力是优秀需求规格说明书的一个特征,为了实现可跟踪能力,必须统一地标识出每一个需求,以便能明确地进行查阅。

需求跟踪是个要求手工操作且劳动强度很大的任务,要求组织提供支持。随着系统开发的进行和维护的执行,要保持关联信息与实际一致。跟踪能力信息一旦过时,可能再也不会重建它。在实际项目中,往往采用专门的配置管理工具来实现需求跟踪。


需求跟踪(Requirement Traceability)是软件开发过程中一个重要的环节,它确保每个需求都能被正确地实现,并且能够追溯到系统的各个部分。需求跟踪的主要任务包括:
编制需求与系统元素之间的联系文档
**需求跟踪需要记录每个需求与系统中的其他元素之间的关系。**这些元素包括其他需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等。
通过这种联系文档,可以确保每个需求都被正确地实现,并且在开发过程中能够追溯到相关的实现细节。
确保需求的完整性和一致性:
需求跟踪帮助确保每个需求都被正确地实现,并且在整个开发过程中保持一致。它可以帮助开发团队发现需求变更对系统的影响,并及时调整。
支持变更管理:
当需求发生变化时,需求跟踪可以帮助团队快速定位受影响的系统元素,并评估变更的影响范围。这有助于更好地管理需求变更,减少变更带来的风险。
提高项目的可维护性:
通过需求跟踪,开发团队可以更好地理解需求与实现之间的关系,从而在项目维护阶段能够更高效地进行问题定位和修复。
其他选项的解释:
A 需求描述:
需求描述是指对需求的详细说明,包括需求的背景、功能描述、性能要求等。它主要关注需求本身的定义,而不是需求与其他系统元素之间的关系。
B 需求分析:
需求分析是指对需求进行详细分析,以确定需求的可行性、完整性和一致性。它包括需求的收集、分析、建模和验证等步骤,但不涉及需求与系统元素之间的详细联系。
C 需求获取:
需求获取是指从用户、客户或其他利益相关者那里收集需求的过程。它主要关注需求的来源和收集方法,而不是需求与系统元素之间的关系。
总结
A 需求描述:关注需求本身的定义。
B 需求分析:关注需求的分析和验证。
C 需求获取:关注需求的收集过程。
D 需求跟踪:关注需求与系统元素之间的联系和追溯。

RUP(Rational Unified Process)软件开发生命周期是一个二维的软件开发模型,其中,RUP的9个核心工作流中不包括( )。
A 业务建模
B 配置与变更管理
C 成本
D 环境

答案C
RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。
1、商业建模(Business Modeling):商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。
2、需求(Requirements):需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。
3、 分析和设计(Analysis & Design):分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。
4、实现(Implementation):实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。
5、测试(Test):测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现, 识别并确认缺陷在软件部署之前被提出并处理。
6、 部署(Deployment):部署工作流的目的是成功的生成版本并将软件分发给最终用户。
7、配置和变更管理(Configuration & Change Management):配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。
8、项目管理(Project Management):软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。
9、环境(Environment):环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。

4+1视图模型可以从多个视图或视角来描述软件架构。其中,( )用于捕捉设计的并发和同步特证;( )描述了在开发环境中软件的静态组织结构。
问题1
A 逻辑视图
B 开发视图
C 进程视图
D 物理视图
问题2
A 类视图
B 开发视图
C 过程视图
D 用例视图

答案C B
4+1视图中各个部分的情况如下:
(1)逻辑视图。逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。一般用类图和对象图描述。
(2)开发视图。开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。该视图可描述源代码,系统文件结构
(3)进程视图。进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。
(4)物理视图。物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小化。
(5)场景。场景可以看作是那
些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。场景视图对应UML中的用例视图。

A. 逻辑视图:描述系统的功能需求,不涉及并发和同步。
B. 开发视图:描述在开发环境中软件的静态组织结构,不涉及并发和同步
C. 进程视图:捕捉设计的并发和同步特性
D. 物理视图:描述系统在硬件上的部署情况,不涉及并发和同步

在这里插入图片描述

架构”4+1“视图

内聚的分类
内聚:故名思议,表示内部间聚集、关联的程度,那么高内聚就是指要高度的聚集和关联。

内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。

偶然内聚:一个模块内的各处理元素之间没有任何逻辑上的联系,只是偶然地被凑到一起。这种模块也称为巧合内聚,内聚程度最低。

逻辑内聚:这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能 。

时间内聚:把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。纯粹是因为执行时间相同,并没有功能/目标一致上的关系。

先后过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。简单的说就是如果一个模块内的处理元素是相关的,而且必须以特定次序执行则称为过程内聚。例如某要完成登录的功能,前一个功能判断网络状态,后一个执行登录操作,显然是按照特定次序执行的。

信息通信内聚:指模块内所有处理元素都在同一个数据结构上操作或所有处理功能都通过公用数据而发生关联(有时称之为信息内聚)。即指模块内各个组成部分都使用相同的数据结构或产生相同的数据结构。

逻辑顺序内聚:一个模块中各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,通常前一个处理元素的输出时后一个处理元素的输入。例如某要完成获取订单信息的功能,前一个功能获取用户信息,后一个执行计算均价操作,显然该模块内两部分紧密关联。顺序内聚的内聚度比较高,但缺点是不如功能内聚易于维护。

功能内聚:模块内所有元素的各个组成部分全部都为完成同一个功能或目标而存在,共同完成一个单一的功能,模块已不可再分。即模块仅包括为完成某个功能所必须的所有成分,这些成分紧密联系、缺一不可,不多不少,凝聚力强!

耦合:是对模块间关联程度的度量。

耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。

模块间的耦合度是指模块之间的依赖关系,包括:

控制关系
调用关系
数据传递关系。
模块间联系越多,其耦合性越强,同时表明其独立性越差。

降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。

耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标。

非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。耦合度最弱,模块独立性最强。

函数调用/发送消息:值数据耦合:调用模块和被调用模块之间只传递简单的数据项参数。相当于高级语言中的值传递。

函数调用/发送消息:标记/地址耦合:调用模块和被调用模块之间传递数据结构而不是简单数据,同时也称作特征耦合。模块间传递的不是简单变量值,而是像高级语言中的数据名、记录名和文件名等数据的标记,这些名字即为标记,其实传递的是地址。
备注:数据耦合相对于控制耦合,是松耦合,因为万事万物,总会有些信息联系的。

函数调用/发送消息:控制耦合:模块之间传递的不是数据信息,而是控制信息,例如标志、开关量等,一个模块控制了另一个模块的功能。

共享资源:外部变量耦合、外部耦合:一组模块都访问同一全局简单变量,而且不通过参数表传递该全局变量的信息,则称之为外部耦合。

共享资源:公共数据耦合:一组模块都访问同一个全局数据结构,则称之为公共耦合。公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。如果模块只是向公共数据环境输入数据,或是只从公共数据环境取出数据,这属于比较松散的公共耦合;如果模块既向公共数据环境输入数据又从公共数据环境取出数据,这属于较紧密的公共耦合。

内容耦合:是指如果一个模块与另一个模块的内部属性有关,不经调用直接使用另一个模块的程序代码或内部数据,那么这两个模块之间就存在内容耦合。这种耦合表明一个模块与另一个模块的内部数据或程序代码有关,当一个模块的程序代码被修改或内部数据出错,必然引起另一个模块出错。而对后一模块的出错是很难查出原因的,这样给模块的修改、维护带来极大困难。内容耦合的耦合度最大,为“病态耦合”,在设计时,应避免这种耦合。在高级语言中,实际上已经规避了该类型的耦合,只有在汇编语言中,一个模块、函数才能直接访问另一个函数内部的变量和内存空间!!!

软件模块之间的耦合性,从低到高为:
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
数据耦合:一组模块借助参数表传递简单数据。
标记耦合(特征耦合):一组模块通过参数表传递记录信息(数据结构)。
控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息。
外部耦合:一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息。
公共耦合:多个模块都访问同一个公共数据环境。
内部耦合(内容耦合):,指一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口。
本题实际上就是对题目选项出现的几种耦合做排序。
非直接耦合>数据耦合>特征耦合>控制耦合>外部耦合>公共耦合>内容耦合

软件模块内聚按高到低排列为:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚(时间内聚):所包含的任务必须在同一时间间隔内执行。
逻辑内聚 完成逻辑上相关的一组任务。
偶然内聚(巧合内聚):完成一组没有关系或松散关系的任务。
最高的为功能内聚。

[架构之路-183]-《软考-系统分析师》-13-系统设计 - 高内聚低耦合详解、图解以及技术手段

在架构评估中,场景是从( )的角度对与系统交互的描述,一般采用( )三方面来对场景进行描述。
问题1
A 系统设计者
B 系统开发者
C 风险承担者
D 系统测试者
问题2
A 刺激,环境,响应
B 刺激,制品,响应
C 刺激源,制品,响应
D 参与者,用例,视图

答案C A
场景(scenarios):在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。为得出这些目标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激(stimulus)、环境(environment)和响应(response)三方面来对场景进行描述。

场景设计的三个方面:
刺激(事件):触发架构响应的事件。
环境(事件发生的环境):事件发生的背景条件。
响应(架构响应刺激的过程):系统如何应对刺激。

某项目包括A~G七个作业,各作业之间的衔接关系和所需时间如下表: 其中,作业C所需的时间,乐观估计为5天,最可能为14天,保守估计为17天。假设其他作业都按计划进度实施,为使该项目按进度计划如期全部完成。作业C( )。
A 必须在期望时间内完成
B 必须在14天内完成
C 比期望时间最多可拖延1天
D 比期望时间最多可拖延2天
在这里插入图片描述

答案D
做此题时,必须要套用公式(知道什么公式,并且要记住),否则就是在瞎蒙:期望时间=(乐观时间+4*最可能时间+保守时间)/6。套用公式,期望时间为13天。
在这里插入图片描述
可以只考虑A到E的两条路径:
ABDE,天数为23天
ACE,天数为8+13=21天
所以,答案应该是D.比期望时间最多可拖延2天。

在这里插入图片描述

软考高级之系统架构师之计算专题

在三层C/S架构中,( )是应用的用户接口部分,负责与应用逻辑间的对话功能;( )是应用的本体,负责具体的业务处理逻辑。
问题1
A 表示层
B 感知层
C 设备层
D 业务逻辑层
问题2
A 数据层
B 分发层
C 功能层
D 算法层

答案A C
三层C/S体系结构是将应用功能分成表示层、功能层和数据层三个部分。
(1)表示层
表示层是应用的用户接口部分担负与应用逻辑间的对话功能。它用于用户从工作站输入的数据,并显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户界面(GUI),在变更用户界面时,只需改写显示控制和数据检查程序,而不影响业务逻辑。
(2)功能层
功能层是应用的本体,它负责具体的业务处理逻辑,例如在制作订购合同时要计算合同金额。表示层和功能层之间的数据互交要尽可能简洁。例如,用户检索数据时,要将有关检索要求的信息一次性地传送给功能层,检索结果数据也由功能层一次性地传送给表示层。
(3)数据层
数据层通常是数据库管理系统,负责管理对数据库数据的读写。数据库系统必须能迅速执行大量数据的更新和检索
三层C/S的解决方案对这三层进行明确分割,不同层构件相互独立,层间的接口简洁,适合复杂事务处理。

下列关于著作权归属的表述,正确的是( )。
A 改编作品的著作权归属于改编人
B 职务作品的著作权都归属于企业法人
C 委托作品的著作权都归属于委托人
D 合作作品的著作权归属于所有参与和组织创作的人

答案 A
解析
改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编、翻译、注释、整理人享有,但行使著作权时不得侵犯原作品的著作权。
职务作品的著作权不一定归属于企业法人,有可能归属于个人,企业有优先使用权。
委托作品的著作权可以由合同约定归属人,不一定都归属于委托人。
合作作品的著作权归属于所有参与人不含组织创作的人。

在Web服务器的测试中,反映其性能的指标不包
括: ( ),常见的Web 服务器性能评测方法有基准性能测试、压力测试和( ) 。
问题1
A链接正确跳转
B最大并发连接数
C响应延迟
D 吞吐量
问题2
A功能测试
B黑盒测试
C白盒测试
D可靠性测试

答案A D
Web服务器主要性能指标有最大并发连接数、响应延迟、吞吐量。常见的 Web 服务器性能评测方法有基准性能测试、压力测试和可靠性测试 。

Web 服务器性能测试
在 Web 服务器的测试中,反映其性能的指标主要包括以下几个方面:
最大并发连接数:服务器能够同时处理的最大连接数量。
响应延迟:服务器对请求的响应时间。
吞吐量:单位时间内服务器能够处理的请求数量或数据量。

问题 1
反映 Web 服务器性能的指标不包括:
A. 链接正确跳转:这不是一个直接反映 Web 服务器性能的指标。链接正确跳转更多是功能测试的一部分,而不是性能测试。
B. 最大并发连接数:这是反映 Web 服务器性能的一个重要指标。
C. 响应延迟:这也是反映 Web 服务器性能的一个重要指标。
D. 吞吐量:这也是反映 Web 服务器性能的一个重要指标。
正确答案是 A. 链接正确跳转。

问题 2
常见的 Web 服务器性能评测方法有基准性能测试、压力测试和:
A. 功能测试:这不是性能测试的一部分,而是用于验证系统功能是否符合需求。
B. 黑盒测试:这不是性能测试的一部分,而是用于验证系统的外部行为。
C. 白盒测试:这不是性能测试的一部分,而是用于验证代码内部逻辑。
D. 可靠性测试:这是性能测试的一部分,用于评估系统在长时间运行或高负载情况下的稳定性。
正确答案是 D. 可靠性测试。

生活化例子
假设你是一家电子商务网站的技术负责人,你需要评估 Web 服务器的性能:
最大并发连接数:在促销活动期间,服务器能够同时处理多少用户的访问。
响应延迟:用户点击页面后,页面加载所需的时间。
吞吐量:每秒钟服务器能够处理多少个页面请求。

概念讲解
最大并发连接数:服务器在同一时间能够处理的最大连接数量。例如,在高峰期,服务器能够同时处理 10,000 个用户的访问。
响应延迟:服务器对用户请求的响应时间。例如,用户点击页面后,页面在 1 秒内加载完成。
吞吐量:单位时间内服务器能够处理的请求数量或数据量。例如,服务器每秒能够处理 1,000 个页面请求。

常见的 Web 服务器性能评测方法
基准性能测试:在标准条件下测量服务器的性能,以建立基准值。
压力测试:通过不断增加负载来测试服务器在高负载情况下的表现。
可靠性测试:评估服务器在长时间运行或高负载情况下的稳定性。
简单记法
最大并发连接数:同时处理的最大连接数
响应延迟:响应时间
吞吐量:每秒处理的请求数
基准性能测试:标准条件下的性能
压力测试:高负载下的表现
可靠性测试:长时间运行的稳定性

The prevailing distributed computing model of the curent era is called ctiem servar computing.A( )is a solution in which the presentation.presentatoanaogic,application logic,data manipulation and data layers are distributed between client PCs and one or more servers. A ( ) is a personal computer that does not have to be very powerful in terms of processor speed and memory because it only presents the interface to the user. A( )is a personal computer,notebook.computer,or workstation that is typically more powerfil in terms of processor speed,memory,and storage capacity. A( )hosts one or more shamad database but also executes all database commands and services for information systems.A (n)( )hosts Internet or intranet web sites,it communicates with clients by returning to them documents and data.
问题1
A Client/Server system
B Client-side
C Server-sider
D Database
问题2
A Server-sider
B Browser
C Fat client
D Thin client
问题3
A Cloud platform
B Cluster system
C Fat client
D Thin client
问题4
A Transaction server
B Database server
C Application server
D Message server
问题5
A Database server
B Message server
C Web server
D Application server

答案A D C B C
现在主流的分布式计算是客户/服务器计算模式。客户/服务器系统是一种解决方案,其中表示层、表示逻辑层、应用逻辑、数据操作、数据层分布在客户的PC端与一个或多个服务器端之间。瘦客户端指的是个人电脑在处理速度、内存方面无须很强大,因为它仅仅是展示接口给用户胖客户端是指个人电脑、笔记本、工作站在处理速度、内存、存储容量方面都很强大的一类电脑。数据库服务器控制一个或多个共享数据库,同时也执行所有数据库命令以及服务于信息系统。web服务器控制互联网、信息平台,与客户端通信,返回给客户端文件与数据。

什么是胖客户机?
为了理解瘦客户机,明智的做法是先说明什么是胖客户机。

在网络计算的背景下,胖客户机(也称为“厚客户机”或“富客户机”)是一台功能齐全,刚好连接到服务器的计算机。 胖客户机拥有自己的操作系统、软件、处理能力和本地存储——所有这些都可以让它在离线时继续工作而不会出现任何问题。

在本质上 何可以完全独立于远程服务器运行的设备都是胖客户机。 胖客户机的日常示例包括运行 Windows 或 MacOS 的台式电脑或笔记本电脑。

什么是瘦客户机?
瘦客户机通常是处理能力有限的精简计算机,它们经过专门优化以在网络环境中运行。 它具有非常有限的本地存储和精简的操作系统。 与胖客户机相比,瘦客户机需要访问远程服务器才能正常运行。

瘦客户机的主要目的是作为访问网络的通道并向最终用户显示信息。

旁注: 什么是“零”客户机?
“零”客户机(或“超瘦”客户机)是瘦客户机的极瘦版本。 零客户机没有内部存储或操作系统,并且 100% 依赖于远程服务器来代其运行这些。 它基本上只是一个让用户访问网络的终端。 在本讨论的其余部分,我们将零客户机视为瘦客户机的一个子集。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐