资源描述
系统分析师
软考系统分析师真题练习及答案(上)
相应的下部分内容百度搜:软考系统分析师真题练习及答案(下)
试题一
某建筑局势国家房屋建筑工程总承包特级资质企业,下辖三个具有国家一级资质的全资子公司,8个直属总部的建筑分公司。全局拥有总资产10亿元,建筑施工产值8亿元。
该建筑局国内系统的计算机技术开发应用起步较早,配备了大量硬件设备,全局从局总部到施工项目经理部计算机配备达1600余台以上,并还在不断地增加。经过十几年的努力、开发、购置出了一系列应用软件,全局软硬件历来投入近2000万元。在工程投标、工程概预算、项目成本管理、人事管理、日常文字处理等方面都应用了计算机技术且取得了很好的效果。
以安装公司、土木公司、大连公司和一公司为代表的一些单位进行了网络信息系统的基本建设和管理信息系统的开发应用实践,各单位的计算机技术开发应用都取得了一定成绩,计算机应用已经在中建八局的经营管理领域中发挥了重要作用。
通过该建筑局各单位信息技术人员多年的努力,该局的信息化建设取得了有目共睹的成绩,但是,该局的信息网络技术应用水平在总体上落后于国内其他主要待业或中建系统的先进企业。
该建筑局的建设项目遍及全国,这样给该局的施工管理带来巨大的挑战。企业内部经常出现,核算不及时、往来账挂的科目不一致、费用核算部门归口不统一、会计制度无法统一执行、借款还款流程混乱不清、汇总合并报表抵消分录编制难度大、资金使用效率低、风险大。其中最为特别的是项目部承接项目全国跑,而所有的资金投入和成本的占用都在项目上,项目现场的财务和核算很难做到及时和准确,财务人员像放风筝,财务管理特别困难。
【问题1】
用150字分析该局应该怎样建设自己的信息网络系统。
【问题2】
物流管理是现代企业经营管理的重点工作之一,而资源消耗是构成施工成本的主要成分,也是目前该建筑局管理工作的薄弱环节,他们迫切需要通过信息化建设规范管理,提高透明度,提高资金效率,降低物耗成本。物流管理是一个庞大的系统,包括项目物流管理、内部信息交流服务、外部信息的采集和筛选等。物流管理又包括计划管理、采购与合同管理、实物与消耗管理等。用150字分析该局应该怎样在系统建设中实现物流管理。
【问题3】
目前该局的各施工单位都有不同规模的软件在使用中,用150字简要阐述如何把这些系统经济、高效地结合到一起。
参考答案:
【问题1】
面对信息化的世界和开发的建筑市场,该局的企业管理必须重视与国际接轨,必须重视用信息技术增强自己的竞争能力,软件配备和管理信息网络必须跃上一个新台阶。如果在进行信息网络系统的建设仍然采用传统的观念和传统的工作方式,必将重复过去的老路,必将继续落后从而制约企业经营管理的现代化进程和发展,措施良机,因此必须吸取以往的经验和教训,抓紧时机建设该局的信息网络系统。
【问题2】
系统建设中实现了物流管理,内部信息交流可以在技术中心开发的“项目施工成本管理系统”的材料管理模块基础上加以扩展。而外部信息的采集和筛选管理软件采取考察国内有关网站,选择若干信息量大、真实可靠、工作效率高、服务价格低的网站进行合作,作为信息源,订货时有较大的选择余地。这样不仅降低了采购成本,也使采购过程更加透明、高效。
【问题3】
项目实施人员在开发过程中,根据实际情况,实现了可以不对各单位原有软件进行统一重新设计,只要对原软件进行必要的规范化修改完善,就可以统一在该建设局企业网络信息系统平台下,达到向上级系统网络化传送数据资料的功能。这样大大减少了人工报送数据的失真恶化大量重复劳动的弊端。
试题二
数据通迅是当前十分活跃与热门的计算机与信息技术的应用领域。某大型通信公司开发了其业务的主要支撑平台(也叫做“通信信息服务平台”)用于在全国与全球开展数据业务的需要。该平台是一个典型的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程序的两倍,在一个企业级应用项目中,这可能是一个很关键的瓶颈。因此,我们得出的结论是:在可能的条件下,尽量地多使用Servlet。当然,与Servlet相比,JSP编程快速,修改方便,在访问量不是很大的应用场合下也是可以接受的。
(4)使用Java作为整体解决方案时,应尽量使用相同版本的JDK。在用Java作为编程语言的项目中,几乎大多要遇到“汉字”问题,即Java在没有经过转换的情况下,在输出汉字时,很可能会出现乱码。采用不同版本的JDK,解决的方案是不一样的,比如V1.2.2版本的JDK和V1.3版本的JDK解决方法就会有一些不一样,把V1.2.2的Java程序放在V1.3的JDK中,就不能顺利输出汉字了.其根本原因在于Java使用了Unicode编码,和中国的国标编码不一样.所以在这个意义上一些人竭力鼓吹的”一次编写,到处运行”似乎不一定能在所有的场合都行得通.
(5)使用Java时,应尽量遵从软件规范.在Java中有一个JVM的概念,即在Java虚拟机中使用了一个垃圾收集器,专门用来回收内存。但是该垃圾收集器在给编程人员带来方便的同时,也隐埋下了隐患。在程序设计中,并不能强制执行垃圾收集器,因此我们要求:在Try,Catch之后必须明确要求回收内存(当然,也只能是通知垃圾收集器来回收垃圾),这样可以有效地提高系统稳定性。
但是在使用Java作为解决方案时,也遇到很多头疼的问题,这些问题导致同时执行的并发性比较差,系统速度慢等等。归纳起来看,曾遇到过的主要具体的问题有:
(1)用Java来实现CORBA中的Component,有时效率会比较低。
(2)用Java来建立数据库连接往往会比较慢。
(3)用JSP编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行JSP程序的服务器,他可以故意地输入一些非法字符或异常信息给JSP程序,于是程序执行将出现异常。这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出这台服务器的JDK的版本号与路径信息等内容。这往往容易让黑客们有机可乘,在可能去抓住系统的漏洞。
【问题1】
试提出马工程师遇见的3个问题的解决方案,并各用80字以内文字说明理由。
【问题2】
Java语言作为一种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。试用200字描述Java的应用前景。
参考答案:
【问题1】
(1)尽量减少Component所执行的业务逻辑量。争取把能够放在存储过程中实现的操作,尽可能在存储过程中加以实现。数据库的存储过程操作比起在Java程序中执行数据库操作要快得多。
(2)既然用Java建立数据库连接比较慢,就可以把数据库连接封装成连接池(Connnect Pool),从而能非常有效地提高系统效率。
(3)可以不从程序入手,而从Web Server着手,把Apache配置成为使这类异常信息不再打印出来,而是使之仅出现一个通用的异常说明的页面。
【问题2】
(1)在因特网上将会有更加广泛的应用。
(2)在嵌入式设备中,Java也大有用武之地。比如,在最新推出的Java技术中,Java已经进入了手机领域。
(3)Java程序大多以线程运行,占用资源少,会逐步代替ASP与CGI程序。根据第三方测试表明,JSP程序比ASP程序要快2倍以上。用JSP代替ASP应是大势所趋。
(4)Java在无线互联网中的应用将会更加广泛。Java支持WAP,可以方便地用Java开发WAP程序,实现WAP应用。
(5)Java与XML的无缝连接使Java在数据传输和异构网络通信方面有着很大的优势。
试题三
随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某图书馆为了尽快地步入世界先进图书馆的行列,已经启动了一部分的数字图书馆工程。该数字图书馆工程主要包括对外信息Web发布系统,交互式检索网、后台馆藏信息管理系统、多媒体资料采集制作以及VOD点播系统等。
郭工程师参与了整个数字化信息系统的总体设计,该图书馆数字化信息系统从网络环境上讲,主要划分为多个网段:
(1)Intranet接入部分,采用2M的DDN专线;
公共网段(非军事区),主要包括前台发布数据库服务器、Web服务器、E-Mail/FTP/DNS服务器、检索服务器及SAN网络区域存储设备;
(2)是内部局域网,包括内网Web服务器、后台馆藏数据库服务器、OA服务器等;
(3)是VOD点播专用网,包括音频视频点播服务器等。
考虑到经费和人员素质及今后的维护管理运营等方面,郭工程师建议操作系统采用Windows NT平台,服务器选用DELL高端的系列,数据库采用IBM的DB2。主干网为千兆快速交互式以太网,局域网百兆到桌面,VOD点播网十兆到桌面。在该网络环境下应用主要分为三大部分:
(1)对外Web发布系统、对外图书辅助检索系统;
(2)后台馆藏信息管理系统和图像/全文混合检索系统;
(3)VOD点播系统。由于绝大部分应用采用Brower/Server方式结构,最终用户在本地只需安装IE或Netscape Web浏览器,在后台数据库服务器的支持下通过网页方式请求和访问各类应用服务。另外,由于在图书馆信息系统中流通的多为索引、摘要、全文或音频视频等多媒体信息,对Web服务器性能与网络带宽等都有更高的要求。
通过不断地试验和实践,郭工程师发现从以下几个方面可以相对有效地提升Web服务器性能:
(1)缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置放在cache服务器中,即使现今只有2M Internet的接入带宽,以上应用的播放速度和效果仍能让用户满意。另外一种方式采用均衡负载设备或Web双机镜像。这种方式通过负载均衡的方法达到Web访问性能最优。Web双机镜像是较早以前流行的方式,虽能使系统可靠性提升,但由于双机总是在互相询问对方状态,将会影响一定的访问性能。均衡负载设备是独立于Web服务器的硬件,它和Web服务器及网站中其他服务器接在同一交换机上,通过负载调度程序为各个服务器分配工作量,从而能达到充分利用资源、提高访问性能的目的。只是由于某图书馆目前对外发布资源相对仍较少,只采用了三台Web服务器,因此目前的均衡负载设备作业还不显著。
(2)从Web服务器的配置来看Web服务器自身CPU个数及速度、网卡数量、Web服务器与防火墙的位置关系等,都会影响到Web服务器的性能。从Web硬件本身来讲,CPU个数的增加、网卡个数的增加、I/O信道的扩展无疑可以直接地提高Web服务器性能。此外,由于千兆口的防火墙目前较少且费用较高,如果把Web服务器放置防火墙之后,一定会大大影响Internet访问性能。某图书馆采用IDS(入侵检测)+Web服务器(服务器防火墙,较低端,不会影响流量)+应用服务器+数据库服务器(防火墙,高端),分层次的安全模式,既保证了系统的安全性,又提升了网络访问性能。另外,某图书馆还采用了SAN网络区域存储来提高服务器访问速度。
(3)三层C/S软件速度设计和应用程序的适当部署也会提高Web服务器的性能。
该图书馆采用这种方式专门开发了搜索引擎应用服务器和混合检索应用服务器等,达到了良好的应用效果。事实上,Web服务器的性能提升还存在很多手段和方法,比如CPU与存储之间关系,Web交换机等。
【问题1】试用80字以内文字说明划分多个网段的好处。
【问题2】试用200字以内文字说明使用缓存服务器的优势。
【问题3】用150字以内文字说明如何部署三层C/S软件结构设计和应用程序可以提高Web服务器的性能。
参考答案:
【问题1】
由于制定了严格的网络级和应用级访问权限,通过具有三层交换能力的高性能交换机和安全授权认证系统等,有效地控制了访问权限,确保了数据的安全性和完整性。
【问题2】
缓存服务器也成为Cache服务器,可以存储Cache静态的内容如网页、多媒体点播资源和会议实况(已压缩的、有一定格式要求的)等。一些先进缓存服务器,已经可以存储Cache数据库、ASP等动态内容。Cache服务器通常放到防火墙之外,外网Web服务器之前,因此Internet用户点击网页不再直接访问网站Web服务器,而是访问Cache服务器。由于Cache服务器具有多个CPU和高速大容量I/O通道,独立的OS,因此能大大缓解Internet访问瓶颈,而且也具有一定的抗黑客攻击的能力。
【问题3】
将业务逻辑、通用访问接口与数据等相互分离、分别置放于Web服务器、应用服务器、数据库服务器上,通过程序功能和逻辑的合理部署,也能大大改进Web服务器性能。通常来说,Web服务器只需接受Internet http访问请求,使Web只有最少的任务,把实际处理较给各个应用服务器处理,然后返回结果给Browser。
试题四
某大型企业集团的信息工程部有一百多名专职的软件工程师从事企业内外的软件开发与维护工作,该集团分布地域广阔,集团内采用了多种操作系统平台和多类开发环境。王总工程师在总结近三年来的软件开发工作时,发现有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)为了保证测试的质量,将测试过程分成几个阶段,即“代码审查、单元测试、集成测试和验收测试。代码会审是由一组人通过阅读、讨论和争论对程序进行静态分析的过程。单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束,经验收后,将软件提交用户。
展开阅读全文