正确答案:

题目:如图8-40(a)所示的UML类图描绘的是设计模式中的(1)模式。如图8-40(b)所示的UML类图描述了该模式的一种应用,其中与图8-40(a)中的"Creator"对应的类是(2)。

解析:Command模式将一个请求封装为一个对象,从而将不同的请求对数化并进行排队或登记,以支持撤销操作。FactoryMethod模式定义一个创建对象的接口,但由子类决定需要实例化哪一个类。Composite模式将对象组成树结构来表示局部和整体的层次关系。客户可以统一处理单个对象和对象组合。ClassAdapter模式将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作。

查看原题 查看所有试题

学习资料的答案和解析:

  • [单选题]博学公司欲实现一个数据处理软件,该软件需要从网络接收一组复杂的数据,然后分步进行解析和处理。在这种情况下,采用()的体系结构风格比较适合。
  • 管道/过滤器

  • 解析:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。例如,四层的分层式体系结构可以分为应用软件、业务软件、中间件和系统软件。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。层次系统最广泛的应用是分层通信协议。在这一应用领域中,每一层提供一个抽象的功能,作为上层通信的基础。较低的层次定义低层的交互,最低层通常只定义硬件物理连接。在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。根据以上介绍,在本题中,博学公司欲实现一个数据处理软件,该软件需要从网络接收一组复杂的数据,然后分步进行解析和处理,适合采用的是管道/过滤器风格。

  • [单选题]软件架构设计是降低成本、改进质量、按时和按需交付产品的关键活动。以下关于软件架构重要性的叙述中,错误的是()
  • 良好的架构设计能够更好地捕获并了解用户需求

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

  • [单选题]某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程具有可扩展能力。针对这种需求,公司采用()最为恰当。
  • 访问者模式

  • 解析:根据题目的描述,可以看出本题的核心在于对某个具有固定结构的活动节点需要多种处理能力,且处理能力可扩展,也就是说要求在不改变原来类结构(活动节点)的基础上增加新功能。对照4个选项,发现访问者模式最符合要求。

  • [单选题]软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是()
  • 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程

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

  • [单选题]博学公司承接了一个开发家用空调自动调温器的任务,调温器测量外部空气温度,根据设定的期望温度控制空调的开关。根据该需求,公司应采用()架构风格最为合适。
  • 过程控制

  • 解析:本题主要考查架构风格与架构设计策略。根据题目描述,调温器需要实时获取外界的温度信息,并与用户定义的温度进行比较并做出动作。根据该系统的应用领域和实际需求,可以看出这是一个典型的过程控制架构风格的应用场景。

  • [单选题]博学公司欲开发一个语音识别系统,语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等。每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用()架构风格最为合适。
  • 黑板

  • 解析:本题主要考查架构风格与架构设计策略。根据题目描述,语音识别系统是一个十分典型的专家系统,其特点是求解的正确结果不止一个,求解过程比较复杂,需要通过专家知识和反馈逐步得到正确结果。因此对比4个候选项,黑板结构特别适合求解这类问题。

  • [单选题]某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
  • 解析:本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在o.s小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。

  • [单选题]当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(2)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(3)设计模式将该类的接口转换成我们希望的接口。
  • 解析:本题考查面向对象设计。装饰模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责;享元设计模式是共享大量细粒度的对象;适配器设计模式则是将已有的接口转换为系统希望的接口形式。

  • [单选题](1)的选择是开发一个软件系统时的基本设计决策;(2)是最底层的模式,关注软件系统的设计与实现,描述了如何实现构件及构件之间的关系。引用计数是C++管理动态资源时常用的一种(3)。
  • 解析:模式是给定上下文中普遍问题的普遍解决方案,在架构方面,分高层的模式与低层的模式。架构模式是软件设计中的高层决策,如C/S结构就属于架构模式,架构模式反映了开发软件系统过程中所作的基本设计决策;设计模式主要关注软件系统的设计,与具体的实现语言无关:惯用法则是实现时通过某种特定的程序设计语言来描述构件与构件之间的关系,如引用一计数就是C++语言中的一种惯用法。

  • 必典考试
    推荐下载科目: 开发管理题库 系统安全性和保密性题库 分布式系统题库 系统开发基础知识题库 专业英语题库 标准化知识题库 多媒体基础知识题库 嵌入式系统题库 系统架构设计论文题库 系统架构设计案例分析题库
    @2019-2025 必典考网 www.51bdks.net 蜀ICP备2021000628号 川公网安备 51012202001360号