李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。
第1题:
性能是Web应用系统的一个重要质量属性。请用200字以内的文字说明三个主要影响Web应用系统性能的因素,针对每个因素提出解决方案以提高系统性能。
第2题:
阅读以下关于嵌入式软件体系架构的叙述。
3. 某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:
(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);
(2) 应用软件应与硬件无关,便于软硬件的升级;
(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;
(4) 宇航设备可靠性要求高,系统要有故障处理能力。
公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。
[问题1]
用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。
[问题2]
在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。
请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
两种操作系统的主要差异
[问题3]
故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。
第3题:
试题四(25 分)
阅读以下关于工业控制系统软件方面的叙述,在答题纸上回答问题 1 至问题 4。 某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:
(1)本控制系统的软件运行平台拟采用嵌入式实时操作系统,控制系统的工作周期为 10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出;
(2)为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图 4-1 所示。
(3)在 10ms 工作周期内的时间分配见表 4-1 所示:
公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成本项目的策划、需求分析和方案设计工作,重点强调系统的可靠性要求,并特别提示:目前比较流行的嵌入式操作系统普遍采用可抢占式优先级调度策略,不能满足用户关于“能够精确地按事先预定的时间顺序完成数据的采集、处理和输出”的要求。
【问题 1】 (12 分)
李工接到任务后,认为本项目比较简单,很快就安排 3 名技术人员分别负责数据采集/输出模块、数据处理模块和比较监控模块的编写。总工程师听到汇报后,认为李工的方案和安排不妥,理由是李工忽视了系统的可靠性要求,对系统需求的理解不够深入 为实现系统关于可靠性方面的需求:
(1)你认为在组织结构、人员分工、设计开发等方面应做出哪些安排和规定?
(2)请写出关于余度表决算法的考虑。
【问题 2】 (7 分)
请用 200 字以内的文字说明李工应如何设计优先级调度策略,并按照表 4-1 的要求实现任务流程处理。
【问题 3】 (3 分)
图 4-2 为控制软件的数据流程关系,请根据本题给出的各个功能模块,填补其中的空缺处。
【问题 4】 (3 分)
请用 150 字以内的文字说明什么是系统失步,系统失步后应如何处理。
第4题:
请用300字以内文字简要分析李工在软件测试的组织工作中存在什么问题,并简要叙述软件测试的一般步骤。
第5题:
试题四(共25分)
阅读以下关于数据库架构设计的叙述,回答问题1至问题3。
某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展( Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展( Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。
【问题1】(11分)
请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。
【问题2】(8分)
与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?
【问题3】(6分)
在实际应用中,NoSQL数据库存在的问题有哪些?
试题四分析
传统关系型数据库在需要处理大规模并发数据访问的社交网络应用场景下,暴露出了很多问题,例如需要很高的实时插入性能;需要海量的数据存储能力同时还需要非常快的查询和检索速度;需要将数据存储无缝扩展到整个集群环境下,并且能够支持在线扩展等。NoSQL数据库模式打破了传统关系型数据库的范式约束、SQL查询语言和事务一致性,实现了以键值数据格式存储的Hash数据库。
本问题主要考查应试者对于关系型数据库和NoSQL数据模式的掌握情况,特别是关系型数据库和NoSQL数据库模式的特点和实现方式。本题结合一个典型的实际项目案例,首先要求应试者分析关系型数据库和NoSQL模式之间的异同,然后针对系统需求分析采用NoSQL数据库模式的原因;针对NoSQL数据库模式的典型应用,列举出其能够支持的数据存储方式及其特点;最后分析在实际应用中还需要在哪些方面进行改进以提升其应用效果。
【问题1】
本问题要求考生针对关系数据库模式和NoSQL模式的特点进行分析。关系数据库利用加锁机制支持并发操作,执行效率较低,利用关系表的方式存储数据,通过SQL语言和数据库进行交互,主要通过提升硬件配置等向上扩展方式提升性能,B树和哈希是常用的索引结构,其能够广泛应用于多个领域;NoSQL作为新兴的数据库模式处理并发的效率较高,支持海量数据存储和查询,利用增加分布存储的数据库节点数目扩展性能,主要以键值方式存储数据,在对于大规模并发数据处理的分布式应用中有更好的表现。
根据项目的实际应用需求,所以采用NoSQL模式更为合适。
【问题2】
本问题要求考生掌握NoSQL数据模式所支持的数据类型。常见的数据类型包括表格/列存储、文档存储、图像存储、键值存储、对象和多值存储等。
【问题3】
本问题要求应试者分析NoSQL数据库模式在实际应用中的不足之处。作为一种新兴的数据库模式,其实现的完整性、应用范围和专业知识等与成熟的关系型数据库相比还有一定的差距。
参考答案
【问题1】
关系数据库模式和NoSQL模式的特点比较:
选择李工方案的原因分析:
(1)社交网络系统对于数据库并发负载要求非常高,对于数量较大的数据库并发写要求,关系型数据库难以满足;
(2)海量数据的高效率存储和访问需求,数百万账号信息,关系型数据库查询效率很低;
(3)可扩展性需求,可以通过增加更多的服务器节点来实现扩展。
【问题2】
MySQL数据库支持的数据存储类型有:
(1)表格/列存储:存储稀疏表格数据,类似于传统的二维表格式存储;
(2)文档存储:用于存储非结构化或半结构化文件;
(3)图像存储:利用节点、边和属性的方式存储图片类数据,常被用于存储社交网络服务中;
(4)键值存储:类似哈希表一样存储简单的键值对,有基于内存和基于磁盘两种实现方式;
(5)对象和多值存储:对象数据库存储面向对象语言中的对象,多值数据库存储表格型数据,每个单元格中可存储多个值。
【问题3】
NoSQL数据库存在的问题是:
(1)成熟度不够,大量关键特性有待实现;
(2)开源数据库产品的支持力度有限;
(3)数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库;
(4) NoSQL数据库专家较少,大部分都处于学习阶段。
第6题:
上述网上贷款系统能够实际应用的基本前提之一是满足金融领域的安全性需求。该系统必须要满足哪些安全方面的需求?请用200字以内文字简要说明。
第7题:
关于数据库应用系统的需求分析工作,下列说法正确的是______。
A) 通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明
B) 在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图
C) 数据需求分析的主要工作是要辨识出数据处理中的数据处理流程
D) 数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标
A.
B.
C.
D.
第8题:
第9题:
第10题:
第11题:
第12题:
第13题:
阅读以下关于软件项目可行性分析方面的叙述,回答问题1至问题4。
某信息技术公司拟开发一套新的信息系统,以提高公司业务运作的效率。按照公司总裁的要求,公司软件开发部系统分析人员张工和李工对新系统方案的各项可行性指标进行分析,重点分析了新系统方案的经济可行性。张工根据财务部门提供的各项数据给出了项目的投资回收表如下表1所示。
通过对上面数据进行分析,计算出项目的投资回收期是2.75年。李工对此提出了自己的观点,认为应该基于货币时间价值来计算各项数据,并给出了在贴现率是12%时的投资回收表如下表2所示,其中“***”表示此处的数据未给出。
大家经过讨论,认为李工给出的投资回收表中的数据更为合理,并将其作为系统方案建议书的部分内容上报公司管理层。
请简要说明系统分析中可行性分析包括哪几个方面,并简要说明其具体含义。
第14题:
阅读以下关于嵌入式实时系统设计的描述,回答问题1至问题3。 【说明】 嵌入式系统是当前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作,随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规定,大学毕业生必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。
【问题1】(7分) 王工在培训中指出:嵌入式系统主要负责对设备的各种传感器进行管理与控制。而航空航天飞行器的电子设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用300字以内文字说明什么是实时系统,实时系统有哪些主要特性。 【问题2】(8分) 实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种分类方法,即时间类别、时间需求和工作方式结构。根据自己所掌握的“实时性”知识,将图3-1给出的实时特性按三种分类方式,填写图3-1中(1)~(8)处空白。 备选答案:时限的危害程度;时间角色;弱;时间响应;固定;时限/反应时间;时间明确;输入/输出激励;时间触发;强;周期/零星/非周期;事件触发。图3-1 实时特性分类图 【问题3】(10分) 可靠性是实时系统的关键特性之一,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。请简要说明错误、缺陷、故障和失效的定义;并在图3-2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的表现形式,填写图3-2中(1)~(6)处的空白。
第15题:
试题二(共25分)
阅读以下关于软件系统数据建模的说明,在答题纸上回答问题l至问题3.
【说明】
某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:
(1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。
(2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。
项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。
项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。
【问题1】(9分)
请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。
【问题2】(8分)
请简要叙述常见的反规范化技术有哪些。
【问题3】(8分)
请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。
第16题:
根据李工提供的上述统计数据和分析意见,企业主管认为李工不是一个称职的测试组织者,并提出了至少有4个方面的理由说明必须加强测试力量并完善测试工作,请你用300字以内文字简要说明李工的结论中存在的问题。
第17题:
阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1、问题2和问题3。
某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。
系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1 024KB)、4路422半双工串行接口 (其中两路的频率115 200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):
.系统要求以5ms为周期从双口存储器中采集1 024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)
.要求以20ms为周期从两路422接口(115 200Hz)中采集一定格式的大小系统为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)
.系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)
.作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)
本公司课题组根据用户的硬件环境及对软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发,李工程师(简称李工)提出为了保证系统的实时性,应该采用在裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。
请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?
第18题:
选择实时嵌入式操作系统及开发环境时应考虑哪几方面问题?请用200字以内文字简要论证。
第19题:
第20题:
第21题:
第22题:
第23题: