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

题目

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


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

    以下关于软件需求分析的说法中,不正确的是()。

    A.需求分析需要进行软件功能和性能的技术实现方法描述

    B.需求分析文档可用于指导后续的开发过程

    C.软件需求包括业务需求、用户需求、功能需求和非功能需求等

    D.软件需求一般应由用户方组织进行确认


    正确答案:A

  • 第2题:

    阅读下列说明,回答问题1至问题3。

    [说明]

    易用性和用户文档是影响软件质量的重要指标,也是直接决定一个软件能否取得市场成功的关键因素。

    用户对软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安装的易用性。简述安装测试应当从哪几个方面来考虑?

    软件用户界面起着引导用户操作的重要作用,简述整体界面测试和界面中的元素测试分别应当设计哪些测试点?

    软件帮助是协助用户使用软件的关键途径,因此也是软件测试过程中的一个重要内容,简述在进行软件帮助测试时的测试要点。

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:评估安装手册 .安装的自动化测试 .安装选项和设置的测试 .安装过程的中断测试 .安装顺序测试 .多环境安装测试 .安装正确性测试 .修复安装与卸载测试
    评估安装手册 .安装的自动化测试 .安装选项和设置的测试 .安装过程的中断测试 .安装顺序测试 .多环境安装测试 .安装正确性测试 .修复安装与卸载测试 解析:考查安装测试的内容。安装测试的内容主要包括:
    .安装手册
    .自动化程度
    .安装选项和设置
    .安装过程的中断
    .安装顺序
    .多环境
    .正确性
    .修复与卸载安装

    问题 2 答案解析:.界面整体测试:规范性测试、合理性测试、一致性测试和界面定制性测试(每点1分答出其中3个知识点即可得3分) .界面元素测试:窗口测试、菜单测试、图标测试、鼠标测试和文字测试(每点1分答出其中3个知识点即可得3分)
    .界面整体测试:规范性测试、合理性测试、一致性测试和界面定制性测试(每点1分,答出其中3个知识点即可得3分) .界面元素测试:窗口测试、菜单测试、图标测试、鼠标测试和文字测试(每点1分,答出其中3个知识点即可得3分) 解析:考查用户界面测试的内容。用户界面测试的内容主要包括;
    .界面整体测试强调规范性、合理性、一致性和定制性等。
    .界面元素测试测试对象强调窗口、菜单、图标、鼠标和文字等。

    问题 3 答案解析:.文本的准确性 .与程序的接口 .帮助索引的检查 .超链接的正确性 .链接的意义 .风格应简洁
    .文本的准确性 .与程序的接口 .帮助索引的检查 .超链接的正确性 .链接的意义 .风格应简洁 解析:考查软件帮助测试的内容。软件帮助测试的内容主要包括:
    .文本
    .程序接口
    .帮助索引
    .超链接
    .编写风格等

  • 第3题:

    阅读下列说明,回答问题1至问题3。

    【说明】

    文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。

    用户文档包括哪些?

    除了用户文档之外,文档测试还应当关注哪些文档?

    简述用户文档的测试要点。

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:. 用户手册 . 安装和设置指导 . 联机帮助 . 指南、向导 . 样例、示例和模板 . 授权/注册登记表 . 最终用户许可协议 . 宣传材料、广告及其他插页
    . 用户手册 . 安装和设置指导 . 联机帮助 . 指南、向导 . 样例、示例和模板 . 授权/注册登记表 . 最终用户许可协议 . 宣传材料、广告及其他插页 解析:系统中用户文档主要包括:用户手册、安装和设置指导、联机帮助、指南、向导、样例、示例和模板、授权/注册登记表、最终用户许可协议、宣传材料、广告及其他插页等。

    问题 2 答案解析:. 开发文档 ◆ 软件需求说明书 ◆ 数据库设计说明书 ◆ 概要设计说明书 ◆详细设计说明书 ◆ 可行性研究报告 . 管理文档 ◆ 项目开发计划 ◆ 测试计划 ◆ 测试报告 ◆ 开发进度月报 ◆ 开发总结报告
    . 开发文档 ◆ 软件需求说明书 ◆ 数据库设计说明书 ◆ 概要设计说明书 ◆详细设计说明书 ◆ 可行性研究报告 . 管理文档 ◆ 项目开发计划 ◆ 测试计划 ◆ 测试报告 ◆ 开发进度月报 ◆ 开发总结报告 解析:系统中的文档主要包括用户文档、开发文档以及管理文档。开发文档包括:软件需求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、可行性研究报告等。
    管理文档包括:项目开发计划、测试计划、测试报告、开发进度月报、开发总结报告等。

    问题 3 答案解析:. 读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位。 . 术语。文档中用到的术语要适用于定位的读者群用法一致标准定义与业界规范相吻合。 . 正确性。测试中需检查所有信息是否真实正确查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新尝试链接是否准确产品支持电话、地址和邮政编码是否正确。 . 完整性。对照软件界面检查是否有重要的分支没有描述到甚至是否有整个大模块没有描述到。 . 一致性。按照文档描述的操作执行后检查软件返回的结果是否与文档描述相同。 . 易用性。对关键步骤以粗体或背景色给用户以提示合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误不但描述正确操作也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。 . 图表与界面截图。检查所有图表与界面截图是否与发行版本相同。 . 样例和示例。像用户一样载入和使用样例。如果是一段程序就输入数据并执行它。以每一个模板制作文件确认它们的正确性。 . 语言。不出现错别字不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。 . 印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等。
    . 读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位。 . 术语。文档中用到的术语要适用于定位的读者群,用法一致,标准定义与业界规范相吻合。 . 正确性。测试中需检查所有信息是否真实正确,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确。 . 完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。 . 一致性。按照文档描述的操作执行后,检查软件返回的结果是否与文档描述相同。 . 易用性。对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误,不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。 . 图表与界面截图。检查所有图表与界面截图是否与发行版本相同。 . 样例和示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模板制作文件,确认它们的正确性。 . 语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。 . 印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等。 解析:.读者群
    .术语
    .正确性
    .完整性
    .一致性
    .易用性
    .图表与界面截图
    .样例和示例
    .语言
    .印刷与包装
    可以联系实际情况,举例说明。

  • 第4题:

    某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。 ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。 小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。

    A.架构风格

    B.设计模式

    C.架构策略

    D.架构描述


    正确答案:A
    ABSD方法有3个基础。第一个基础是功能的分解。在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择体系结构风格来实现质量和业务需求。第三个基础是软件模板的使用。软件模板利用了一些软件系统的结构。ABSDM模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。架构需求:需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。架构需求受技术环境和架构设计师的经验影响。需求过程主要是获取用户需求,标识系统中所要用到的构件。如果以前有类似的系统架构的需求,我们可以从需求库中取出,加以利用和修改,以节省需求获取的时间,减少重复劳动,提高开发效率。架构设计:架构需求用来激发和调整设计决策,不同的视图被用来表达与质量目标有关的信息。架构设计是一个迭代过程,如果要开发的系统能够从已有的系统中导出大部分,则可以使用已有系统的设计过程。架构文档化:绝大多数的架构都是抽象的,由一些概念上的构件组成。例如,层的概念在任何程序设计语言中都不存在。因此,要让系统分析师和程序员去实现架构,还必须得把架构进行文档化。文档是在系统演化的每一个阶段,系统设计与开发人员的通讯媒介,是为验证架构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。架构文档化过程的主要输出结果是架构需求规格说明和测试架构需求的质量设计说明书这两个文档。生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约。软件架构的文档要求与软件开发项目中的其他文档是类似的。文档的完整性和质量是软件架构成功的关键因素。文档要从使用者的角度进行编写,必须分发给所有与系统有关的开发人员,且必须保证开发者手上的文档是最新的。架构复审:架构设计、文档化和复审是一个迭代过程。从这个方面来说,在一个主版本的软件架构分析之后,要安排一次由外部人员(用户代表和领域专家)参加的复审。复审的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误,包括架构能否满足需求、质量需求是否在设计中得到体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能与性能的要求等等。由外部人员进行复审的目的是保证架构的设计能够公正地进行检验,使组织的管理者能够决定正式实现架构。架构实现:所谓“实现”就是要用实体来显示出一个软件架构,即要符合架构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交互。架构演化:在构件开发过程中,最终用户的需求可能还有变动。在软件开发完毕,正常运行后,由一个单位移植到另一个单位,需求也会发生变化。在这两种情况下,就必须相应地修改软件架构,以适应新的变化了的软件需求。

  • 第5题:

    试题二(共25分)

    阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。

    某软件公司开发基于云计算的分布式文档协作平台( DDCP),系统部分需求如下所示:

    (1)实现文档的分布式存储,客户端可随时随地上传和下载文档;

    (2)支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端;

    (3)要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。

    项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细

    的分析和讨论,同意了张工的建议,采用GFS作为分布式文档协作平台的文件系统架构。

    【问题1】(12分)

    请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。

    【问题2】(8分)

    针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。

    【问题3】(5分)

    请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。


    正确答案:
    试题二分析
    分布式数据存储系统是实现云计算和面向服务计算等分布式计算模型的基础,采用不同的分布式文件系统架构决定了分布式数据存储系统的运行效率、可伸缩性、容错能力及安全性等。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,从而实现了数据的分布式存储和管理。
    Google的GFS文件系统和Hadoop分布式文件系统HDFS是当前最流行的两种分布式文件系统参考架构。
    本题主要考查应试者对于分布式文件系统设计的掌握情况,特别是GFS和HDFS分布式文件系统架构的设计。本题结合一个典型的实际项目案例,首先要求分析GFS和HDFS之间的异同,然后针对系统需求分析采用GFS文件系统的原因;针对项目中所设、计的DDCP基础架构,分析数据读写操作的过程;最后针对具体的单点失效问题,说明两种分布式文件系统架构所提供的解决方案。
    【问题1】
    本问题要求考生针对GFS和HDFS两种分布式文件系统架构的特点展开分析并进行总结。
    (1) GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,虽然运行在多台普通硬件设备上,但是它提供了灾难冗余的能力,为大量客户机提供高性能的服务。一个GFS集群中包含了一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。GFS存储的文件被分割为固定大小的Chunk并分配标识,缺省提供3个存储复制节点,Master节点管理所有的文件系统元数据,GFS客户端代码以库的形式被链接到客户程序里,无论是客户端还是Chunk服务器都不需要缓存文件数据。
    (2) HDF-S是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS采用Master/Slave架构,一个HDFS集群由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问,集群中的Datanode 一般是一个节点一个,负责管理它所在节点上的存储。一个文件被分成一个或多个数据块,这些块存储在一组Datanodeh上,Namenode执行文件系统的命名空间操作并确定数据块到具体Datanode节点的映射,Datanode在Namenode的统一调度下负责处理文件系统客户端的读写请求。
    【问题2】
    本问题要求考生认真分析图中给出的DDCP系统架构,依据图中节点之间的数据传
    输关系描述数据传输过程。
    (1)读数据的过程:应用程序将读数据请求发送给客户端后,客户端访问主服务器请求所需数据位置信息,主服务器查询数据分块和地址信息返回给客户端,客户端根据地址信息向块服务器发送读数据请求,块服务器将所请求数据发送给客户端,客户端将数据转发给应用程序。
    (2)写数据的过程:应用程序分别将数据和写数据请求发送给客户端,客户端依次访问主服务器请求所写数据位置信息,主服务器依次查询数据分块和地址信息发送给客户端,客户端将所要写入的数据重新组织,将属于同一个块服务器的数据按照分组报文和分组序列信息发送给块服务器数据缓存( Primary),客户端将所写数据按照分组报文发送给块服务器数据缓存( Secondary),块服务器数据缓存(Primary)按照分组序列将数据写入到块服务器数据块( Primary),块服务器(Primary)将分组序列发送给块服务器(Secondary),块服务器数据缓存(Secondary)按照分组序列将数据写入块服务器数据块( Secondary),块服务器(Secondary)将写入完成信息发送给块服务器(Primary),块服务器数据( Primary)将写数据完成信息发送给客户端。
    【问题3】
    本问题要求应试者掌握单点失效问题产生的原因,并能够结合GFS和HDFS架构的特点进行分析,说明所采用的解决方案。
    参考答案
    【问题1】
    GFS与HDFS相比的相同点是:单一控制机和多台工作机;通过数据分块和复制实现可靠性和高性能;树状文件系统结构。
    GFS与HDFS相比的不同点是:多次写入和多客户端并发增加数据;Master单点失效问题;数据快照的支持;实时性支持。
    针对系统需求,文档协作要求多客户端并发写入文件支持;解决主服务器单点失效问题;系统补偿操作需要数据快照。
    【问题2】
    读数据过程:
    ④应用程序将读数据请求发送给DDCP客户端;
    ②DDCP客户端访问DDCP主服务器请求所需数据位置信息;
    ③DDCP主服务器查询数据分块和地址信息发送给DDCP客户端;
    ④DDCP客户端根据地址信息向DDCP块服务器发送读数据请求;
    ⑤DDCP块服务器将所请求数据发送给DDCP客户端;
    ⑥DDCP客户端将数据转发给应用程序。
    并发写数据过程:
    ①并发写的应用程序分别将数据和写数据请求发送给DDCP客户端;
    ②DDCP客户端依次访问DDCP主服务器请求所写数据位置信息;
    ③DDCP主服务器依次查询数据分块和地址信息发送给DDCP客户端;
    ④DDCP客户端将所要写入的数据重新组织,将属于同一个DDCP块服务器的数
    据按照分组报文和分组序列信息发送给DDCP块服务器数据缓存(Primary);
    ⑤DDCP客户端将所写数据按照分组报文发送给DDCP块服务器数据缓存
    (Secondary);
    ⑥DDCP块服务器数据缓存(Primary)按照分组序列将数据写入到DDCP块服务
    器数据块( Primary);
    ⑦DDCP块服务器(Primary)将分组序列发送给DDCP块服务器(Secondary);
    ⑧DDCP块服务器数据缓存(Secondary)按照分组序列将数据写入DDCP块服务
    器数据块(Secondary);
    ⑨DDCP块服务器(Secondary)将写入完成信息发送给DDCP块服务器(Primary);
    ⑩DDCP块服务器数据(Primary)将写数据完成信息发送给DDCP客户端。
    【问题3】
    GFS中采用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于复制及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。

  • 第6题:

    某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,采用( )最为合适。

    A.责任链模式
    B.桥接模式
    C.装饰模式
    D.适配器模式

    答案:A
    解析:
    根据题干描述,在线文档系统需要根据用户的查询需求逐步将查询请求依次传递,对比4个候选项,其中在责任链模式中,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。因此责任链模式是能够满足该要求的最好模式。

  • 第7题:

    阅读以下软件系统架构选择的问题,在答题纸上回答问题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)用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。

  • 第8题:

    使用Word 2010帮助同事修改已经写好的报告,最佳的方式是()。

    • A、将修改的内容以文本框的方式插入到文档中
    • B、直接修改文档中的内容,但将所添加的内容字体颜色设置为红色
    • C、将修改的内容保存在一个新的文档当中
    • D、在修订模式下,对文档内容进行修改

    正确答案:D

  • 第9题:

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


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

  • 第10题:

    博学公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,采用()最为合适。

    • A、责任链模式
    • B、桥接模式
    • C、装饰模式
    • D、适配器模式

    正确答案:A

  • 第11题:

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

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

  • 第12题:

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

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

  • 第13题:

    问题定义阶段要弄清楚用户需要计算机解决什么样的问题,阶段结束时检查的是()文档。

    A、《系统目标与范围的说明》

    B、《操作员指南》

    C、《系统需求与规格说明》

    D、《软件帮助文档》


    参考答案:A

  • 第14题:

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

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

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

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

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

    [问题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]
    主要从应用场景的角度比较两种架构风格。面向对象系统比较适合事件驱动的场景,特别是离散突发事件的处理:而控制环路则适合连续事件的处理,比如维持恒定车速等。

  • 第15题:

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

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

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


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

  • 第16题:

    阅读以下关于需求建模的叙述,在答题纸上回答问题1至问题3。

    某企业委托软件公司开发一套运动器材综合销售平台,以改进已有的销售管理系

    统,拓展现有的实体店销售模式,综合管理线上线下的器材销售业务。该软件公司组建

    项目组开发该系统,现正处于需求获取阶段。经过项目组讨论,由于目标系统业务功能

    比较复杂,所以在需求获取中针对不同类型的业务需求,采用不同的需求获取方法。项

    目组列出可选的需求获取方法包括:用户访谈、联合需求计划(JRP)、问卷调查、文档

    分析和实地观察等。

    需求获取的要求如下:

    (l)获取已有销售管理系统中所实现的实体店销售模式和过程;

    (2)获取系统的改进需求和期望增加的业务功能;

    (3)获取当前业务过程中的详细数据并深入了解这些数据产生的原因;

    (4)从企业管理人员、销售人员、各种文档资源等尽可能多的来源获取需求:

    (5)消除需求中出现的冲突,尽可能获取全面、一致的需求;

    (6)尽可能多地让用户参与需求获取过程。

    【问题1】(10分)

    联合需求计划(JRP)是种流行的需求获取方法,请说明什么是JRP,JRP与其他

    需求获取方法相比有什么优势?

    【问题2】(12分)

    针对题目中所描述的需求获取要求(l) - (6),选择最适合的需求获取方法填入

    表1-1中的(a) - (f)处。

    表1-1需求获取方法选择

    【问题3】(3分)

    由于该企业销售规模较大,所积累的企业业务文档数量庞大,所以只能通过抽样实

    现不同类型的文档分析。如果对于每种类型的文档要求90%的可信度(可信度因子为

    1.645),那么不同类型的文档分别需要抽样多少份就能达到该要求?


    正确答案:

    分析

    本题考查考生对于软件需求获取方法的掌握情况。

    需求获取是一个确定和理解不同类用户的需求和约束的过程。需求获取通过系统分

    析师与用户的有效合作才能成功,系统分析师建立一个对问题进行彻底讨论的环境,这

    些问题与将要开发的系统有关。需求获取是否科学、准备充分,对获取出来的需求质量

    影响很大,大部分用户无法完整地描述需求,而且也不可能看到系统的全部过程。所以,

    准确、完整和致的系统需求需要采用合适的方法才能获得。

    掌握各种同的需求获取技术,并且熟练地在实践中运用它,是系统分析师的必备

    技能。目前流行的需求获取技术主要包括用户访谈、联合需求计划(Joint Requirement

    PlanningJRP、问卷调查、文档分析和实地观察等。

    【问题1

    为了提高需求获取的效率,越来越多的企业倾向于使用小组作会议来代替大量独

    立的访谈。联台需求计划(JRP)是一个通过高度组织的群体会议来分析企业内的问题

    并获取需求的程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、

    秘书等共同组的专题讨论组来分析、讨论问题并定义系统需求。联合需求计划是联合

    应用开发( Joint Application DevelopmentJAD)的一部分。

    联合需求划是一种相对来说成本较高的需求获取方法,但也是一种有效的方法。

    联合需求计划会起到群策群力的效果,对于一些问题最有歧义的时候或对需求最不清

    晰的领域部是十分有用的一种方法。这种方式由于鼓励用户参与,能够发挥用户和管理

    人员参与系统开发过程的积极性,提高系统开发效率。联合需求计划会议的参与人数为

    618人,时间为l5小时,能够明显降低系统需求获取的时间成本,加速系统开发周

    期。在联合需求计划中可以通过系统原型对系统需求进行确认,便于系统获取设计审批。

    【问题2

    各种需求获取方法都有其优点和弊端,实际使用过程中,应根据不同类型的需求选

    择合适的需求获取方法。

    (1)对于当前已有系统的理解采用文档分析和实地观察方法是最有帮助的;

    (2)(3)用户访谈和联合需求计划能够提供一些丰而详细的信息,并且能让

    分析员了解信息背后的原因,便于获取更深入的需求;

    (4)问卷调查和文档分析能方便地从一大堆信息资源中获取大量的有用信息,便于

    获取更大范围的需求;

    (5)(6)联合需求计划能够鼓励用户参与到系统开发中,解决不同用户所提供

    信息之间的矛盾,便于获取全面、一致的需求。

    【问题3]

    文档分析中通常采用抽样技术来实现大量不同类型文档的分析,确定样本数量大小

    是实施抽样的重要工作。样本数量大小计算公式: ,

    样本数量=0.25×(可信度因子/错误率)2

    所以,对于每种类型的文档,所需要抽取的样本数量=0.25×(1.645/0.1)2=68份。

    试题一解答要点

    【问题1

    联合需求计划是一个通过高度组织的群体会议来分析企业内的问题并获取需求的

    过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同

    组成的专题讨论组来分析、讨论问题并定义系统需求。

    JRP和其他需求获取方法相比的优势:(1)发挥用户和管理人员参与系统开发过程

    的积极性,提高系统开发效率:(2)降低了系统需求获取的时成本,加速系统开发周

    期;(3)采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。

    【问题2

    (a)文档分析或实地观察

    (b)用户访谈或联合需求计划

    (c)用户访谈或联合需求计划

    (d)问卷调查或文档分析

    (e)联台需求计划

    (f)联合需求计划

    【问题3]

    每种类型的文档需要分别抽取68份。

  • 第17题:

    试题一(共25分)

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

    【说明】

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

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

    【问题 1】(7分)

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

    【问题 2】(12分)

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

    【问题 3】(6分)

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


    正确答案:

    试题一分析
    【问题1】
    本题主要考查软件架构风格的定义,并考查对两种与本题相关的架构风格的定义。软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。
    主程序-子程序架构风格中,所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
    管道-过滤器架构风格中,每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生数据输出。这里的构件称为过滤器,构件之间的连接件称为数据流传输的管道。
    【问题2】
    本问题是一道填表题,其核心是对两种架构风格在算法变更、功能变更、数据表示变更和性能等方面的特点进行比较。其中共享数据的主程序-子程序在算法变更方面灵活性较差,算法变更时一般需要重新编译整个系统;在功能变更方面也比较差;在数据表示方面,当需要变更时,也意味着程序传递参数的变化以及整个程序的调整,表现比较差;在性能方面,由于整个程序处在一个紧耦合的状态,因此性能较高。管道-过滤器架构风格在算法变更方面实现比较简单,只需要修改过滤器的实现即可;在功能变更方面也比较简单;在数据表示方面,需要同时改变数据格式和过滤器的结构,相对比较复杂;在性能方面,由于整个系统是松耦合连接在一起的,因此性能不高。
    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高;KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高;KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。针对这些考虑,可以看出应该采用管道-过滤器的架构风格。
    【问题3】
    本问题是一道读图题,考查用户对系统架构的理解程度。根据题干中的关键描述“…接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读…”和“…公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动…”,可以看出整个系统的流程是:输入→文档检索→查询结果按字母排序→剪切行首单词→单词插入行尾→输出。

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

    根据题干描述:“用户后续还有可能采用其它方式展示帮助内容”,因此KWIC系统对功能变更要求较高;
    根据题干描述:“…,后续还将采用其它的方法实现这一功能”,因此KWIC系统对实现某一个功能的算法变更要求较高。
    KWIC是一个支持用户交互的窗口界面程序,因此对性能要求并不高。
    KWIC系统的显示帮助内容为文本,数据的表示基本不变,因此对数据表示变更要求不高。
    综合上述分析,可以看出应该采用李工提出的管道-过滤器架构风格。

  • 第18题:

    阅读以下关于需求建模的叙述,在答题纸上回答问题1至问题3。

    【说明】

    某企业委托软件公司开发一套运动器材综合销售平台,以改进已有的销售管理系统,拓展现有的实体店销售模式,综合管理线上线下的器材销售业务。该软件公司组建项目组开发该系统,现正处于需求获取阶段。经过项目组讨论,由于目标系统业务功能比较复杂,所以在需求获取中针对不同类型的业务需求,采用不同的需求获取方法。项目组列出可选的需求获取方法包括:用户访谈、联合需求计划(JRP)、问卷调查、文档分析和实地观察等。

    需求获取的要求如下:

    (1)获取已有销售管理系统中所实现的实体店销售模式和过程;

    (2)获取系统的改进需求和期望增加的业务功能;

    (3)获取当前业务过程中的详细数据并深入了解这些数据产生的原因;

    (4)从企业管理人员、销售人员、各种文档资源等尽可能多的来源获取需求;

    (5)消除需求中出现的冲突,尽可能获取全面、一致的需求;

    (6)尽可能多地让用户参与需求获取过程。

    【问题1】

    联合需求计划(JRP)是一种流行的需求获取方法。请说明什么是JRP,JRP与其它需求获取方法相比有什么优势?

    【问题2】

    针对题目中所描述的需求获取要求(1)~(6),选择最适合的需求获取方法填入表1-1中的(a)~(f)处。

    【问题3】

    由于该企业销售规模较大,所积累的企业业务文档数量庞大,所以只能通过抽样实现不同类型的文档分析。如果对于每种类型的文档要求90%的可信度(可信度因子为1.645),那么不同类型的文档分别需要抽样多少份就能达到该要求?


    答案:
    解析:
    【问题1】

    答:联合需求计划(JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同组成的专题讨论组来分析、讨论问题并定义系统需求。

    JRP和其他需求获取方法相比的优势:

    (1)发挥用户和管理人员参与系统幵发过程的积极性,提高系统开发效率:

    (2)降低了系统需求获取的时间成本,加速系统开发周期;

    (3)采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。



    【问题2】

    答:(a)文档分析或实地观察 (b)用户访谈或联合需求计划

    (c)用户访谈或联合需求计划(d)问卷调査或文档分析

    (e)联合需求计划 (f)联合需求计划


    【问题3】

    答:样本数量=0.25*(可信度因子/可接受误差)2

    所以,抽取的样本数量=0.25*(1.645/0.1)2≈68份。

  • 第19题:

    阅读以下关于软件系统设计的叙述,在答题纸上回答问题1至问题3。[说明]某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设水平。该软件公司组织项目组完成了需求调研,现已进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项目组先列出了可能影响系统架构设计的部分需求如下:(a) 用户界面支持用户的个性化定制;(b) 系统需要支持当前主流的标准和服务,特别是通信协议和平台接口;(c) 用户操作的响应时间应不大于3秒,竞拍板块不大于1秒;(d) 系统具有故障诊断和快速恢复能力;(e) 用户密码需要加密传输;(f) 系统需要支持不低于2G的数据缓存;(g) 用户操作停滞时间超过定时限需要重新登录验证;(h) 系统支持用户选择汉语、英语或法语三种语言之一进行操作。项目组提出了两种系统架构设计方案:瘦客户端C/S架构和胖客户端C/S架构,经过对,上述需求逐条分析和讨论,最终决定采用瘦客户端C/S架构进行设计。
    [问题1](8分) 在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。[问题2] (8分)根据表1-1的分类,将题干所给出的系统需求(a) ~ (h) 分别填入(1) ~ (4) 表1-1需求分类

    问题3 (9分)
    请说明瘦客户端C/S架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需求)。


    答案:
    解析:
    [问题1]系统性能需求( Performance Requirements) : 指响应时间、吞吐量、准确性、有效性、资源利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。安全性需求( Security Requirements ) :系统向合法用户提供服务并阻止非授权用户使用服务方面的系统需求。操作性需求( Operational Requirements) :与用户操作使用系统相关的一些需求 。文化需求( Cultural Requirements) : 带有文化背景因素的系统需求。[问题2](1) (a) (b)(2) (c)(d)(f)(3) (e) (g)(4) (h)[问题3]b,c,h(此题不严谨)

  • 第20题:

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


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

  • 第21题:

    下面哪个场景属于审计的范畴()

    • A、用户在网络上共享Office文档,并设定哪些用户可以阅读.修改
    • B、用户使用加密软件对Office文档进行加密,以阻止其他人看到文档内容
    • C、人员尝试登录他人计算机,输入口令不对,系统提示口令措施,并记录本次登录失败的过程
    • D、用户依照系统提示输入用户名和口令

    正确答案:C

  • 第22题:

    使用帮助窗口中的“目录”选项卡,不可以实现下面哪一项功能()。

    • A、以主题和次主题列表的形式显示可用文档的概述
    • B、允许用户通过选择和展开主题进行浏览
    • C、帮助系统提供了一个结构,使用户可以始终了解自己所处的位置,并能很快地跳到其他主题
    • D、允许用户对特定的单词或词组进行彻底的搜索

    正确答案:D

  • 第23题:

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

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