1、高级系统分析师下午试题()-1 及答案解析(总分:72.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:14.00)阅读以下关于软件工程管理方面的叙述,回答问题 1 和问题 2。某大型企业集团的信息工程部有一百多名专职的软件工程师从事企业内外的软件开发与维护工作,该集团分布地域广阔。集团内采用了多种操作系统平台和多类开发环境。王总工程师在总结近三年来的软件开发工作时,发现有 10%左右的软件开发项目未能完成而被迫取消;其余 25%的项目中大多也不能完全实现预定的目标。特别是在软件测试环节出了很大问题。王总工程师组织了信息工程部内有关的管理人员和业务骨干,召开了三次小结与分析会议
2、,在会上集中讨论了软件工程管理有关的问题,在归纳的意见中出现了以下的一些内容:(1)软件开发已经逐渐成为一类工业化的生产过程,必须尽可能对其中的所有环节进行有效的管理与控制。(2)软件工程管理与其它工程管理相比,主要的困难包括:软件产品的不可见性(难以把握开发进展与质量要求等)、软件开发过程的非标准化和许多软件项目开发的“一次性” (缺少可借鉴的经验)等。(3)软件开发面对着进度、成本、功能和性能四方面的主要约束,即要求在预定的期限内,使用规定的有限资源,满足不断增长的软件功能与性能需求。从这个角度来看,必须强化软件工程的管理。(4)Client/Server 与 Browser/Server
3、 模式等已成为当前软件体系结构的主流。在日益复杂的分布式开发环境下,进行跨平台的团队开发,实现代码共享相当困难,软件工程管理在其中可以发挥其重大作用。(5)从目前情况看,要注意软件维护可能带来的副作用,也就是没有找到隐含的错误,在以后的软件维护中一定要注意。(6)跨平台复杂环境多重结构开发含有许多需要加以管理的对象类型,多样化的团体开发也应加强管理。(7)为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以测试计划的编制是很重要的。(8)一个大中型的应用系统的开发可能包含有成百上千个软件模块以及数以百万计的代码行,任何一个编程人员不可能了解和追踪该应用系统所有的每一个片断
4、,因此使软件代码具有可管理性和可审核性将是软件工程管理中的一项重要任务。(9)要提高软件的使用效率,要实施软件复用。软件复用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。软件复用的两个层次包括知识复用;方法和标准复用,软件复用的级别包括代码复用和分析结构的复用。(10)我们的长远目标是需要建立一类软件开发管理体系,能有效地辅助软件开发全过程中对有关信息的收集和管理,这类体系应是可重复使用的并可适用于各类软件开发项目,使软件资源在软件的生命周期中保持完整。(11)对外服务的软件开发机构应当努力取得 ISO9000 质量认证,并根据 CMM
5、(能力成熟度模型)标准来改进自己的开发过程。在这些质量标准实现的过程中,软件工程管理起着重要的作用。(分数:14.00)(1).问题 1王总工程师指出在上述十一条意见中,有三条的提法是不够恰当的或者是不够全面的,请你指出其序号,并各用 50 字以内文字说明理由。(分数:7.00)_(2).问题 2信息工程部与王总工程师在详细分析本集团的软件工程管理方面存在的各类问题时,发现在不少软件项目实施过程中,随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。软件测试这一环节较为薄弱尤其是对软件测试问题认识上有一些偏差。软件测试包括人工测试和机器测试两大部分。请你用
6、 250 字以内文字以提纲方式说明,软件测试的一般步骤?(只需列出相应的书称并且简要说明即可)(分数:7.00)_二、B试题二/B(总题数:1,分数:14.00)阅读以下关于数据通信方面的叙述,回答问题 1 和问题 2。数据通讯是当前十分活跃与热门的计算机与信息技术的应用领域。某大型通信公司开发了其业务的主要支撑平台(也叫做“通信信息服务平台”)用于在全国与全球开展数据业务的需要。该平台是一个典型的Java 技术应用于 Internet 的项目。马工程师提出在全系统中可以这样来用 Java 构架系统:(1)该系统可分为 4 层,分别是 Browser、表示层、中间件层和数据层。(2)表示层用
7、Java 中的 Java Script 来实现页面输出。(3)中间件层用 Java 来实现 CORBA,即实现 Component(构件),主要实现业务逻辑的封装与复用。(4)数据层主要是数据库和存储过程的实现。在应用 Java 技术时,马工程师所采用的技术和策略可大致上归纳为以下 5 个方面:(1)使 Java Script 尽量简单,因为 Java Script 在系统中是放在服务器端执行的,该语言是通过一个解释器解释执行的,相对速度很慢,采用了两台 HP 前置机来运行 Java Script,但是其运行速度还是不理想,所以在设计中把 Java Script 仅用来显示从中间件层所得到的数
8、据,生成动态页面。在最初的设计中表示层(Java Script)曾承担了一些业务逻辑处理操作,导致效率不理想,因此,不得不尽量地减少 Java Script 的程序量。(2)用 Java 实现 CORBA 时,应尽量考虑共享和复用。在本系统中,最初的设计是让 Java 在实现Component 时,只是执行一些数据库表的操作,导致表示层的负载较大。后来,重新设计时,总结归纳了所有的 Use Case,找出了其中可供共享和复用的接口,把相同的业务逻辑操作封装到一个接口中去。因为 Java 的执行效率比 Java Script 要高,因此提高了系统效率。(3)由于在别的项目中,该公司曾大量地使用过
9、 Java 中的 JSP 技术和 Servlet 技术。为了得到系统的一些执行速率的数据,采用了一个著名的压力测试软件Load Runner 来测试这两种技术的差别。测试表明:用 JSP 和 Servlet 完成同样的一个操作,并且保证是在相同的测试环境中(相同服务器、压力测试工作站与数据库环境),得到的测试数据却有着很大差别,JSP 完成一个操作的平均执行时间大致会是 Servlet程序的两倍。在一个企业级应用项目中,这可能是一个很关键的瓶颈。因此,我们得出的结论是:在可能的条件下,尽量地多使用 Servlet。当然,与 Servlet 相比,JSP 编程快速,修改方便,在访问量不是很大的应
10、用场合下也是可以接受的。(4)使用 Java 作为整体解决方案时,应尽量使用相同版本的 JDK。在用 Java 作为编程语言的项目中,几乎大多要遇到“汉字”问题,即 Java 在没有经过转换的情况下,在输出汉字时,很可能会出现乱码。采用不同版本的 JDK,解决的方案是不一样的,比如 V1.1.2 版本的 JDK 和 V1.3 版本的 JDK 解决方法就会有一些不一样,把 V1.2.2 的 Java 程序放在 v1.3 的 JDK 中,就不能顺利输出汉字了。其根本原因在于 Java使用了 Unicode 编码,和中国的国标编码不一样。所以在这个意义上一些人竭力鼓吹的“一次编写,到处运行”似乎不一
11、定能在所有的场合都行得通。(5)使用 Java 时,应尽量遵从软件规范。在 Java 中有一个 JVM 的概念,即在 Java 虚拟机中使用了一个垃圾收集器,专门用来回收内存。但是该垃圾收集器在给编程人员带来方便的同时,也隐埋下了隐患。在程序设计中,并不能强制执行垃圾收集器,所以,开发人员不能确定某对象是否已释放,常常让编程人员养成依赖自动收集的坏习惯,因此我们要求:在 Try,Catch 之后必须明确要求回收内存(当然,也只能是通知垃圾收集器来回收垃圾),这样可以有效地提高系统稳定性。但是在使用 Java 作为解决方案时,也遇到很多头疼的问题,这些问题导致同时执行的并发性比较差,系统速度慢等
12、等。归纳起来看,曾遇到过的主要具体的问题有:(1)用 Java 来实现 CORBA 中的 Component,有时效率会比较低。(2)用 Java 来建立数据库连接往往会比较慢。(3)用 JSP 编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行 JSP 程序的服务器,他可以故意地输入一些非法字符或异常信息给 JSP 程序,于是程序执行将出现异常。这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出这台服务器的 JDK 的版本号与路径信息等内容。这往往容易让黑客们有机可乘,有可能去抓住系统的漏洞。(分数:14.00)(1).问题 1试提出马工程师遇见的 3 个问题
13、的解决方案,并各用 80 字以内文字说明理由。(分数:7.00)_(2).问题 2Java 语言作为一种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。试用 200 字描述 Java 的应用前景。(分数:7.00)_三、B试题三/B(总题数:1,分数:15.00)阅读以下关于图书馆的数字信息化工程方面的叙述,回答问题 1 和问题 2。随着 Intranet 信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某图书馆为了尽快地步入世界先进图书馆的行列,已经启动了一部分的数字图书馆工程。该数字图书馆工程主要包括对
14、外信息 Web 发布系统,交互式检索网、后台馆藏信息管理系统、多媒体资料采集制作以及 VOD 点播系统等。郭工程师参与了整个数字化信息系统的总体设计,该图书馆数字化信息系统从网络环境上讲,主要划分为多个网段:(1)Intranet 接入部分,采用 2M 的 DDN 专线;(2)公共网段(非军事区),主要包括前台发布数据库服务器、Web 服务器、E-Mail/ FTP/DNS 服务器、检索服务器及 SAN 网络区域存储设备;(3)是内部局域网,包括内网 Web 服务器、后台馆藏数据库服务器、OA 服务器等;(4)是 VOD 点播专用网,包括音频视频点播服务器等。考虑到经费和人员素质及今后的维护管
15、理运营等方面,郭工程师建议操作系统采用 Windows NT 平台,服务器选用 DELL 高端的系列,数据库采用 IBM 的 DB2。主干网为千兆快速交换式以太网,局域网百兆到桌面,VOD 点播网十兆到桌面。在该网络环境下应用主要分为三大部分:(1)对外 Web 发布系统、对外图书辅助检索系统;(2)后台馆藏信息管理系统和图像/全文混合检索系统;(3)VOD 点播系统。由于绝大部分应用采用 Browser/Server 方式结构,最终用户在本地只需安装 IE 或者Netscape Web 浏览器,在后台数据库服务器的支持下通过网页方式请求和访问各类应用服务。另外,由于在图书馆信息系统中流通的多
16、为索引、摘要、全文或音频视频等多媒体信息,对 Web 服务器性能与网络带宽等都有更高的要求。通过不断地试验和实践,郭工程师发现从以下几个方面可以相对有效地提升 Web 服务器性能:(1)缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置放在 cache 服务器中,即使现今只有 2M Internet 的接入带宽,以上应用的播放速度和效果仍能让用户满意。另外一种方式采用均衡负载设备或 Web 双机镜像。这种方式通过负载均衡的方法达到 Web 访问性能最优。Web 双机镜像是较早以前流行的方式,
17、虽能使系统可靠性提升,但由于双机总是在互相询问对方状态,将会影响一定的访问性能。均衡负载设备是独立于 Web 服务器的硬件,它和 Web 服务器及网站中其他服务器接在同一交换机上,通过负载调度程序为各个服务器分配工作量,从而,能达到充分利用资源,提高访问性能的目的。只是由于某图书馆目前对外发布资源相对仍较少,只采用了三台 Web 服务器,因此目前的均衡负载设备作用还不显著。(2)从 Web 服务器的配置来看 Web 服务器自身 CPU 个数及速度、网卡数量、Web 服务器与防火墙的位置关系等,都会影响到 Web 服务器的性能。从 Web 服务器硬件本身来讲, CPU 个数的增加、网卡个数的增加
18、、I/O 信道的扩展无疑可以直接地提高 Web 服务器性能。此外,由于千兆口的防火墙目前较少且费用较高;如果把 Web 服务器放置防火墙之后,一定会大大影响 Internet 访问性能。某图书馆采用 IDS(入侵侦测)+Web 服务器(服务器防火墙,较低端,不会影响流量)+应用服务器+数据库服务器(防火墙,高端),分层次的安全模式,既保证了系统的安全性,又提升了网络访问性能。另外,某图书馆还采用了 SAN 网络区域存储来提高服务器访问速度。(3)三层 C/S 软件结构设计和应用程序的适当部署也会提高 Web 服务器的性能。该图书馆采用这种方式专门开发了搜索引擎应用服务器和混合检索应用服务器等,
19、达到了良好的应用效果。事实上,Web 服务器的性能提升还存在很多手段和方法,比如 CPU 与存储之间关系,Web 交换机等等。(分数:15.00)(1).问题 1试用 80 字以内文字说明划分多个网段的好处。(分数:5.00)_(2).问题 2试用 200 字以内文字说明使用缓存服务器的优势。(分数:5.00)_(3).问题 3用 150 字以内文字说明如何部署三层 C/S 软件结构设计和应用程序可以提高Web 服务器的性能。(分数:5.00)_四、B试题四/B(总题数:1,分数:15.00)阅读以下材料,回答问题 1 和问题 2。某建筑局是国家房屋建筑工程总承包特级资质企业,下辖三个具有国家
20、一级资质的全资子公司,八个直属总部的建筑分公司。全局拥有总资产 10 亿元,建筑施工产值 8 亿元,该建筑局国内系统的计算机技术开发应用起步较早,配备了大量硬件设备,全局从局总部到施工项目经理部计算机配备达 1600 余台以上,并还在不断地增加。经过十几年的努力,开发、购置出了一系列应用软件,全局软硬件历年来投入近 2000 万元。在工程投标、工程概预算、项目成本管理、人事管理、日常文字处理等方面都应用了计算机技术且取得了很好的效果。以安装公司、土木公司、大连公司和一公司为代表的一些单位进行了网络信息系统的基本建设和管理信息系统的开发应用实践,各单位的计算机技术开发应用都取得了一定成绩,计算机
21、应用已经在中建八局的经营管理领域中发挥了重要作用。通过该建筑局各单位信息技术人员多年的努力,该局的信息化建设取得了有目共睹的成绩,但是,该局的信息网络技术应用水平在总体上落后于国内其他主要行业或中建系统的先进企业。该建筑局的建设项目遍及全国,这样给该局的施工管理带来巨大的挑战。企业内部经常出现,核算不及时、往来账挂的科目不一致、费用核算部门归口不统一、会计制度无法统一执行、借款还款流程混乱不清、汇总合并报表抵消分录编制难度大、资金使用效率低、风险大。其中最为特别的是项目部承接项目全国跑,而所有的资金投入和成本的占用都在项目上,项目现场的财务和核算很难做到及时和准确,财务人员像放风筝,财务管理特
22、别困难。(分数:15.00)(1).问题 1用 150 字分析该局应该怎样建设自己的信息网络系统。(分数:5.00)_(2).问题 2物流管理是现代企业经营管理的重点工作之一,而资源消耗是构成施工成本的主要成分,也是目前该建筑局管理工作的薄弱环节,他们迫切需要通过信息化建设规范管理,提高透明度,提高资金效率,降低物耗成本。物流管理是一个庞大的系统,包括项目物流管理、内部信息交流服务、外部信息的采集和筛选等。物流管理又包括计划管理、采购与合同管理、实物与消耗管理等。用 150字分析该局应该怎样在系统建设中实现物流管理。(分数:5.00)_(3).问题 3目前该局的各施工单位都有不同规模的软件在使
23、用中,用 150 字简要阐述如何把这些系统经济、高效地结合到一起。(分数:5.00)_五、B试题五/B(总题数:1,分数:14.00)阅读以下关于可扩展的标记语言方面的叙述,回答问题 1 和问题 2。可扩展的标记语言(Extensible Markup Language,缩写为 XML)是 SGML(Standard Generalized Markup Language,标准通用标记语言)的一个子集,是简化的 SGML。它是互联网联合组织(W3C) 创建一组规范,以便于软件开发人员和内容创作者在网页上组织信息,其目的不仅在于满足不断增长的网络应用需求,而且也在于确保在通过网络进行交互合作时,
24、具有良好的可靠性与互操作性。随着 Web 技术、分布式对象技术两者的有机结合,传统的 Client/Server 主从结构逐渐向灵活的多级分布式 Web 计算模型进行着演变。多级分布式 Web 体系结构可划分为三层:表示层(客户机层)、功能层(应用服务器层)、数据层(数据库服务器层)。而由于 XML 可以自定义文件类型,有利于信息的表达和结构化组织,而且可以以一致的方式格式化和传送数据,若将其运用到三层 Client/Server 模型中,必将产生很大的网络应用优势,即基于 XML的三层 C/S 模型。从网络体系结构的各层次上看,基于 XML 的三层 C/S 模型包括:数据层、功能层、表示层。
25、数据层实现数据的集成,XML 数据产生于多种数据源,但都以统一的 XML 格式表达传输。功能层实现数据的发送与处理,应用服务器通过 HTTP 交换数据,通过 DOM 处理 XML 数据。表示层实现数据的显示,XML 数据可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可被其他系统所用。在基于 XML 的三层 C/S 模型中,中间层一次性从远程数据库中获取满足客户需求的信息,生成相应的 XML 文档,以后中间层就不需要再与远程数据库进行交互了,即与远程数据库的连接也就终止了。一旦中间件软件把满足客户需要的信息组装起来以后,就可以以 XML 形式发送给客户了,这样客户与中间层也就无需进一
26、步交互。XML 数据发送给客户端后,客户应用和脚本语言就可以直接使用这些数据,这时客户端与中间层服务器之间的连接就可以中止了。(分数:14.00)(1).问题 1请用 100 字左右简要分析基于 XML 的三层 C/S 模型的应用过程应具有的功能。(分数:7.00)_(2).问题 2请用 200 字左右分析基于 XML 的三层 C/S 模型的特点。(分数:7.00)_高级系统分析师下午试题()-1 答案解析(总分:72.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:14.00)阅读以下关于软件工程管理方面的叙述,回答问题 1 和问题 2。某大型企业集团的信息工程部有一百多名专
27、职的软件工程师从事企业内外的软件开发与维护工作,该集团分布地域广阔。集团内采用了多种操作系统平台和多类开发环境。王总工程师在总结近三年来的软件开发工作时,发现有 10%左右的软件开发项目未能完成而被迫取消;其余 25%的项目中大多也不能完全实现预定的目标。特别是在软件测试环节出了很大问题。王总工程师组织了信息工程部内有关的管理人员和业务骨干,召开了三次小结与分析会议,在会上集中讨论了软件工程管理有关的问题,在归纳的意见中出现了以下的一些内容:(1)软件开发已经逐渐成为一类工业化的生产过程,必须尽可能对其中的所有环节进行有效的管理与控制。(2)软件工程管理与其它工程管理相比,主要的困难包括:软件
28、产品的不可见性(难以把握开发进展与质量要求等)、软件开发过程的非标准化和许多软件项目开发的“一次性” (缺少可借鉴的经验)等。(3)软件开发面对着进度、成本、功能和性能四方面的主要约束,即要求在预定的期限内,使用规定的有限资源,满足不断增长的软件功能与性能需求。从这个角度来看,必须强化软件工程的管理。(4)Client/Server 与 Browser/Server 模式等已成为当前软件体系结构的主流。在日益复杂的分布式开发环境下,进行跨平台的团队开发,实现代码共享相当困难,软件工程管理在其中可以发挥其重大作用。(5)从目前情况看,要注意软件维护可能带来的副作用,也就是没有找到隐含的错误,在以
29、后的软件维护中一定要注意。(6)跨平台复杂环境多重结构开发含有许多需要加以管理的对象类型,多样化的团体开发也应加强管理。(7)为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以测试计划的编制是很重要的。(8)一个大中型的应用系统的开发可能包含有成百上千个软件模块以及数以百万计的代码行,任何一个编程人员不可能了解和追踪该应用系统所有的每一个片断,因此使软件代码具有可管理性和可审核性将是软件工程管理中的一项重要任务。(9)要提高软件的使用效率,要实施软件复用。软件复用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率、降低开发成本的目的。软件
30、复用的两个层次包括知识复用;方法和标准复用,软件复用的级别包括代码复用和分析结构的复用。(10)我们的长远目标是需要建立一类软件开发管理体系,能有效地辅助软件开发全过程中对有关信息的收集和管理,这类体系应是可重复使用的并可适用于各类软件开发项目,使软件资源在软件的生命周期中保持完整。(11)对外服务的软件开发机构应当努力取得 ISO9000 质量认证,并根据 CMM(能力成熟度模型)标准来改进自己的开发过程。在这些质量标准实现的过程中,软件工程管理起着重要的作用。(分数:14.00)(1).问题 1王总工程师指出在上述十一条意见中,有三条的提法是不够恰当的或者是不够全面的,请你指出其序号,并各
31、用 50 字以内文字说明理由。(分数:7.00)_正确答案:()解析:(5)从目前情况看,要注意软件维护可能带来的副作用,软件维护带来的副作用是修改软件而造成的错误。 (7)为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以软件文档的编制是很重要的。 (9)软件复用有三个层次包括知识复用,方法和标准复用以及软件成分复用,软件复用的级别包括代码复用,分析结构和设计结果的复用。(2).问题 2信息工程部与王总工程师在详细分析本集团的软件工程管理方面存在的各类问题时,发现在不少软件项目实施过程中,随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得
32、更加困难。软件测试这一环节较为薄弱尤其是对软件测试问题认识上有一些偏差。软件测试包括人工测试和机器测试两大部分。请你用 250 字以内文字以提纲方式说明,软件测试的一般步骤?(只需列出相应的书称并且简要说明即可)(分数:7.00)_正确答案:()解析:软件测试的一般步骤是: (1)测试人员要阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。 (2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试和验收测试。代码会审是由一组人通过阅读、讨论和争议对程序
33、进行静态分析的过程。单元测试集中在检查软件设计的最小单位-模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。验收测试的目的是向未来的用户表明系统能够像预定要求那样工作。经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束,经验收后,将软件提交用户。二、B试题二/B(总题数:1,分数:14.00)阅读以下关于数据通信方面的叙述,回答问题 1 和问题 2。数据通讯是当前十分活跃与热门的计算机与信息技术的应用领域。某大型通信公司开发了其业务的主要支撑平台(也
34、叫做“通信信息服务平台”)用于在全国与全球开展数据业务的需要。该平台是一个典型的Java 技术应用于 Internet 的项目。马工程师提出在全系统中可以这样来用 Java 构架系统:(1)该系统可分为 4 层,分别是 Browser、表示层、中间件层和数据层。(2)表示层用 Java 中的 Java Script 来实现页面输出。(3)中间件层用 Java 来实现 CORBA,即实现 Component(构件),主要实现业务逻辑的封装与复用。(4)数据层主要是数据库和存储过程的实现。在应用 Java 技术时,马工程师所采用的技术和策略可大致上归纳为以下 5 个方面:(1)使 Java Scr
35、ipt 尽量简单,因为 Java Script 在系统中是放在服务器端执行的,该语言是通过一个解释器解释执行的,相对速度很慢,采用了两台 HP 前置机来运行 Java Script,但是其运行速度还是不理想,所以在设计中把 Java Script 仅用来显示从中间件层所得到的数据,生成动态页面。在最初的设计中表示层(Java Script)曾承担了一些业务逻辑处理操作,导致效率不理想,因此,不得不尽量地减少 Java Script 的程序量。(2)用 Java 实现 CORBA 时,应尽量考虑共享和复用。在本系统中,最初的设计是让 Java 在实现Component 时,只是执行一些数据库表的
36、操作,导致表示层的负载较大。后来,重新设计时,总结归纳了所有的 Use Case,找出了其中可供共享和复用的接口,把相同的业务逻辑操作封装到一个接口中去。因为 Java 的执行效率比 Java Script 要高,因此提高了系统效率。(3)由于在别的项目中,该公司曾大量地使用过 Java 中的 JSP 技术和 Servlet 技术。为了得到系统的一些执行速率的数据,采用了一个著名的压力测试软件Load Runner 来测试这两种技术的差别。测试表明:用 JSP 和 Servlet 完成同样的一个操作,并且保证是在相同的测试环境中(相同服务器、压力测试工作站与数据库环境),得到的测试数据却有着很
37、大差别,JSP 完成一个操作的平均执行时间大致会是 Servlet程序的两倍。在一个企业级应用项目中,这可能是一个很关键的瓶颈。因此,我们得出的结论是:在可能的条件下,尽量地多使用 Servlet。当然,与 Servlet 相比,JSP 编程快速,修改方便,在访问量不是很大的应用场合下也是可以接受的。(4)使用 Java 作为整体解决方案时,应尽量使用相同版本的 JDK。在用 Java 作为编程语言的项目中,几乎大多要遇到“汉字”问题,即 Java 在没有经过转换的情况下,在输出汉字时,很可能会出现乱码。采用不同版本的 JDK,解决的方案是不一样的,比如 V1.1.2 版本的 JDK 和 V1
38、.3 版本的 JDK 解决方法就会有一些不一样,把 V1.2.2 的 Java 程序放在 v1.3 的 JDK 中,就不能顺利输出汉字了。其根本原因在于 Java使用了 Unicode 编码,和中国的国标编码不一样。所以在这个意义上一些人竭力鼓吹的“一次编写,到处运行”似乎不一定能在所有的场合都行得通。(5)使用 Java 时,应尽量遵从软件规范。在 Java 中有一个 JVM 的概念,即在 Java 虚拟机中使用了一个垃圾收集器,专门用来回收内存。但是该垃圾收集器在给编程人员带来方便的同时,也隐埋下了隐患。在程序设计中,并不能强制执行垃圾收集器,所以,开发人员不能确定某对象是否已释放,常常让
39、编程人员养成依赖自动收集的坏习惯,因此我们要求:在 Try,Catch 之后必须明确要求回收内存(当然,也只能是通知垃圾收集器来回收垃圾),这样可以有效地提高系统稳定性。但是在使用 Java 作为解决方案时,也遇到很多头疼的问题,这些问题导致同时执行的并发性比较差,系统速度慢等等。归纳起来看,曾遇到过的主要具体的问题有:(1)用 Java 来实现 CORBA 中的 Component,有时效率会比较低。(2)用 Java 来建立数据库连接往往会比较慢。(3)用 JSP 编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行 JSP 程序的服务器,他可以故意地输入一些非法字符或异常信息给 J
40、SP 程序,于是程序执行将出现异常。这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出这台服务器的 JDK 的版本号与路径信息等内容。这往往容易让黑客们有机可乘,有可能去抓住系统的漏洞。(分数:14.00)(1).问题 1试提出马工程师遇见的 3 个问题的解决方案,并各用 80 字以内文字说明理由。(分数:7.00)_正确答案:()解析:(1) 尽量减少 Component 所执行的业务逻辑量。争取把能够放在存储过程中实现的操作,尽可能在存储过程中加以实现。数据库的存储过程操作比起在 Java 程序中执行数据库操作要快得多。 (2) 既然用 Java 建立数据库连接比较
41、慢,就可以把数据库连接封装成连接池(Connect Pool),从而能非常有效地提高系统效率。 (3)可以不从程序下手,而从 Web Server 着手,把 Apache 配置成为使这类异常信息不再打印出来,而是使之仅出现一个通用的异常说明的页面。(2).问题 2Java 语言作为一种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。试用 200 字描述 Java 的应用前景。(分数:7.00)_正确答案:()解析:(1) 在因特网上将会有更加广泛的应用。 (2) 在嵌入式设备中,Java 也大有用武之地。比如,在最新推出的 Java 技术中,Java 已经进入了手机
42、领域。 (3) Java 程序大多以线程运行,占用资源少,会逐步代替 ASP 与 CGI 程序。根据第三方测试表明:JSP 程序比 ASP 程序要快 2 倍以上。用 JSP 代替 ASP 应是大势所趋。 (4) Java 在无线互联网中的应用将会更加广泛。 Java 支持 WAP,可以方便地用 Java 开发WAP 程序,实现 WAP 应用。 (5) Java 与 XMI,的无缝连接使 Java 在数据传输和异构网络通信方面有着很大的优势。三、B试题三/B(总题数:1,分数:15.00)阅读以下关于图书馆的数字信息化工程方面的叙述,回答问题 1 和问题 2。随着 Intranet 信息技术的发
43、展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某图书馆为了尽快地步入世界先进图书馆的行列,已经启动了一部分的数字图书馆工程。该数字图书馆工程主要包括对外信息 Web 发布系统,交互式检索网、后台馆藏信息管理系统、多媒体资料采集制作以及 VOD 点播系统等。郭工程师参与了整个数字化信息系统的总体设计,该图书馆数字化信息系统从网络环境上讲,主要划分为多个网段:(1)Intranet 接入部分,采用 2M 的 DDN 专线;(2)公共网段(非军事区),主要包括前台发布数据库服务器、Web 服务器、E-Mail/ FTP/DNS 服务器、检索服务器及
44、SAN 网络区域存储设备;(3)是内部局域网,包括内网 Web 服务器、后台馆藏数据库服务器、OA 服务器等;(4)是 VOD 点播专用网,包括音频视频点播服务器等。考虑到经费和人员素质及今后的维护管理运营等方面,郭工程师建议操作系统采用 Windows NT 平台,服务器选用 DELL 高端的系列,数据库采用 IBM 的 DB2。主干网为千兆快速交换式以太网,局域网百兆到桌面,VOD 点播网十兆到桌面。在该网络环境下应用主要分为三大部分:(1)对外 Web 发布系统、对外图书辅助检索系统;(2)后台馆藏信息管理系统和图像/全文混合检索系统;(3)VOD 点播系统。由于绝大部分应用采用 Browser/Server 方式结构,最终用户在本地只需安装 IE 或者Netscape Web 浏览器,在后台数据库服务器的支持下通过网页方式请求和访问各类应用服务。另外,由于在图书馆信息系统中流通的多为索引、摘要、全文或音频视频等多媒体信息,对 Web 服务器性能与网络带宽等都有更高的要求。通过不断地试验和实践,郭工程师发现从以下几个方面可以相对有效地提升 Web 服务器性能:(1)缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1