软考系统分析师考试模拟题及答案(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软考系统分析师考试模拟题及答案(一)
系统分析师考试在2017上半年开考,希赛小编为大家整理了一些系统分析师考试模拟试题,希望对准备参加考试的你有所帮助。
试题一:
阅读以下关于软件工程管理方面的叙述,回答问题1和问题2
某大型企业集团的信息工程部有一百多名专职的软件工程师从事企业内外的软件开发与维护工作,该集团分布地域广阔,集团内采用了多种操作系统平台和多类开发环境。王总工程师在总结近三年来的软件开发工作时,发现有10%左右的软件开发项目未能完成而被迫取消;其余25%的项目中大多也不能完全实现预定的目标,特别是在软件测试环节出了很大问题。
王总工程师组织了信息工程啊内有关的管理人员和业务骨干,召开了三次小结与分析会议,在会能上能下集中讨论了软件包工程管理有关的问题,在归纳的意见中出现了以下的一些内容:
(1)软件开发已经逐渐成为一类工业化的生产过程,必须尽可能对其中的所有环节进行有效的管理与控制。
(2)软件工程管理与其它工程管理相比,主要的困难包括:软件产品的不可见性(难以把握开发进展与质量要求等)、软件开发过程的非标准化和许多软件项目开发的“一次性”(缺少可借鉴的经验)等。
(3)软件开发面对着进度、成本、功能和性能四方面的主要约束,即要求在预定的期限内,使用规定的有限资源,满足不断增长的软件功能与性能需求。从这个角度来看,必须强化软件工程的管理。
(4)Client/Server与Browser/Serve模式等已成为当前软件体系结构的
主流。在日益复杂的分布式开发环境下,进行跨平台的团队开发,实现代码共享相当困难,软件工程管理在其中可以发挥其重大作用。
(5)从目前情况看,要注意软件维护可能带来的副作用,也就是没有找到隐含的错误,在以后的软件维护中一定要注意。
(6)跨平台复杂环境多重结构开发含有许多需要加以管理的对象类型,多样化的团体开发也应加强管理。
(7)为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以测试计划的编制是很重要的。
(8)一个大中型的应用系统的开发可能包含有成百上千个软件模块以及数以百万计的代码行,任何一个编程人员不可能了解和追踪该应用系统所有的每一个片断,因此使软件代码具有可管理性和可审核性将是软件工程管理中的一项重要任务。
(9)要提高软件的使用效率,要实施软件复用。软件复用是指重复使用已有软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。软件复用的两个层次包括知识复用,方法和标准复用,软件复用的级别包括代码复用和分析结构的复用。
(10)我们的长远目标是需要建立一类软件开发管理体系,能有效地辅助软件开发全过程中对有关信息的收集和管理,这类体系应是可重复使用权用的并可适用于各类软件开发项目,使软件资源在软件的生命周期中保持完整。
(11)对外服务的软件开发机构应当努力取得ISO9000质量认证,并根据CMM9能力(成熟度模型)标准来改进自己的开发过程,在这些质量标准实现的过程中,软件工程管理起着得要的作用。
【问题1】
王总工程师指出在上述十一条意见中,有三条的提法是不够恰当的或者是不够全面的,请你指出其序号,并各用50字以内文字说明理由。
【问题2】
信息工程部与王总工程师在详细分析本集团的软件工程管理方面存在的各类问题时,发现在不少软件项目实施过程中,随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。软件测试这一环节较为薄弱,尤其是对软件测试问题认识上有些偏差。软件测试包括人工测试和机器测试两大部分。请你用250字以内文字以提纲方式说明,软件测试的一般步骤?(只需列出相应的名称并且简要说明即可)
参考答案:
【问题1】
(6)从目前情况看,要注意软件维护可能带来的副作用,软件维护带来的副作用是修改软件而造成的错误。
(7)为使开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以软件文档的编制是很重要的。
(9)软件复用有三个层次包括知识复用、方法和标准复用以及软件成分复用,软件复用的级别包括代码复用、分析结构和设计结果的复用。
【问题2】
软件测试的一般步骤是:
(1)测试人员要阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。
(2)为了保证测试的质量,将测试过程分成几个阶段,即“代码审查、单元测试、集成测试和验收测试。代码会审是由一组人通过阅读、讨论和争论对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束,经验收后,将软件提交用户。
试题二:
阅读以下关于数据通信方面的叙述,回答问题1和问题2。
数据通迅是当前十分活跃与热门的计算机与信息技术的应用领域。某大型通信公司开发了其业务的主要支撑平台(也叫做“通信信息服务平台”)用于在全国与全球开展数据业务的需要。该平台是一个典型的Java技术应用于Internet的项目。马工程师提出在全系统中强以这样来用的Java构架系统:(1)该系统可分为4层,分别是Browser、表示层、中间件层和数据层。
(2)表示层用Java中的JavaScript来实现页面输出。
(3)中间件层用Java来实现CORBA,即实现Component(构件),主
要实现业务逻辑的封装与复用。
(4)数据层主要是数据库和存储过程的实现。
在应用Java技术时,马工程师所采用的技术和策略可大致上归纳为以下5个方面:
(1)使JavaScript尽量简单,因为JavaScript在系统中是放在服务器端执行的,该语言是通过一个解释执行的,相对速度很慢,采用了两台HP前置机来运行JavaScript,但是其运行速度还是不理想,所以在设计中把JavaScript 仅用来显示从中间件层所得到的数据,生成动态页面。在最初的设计中表示层(JavaScript)曾承担了一些业务逻辑处理操作,导致效率不理想,因此,不得不尽量地减少JavaScript的程序量。
(2)用Java实现CORBA时,应尽量考虑共享和复用。在本系统中,最初的设计是让Java在实现Component时,只是执行一些数据库表的操作,导致表示层的负载较大。后来重新设计时,总结归纳了所有的UseCase,找出了其中可供共享和复用的接口,把相同的业务逻辑操作封装到一个接口中去。因为Java的执行效率比JavaScript要高,因此提高了系统效率。
(3)由于在别的项目中,该公司曾大量地使用过Java中的JSP技术和Servlet技术,为了得到系统的一些执行速率的数据,采用了一个著名的压力测试软件—LoadRunner来测试这两种技术的差别。测试表明:用JSP和Servlet 完成同样的一个操作,并且保证是在相同的测试环境中(相同服务器、压力测试工作站与数据库环境),得到的测试数据却有着很大差别,JSP完成一个操作的平均执行时间在致会是Servlet程序的两倍,在一个企业级应用项目中,这可能是一个很关键的瓶颈。因此,我们得出的结论是:在可能的条件下,尽量地多使