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

2017年南开大学计算机与控制工程学院计算机科学与技术、软件工程之软件工程复试仿真模拟三套题

  摘要

一、名词解释

1. 软件再工程

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

二、简答题

2. 在软件测试中,应注意哪些原则?

【答案】(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,做到“有的放矢”。

(2)测试用例不仅用合理的输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接收,并给出相应提示。

(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。例如程序正确打印出用户并不需要的多余信息。

(4)应定制测试计划并严格执行,排除随意性。

(5)长期保留测试用例。测试用例的设计耗费很大的工作量,必须作为文档保存。因为修改后的程序可能有新的错误,需要进行回归测试。同时,为以后的维护提供方便。

(6)对发现错误较多的程序段,应进行更深入的测试。有统计数字表明,一段程序中已发现的错误越多,其中存在的错误概率也越大。因为发现错误数越多的程序段,其质量较差。同时在修改错误过程中又容易引入新 的错误。

(7)程序员避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。另外,对需求规格说明的理解而引入的错误则更难发现。因此由别的人或另外的机构来测试程序员编写的程序会更客观、更有效。

3. 维护技术的副作用有哪些?

【答案】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。

(1)编码副作用

在使用程序设计语言修改源代码时可能引入下面错误。这些错误要到运行时才能被发现。例如:

①删除或修改一个子程序、一个标号、一个标识符。

②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。

③修改文件的打开和关闭。

④改进程序的执行效率。

⑤把设计上的改变翻译成代码的改变。

⑥为边界条件的逻辑测试做出改变。

(2)数据副作用

在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:

①重新定义局部或全局的常量,重新定义记录和文件格式。

②增加或减少一个数组或高层数据结构的大小。

③修改全局或公共数据。

④重新初始化控制标志或指针。

⑤重新排列输入/输出或子程序的参数。

(3)文档副作用

所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。例如:

①修改交互输入的顺序和格式,没有正确地记入文档中。

②过时的文档内容、索引和文本可能造成冲突等。

4. 可行性研究的任务有哪些?

【答案】可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决办法。对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。

(1)技术可行性

要确定使用现有的技术能否实现系统,就要对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现。这里的资源包括已有的或可搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。

(2)经济可行性

进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。对于大多数系统,一般衡量经济上是否合算,应考虑一个最小利润值,经济可行性研究范围较广,包括成本一效益分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。

(3)社会可行性

确定要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织

内是否行得通,现有管理制度、人员素质、操作方式是否可行。

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

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

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

(2)数据流图的作用

①数据流

数据流是数据在系统内部传播的路径,因此由一组成分固定的数据项组成。

②加工(又称为数据处理)

对数据流进行某些操作或变换。

③数据存储(又称为文件)

指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。

④数据源点或终点

是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。 (3)基本符号表不的含义

箭头,表示数据流。

圆或椭圆,表示加工。

双杠,表示数据存储。

方框,表示数据的源点或终点。

6. 说明对象模型的特征。

【答案】(1)对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系。

(2)模型主要关心系统中对象的结构、属性和操作使用对象图来描述。

7. 列举用主动对象表示控制流时应遵循的应用规划。

【答案】(1)在一个表示进程的主动对象中,有且仅有一个表示进程的主动服务。

(2)如果要把一个进程和隶属于它的线程分散到不同的对象中去表示,则尽可能使每个对象中只含有一个表示线程的服务。

(3)如果要把进程和隶属于它的线程放在一个对象中表示,就应该把这个进程的全部线程都放在同一个对象中,避免一部分集中,一部分分散。

三、综合应用题