当前位置:文档之家› 软件工程习题及参考答案

软件工程习题及参考答案

软件工程习题及参考答案

软件工程习题及部分参考答案

判断题

软件也会磨损和老化。(X)

完善性维护是提高或完善软件的性能。(√)

数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(X)

软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X)

软件模块之间的耦合性越弱越好。(√)

如果通过软件测试没有发现错误,则说明软件是正确的。(X)

快速原型模型可以有效地适应用户需求的动态变化。(√)

模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√)

集成测试主要由用户来完成。(X)

确认测试计划应该在可行性研究阶段制定(X)

白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)

软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)模块越多,开发成本越小。(╳)

软件测试的目的就是证明软件没有错。(╳)

PAD图在设置了五种基本的控制结构后,还允许递归使用。(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×)

SA法是面向数据流,建立在数据封闭原则上的需求分析方法。

(√)

HIPO 法既是需求分析方法,又是软件设计方法。(√)

在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×)

加工小说明是对系统流程图中的加工进行说明。(×)

判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×)

需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×)

分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×)

信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√)

用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√)

PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X)

设计阶段的输出是编码阶段的输入.(√)

通过软件测试,可以发现软件中所有潜伏的错误.(X)

非结构化维护用于软件的配置中只有源代码维护.(√)

系统规格说明是系统分析和定义阶段生成的一种文档.(√)

数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)

内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好.(X)

文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读.(√)

生产高质量的软件产品是软件工程的首要目标.(√)

软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因.(X)

开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果.(√)

结构化维护用于待维护的软件的配置是完整的维护.(√)

用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响.(X

程序的可靠性,可维护性和效率通常由程序设计语言,源代码的质量,和语言的实现机制决定的.(√)

程序文档一般指以注释的形式嵌入程序中的代码描述.(√)

为提高可交互性一般应提高用户对话,移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉.(√)

一般单元测试不可以并行进行.(X)

螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√)

数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。

(X)

软件模块之间的耦合性越弱越好。(√)

如果通过软件测试没有发现错误,则说明软件是正确的。(X)

快速原型模型可以有效地适应用户需求的动态变化。(√)

模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√)

集成测试主要由用户来完成。(X)

确认测试计划应该在可行性研究阶段制定(X)

白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)

一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)

目前的绝大多数软件都不适合于快速原型技术。(X)

缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)通常紧致性好的语言一致性就好。(X)

测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)

理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)用穷举测试是较现实的测试方法。(X)

编码时应尽可能使用全局变量(X)

重视程序结构的设计,能使程序具有较好的层次结构(√)

程序中的注解越少越好( X )。

缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(√)

一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第

一手资料,并从中提取出有价值的需求。(√)

快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)

流程图也称为程序(框图)是最常用的一种表示法。(√)

文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。(√)

软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)适应性维护是改进软件未来的可维护性和可靠性。(X)

由于软件是逻辑产品,软件质量较容易直接度量。(X)

目前我国还没有颁布软件开发标准。(X)

按照功能,软部件可划分为系统软件和应用软件两类。(√)

如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。(√)耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。(X)

随着软件复杂性的不断提高,软件的维护难度越来越大。(√)

软件的可维护性差是软件维护工作量和费用激增的直接原因。(√)纠错性维护是改正运行期间发现的潜伏错误。(√)

软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(X)

一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。(√)

不同程序设计语言在程序的效率上的差异不大。(X)

编码的依据是详细设计说明书。(√)

程序文档应该包括代码的功能、代码的完成者等内容。(√)

软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。(√)

预防性维护是修改软件,以适应软硬件环境的变化。(X)

开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(√)

数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。(X)

编程中应采用统一的标准和约定,降低程序的复杂性。(√)

对于软件项目,投资回收期越长,越快获得利润。( X )

一个实时系统必须在严格的时间范围内响应。如果响应时间被过分延迟,将带来灾难性的后果。( √)

模块接口简单是软件发生错误的一个主要原因。( X )

软件的质量保证工作一般在编码工作结束后才开始。( X )

现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。( √ )

单项选择题

1、瀑布模型的存在问题是(B)

A、用户容易参与开发

B、缺乏灵活性

C、用户与开发者易沟通

D、适用可变需求

2、软件测试方法中的静态测试方法之一为(A)

A、计算机辅助静态分析

B、黑盒法

C、路径覆盖

D、边界值分析

3、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C)

A、软件工程

B、软件周期

C、软件危机

D、软件产生

4、研究开发所需要的成本和资源是属于可行性研究中的( B)研究的一方面。

A、技术可行性

B、经济可行性

C、社会可行性

D、法律可行性

5、模块的内聚性最高的是( D)

A、逻辑内聚

B、时间内聚

C、偶然内聚

D、功能内聚

6、在SD方法中全面指导模块划分的最重要的原则是( D)

A、程序模块化

B、模块高内聚

C、模块低耦合

D、模块独立性

7、程序的三种基本控制结构是(B)

A、过程、子程序和分程序

B、顺序、选择和重复/循环

C、递归、堆栈和队列

D、调用、返回和转移

6、黑盒测试在设计测试用例时,主要需要研究( D)

A、需求规格说明与概要设计说明

B、详细设计说明

C、项目开发计划

D、概要设计说明与详细设计说明

7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,

1.0,1.001。设计这组测试用例的方法是( C)

A、条件覆盖法

B、等价分类法

C、边界值分析法

D、错误推测法

8、软件生命周期中所花费用最多的阶段是(D )

A、详细设计

B、软件编码

C、软件测试

D、软件维护

