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

2017年青岛科技大学软件工程、数据库原理(同等学力加试)之软件工程复试实战预测五套卷

  摘要

一、名词解释

1. 抽象

【答案】把在现实世界中一定事物、状态或过程之间的共性集中和概括起来,暂时忽略它们之间的差异,这就是抽象。即抽象就是抽出事物的本质特性而暂时不考虑它们的细节。

二、简答题

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

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

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

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

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

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

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

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

3. 画数据流图的步骤是什么?画数据流图应该注意什么事项?

【答案】(1)画数据流图的步骤

①首先画系统的输入输出,即先画顶层数据流图

顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。顶层图只有一张。

②画系统内部,即画下层数据流图

一般将层号从0开始编号,采用自顶向下、由外向内的原则。画0层数据流图时,一般根据

当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。画更下层数据流图时,则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止,不再分解的加工称为基本加工。

(2)画数据流图时要注意的事项

①命名

不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容,而不仅仅是它的某些成分,不便用缺乏具体含义的名字,如“数据”、“信息”等,加工名也应反映整个处理的功能,不使用“处理”、“操作”这些笼统的词。

②画数据流而不是控制流

数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

③一般不画物质流

数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。

④每个加工至少有一个输入数据流和一个输出数据流

反映出此加工数据的来源与加工的结果。

⑤加工点的编号

如果一张数据流图中的某个加工点分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图应编号,子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局 部号组成。

⑥父图与子图的平衡

子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。父图与子图的平衡,是分层数据流图中的重要性质,保证了数据流图的一致性,便于分析人员的阅读与理解。

⑦局部数据存储

在分层处理的过程中,当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。一个局部数据存储只要当它作为某些加工的数据接H 或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐藏。

⑧提高数据流图的易理解性

注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。分解时要注意子加工的独立性,还应注意均匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分,这样做便于

理解;不要在一张数据流图中,某些加工已是基本加工,某些加工还要分解好几层。

4. 程序流程图的特点有哪些?

【答案】(1)程序流程图的优点

流程图的优点是直观清晰、易于使用,是开发者普遍采用的工具。

(2)程序流程图的缺点

①可以随心所欲地控制流程线的流向,容易造成非结构化的程序结构。编码时势必不加限制地使用GOTO 语言,导致基本控制块多入口多出口,这样会使软件质量受到影响,与程序设计的原则相违背。

②流程图不易反映逐步求精的过程,往往反映的是最后的结果。

③不易表示数据结构。

5. 简述三种分析模型的关系。

【答案】(1)功能模型说明对象模型中操作的含义、动态模型中动作的意义以及对象模型中约束的意义。一些不存在相互作用的系统,如编译器系统,它们的动态模型较小,因为它们的目的是功能处理,功能模型是这类系 的主要模型。

(2)功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对象的数据值的流向。数据流图不表示控制信息,控制信息在动态模型中表示。数据流图也不表示对象中值的组织,这种信息在对象模型中表示。

6. 简要叙述软件工程目标和内容。

【答案】(1)软件工程的目标

软件工程的目的是成功地建造一个大型软件系统,该软件系统具有如下特点:

①付出的开发成本较低;

②达到了要求的软件功能;

③取得了较好的软件性能;

④开发的软件易于移植;

⑤需要较低的维护费用;

⑥能够按时完成开发任务;

⑦及时交付使用;

⑧开发的软件可靠性高。

(2)软件工程的内容

软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。

①在软件开发技术方面,主要是研究软件开发方法、软件开发过程、软件开发工具和环境。 ②在软件开发管理方面,主要是研究软件管理学、软件经济学、软件心理学等。