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

2018年解放军信息工程大学项目管理(专业学位)828软件工程与管理[专硕]之软件工程导论考研基础五套测试题

  摘要

一、简答题

1. 什么是软件可维护性?可维护性度量的特性是什么?

【答案】(1)软件可维护性的定义

软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度;是软件开发阶段的关键目标。

(2)可维护性度量的特性

影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都对软件的可维护性产生不良的影响。软件可维护性可用可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率这七个质量特性来衡量。对于不同类型的维护,这七种特性的侧重点也不相同。这些质量特性通常体现在软件产品的许多方面。为使每一个相应的措施加以保证,即这些质量要求要渗透到各开发阶段的各个步骤中。因此,软件的可维护性是产品投入运行以前各阶段针对上述各质量特性要求进行开发的最终结果。

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

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

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

(2)调试技术

简单的调试方法

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

该方法的优点是能显示程序的动态过程,较易检查源程序中的有关信息。缺点是低效率,可能输出大量的无关的数据,发现错误带有偶然性,同时因插入打印语句要修改程序,这种修改可能会掩盖错误,改变关键的时间 关系或把新的错误引入程序。

b. 运行部分程序

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

②归纳法调试

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

a. 收集有关数据

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

b. 组织数据

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

c. 提出假设

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

d. 证明假设

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

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

③演绎法调试

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

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

b. 排除不适当的假设。

c. 精化余下的假设。

d. 证明余下的假设。

④回溯法调试

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

3. 什么是“事务流”?

【答案】若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD 称为事务型的数据流图,这个加工称为事务处理中心,如图所示。

图 事务型的数据流图

4. 快速原型模型有哪几种?各有何特点?

【答案】(1)快速原型模型的分类

原型模型又称快速原型模型,它是增量模型的另一种形式。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。根据原型的不同作用,可以分为探索型模型、实验型模型和演化型模型三类。

(2)三种快速原型模型的特点

①探索型模型

这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来说明用户的需求。

②实验型模型

这种原型主要用于设计阶段,考核实现方案是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。

③演化型模型

这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包括系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。