当前位置:问答库>考研试题

2017年广西民族大学软件工程(同等学力加试)复试实战预测五套卷

  摘要

一、名词解释

1. 内聚

【答案】内聚是衡量模块独立性的一个标准,指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密 程度的度量。模块内元素联系越紧密,内聚越高;内聚越高,模块独立性越强。

二、简答题

2. 测试面向对象软件时,主要有哪些设计确认测试用例的方法?

【答案】设计确认测试用例的方法主要有传统的黑盒方法、基于情景的方法。

(1)黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地就收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

(2)基于情景的方法:场景,是一种有假设条件的故事,可以辅助测试人员把一个复杂的问题或系统通过电影那样地过一遍。测试人员通过把整个场景都设想出来,在设想中的场景中进行的测试就是基于场景的测试。

3. 可行性研究包括哪些步骤?

【答案】(1)系统定义

为了定义好一个系统,需要分析人员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析人员正在解决的问题确实是要解决的问题。

(2)研究正在运行的系统

①正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,要开发一个新的计算机系统来代替旧的系统。因此,现有的系统是信息的重要来源,要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否减少使用费用等。

②收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。

(3)导出新系统的逻辑模型

根据对现有系统的分析研究,逐渐明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具一数据流图和数据字典来描述数据在系统中的流动和处理情况。

(4)设计方案

分析人员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可行性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。

(5)推荐可行的方案

根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行性的解决方案是什么,并且说明该方案可行的原因和理由。

(6)编写可行性研究报告

将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。

4. 什么是面向数据流的设计方法?它有哪些策略?

【答案】(1)面向数据流的设计方法的定义

面向数据流的设计方法也称结构化设计方法(SD ),它与结构化分析(SA )相衔接,它按一定的设计策略将数据流图转换成软件的模块层次结构。

(2)面向数据流的设计策略

①事务型分析设计

一个大的复杂的系统分解成较小的,相对简单的子系统,这些子系统彼此之间相对独立一些,而高层数据流图的数据处理往往反映这些子系统的功能,有平行分别处理的特点,因此,高层数据流图的转换通常可作为事务型处理,把一个加工逻辑看成是一类特定的事务,把它们分别映射成一个模块,最高层模块为系统模块,通过对输入初始命令的判断决定调用哪个模块。这种事务型分析设计的策略也用于较低层数据流图向软件结构图的转换。

②变换型分析设计

变换型数据流图具有主要的处理功能及实现这项处理功能所需要的输入数据流和经过处理后产生的输出数据流。确定了第三部分,高层模块就可分解出三个从属于它的新模块,分别执行输入、变换、输出功能。变换分析设计一般用于对较低层数据流图向软件结构图的转换。

5. 动态测试的四个阶段分别是什么?请简述各阶段的主要工作?

【答案】(1)动态测试的四个阶段

动态测试的四个阶段分别是单元测试、集成测试、系统测试、确认测试。

(2)动态测试各阶段的主要工作

①单元测试

把每个模块作为一个单独的实体来测试,检验其正确性。目的是保证每个模块作为一个单元能正确运行。模块测试所发现的是编码和详细设计的错误。

②集成测试

把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要 问题,即集成测试着重测试模块的接口。

③系统测试

把经过测试的子系统装配成一个完整的系统来测试。系统测试发现的是软件设计中和需求说明中的错误。

④确认测试

把软件系统作为单一的实体进行测试,它是在用户积极参与下进行的,而且主要使用实际数据进行测试。确认测试的目的是验证系统确实能够满足用户的需要,确认测试发现的是系统需求说明书中的错误。

6. PDL 的特点是什么?有哪些优点?

【答案】(1) PDL 的特点

①所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特征。

②描述处理过程的说明性语言没有严格的语法。

③具有模块说明机制,包括简单的与复杂的数据说明。

④具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL 表示的有关程序结构。

(2) PDL 的优点

①提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。

②可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于 软件的维护。

③会自动生成程序代码,提高软件生产率。目前已有PDL 多种版本(

等),为自动生成相应代码提供了便利条件。

7. 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson 方法设计该程序结构。

【答案】(1)输入数据的Jackson 图如图1所示: