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

2018年重庆大学软件学院877C语言程序设计和数据库原理及应用之软件工程导论考研核心题库

  摘要

一、名词解释

1. 程序的可移植性

【答案】程序的可移植性指程序从某一环境转移到另一个环境下的难易程度。为获取较高的可移植性,在设计过程中采用的程序设计语言和运行支撑环境,尽量不使用与系统底层相关性强的语言。

2. 问题分析图PAD

【答案】问题分析图(PAD )是由程序流程图演化而来,用二维树形结构的图来表示程序的控制流,将其翻译成 程序代码比较容易。它既可以用来表示程序逻辑,也可以用来描述数据结构,支持结构化程序设计(SP )方法, 仅具有顺序、选择、循环三类基本成分。

二、简答题

3. 瀑布模型有哪些局限性?

【答案】(1)各阶段之间存在着严格的顺序性,特别强调预先定义需求的重要性,在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但是实际项目很少是遵循着这种线性顺序进行的。

(2)虽然瀑布模型也允许迭代,但这种改变往往给项目开发带来混乱。在系统建立之前很难只依靠分析就确定出一套完整、准确、一致、有效的用户需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。

(3)传统的瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种思想的、线性的开发过程,缺乏灵活性,不适应实际的开发过程。

4. 软件配置管理有哪些内容?

【答案】软件配置管理的内容有:

(1)基线

基线是软件生存期中各开发阶段的一个特点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道处于的位置,返回到最近和最恰当的基线上。

(2)软件配置项

软件配置项(SCI )是软件工程中产生的信息项,它是配置管理的基本单位。

(3)版本控制管理

版本控制管理是对系统不同版本进行标识与跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。

(4)变更控制

变更控制包括建立控制点和建立报告与审查制度。对于一个大型软件来说,不加控制地变更很快就会引起混 乱。因此变更控制是一项最重要的软件配置任务。

5. 増量模型的基本思想是什么?

【答案】(1)为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了増量模型。它是在瀑布模型的基础上加以修改而形成的。

(2)増量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而増量模型属于非整体开发模型,它推迟某些阶段中的纽节,从而较早地产生工作软件。

(3)増量模型是在项目的开发过程中以一系列的増量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,在一定的时间间隔内以增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。

(4)有多种增量模型,根据增量的方式和形式的不同,分为渐増模型和原型模型。

6. 简述面向对象的要素。

【答案】(1)抽象

①定义

抽象是指强调实体的本质、内在的属性,忽略一些无关紧要的属性。

②抽象性

面向对象比其他方法技术有更高的抽象性,对象具有极强的抽象表达能力,对象可表示一切事物,可表达结构化的数据,也可表达非结构化的数据,如过程实体、图形、声音、规则等。

③共性抽象

类实现了对象的数据(即状态)和行为的抽象,它是对象的共性抽象。

(2)封装性(信息隐蔽)

①定义

封装性是指所有软件部件内部都有明确的范围以及清楚的外部边界,每个软件部件内部都有界面接口,软件部件的内部实现与外部可访问性分离。

②作用

面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。对象是封装的最基

本的单位。封装防止了抽象相互依 赖性而带来的变动影响,面向对象的封装是比传统语言的封装更为清晰、更为有力。

(3)共享性

①同一类中的共享

在同一类中的对象有着相同数据结构。

②在同一个应用中的共享

在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承使相似子类共享共同的结构和行为。

③在不同应用中的共享

通过类库这种机制和结构来实现不同应用中的信息共享。

三、综合应用题

7. 一个浮点二进制数的构成是:一个可选的符号(+或-),后跟一个或多个二进制位,再跟上一个字符E , 再加上另一个可选符号(+或-)及一个或多个二进制位。例如,下列的字符串都是浮点二进制数:

更形式化地,浮点二进制数定义如下:

其中: 符号

符号

符号表示定义为; 表示可选项; 表示a 或b 。

假设有这样一个有穷状态机:以一串字符为输入,判断字符串中是否含有合法的浮点二进制数。试对这 个有穷状态机进行规格说明。

【答案】(1)自然语言描述

改有穷状态机的初态是“等待字符串输入”。在初态若接收到字符“+”、字符或二进制位,则进入“输 入尾数”状态;在初态若接收到其它字符,则进入终态“非浮点二进制数”。在“输入尾数”状态若接收到二进 制位,则保持该状态不变;若接收到字符“E”,则进入“等待输入指数”状态;若接收到其它字符,则进入终 态“非浮点二进制数”。在“等待输入指数”状态若接收到字符“ + ”、字符或二进制位,则进入“输入指 数”状态;若接收其它字符,则进入终态“非浮点二进制数”。在“输入指数”状态若接收到二进制位,则保持 该状态不变;若输入其他字符,则进入终态“非浮点二进制数”;若输入结束,则进入终态“浮点二进制数”。 (2)形式化图,如图所示。