论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统

题目

论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的口软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。

请以“软件系统架构风格”论题,依次从以下三个方面进行论述: 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。 3.详细说明在你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。


相似考题
更多“论软件系统架构风格 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统 ”相关问题
  • 第1题:

    阅读以下软件系统架构选择的问题。

    某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。该系统的简化示意图如下图所示。各种系统输入的含义见下表。

    定速巡航控制系统输入说明

    公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。

    在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。

    [问题1]

    在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格:面向对象和控制环路两种架构风格各自的特点。

    [问题2]

    用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。

    [问题3]

    实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。


    正确答案:[问题1] 软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象对象维扩自身表示的完整性对象之间通过消息机制进行通信对象交互时需要知道彼此的标识通过对象之间的协作完成计算过程。 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件通过收集实际和理想的过程状态信息并能调整过程变量使得实际状态趋于理想状态。 [问题2] 对于系统的增减速功能采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等构件。 整个计算的主要过程是: (1) 司机进行增/减速操作设置期望速度该期望速度以消息的形式传递给速度计; (2) 速度计通过向车轮和时钟发送消息获取车轮转速和时钟值得到当前速度; (3) 速度计计算当前速度和期望速度的速度差值: (4) 该差值以消息的形式发送给油门油门通过速度差值调节自身状态; (5) 整个过程在时钟的控制下定期向速度计发送消息重复执行(2)~(4)。 控制环路的架构风格以控制器为核心期望速度、车轮脉冲、时钟和油门等作为构件。 具体的计算过程是: (1) 司机进行增/减速操作设置期望速度值; (2) 将设定值置为期望速度值: (3) 控制器采集车轮脉冲和时钟值计算出当前速度; (4) 比较期望速度和当前速度计算速度差值控制油门动作; (5) 反复执行(3)和(4)。 [问题3] 适合面向对象架构风格的应用场景: (1) 用户刹车立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景适合于面向对象风格。 (2) 系统对突发事件的处理如某些部件失灵等。理由:当发生突发事件时系统会同时产生数据和事件这种情况用对象建模较为恰当。 适合面向控制环路架构风格的应用场景: (1) 在达到期望速度后系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景系统需要在外界情况不断发生变化的情况下进行调整使得系统状态尽可能接近期望状态。 (2) 用户改变期望速度后系统不断进行调整直至到达恒定速度。理由:这是一个闭环控制情景当用户设定期望速度值后系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整使得系统状态尽可能接近这个新的期望状态。
    [问题1] 软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。 面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维扩自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。 控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。 [问题2] 对于系统的增减速功能,采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等构件。 整个计算的主要过程是: (1) 司机进行增/减速操作设置期望速度,该期望速度以消息的形式传递给速度计; (2) 速度计通过向车轮和时钟发送消息获取车轮转速和时钟值,得到当前速度; (3) 速度计计算当前速度和期望速度的速度差值: (4) 该差值以消息的形式发送给油门,油门通过速度差值调节自身状态; (5) 整个过程在时钟的控制下定期向速度计发送消息,重复执行(2)~(4)。 控制环路的架构风格以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。 具体的计算过程是: (1) 司机进行增/减速操作设置期望速度值; (2) 将设定值置为期望速度值: (3) 控制器采集车轮脉冲和时钟值,计算出当前速度; (4) 比较期望速度和当前速度,计算速度差值,控制油门动作; (5) 反复执行(3)和(4)。 [问题3] 适合面向对象架构风格的应用场景: (1) 用户刹车,立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格。 (2) 系统对突发事件的处理,如某些部件失灵等。理由:当发生突发事件时,系统会同时产生数据和事件,这种情况用对象建模较为恰当。 适合面向控制环路架构风格的应用场景: (1) 在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。 (2) 用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。 解析:本题主要考查软件系统架构的比较与选择问题,即如何根据实际系统的要求选择合适的架构风格。
    [问题1]
    本问题主要考查软件架构风格的基本概念以及面向对象和控制环路两种常见架构风格的特点。根据卡内基.梅隆大学软件工程研究所等权威机构的定义,软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。
    面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。
    控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
    [问题2]
    主要针对系统的增减速功能的要求设计两种风格的主要构件,在设计构件时需要注意符合两种架构风格的基本要求和约束。
    采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等对象。整个计算过程通过对象之间的合理交互完成期望的功能。
    控制环路的架构风格将以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。通过不断地反馈机制实现对系统的控制。
    [问题3]
    主要从应用场景的角度比较两种架构风格。面向对象系统比较适合事件驱动的场景,特别是离散突发事件的处理:而控制环路则适合连续事件的处理,比如维持恒定车速等。

  • 第2题:

    以下关于软件架构风格与系统性能的关系叙述中,错误的是( )。

    A.对于采用层次化架构风格的系统,划分的层次越多,系统的性能越差 B.对于采用隐式调用架构风格的系统,可以通过处理函数的并发调用提高系统处理性能 C.采用面向对象架构风格的系统,可以通过引入对象管理层提高系统性能 D.对于采用解释器架构风格的系统,可以通过部分解释代码预先编译的方式提高系统性能


    正确答案:C

  • 第3题:

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

    A.架构风格 B.架构实现 C.连接件 D.组件约束


    正确答案:C

  • 第4题:

    论软件系统架构评估 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。

    请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。 1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。 2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。 3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。


    正确答案:本题内容按模拟题中的“论基于场景的软件体系结构评估方法”组织内容即可,因为目前常用的架构评估方法,均为基于场景的评估方法。
    一、首先用400-600字的篇幅简要叙述作者参与开发的软件系统的概要和所担任的工作。
    二、架构所关注的质量属性主要包括:性能、可用性、可修改性、安全性。
    1、性能
    性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。
    2、可用性
    可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
    3、安全性
    安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。
    4、可修改性
    可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。
    三、架构评估方法主要从SAAM与ATAM中选择。
    1、SAAM评估方法
    SAAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
    (1)评估目的
    SAAM (Scenario-based Architecture Analysis Method)目的是验证基本的体系结构假设和原则,评估体系结构固有的风险。SAAM 指导对体系结构的检查,使其主要关注潜在的问题点,如需求冲突。SAAM不仅能够评估体系结构对于特定系统需求的使用能力,也能被用来比较不同的体系结构。
    (2)评估参与者
    风险承担者、记录人员、软件体系结构设计师
    (3)评估活动或过程
    SAAM分析评估体系结构的过程包括六个步骤,即形成场景、描述体系结构、场景的分类和优先级确定、间接场景的单个评估、场景相互作用的评估、总体评估。
    (4)评估结果
    SAAM评估的主要有形输出包括:
    1)把代表了未来可能做的更改的场景与构架对应起来,显现出构架中未来可能会表现出较高复杂性的地方,并对每个这样的更改的预期工作量做出评估。
    2)理解系统的功能,对多个构架所支持的功能和数量进行比较。
    如果所评估的是一个框架,SAAM评估将指明框架中未能满足其修改性需求的地方,有时还会指出一种效果更好的设计。SAAM评估也能对两个或者三个备选构架进行比较,明确其中那一个能够较好地满足质量属性需求,而且做的更改较少、不会在未来导致太多的复杂的问题。
    2、ATAM评估方法
    ATAM的分析和评估目的、评估参与者、评估活动或过程以及评估结果说明如下。
    (1)评估目的
    ATAM(Architecture Tradeoff Analysis Method ),即构架权衡分析方法的评估目的是依据系统质量属性和商业需求评估设计决策的结果。ATAM希望揭示出构架满足特定质量目标的情况,使我们更清楚地认识到质量目标之间的联系,即如何权衡多个质量目标。
    (2)评估参与者
    1)评估小组。该小组是所评估构架项目外部的小组,通常由3~5人组成。该小组的每个成员都要扮演大量的特定角色。他们可能是开发组织内部的,也可能是外部的。
    2)项目决策者,对开发项目具有发言权,并有权要求进行某些改变,他们包括项目管理人员,重要的客户代表,构架设计师等。
    3)构架涉众(stakeholders)。包括关键模块开发人员、测试人员、用户等。
    (3)评估活动或过程
    整个ATAM评估过程包括九个步骤,按其编号顺序分别是描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、描述评估结果。

  • 第5题:

    老于是某银行的系统架构师,他为银行投资管理系统设计的软件架构包括进程通信和事件驱动的系统,该软件架构风格属于( )。

    A:数据流风格
    B:独立构件风格
    C:仓库风格
    D:虚拟机风格

    答案:B
    解析:
    软件架构五大风格:
    (1)数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。
    (2)调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers).
    (3)独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。
    (4)虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。
    (5)仓库风格:包括数据库架构风格(Database)和黑板架构风格(BlackBoards)

  • 第6题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共有的结构和( ),强调对架构(请作答此空)的重用。

    A. 分析
    B. 设计
    C. 实现
    D. 评估

    答案:B
    解析:
    软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的软件重用。也就是说,能否在不同的软件系统中,使用同一架构。基于这个目的,学者们开始研究和实践软件架构的风格和类型问题。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件架构风格定义了用于描述系统的术语表和一组指导构件系统的规则

  • 第7题:

    软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的(请作答此空)特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,通常会采用()架构风格。对于因数据输入某个构件,经过内部处理,产生数据输出的系统,通常会采用()架构风格。

    A. 语法和语义
    B. 结构和语义
    C. 静态和动态
    D. 行为和约束

    答案:B
    解析:

  • 第8题:

    软件架构风格是描述某-特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组( )。

    A. 约束
    B. 连接件
    C. 拓扑结构
    D. 规则

    答案:A
    解析:
    架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

  • 第9题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共有的结构和(请作答此空),强调对架构( )的重用。

    A. 语义特性
    B. 功能需求
    C. 质量属性
    D. 业务规则

    答案:A
    解析:
    软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的软件重用。也就是说,能否在不同的软件系统中,使用同一架构。基于这个目的,学者们开始研究和实践软件架构的风格和类型问题。软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件架构风格定义了用于描述系统的术语表和一组指导构件系统的规则

  • 第10题:

    阅读以下软件系统架构选择的问题,在答题纸上回答问题1至问题3。
    某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1给出了该系统的简化示意图。表4-1描述了各种系统输入的含义。


    公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。
    在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。
    【问题1】(5分)
    在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。
    【问题2】(12分)
    用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。
    【问题3】(8分)
    实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。


    答案:
    解析:
    【问题1】
    软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。
    面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。
    控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
    【问题2】
    对于系统的增减速功能,采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等构件。
    整个计算的主要过程是:
    (1)司机进行增/减速操作设置期望速度,该期望速度以消息的形式传递给速度计;
    (2)速度计通过向车轮和时钟发送消息获取车轮转速和时钟值,得到当前速度;
    (3)速度计计算当前速度和期望速度的速度差值;
    (4)该差值以消息的形式发送给油门,油门通过速度差值调节自身状态;
    (5)整个过程在时钟的控制下定期向速度计发送消息,重复执行(2)~(4)。
    控制环路的架构风格以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。
    具体的计算过程是:
    (1)司机进行增/减速操作设置期望速度值;
    (2)将设定值置为期望速度值;
    (3)控制器采集车轮脉冲和时钟值,计算出当前速度;
    (4)比较期望速度和当前速度,计算速度差值,控制油门动作;
    (5)反复执行(3)和(4)。
    【问题3】
    适合面向对象架构风格的应用场景:
    (1)用户刹车,立即退出巡航控制系统。理由:这是一个典型的事件驱动的场景,适合于面向对象风格。
    (2)系统对突发事件的处理,如某些部件失灵等。理由:当发生突发事件时,系统会同时产生数据和事件,这种清况用对象建模较为恰当。
    适合面向控制环路架构风格的应用场景:
    (1)在达到期望速度后,系统维持恒定速度行驶。理由:这是一个典型的闭环控制的情景,系统需要在外界情况不断发生变化的情况下进行调整,使得系统状态尽可能接近期望状态。
    (2)用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。

  • 第11题:

    关于软件架构的说法错误的是()

    • A、软件架构是系统的功能结构
    • B、软件架构是关于软件系统功能描述
    • C、软件架构是软件系统实现的逻辑结构
    • D、软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面设计

    正确答案:A,B

  • 第12题:

    多选题
    关于软件架构的说法错误的是()
    A

    软件架构是系统的功能结构

    B

    软件架构是关于软件系统功能描述

    C

    软件架构是软件系统实现的逻辑结构

    D

    软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面设计


    正确答案: B,C
    解析: 暂无解析

  • 第13题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一类架构所共有的特征,主要包括架构定义、架构词汇表和架构(43)。

    A.描述

    B.组织

    C.约束

    D.接口


    正确答案:C
    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件架构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。

  • 第14题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共育的结构和( ),强调对架构( )的重用。

    A.语义特性 B.功能需求 C.质量属性 D.业务规则 A.分析 B.设计 C.实现 D.评估


    正确答案:A,B

  • 第15题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组( )。架构风格反映领域中众多系统所共有的结构和( )。

    A.约束B.连接件C.拓扑结构D.规则 A.语义特征B.功能需求C.质量属性D.业务规则


    正确答案:A,A

  • 第16题:

    软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的( )特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统。通常会采用( )架构风格。

    A.语法和语义 B.结构和语义 C.静态和动态 D.行为和约束 A.管道-过滤器 B.解释器 C.黑板 D.过程控制


    正确答案:B,C

  • 第17题:

    老于是某银行的系统架构师,他为银行投资管理系统设计的软件架构包括进程通信和事件驱动的系统,该软件架构风格属于( )。

    A. 数据流风格
    B. 独立构件风格
    C. 仓库风格
    D. 虚拟机风格

    答案:B
    解析:
    软件架构五大风格:
    (1)数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。
    (2)调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Object-Oriented)及层次结构架构风格(Hierarchical Layers).
    (3)独立构件风格:包括进程通信架构风格(Communicating Processes)和事件驱动架构风格(EventSystems)。
    (4)虚拟机风格:包括解释器架构风格(Interpreters)和基于规则的系统(Rule-based Systems)架构风格。
    (5)仓库风格:包括数据库架构风格(Database)和黑板架构风格(BlackBoards)

  • 第18题:

    论软件系统架构风格系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。软件系统架构风格反映了领域中众多软件系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。软件系统架构风格的共有部分可以使得不同系统共享同一个实现代码,系统能够按照常用的、规范化的方式来组织,便于不同设计者很容易地理解系统架构。 (请围绕“论软件系统架构风格”论题,依次从以下三个方面进行论述。) 1.概要叙述你参与分析和开发的软件系统开发项目以及你所担任的主要工作。 2.分析软件系统开发中常用的软件系统架构风格有哪些?详细阐述每种风格的具体含义。 3.详细说明你所参与的软件系统开发项目中,采用了哪种软件系统架构风格,具体实施效果如何。


    答案:
    解析:
    [写作要点] 一、简要描述所参与分析和开发的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、分析在软件系统开发中常用的软件系统架构风格,详细阐述每种风格的具体含义。 软件系统开发中常用的软件系统架构风格主要包括: 1.管道和过滤器风格 在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。 2.数据抽象和面向对象风格 抽象数据类型概念对软件系统有着重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。 3.基于事件的隐式调用风格 基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。 4.层次系统风格 层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。 5.仓库风格 在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与构件间的相互作用在系统中会有大的变化。控制原则的选取产生两个主要的子类。若输入流中某类时间触发进程执行的选择,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。 6.C2风格 C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2风格中的系统组织规则如下:系统中的构件和连接件都有一个顶部和一个底部;构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;一个连接件可以和任意数目的其他构件和连接件连接;当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。 三、针对作者实际参与的软件系统开发项目,说明所采用的软件架构风格,并描述该架构风格所产生的实际应用效果。

  • 第19题:

    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组()。架构风格反映领域中众多系统所共有的结构和(请作答此空)。

    A. 语义特征
    B. 功能需求
    C. 质量属性
    D. 业务规则

    答案:A
    解析:
    软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
    体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为"客户/服务器"模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。

  • 第20题:

    软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的()特征。

    A. 语法和语义
    B. 结构和语义
    C. 静态和动态
    D. 行为和约束

    答案:B
    解析:
    体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为客户/服务器模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。

  • 第21题:

    软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的( )特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,通常会采用()架构风格。对于因数据输入某个构件,经过内部处理,产生数据输出的系统,通常会采用(请作答此空 )架构风格。

    A. 事件驱动系统
    B. 黑板
    C. 管道-过滤器
    D. 分层系统

    答案:C
    解析:
    体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为客户/服务器模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。语音识别是黑板风格的经典应用场景。输入某个构件,经过内部处理,产生数据输出的系统,正是管道-过滤器中过滤器的职能,把多个过滤器使用管道相联的风格为管道-过滤器风格。

  • 第22题:

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

    • A、架构风格
    • B、架构实现
    • C、连接件
    • D、组件实现

    正确答案:C

  • 第23题:

    软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。以下关于软件架构设计活动的描述,错误的是()

    • A、在建立软件架构的初期,一般需要选择一个合适的架构风格
    • B、将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系
    • C、软件架构设计活动将已标识构件集成到软件架构中,设计并实现这些构件
    • D、一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审

    正确答案:C