9、下列属于维护阶段的文档是( C )

A、软件规格说明

B、用户操作手册

C、软件问题报告

D、软件测试分析报告

10、下列文档与维护人员有关的有( C)

A、软件需求说明书

B、项目开发计划

C、概要设计说明书

D、操作手册

11、维护中,因误删除一个标识符而引起的错误是(C)副作用。

A、文档

B、数据

C、编码

D、设计

12、产生软件维护的副作用,是指(C)

A、开发时的错误

B、隐含的错误

C、因修改软件而造成的错误

D、运行时误操作

13、程序的三种基本控制结构是(B)

A、过程、子程序和分程序

B、顺序、选择和重复

C、递归、堆栈和队列

D、调用、返回和转移

14、系统流程图是描述(C)的工具。

A、逻辑系统

B、程序系统

C、体系结构

D、物理系统

15、可维护性的特性中相互促进的是(A)

A、可理解性和可测试性

B、效率和可移植性

C、效率和可修改性

D、效率和结构好

16、提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要(D)

A、消除错误

B、检测错误

C、避开错误

D、容错

15、( D )是以提高软件质量为目的的技术活动。

A、技术创新

B、测试

C、技术创造

D、技术评审

16、原型化方法是一种(A)型的设计过程。

A、自外向内

B、自顶向下

C、自内向外

D、自底向上

17、为了提高测试的效率,应该(D)

A、随机地选取测试数据

B、取一切可能的输入数据作为测试数据

C、在完成编码以后制定软件的测试计划

D、选择发现错误可能性大的数据作为测试数据

18、使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A、程序的内部逻辑

B、程序的复杂结构

C、使用说明书

D、程序的功能

19、瀑布模型本质上是一种( A )。

A、线性顺序模型

B、顺序迭代模型

C、线性迭代模型

D、及早见产品模型

20、在SD方法中全面指导模块划分的最重要的原则是( D )。

A、程序模块化

B、模块高内聚

C、模块低耦合

D、模块独立性

21、软件可维护性的特性中相互矛盾的是( C )。

A、可修改性和可理解性

B、可测试性和可理解性

C、效率和可修改性

D、可理解性和可读性

22、软件维护产生的副作用,是指( C )。

A、开发时的错误

B、隐含的错误

C、因修改软件而造成的错误

D、运行时误操作

23、用黑盒技术设计测试用例的方法之一为( A )。

A、边界值分析

B、逻辑覆盖

C、循环覆盖

D、基本路径测试

24、软件测试方法中的( D )属于静态测试方法。

A、黑盒法

B、路径覆盖

C、错误推测

D、人工检测

25、Ada语言是在Pascal语言基础上开发出来的,适用于( C )项目的应用领域。

A、科学工程计算

B、数据库应用

C、实时处理

D、人工智能

26、程序设计语言的工程特性之一为( A )。

A、软件的可重用性

B、数据结构的描述性

C、抽象类型的描述性

D、数据库的易操作性

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

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

B、外部接口

C、功能

D、编程

28、PAD图为( B )提供了有力的工具。

A、系统分析

B、软件的自动化生成

C、自动分析数据

D、测试软件

29、软件结构图的形态特征能反映程序复用率的是(C )。

A、深度

B、宽度

C、扇入

D、扇出

30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )。

A、可用性

B、可靠性

C、正确性

D、完整性

31、为了提高模块的独立性,模块内部最好是( C )。

A、逻辑内聚

B、时间内聚

C、功能内聚

D、通信内聚

32、软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。

A、调用关系

B、组成关系

C、链接关系

D、顺序执行关系

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

A、项目开发计划

B、需求规格说明书

C、设计说明书

D、可行性分析报告

34、可行性研究要进行一次( D )需求分析。

A、深入的

B、详尽的

C、彻底的

D、简化的、压缩了的

35、软件是一种( C )。

A、程序

B、数据

C、逻辑产品

D、物理产品

36、单元测试的测试对象是(B).

A、系统

B、程序模块.

C、模块接口

D、系统功能

37、软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括( D ).

A、设计软件的模块结构

B、定义接口并建立数据结构

C、生成概要设计规格说明和组装测试计划

D、模块设计

38、软件工程的原则有抽象,信息隐藏,模块化和其他哪些内容?(ABCD)

A、局部化

B、一致性

C、完全性

D、可验证性

39、常用的软件项目的估算方法主要有哪4种(ABCD)

A、自顶向下的估算方法

B、自底向上的估算方法

C、差别估算法

D、根据经验估算公式

40、软件可行性研究一般不考虑(D )

A、是否有足够的人员和相关的技术来支持系统开发

B、是否有足够的工具和相关的技术来支持系统开发

C、待开发软件是否有市场、经济上是否合算

D、待开发的软件是否会有质量问题

41、软件维护的副作用主要有以下哪几种(C )

A、编码副作用、数据副作用、测试副作用

B、编码副作用、数据副作用、调试副作用

C、编码副作用、数据副作用、文档副作用

D、编码副作用、文档副作用、测试副作用

42、软件项目计划一般不包括以下哪项内容(D )

A、培训计划

B、人员安排

C、进度安排

D、软件开发标准的选择和制定

43、以下哪种测试方法不属于白盒测试技术(B )

A、基本路径测试

B、边界值分析测试

C、循环覆盖测试

D、逻辑覆盖测试

43、(D )是以提高软件质量为目的的技术活动。

A、技术创新

B、测试

C、技术创造

D、技术评审

44、使用白盒测试方法时,确定测试数据应根据(A )和指定的覆盖标准。

