admin 管理员组文章数量: 887192
2024年2月6日发(作者:vs登录界面设计代码数据库)
第1题
单选题
最少知识原则(也称为迪米特法则)是面向对象设计原则之一,指一个软件实体应当尽可能少地与其他实体发生相互作用。这样,当一个实体被修改时,就会尽可能少地影响其他的实体。下列叙述中,“( )”不符最少知识原则。
A.在类的划分上,应当尽量创建松耦合的类
B.在类的设计上,只要有可能,一个类型应当设计成不变类
C.在类的结构设计上,每个类都应当尽可能提高对其属性和方法的访问权限
D.在对其他类的引用上,一个对象对其他对象的引用应当降到最低
【解析】 正确答案:C。
面向对象设计原则包括:
单一职责原则:设计目的单一的类
开放-封闭原则:对扩展开放,对修改封闭
李氏(Liskov)替换原则:子类可以替换父类
依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
接口隔离原则:使用多个专门的接口比使用单一的总接口要好
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
迪米特法则的应用准则:
1) 在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用。
2) 在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性。
3) 在类的设计上,只要有可能,一个类应当设计成不变类。
4) 在对其它对象的引用上,一个类对其它对象的引用应该降到最低。
其中迪米特原则的主要理念是让一个对象尽可能少的了解其它对象,这样,就能尽可能少的产生违规操作,让设计出来的系统更稳定。在本题中,C选项提到“尽可能提高对其属性和方法的访问权限”违背了迪米特原则。
第2题
单选题
客户关系管理(CRM)系统将市场营销的科学管理理念通过信息技术的手段集成在软件上,能够帮助企业构建良好的客户关系。以下关于CRM系统的叙述中,错误的是( )。
A.销售自动化是CRM系统中最基本的模块
B.营销自动化作为销售自动化的补充,包括营销计划的编制和执行、计划结果分析等
系统能够与ERP系统在财务、制造、库存等环节进行连接,但两者关系相对松散,一般不会形成闭环结构
D.客户服务与支持是CRM系统的重要功能。目前,客户服务与支持的主要手段是通过呼叫中心和互联网来实现
【解析】 正确答案:C。
客户关系管理(CRM)系统将市场营销的科学管理理念通过信息技术的手段集成在软件上,能够帮助企业构建良好的客户关系。在客户管理系统中,销售自动化是其中最为基本的模块,营销自动化作为销售自动化的补充,包括营销计划的编制和执行、计划结果分析等功能。客户服务与支持是CRM系统的重要功能。目前,客户服务与支持的主要手段有两种,分别是呼叫中心和互联网。CRM系统能够与ERP系统在财务、制造、库存等环节进行连接,两者之间虽然关系比较独立,但由于两者之间具有一定的关系,因此会形成一定的闭环反馈结构。
第3题
案例题
阅读以下软件系统架构选择的问题,在答题纸上回答问题1至问题3。
某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1给出了该系统的简化示意图。表4-1描述了各种系统输入的含义。
图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)用户改变期望速度后,系统不断进行调整,直至到达恒定速度。理由:这是一个闭
环控制情景,当用户设定期望速度值后,系统需要在不断获取当前速度和外界条件的情况下对系统状态持续调整,使得系统状态尽可能接近这个新的期望状态。。
本题主要考查软件系统架构的比较与选择问题,即如何根振实际系统的要求选择合适的架构风格。
【问题1】
本问题主要考查软件架构风格的基本概念以及面向对象和控制环路两种常见架构风格的特点。根据卡内基·梅隆大学软件工程研究所等权威机构的定义,软件架构风格是描述某一类特定应用领域中软件系统组织方式和惯用方式。
面向对象架构风格的特征是将数据表示和基本操作封装在对象中。这种模式的构件是对象,对象维护自身表示的完整性,对象之间通过消息机制进行通信,对象交互时需要知道彼此的标识,通过对象之间的协作完成计算过程。
控制环路架构风格是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括过程变量、被控变量、输入变量、操纵变量和设定点等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。
【问题2】
主要针对系统的增减速功能的要求设计两种风格的主要构件,在设计构件时需要注意符合两种架构风格的基本要求和约束。
采用面向对象风格的巡航控制系统首先会定义司机、油门、时钟、速度计和车轮等对象。整个计算过程通过对象之间的合理交互完成期望的功能。
控制环路的架构风格将以控制器为核心,期望速度、车轮脉冲、时钟和油门等作为构件。通过不断地反馈机制实现对系统的控制。
【问题3】
主要从应用场景的角度比较两种架构风格。面向对象系统比较适合事件驱动的场景,特别是离散突发事件的处理;而控制环路则适合连续事件的处理,比如维持恒定车速等。
第4题
案例题
阅读以下关于软件架构设计的叙述,在答题纸上回答问题1至问题3 。
【说明】
某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提高开发手机应
用程序的质量和效率。在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研和分析,具体描述如下:
a.需要同时支持该厂商自行定义的应用编程语言的编辑、界面可视化设计、编译、调试等模块,这些模块产生的模型或数据格式差异较大,集成环境应提供数据集成能力。集成开发环境还要支持以适配方式集成公司现有的应用模拟器工具。
b.经过调研,手机应用开发人员更倾向于使用Windows系统,因此集成开发环境的界面需要与Windows平台上的主流开发工具的界面风格保持一致口
c.支持相关开发数据在云端存储,需要保证在云端存储数据的机密性和完整性。
d.支持用户通过配置界面依据自己的喜好修改界面风格,包括颜色、布局、代码高亮方式等,配置完成后无需重启环境。
e.支持不同模型的自动转换。在初始需求中定义的机器性能条件下,对于一个包含50个对象的设计模型,将其转换为相应代码框架时所消耗时间不超过5秒。
f.能够连续运行的时间不小于240小时,意外退出后能够在10秒之内自动重启。
g.集成开发环境具有模块化结构,支持以模块为单位进行调试、测试与发布。
h.支持应用开发过程中的代码调试功能:开发人员可以设置断点,启动调试,编辑器可以自动卷屏并命中断点,能通过变量监视器查看当前变量取值。
在对需求进行分析后,公司的架构师小张查阅了相关的资料,认为该集成开发环境应该采用管道一过滤器(Pipe-Filter)的架构风格,公司的资深架构师王工在仔细分析后,认为应该采用数据仓储(Data Repository)的架构风格。公司经过评审,最终采用了王工的方案。
【问题1】(10分)
识别软件架构质量属性是进行架构设计的重要步骤。请分析题干中的需求描述,填写表1-1中(1)~(5)处的空白。
表1-1 质量属性识别表
【问题2】(7分)
请在阅读题干需求描述的基础上,从交互方式、数据结构、控制结构和扩展方法4个方面对两种架构风格进行比较,填写表1-2中(1)~(4)处的空白。
表1-2 两种架构的比较
【问题3】(8分)
在确定采用数据仓库架构风格后,王工给出了集成开发环境的架构图。请填写图1-1中
(1)~(4)处的空白,完成该集成开发环境的架构图。
1-1 集成开发环境架构图
【解析】 正确答案:【问题1】
(1)f (2)性能 (3)d (4)g (5)b
【问题2】
(1)星型(工具之间通过中心结点进行交互)
(2)数据流(或流式数据)
(3)数据驱动
(4)模型适配(与数据仓储进行数据适配)
【问题3】
(1)模型/数据库/语法结构树
(2)编辑器
(3)适配器
(4)应用模拟器工具。
本题考查的是架构设计过程中涉及到的一些质量属性,以及架构风格的对比。
常用的质量属性包括:
1、性能
性能(performance)是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。
2、可靠性
可靠性(reliability)是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。
3、可用性
可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
4、安全性
安全性(security)是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性、完整性、不可否认性及可控性等特
性。
5、可修改性
可修改性(modifiability)是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。
6、易用性
软件开发工具应有十分友好的用户界面,用户乐于使用;工具应能剪裁和定制,以适应特定用户的需要;工具应能提示用户的交互操作,提供简单有效的执行方式;工具还应能检查用户的操作错误,尽可能自动改正错误。
题目中还涉及到管道过滤器风格与仓库风格的对比。这两种风格的基本概念为:
在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。
在仓库(repository)风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行。
一方面,若构件控制共享数据,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。
题目中对比的方面分别是:
交互方式:管理过滤器很明显是顺序结构或循环结构,数据在管理中进行传递。而仓库结构是数据在中心位置,所有的处理均是中心结点与周边结点之间的交互,从形态来看,是星型的。
数据结构:从数据结构来看,仓库风格会使用一个文件将数据保存起来,所有的操作围绕这个文件进行。而管道过滤器则是在过滤器之间传递数据流。
控制结构:从控制结构来说仓库风格是业务功能驱动,而管道过滤器是由数据流驱动的。
扩展方法:从扩展方法来讲,管道过滤器是通过过滤器提供标准接口与其它过滤器对接,而数据仓库风格,要共享数据,扩展功能,只要功能的操作与数据模型本身是匹配的就行了,就像我们要共享一个数据库做系统集成,此时共享同一数据库的多个应用系统所用的数据模型一定会是一致的,否则无法去共享。
本题最后一问是分析开发环境架构图。要填充这个图,首先得想明白的是,这个环境中,仓库的中心是数据,数据对应的是语法结构树,因为一系列的处理都是以此为依据来进行的。接下来找出与编译器同等地位的其它处理工具即可。
第5题
单选题
对实际应用问题建立了数学模型后,一般还需要对该模型进行检验。通过检验尽可能找出模型中的问题,以利于改进模型,有时还可能会否定该模型。检验模型的做法有多种,但一般不会( )。
A.利用实际案例数据对模型进行检验
B.进行逻辑检验,分析该模型是否会出现矛盾
C.用计算机模拟实际问题来检验模型
D.检验该模型所采用的技术能否被企业负责人理解
【解析】 正确答案:D。
针对实际问题建立的数学模型往往是近似的,往往忽略了许多复杂因素。这种模型能否解决实际问题还需要检验。检验的方法有多种。
利用实际案例数据对模型进行检验是很常见的。将模型作为一个黑盒,通过案例数据的输入,检查其输出是否合理。这是应用人员常用的方法。
有时可以请专家来分析模型是否合理。经验丰富的专家一般会根据模型自身的逻辑,再结合实际情况,分析是否会出现矛盾或问题。
有时很难用实际案例或聘请专家来检验模型,例如,试验或实验的代价太大,难以取得实际案例,有的项目技术比较新,缺乏有经验的专家。这时,如果能利用计算机来模拟实际问题,再在计算机上检验该数学模型,这往往是一种有效的办法。例如,对某种核辐射防护建立的数学模型,采用计算机模拟方法来检验就十分有效。
企业负责人需要提供一切必要的支持来解决实际问题。至于解决过程中采用的技术问题,则需要由技术人员研究决定。企业负责人只需要听取汇报,从宏观上认可就可以,不需要理解其中的技术细节。
第6题
单选题
下列安全协议中( )是应用层安全协议。
B.L2TP
【解析】 正确答案:D。
第7题
单选题
计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中①②③分别表示( )。
A.操作系统、应用软件和其他系统软件
B.操作系统、其他系统软件和应用软件
C.其他系统软件、操作系统和应用软件
D.应用软件、其他系统软件和操作系统
【解析】 正确答案:B。
本题考查计算机系统中软件方面的基本知识。
操作系统(Operating System)的目的是为了填补人与机器之间的鸿沟,即建立用户与计算机之间的接口,而为裸机配置的一种系统软件,如下图所示。
从上图可以看出,操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,其他系统软件属于第二层,如编辑程序、汇编程序、编译程序和数据库管理系统等系统软件;大量的应用软件属于第三层,例如银行账务查询、股市行情和机票预定系统等。其他系统软件和应用软件都是建立在操作系统基础之上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,操作系统已成为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。
第8题
单选题
某公司拟开发一个地面清洁机器人。机器人的控制者首先定义清洁任务和任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用( )架构风格最为合适。
A.面向对象
B.主程序-子程序
C.规则系统
D.管道-过滤器
【解析】 正确答案:C。
规则系统属于虚拟机风格的一种,在本题中要求机器人的控制者首先定义清洁任务和任务之间的关系,然后由机器人执行,这说明机器人能对自定义的一些逻辑进行解析,这是虚拟机风格的一大特色。
第9题
案例题
阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活
动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
(1)在线交易平台必须在1s内完成客户的交易请求。
(2)该平台必须保证客户个人信息和交易信息的安全。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10s。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
【问题1】(9分)
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
【问题2】(16分)
请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
【解析】 正确答案:【问题1】
常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
这些质量属性的具体含义是:
(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
(2)可用性是系统能够正常运行的时间比例。
(3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
(5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
(6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
(7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
(8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
(9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
(10)功能性是系统所能完成所期望工作的能力。
(11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
【问题2】
(1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
(3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。。
本题考查考生对于质量属性及质量属性实现策略的掌握情况。
【问题1】
常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
这些质量属性的具体含义是:
(1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
(2)可用性是系统能够正常运行的时间比例。
(3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系
统功能特性的基本能力。
(4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
(5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
(6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
(7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
(8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
(9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
(10)功能性是系统所能完成所期望工作的能力。
(11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
【问题2】
本题主要结合实际案例,考查实现各种质量属性的策略。
(1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
(3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
第10题
单选题
计算机采用分级存储体系的主要目的是为了( )。
A.解决主存容量不足的问题
B.提高存储器读写可靠性
C.提高外设访问效率
D.解决存储的容量、价格和速度之间的矛盾
【解析】 正确答案:D。
分级存储体系中,速度快的存储器,单位价格高,而速度慢的存储器,单位价格低,所以利用分级方式,能得到很好的性价比。
第11题
单选题
假设某证券公司的股票交易系统中有正在运行的事务,此时,若要转储该交易系统数据库中的全部数据,则应采用( )方式。
A.静态全局转储
B.动态全局转储
C.静态增量转储
D.动态增量转储
【解析】 正确答案:B。
从题目中“系统中有正在运行的事务”了解到应采用动态方式,从题目中“全部数据”了解到应是全局转储,所以应采用:动态全局转储。
第12题
单选题
假设某证券公司的股票交易系统中有正在运行的事务,此时,若要转储该交易系统数据库中的全部数据,则应采用( )方式。
A.静态全局转储
B.动态全局转储
C.静态增量转储
D.动态增量转储
【解析】 正确答案:B。
从题目中“系统中有正在运行的事务”了解到应采用动态方式,从题目中“全部数据”了解到应是全局转储,所以应采用:动态全局转储。
第13题
单选题
目前处理器市场中存在CPU和DSP两种类型处理器,分别用于不同场景,这两种处理器具有不同的体系结构,DSP采用( )。
A.冯.诺伊曼结构
B.哈佛结构
结构
D.与GPU相同结构
【解析】 正确答案:B。
编程DSP芯片是一种具有特殊结构的微处理器,为了达到快速进行数字信号处理的目的,DSP芯片一般都采用特殊的软硬件结构:
(1) 哈佛结构。
DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问,每个存储器独立编址,独立访问。这种安排将处理器的数据吞吐率加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。
在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行。
(2) 流水线。
与哈佛结构相关,DSP芯片广泛采用2-6级流水线以减少指令执行时间,从而增强了处理器的处理能力。这可使指令执行能完全重叠,每个指令周期内,不同的指令都处于激活状态。
(3) 独立的硬件乘法器。
在实现多媒体功能及数字信号处理的系统中,算法的实现和数字滤波都是计算密集型的应用。在这些场合,乘法运算是数字处理的重要组部分,是各种算法实现的基本元素之一。乘法的执行速度越快,DSP处理器的性能越高。相比与一般的处理器需要30-40个指令周期,DSP芯片的特征就是有一个专用的硬件乘法器,乘法可以在一个周期内完成。
(4) 特殊的DSP指令。
DSP的另一特征是采用特殊的指令,专为数字信号处理中的一些常用算法优化。这些特殊指令为一些典型的数字处理提供加速,可以大幅提高处理器的执行效率。使一些高速系统的实时数据处理成为可能。
(5) 独立的DMA总线和控制器。
有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作。在不影响CPU工作的条件下,DMA的速度已经达到800MB/S以上。这在需要大数据量进行交换的场合可以减小CPU的开销,提高数据的吞吐率。提高系统的并行执行能力。
(6) 多处理器接口。
使多个处理器可以很方便的并行或串行工作以提高处理速度。
(7) JTAG(Joint Test Action Group)标准测试接口(IEEE 1149标准接口)。
便于对DSP作片上的在线仿真和多DSP条件下的调试。
(8) 快速的指令周期。
哈佛结构,流水线操作,专用的硬件乘法器,特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期在10ns以下。快速的指令周期可以使DSP芯片能够实时实现许多DSP应用。
第14题
案例题
阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。
某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
(2)应用软件应与硬件无关,便于软硬件的升级;
(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据
隔离;
(4)宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。
图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个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行;冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。
第15题
单选题
网络开发过程中,物理网络设计阶段的任务是( )。
A.依据逻辑网络设计的功能要求,确定设备的具体物理分布和运行环境
B.分析现有网络和新网络的各类资源分布,掌握网络所处状态
C.根据需求规范和通信规范,实施资源分配和安全规划
D.理解网络应该具有的功能和性能,最终设计出符合用户需求的网络
【解析】 正确答案:A。
网络的生命周期至少包括网络系统的构思计划、分析设计、实时运行和维护的过程。对于大多数网络系统来说,由于应用的不断发展,这些网络系统需要不断重复设计、实施、维护的过程。
网络逻辑结构设计是体现网络设计核心思想的关键阶段,在这一阶段根据需求规范和通信规范,选择一种比较适宜的网络逻辑结构,并基于该逻辑结构实施后续的资源分配规划、安全规划等内容。
物理网络设计是对逻辑网络设计的物理实现,通过对设备的具体物理分布、运行环境等的确定,确保网络的物理连接符合逻辑连接的要求。在这一阶段,网络设计者需要确定具体的软硬件、连接设备、布线和服务。
现有网络体系分析的工作目的是描述资源分布,以便于在升级时尽量保护已有投资,通过该工作可以使网络设计者掌握网络现在所处的状态和情况。
需求分析阶段有助于设计者更好地理解网络应该具有什么功能和性能,最终设计出符合用户需求的网络,它为网络设计提供依据。
第16题
案例题
阅读以下关于某项目开发计划的说明,在答题纸上回答问题1至问题4。
【说明】
某软件公司拟开发一套电子商务系统,王工作为项目组负责人负责编制项目计划。由于该企业业务发展需要,CEO急于启动电子商务系统,要求王工尽快准备一份拟开发系统的时间和成本估算报告。
项目组经过讨论后,确定出与项目相关的任务如表2-1所示。其中,根据项目组开发经验,分别给出了正常工作及加班赶工两种情况下所需的时间和费用。
表2-1 项目开发任务进度及费用
【问题1】(7分)
请用400字以内文字说明王工拟编制的项目计划中应包括哪些内容。
【问题2】(8分)
请根据表2-1,分别给出正常工作和最短工期两种情况下完成此项目所需的时间和
费用。
【问题3】(4分)
如果项目在系统调研阶段用了7天时间才完成,公司要求尽量控制成本,王工可在后续任务中采取什么措施来保证项目能按照正常工作进度完成?
【问题4】(6分)
如果企业CEO想在34天后系统上线,王工应该采取什么措施来满足这一要求?这种情况下完成项目所需的费用是多少?
【解析】 正确答案:【问题1】
(1)项目背景
(2)项目经理、项目经理的主管领导、客户方联系人、客户方的主管领导,项目领导小组(项目管理团队)和项目实施小组人员
(3)项目的总体技术解决方案
(4)所选择的项目管理过程及执行水平
(5)对这些过程的工具、技术和输入输出的描述
(6)选择的项目的生命周期和相关的项目阶段
(7)项目最终目标和阶段性目标
(8)进度计划
(9)项目预算
(10)变更流程和变更控制委员会
(11)对于内容、范围和时间的关键管理评审,以便于确定悬留问题和未决决策
【问题2】
正常工作成本=74200元。
正常工作工期=41天。
最短工期成本=91600元。
最短工期=27天。
【问题3】
在“B提交项目计划”和“I安装部署”任务中采用加班工作措施,以使得能够按照正常工作进度完成。
【问题4】
标准时长41天的任务,要34天完成,应赶工7天。具体赶工的任务包括:将A、B、H、I四个任务加班完成,这样正好弥补之前延误的7天工期,最终以79700元完成项目。。
正常工作成本=7200元+1600元+9600元+22200元+5100元+8700元+6000元+9800元+4000元=74200元。
正常工作工期=4+2+6+12+6+7+4=41天。
最短工期成本=8400元+1900元+14200元+27600元+5700元+10000元+6000元+12800元+5000元=91600元。
最短工期=3+1+4+8+5+4+2=27天。
要缩短项目的工期,主要有两种方法:
赶工:对成本和进度进行权衡,确定如何尽量少增加费用的前提下最大限度地缩短项目所需要的时间,称为赶进度也称赶工。
快速跟进:调整逻辑关系,通过对各种逻辑关系并行确定来缩短项目周期。在进行项目设计中,当风险不大时,通过精心安排而使项目的前后阶段相互搭接以加快项目进展速度的做法叫快速跟进。
其中快速跟进由于只是将部分工作提前开始,所以不会明显增加成本,在当前的环境中,是比较合适的方法。
第17题
单选题
分布式系统开发中,通常需要将任务分配到不同的逻辑计算层。业务数据的综合计算分析任务属于( )。
A.表示逻辑层
B.应用逻辑层
C.数据处理层
D.数据层
【解析】 正确答案:B。
分布式系统开发分为五个逻辑计算层:表示层实现用户界面;表示逻辑层为了生成数据表示而必须进行的处理任务,如输入数据编辑等;应用逻辑层包括为支持实际业务应用和规则所需的应用逻辑和处理过程,如信用检查、数据计算和分析等;数据处理层包括存储和访问数据库中的数据所需的应用逻辑和命令,如查询语句和存储过程等;数据层是数据库中实际存储的业务数据。
第18题
单选题
在如下线性约束条件下:2x+3y<=30;x+2y>=10;x>=y;x>=5;y>=0,目标函数2x+3y的极小值为( )。
A.16.5
B.17.5
C.20
D.25
【解析】 正确答案:B。
暂无解析。
第19题
案例题
阅读以下有关软件与信息安全方面的说明,在答题纸上回答问题1至问题3。
【说明】
某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:
(1)为局域网业务环境提供用户身份鉴别与资源访问授权功能;
(2)为局域网环境中交换的网络数据提供加密保护;
(3)为服务器和终端机存储的敏感持久数据提供加密保护;
(4)保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件:
(5)服务器中存储的敏感数据按安全管理员配置的权限访问;
(6)业务系统生成的单个敏感数据文件可能会达到数百兆的规模;
(7)终端机用户存储的敏感数据为用户私有;
(8)局域网业务环境的总用户数在100人以内。
【问题1】(9分)
在确定该支撑平台所采用的用户身份鉴别机制时,王工提出采用基于口令的简单认证机制,而李工则提出采用基于公钥体系的认证机制。项目组经过讨论,确定采用基于公钥体系的机制,请结合上述需求具体分析采用李工方案的原因。
【问题2】(7分)
针对需求(7),项目组经过讨论,确定了基于数字信封的加密方式,其加密后的文件结构如图5-1所示。请结合需求说明对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式,为什么?并对该机制中的数据加密与解密过程进行描述。
图5-1 加密数据文件结构
【问题3】(9分)
对数据库服务器中的敏感关系数据进行加密保护时,客户业务系统中的敏感关系数据主要是特定数据库表中的敏感字段值,客户要求对不同程度的敏感字段采用不同强度的密钥进行防护,且加密方式应尽可能减少安全管理与应用程序的负担。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,请用300字以内的文字对这两种方式进行解释,并结合需求说明应采用哪种加密方式。
【解析】 正确答案:【问题1】
(1)基于口令的认证方式实现简单,但由于口令复杂度及管理方面的原因,易受到认证攻击;而在基于公钥体系的认证方式中,由于其密钥机制的复杂性,同时在认证过程中私钥不在网络上传输,因此可以有效防止认证攻击,与基于口令的认证方式相
比更为安全。
(2)按照需求描述,在完成用户身份鉴别后,需依据用户身份进一步对业务数据进行安全保护,且受保护数据中包含用户私有的终端机数据文件,在基于口令的认证方式中,用户口令为用户和认证服务器共享,没有用户独有的直接秘密信息,而在基于公钥的认证方式中,可基于用户私钥对私有数据进行加密保护,实现更加简便。
(3)基于公钥体系的认证方式协议和计算更加复杂,因此其计算复杂度要高于基于口令的认证方式,但业务环境的总用户数据在100人以内,用户规模不大,运行环境又为局域网环境,因此基于公钥体系的认证方式可以满足平台效率要求。
【问题2】
应采用流加密方式。因为需求中提及“单个敏感数据文件可能会达到数百兆的规模”,文件数据量较大,使用流加密方式可以获得更高的加解密效率。
数据加密与解密过程如下:
其加密过程为:首先生成一个对称密钥,使用用户公钥加密这个对称密钥后存储在文件头,然后用生成的对称密钥加密文件数据存储。
其解密过程为:用户首先使用自己的私钥解密被加密的对称密钥,再用该对称密钥解密出数据原文。
【问题3】
目前数据库管理系统提供的基本数据加密支持主要有以下两种:
(1)加解密API:数据库管理系统提供可在SQL语句中调用的加解密API,应用可以利用这些API构建自己的基础架构,对数据进行加密保护。
(2)透明加密:安全管理员为数据库敏感字段选择加密方式及密钥强度,应用访问受保护数据时只需使用口令打开或关闭密钥表,对数据的加密和解密由数据库管理系统自动完成。
加解密API方式的灵活性强,但构建和管理复杂;而透明加密方式管理简单,应用程序负担轻,但灵活性较差。用户要求尽可能减少安全管理与应用程序的负担,因此应选择透明加密方式。。
本题考查的是安全性方面的知识,解决相关的问题,需要对一些基础知识有一定了解。如:对称加密与非对称加密的基本流程,优缺点;口令认证与基于公钥的数字证书认证做法有什么不同;数据库加密中的加解密API与透明加密。具体的情况参看试题答案。
第20题
单选题
在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件。在这种情况下进行的维护活动称为( )。
A.改正性维护
B.适应性维护
C.完善性维护
D.预防性维护
【解析】 正确答案:C。
本题中强调了要满足“用户提出新的功能与性能要求”,这属于完善性维护的典型实例。
版权声明:本文标题:2021软考高级系统架构设计师历年经典真题及解析part7 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1707178561h511465.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论