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

2017年重庆大学软件学院877软件工程基础综合考研强化模拟题

  摘要

一、填空题

1. 软件工程需要解决的问题有_____、_____、_____、_____和_____。

【答案】软件费用;软件可靠性;软件可维护性;软件生产率;软件重用

2. Petri 网模型可以表示_____和_____方面的信息。

【答案】系统结构;动态行为

3. 控制耦合中一个模块调用另一个模块时,传递的是_____ (如开关、标志等),被调模块通过_____有选择地执行模块内某一功能。因此被调模块内应具有多个功能,哪个起作用受其_____的控制。

【答案】控制变量;该控制变量的值;调用模块

4. 在软件的体系结构中,模块是可组合、分解和更换的单元。模块具有_____、_____、_____和_____等属性。

【答案】接口;功能;逻辑;状态

5. 在软件维护中,因修改软件而导致出现的错误或其他情况称为_____。

【答案】维护的副作用

6. 成本一效益分析首先是估算将要开发的系统的_____,然后与可能取得的效益进行_____。

【答案】开发成本;比较和权衡

7. _____是对象现有属性的某些特殊值。

【答案】对象的状态

8. 成本估算是在软件项目开发之前,估算项目开发所需的_____、_____和_____。

【答案】经费;资源;开发进度

9. 数据字典有以下四类条目:_____、_____、_____、_____、_____是组成数据流和数据存储的最小元素。

【答案】数据流;数据项;数据存储;基本加工;数据项

10.构造原型的技术主要有_____、_____、_____、_____。

【答案】可执行的规格说明;基于脚本的设计;采用非常高级语言或专门语言;能重用软件

二、简答题

11.提高软件质量和可靠性的技术有哪些?

【答案】(1)避开错误技术

即在开发的过程中不让差错潜入软件的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术。但是,无论使用多么高明的避开错误技术,也无法做到完美无缺和绝无错误。

(2)容错技术

,容错技术即使错误发生也不影响系统即对某些无法避开的差错,使其影响减至最小的技术。

特性,使错误发生时对用户影响限制在某些允许的范围内。

12.什么是“事务流”?

【答案】若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD 称为事务型的数据流图,这个加工称为事务处理中心,如图所示。

图 事务型的数据流图

13.维护技术的副作用有哪些?

【答案】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。

(1)编码副作用

在使用程序设计语言修改源代码时可能引入下面错误。这些错误要到运行时才能被发现。例如:

①删除或修改一个子程序、一个标号、一个标识符。

②改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符。

③修改文件的打开和关闭。

④改进程序的执行效率。

⑤把设计上的改变翻译成代码的改变。

⑥为边界条件的逻辑测试做出改变。

(2)数据副作用

在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:

①重新定义局部或全局的常量,重新定义记录和文件格式。

②增加或减少一个数组或高层数据结构的大小。

③修改全局或公共数据。

④重新初始化控制标志或指针。

⑤重新排列输入/输出或子程序的参数。

(3)文档副作用

所有的维护活动都必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。例如:

①修改交互输入的顺序和格式,没有正确地记入文档中。

②过时的文档内容、索引和文本可能造成冲突等。

14.试述软件危机产生的原因。

【答案】软件危机产生的原因有:

(1)软件的规模越来越大,结构越来越复杂。随着计算机应用的日益广泛,需要开发的软件规模日益庞大,软件结构也日益复杂。

(2)软件开发管理困难。由于软件规模大,结构复杂,又具有无形性的特点,因此导致管理困难,进度控制困难,质量控制困难,可靠性无法保证。

(3)软件开发费用不断增加。软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多、周期长,费用上升很快。

(4)生产方式落后。仍然采用个体手工方式开发,根据个人习惯爱好工作,无章可循,无规范可依据,仅靠言传身教方式工作。

(5)软件开发技术落后。

(6)软件开发工具落后,生产率的提高速度缓慢。

15.什么是软件工程?简述软件工程的基本原理及软件工程的目标。

【答案】(1)软件工程的定义

①软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。

②软件工程采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术 和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

(2)软件工程的基本原理

①用分阶段的生命周期计划严格管理。

①坚持进行阶段评审。