A、程序的内部逻辑

B、程序的复杂结构

C、使用说明书

D、程序的功能

45、对在数据流图中每一个命令的图形元素均给以定义是(B )

A、条目定义B、数据字典C、数据定义D、数据说明

46、软件的可行性研究中不包括(D )

A、法律可行性B、技术可行性C、经济可行性D、政治可行性

47、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C )。

A、纠错性维护

B、适应性维护

C、改善性维护

D、预防性维护

48、人机界面的风格大致经过了(B )代的演变。

A、三

B、四

C、五

D、六

49、以下不属于白盒测试技术的是(D )

A、逻辑覆盖

B、基本路径测试

C、循环覆盖测试

D、等价类划分

50、为改正软件系统中潜藏的错误而进行的维护活动称为(A )。

A、纠错性维护

B、适应性维护

C、改善性维护

D、预防性维护

51、在设计测试用例时,应当包括(C )

A、合理的输入条件B、不合理的输入条件

C、合理的和不合理的输入条件D、部分条件

52、下列各项中不属于逻辑覆盖的是(D )

A、语句覆盖B、判定覆盖C、判定—条件覆盖D、全部覆盖

53、高级语言通常被分成三类,其中不包括(D )

A、通用高级语言

B、面向对象的语言

C、专用语言

D、自然语言

54、耦合度也可以分为七级:其中最松散的耦合是(A)。

A、非直接耦合

B、数据耦合

C、特征耦合

D、控制耦合

55、判定表由四部分组成:左上部列出(B )。

A、条件组合与动作之间的对应关系

B、所有条件

C、所有可能的动作

D、可能的条件组合

填空题

软件=(程序)+(文档)。

软件工程的基本原则包括(分解)、(独立性)、一致性和(确定性)。

需求分析的基本任务是准确的回答(系统必须做什么)。

数据字典的内容包括六项:数据流、(数据项)、数据结构、(数据存储)、(处理逻辑)、外部实体。

模块独立的概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念的直接结果。

设计出软件的初步结构以后应该进一步分解或合并模块,力求降低(耦合)提高(内聚)。软件的维护一般经过(分析和理解程序)、(修改程序)、(重新验证程序)三个步骤。假设使用代码行技术进行费用估计,某软件中共3000行程序,每行平均成本25元,则该软件的成本为(75000元)。

软件开发需要的资源包括(软件工具)、(硬件工具)和(人),其中(人)是最基本的资源。

程序的效率是指(程序的执行速度)和(程序占用的存储空间)。

软件定义的基本任务是确定软件系统的工程( 需求),也就是要搞清"做什么”。

成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。

