2017年北京邮电大学软件工程之实用软件工程考研复试核心题库

目录

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(一) ................................ 2

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(二) .............................. 11

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(三) .............................. 18

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(四) .............................. 27

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(五) .............................. 33

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(一)

说明:本资料为学员内部使用,整理汇编了2017考研复试重点题及历年复试常考题型。 ————————————————————————————————————————

一、名词解释

1. 软件再工程

【答案】软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性、可复用性。它指的是对既存对象系统进行调查,并将其重构为新 形式代码的开发过程,它的重要特点是能最大限度的重用既存系统的各种资源。

二、简答题

2. 软件开发成本估算方法有哪些?

【答案】(1)自顶向下估算方法

①定义

估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作 量),然后把它们按阶段、步骤和工作单元进行分配。

②优点

自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务成本估算,且估算工作量小、速度快。

③缺点

它的缺点是往往不清楚低级别上的技术性困难问题,而往往这些困难会使成本増加。

(2)自底向上估算方法

①定义

自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发工作量。

②优点

这种方法的优点是对每一部分的估算工作交给负责该部分工作的人员来做,所以估算较为准确。

③缺点

其缺点是其估算往往缺少如软件开发有关的系统级工作量,如集成、配置管理、质量管理、项目管理等,所以估算往往偏低。

(3)差别估算方法

①定义

差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。

②优点

该方法的优点是可以提高估算的准确度。

③缺点

该方法的缺点是不容易明确“差别”的界限。

3. 有哪些主要的软件开发方法?

【答案】主要的软件开发方法有以下几种:

(1)结构化开发方法

结构化开发方法是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。它是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

(2)Jackson (JSP、JSD)方法

Jackson方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整 的程序结构图。它是一种面向数据结构的软件设计方法,对输入、输出结构明确的中小型系统特别有效。

(3)原型化开发方法

原型化开发是软件开发的一种常用方法。开发人员对用户提出的问题进行总结,就系统的主要需求取得一致 意见后,开发出一个原型并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。

(4)维也纳开发方法(VDM)

VDM是一个基于模型的方法,它的主要思想是将软件系统当作模型来给予描述,具体说就是把软件的输入 /输出看作模型对象,而这些对象在计算机内的状态可看作为该模型在对象上的操作。

(5)面向对象的开发方法

面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系 统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。

4. 调试的目的是什么?调试有哪些技术手段?

【答案】(1)调试的目的

调试是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。

(2)调试技术

简单的调试方法

a.在程序中插入打印语句

该方法的优点是能显示程序的动态过程,较易检查源程序中的有关信息。缺点是低效率,可

能输出大量的无关的数据,发现错误带有偶然性,同时因插入打印语句要修改程序,这种修改可能会掩盖错误,改变关键的时间 关系或把新的错误引入程序。

b.运行部分程序

有时为了测试某些被怀疑有错的程序段,整个程序反复执行多次,使很多时间浪费在执行已经是正确的程序段上。在此情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。可通过注释程序或开发语言所带的调试工具来查找错误。

②归纳法调试

归纳法调试从调试结果发现的线索(错误迹象、征兆)入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。归纳法调试的具体步骤如下:

a.收集有关数据

列出程序做对了什么,做错了什么的全部信息。

b.组织数据

整理数据以便发现规律,使用分类法构造一张线索表。

c.提出假设

分析线索之间的关系,导出一个或多个错误原因的假设。如果不能推测一个假设,再选用测试用例去测试,以便得到更多的数据。如果有多个假设,首先选择可能性最大的一个。

d.证明假设

假设不是事实,需证明假设是否合理。不经证明就根据假设改错,只能纠正错误的一种表现

(即消除错误 的征兆)或只纠正一部分错误。如果不能证明这个假设成立,需提出下一个假设。

③演绎法调试

演绎法调试是列出所有可能错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因。演绎法调试的具体步骤如下:

a.列出所有可能错误原因的假设。

b.排除不适当的假设。

c.精化余下的假设。

d.证明余下的假设。

④回溯法调试

该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。该方法是对小型程序寻找错误位置的有效方法。

5. 什么是数据流图?其作用是什么?其中的基本符合各表示什么含义?

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

数据流图,简称DFD,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

(2)数据流图的作用

目录

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(一) ................................ 2

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(二) .............................. 11

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(三) .............................. 18

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(四) .............................. 27

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(五) .............................. 33

