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

2018年解放军信息工程大学软件工程825软件工程和编译原理[专硕]之软件工程导论考研基础五套测试题

  摘要

一、简答题

1. 什么是软件危机?软件危机表现在哪些方面?

【答案】(1)软件危机的定义

在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的办法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。

(2)软件危机的表现

①对于软件开发的成本和进度的估计很不准确。由于缺乏软件开发的经验和软件开发数据的积累,使得很难制定出合理有效的开发工作计划。

②开发的软件产品不能完全满足用户要求,用户对已完成开发的软件系统不满意的现象常常发生。

③开发的软件可靠性差。

④软件的可维护性差。

⑤软件通常没有适当的文档。

⑥软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

2. 模块的内聚性有哪几种?各表示什么含义?

【答案】(1)模块内聚性的分类

内聚性有七种类型:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚,它们的内聚性由低到高。

(2)模块内聚性的含义

①偶然内聚

偶然内聚指一个模块内的各处理元素之间没有任何联系,这是最差的内聚情况。

②逻辑内聚

逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。如产生各种类型错误的信息输出放在一个模块,或从不同设备上的输入放在一个模块,这是一个单人口多功能模块。这种模块内聚程 度有所提高,各部分之间在功能上有相互关系,但不易修改,当某个调用模块要修改此模块公用代码时,而另一些调用模块又不要求修改。另外,调用时需要进行控制参数的传递,造成模块间的控制耦合,调用此模块时,不用的部分也占据了主存,降低了系统效率。

③时间内聚

时间内聚把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。如初始化一组变量,同时打开若干文件,同时关闭文件等等,都与特定时间有关。时间内聚比逻辑内聚程度高一些,因为时间内聚模块中的各部分都要在同一时间内完成。但是由于这样的模块往往与其他模块联系的比较紧密,如初始模块对许多模块的运行有影响,因此和其他模块耦合的程度较高。

④过程内聚

如果一个模块内的处理元素是相关的,而且必须以特定的次序执行,称为过程内聚。过程内聚模块的各组成功能由控制流联结在一起,实际上是若干个处理功能的公共过程单元。

⑤通信内聚

通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。

通信内聚的模块各部分都紧密相关于同一数据(或者数据结构),所以内聚性要高于前几种类型。同时,可把某一数据结构、文件、设备等操作都放在一个模块内,可达到信息隐藏。

⑥顺序内聚

顺序内聚指一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。

⑦功能内聚

功能内聚是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。功能内聚的模块易于理解、易修改,因为它的功能是明确的、单一的,因此与其他模块的耦合是弱的。功能内聚的模块有利于实现软件的重用,从而提高软件开发的效率。

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

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

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

①付出的开发成本较低;

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

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

④开发的软件易于移植;

⑤需要较低的维护费用;

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

⑦及时交付使用;

⑧开发的软件可靠性高。

(2)软件工程的内容

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

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

4. 什么是数据流图,其作用是什么,有哪些基本符号以及各表示什么含义?

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

数据流图(DFD )是一种用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程的 图形化技术。它是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

(2)数据流图的作用

数据流图的作用是描绘信息流和数据从输入移动到输出的过程中所经受的变换。

(3)数据流图的基本符号和表示含义

数据流图中的基本符号和表示含义,如图1所示。

图1数据流图的基本符号