汇编语言是面向( 机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。

软件工程由(方法),工具和过程三部分组成,称为软件工程的三要素.

基于计算机系统的软件要素中的软部件由程序,数据和(文档)组成.

数据流图就是用来刻画数据流和转换的信息系统建模技术.它用简单的图形记号分别表示数据流, 转换, ( 数据源)以及外部实体.

流程图也称为程序框图,是最常用的一种表示法,它有顺序,分支和(循环)三个基本控制构件.

机器语言和汇编语言,也称为(低级语)言.

软件测试是执行程序发现并排除程序中潜伏的( 错误)的过程.

动态测试有两种测试方法:黑盒测试和(白盒)测试.

软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误,改进性能等属性,适应环境变化等方面工作的( 难易)程度

第三代语言也称为(高级)语言。

软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。黑盒测试主要是测试软件是否满足(功能)需求。

(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错或纠错。

软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。

可行性研究的目的是用最小的代价在尽可能短的时间内,确定该项目是否能够开发。程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是(工程化)。

喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

详细描述处理过程常用三种描述工具:图形、表格和语言。

数据流图中,每个加工至少有一个输入流和一个输出流。

结构化设计以数据流为基础映射成软件结构。

当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性的面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

软件开发中原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。

产品管理包括版本管理和配置管理。

任何程序都可由顺序、选择、循坏三种基本控制结构构造。

测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查。

需求分析阶段产生的最重要的文档之一是需求规格说明书。

项目开发计划是一个管理性文档。

软件配置管理,简称SCM,软件配置项简称SCI。

在算法描述工具中,PAD图可自动生成程序。由机器自动通过走树的办法生成相应的源代码,大大提高软件的生产率。

在CASE集成中,控制集成支持工作台或环境中一个工具对系统中其它工具的访问。

过程集成是指CASE系统嵌入了关于过程活动、阶段、约束和支持这些活动所需的工具的知识。

解决一个复杂问题,往往采取的策略是分解。

效益分析有有形效益和无形效益两种。

两个模块都是用同一张表,这种耦合称为公共耦合。

一个模块把数值作为参数传送给另一个模块,这种耦合方式称为数据耦合。

一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为通信内聚。

在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统有哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。

IDEF图是一种功能模型,表示系统功能的图形称为活动图形,连方框上的箭头有四种类型,他们分别是输入、输出、控制、机制。

软件项目计划是可行性研究阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情节,因此软件项目计划一般在需求分析阶段完成后才定稿的。

信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。

同一个类中的共享是指同一个类中的对象有着相同的数据结构和相同的行为特征。

通过抽象,可以确定组成软件的过程实体。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。

IPO图描述分层图中一个模块的输入、输出和处理内容。

软件是一种逻辑产品,它与物质产品有很大区别。

数据流图中的箭头表示数据流。

软件测试时需要三类信息:软件配置、测试配置、测试工具。

基于IDEF0图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计软件结构。

系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素,表达了系统中各种元素之间的信息流动情况。

桩模块是用来代替被测试模块所调用的模块,它的作用是返回被

测模块所需的信息。建立数据字典一般的两种形式是手工建立和利用计算机辅助建立并维护。

汇编语言是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。

黑盒测试是功能测试,因此设计测试用例时,需要研究需求规格说明书和概要设计说明书中有关程序功能或输入、输出之间的关系等信息,从而与测试后的结果进行分析比较。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。子类继承了多个父类的数据结构和方法,则称为多重继承。

由于数据流是流动中的数据,所以必须有流向。除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。项目的纯收入是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。

程序设计语言的简洁性是指人们必须记住的语言成分的数量。人们要掌握一种语言,需要记住的成分数量越多,简洁性越差。

不同对象的同一属性可以具有相同或不同的属性值。

软件开发划分的各阶段任务尽可能相对独立,同一阶段任务性质尽可能相同。

瀑布模型是将生存周期各活动规定为线性顺序联接的若干阶段的模型。

成本效益分析的目的是从经济角度评价开发一个软件项目是否可行。

在需求分析阶段要进行以下几方面的工作:问题识别、分析与综合、导出软件的逻辑模型、编写文档。

静态冗余常用的有:三模冗余TMR和多模冗余。

McCabe质量度量模型,针对面向软件产品的运行、修正、转移。

程序设计语言的局部性是指语言的联想性。在编码过程中,由语句组合成模块,由模块组装成系统结构,并在组装过程中实现模块的高内聚,低耦合,使局部性得到加强。软件复杂性度量的参数主要有

软件工程试题及答案

软件工程 一、单项选择题 1. TURBO PASCAL是()软件。 A.系统软件 B.人工智能 C.事务软件 D.应用软件 2. 具有风险分析的软件生存周期模型是() A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 3. 软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A.固有的 B.人为的 C.可消除的 D.不可降低的 4. 经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为: A.采购员、仓库管理员 B.定购清单、库存业务 C.库存业务 D.定购清单、采购员 5. 对于一个大型系统,若对设计方案没有把握,可通过( ) 来证实设计方案的正确性。 A. 增量构造模型 B. 实验型原型 C. 探索型原型 D. 演化型原型 6. 不适于作为数据流图处理(加工)框名称的是____。 A.人工校核工资数据B.工资支票数据 C.打印工资支票D.计算职工工资 7. 需求分析阶段最重要的技术文档之一是:() A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告 8. Jackson方法是一种面向()的方法。 A.数据流 B.对象 C.数据结构 D.控制流 9. 软件详细设计的主要任务是对()进行的详细设计。 A.算法和数据结构 B.外部接口 C.软件编码 D.功能 10. 银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是()_。 A.变换型 B.事务型 C.既不是A也不是B D.不一定 11. 确认测试是对软件进行( ) 测试。 A. 可靠性 B. 有效性 C. 可维护性 D. 可用性 12. 检查软件产品是否符合需求定义的过程称为()。 A.确认测试 B.集成测试 C.验收测试 D.验证测试 13. 软件测试的目的是() A.评价软件的质量B.发现软件的错误 C.找出软件中的所有错误D.证明软件是正确的 14. 随着软硬件环境变化而修改软件的过程是() A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 15. 软件生存周期中时间最长的阶段是() A.需求分析阶段B.概要设计阶段 C.详细设计阶段D.维护阶段 16. 下列属于维护阶段的文档是( ) A. 软件规格说明 B. 用户操作手册 C. 软件问题报告 D. 软件测试分析报告

软件工程测试题含答案

软件工程测试题含答案 1、msconfig命令可以用来配置()。 A、系统配置 B、服务配置 C、应用配置 D、协议配置 答案:A 2、下列 _____ 不是网络操作系统。 A、Windows NT Server B、Unix C、DOS D、NetWare 答案:C 3、A方有一对密钥(KA公开,KA秘密),B方有一对密钥(KB公开,KB 秘密),A方向B方发送数字签名M,对信息M加密为:M’= KB公开(KA秘密(M))。B方收到密文的解密方案是()。 A、KB公开(KA秘密(M’)) B、KA公开(KA公开(M’)) C、KA公开(KB秘密(M’)) D、KB秘密(KA秘密(M’)) 答案:C 4、3个结点可构成()棵不同形态的二叉树。 A、2 B、3 C、4 D、5 答案:D 5、系统死锁的可能的原因是 A、进程死循环 B、资源循环等待 C、程序内存访问越界 D、进程释放资源 答案:B 6、下列哪一种方法在支持向量机中有应用 A、极大似然估计

B、最小二乘法 C、拉格朗日乘子法 D、二分法 答案:C 7、下列哪个是有监督算法 A、决策树 B、K-means C、DBSCAN D、聚类算法 答案:A 8、下面关于面向对象方法中消息的叙述,不正确的是()。 A、键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B、操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C、应用程序之间可以相互发送消息 D、发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B 9、计算机中的执行过程是_________。①取指令②执行指令③修改指令计数器④指令译码 A、①②③④ B、①④②③ C、④③②① D、①③②④ 答案:B 10、网络安全法规定,网络运营者应当制定(),及时处置系统漏洞、计算机病毒、网络攻击、网络侵入等安全风险。 A、网络安全事件应急预案 B、网络安全事件补救措施 C、网络安全事件应急演练方案 D、网络安全规章制度 答案:A 11、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为 A、6 B、11

软件工程习题及答案

一、选择题: 1. 为了提高测试的效率,应该。 A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 2. 与设计测试数据无关的文档是。 A、需求说明书 B、设计说明书 C、源程序 D、项目开辟设计 3. 结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。 A、数据流 B、数据流图 C、数据库 D、数据结构 4. 概要设计的结果是提供一份。 A、模块说明书 B、框图 C、程序 D、数据结构 5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。 A、模块说明书 B、软件规格说明书 C、项目开辟计划 D、合同文档 6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD (Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或者流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程习题答案参考

软件工程 绪论 1.什么是软件危机为什么会产生软件危机 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化工程化生产方法与早期的程序设计方法主 要差别在哪里 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于

一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程 期末试题及答案

软件工程期末试题及答案 第一节:选择题 1. 软件生命周期中,以下哪个阶段是在需求分析之后进行? A. 设计阶段 B. 验收阶段 C. 维护阶段 D. 实现阶段 答案:A. 设计阶段 2. 软件度量的主要目的是? A. 评估软件质量 B. 优化软件性能 C. 增强软件安全性 D. 加强软件可维护性 答案:A. 评估软件质量 3. 软件测试中,黑盒测试是基于什么样的原理进行的? A. 代码的内部结构 B. 软件的功能需求

C. 用户的使用场景 D. 基本的程序逻辑 答案:B. 软件的功能需求 4. 下面哪个是面向对象设计中的基本概念? A. 数据封装 B. 顺序结构 C. 命令式编程 D. 结构化分析 答案:A. 数据封装 5. 在软件项目管理中,以下哪个是最常用的项目管理工具? A. Gantt 图 B. 软件开发生命周期模型 C. WBS(工作分解结构) D. RUP(Rational Unified Process) 答案:A. Gantt 图 第二节:简答题 1. 什么是软件配置管理,它的主要作用是什么?

软件配置管理是管理和控制软件配置变更的过程,包括标识、控制、记录和审查软件配置项以及管理与配置项相关的文档、代码、配置项 版本、变更请求等。它的主要作用是确保软件开发过程中的变更被有 效地管理和控制,促进软件项目的稳定性和可管理性。 2. 请简要描述软件工程的五个主要过程。 - 需求工程:搜集和分析用户需求,明确软件系统的功能和非功能 特性。 - 设计:根据需求工程的结果,进行软件体系结构和模块设计,确 定软件的整体框架和组织结构。 - 编码:根据设计过程中得到的结果,实现软件系统的各个模块, 完成代码编写和单元测试。 - 测试:对编码过程中产生的软件进行全面、系统的测试,确保软 件的质量和稳定性。 - 维护:在软件生命周期的最后阶段,对软件进行修复 Bug 和功能 优化,确保软件的长期可用性和可维护性。 3. 请简述软件配置管理中的版本控制是指什么? 版本控制是指对软件项目中各个配置项版本的管理和控制。主要包 括版本的标识、记录、追踪和回溯。通过版本控制,可以有效地跟踪 软件的演化过程,管理和控制软件的变更,确保软件项目的稳定性和 可维护性。

软件工程试卷及答案软件工程试题和答案

软件工程试卷及答案软件工程试题和答案 一、选择 1、在软件开发的各种资源中,是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是,它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于阶段。 A需求分析B软件设计C软件实现D软件测试 第1页共1页

8、在软件生存周期的瀑布模型中一般包括计划、、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9、软件需求分析阶段的测试手段一般采用。 A总结 B阶段性报告C需求分析评审D不测试 10、是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 1 1、软件测试是为了而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12、在结构化分析方法中,表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图口状态转换图 13、软件工程的基本要素包括方法、工具和。 A过程B软件系统C硬件环境D人员 14、TURBO PASCAL 是软件。 A、系统软件 B、人工智能 C、事务软件 第1页共1页

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案 一. 选择题 1. 下列不属于软件工程方法论的是: A. 瀑布模型 B. 敏捷开发 C. 融合开发 D. 增量开发 答案:C. 融合开发 2. 哪个不是软件需求工程的阶段? A. 需求收集和分析 B. 需求规格说明书编写 C. 需求确认和验证 D. 需求修复和更新 答案:D. 需求修复和更新 3. 软件开发生命周期中不包含以下哪个阶段? A. 需求分析

B. 软件设计 C. 软件测试 D. 软件维护 答案:C. 软件测试 4. 下列哪个是软件开发项目管理的基本约束? A. 时间 B. 人员 C. 质量 D. 成本 答案:D. 成本 5. 使用UML建模时,哪个图标不属于结构图? A. 类图 B. 对象图 C. 时序图 D. 包图 答案:C. 时序图 二. 填空题

1. 软件工程的目标是提高软件的质量和________。 答案:生产效率 2. 软件需求可以分为________和________两类。 答案:功能需求,非功能需求 3. 软件设计的核心目标是________。 答案:满足需求 4. 软件测试的目的是发现________。 答案:缺陷和错误 5. 软件维护分为________和________两个主要类别。 答案:正确性维护,适应性维护 三. 简答题 1. 请简要介绍敏捷开发方法。 答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。 2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案) 1. 题目一:软件需求工程 软件需求工程是软件开发的重要环节之一,主要包括需求获取、需 求分析、需求规格、需求验证等阶段。在软件开发的整个过程中,需 求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软 件的质量和可靠性。 1.1 需求获取 需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调 研和收集。需求获取的方法可以包括面谈、问卷调查、观察等。通过 与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。 1.2 需求分析 需求分析是对收集到的需求进行认真分析和理解的过程。在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。通过对 需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化 为可执行的任务。 1.3 需求规格 需求规格是将需求分析的结果进行详细描述和规范化的过程。在这 个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便

于开发人员进行后续的开发工作。需求规格书通常包括用例图、类图、时序图等各种工具和技术。 1.4 需求验证 需求验证是对需求的正确性和完整性进行验证的过程。在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期 望和需求。需求验证也可通过模拟测试、原型验证等方式进行。 2. 题目二:软件设计原则 软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。下面介绍几个常用的软件设计 原则。 2.1 单一职责原则 单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。 这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护 和扩展。 2.2 开放封闭原则 开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对 扩展开放,对修改封闭。这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。 2.3 里氏替换原则

软件工程试题含答案

软件工程期末试题( 1 ) 一, 判断题(正确的在括号内打上"√ ",错误的打上"×".每题分,共 15 分) Warnier 方式也是一种面向数据结构的设计方式,其逻辑更严格.(×) PAD 图在设置了五种大体控制结构后,还允许递归挪用. (×) 你为了加速软件保护作业的进度,应尽可能增加保护人员的数量.(×) 当验收测试通过,软件开辟就完成为了.(×) 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)系统结构图是精准表达程序结构的图形表示法.因此,有时也可以将系统结构图看成系统流程图利用.(×) 在程序调试时,找犯错误的位置和性质比更正该错误更难.( √) 以对象,类,继承和通信为基础的面向对象设计方式(OOD)也是常见的软件概要设计方式之一.( √) 二,单项选择题(每小题 2 分,共 10 分) 试判断下列叙述中,哪个(些)是正确的(D) a,软件系统中所有的信息流都可以以为是事务流 A,a B,b C,c D,b 和 c 进行需求分析可利用多种工具,但(B)是不合用的. A,数据流图 B,PAD 图 C,判定表 D,数据词典 在详细设计阶段,往往采用的工具有(A).

A, 详细设计的结果大体决定了最终程序的(C) A,代码的规模 B,运行速度可保护性 利用白盒测试方式时,肯定测试数据应按照(A)和指定的覆盖标准. A, 程序的复杂程度 C,该软件的编辑人员 D,程序的功能 三,多项选择题(每题 2 分,共 10 分.注:正确得 2 分,漏选得 1 分,多选, 错选不得分.) (ABCD)可以作为模块. 下面哪些测试属于黑盒测试(BCD). A,路径测试E,循环测试 下列属于气宇效益方式的是(ABCD). 软件保护的策略包括(BCD). A,按期检测保护 下列属于软件测试进程的是(ABE). C,内核测试D,法律验证 四,简答题(每题6 分,共24 分) 1、耦合性和内聚性有几种类型其耦合度, 内聚强度的顺序如何答案

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程课后习题参考答案

软件工程课后习题参考答案 软件工程课后习题参考答案 1.简答题 1.1 什么是软件工程? 软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。 1.2 软件工程的目标是什么? 软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。 1.3 软件生命周期有哪些阶段? 常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。 1.4 什么是软件需求? 软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。 1.5 软件开发过程有哪些模型?

常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。 2.客观题 2.1 软件测试的目的是什么? a) 发现软件中的错误和缺陷 b) 验证软件是否符合需求和规格 c) 提高软件的可靠性和质量 d) 以上皆是 答案:d) 以上皆是 2.2 瀑布模型的特点是什么? a) 瀑布模型是一种线性顺序的软件开发过程模型 b) 各个开发阶段是相互独立的 c) 开发过程按照需求分析、设计、编码、测试等顺序进行 d) 以上皆是 答案:d) 以上皆是 2.3 敏捷开发的原则是什么? a) 个体和交互胜过流程和工具

