软件工程考试试卷答案

一.选择题

1、TURBO C是(D)软件·

A、系统软件 B、人工智能 C、事务软件 D、应用软件. 2、计算机辅助软件工程,简称(D) A、SA A、源点 A、松散 最小。 A、纠错性维护

B、代码维护 C、预防性维护

D、文档维护、

6、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C) A、编码阶段 B、软件开发全过程 A、结构合理性 C、程序正确性 A、软件结构 C、软件模型

C、软件定义阶段D、软件设计阶段.

B、软件外部功能 D、程序内部逻辑.

7、软件测试方法,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)

B、SD B、终点 B、紧密

C、SC C、处理

D、CASE' D、模块、

D、相等、

3、在数据流图中,O(椭圆)代表(C)

4、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)

C、无法判断

5、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以( C)维护所占维护量

8、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要(D)

B、软件过程 D、软件模块、

9、软件文档不仅是软件开发各阶段的重要依据,而且与影响软件的(B) A、可理解性 B、可维护性 C、可扩展性 D、可移植性.

10、在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B) A、维护时期B、计划时期C、运行时期D、开发时期,

11、系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(A) A. 软件环境可行性、技术可行性、经济可行性、社会可行性 B. 经济可行性、技术可行性、操作可行性 C. 经济可行性、社会可行性、系统可行性 D. 经济可行性、实用性、社会可行性 12、(C),则说明模块的独立性越强

A、耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 13、面向数据结构的设计方法(JACKSON方法)是进行(B A.系统设计

B、详细设计 C、软件设计 D、编码

)的形式化的方法

14、模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。 A、松散 B、紧密 C、无法判断 D、相等. 15、软件测试的目的是(C) A.评价软件的质量

B.发现软件的错误. D.证明软件是正确的.

C.找出软件的所有错误

A.数据流 C.数据库

16、结构化设计方法是面向(A )的设计。

B.数据编码 D.数据结构

17、在编程安全方面,一般来说无法做到(B) A、避开错误 B、完美无缺,绝无错误 C、冗余 D、涉及防错程序,

18、数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的序是(B) A.数据、公共、标记、控制 C.控制、数据、标记、公共 A.项目开发计划 C.设计说明书 A.结合 B.隐藏

B.数据、标记、控制、公共 D.控制、数据、公共、标记.。 B需求规格说明书 D.可行性分析报告

D.抽象

19、需求分析最终结果是产生(B)

20、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

C.封装

二.概念回答

1. 软件危机

答:

第一种回答:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

第二种回答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

2. 数据流图

答:

第一种回答:一种用于进一步总结现有的系统,并着重描绘系统所完成的功能而不是系统的物理实现方案。

第二种回答:从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

3. IPO图

答:

第一种回答:一种用于描述输入数据、对数据的处理和输出数据之间关系的图形工具

第二种回答:IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

4. 集成测试

答:

第一种回答:在每个模块完成单元测试以后,需要按照设计时确定的结构图,把模块连接起来,进行测试,这种测试成为集成测试。

第二种回答:在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行测试称为集成测试。

5. 软件工程

答:

第一种回答:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。

第二种回答:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

第三种回答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

6. 可行性研究

答:

第一种回答:可行性研究是整个软件工程的第一个步骤,用于描述问题和定义问题,然后根据定义阶段的工作去确定问题是否值得去解决。

第二种回答:可行性研究是指在调查的基础上,通过从技术可行性、经济可行性、操作可行性、社会可行性四个角度进行分析,对各种项目的综合评价。

7. 模块化

答:

第一种回答:模块化是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,可以完成指定的功能的一种方式。

第二种回答:模块化是一种处理复杂系统分解为更好的可管理模块的方式。可以用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。

8. 结构化程序设计

答:

第一种回答:结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑结构,使得理解和修改更有效更容易。采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。

第二种回答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止?描述工具:1系统流程图?2?数据流程图3数据字典4?IPO图?5层次方框图6实体—关系图7状态—变迁图

三.简单题

1. 什么是软件工程?基本原理有哪些?

答:

第一种回答:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究。

基本原理:1用分阶段的生存周期计划严格管理开发过程2坚持进行阶段评审。3实行严格的产品控制。4采用现代程序设计技术。5明确的规定开发小组的责任和产品标准。6开发小组的人员应少而精。7承认不断改进软件工程实践的必要性

第二种回答:软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中。软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件。

其主要目标如下:1实现预期的软件功能,达到较好的软件性能,满足用户的需求。2增强软件过程的可见性和可控性,保证软件的质量 3 提高软件的可维护性,降低维护费用。4 提高软件开发生产率,及时交付使用5.合理预算开发成本,付出较低的开发费用

2. 非渐增式测试与渐增式测试有什么区别?

答:

第一种回答:渐增式测试:可以较早发现模块间的接口错误、出现的错误往往跟最新加入的模块有关、在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底,但较非渐增式测试费时。?

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4