软件工程考试题带答案.docx

上传人:b****7 文档编号:8777005 上传时间:2023-02-01 格式:DOCX 页数:21 大小:166.67KB
下载 相关 举报
软件工程考试题带答案.docx_第1页
第1页 / 共21页
软件工程考试题带答案.docx_第2页
第2页 / 共21页
软件工程考试题带答案.docx_第3页
第3页 / 共21页
软件工程考试题带答案.docx_第4页
第4页 / 共21页
软件工程考试题带答案.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程考试题带答案.docx

《软件工程考试题带答案.docx》由会员分享,可在线阅读,更多相关《软件工程考试题带答案.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程考试题带答案.docx

软件工程考试题带答案

一、选择题

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)。

A.定义、开发、运行维护

B.设计阶段、编程阶段、测试阶段

C.总体设计、详细设计、编程调试

D.需求分析、功能定义、系统设计

19.软件工程的理论和技术性研究的容主要包括软件开发技术和(B)。

A.消除软件危机

B.软件工程管理

C.程序设计自动化

D.实现软件可重用

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

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

B.软件产业化的需要

C.软件危机的出现

D.计算机的发展

21.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)。

A.概要设计

B.详细设计

C.问题定义

D.需求分析

22.开发大型软件时,产生困难的根本原因是(A)。

A.大系统的复杂性B.人员知识不足

C.客观世界千变万化D.时间紧、任务重

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

A.接口B.桥梁C.科学D.继续

24软件工程学的目的是以较低的成本,研制(A)质量的软件。

A较高B较低C.可靠D.优秀

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

A.可用性B.兼容性C.可靠性D.可移植性

26.软件生存周期是指(D)阶段。

A.软件开始使用到用户要求修改为止

B.软件开始使用到被淘汰为止

C.从开始编写程序到不能再使用为止

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

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.PADB.PFDC.N-SD.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.PADB.SAC.SCD.DFD

47.在软件开发中,下面任务不属于设计阶段的是(D)。

A.数据结构设计B给出系统模块结构

C定义模块算法D定义需求并建立系统模型

48.对建立良好的程序设计风格,下面描述正确的是(A)。

A程序应简单、清晰、可读性好B符号名的命名要符合语法

C充分考虑程序的执行效率D程序的注释可有可无

49.下面不属于软件设计原则的是(C)。

A抽象B模块化C自底向上D信息隐蔽

50.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(C)。

APAD图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.过程、子程序和分程序B.顺序、选择和重复

C.递归、迭代和回溯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、存储

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

C、数据流D、存储

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

A、算法B、平台

C、程序语言D、用户需求

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

A.自顶向下,逐步抽象

B.自底向上,逐步抽象

C.自顶向下,逐步分解

D.自底向上,逐步分解

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

A.模块的作用围应在控制围之

B.模块的控制围应在作用围之

C.模块的作用围与控制围交叉

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__的。

它具有简明的外部界面,由它构成的软件易于理解、测试和维护。

A5B7C3D2E1

供选择的答案

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.画出银行储蓄系统、航空售票系统、患者监护系统、运动会管理系统的DFD,信用卡管理系统

2.给出DFD会转换为SC(结构图)

3.给出一段代码会画出PAD(问题分析图)

作业总汇:

一.以下说明和数据流图,回答问题1-4,讲解答填入答题纸的对应栏。

说明:

现准备为某银行开发一个信用卡管理系统CCMS,改系统的基本功能为:

1.信用卡申请。

非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。

如果信用卡被银行接受,CCMS将记录该客户的基本信息,并发送确认函给客户,告知客户信用卡的有效期限及信贷限额;否则该客户将会收到一封拒绝函。

非信用卡客户收到确认函后成为信用卡客户。

2.信用卡激活。

信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。

激活操作结束后,CCMS将激活通知发给客户,告知客户其信用卡是否成功激活。

3.信用卡客户信息管理。

信用卡客户的个人信息可以在CCMS中进行在线管理。

每位信用卡客户可以在线查询和修改个人信息

4.交易信息查询。

信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。

信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易金额)

下面是它的顶层图和0层图:

问题:

1.将顶层图中得E1-E3填充完整

2.顶层图中缺少三条数据流,根据上面的说明,分别指出这三条数据流的起点和终点

3.0层图中有两条数据流是错的,请指出这两条数据流的名称,并改正

4.根据说明,将0层图中得P1—P4的处理名称填充完整

个人信息

P1

P2

P3

P4

E1

E3

E2

交易信息

交易记录查询请求

查询|修改个人信息

个人信息

激活通知

拒绝函

激活请求

信用卡申请表

确认函

信用卡申请信息

信用卡申请验证结果

二.是某系学籍管理的一部分(A)(B)分别是同一模块A的两个不同的设计方案,你认为哪一个设计方案较好?

请述理由

A取班级成绩

班级

成绩总汇

B取平均成绩

或最高成绩

平均/最高成绩

成绩

C取个人成绩

学号

成绩

(A)图

A取班级成绩

班级

成绩总汇

B取平均成绩

B取最高成绩

平均成绩

最高成绩

C取个人成绩

学号

成绩

学号

成绩

(B)图

我认为(b)方案较好。

要评价一个软件结构设计,主要看模块的独立性,要从软件结构的耦合性和聚性两个方面来衡量。

对于(a)方案,模块A与模块B之间形成了控制耦合,因此独立性不高,而在B模块部,有两个不同的功能被放在一起,形成的是逻辑聚,聚性不高。

对于(b)方案,模块A与B1和B2之间是数据耦合,独立性较强,在B1和B2部,只完成单一的功能,是功能聚,因此聚性高,可维护性好,因此相比而言(b)方案比(a)方案更好些。

 

3(07年下)对于如下的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计

(2)个测试用例。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1