b) 可工作的软件胜过详尽的文档 c) 客户合作胜过合同谈判 d) 响应变化胜过遵循计划 e) 以上皆是 答案:e) 以上皆是 3.计算题 3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行) 覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80% 3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个) 缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 10 3.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个) 复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 55

《软件工程导论》试题及答案

《软件工程导论》试题及答案 软件工程导论试题及答案 一、选择题 1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科? A. 计算机科学 B. 电子工程 C. 数学 D. 管理学 E. 心理学 答案:A、B、C、D 2. 软件工程的目标是什么? A. 提高软件开发效率 B. 提高软件质量 C. 提高软件可靠性 D. 提高软件维护性 E. 提高软件安全性 答案:A、B、C、D、E

3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些? A. 瀑布模型 B. 增量模型 C. 螺旋模型 D. 敏捷模型 E. 喷泉模型 答案:A、B、C、D 4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈? A. 瀑布模型 B. 增量模型 C. 螺旋模型 D. 敏捷模型 答案:D 5. 软件需求分析的主要任务是什么? A. 确定软件的功能和性能需求 B. 定义软件系统的架构

C. 设计软件的用户界面 D. 实施软件测试 答案:A 二、填空题 1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。 答案:质量、可靠性 2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和 ______ 。 答案:实现、维护 3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。 答案:测试、维护 4. “快速原型”开发模型注重 ______ 。 答案:用户参与 5. 敏捷开发模型的核心原则是 ______ 。 答案:迭代开发 三、简答题 1. 请简要说明为什么软件工程是一门多学科交叉的学科?

