软件工程考试题(带答案)

更新时间:2024-01-14 11:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1.软件开发瀑布模型中的软件定义时期各个阶段依次是:( B )

A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。

2.可行性研究主要从以下几个方面进行研究: (A)

A) 技术可行性,经济可行性,操作可行性。 B) 技术可行性,经济可行性,系统可行性。 C) 经济可行性,系统可行性,操作可行性。 D) 经济可行性,系统可行性,时间可行性。

3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下: (C)

A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。

4.在详细设计阶段所使用到的设计工具是:(A)

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.降低耦合性 15软件生命周期中所花费用最多的阶段是( D )。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是( B )。 A.操作系统的资源管理功能 B.先进的软件开发工具和环境 C.程序人员的数量 D.计算机的并行处理能力

17.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作( B )。

A.软件投机 B.软件危机 C.软件工程 D软件产生 18软件开发的结构化生命周期方法将软件生命周期划分成( A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段 C.总体设计、详细设计、编程调试 D.需求分析、功能定义、系统设计

19.软件工程的理论和技术性研究的内容主要包括软件开发技术和( B)。 A.消除软件危机 B.软件工程管理 C.程序设计自动化 D.实现软件可重用

20软件工程的出现是由于( C )。

A )。

A.程序设计方法学的影响 B.软件产业化的需要 C.软件危机的出现 D.计算机的发展

21.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( D)。 A.概要设计 B.详细设计 C.问题定义 D.需求分析

22. 开发大型软件时,产生困难的根本原因是( A )。 A.大系统的复杂性 B.人员知识不足 C.客观世界千变万化 D.时间紧、任务重

23. 文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的( B),软件开发人员在各个阶段以文档作为前段工作成果的体现和后段工作的基础。 A.接口B.桥梁C.科学D.继续

24软件工程学的目的是以 较低的成本,研制( A较高B较低C.可靠D.优秀

25软件从一个计算机系统或环境转换到另一个计算机和环境的容易程度称为( D)。

A.可用性B.兼容性C.可靠性D.可移植性 26.软件生存周期是指( D)阶段。 A.软件开始使用到用户要求修改为止 B.软件开始使用到被淘汰为止 C.从开始编写程序到不能再使用为止

D.从立项制定计划,进行需求分析到不能再使用为止

A )质量的软件。

27.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是( B)。 A引入新技术提高空间利用率 B用较少的投资获得高质量的软件 C缩短研制周期扩大软件功能 D硬软件结合使系统面向应用

28. 软件可行性分析是着重确定系统的目标和规模。对成本-效益进行发现应属于下列选项中的( A )。

A.经济可行性B.操作可行性C.技术可行性D.社会可行性 29在数据流图中,用圆或者椭圆来表示( B)。 A.数据流B.加工C.数据存储D.数据源点或终点 30. 需求分析阶段的任务是确定( C )。 A.软件开发方法 B.软件开发费用 C.软件系统功能 D.软件开发工具

31( D)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 A需求分析B概要设计C总体设计D可行性研究 32.下列选项中( D )不是软件需求规格目标。 A.便于用户、分析员和软件设计人员进行理解及交流 B.控制系统的实施过程

C.作为软件测试和验收以及维护的依据 D.便于软件的维护

33下面描述中,不符合结构化程序设计风格的是( B )。 A使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B模块只有一个入口,可以有多个出口 C注重提高程序的执行效率 D不使用goto语句

34. 下列工具中属于需求分析常用工具的是( D )。 A.PAD B.PFD C.N-S D.DFD

35. 在数据流图(DFD)中,带有名字的箭头表示( C )。 A.控制程序的执行顺序 B.模块之间的调用关系 C.数据的流向 D.程序的组成成分

36. 在软件生产过程中,需求信息的给出是( D )。 A.程序员 B.项目管理者 C.软件分析设计人员 D.软件用户 37下列叙述中,不属于结构化分析方法的是( C )。 A.面向数据流的结构化分析方法

B.面向数据结构的结构化数据系统开发方法 C.面向对象的分析方法

38结构设计是一种应用最广泛的系统设计方法,是以( B )为基础、自顶向下、逐步求精和模块化的过程。 A.数据流 B.数据流图 C.数据库 D数据结构

39需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出( B )。

