搜档网
当前位置:搜档网 › 软件工程复习题

软件工程复习题

软件工程复习题
软件工程复习题

软件工程期末考试复习题

时间:2019年7月5日考

1.8 练习题

—、填空题

1.软件工程是一门综合性的交叉学科,它涉及计算机学科、工程学科、管理学科和数学学科。

2.软件工程研究的主要内容是方法、过程和工具三个货面。

3.由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。

4.SWEBOK V3中,软件工程知识体系分为软件工程教育需求和软件工程实践两大类。

5.增量式模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。

6. 喷泉模型比较适用于面向对象的开发方法。

7.软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。

二、判断题

1.SWEBOK V3分两大类,共有15个知识域。(?)

2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。(?)

3.软件工程学一般包含软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。(?)

4. 软件开发中的最大的问题不是管理问题,而是技术问题。(×)

5. XP (eXtreme Programming,极限编程)是由Kent Beck提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。(?)

三、选择题

1.下列所述不是敏捷生存期模型的是(C)。

A. Scrum

B. XP

C. V 模型

D.OPEN UP

2.软件工程的出现主要是由于(C)。

A.程序设计方法学的影响

B.其他工程学科的影响

C.软件危机的出现

D.计算机的发展

3. 以下(C)不是软件危机的表现形式。

A.开发的软件不满足用户的需要

B.开发的软件可维护性差

C.开发的软件价格便宜

D.开发的软件可靠性差

4.以下不是SWEBOK V3的软件工程实践中的知识域的是(B)。

A.软件需求

B.工程基础

C.软件构造

D.软件设计

5.下列所述不是软件组成的是(C)。

A.程序B,数据C.界面D.文档

6.下列对“计算机软件”描述正确的是(A)

A.是计算机系统的组成部分

B.不能作为商品参与交易

C.是在计算机硬件设备生产过程中生产出来的

D.只存在于计算机系统工作时

7.软件工程方法的提出起源于软件危机,其目的应该是最终解决软件的(D)问题。

A.软件危机

B.质量保证

C.开发效率

D.生产工程化

8.软件工程学涉及软件开发技术和项目管理等方面的内容,下述内容中(D)不属于开发技术的范畴。

A.软件开发方法

B.软件开发工具

C.软件工程环境

D.软件工程经济

2.11 练习题

—、填空题

1.UML的三个基本构造块是事务、关系和图。

2.在软件开发的结构化方法中,采用的主要技术是SA,即结构化分析和SD,即结构化设计。

3.数据流图描述数据在软件中的流动和处理过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工、外部实体、数据流向和数据存储。

4.面向对象方法将数据和对数据的操作紧密地结合起来的方法,这是其与传统结构化方法的主要区别。

5.软件代理一般具有自治性、开放性、反应能力特性。

二、判断题

1.面向对象开发过程是多次重复和迭代的演化过程,在概念和表示方法上的一致性保证了各项开发活动之间的平滑过渡。(√)

2.基于构件软件工程开发的整个过程从需求开始,在完成体系结构设计后,并不立即开始详细设计,而是确定哪些部分可由构件组装而成。(√)

3.软件逆向工程是根据对软件需求的分析恢复其设计和软件代码的过程。(×)

三、选择题

1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。

A.目标

B.数据流

C.功能

D.对象

2.结构化的概要设计是以(B )技术为基础的软件设计方法。

A.抽象

B.模块化

C.自下而上

D.信息隐蔽

3.在结构化分析方法中,常用的描述软件功能需求的工具是(C)。

A.业务流程图、处理说明

B.软件流程图、模块说明

C.数据流程图、数据字典

D.系统流程图、程序编码

4. (A )不是UML的图示。

A.流程图

B.用例图

C.活动图

D.序列图

3.10 练习题

—、填空题

1.分析模型在系统级描述和软件设计之间建立了桥梁描述。

2.最常见的实体关系图的表示法是Peter Chen表示法和James Martin表示法。

3.结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图、数据字典和系统流程图等来描述。

4.在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的加工、处理成分。

5.面向对象的需求分析中常用的UML图示有用例图、顺序图、状态图、协作图和活动图等。

二、判断题

1.系统流程图表达了系统中各个元素之间信息的流动情况。(√)

2.用例,求兮析气法采用的是一种结构化的情景分析方法,即一种基于场景痤模的方法。(×)

3.纪面向对象分析方法认为系统是对象的集合,是以功能和数据为基础的。(×)

4.结构化分析方法适合于数据处理类型软件的需求分析。(√)

5.需求变更管理是需求管理过程中很重要的过程。(√)

6.软件需求规格内£^包括算法的详细描述。(×)

三、选择题

1.软件开发过程中,需求活动的主要任务是(B)。

A.给出软件解决方案

B.定义需求并建立系统模型

C.定义模块算法

D.给出系统模块结构

