2017年华北水利水电大学578软件工程复试实战预测五套卷
● 摘要
一、名词解释
1. 黑盒测试
【答案】黑盒测试一种单元测试方法,它把被测试的对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。
二、简答题
2. PDL 的特点是什么?有哪些优点?
【答案】(1) PDL 的特点
①所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特征。
②描述处理过程的说明性语言没有严格的语法。
③具有模块说明机制,包括简单的与复杂的数据说明。
④具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL 表示的有关程序结构。
(2) PDL 的优点
①提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。
②可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于 软件的维护。
③会自动生成程序代码,提高软件生产率。目前已有PDL 多种版本(
如
等),为自动生成相应代码提供了便利条件。
3. 什么是软件工程?简述软件工程的基本原理及软件工程的目标。
【答案】(1)软件工程的定义
①软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。
②软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术 和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
(2)软件工程的基本原理
①用分阶段的生命周期计划严格管理。
①坚持进行阶段评审。
②实行严格的产品控制。
③采用现代程序设计技术。
④结果应能清楚地审查。
⑤开发小组的人员应该少而精。
⑥承认不断改进软件工程实践的必要性。
(3)软件工程的目标
软件工程的目标是在给定成本和进程的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性并满足用户需要的高质量软件产品。
4. 软件开发成本估算方法有哪些?
【答案】(1)自顶向下估算方法
①定义
估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作 量),然后把它们按阶段、步骤和工作单元进行分配。
②优点
自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务成本估算,且估算工作量小、速度快。
③缺点
它的缺点是往往不清楚低级别上的技术性困难问题,而往往这些困难会使成本増加。
(2)自底向上估算方法
①定义
自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发工作量。
②优点
这种方法的优点是对每一部分的估算工作交给负责该部分工作的人员来做,所以估算较为准确。
③缺点
其缺点是其估算往往缺少如软件开发有关的系统级工作量,如集成、配置管理、质量管理、项目管理等,所以估算往往偏低。
(3)差别估算方法
①定义
差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。
②优点
该方法的优点是可以提高估算的准确度。
③缺点
该方法的缺点是不容易明确“差别”的界限。
5. 简述三种分析模型的关系。
【答案】(1)功能模型说明对象模型中操作的含义、动态模型中动作的意义以及对象模型中约束的意义。一些不存在相互作用的系统,如编译器系统,它们的动态模型较小,因为它们的目的是功能处理,功能模型是这类系 的主要模型。
(2)功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向。数据流图不表示控制信息,控制信息在动态模型中表示。数据流图也不表示对象中值的组织,这种信息在对象模型中表示。
6. 在软件测试中,应注意哪些原则?
【答案】(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,做到“有的放矢”。
(2)测试用例不仅用合理的输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接收,并给出相应提示。
(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。例如程序正确打印出用户并不需要的多余信息。
(4)应定制测试计划并严格执行,排除随意性。
(5)长期保留测试用例。测试用例的设计耗费很大的工作量,必须作为文档保存。因为修改后的程序可能有新的错误,需要进行回归测试。同时,为以后的维护提供方便。
(6)对发现错误较多的程序段,应进行更深入的测试。有统计数字表明,一段程序中已发现的错误越多,其中存在的错误概率也越大。因为发现错误数越多的程序段,其质量较差。同时在修改错误过程中又容易引入新 的错误。
(7)程序员避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。另外,对需求规格说明的理解而引入的错误则更难发现。因此由别的人或另外的机构来测试程序员编写的程序会更客观、更有效。
7. 什么是需求分析?需求分析阶段的基本任务是什么?
【答案】(1)需求分析的定义
需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求
陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
(2)需求分析的基本任务
需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。
①问题识别
双方确定对问题的综合需求,这些需求如下:
a. 功能需求
相关内容
相关标签