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

2017年河南大学软件工程(同等学力加试)复试实战预测五套卷

  摘要

一、名词解释

1. 软件再工程

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

二、简答题

2. 什么是软件的可靠性?它们能否定量计算?

【答案】(1)软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。

(2)软件可靠性可以进行定量计算,常用指标是平均失效等待时间MTTF 与平均失效间隔时间MTBF 。

假如对n 个相同的系统(硬件或软件)进行测试,它们的失效时间分别是

均失效等待时间MTTF 定义为:

MTBF 是平均失效间隔时间,它是指两次相继失效之间的平均时间。MTBF 在实际使用时通常是指当n 很大时,系统第n 次失效与第

3. 有哪些主要的软件开发方法?

(1)结构化开发方法

结构化开发方法是用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析和设计的方法。它是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

(2)Jackson (JSP 、JSD )方法

Jackson 方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整 的程序结构图。它是一种面向数据结构的软件设计方法,对输入、输出结构明确的中小型系统特别有效。

(3)原型化开发方法

原型化开发是软件开发的一种常用方法。开发人员对用户提出的问题进行总结,就系统的主

第 2 页,共 33 页 则平次失效之间的平均时间。 【答案】主要的软件开发方法有以下几种:

要需求取得一致 意见后,开发出一个原型并运行之,然后反复对原型进行修改,使之逐步完善,直到用户对系统完全满意为止。

(4)维也纳开发方法(VDM )

VDM 是一个基于模型的方法,它的主要思想是将软件系统当作模型来给予描述,具体说就是把软件的输入 /输出看作模型对象,而这些对象在计算机内的状态可看作为该模型在对象上的操作。

(5)面向对象的开发方法

面向对象方法(Object-Oriented Method )是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系 统方法,简称OO (Object-Oriented )方法,是建立在“对象”概念基础上的方法学。

4. 面向对象实现应该选用哪种程序设计语言?为什么?

【答案】(1)面向对象实现应该尽量选用面向对象语言来实现面向对象分析、设计的结果。

(2)原因

①一致的表示方法。面向对象开发基于不随时间变化的、一致的表示方法。既有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。

②可重用性。既可重用面向对象分析结果,也可重用相应的面向对象设计和面向对象程序设计结果。

③可维护性。程序显式地表达问题域语义,对维护人员理解待维护的软件有很大帮助。在选择编程语言时,应该考虑的首要因素是哪个语言能最恰当地表达问题域语义。

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

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

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

(2)数据流图的作用

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

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

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

第 3 页,共 33 页

图1数据流图的基本符号

6. 试分析瀑布模型的优点和缺点。

【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。

(1)优点

①可强迫开发人员采用规范的方法。

②严格地规定了每个阶段必须提交的文档。

③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

④对文档的约束,使软件维护变得容易一些,且能降低软件预算。

(2)缺点

①开发过程一般不能逆转,否则代价太大。

②实际的项目开发很难严格按该模型进行。

③客户往往很难清楚地给出所有的需求。

④软件的实际情况必须到项目开发的后期客户才能看到。

7. 软件项目管理包括哪些内容?

【答案】软件项目管理具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

(1)开发人员

软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。软件生存期各个阶段的活动既要有分工又要互相联系。因此,要求各类人员既能胜任工作,又要相互很好地配合,没有一个和谐的工作环境很难完成一个复杂的软件项目。

(2)组织机构

组织机构要求好的组织机构、合理的人员分工、有效的通信。软件开发的组织机构没有统一的模式。主要有主程序员、专家组、民主组织三种组织机构。

(3)用户

软件是为用户而开发的,在开发过程中自始至终必须得到用户的密切合作和支持。作为项目

负责人,要特别注意与用户保持联系,掌握用户的心理和动态,防止来自用户的各种干扰和阻力。

第 4 页,共 33 页