2.软件需求规格说明文档中包括多方面的内容,下述(D)不是软件需求规格说明文档中应包括的内容。

A.安全描述

B.功能描述

C.性能描述

D.软件代码

3.软件需求分析一般应确定的是用户对软件的(D)。

A.功能需求

B.非功能需求

C.性能需求

D.功能需求和非功能需求

4.结构化分析方法中,描述软件功能需求的常用工具有(A)。

A.业务图,数据字典

B.软件流程图、模块说明

C.用例图、数据字典

D.系统流程图、程序编码

5.软件需求分析阶段建立原型的主要目的是(C)。

A.确定系统的功能和性能要求

B.确定系统的性能要求

C.确定系统是否满足用户要求

D.确定系统是否满足开发人员需要

6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。

A.模块说明书

B.需求规格说明

C.项目开发设计

D.合同文档

7.软件需求阶段要解决的问题是(A )。

A.软件做什么

B.软件提供哪些信息

C.软件采用什么结构

D.软件怎样做

8.软件需求管理过程包括需求获取、需求分析、需求规格说明编写、需求验证以及(B)。

A.用户参与

B.需求变更

C.总结

D.都不正确

9.在原型法中开发人员根据(A)需求不断修改原型,直到满足用户要求为止。

A.用户

B.开发人员

C.系统分析员

D.程序员

10.结构化分折方法以数据流图、(D)和加工说明等描述工具,卽用直观的图和简介的语

言来描述软件系统模型。

A. DFD图

B. PAD图

C.HIPO图

D.数据字典

4.12 练习题

一、填空题

1.C/S、B/S、SOA、BMP 等都是不同的体系结构。

2. 数据字典包括数据流、数据项、数据储存和基本加工。

3.高内聚,松耦合是模块设计的基本原则。

4.软件设计把已确定的软件需求转换成特定形式的设计表示,使其得以实现。

5.设计模型是从分析模型转化而来的,主要包括四类模型:体系结构设计模型、数据设计模型、接口设计模型、构件设计模型。

6.面向对象设计的主要特点是建立了要个非常重要的软件设计概念:抽象性、信息隐藏性、功能独立性和模块化。

7.模块层次图和模块结构图是模块划分的重要方法。

8.UML设计中主要采用的图示有类图、对象图、包图等。

9.软件模块设计,包括模块划分、分配任务、模块的调用关系、每个模块的功能等,

10.数据库的设计一般要进行三个方面的设计:概念结构设计、逻辑结构设计和物理结构设计。

11.结构化程序设计方法的主要原则可以概括为复用原则。

二、判断题

1.软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。(×)

2.软件设计说明书是软件概要设计的主要成果。(√)

3.软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代价。(√)

4.应用程序框架结构是一个可以重复使用的、大致完成的应用程序,可以通过对其进行定制,开发成一个客户需要的真正的应用程序。(√)

5.面向对象的设计(OOD)是将面向对象分析(OOA)的模型转换为设计模型的过程。(√)

6.在进行概要设计时应加强模块间的联系。(×)

7.复用原则也是软件设计的一个重要原则。(√)

8.以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计方法之一。(√)

三、选择题

1.内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C )

卞式。

A.逻辑内聚

B.时间内聚

C.过程内聚

D.顺序内聚

2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是(B)。

A.设计软件系统结构

B.编写测试报告

C.数据结构和数裾库设计

D.编写概要设计文档

3.数据字典是定义(A )中的数据的工具。

A.数据流图

B.系统流程图

C.程序流程图

D.软件结构图

4.耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应厲于(B)方式。

A.内容耦合

B.公共耦合

C.外部耦合

D.控制耦合

5.面向数据流的软件设计方法中,一般把数据流图中的数据流分为(B)两种流,再将数据流图映射为软件结构。

A.数据流与事务流

B.交换流和事务流

C.信息流与控制流

D.交换流与数据流

6.软件设计是一种将(B)转换为软件表示的过程。

A.代码设计

B.软件需求

C.详细设计

D.系统分析

7.数据存储和数据流都是(D),仅仅是所处的状态不同。

A.分析结果

B.事件

C.动作

D.数据

8.模块本身的内聚是模块独立性的重要度量因素之一,在7类内聚中,具有最强内聚的一类

是(D)。

A.顺性内聚

B.过程性内聚

C.逻辑性内聚D,功能性内聚

9.面向数据流的设计方法把(A)映射成软件结构。

A.数据流

B.系统结构

C.控制结构

D.信息流

10.下列关于软件设计准则的描述,错误的是(C)。

A.提高模块的独立性

B.体现统一的风格

C.使模块的作用域在该模块的控制域外

D.结构应该尽可能满足变更的要求

11.软件的结构化设计方法是以(C)为依据的模块结构设计方法。

A.系统数据要求

B.数据结构

C.数据流图

D.数据流

12.下面不是数据库设计的阶段的是(C)。