A.模块说明书B.软件规格说明书C.项目开发计划 D.合同文档 40. 结构化分析方法以数据流图、( D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。 A.DFD图 B.PAD图 C.IPO图 D.数据字典

41. 数据字典是软件需求分析阶段的重要工具之一,它的基本功能是( A)

A.数据定义B.数据维护C.数据通讯D.数据库设计 42. 以下( A )不是详细设计中常用的图形描述工具。

A.数据流图B.程序流图C.盒图(N-S)D.问题分析图(PAD) 43. 在结构图的有关术语中,用于表示软件结构中控制的层数的是 ( C)

A.扇入B扇出C深度D宽度

44. 模块的独立程度是评价设计好坏的重要标准。( A )是衡量

软件的模块独立性的两个定性度量标准。 A耦合性和内聚性B内聚性和可靠性 C耦合性和独立性D可靠性和独立性 45. 软件设计包括( B )两个阶段。

A.接口设计和结构设计B.概要设计和详细设计 C.数据设计和概要设计D.结构设计和过程设计

46在详细设计阶段,经常采用的工具是( A )。

A.PAD B.SA C.SC D.DFD

47. 在软件开发中,下面任务不属于设计阶段的是( D )。 A.数据结构设计 B给出系统模块结构 C定义模块算法 D定义需求并建立系统模型

48.对建立良好的程序设计风格,下面描述正确的是( A )。 A程序应简单、清晰、可读性好 B符号名的命名要符合语法 C充分考虑程序的执行效率 D程序的注释可有可无 49.下面不属于软件设计原则的是( C )。 A抽象B模块化C自底向上D信息隐蔽

50. 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( C )。 A PAD图 B.N-S图 C.结构图 D数据流图 51软件测试按照功能划分可以分为( B )。

A黑盒测试和单元测试 B白盒测试和黑盒测试 C集成测试和单元测试 D白盒测试和静态测试

52在软件测试过程的4个步骤中,测试依据是需求规格说明的是( C)

A单元测试B集成测试C确认测试D系统测试 53黑盒测试法属于( C )。

A集成测试B系统测试C动态测试D静态测试 54下列叙述中错误的是( C )。

A测试是为了寻找错误而运行程序的过程

B一个成功的测试是揭示了迄今为止尚未发现的错误的测试 C测试的目的是为了证明程序是正确的

D一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试

55软件测试过程是软件开发过程的逆过程,其最基础性的测试应是( B )

A集成测试B单元测试C有效性测试D系统测试 56. 程序的三种基本控制结构是( B )。

A. 过程、子程序和分程序 C. 递归、迭代和回溯

B. 顺序、选择和重复 D. 调用、返回和转移

57. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 58. 在E-R模型中,包含以下基本成分( C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性

D) 实体、属性、操作 59.软件测试的目标是( A)。

A. 证明软件是正确的 B. 发现错误、降低错误带来的

风险

C. 排除软件中所有的错误 D. 与软件调试相同

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

A.详细设计 B.软件编码 C.软件测试 D.软件维护 61.在数据流图中, 圆或椭圆表示 (1) __A__ ,平行线表示 (2) __D__ 。

(1) A、加工 B、外部实体

C、数据流 D、存储 C、数据流 D、存储

62.瀑布模型(Waterfall Model)突出的缺点是不适应 ( D )的变动。

A、算法 B、平台 C、程序语言 D、用户需求

63.结构化分析方法(SA)的一个重要指导思想是( C ) 。

A.自顶向下,逐步抽象 B.自底向上,逐步抽象 C.自顶向下,逐步分解 D.自底向上,逐步分解

64.模块的控制范围包括它本身及它所有的从属模块,模块的作用范围是指模块内一个判定的作用范围,凡是受到这个判定影响的所有模块都属于这个判定的作用范围,理想的情况是(

A.模块的作用范围应在控制范围之内 B.模块的控制范围应在作用范围之内 C.模块的作用范围与控制范围交叉

(2) A、加工 B、外部实体

A)

D.模块的作用范围与控制范围分离

65关于模块设计的原则,以下叙述中正确的是 ( B)

A.模块的内聚性高,模块之间的耦合度高 B.模块的内聚性高,模块之间的耦合度低 C.模块的内聚性低,模块之间的耦合度高 D.模块的内聚性低,模块之间的耦合度低

66.软件的用户界面作为人机接口起着越来越重要的作用,用户界面的( D)是用户界面设计中最重要的也是最基本的目标。

A.灵活性 B.风格多样性 C.美观性 D.易操作性

67.原型化方法是一种动态定义需求的方法,( D)不具有原型化方法的特征。

A.简化项目管理

B.尽快建立初步需求 C.加强用户参与和决策 D.提供严格定义的文档

68.数据流图包含的成分有 ( B)

A.关系、实体和属性 B.数据流、加工和数据存储

C.数据流、数据源和数据实体

D.数据流、属性、数据存储和加工

69.如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用 ( A)进行系统开发。 A.原型 B.瀑布模型

C.V-模型 D.螺旋模型

70.在软件开发的各个阶段中,对软件开发成败影响最大的是 (A) A.需求分析 B.概要设计

C.详细设计 D.编码

71.模块内聚度用于衡量模块内部各成分之间彼此结合的紧密程度。 1)一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是 __A__ 的。

2)将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是 __B__ 的。

3)模块中所有成分引用共同的数据,该模块的内聚度是 __C__ 的。

4)模块内的某成分的输出是另一些成分的输入,该模块的内聚度是 __D__ 的。

5)模块中所有成分结合起来完成一项任务,该模块的内聚度是 __E__ 的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。A 5 B 7 C 3 D 2 E 1 供选择的答案

A~E:① 功能性② 顺序性③ 通信性④ 过程性⑤ 偶然性⑥ 瞬时性⑦ 逻辑性

72.软件设计中划分模块的一个准则是(3)。两个模块之间的耦合方式中,(4)耦合的耦合度最高,(2)耦合的耦合度最低。一个模块内部的内聚种类中(3)内聚的内聚度最高,(1)内聚的内聚度最低。

两个模块之间的耦合方式通常可分为7种,按其耦合度从低到高的次序依此为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

内聚度从低到高的次序依此为:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚

供选择的答案:

A:①低内聚低耦合 ②低内聚高耦合

③高内聚低耦合 ④高内聚高耦合 B:①数据 ②非直接 ③控制 ④内容 C:①数据 ②非直接 ③控制 ④内容 D:①偶然 ②逻辑 ③功能 ④过程 E:①偶然 ②逻辑 ③功能 ④过程

二、填空

1. 黑盒测试又称为_功能测试 数据驱动测试或基于规格说明的测试 ,白盒测试也称为_结构测试或逻辑驱动测试

2、如果用户对系统的目标不是很清楚,需求难以定义,这时最好使用__原型 模型进行系统开发。

3、在软件开发的各个阶段中,对软件开发成败影响最大的是_需求分析 阶段。

4、研究可行性从 技术可行性,经济可行性,操作可行性 可行性进行研究。

5.结构化方法的指导思想是 自顶向下,逐步分解 6、在软件开发的各个阶段中,软件维护 阶段成为软件的二次开发。 7、类是指具有相同数据结构和相同操作的 对象 的集合。

8.数据流程图按照信息流的类型主要分为 事务流和变换流 两种。

9.软件危机是指在计算机软件开发和维护过程中 所遇到的一系列严重问题

10、 阶段是解决目标系统做什么的问题, 阶段是解决目标系统怎么做的问题。

11、 内聚 是度量一个模块内的各个元素彼此结合的紧密程度,它是信息隐藏概念的自然扩展。

12.面向对象的三个子模型分别是对象模型、动态模型和功能模型 13.结构化设计简称 ,分为 和

14.软件工程方法学的三要素是 方法 工具 过程 15.软件设计的准则是 、 、 和 16.JACKSON方法是面向 面向数据结构 的设计方法,它有 种逻辑结构

17.软件过程模型中 模型是描述用户的动态需求的, 模型是带有风险驱动的

18.结构化设计方法是面向 过程 的设计方法 19.传统的软件工程方法学采用 结构化分析技术 完成系统分析工作的

20.模块的独立性要求 高 内聚 低 耦合

21.在软件测试的步骤中, 单元 测试是检验每个模块能否单独工作 22.调试是是在测试发现错误之后 (排除错误)纠错 的过程 23.成本/效益分析是从 方面进行可行性研究 24.Jackson方法是面向 数据结构 的软件设计方法

25.内聚越高模块的独立性 越好 ;耦合越高模块的独立性 越差 26.软件维护又称为软件的 二次开发 三.判断:

