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

2017年解放军信息工程大学085210控制工程(专业学位)05方向软件工程复试实战预测五套卷

  摘要

一、名词解释

1. 信息隐藏

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

二、简答题

2. 选择面向对象程序设计语言时主要应该考虑哪些因素?

【答案】(1)将来能否占主导地位。

(2)可重用性。

(3)类库和开发环境。

(4)其他因素,包括售后服务、对运行环境的需求、集成已有软件的难易程度等。

3. 试述软件项目计划内容。

【答案】(1)范围

对该软件项目的综合描述,定义其所要做的工作以及性能限制,它包括项目目标、主要功能、性能限制、系统接口、特殊要求、开发概述等。

(2)资源

包括人力资源、硬件资源、软件资源及其他资源。

(3)进度安排

进度安排的好坏往往会影响整个项目的按期完成,因此这一环节是十分重要的。制定软件进度与其他工程没有很大的区别,其主要的方法有:工程网络图、Gantt 图、任务资源表等。

(4)成本估算

为使开发项目能在规定的时间内完成,且不超过预算,成本估算是很重要的。软件成本估算是一门不成熟的技术,国外已有的技术只能作为我们的借鉴。

(5)培训计划

为用户各级人员制定培训计划。

4. 什么是抽象类?在建模时有时使用抽象类有什么好处?

【答案】(1)抽象类的定义

抽象类是指没有实例的类,定义了一些抽象的操作,即不提供实现方法的操作,只提供操作

的特征,并标注。

(2)使用抽象类的好处

在建模时使用抽象类使系统结构更加的清晰,增加了系统的可读性和可理解性。

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

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

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

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

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

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

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

6. 试说明主动服务与被动服务的区别。

【答案】(1)主动服务

主动服务是不需要接收消息就能主动执行的服务,它在程序实现中是一个主动的程序成分,例如用于定义进程或线程的程序单位。

(2)被动服务

被动服务是只有接收到消息才执行的服务,它在编程实现中是一个被动的程序成分,例如函数、过程、例程等。

(3)区别

被动对象的服务都是被动服务,主动对象应该有至少一个主动服务。在定义服务的过程中,对于主动对象应指出它的主动服务。

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

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

(1)优点

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

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

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

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

(2)缺点

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

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

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

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

三、综合应用题

8. 配置审计和技术复审有何不同?可否把它们的功能放在一次复审中完成?

【答案】(1)正式的技术复审关注被修改后的配置对象的技术正确性。

(2)复审者审查该对象以确定它与其他软件配置项的一致性,并检查是否有遗漏或副作用。软件配置审计通过评估配置对象的那些通常不在复审过程中考虑的特征,而成为对正式技术复审的补充。

9. —个程序能既正确又不可靠吗?解释自己的答案。

【答案】(1)软件可靠性是程序在给定的时间间隔内按照规格说明书的规定成功地运行的概率。软件可靠性既包含正确性又包含健壮性,即不仅在预定环境下程序应该能正确地完成预期功能,而且在硬件发生故障、输入的数据无效或用户操作错误等意外环境下,程序也应该能作出适当的响应。

(2)如果一个程序在预定环境下能够正确地完成预期的功能,但是在意外环境下不能作出适当的响应,则该程序就是既正确又不可靠。

10.什么是软件危机? 它有哪些典型表现? 为什么会出现软件危机?

【答案】(1)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包含两方面的问题:

①如何开发软件,以满足对软件日益增长的需求;

②如何维护数量不断膨胀的已有软件。

(2)软件危机的典型表现:

①对软件开发成本和进度的估计不准确;

②用户对“已完成的”软件系统不满意的现象经常发生;

③软件产品的质量往往靠不住;

④软件常常是不可维护的;

⑤软件通常没有适当的文档资料;

⑥软件成本在计算机系统总成本中所占的比例逐年上升;

⑦软件开发跟不上计算机应用迅速普及深入的趋势。

(3)软件危机出现的原因: