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

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

  摘要

一、名词解释

1. 概要设计

【答案】概要就是回答“概括地说,系统应该如何实现”这个问题。概要设计站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构。

二、简答题

2. 在软件测试中,应注意哪些原则?

【答案】(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,做到“有的放矢”。

(2)测试用例不仅用合理的输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接收,并给出相应提示。

(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。例如程序正确打印出用户并不需要的多余信息。

(4)应定制测试计划并严格执行,排除随意性。

(5)长期保留测试用例。测试用例的设计耗费很大的工作量,必须作为文档保存。因为修改后的程序可能有新的错误,需要进行回归测试。同时,为以后的维护提供方便。

(6)对发现错误较多的程序段,应进行更深入的测试。有统计数字表明,一段程序中已发现的错误越多,其中存在的错误概率也越大。因为发现错误数越多的程序段,其质量较差。同时在修改错误过程中又容易引入新 的错误。

(7)程序员避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。另外,对需求规格说明的理解而引入的错误则更难发现。因此由别的人或另外的机构来测试程序员编写的程序会更客观、更有效。

3. 维护技术有哪些?

【答案】(1)面向维护的技术

面向维护的技术是在软件开发阶段用来减少错误,提高软件可维护性的技术,面向维护的技术涉及软件开发的所有阶段。

①在需求分析阶段,对用户的需求进行严格的分析定义,使之没有矛盾和易于理解,可以减少软件中的错误。

②在设计阶段,划分模块时充分考虑将来改动或扩充的可能性。使用结构化分析和结构化设计方法,采用容 易变更的、不依赖于特定硬件和特定操作系统的设计。

③在编码阶段,采用灵活的数据结构,是程序相对独立于数据的物理结构,养成良好的程序设计风格。

④在测试阶段,尽可能多地发现错误,保存测试用例和测试数据等。

(2)维护支援技术

维护支援技术是在软件维护阶段用来提高维护作业的效率和质量的技术,维护支援技术包括下列各方面的技术:信息收集、错误原因分析、软件分析与理解、维护方案评价、代码与文档修改、修改后的确认、远距离的维护。

4. 可行性研究的任务有哪些?

【答案】可行性研究首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。然后,分析员进行简要的需求分析,经过压缩的设计,探索出若干种可供选择的主要解决办法。对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。

(1)技术可行性

要确定使用现有的技术能否实现系统,就要对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现。这里的资源包括已有的或可搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。

(2)经济可行性

进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。对于大多数系统,一般衡量经济上是否合算,应考虑一个最小利润值,经济可行性研究范围较广,包括成本一效益分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。

(3)社会可行性

确定要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

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

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

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

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

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

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

6. 简要说明如何划分等价类。

【答案】(1)如果某个输入条件规定了取值范围的个数,则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值和个数小于这个范围的最小值或大于这个范围的最大值)。

(2)如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理的等价类,此外还有一个不合理等价类(任何一个不允许的输入值)。

(3)如果规定了输入数据必须遵循的原则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。

(4)如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。

7. 说明McCall 软件质量度量模型。

【答案】McCall 质量度量模型是McCall 等人于1979年提出的软件质量模型。针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下。

(1)面向软件产品操作

①正确性:软件满足设计规格说明及用户预期目标的程度。

②可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。

③效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量。

④完整性:对非授权人访问软件或数据行为的控制程度。

⑤可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。

(2)面向软件产品修改

①可维护性:找到并改正程序中的一个错误所需代价。

②可测试性:测试软件以确保其能够执行预定功能所需工作量。

③灵活性:修改可运行程序所需要付出的努力。

(3)面向软件产品适应

①可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行所需的工作量。

②可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。

③连接性:将一个系统耦合到另一个系统所需的工作量。

三、综合应用题

8. 画出下面伪代码对应的PAD 图和N-S 图。