软件工程 课后习题答案

软件工程课后习题答案 软件工程课后习题答案 软件工程是一门关于设计、开发和维护软件系统的学科。在学习软件工程的过程中,课后习题是非常重要的一部分。通过解答习题,我们可以巩固所学的知识,加深对软件工程的理解。下面是一些常见的软件工程习题及其答案,供大家参考。 习题一:什么是软件生命周期?它包括哪些阶段? 答案:软件生命周期是指软件从开始开发到最终废弃的整个过程。它包括以下几个阶段: 1. 需求分析阶段:确定软件系统的需求,包括功能需求、性能需求、安全需求等。 2. 设计阶段:根据需求分析的结果,设计软件系统的结构和功能。 3. 编码阶段:根据设计阶段的结果,编写代码实现软件系统的功能。 4. 测试阶段:对编写的代码进行测试,确保软件系统的正确性和稳定性。 5. 部署阶段:将测试通过的软件系统部署到生产环境中,供用户使用。 6. 维护阶段:对已经部署的软件系统进行修复漏洞、更新功能等维护工作。习题二:什么是软件需求?软件需求可以分为哪几类? 答案:软件需求是指对软件系统功能和性能的描述。软件需求可以分为以下几类: 1. 功能需求:描述软件系统应该具备的功能,比如用户登录、数据查询等。 2. 性能需求:描述软件系统在运行过程中的性能要求,比如响应时间、并发处理能力等。