1、开发软件就是编写程序。 (×)

2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、

安全性测试及可靠性等测试。(×)

3、生产高质量的软件产品是软件工程的首要目标。(√ ) 4、只有了解用户、了解任务,才能设计出好的用户界面。(√) 5、对象是具有相同状态的一组操作的集合。(√)

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

7、编程序时应尽可能利用硬件特点以提高程序效率. (×) 8、软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。( ×) 9、开发一个软件项目总存在某些不确定性,即存在风险。有些风险如果控制得不好,可能导致灾难性的后果。(√ )

10. 程序的可靠性、可维护性和效率通常由程序设计语言、源代码的

质量、和语言的实现机制决定的。(√) 11、一般单元测试不可以并行进行。( × )

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

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

14.如果通过软件测试没有发现错误,则说明软件是正确的。(× ) 15.快速原型模型可以有效地适应用户需求的动态变化。( √ ) 16.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。( ×)

17.用PDL语言写出的程序不可以在计算机上运行 (√) 18.黑盒测试主要用于测试步骤的后期阶段 (√) 19.白盒测试主要用于测试步骤的后期阶段 (×) 20.测试就是调试,都是在计算机上运行程序的 (×) 四、简答题 1.什么是软件危机

计算机软件的开发和维护过程所遇到的一系列问题。 2.什么是黑盒测试和白盒测试

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 3.软件开发和写程序有什么不同 软件包含程序,程序是软件的一部分。 软件是程序、数据及其相关文档的完整集合。

程序只是为了实现软件的功能和性能要求而编写的指令序列

4.软件设计的准则

5.什么是软件的生命周期,包含哪些阶段

是软件产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段

6.软件测试的步骤有哪些,含义是什么

7.软件过程模型有那些,各自特点是什么

8. 比较黑盒测试和白盒测试的优缺点

黑盒测试的优点:适应于阶段测试,从产品功能角度测试,容易入手生成测试数据。

缺点:某些代码得不到测试,如果规格说明有误,可能无法发现,不易进行充分性测试。

白盒测试的优点:可构成测试数据使特定程序部分得到测试,有一定的

充分性度量手段,可生成较多工具支持。

缺点:不易生成测试数据,无法对未实现规格说明的部分进行测试,作量大通常只用于单元测试有应用局限。

9. 衡量模块独立性的标准是什么,并解释与模块独立的具体关系 内聚性和耦合性。 模块的内聚性越高耦合性越低则模块越独立,反之越不独立。

10.详细设计用到的有哪些工具

五.综合题

1.画出银行储蓄系统、航空售票系统、患者监护系统、运动会管理

开始 输入x,y 初始化d X! = 0 y= = 0 y= = 0 d= = 0 d=d/y d=d/x d=d/(x*y) 输出d 终止

6.(09年上半年)McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为:V(G)=m-n+2,其中V(G)是有向图G的环路个数,m是G中得有向弧数,n是G中的节点数。下图所示程序图的程序复杂度是( B)A.2 B.3 C.4 D.5

A While (n t While(t5 F D G

7.09年下半年)某程序的程序图如下所示,运用McCabe度量法对其进行度量,其环路复杂度是(D )A.2 B.3 C.4 D.5

A While (n t While(t5 F D G While (x

8.图中描述了某个子程序的处理流程,根据判断覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (1) a=5 b=1 (2)a=5 b= - 1

(3) a=5 (4) a=5 (5) a=5 (6) a=5 (7) a=5 (8) a=5

b=1; b=1; b= - 1; b= 1; b= 1; b= 1; a=5 b= - 1 a=0 b= - 1

a= - 5 b=1; a=-0 b=0; a=0 b=1; a=0 b= - 1; a= - 5 a= - 5 a= 0 a= -5 b= - 1 b= - 1

b= - 1; b=1; a= - 5 b=1 a= - 5 b= - 1 开始 z=0 F (a≥0) and (b≥0) z=1 F ((a -b)≥3) or (a - b)≤ - 3 T z=z+2 返回

达到判定覆盖为 4 达到条件覆盖为 3 达到判定/条件覆盖为6 达到条件组合覆盖为 8 达到路径覆盖为 7

本文来源:https://www.bwwdw.com/article/9nmo.html

Top