niusouti.com

试题一(共25分)阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题 3。【说明】某公司欲针对 Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它

题目

试题一(共25分)

阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题 3。

【说明】

某公司欲针对 Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。

在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、 功能变更、 数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

【问题 1】(7分)

在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用 200 字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

【问题 2】(12分)

请完成表1-1 中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。

【问题 3】(6分)

图1-1 是李工给出的架构设计示意图, 请将恰当的功能描述填入图中的(1)~(4)。


相似考题
更多“ 试题一(共25分)阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题 3。【说明】某公司欲针对 Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入”相关问题
  • 第1题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。

    基线是软件生存期各个开发阶段末尾的特定点,不同于里程碑。()

    A.错误

    B.正确


    参考答案:A

    基线通常对应于开发过程中的里程碑,一个产品可以有多个基线,也可以只有一个基线。

  • 第2题:

    阅读以下说明,回答问题1至问题4。

    [说明]

    在Linux操作系统中,TCP/IP网络可通过若干文本文件及命令进行配置。

    在Linux操作系统下,可通过命令______获得如图2-1所示的网络配置参数。

    A.netconf B.ifconf C.netconfig D.ifconfig


    正确答案:D
    D

  • 第3题:

    阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。
    某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。

    【问题1】(8分)
    用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
    【问题2】(10分)
    在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
    请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
    表3-1 两种操作系统的主要差异

    【问题3】(7分)
    故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。


    答案:
    解析:
    【问题1】
    TLS结构框架的主要特点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    TLS结构框架的各层内涵是:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    两种操作系统的差异见下表。

    选择类似于Linux的嵌入式操作系统。理由如下:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    (1)嵌入式系统中故障主要分为:
    ① 硬件故障:如CPU、存储器和定时器等;
    ② 应用软件故障:如数值越界、异常和超时等;
    ③ 操作系统故障:如越权访问、死锁和资源枯竭等。
    (2)滤波算法:
    ① 门限算法
    ② 递减算法
    ③ 递增算法
    ④ 周期滤波算法
    (3)容错算法:
    ① N+1备份
    ② 冷备
    ③ 温备
    ④ 热备
    【解析】

    本题考查嵌入式系统设计的概念,主要包括嵌入式软件体系结构的框架设计,提高宇航设备可靠性的设计方法和掌握根据用户需求开展软件需求分析的手段。
    此类题目要求考生认真阅读题目对用户需求的描述,在分析、论证和概念设计的基础上,根据实例要求完善问题的解析。本题重点考查考生归纳问题、分析问题和解决问题的能力。
    本题首先给出用户针对宇航设备的4项功能要求:
    (1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
    (2)应用软件应与硬件无关,便于软硬件的升级;
    (3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
    (4)宇航设备可靠性要求高,系统要有故障处理能力。
    从4项要求分析看,第一项要求是考查考生的基础硬件知识,宇航设备应该由多个硬件模块组成,各个模块承担着不同功能,外场可快速更换是指在实验现场(如机场、发射基地)能够用备份模块替换掉故障硬件模块,从而节省维修时间。此项要求是本题设计软件体系总体架构的基础,也是采用三层栈(TLS)的首要点。第二项要求是考查考生从软/硬件升级方面理解三层栈(TLS)架构的优势,因为硬件要方便升级的基础是不会引起软件的更改(或极少更改),要想达到应用软件与硬件的无关性,必须采用操作系统实现硬件隔离。第三项要求是考查考生根据用户软件的技术要求,如何考虑操作系统的分析方法。要支持任务间的数据隔离,具有进程管理的操作系统最为合适,这里考查了考生必须深入了解什么是操作系统的进程概念。第四项要求是考查考生掌握设计高可靠性设备通常采用的技术。
    如果考生理解了上述4个用户要求,就能容易地回答本题的三个问题。
    【问题1】
    本题给出的TLS结构框架主要通过硬件抽象,形成模块支持层软件,将操作系统对硬件资源的管理抽象成对一种逻辑上相关的抽象资源的管理,这样就将操作系统软件与硬件进行了分离。而应用软件访问硬件资源靠操作系统提供的服务进行,这样,应用软件仅仅和具体功能实现有关,而不需关心硬件配置。因此,TLS结构框架的主要特点可概述为以下4点:
    (1)应用软件仅与操作系统服务相关,不直接操作硬件。
    (2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。
    (3)模块支持层将硬件抽象成标准操作。
    (4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。
    基于这种思想,TLS结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即:
    (1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。
    (2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。
    (3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。
    【问题2】
    选择操作系统的依据是本题第三项的用户要求,主要考查考生对目前常用的嵌入式操作系统的了解程度。第一小问的表格给出的VxWorks和Linux两个操作系统是嵌入式系统常用的软件,两个软件在资源管理上存在本质区别,考生必须明确差异后,方能回答第二小问。两种操作系统的差异如下表所示。
    通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括三点:
    (1)Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。
    (2)Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。
    (3)嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。
    【问题3】
    作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故障一般分为三类,即硬件故障、应用软件故障和操作系统故障,在设计中,应考虑这三类故障的处理方法。硬件故障一般包括CPU运算错误、存储器访问/越界错误、MMU配置错误、定时器计数错误和内总线错误等;应用软件故障一般包括计算越界、除0、溢出和超时等各种异常情况;操作系统故障一般包括越权访问、死锁、资源枯竭、调度超时、配置越界和操作系统异常等。
    一般情况下,宇航系统的故障分为瞬态故障和永久故障,瞬态故障是指偶然发生的错误,而永久故障是指发生后不可消失的错误。在容错系统中,故障一般是由瞬态故障向永久故障转变,将鉴别瞬态故障和永久故障的算法称为滤波算法。在嵌入式实时系统中,常用的滤波算法包括门限算法、递减算法、递增算法和周期滤波算法等。
    故障的鉴别目的是实现宇航系统的容错与重构。常用的容错算法是N+1备份、冷备、温备和热备。N+1备份是指N个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。

  • 第4题:

    博学公司欲针对Linux操作系统开发一个KWIC(KeyWordInContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。


    正确答案: 软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道.过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

  • 第5题:

    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。该系统准备采用基于构件的开发模型,简述利用构件开发模型进行多媒体应用系统开发的步骤。


    正确答案: 基于构件的开发模型是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。
    基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析和定义、体系结构设计、构件库建立、应用软件构建,以及测试和发布5个阶段组成。

  • 第6题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。动态配置库用于管理基线和控制基线的变更。()


    正确答案:错误

  • 第7题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。请用150字以内的文字,说明上述情况中存在着哪些问题?


    正确答案: 上述情景中存在的主要问题有:
    (1)对用户的要求未进行记录;
    (2)对变更请求未进行足够的分析,也没有获得批准;
    (3)在修改过程中没有注意进行版本管理;
    (4)修改完成后未进行验证;
    (5)修改的内容未和项目干系人进行沟通。

  • 第8题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。 基线是软件生存期各个开发阶段末尾的特定点,不同于里程碑。()


    正确答案:错误

  • 第9题:

    问答题
    阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。 博学公司欲针对Linux操作系统开发一个KWIC(Key Wordin Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序.子程序的架构风格,而李工则主张采用管道.过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

    正确答案: 软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
    解析: 本题是一道架构设计方面的试题,考查的内容是常见架构风格的选用。这就涉及不同架构风格的优势、劣势、应用场合的比较分析。   
    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。架构风格定义了一个系统“家族”,即一个架构定义、一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。 Garlan和Shaw对通用软件架构风格进行了分类,他们将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。题目中的主程序·子程序架构风格属于调用/返回风格,管道,过滤器架构风格属于数据流风格。   
    主程序/子程序。单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序,子程序通常可合成为模块。过程调用作为交互机制,即充当连接件的角色。调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性。   
    管道/过滤器。每个构件都有一组输入和输出,构件读取输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常是通过对输入数据流的变换或计算来完成的,包括通过计算和增加信息以丰富数据、通过浓缩和删除以精简数据、通过改变记录方式以转化数据和递增地转化数据等。这里的构件称为过滤器,连接件就是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。

  • 第10题:

    问答题
    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。请用150字以内的文字,说明上述情况中存在着哪些问题?

    正确答案: 上述情景中存在的主要问题有:
    (1)对用户的要求未进行记录;
    (2)对变更请求未进行足够的分析,也没有获得批准;
    (3)在修改过程中没有注意进行版本管理;
    (4)修改完成后未进行验证;
    (5)修改的内容未和项目干系人进行沟通。
    解析: 暂无解析

  • 第11题:

    问答题
    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。请用300字以内的文字,说明配置管理中完整的变更处置流程。

    正确答案: 变更管理的基本流程是:
    (1)变更申请。应记录变更的提出人、日期、申请变更的内容等信息。
    (2)变更评估。对变更的影响范围、严重程度、经济和技术可行性进行系统分析。
    (3)变更决策。由具有相应权限的人员或机构决定是否实施变更。
    (4)变更实施。由管理者指定的工作人员在受控状态下实施变更。
    (5)变更验证。由配置管理人员或受到变更影响的人对变更结果进行评价,确定变更结果和预期相符、相关内容进行了更新、符合版本管理的要求。
    (6)沟通存档。将变更后的内容通知可能会受到影响的人员,并将变更记录汇总归档。如提出的变更在决策时被否决,其初始记录也应予以保存。
    解析: 暂无解析

  • 第12题:

    问答题
    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。目前常用的系统架构有B/S架构和C/S架构,请说明这两个架构的含义和原理。

    正确答案: C/S(Client/Server)是基于客户机和服务器模式,其大部分的运算是在客户机上运行,从而提高一定的效率,但是由于程序在客户机上运行,所以要安装客户端,这也导致了软件维护和升级时的不方便,需要程序员亲自进行升级配置。
    B/S(Browser/Server)为基于浏览器和服务器模式,其大部分的运算是在服务器上运行,客户端通过浏览器来访问服务,软件维护和升级方便,只要能上网就能升级了且在很多地方都能够直接使用软件,而不需要安装,前提是要能登录到服务器。
    解析: 暂无解析

  • 第13题:

    X公司欲针对Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其它方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其它的方法实现这一功能。

    在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

    【问题1】在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。


    正确答案:
    本题是一道架构设计方面的试题,考查的内容是常见架构风格的选用。这就涉及到不同架构风格的优势、劣势、应用场合的比较分析。
    软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。架构风格定义了一个系统“家族”,即一个架构定义、一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。
    Garlan和Shaw对通用软件架构风格进行了分类,他们将软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。题目中的主程序-子程序架构风格属于调用/返回风格,管道-过滤器架构风格属于数据流风格。
    主程序/子程序。单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序,子程序通常可合成为模块。过程调用作为交互机制,即充当连接件的角色。调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性。
    管道/过滤器。每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常是通过对输入数据流的变换或计算来完成的,包括通过计算和增加信息以丰富数据、通过浓缩和删除以精简数据、通过改变记录方式以转化数据和递增地转化数据等。这里的构件称为过滤器,连接件就是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。
    试题答案
    【问题1】(7分)
    软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。(1分)
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。(3分)
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。(3分)
    (以上答案,意思正确即可酌情给分)

  • 第14题:

    阅读以下说明,回答问题1至问题5,

    [说明]

    在Linux服务器中,inetd/xinetd是Linux系统中一个重要服务。

    下面选项中______是xinetd的功能。

    A.网络服务的守护进程 B.定时任务的守护进程

    C.负责配置网络接口 D.负责启动网卡


    正确答案:A
    A 解析:Xinetd是一个守护程序,主要用于管理网络服务,因此本题选择A。

  • 第15题:

    阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某公司要开发一个网站。网页上包含有声音、图片、Flash动画等多媒体信息,采用Audition、Photoshop、Flash等软件完成网页素材的制作,采用Dreamweaver进行网页制作和系统集成。当用户使用浏览器软件打开公司主页时会自动播放背景音乐,系统可能件会提示用户需要安装插件,什么是浏览插件?在什么情况下系统会提示用户安装插件?


    正确答案: 所有的HTML代码的执行是由浏览器来解释的,当浏览器碰到无法解释的代码时,就需要启动专门的解码程序解释执行这类代码,这类解码程序称之为插件。
    当用户浏览的网页中包含有需要插件解释并执行的代码时,系统会自动查找插件程序并启动,当系统找不到插件程序时,就会提示用户需要安装插件。

  • 第16题:

    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。目前常用的系统架构有B/S架构和C/S架构,请说明这两个架构的含义和原理。


    正确答案: C/S(Client/Server)是基于客户机和服务器模式,其大部分的运算是在客户机上运行,从而提高一定的效率,但是由于程序在客户机上运行,所以要安装客户端,这也导致了软件维护和升级时的不方便,需要程序员亲自进行升级配置。
    B/S(Browser/Server)为基于浏览器和服务器模式,其大部分的运算是在服务器上运行,客户端通过浏览器来访问服务,软件维护和升级方便,只要能上网就能升级了且在很多地方都能够直接使用软件,而不需要安装,前提是要能登录到服务器。

  • 第17题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。请用300字以内的文字,说明上述情况可能会导致什么样的后果?


    正确答案: 由于上述问题的存在可能导致如下后果:
    (1)缺乏对变更请求的记录可能会导致对产品的变更历史无法追溯,并会导致对工作产物的整体变化情况失去把握。
    (2)缺乏对变更请求的分析可能会导致后期的变更工作出现工作缺失、与其他工作不一致等问题,对项目的进度、成本、质量方面也会产生一定影响。
    (3)在修改过程中不注意版本管理.一方面可能会导致当变更失败时无法进行复原,造成成本损耗和进度拖延;另一方面,对于组织财富和经验的积累也是不利的。
    (4)修改完成后不进行验证则难以确保变更是否正确实现,为变更付出的工作量也无法得到承认。
    (5)未与项目干系人进行沟通可能会导致项目干系人的工作之间出现不一致之处,进而影响项目的整体质量。

  • 第18题:

    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。配置项审计包括功能配置审计和物理配置审计。()


    正确答案:正确

  • 第19题:

    阅读以下关于软件系统架构选择的说明,在答题纸上回答问题1至问题3。 博学公司欲针对Linux操作系统开发一个KWIC(Key Wordin Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序.子程序的架构风格,而李工则主张采用管道.过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。


    正确答案: 软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。

  • 第20题:

    问答题
    博学公司欲针对Linux操作系统开发一个KWIC(KeyWordInContext)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。 在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。 在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

    正确答案: 软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道.过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
    解析: 暂无解析

  • 第21题:

    问答题
    阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某公司要开发一个网站。网页上包含有声音、图片、Flash动画等多媒体信息,采用Audition、Photoshop、Flash等软件完成网页素材的制作,采用Dreamweaver进行网页制作和系统集成。当用户使用浏览器软件打开公司主页时会自动播放背景音乐,系统可能件会提示用户需要安装插件,什么是浏览插件?在什么情况下系统会提示用户安装插件?

    正确答案: 所有的HTML代码的执行是由浏览器来解释的,当浏览器碰到无法解释的代码时,就需要启动专门的解码程序解释执行这类代码,这类解码程序称之为插件。
    当用户浏览的网页中包含有需要插件解释并执行的代码时,系统会自动查找插件程序并启动,当系统找不到插件程序时,就会提示用户需要安装插件。
    解析: 暂无解析

  • 第22题:

    问答题
    阅读以下关于变更的叙述,回答问题1至问题3。【说明】在一个正在实施的系统集成项目中出现了下述情况:一个系统的用户向他所认识的一个项目开发人员抱怨系统软件中的一项功能问题,并且表示希望能够进行修改。于是,该开发人员就直接对系统软件进行了修改,解决了该项功能问题。针对这样一种情况,请分析如下问题。请用300字以内的文字,说明上述情况可能会导致什么样的后果?

    正确答案: 由于上述问题的存在可能导致如下后果:
    (1)缺乏对变更请求的记录可能会导致对产品的变更历史无法追溯,并会导致对工作产物的整体变化情况失去把握。
    (2)缺乏对变更请求的分析可能会导致后期的变更工作出现工作缺失、与其他工作不一致等问题,对项目的进度、成本、质量方面也会产生一定影响。
    (3)在修改过程中不注意版本管理.一方面可能会导致当变更失败时无法进行复原,造成成本损耗和进度拖延;另一方面,对于组织财富和经验的积累也是不利的。
    (4)修改完成后不进行验证则难以确保变更是否正确实现,为变更付出的工作量也无法得到承认。
    (5)未与项目干系人进行沟通可能会导致项目干系人的工作之间出现不一致之处,进而影响项目的整体质量。
    解析: 暂无解析

  • 第23题:

    问答题
    阅读下列说明,回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统,该系统准备利用B/S架构,用户通过网上注册、登录,登录成功后,可进行在线学习辅导。该系统准备采用基于构件的开发模型,简述利用构件开发模型进行多媒体应用系统开发的步骤。

    正确答案: 基于构件的开发模型是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。
    基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化形的,开发过程是迭代的。基于构件的开发模型由软件的需求分析和定义、体系结构设计、构件库建立、应用软件构建,以及测试和发布5个阶段组成。
    解析: 暂无解析