3. 安全需求:描述软件系统对数据和系统的安全保护要求,比如用户权限控制、数据加密等。 4. 可靠性需求:描述软件系统的可靠性要求,比如系统的可用性、容错性等。 习题三:什么是软件设计模式?列举几个常见的软件设计模式。 答案:软件设计模式是指在软件设计过程中经常出现的一些问题的解决方案。 常见的软件设计模式包括: 1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。 2. 工厂模式:将对象的创建和使用分离,通过工厂类来创建对象。 3. 观察者模式:定义了一种一对多的依赖关系,当一个对象状态发生改变时, 所有依赖它的对象都会收到通知并自动更新。 4. 适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于 接口不兼容而不能在一起工作的类可以一起工作。 习题四:什么是软件测试?软件测试的目的是什么? 答案:软件测试是指对软件系统进行验证和验证的过程。软件测试的目的是发 现软件系统中的错误和缺陷,确保软件系统的质量和可靠性。 习题五:什么是敏捷开发?敏捷开发的核心原则是什么? 答案:敏捷开发是一种迭代和增量的软件开发方法。敏捷开发的核心原则是: 1. 个体和交互胜过过程和工具:强调团队成员之间的沟通和合作。 2. 可工作的软件胜过详尽的文档:强调软件的实际运行效果。 3. 客户合作胜过合同谈判:强调与客户的密切合作和沟通。 4. 响应变化胜过遵循计划:强调对需求变化的快速响应能力。 通过解答以上习题,我们可以更好地理解软件工程的概念和方法。同时,也能

软件工程习题及参考答案

软件工程习题及参考答案 判断题 软件也会磨损和老化。(某) 完善性维护是提高或完善软件的性能。(√) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (某) 软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实 际上就是编写程序代码。(某) 软件模块之间的耦合性越弱越好。(√) 如果通过软件测试没有发现错误,则说明软件是正确的。(某)快速原型模型可以有效地适应用户需求的动态变化。(√) 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软 件产品。(√) 集成测试主要由用户来完成。(某) 确认测试计划应该在可行性研究阶段制定(某)

白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的 功能即可。(某)软件概要设计包括软件系统结构设计以及数据结构和数 据库设计。(√) 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这 个复杂问题进行 分解,将软件生存的时期分为若干阶段。(√)系统流程图表达的是 部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)模块越多,开发成本越小。(╳)软件测试的目的就是证明软件没有错。(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。(√)在 进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(某) SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√)HIPO 法既是需求分析方法,又是软件设计方法。(√) 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(某) 加工小说明是对系统流程图中的加工进行说明。(某) 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(某)需求分析的主要方法有SD法、OOA法及HIPO法等。(某) 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(某)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息 模型的方法是 E-R图。(√) 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求 的一致性、完整

软件工程课后题答案大全(详细)

一、什么是软件危机?软件危机表现在哪几个方面? 答:由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下: 1.“已完成”的软件不满足用户的需求。 2.开发进度不能保障,交付时间一再拖延。 3.软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。 4.软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。 5.软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。 二、试述产生软件危机的主要原因? 答:软件的特点是导致软件危机的客观因素,而软件开发和软件维护过程中使用的不正确方法是主观因素,主要表现为:忽视软件开发前期的调研和分析工作,没有统一的、规范的方法论指导,文档资料不齐全,忽视人员之间的交流,忽视测试工作,轻视软件的维护。 三、什么是软件工程?软件工程的目标是什么? 答:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于

软件开发和管理之中;②对①中所选方法的研究”。 软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下: a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。 b)增强软件过程的可见性和可控性,保证软件的质量。 c)提高所开发软件的可维护性,降低维护费用。 d)提高软件开发生产率,及时交付使用。 e)合理预算开发成本,付出较低的开发费用。 四、软件工程为什么要强调规范化和文档化? 答:软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。2.文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,3.在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。 五、软件工程层次是如何划分的? 答:软件工程的研究内容具有层次化结构,它的最底层是质量保证层,中间是过程层和方法层,最上层是工具层。

软件工程习题及参考答案

软件工程习题及参考答案 一、选择题 1. 软件生命周期中,下列哪个阶段是用于定义软件系统的需求和规划开发工作的? A. 需求分析阶段 B. 设计阶段 C. 实施阶段 D. 维护阶段 答案:A 2. 在敏捷软件开发方法中,以下哪个原则强调团队成员之间的密切合作和面对面沟通? A. 满足客户 B. 可工作的软件 C. 另一种需求 D. 相互合作 答案:D 3. 下列哪个是迭代软件开发过程的特征之一? A. 完全可预测

