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

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷

  摘要

目录

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷(一) . .... 2

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷(二) . .... 9

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷(三) . .. 14

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷(四) . .. 21

2017年江西理工大学计算机应用技术(加试)之软件工程导论复试实战预测五套卷(五) . .. 27

一、名词解释

1. 程序的可移植性

【答案】程序的可移植性指程序从某一环境转移到另一个环境下的难易程度。为获取较高的可移植性,在设计过程中采用的程序设计语言和运行支撑环境,尽量不使用与系统底层相关性强的语言。

二、简答题

2. 软件配置管理有哪些内容?

【答案】软件配置管理的内容有:

(1)基线

基线是软件生存期中各开发阶段的一个特点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道处于的位置,返回到最近和最恰当的基线上。

(2)软件配置项

软件配置项(SCI )是软件工程中产生的信息项,它是配置管理的基本单位。

(3)版本控制管理

版本控制管理是对系统不同版本进行标识与跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。

(4)变更控制

变更控制包括建立控制点和建立报告与审查制度。对于一个大型软件来说,不加控制地变更很快就会引起混 乱。因此变更控制是一项最重要的软件配置任务。

3. 面向对象实现应该选用哪种程序设计语言?为什么?

【答案】(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。

(2)原因

①一致的表示方法。面向对象开发基于不随时间变化的、一致的表示方法。既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。

②可重用性。既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。

③可维护性。程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。在选

择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。

4. 什么是数据流图,其作用是什么,有哪些基本符号以及各表示什么含义?

【答案】(1)数据流图的定义

数据流图(DFD )是一种用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程的 图形化技术。它是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

(2)数据流图的作用

数据流图的作用是描绘信息流和数据从输入移动到输出的过程中所经受的变换。

(3)数据流图的基本符号和表示含义

数据流图中的基本符号和表示含义,如图1所示。

图1数据流图的基本符号

5. 应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?

【答案】(1)在对照需求做有效性测试和软件配置审查时,是由软件开发者在开发环境下进

行的测试。而接下来做验收测试时则以用户为主。软件开发人员和

输出结果,一般使用生产中的实际数据进行测试。

(2)如果软件是为多个用户开发的,则需要进行a 测试和p 测试。a 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。软件在应该自然设置状态下使用。开发者坐在用户旁边,随时记录错误情况和使用中的问题,这是在受控制的环境下进行的测试。

(3)测试是由软件的多个用户在一个用户或多个用户的实际使用环境下进行的测试。这些用户是与公司签订了支持产品预发行合同的外部用户,他们要求使用产品,并愿意返回有关错误信息给开发者。与a 测试不同的是,开发者通常不在测试现场。因此,测试是在开发者无法控制的环境下进行的软件现场应用。

6. 衡量模块独立的两个标准是什么?它们各表示什么含义?

【答案】(1)衡量模块独立的两个标准

衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。耦合性与内聚性是模块

一一质量保证)人员也应参加。由用户参加设计测试用例,使用用户界面输入测试数据,并分析测试的

独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

(2)衡量模块独立的两个标准的含义

①耦合性

也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

②内聚性

又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。

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

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

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

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

三、综合应用题

8. 图1给出的程序流程图代表一个非结构化的程序,问:

图1 —个非结构化程序

(1)为什么说它是非结构化的?

(2)设计一个等价的结构化程序。