A.概念结构设计阶段

B.逻辑结构设计阶段

C.模块划分

D.物理结构设计阶段

5.8 练习题

一、填空题

1.PDL又称结构化英语,它是—种非式化的比较灵活的语言。

2.软件的详细设计可采用图形、表格和过程设计语言等形式的描述工具表示模块的处理过程。

3.软件详细设计需要设计人员对每个设计模块进行描述,确定所使用的算法和数据结构、接口细节和输入、输出数据等。

4.结构化设计方法与结构化分析方法一样,采用自顶向下,逐步细化技术。结构化设计方法与结构化分析方法相结合,依数据流图设计程序的结构。

5.软件中详细设计一般在概要设计基础上才能实施,它们一起构成了软件设计的全部内容。

6.在Warnier方法中,采用Warnier图表示数据结构和程序结构。

7.面向数据结构的设计方法主要包括JSD方法和Warnier方法。

8.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的数据结构进行设计。

二、判断题

1.JSD (Jackson)方法的原理与Warnier方法的原理类似,也是从数据结构出发设计程序,但后者的逻辑要求更严格。(√)

2.软件详细设计要求设计人员为每一个程序模块确定所使用的算法、数据结构、接口细节和输入/输出数据等。(×)

3.伪代码可以被直接编译,它体现了设计的程序的框架或者代表了一个程序流程图。(×)

4.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图。(√)

5.PAD是一种改进的图形描述方式,优点是能够反映和描述自顶向下的历史和过程。(×)

6.详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。(√)

7.过程设计的描述工具包括程序流程图、N-S图、PAD图、PDL伪代码等。(√)

三、选择题

1.JSD设计方法是由Jackson所提出的,它是一种面向(C)的软件设计方法。

A.对象

B.数据流

C.数据结构

D.控制结构

2.数据元素组成数据的方式的基本类型是(D)。

A.顺序的

B.选择的

C.循环的

D.以上全部

3.程序流程图中的箭头代表(B)。

A.数据流

B.控制流

C.调用关系

D.组成关系

4.伪码又称为过程设计语言(PDL),一种典型的PDL是仿照(D)编写的。

A. Fortran(工程语言)

B.汇编语言

C.Pascal语言

D.Cobol语言

5.伪码作为详细设计的工具,缺点在于(B)。

A.每个符号对应于源程序的一行代码,对于提高系统的可理解性作用很小

B.不如其他图形工具直观,描述复杂的条件组合与动作间的对应关系不够明了

C.容易使程序员不受任何约束,随意转移控制

D.不支持逐步求精,使程序员不去考虑系统的全局结构

6.结构化程序流程图中一般包括3种基本结构,下述结构中(D )不属于基本结构。

A.顺序结构

B.条件结构

C.选择结构

D.嵌套结构

7.在详细设计阶段,一种二维树形结构并可自动生成程序代码的描述工具是(A)。

A. PAD

B.PDL

C.IPO

D.判定树

8.软件详细设计的主要任务是确定每个模块的(A)。

A.算法和使用的数据结构

B.外部接口

C.功能

D.编程

9.为了提髙模块的独立性,模块之间最好是(D)

A.公共耦合

B.控制耦合

C.内容耦合

D.数据耦合

10.为了提高模块的独立性,模块内部最好是(C)

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

11.软件设计中,可应用于详细设计的工具有(D)。

A.数据流程图、PAD图、N-S图

B.业务流程图、N-S图、伪码

C.数据流程图、PAD图、N-S图和伪代码

D.顺序流程图、PAD图、N-S图和伪代码

6.9 练习题

一、填空题

1.在软件编码过程中,可以采用自顶向下、自底向上、自顶向下和自底向上相结合以及线程模式等几种编码策略。

2.可以将程序设计语言分为第一代语言、第二代语言、第三代语言、第四代语言和智能化语言五类。

3.任何程序都可由顺序、循环和选择三种基本控制结构构造。这三种基本控制结构的共同点是自上而下和从左到右。

二、判断题

1.在树状结构中,位于最上面的根部是顶层模块。(√)

2.应该尽量使用机器语言编写代码,提髙程序运行效率,而减少高级语言的使用。(×)

三、选择题

1.结构化程序设计要求程序由顺序、循环和(^A)三种结构组成。

A.分支

B.单入口

C.单出口

D.随意跳转

2.软件调试的目的是(A)。

A.发现错误

B.改正错误

C.改善软件的性能

D.挖掘软件的潜能

3.将每个模块的控制结构转换成计算机可接受的程序代码是(A)阶段的任务。

A.编码

B.需求分析

C.详细设计

D.测试

4.编码高效率原则包括提高运行效率、提高储存效率和提高(A)。

A.输入/输出效率

B.开发效率

C.测试效率

D.维护效率

5.下列伪代码中,A=14,B=20,则X的值是(B)。

相关主题