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

2017年吉林农业大学软件工程(同等学力加试)考研复试核心题库

  摘要

一、名词解释

1. 问题分析图PAD

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

二、简答题

2. 简述瀑布模型的优缺点。

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

(1)优点

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

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

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

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

(2)缺点

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

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

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

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

3. 什么是α测试和β测试?

【答案】(1)α (Alpha )测试

α测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,且开发者负责记录发现的错误和遇到的问题。即α测试是在受控的环境中进行的。

(2)β (Beta )测试

β测试由软件的最终用户们在一个或多个客户场所进行。开发者通常不在β测试的现场,即(β测试是软件在 开发者不能控制的环境中的“真实”应用。主要的实现步骤是:

①用户记录在β测试过程中遇到的问题,并且定期把这些问题报告给开发者;

②开发者在接收到在β测试期间报告的问题之后,对软件产品进行必要的修改;

③开发者向全体客户发布最终的软件产品。

4. 测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?

【答案】(1)单元测试,是在类层面上的测试。由于继承和复合,类(或对象)在很多情况下已不再是单纯意义上的单个操作。因此,具体的测试将在多有与操作有关的每个子类语境中进行。

(2)集成测试,由于面向对象软件中类的成分直接和间接交互,使得传统测试放法已经失去意义。因此有两种策略可供选择,分别是基于线程的测试和基于使用的测试。

(3)确认测试,关注与用户可见的动作和用户识别的系统输出,但基于场景的测试总是主宰面向对象系统的确认测试。

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

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

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

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

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

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

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

6. 什么是结构化维护?结构化维护的特点是什么?

【答案】(1)结构化维护的定义

若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。

(2)结构化维护的特点

①有软件工程思想开发的软件具有各个阶段的文档,这对于理解和掌握软件功能、性能、系统结构、数据结构、系统接口和设计约束有很大作用。

②进行维护活动时,首先从评价需求说明开始,搞清楚功能、性能上的改变,然后对设计说明文档进行评价,对设计说明文档进行修改和复查;根据设计的修改,再进行程序的变动;其后根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费、提高软件维护效率有很大作用。

7. 为什么要进行软件项目管理?

【答案】软件项目管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,

保证软件生命周期中的各项活动的正常的进行。软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。 进行软件项目管理的原因如下:

(1)软件项目管理与软件开发的质量、效率、最终成果息息相关。

(2)软件项目管理可以合理分配资源,合理安排人员,避免出现混乱的情况。

(3)运用科学的管理方式,大大的降低了成本的投入和不必要资源的浪费。

(4)更好的对整个软件进行预测和分析,帮助掌握整个生命周期中的各项活动细节。

三、综合应用题

8. 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作 单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。

写出问题定义并分析此系统的可行性。

【答案】(1)问题定义

①目标:在一个月内建立一个高效率,无差错的航空公司机票预定系统。

②存在的主要问题:人工不易管理,手续繁琐。

(2)可行性分析

①经济可行性

a. 成本估算

b. 效益估算

该系统有很好的社会效益,提高了公司售票效率,方便旅客,售票方便、科学。

①技术可行性

经过调查分析,得到目前航空公司机票预定系统流程图如图1和2。

图1 订票系统流程图