2017年北京邮电大学软件工程之实用软件工程考研复试核心题库(一)

说明:本资料为学员内部使用,整理汇编了2017考研复试重点题及历年复试常考题型。 ————————————————————————————————————————

一、名词解释

1. 软件再工程

【答案】软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性、可复用性。它指的是对既存对象系统进行调查,并将其重构为新 形式代码的开发过程,它的重要特点是能最大限度的重用既存系统的各种资源。

二、简答题

2. 软件开发成本估算方法有哪些?

【答案】(1)自顶向下估算方法

①定义

估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作 量),然后把它们按阶段、步骤和工作单元进行分配。

②优点

自顶向下估算方法的主要优点是对系统级工作的重视,所以估算中不会遗漏系统级的诸如集成、用户手册和配置管理之类的事务成本估算,且估算工作量小、速度快。

③缺点

它的缺点是往往不清楚低级别上的技术性困难问题,而往往这些困难会使成本増加。

(2)自底向上估算方法

①定义

自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发工作量。

②优点

这种方法的优点是对每一部分的估算工作交给负责该部分工作的人员来做,所以估算较为准确。

③缺点

其缺点是其估算往往缺少如软件开发有关的系统级工作量,如集成、配置管理、质量管理、项目管理等,所以估算往往偏低。

(3)差别估算方法

①定义

差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。

②优点

该方法的优点是可以提高估算的准确度。

③缺点

该方法的缺点是不容易明确“差别”的界限。

3. 有哪些主要的软件开发方法?

【答案】主要的软件开发方法有以下几种:

(1)结构化开发方法

结构化开发方法是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。它是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

(2)Jackson (JSP、JSD)方法

Jackson方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整 的程序结构图。它是一种面向数据结构的软件设计方法,对输入、输出结构明确的中小型系统特别有效。

(3)原型化开发方法

原型化开发是软件开发的一种常用方法。开发人员对用户提出的问题进行总结,就系统的主要需求取得一致 意见后,开发出一个原型并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。

(4)维也纳开发方法(VDM)

VDM是一个基于模型的方法,它的主要思想是将软件系统当作模型来给予描述,具体说就是把软件的输入 /输出看作模型对象,而这些对象在计算机内的状态可看作为该模型在对象上的操作。

(5)面向对象的开发方法

面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系 统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。

4. 调试的目的是什么?调试有哪些技术手段?

【答案】(1)调试的目的

调试是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。

(2)调试技术

简单的调试方法

a.在程序中插入打印语句

该方法的优点是能显示程序的动态过程,较易检查源程序中的有关信息。缺点是低效率,可

能输出大量的无关的数据,发现错误带有偶然性,同时因插入打印语句要修改程序,这种修改可能会掩盖错误,改变关键的时间 关系或把新的错误引入程序。

b.运行部分程序

有时为了测试某些被怀疑有错的程序段,整个程序反复执行多次,使很多时间浪费在执行已经是正确的程序段上。在此情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。可通过注释程序或开发语言所带的调试工具来查找错误。

②归纳法调试

归纳法调试从调试结果发现的线索(错误迹象、征兆)入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。归纳法调试的具体步骤如下:

a.收集有关数据

列出程序做对了什么,做错了什么的全部信息。

b.组织数据

整理数据以便发现规律,使用分类法构造一张线索表。

c.提出假设

分析线索之间的关系,导出一个或多个错误原因的假设。如果不能推测一个假设,再选用测试用例去测试,以便得到更多的数据。如果有多个假设,首先选择可能性最大的一个。

d.证明假设

假设不是事实,需证明假设是否合理。不经证明就根据假设改错,只能纠正错误的一种表现

(即消除错误 的征兆)或只纠正一部分错误。如果不能证明这个假设成立,需提出下一个假设。

③演绎法调试

演绎法调试是列出所有可能错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因。演绎法调试的具体步骤如下:

a.列出所有可能错误原因的假设。

b.排除不适当的假设。

c.精化余下的假设。

d.证明余下的假设。

④回溯法调试

该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。该方法是对小型程序寻找错误位置的有效方法。

5. 什么是数据流图?其作用是什么?其中的基本符合各表示什么含义?

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

数据流图,简称DFD,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

(2)数据流图的作用


相关内容