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

2017年河南大学软件工程导论(同等学力加试)复试仿真模拟三套题

  摘要

一、名词解释

1. 信息隐藏

【答案】信息隐藏在信息安全保障体系的诸多方面发挥着重要作用,它指的是在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对不需要这些信息的其他模块来说,是不能访问的,也是不可见的。

二、简答题

2. 软件工程的净室方法为什么没有得到广泛的使用?

【答案】(1)净室方法学太理论、太数学化,以至难于在真实的软件开发中使用。

(2)不需要进行单元测试,而是进行正确性验证和统计质量控制,与当前大多数软件开发方式背离。

(3)软件开发产业的成熟度。净室过程的使用需要在整个生命周期阶段定义的过程中严格的应用,因为大多数软件企业的运作还处于特定的阶段(级别),因此,还没有准备好应用哪些技术。

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

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

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

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

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

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

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

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

②用户不愿意参与开发。

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

4. 软件维护有哪些内容?

【答案】(1)校正性维护

在软件交付使用后,由于在软件开发过程中产生的错误被带到维护阶段上来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护

随着计算机的飞速发展,计算机硬件和软件环境也不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。

(3) 完善性维护

在软件漫长的运行时期中,用户往往会对软件提出新的功能要求和性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护

为了提高软件的可维护性和可靠性对软件进行的修改称为预防性维护。这是为以后进一步地运行和维护打好基础。这需要采用先进的软件过程方法对需要维护的软件或软件中的某一部分进行设计、编码和测试。

5. 快速原型模型有哪几种?各有何特点?

【答案】(1)快速原型模型的分类

原型模型又称快速原型模型,它是增量模型的另一种形式。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。根据原型的不同作用,可以分为探索型模型、实验型模型和演化型模型三类。

(2)三种快速原型模型的特点

①探索型模型

这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来说明用户的需求。

②实验型模型

这种原型主要用于设计阶段,考核实现方案是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。

③演化型模型

这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包括系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。

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

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

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

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

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

则平

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

7. 需求分析有哪些特点? 次失效之间的平均时间。

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

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

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

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

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

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

三、综合应用题

8. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给

储户;如果是取款,系统 计算利息并印出利息清单给储户。写出问题定义并分析此系统的可行性。

【答案】(1)问题定乂

①如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。

②如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。

③为了满足储户的需求,该系统需要迅速的对用户的要求做出反馈,要对用户输入的信息作出最快的处理,所以就需要很大的主存容量,以及强大的数据库支持。由于是所面向的用户是广泛的储蓄用户群,所以需要系统 强大的安全性能支持。

(2)可行性研究方法条件、假定和限制

①建议开发软件运行的最短寿命:5年。

②进行系统方案选择比较的期限:2个月。