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

2017年解放军信息工程大学085210控制工程(专业学位)05方向软件工程考研复试核心题库

  摘要

一、名词解释

1. 软件项目管理

【答案】软件项目管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,保证软件生命周期中的各项活动的正常的进行。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。

二、简答题

2. 需求分析有哪些特点?

【答案】(1)用户与开发人员很难进行交流

需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。但是在开始时,开发人员和用户双方都不能准确地提出系统要“做什么?”。由于用户和开发人员互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。

(2)用户的需求是动态变化的

对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和需求分析性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚 者,到开发后期还在提新的要求。

(3)系统变更的代价呈非线性增长

需求分析是软件开发的基础。在该阶段发现一个错误,解决它需要的代价要比等到设计、编程、测试和维护阶段解决小非常多。

3. 在哪些情况下适宜使用原型?哪些情况下不宜使用原型?

【答案】(1)适宜使用原型的情况

①开发周期很长的项目,通过原型开发来缩短开发周期。

②系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制。

③用户对系统的需求较为模糊,对某种要求缺乏信心。

④开发者对系统的某种设计方案的实现无信心或无十分的把握。

(2)不宜使用原型的情况

①缺乏开发工具,或对原型的可用工具不了解的时候。

②用户不愿意参与开发。

③用户的数据资源没有很好地组织和管理的时候,因为快速原型需要快速寻找和存取数据。 ④用户的软件资源没有被组织和管理起来的时候,因为MIS 中的模型、模块、使用设施和程

序的难易程度对原型使用很关键。

4. 列举出几种情况下运用整体一部分结构而实现或支持的复用。

【答案】(1)在两个或更多的对象类中都有一组属性和服务描述这些对象的一个相同的组成部分。把它们分离出来作为部分对象,建立整体一部分结构,这些属性和服务就被多个类复用,从而简化了它们的描述。

(2)系统中已经定义了某类对象,在定义其他对象时,发现其中一组属性和服务与这个已定义的对象是相同的,那就不必再重复地定义这些属性与服务,只需建立它与前一类对象之间的整体一部分结构。

(3)通过整体一部分结构提取可复用构件,以支持领域范围的复用问题。如果一个对象类中有一组属性和服务描述了该对象的一个独立部分,即使从本系统看并不需这样一个部分对象,只要它是一种在本领域经常使用的对象,就可把它从整体中分离出来作为部分对象,使它的类定义成为一个应用范围较广的可复用构件。

5. 什么是需求分析?需求分析阶段的基本任务是什么?

【答案】(1)需求分析的定义

需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求

陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(2)需求分析的基本任务

需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作。

①问题识别

双方确定对问题的综合需求,这些需求如下:

a. 功能需求

所开发的软件必须具备什么样的功能,这是最重要的。

b. 性能需求

待开发的软件的技术性能指标。如存储容量、运行时间等限制。

c. 环境需求

软件运行时所需要的软、硬件(如机型、外设、操作系统、数据库管理系统等)的要求。 d. 用户界面需求

人机交互方式、输入输出数据格式等等。

另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求,这些需求一般通过双方交流、调查研究来获取,并达到共同的理解。

②分析与综合,导出软件的逻辑模型

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主

要成分,并用图文结合的形式,建立起新系统的逻辑模型。

③编写文档

a. 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

b. 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。

c. 编写确认测试计划,作为今后确认和验收的依据。

d. 修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。

6. 什么是事件?

【答案】事件是发生在某一个时问点的一件事,例如,用户单击左边按钮,或者某次航班从北京出发。

7. 动态测试的四个阶段分别是什么?请简述各阶段的主要工作?

【答案】(1)动态测试的四个阶段

动态测试的四个阶段分别是单元测试、集成测试、系统测试、确认测试。

(2)动态测试各阶段的主要工作

①单元测试

把每个模块作为一个单独的实体来测试,检验其正确性。目的是保证每个模块作为一个单元能正确运行。模块测试所发现的是编码和详细设计的错误。

②集成测试

把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要 问题,即集成测试着重测试模块的接口。

③系统测试

把经过测试的子系统装配成一个完整的系统来测试。系统测试发现的是软件设计中和需求说明中的错误。

④确认测试

把软件系统作为单一的实体进行测试,它是在用户积极参与下进行的,而且主要使用实际数据进行测试。确认测试的目的是验证系统确实能够满足用户的需要,确认测试发现的是系统需求说明书中的错误。

三、综合应用题

8. 说明微软过程的适用范围。

【答案】微软过程的每一个生命周期发布一个递进的软件版本,各个生命周期持续、快速地迭代循环。它综合了 Rational 统一过程和敏捷过程的许多优点,是对众多成功项目的开发经验的