系统分析师2007年05月下午题-1-案例分析(附答案) 试题一
阅读下列关于程序测试计划的叙述,在答题纸上回答问题1至问题4。
ABFCDGEH 图1-1
某程序P包括A~H八个模块,其结构如图1-1所示,其中模块D与G需要调用公共模块E。
现计划采用自顶向下方法执行程序P的测试项目,该项目包括多个作业。设作业A的任务是对模块A进行测试,作业B的任务是对模块B进行测试,……,依此类推。作业P的任务是对程序P进行整体测试。表1-1列出了该项目各作业计划所需的天数、至少必须的天数(即再增大花费也不能缩短的天数)以及每缩短1天测试所需增加的费用。
表1-1 作业 A B C D E F G H P 计划所需天数 2 5 7 4 4 3 5 4 5 至少必须的天数 1 3 4 3 2 2 4 2 5 每缩短1天抽需增加的费用(元) 500 1000 2500 2000 2000 1500 2500 2000 图1-2是尚未完成的该项目计划图,其中,每条箭线表示一个测试作业,箭线上标注的字母表示作业名,数字表示计划测试天数。
25B,D,4C,750A,2E,46P,571F,334 图1-2
【问题1】
请通过填补箭线完成图1-2所示的该项目计划图。若为虚作业,请画成虚箭线;若为实箭线,请在箭线上注明作业名以及计划测试天数。 【答案】
25B,D,4C,750A,2E,46P,571H,4F,33G,54 【问题2】
完成该测试项目计划需要多少天? 【答案】
20天 【问题3】
(1) 如果要求该测试项目比原计划提前1天完成,则至少应增加多少费用,应将哪
些测试作业缩短1天?
(2) 如果要求该测试项目在(1)的基础上再提前1天完成,则至少应再增加多少费
用,应再将哪些测试作业缩短1天?
【答案】
(1) 将作业A缩短1天,需要增加500元。
(2) 再将作业B缩短1天,需要再增加1000元。 【问题4】
假设该测试项目已按原计划部署,到了第7天末,发现模块A与B已按计划测试完成,但模块F却刚刚测试完,比原计划延迟了2天。为了保证该项目仍能在原计划总天数内完成,则至少应增加多少费用,应缩短哪些作业多少天? 【答案】
应增加2500元,将作业G缩短1天。 试题二
阅读以下关于I/O系统处理能力评估的说明,在答题纸上回答问题1至问题3。
拟建设的某事务处理系统数据交换非常频繁。经过初步分析,存储子系统的I/O性能决定了整个系统的响应时间。目前主流磁盘的容量为40GB和80GB两种规格。采用不同规格的磁盘,存储子系统的I/O性能会有很大的不同,同时也产生不一样的成本。评价使用小容量或大容量磁盘每秒每个I/O操作成本,对于选择恰当的设计方案意义重大。
经过调研,该项目的系统分析师小刘得到了以下与存储子系统有关的部件的性能和成本说明:
(1) CPU系统,成本是20000元,处理能力是2500MIPS。 (2) 主存的带宽是16字节,访问周期是10ns。
(3) 1000MB/s的I/O总线,可连接20个Ultra3 SCSI总线和控制器。
(4) Ultral3 SCSI总线,成本是500元,传输速度是160MB/s,每条总线最多可以支
持15个磁盘,执行一个磁盘I/O操作平均增加0.3ms的开销。
(5) 每个磁盘I/O操作需要使用50000条CPU指令。
(6) 安装磁盘的驱动器盒,成本是每个驱动器盒1500元。为磁盘提供电力和降温,
每个驱动器盒配置一条SCSI连接线,可以安放80GB磁盘8个或者40GB的磁盘12个。
(7) 无论是大容量磁盘不是小容量磁盘,成本都是10元/GB,转速都是15000RPM
(每分钟15000转),平均寻道时间是5ms,传输速率是40MB/s。
为了进一步进行定量评估,小刘假设磁盘存储容量必须是1920GB(大、小两种规格的磁盘不能混用),每次I/O的平均数据量是32KB,每次磁盘I/O操作时间=平均寻道时间+平均旋转延迟+传输时间,所有磁盘负载都是均衡的,而且所有设备的能力都可以得到100%的发挥。
说明:用IOPS表示每秒执行的I/O数量。 【问题1】
(1) CPU系统能够支持的最大IOPS是多少? (2) 主存能够支持的最大IOPS是多少? (3) I/O总线能够支持的最大IOPS是多少?
(4) 每个Ultra3 SCCI总线能支持的最大IOPS是多少? 【答案】
(1) CPU系统能够支持的最大IOPS=2500MIPS/50000指令每次I/O=50000 (2) 主存能够支持的最大IOPS=(1/10ns)*16)/32KB每次I/O?50000
(3) I/O总线能够支持的最大IOPS=1000MB/s/32KB每次I/O?31250(或32000) (4) 每个Ultral3SCSI总线能够支持的最大IOPS=1/(数据传输时间+每个I/O操作的
开销)=1/(32KB/160MB/s+0.3ms)=1/0.5ms=2000
【问题2】
I/O链中最后一个连接是磁盘本身。
(1) 平均每次磁盘的I/O时间是多少(精确到0.1ms)? (2) 操作每个磁盘的最大IOPS是多少?
(3) 采用大小两种规格的磁盘,磁盘能够提供的最大IOPS分别是多少? 【答案】
(1) 平盘的平均I/O时间=5ms+0.5/15000RPM+32KB/40MB/s=5+2.0+0.8=7.8ms (2) 每个磁盘的最大IOPS=1/7.8ms?128
(3) 采用80G规格的磁盘,磁盘系统能提供的最大IOPS为3072。 (4) 采用40G规格的磁盘,磁盘系统能提供的最大IOPS为6144。 【问题3】
(1) 采用大小两种规格的磁盘以组织存储系统,分别需要几个驱动器盒和几条SCSI
连接线?
(2) 系统I/O性能的瓶颈是由哪个部件决定的?
(3) 两种组织方式的总成本分别是多少(精确到0.1元)?
(4) 两种组织方式的每个IOPS的成本分别是多少(精确到0.1元)? (5) 哪种方式的性价比高? 【答案】
(1) 若采用80GB规格的磁盘则需要3个驱动器盒和3条SCSI连接线。
若采用40GB规格的磁盘则需要4个驱动器盒和4条SCSI连接线。
(2) I/O性能瓶颈由磁盘本身决定。
(3) 采用80GB磁盘的总成本为20000+3*500+1920*10+1500*3=45200
采用40GB磁盘的总成本为20000+4*500+1920*10+1500*4=47200
(4) 采用80GB磁盘的每个IOPS的成本为45200/3072?14.7
采用40GB磁盘的每个IOPS的成本为47200/6144?7.7
(5) 采用40GB磁盘的组织方式性能价格比高。 试题三
阅读以下关于Java企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题1至问题3。
某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择适合的企业应用系统开发架构非常重要。项目组在进行方案认证时,项目组成员提出了两种开发思路。
(1) 刘工建议采用J2EE5.0和EJB3.0进行开发。理由是J2EE定义了标准的应用开
发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE5.0主要目标是简化开发,相比EJB2.1,EJB3.0 具有很多改进和提高。
(2) 杜工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由
是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。
项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。 【问题1】
Java企业应用框架一般被划分为三个层次,请用150字以内文字说明都有哪三个层次?功能分别是什么? 【答案】
表现层、业务逻辑组件层和持久层。
表现层用来建立应用系统的界面,对应视图(View)。
业务逻辑组件层用来开发应用逻辑,对应控制器(Controller)。 持久层是实现持久化存储,对应模型(Model)。 【问题2】
请用200字以内的文字叙述Struts、Spring和Hibernate开源框架特点和结合方式。 【答案】
(1) Struts框架
Struts是基于模型-视图-控制器(MVC)模式的开源框架,主要用于企业应用中表示层的实现。
借助于Struts,开发人员可以把主要精力集中在业务处理上,简化遵循MVC设计模式的Web应用开发工作,很好地实现代码重用,提高开发效率。
(2) Spring框架
Spring是业务组件层轻量级框架。
Spring框架是一个基于IoC(依赖注入)和AOP(面向方面编程)的构架。
(3) Hibernate框架
Hibernate属于持久层框架。Hibernate是一个开源的O/R Mapping框架,它对JDBC进行了非常轻量级的对象封装。可以在应用EJB的J2EE框架中取代CMP,完成持久化的重任。
Struts框架+Spring框架+Hibernate框架实现了表现层、业务逻辑组件层和持久层的结合。
【问题3】
请用200字以内的文字说明基于Struts、Spring和Hibernate的轻量级框架与基于EJB的重量级框架解决问题的侧重点有什么不同? 【答案】
轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。
采用轻量框架后,一方面因为采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试效率;另一方面轻量级框架多数是开源项目,开源社区提供了良好的设计和许多快速构建工具以及大量现成可供参考的开源代码,这有利于项目的快速开发。
而作为重量级框架EJB框架则强调高可伸缩性,适合于开发大型企业应用。 在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由容器来处理。另外,EJB容器通过减少数据库访问次数分布式处理方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。
轻量级框架的产生并非是对重量级框架的否定,可以说二者是互补的。轻量级框架旨在开发具有更强大,功能更完备的企业应用;而新EJB3.0则在努力简化J2EE从而使EJB不仅仅是擅长处理大型企业系统,也利用开发中小型系统,这也是EJB轻量化的一种努力。对于大型企业应用以及将来可能涉及到能力扩展的中小型应用采用结合轻量级框架和重量级框架也不失为一种较好的解决方案 试题四
阅读以下关于工业控制系统软件方面的叙述,在答题纸上回答问题1至问题4。 某公司新近签订了一份控制系统软件的研制合同。合同技术要求如下:
(1) 本控制系统的软件运行平台拟采用嵌入式系统实时操作系统,控制系统的工作
周期为10ms,要求控制软件能够精确地按事先预定的时间顺序完成数据的采集、处理和输出。
(2) 为了提高整个系统的可靠性,控制系统采用容错处理,即用两个相对独立的计
算机承担相同的工作,通过交叉对比,实现控制的双余度管理;当任何一台计算机出现故障时,系统可以进行单余度控制。系统结构如图4-1所示。
输入A输入B计算机1CCDL输出交叉计算机2输出输入C
图4-1
(3) 在10ms工作周期内的时间分配如表4-1所示。
表4-1 功能 余度数据采集 输入交叉对比 数据处理 时间要求(ms) 1.5 1 4 功能 比较监控 输出交叉对比 其他 时间要求(ms) 1 1.5 1 公司总工程师将本项任务交付给项目主管李工程师实施,要求李工按双方合同要求完成