B. 单次交付 C. 线性顺序 D. 重复迭代 答案:D 4. 在软件工程中,以下哪个测试方法是通过检查软件源代码是否符合预定编码规范和标准来识别潜在问题? A. 单元测试 B. 集成测试 C. 静态代码分析 D. 动态测试 答案:C 5. 以下哪种软件开发方法更加适合于大型复杂项目,其中需求和规范可能会发生变化的情况? A. 瀑布模型 B. 增量模型 C. 原型模型 D. 敏捷模型 答案:D

二、填空题 1. 软件需求工程关注软件的_____________。 答案:需求 2. 敏捷开发方法注重_____________与_____________的灵活性。 答案:响应,变化 3. 需求分析阶段的主要目的是准确地定义_____________。 答案:软件系统需求 4. 软件测试是一种_____________过程,用于评估软件系统的质量和响应性。 答案:验证 5. 配置管理的目标是确保软件系统的_____________和 _____________。 答案:完整性,一致性 三、简答题 1. 请简要解释软件生命周期模型,并列举两个具体的软件生命周期模型。 答:软件生命周期模型是一种用于规划、开发和维护软件的框架,它描述了软件开发从需求分析到交付并进入维护阶段的全过程。两个常见的软件生命周期模型包括:

软件工程题库(含答案)

软件工程题库 初级 一、填空题 1、在Word中,必须在视图方式或打印预览中才会显示出用户设定的页眉和页脚。 2、在Word中,只有在视图下可以显示水平标尺和垂直标尺。 3、在Excel 中,一个工作簿至多可由张工作表构成。 4、Excel中,已输入的数据清单含有字段:学号、姓名和成绩,若希望只显示成绩处于前5名的学生信息,可以使用()功能。 5、计算机的是指计算机主板上的各个总线的工作频率,计算机的是指计算机中的中央处理器(CPU)工作频率。 二、单选题(每题只有一个正确答案,多选或不选均不能得分) 1、硬盘工作时应特别注意避免() A.噪声 B.震动 C.潮湿 D.日光 2、在Word中,当多个文档打开时,关于保存这些文档的说法中正确的是() A.只能保存活动文档 B.用“文件”菜单的“保存”命令,可以重命名保存所有文档 C.用“文件”菜单的“保存”命令,可一次性保存所有打开的文档 D.用“文件”菜单的“全部保存”命令保存所有打开的文档 3、微型计算机中,I/O设备的含义是() A.输入设备 B.输出设备 C.输入输出设备 D.控制设备 4、关于“开始”菜单,说法正确的是()

A.“开始”菜单的内容是固定不变的 B.可以在“开始”菜单的“程序”中添加应用程序,但不可以在“程序”中添加 C.“开始”菜单和“程序”里面都可以添加应用程序 D.以上说法都不正确 5、下列操作中,不能在Excel工作表的选定单元格中输入公式的是() A.单击工具栏中的“粘贴函数”按钮 B.单击“插入”菜单中的“函数”命令 C.单击“编辑”菜单中的“对象…”命令 D.单击“编辑公式”按钮,在从左端的函数列表中选择所需函数 6、内存储器是计算机系统中的记忆设备,它主要用于( )。 A.存放数据 B.存放程序 C.存放数据和程序 D.存放地址 7、在Word中,"窗口"下拉菜单底部所显示的文件名是( )。 A.已关闭文件的文件名 B.正在打印的文件名 C.扩展名为DOC的文件名 D.打开的所有文件的文件名 8、Windows的"桌面"指的是( )。 A.整个屏幕 B.全部窗口 C.某个窗口 D.活动窗口 9、在Word中查找和替换正文时,若操作错误则( )。 A.可用"撤销"来恢复 B.必须手工恢复 C.无可挽回 D.有时可恢复,有时就无可挽回 10、在EXCEL的打印页面中,增加页眉和页脚的操作是() A.执行[文件]菜单中的[页面设置],选择[页眉/页脚] B.执行[文件]菜单中的[页面设置],选择[页面] C.执行[插入]菜单中的[名称],选择[页眉/页脚]

软件工程考试题 带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是: ( B ) A)可行性研究,问题定义,需求分析。 B)问题定义,可行性研究,需求分析。 C)可行性研究,需求分析,问题定义。 D)以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A)内容耦合,控制耦合,数据耦合,公共环境耦合。 B)内容耦合,控制耦合,公共环境耦合,数据耦合。 C)内容耦合,公共环境耦合,控制耦合,数据耦合。 D)控制耦合,内容耦合,数据耦合,公共环境耦合。 A) 4 .在详细设计阶段所使用到的设计工具是:( A)程序流程图, PAD 图, N-S 图, HIPO 图,判定表,判定树. B)数据流程图, Yourdon 图,程序流程图, PAD 图, N-S 图, HIPO 图。 C)判定表,判定树, PDL,程序流程图, PAD 图, N-S 图。 D)判定表,判定树,数据流程图,系统流程图,程序流程图,层次 图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6 在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7 下面不是软件工程的 3 个要素的是( C ) A 过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是( B ) A 程序 B.记录 C.文档 D.数据 9 在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属 于( C ) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面( C )是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11 下面不属于软件的特点的是( D )。 A 软件是一种软件产品 B 软件产品不会用坏,不存在磨损、消耗问题 C 软件产品的生产主要是研制 D 软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是( A )。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是( D )。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是( B )。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性

相关主题
文本预览
相关文档 最新文档