1、计算机水平考试高级系统分析师 2008 年下半年下午真题及答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下关于某软件系统开发项目的叙述,回答问题 1 至问题 4。W 公司的主要业务是利用网络进行音像制品的管理和销售,以提高其物流配送的效率。随着业务范围的扩展和业务过程的改进,公司 CIO 发现现有信息系统业务过程过于僵化、维护困难,不能真正地为企业贡献价值,已经不能满足公司长久发展的战略。在该公司 CIO 的建议下,W 公司在三月初委托某软件企业为其开发出一套新的音像制品在线管理及销售系统 AVMSS,要求新系统能够对其现有系统业务过程
2、进行重新设计,以提高公司业务的执行效率并降低维护成本。该软件企业成立了项目组来开发 AVMSS,在对开发任务进行了初步的了解之后,项目组认为 W 公司原有系统的数据架构稳定,没有必要对原有关系数据模式进行重新设计:新系统应着眼于对系统控制流的改造,通过系统业务流程再造以应对公司的发展需要。但在选择系统开发方法时出现了分歧,张工认为应该采用流行的面向对象开发方法,而李工则认为应该采用成熟的结构化开发方法,项目组经过讨论最终确定在AVMSS 系统分析与设计过程中采用李工的建议。(分数:15.00)(1).【问题 1】请对张工和李工所提出的两种系统开发方法进行比较,结合 AVMSS 系统说明为什么项
3、目组最终采用了李工的建议。(分数:3.75)_(2).【问题 2】结构化分析主要包含初始研究、问题分析、需求分析、逻辑建模和方案分析 5个阶段,请用 300 字以内的文字说明需求分析和逻辑建模两个阶段的目标及主要任务。(分数:3.75)_(3).【问题 3】四月底,项目组完成初始研究阶段的任务进入了问题分析阶段,以确立系统改进目标。刚参加工作的小赵仔细分析了初始研究阶段的相关文档和资料,在讨论会上提出了以下系统改进目标:提高联机订单处理的用户满意程度。新的系统必须使用 Oracle 数据库管理系统存储数据。数据输入屏幕必须重新设计以使其更加友好。影音销售子系统中订单处理所需的时间减少 50%。
4、这些是好的系统改进目标吗?请分别说明理由。(分数:3.75)_(4).【问题 4】六月初,项目需求分析阶段遇到了大量的困难,并且比计划进度落后了两个星期,项目经理希望通过跳过或者省略逻辑建模阶段的一些任务来赶上进度。项目经理认为,现在大家对需求有了清晰的认识,而且项目组的设计人员和构造人员经验都很丰富,直接可以进行技术设计而并不真正需要逻辑建模。为了赶上进度,这是合理的方法吗?请用 200 字以内的文字说明理由。(分数:3.75)_二、B试题二/B(总题数:1,分数:15.00)阅读以下关于企业数据中心设计的说明,回答问题 1 至问题 3。某企业计划建设一个企业数据中心,该数据中心支持 A、B
5、、C。D 和 E5 项业务,各业务完全独立运行,各项业务运行的操作系统均不相同。在单台某型服务器上,除了为系统开销预留 30%的 CPU 占用率之外,各业务在繁忙时段(白天)及非繁忙时段(夜间)的 CPU 占用率如下表所示。 业务类型 A B C D E繁忙时段 30% 35% 45% 45% 45%非繁忙时段 15% 20% 40% 33% 40%现该企业拟全部采用该类型服务器,张工和李工据此提出了不同的设计方案。张工认为需要采购 5 台服务器,每项业务分配一台服务器。但李工提出了一种基于虚拟化技术的解决方案,采用的服务器数量少于 5台。(分数:15.00)(1).【问题 1】在数据中心中应
6、用虚拟化技术会带来哪些收益?请至少给出 3 项。(分数:5.00)_(2).【问题 2】李工的方案需要配置几台服务器?应如何设计?(分数:5.00)_(3).【问题 3】为了进一步节省电力,按照李工的方案,非繁忙时段最少只需几台服务器工作即可满足业务负载要求?应如何设计?(分数:5.00)_三、B试题三/B(总题数:1,分数:15.00)阅读以下关于嵌入式软件测试方面的叙述,回答问题 1 至问题 3。甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的
7、负责人。(分数:15.00)(1).【问题 1】王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在 200 字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。(分数:5.00)_(2).【问题 2】由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术协议进行磋商时,甲方要求乙方的第三方测试结构覆盖率必须达到
8、修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖 MC/DC 与条件判定覆盖(C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。例子:IF A OR B THENELSEENDIF(分数:5.00)_(3).【问题 3】张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试,但是软件交付给用户使用后,仍然出了很多问题,用户对软件质量评价不高。王工认为张工项目组没有很好地进行软件第三方测试,张工觉得并无不妥之处,请对这一状况和原因进行分析。(分数:5.00)_四、B试题四/B(总题数:1,
9、分数:15.00)阅读以下关于数据库性能优化方面的叙述,回答问题 1 至问题 4。某企业核心业务系统运行性能不佳,尤其是针对数据库的操作,响应时间过长。为此,该企业专门召开了解决该问题的专家研讨会。在会上刘工指出,当前硬件设备的价格比较低廉,只需要对数据库服务器的硬件设备进行升级,同时对数据库管理系统和操作系统中的相应参数进行调整就可以了;王工建议对应用系统中使用的 SQL 语句进行调优,针对每条 SQL 语句都建立对应的索引;张工认为该业务系统中存在大量的数据查询操作,更新操作不多,尤其是存在大量的只读查询操作,应该针对这一点进行优化。该企业采取了专家的部分建议,但优化的结果仍然不尽如人意,
10、通过专门的监控,发现数据库管理系统中建立的索引存在问题。(分数:15.00)(1).【问题 1】对上述专家意见和建议进行评价;给出自己的建议,并说明其中包含的内容。(分数:3.75)_(2).【问题 2】简要说明王工建议中 SQL 语句优化的基本策略。(分数:3.75)_(3).【问题 3】王工提出的针对每条 SQL 语句都建立索引的建议是否合适? 简要说明还可以考虑的其他索引调整的原则。(分数:3.75)_(4).【问题 4】请简要说明针对大量只读查询操作进行优化的主要方法。(分数:3.75)_五、B试题五/B(总题数:1,分数:15.00)阅读以下关于 Web 应用的问题,回答问题 1 至
11、问题 3。 是一家在线旅游信息服务公司,其主要业务是为自助旅游者提供关于旅游线路及周边信息的服务。随着公司业务的不断发展,公司用户要求提供基于位置的增值旅游信息服务,即希望能够在给定位置(利用 GPS 全球定位系统获取)的情况下得到周边的地理位置、住宿、餐饮和交通等旅游相关信息。针对该需求,公司技术人员对现有系统的架构和运行模式进行了认真分析,决定采用 Mashup(一种基于互联网的内容聚合技术)集成来自其合作网站(设为 A,B,C,D)的信息,满足用户的需求。具体实现方式如下:(1)利用 A 网站提供的地图信息,得到用户位置相关的周边地理信息。(2)B 网站根据用户的位置信息向其提供周边的住
12、宿信息。(3)C 网站根据用户的位置信息向其提供周边的餐饮信息。(4)D 网站根据用户的位置信息向其提供周边的公交线路等信息。(分数:15.00)(1).【问题 1】下图是公司进行 Mashup 的流程示意图,请阅读并补充图中数字标出部分的内容。(1)用户向 Traveler 网站请求服务,请求页面提供用户的位置信息;(2)_;(3)_;(4)A 网站向 Traveler 网站返回用户所处位置周边的地图信息;(5)_;(6)B 网站向 Traveler 网站返回用户所处位置周边的住宿信息;(7)_;(8)Traveler 网站向用户返回用户所处位置周边整合的旅游信息。(分数:5.00)_(2)
13、.【问题 2】目前,互联网上已经存在很多 Mashup 应用,各大网站也纷纷提供了各种格式的 Mashup 数据接口。请用 300 字以内的文字给出三种目前经常使用的 Mashup 数据接口,并加以简单说明。(分数:5.00)_(3).【问题 3】在实现 Mashup 应用时,进行内容聚合的物理位置是一个十分重要的因素。目前很多 Mashup 站点都选择在客户端机器上进行内容聚合,构成所谓的胖互联网应用程序 (Rich Internet Application,RIA)。请你用 200 字以内的文字说明在客户端进行内容聚合的优点。(分数:5.00)_计算机水平考试高级系统分析师 2008 年下
14、半年下午真题答案解析(总分:75.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读以下关于某软件系统开发项目的叙述,回答问题 1 至问题 4。W 公司的主要业务是利用网络进行音像制品的管理和销售,以提高其物流配送的效率。随着业务范围的扩展和业务过程的改进,公司 CIO 发现现有信息系统业务过程过于僵化、维护困难,不能真正地为企业贡献价值,已经不能满足公司长久发展的战略。在该公司 CIO 的建议下,W 公司在三月初委托某软件企业为其开发出一套新的音像制品在线管理及销售系统 AVMSS,要求新系统能够对其现有系统业务过程进行重新设计,以提高公司业务的执行效率并降低维
15、护成本。该软件企业成立了项目组来开发 AVMSS,在对开发任务进行了初步的了解之后,项目组认为 W 公司原有系统的数据架构稳定,没有必要对原有关系数据模式进行重新设计:新系统应着眼于对系统控制流的改造,通过系统业务流程再造以应对公司的发展需要。但在选择系统开发方法时出现了分歧,张工认为应该采用流行的面向对象开发方法,而李工则认为应该采用成熟的结构化开发方法,项目组经过讨论最终确定在AVMSS 系统分析与设计过程中采用李工的建议。(分数:15.00)(1).【问题 1】请对张工和李工所提出的两种系统开发方法进行比较,结合 AVMSS 系统说明为什么项目组最终采用了李工的建议。(分数:3.75)_
16、正确答案:()解析:(1)结构化开发方法强调系统业务过程的数据流和控制流,将系统看作一个过程的集合体,系统数据架构和控制流可以分开设计,强调系统的业务处理过程,适合于业务流程再造和对处理过程要求较高的系统;而面向对象方法则把系统看作一个相互影响的对象集,对象能够将数据及其行为统一起来,对象之间通过消息交换的方式引发对象的行为。 (2)W 公司现有系统只是自动化了企业的业务过程,造成信息系统业务过程低效且维护成本高的一个重要因素是企业的业务过程本身过于僵化,不能真正地为企业贡献价值,信息系统只是将这些低效率的过程自动化。真正的解决办法是业务流程再造。在 AVMSS 系统的开发中,强调控制流的改进
17、,因此比较适合于采用传统的结构化开发方法,采用李工的建议比较合理。 试题一分析 结构化开发方法与面向对象开发方法是最为重要的两种软件开发方法学。结构化方法是软件开发与维护的基础方法,其他现代软件方法学都是在结构化方法基础上发展和演绎而来,而且遵循基本的结构化思想;面向对象方法作为当前最为流行的软件方法学,逐渐被系统分析和设计人员所接受,并在系统开发中加以应用。当前很多企业处于业务转型期,信息化基础设施建设成为企业业务发展的必要组成部分。企业信息化改造中,不仅需要开发新系统,而且面临着如何对其现有业务系统改造的问题。因此,系统开发团队需要针对具体的应用需求选择适合的软件开发方法,以提升系统开发的
18、效率和效果。作为一名系统分析和设计人员,对结构化开发方法和面向对象方法均应该有所了解。特别是要掌握在项目实际开发中对于不同开发方法选择的依据和标准。 结构化方法主要的关注点是系统功能,强调业务过程的数据流和控制流,采用模块化、自顶向下、逐步求精的设计过程。系统是实现模块功能的函数和过程的集合,开发过程划分为若干相对独立的阶段,结构清晰、可读性好,是提高软件开发质量的一种有效手段。主要适合于规模较大、结构化程度较高的系统的开发。 面向对象关注于处理的数据,以对象为中心,对象能够将数据及其行为统一起来,对象之间通过消息交换引发对象的行为。对象模型极大提高了数据和功能的复用程度,简化了开发系统开发过
19、程,系统的可维护性得到了改善。 本题主要考察应试者对于结构化开发方法和面向对象开发方法的掌握情况。特别是很多企业的现有系统在开发中均采用了当时比较成熟的结构化开发方法,在对这些系统改进以应对业务变化时,就需要从不同角度灵活分析和选择系统改造方法。题目给出了一个具有典型代表性的案例,要求应试者对结构化开发方法及其开发过程中常见的问题进行分析和说明。 问题 1 要求应试者能够理解结构化开发方法和面向对象开发方法之间的区别及其适用的范围,说明结构化开发方法选择的标准和依据。题目正文中指出“原有系统的数据架构稳定”,“新系统应着眼于对系统控制流的改造”,通过“系统业务流程再造”完成现有系统的改造过程。
20、这些为本题指明了结构化分析方法选择的依据和标准。 问题 2 要求应试者掌握结构化分析方法在实际应用中划分的不同阶段,及其各阶段的目标、主要任务和任务完成的标志。能够清楚说明需求分析和逻辑建模两个阶段所完成的主要任务及其联系。 问题 3 要求应试者能够准确掌握系统需求、系统目标和系统约束之间的区别。掌握“好”的系统改进目标应该满足精确性和可度量性的基本要求。 问题 4 要求应试者理解结构化开发方法中每个阶段都是完成后续各个阶段任务的基础,认识到每个阶段所定义的各项任务的重要性和不可替代性,以及如果忽略该阶段或者某个任务将影响到后期各项工作的开展。逻辑建模阶段进一步对需求进行验证并定义测试用例,这
21、些任务均是系统开发中的重要环节,如果省略,将为系统开发埋下隐患。(2).【问题 2】结构化分析主要包含初始研究、问题分析、需求分析、逻辑建模和方案分析 5个阶段,请用 300 字以内的文字说明需求分析和逻辑建模两个阶段的目标及主要任务。(分数:3.75)_正确答案:()解析:(1)需求分析阶段:定义系统的业务需求。具体任务包括定义需求、排列需求的优先次序、修改项目计划、交流需求陈述。 (2)逻辑建模阶段:使用系统模型进一步记录业务需求并对需求进行验证。具体任务包括结构化功能需求、建立功能需求的原型(可选)、验证功能需求、定义验收测试用例。(3).【问题 3】四月底,项目组完成初始研究阶段的任务
22、进入了问题分析阶段,以确立系统改进目标。刚参加工作的小赵仔细分析了初始研究阶段的相关文档和资料,在讨论会上提出了以下系统改进目标:提高联机订单处理的用户满意程度。新的系统必须使用 Oracle 数据库管理系统存储数据。数据输入屏幕必须重新设计以使其更加友好。影音销售子系统中订单处理所需的时间减少 50%。这些是好的系统改进目标吗?请分别说明理由。(分数:3.75)_正确答案:()解析:不是。评价方式无量化指标。 不是。是系统约束,不是系统目标。 不是。是系统需求,不是系统目标。 是。对系统性能量化明确、具体的陈述。(4).【问题 4】六月初,项目需求分析阶段遇到了大量的困难,并且比计划进度落后
23、了两个星期,项目经理希望通过跳过或者省略逻辑建模阶段的一些任务来赶上进度。项目经理认为,现在大家对需求有了清晰的认识,而且项目组的设计人员和构造人员经验都很丰富,直接可以进行技术设计而并不真正需要逻辑建模。为了赶上进度,这是合理的方法吗?请用 200 字以内的文字说明理由。(分数:3.75)_正确答案:()解析:不合理的方法。 项目执行过程具有天然的风险,系统分析不同阶段的每个任务都为后续任务打好坚实的基础,其每个阶段均不能跳过或被省略。 系统逻辑设计阶段产生的图表和文档,是系统所有者和系统用户最后一次验证系统的功能需求,并对发现的错误进行修正和说明的关键。二、B试题二/B(总题数:1,分数:
24、15.00)阅读以下关于企业数据中心设计的说明,回答问题 1 至问题 3。某企业计划建设一个企业数据中心,该数据中心支持 A、B、C。D 和 E5 项业务,各业务完全独立运行,各项业务运行的操作系统均不相同。在单台某型服务器上,除了为系统开销预留 30%的 CPU 占用率之外,各业务在繁忙时段(白天)及非繁忙时段(夜间)的 CPU 占用率如下表所示。 业务类型 A B C D E繁忙时段 30% 35% 45% 45% 45%非繁忙时段 15% 20% 40% 33% 40%现该企业拟全部采用该类型服务器,张工和李工据此提出了不同的设计方案。张工认为需要采购 5 台服务器,每项业务分配一台服务
25、器。但李工提出了一种基于虚拟化技术的解决方案,采用的服务器数量少于 5台。(分数:15.00)(1).【问题 1】在数据中心中应用虚拟化技术会带来哪些收益?请至少给出 3 项。(分数:5.00)_正确答案:()解析:将虚拟化技术应用于企业数据中心将有效提高服务器的资源利用率,支持运行在不同操作系统之上的多个业务共享同一台服务器,从而减少企业数据中心中的服务器数量,最终降低企业数据中心建设的硬件成本,节约场地面积,减少能耗。 试题二分析 在计算机领域,虚拟化通常是指计算元件在虚拟的(而不是真实的)基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU 的虚拟化技术可用单 CPU
26、 模拟多 CPU 的并行处理过程,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 虚拟化技术与多任务以及超线程技术完全不同。多任务是指在一个操作系统中多个程序同时并行运行,在虚拟化技术中可以同时运行多个操作系统,并且每一个操作系统中都有多个程序在运行,每一个操作系统都运行在一个虚拟的 CPU 或者是虚拟主机上;而超线程技术只是单 CPU 模拟双 CPU 来平衡程序的运行性能,这两个模拟出来的 CPU 不能分离,只能协同工作。 虚拟化技术可以有不同的实现方法,例如完全虚拟化、准虚拟化、操作系统层虚拟化等。 最流行的虚拟化方法使
27、用名为 Hypervisor(虚拟机管理程序)的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。在完全虚拟化的环境下,Hypervisor 运行在裸硬件上,充当主机操作系统;而由 Hypervisor 管理的虚拟服务器运行客户端操作系统(Guest OS)。Hypervisor 可以捕获 CPU 指令,为指令访问硬件控制器和外设充当中介。因此,完全虚拟化技术几乎能让任何一款操作系统不用改动就能安装到虚拟服务器上,其主要缺点是给处理器带来的较大开销。 完全虚拟化是处理器密集型技术,因为它要求 Hypervisor 管理各个虚拟服务器,并让它们彼此独立。减轻这种负担的一种方法就是改动客户操作系
28、统,让它以为自己运行在虚拟环境下,能够与 Hypervisor 协同工作,这种方法就叫准虚拟化(para-virtualization)。 Xen 是开源准虚拟化技术的一个例子。操作系统作为虚拟服务器在 Xen Hypervisor上运行之前,它必须在核心层面进行某些改变。因此,Xen 适用于 BSD、Linux、Solaris 及其他开源操作系统,而不适合对类似于 Windows 的专有操作系统进行虚拟化处理,因为它们无法改动。准虚拟化技术的优点是性能高。经过准虚拟化处理的服务器可与 Hypervisor 协同工作,其响应能力几乎不逊于未经过虚拟化处理的服务器。 实现虚拟化还有一个方法,就是
29、在操作系统层面增添虚拟服务器功能。Solaris Container 就是这样的一个例子,Virtuozzo/OpenVZ 是面向 Linux 的软件方案。 就操作系统层的虚拟化而言,没有独立的 Hypervisor 层。相反,主机操作系统本身就负责在多个虚拟服务器之间分配硬件资源,并且让这些服务器彼此独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行同一操作系统(不过每个实例有各自的应用程序和用户账户)。 虽然操作系统层虚拟化的灵活性比较差,但本机速度性能比较高。此外,由于架构在所有虚拟服务器上使用单一、标准的操作系统,管理起来比异构环境要容易。 当前,虚拟化技术的优势
30、已经得到了业界的普遍认可,虚拟化技术所具备的提高资源利用率和节能环保的特性也得到了越来越多高性能计算机用户的青睐,虚拟化技术的普及和推广成为信息化技术发展的必然趋势。据业内专家分析,三个方面的因素使虚拟化技术迅速走向成熟。首先,信息化产业的快速发展使得服务器硬件技术有了巨大进步;其次,高端服务器所承载的软件应用环境已经逐步发展成熟:第三,也是最重要的一点,由于服务器技术的快速发展以及信息化产业发展对于数据中心的规模要求越来越高,由此导致数据中心面临着越来越严重的发展瓶颈,而虚拟化由于具有提高资源利用率以及节能环保、可进行大规模数据整合等特点而成为信息化技术发展的又一项具有战略意义的新技术。(2
31、).【问题 2】李工的方案需要配置几台服务器?应如何设计?(分数:5.00)_正确答案:()解析:尽管业务 A、B、C、D 与 E 运行的操作系统各不相同,但虚拟化技术支持同一台服务器上同时运行多个不同的操作系统实例,因而在不超出一台服务器 CPU 处理能力的条件下,多个业务在虚拟化的支持下能够共享同一台服务器。 李工的方案需要配置 4 台服务器,其中:业务 A 和 B 共享 1 台服务器,业务C,D, E 各自配置 1 台服务器。(3).【问题 3】为了进一步节省电力,按照李工的方案,非繁忙时段最少只需几台服务器工作即可满足业务负载要求?应如何设计?(分数:5.00)_正确答案:()解析:虚
32、拟化技术中的业务负载迁移机制支持企业数据中心依据业务负载的涨落动态迁移业务负载,将轻载服务器上的业务迁移到其他服务器,然后这些服务器进入硬件休眠,进一步降低数据中心的能耗。 按照李工的方案,非繁忙时段最少需 3 台服务器工作即可满足业务负载要求,其中业务 D 在非繁忙时段迁移到业务 A 与 B 工作的那台服务器上,业务 C 和 E 在非繁忙时段继续驻留在各自原来的服务器上。三、B试题三/B(总题数:1,分数:15.00)阅读以下关于嵌入式软件测试方面的叙述,回答问题 1 至问题 3。甲公司是一个专业的航空软件开发公司,当前正在为某用户开发某航空嵌入式实时软件,王工是该软件开发项目的负责人。应用
33、户要求,甲公司委托乙公司对其开发的航空软件进行第三方测试。张工是乙公司中该测试项目的负责人。(分数:15.00)(1).【问题 1】王工在与张工讨论该软件的测试计划时,就软件的测试环境产生了争执。张工认为所有的第三方测试工作都必须在目标机环境下完成,否则无法保证测试的有效性。王工认为开发工作进度很紧,而且开发工作需要频繁占用目标机环境,第三方测试在仿真环境下进行就可以了,没有必要非得在目标机环境下测试。请在 200 字以内对上述两人意见的正确性进行评价与分析,并简述你对本题目中的测试环境问题的建议。(分数:5.00)_正确答案:()解析:(1)张工和王工的意见都不完全正确。 为了节省对目标机环
34、境的争用,测试的很多工作可以在仿真环境下进行;但是为了防止由于仿真环境与目标环境差异带来的测试错误,最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。 (2)针对本题所述情况,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。 试题三分析 本题重点考查考生对软件测试技术的掌握程度。作为系统分析员,承担着管理项目和分解项目实施的工作,第三方软件测试是提高软件产品质量的有效手段,因此掌握好软件测试技术,是软件工程师(尤其是项目负责人)必不可少知识。 问题 1
35、 主要考查考生在嵌入式软件测试方面如何解决开发和测试对资源需求竞争的问题。通常,根据 V 字形软件研制过程,用户不可能为测试而专门研制一套目标机,只能依赖真是目标机完成所有测试任务,为了节省对目标机环境的争用,测试的很多工作一般可以在仿真环境下进行。但是,在仿真环境下完成测试工作后,并不代表测试工作的结束,为了防止由于仿真环境与目标环境差异带来的测试错误(此差别永远存在),最终的测试程序必须在目标机环境上重新运行,以查看软件最终在目标环境下的实际运行情况。因此,两者之间缺一不可。在理解了这种现象下,为了提高开发与测试工作的并行度,张工的项目组可以先在仿真环境下开发和运行测试程序;待王工项目组的
36、代码开发工作完成后,再在目标机环境下完整地运行所有的测试程序。 如果考生从事过嵌入式软件开发和测试工作(尤其是航空软件),应该知道嵌入式软件可根据所依附的嵌入式设备在系统中的失效影响程度,分为多种级别,而不同的软件级别,其测试项要求也不相同。本问题主要考查考生对安全级别较高的软件,对修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)两项测试技术的掌握程度。 (1)对于 C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次;同时判定的真值与假值也要求至少取一次。 (2)对 MC/DC,要求测试集满足如下条件: 首先应满足 C/DC 的测试条件。 判定中每个条件的取值都
37、必须独立地影响判定的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。 根据上述有关 C/DC 和 MC/DC 的测试要求,在所给例子中,A 和 B 的 C/DC 测试集应是TT,FF,因为该测试用例集中,条件 A 与 B 分别取了 T与 F,判定 A OR B,也取了 T 值(当 A=T,B=T 时)和 F 值(当 A=F,B=F 时);而 A 和 B 的 MC/DC 测试集是FF,TF,FT,因为 C/DC 要求的测试用例集是TT,FF无法满足 MC/DC 的要求,条件 A 与 B 均没有独立地影响判定的输出结果。 问题三主要考查考生对测试工作的看法,这里考生应清楚
38、的是以下几点:软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。 从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括: (1)软件需求规格说明没有全面地反应用户的要求。 (2)需求文档和设计文档质量不高。 (3)软件代码的质量本身不高,可读性较差。 (4)测试用例没有 100%覆盖需求。 (5)测试和开发人员责任心不够,开发过程控制不到位。 (6)软件开发无标准可循,测试人员难以理解。 等等。(2).【问题 2】由于该软件是质量要求很高的航空嵌入式实时软件,在甲乙双方就签订该软件第三方测试技术
39、协议进行磋商时,甲方要求乙方的第三方测试结构覆盖率必须达到修正的条件判定覆盖(MC/DC)。请分别简述修正的条件判定覆盖 MC/DC 与条件判定覆盖(C/DC)对测试用例集的要求条件,下面给出了一个含有两个判定条件的例子,请说明两种覆盖测试用例集的设计方法。例子:IF A OR B THENELSEENDIF(分数:5.00)_正确答案:()解析:(1)对于 C/DC,要求测试集满足如下条件:判定中每个条件的真值与假值都至少取一次:同时判定的真值与假值也要求至少取一次。 (2)对 MC/DC,要求测试集满足如下条件: 首先应满足 C/DC 的测试条件。 判定中每个条件的取值都必须独立地影响判定
40、的结果,即在其他条件取值不变的前提下,仅改变这个条件的值,而使判定结果改变。 (3)两个判定例子的 C/DC 测试集设计方法。 满足 C/DC 要求的测试用例集是TT,FF。 说明:因为该测试用例集中,条件 A 与 B 分别取了 T 与 F,判定 A OR B,也取了 T 值(当 A=T,B=T 时)和 F 值(当 A=F,B=F 时)。 (4)两个判定例子的 MC/DC 测试集设计方法。 满足 MC/DC 要求的测试用例集是FF,TF,FT。 说明:C/DC 要求的测试用例集是TT,FF无法满足 MC/DC 的要求,条件 A 与 B 均没有独立地影响判定的输出结果。(3).【问题 3】张工的项目组根据王工的项目组提供的软件需求文档和设计文档,严格按照协议要求进行了第三方测试,但是软件交付给用户使用后,仍然出了很多问题,用户对软件质量评价不高。王工认为张工项目组没有很好地进行软件第三方测试,张工觉得并无不妥之处,请对这一状况和原因进行分析。(分数:5.00)_正确答案:()解析:(1)软件测试的作用是查找软件中存在的问题,但是不能保证软件的正确性。软件正确性需要软件研发的全过程来保证。 (2)从本题的情况来看,问题的根源很可能是王工或张工项目组的开发或测试工作中的某些点没有做好,主要原因包括: (1)软件需求规格说明没有全面地反应用户的要求。 (2)需求