软件工程练习题一.docx

上传人:b****1 文档编号:517978 上传时间:2023-04-29 格式:DOCX 页数:20 大小:188.41KB
下载 相关 举报
软件工程练习题一.docx_第1页
第1页 / 共20页
软件工程练习题一.docx_第2页
第2页 / 共20页
软件工程练习题一.docx_第3页
第3页 / 共20页
软件工程练习题一.docx_第4页
第4页 / 共20页
软件工程练习题一.docx_第5页
第5页 / 共20页
软件工程练习题一.docx_第6页
第6页 / 共20页
软件工程练习题一.docx_第7页
第7页 / 共20页
软件工程练习题一.docx_第8页
第8页 / 共20页
软件工程练习题一.docx_第9页
第9页 / 共20页
软件工程练习题一.docx_第10页
第10页 / 共20页
软件工程练习题一.docx_第11页
第11页 / 共20页
软件工程练习题一.docx_第12页
第12页 / 共20页
软件工程练习题一.docx_第13页
第13页 / 共20页
软件工程练习题一.docx_第14页
第14页 / 共20页
软件工程练习题一.docx_第15页
第15页 / 共20页
软件工程练习题一.docx_第16页
第16页 / 共20页
软件工程练习题一.docx_第17页
第17页 / 共20页
软件工程练习题一.docx_第18页
第18页 / 共20页
软件工程练习题一.docx_第19页
第19页 / 共20页
软件工程练习题一.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程练习题一.docx

《软件工程练习题一.docx》由会员分享,可在线阅读,更多相关《软件工程练习题一.docx(20页珍藏版)》请在冰点文库上搜索。

软件工程练习题一.docx

软件工程练习题一

教育软件工程练习题

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内)

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

A.软件工程B.软件周期

C.软件危机D.软件产生

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

A.技术可行性B.经济可行性

C.社会可行性D.法律可行性

3.瀑布模型的存在问题是(B)

A.用户容易参与开发B.缺乏灵活性

C.用户与开发者易沟通D.适用可变需求

4.模块的内聚性最高的是(D)

A.逻辑内聚B.时间内聚

C.偶然内聚D.功能内聚

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

A.程序模块化B.模块高内聚

C.模块低耦合D.模块独立性

6.软件详细设计主要采用的方法是(D)

A.模块设计B.结构化设计

C.PDL语言D.结构化程序设计

7.下列关于JSP方法不正确的说法是(D)

A.JSP方法主要用于规模不大的数据处理系统

B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段

C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解

D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段

8.不适合作为科学工程计算的语言是(D)

A.PascalB.C

C.FortranD.Prolog

9.黑盒测试在设计测试用例时,主要需要研究(A)

A.需求规格说明与概要设计说明B.详细设计说明

C.项目开发计划D.概要设计说明与详细设计说明

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

-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(C)

A.条件覆盖法B.等价分类法

C.边界值分析法D.错误推测法

11.下列属于维护阶段的文档是(C)

A.软件规格说明B.用户操作手册

C.软件问题报告D.软件测试分析报告

12.快速原型模型的主要特点之一是(D)

A.开发完毕才见到产品B.及早提供全部完整的软件产品

C.开发完毕后才见到工作软件D.及早提供工作软件

13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)

A.校正性维护B.适应性维护

C.完善性维护D.预防性维护

14.类库这种机制是(D)级别的信息共享。

A.同一类B.不同类

C.同一应用D.不同应用

15.只有单重继承的类层次结构是(C)层次结构。

A.网状型B.星型

C.树型D.环型

16.在屏蔽硬件错误的冗错技术中,冗余附加技术有(D)

A.三模冗余B.信息冗余

C.冗余备份程序的存储及调用D.关键程序和数据的冗余存储和调用

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

A.可用性B.可靠性

C.正确性D.完整性

18.下列文档与维护人员有关的有(C)

A.软件需求说明书B.项目开发计划

C.概要设计说明书D.操作手册

19.采用Gantt图表示软件项目进度安排,下列说法中正确的是(D)

A.能够反映多个任务之间的复杂关系

B.能够直观表示任务之间相互依赖制约关系

C.能够表示哪些任务是关键任务

D.能够表示子任务之间的并行和串行关系

20.下列模型属于成本估算方法的有(A)

A.COCOMO模型B.McCall模型

C.McCabe度量法D.时间估算法

21.在下列工具与环境中(C)属于较早期的CASE。

A.基于信息工程CASE

B.人工智能CASE

C.结构的基于图形CASE

D.集成的CASE环境

22.Putnam成本估算模型是一个(D)模型。

A.静态单变量B.动态单变量C.静态多变量D.动态多变量

23.在McCall软件质量度量模型中,(C)属于面向软件产品修改。

A.可靠性B.可重用性C.适应性D.可移植性

24.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是(D)

A.SQICB.SQMCC.SQRCD.SQDC

25.软件复杂性度量的参数包括(B)

A.效率B.规模C.完整性D.容错性

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

A.结合B.隐藏C.封装D.抽象

27.软件调试技术包括(B)

A.边界值分析B.演绎法C.循环覆盖D.集成测试

28.瀑布模型的存在问题是(B)

A.用户容易参与开发

B.缺乏灵活性

C.用户与开发者易沟通

D.适用可变需求

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

A.计算机辅助静态分析

B.黑盒法

C.路径覆盖

D.边界值分析

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

A.详细设计B.软件编码C.软件测试D.软件维护

31.第一个体现结构化编程思想的程序设计语言是(B)

A.FORTRAN语言B.Pascal语言C.C语言  D.PL/1语言

32.程序的三种基本控制结构是(B)

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

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

33.在详细设计阶段,经常采用的工具有(A)

A.PADB.SAC.SCD.DFD

34.详细设计的结果基本决定了最终程序的(C)

A.代码的规模B.运行速度C.质量D.可维护性

35.需求分析中开发人员要从用户那里了解(A)

A.软件做什么B.用户使用界面C.输入的信息D.软件的规模

36.结构化程序设计主要强调的是(D)

A.程序的规模

B.程序的效率

C.程序设计语言的先进性

D.程序易读性

37.IDEF0图反映系统(D)

A.怎么做B.对谁做C.何时做D.做什么

38.经济可行性研究的范围包括(C)

A.资源有效性B.管理制度C.效益分析D.开发风险

39.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。

A.确定B.行或不行C.正确D.无二义

40.需求分析阶段的任务是确定(D)

A.软件开发方法

B.软件开发工具

C.软件开发费

D.软件系统的功能

41.软件工程的纵向分解是把软件开发分为几个(  B )

A.模块B.阶段

C.子系统D.过程

42.McCall软件质量度量模型中属于面向软件产品操作的是( D  )

A.适应性B.可重用性

C.可测试性D.可用性

43.快速原型模型中,用于及早向用户提交一个原型系统的是(  D )

A.实验型原型B.探索型原型

C.提交型原型D.演化型原型

44.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用?

( B  )

A.文档B.数据

C.编码D.设计

45.软件维护费用高的主要原因是(  D )

A.生产率高B.生产率低

C.人员多D.人员少

46.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是(  A )

A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%

B.完善性占25%,适应性占50%,校正性占21%,其他维护占4%

C.完善性占21%,适应性占25%,校正性占50%,其他维护占4%

D.完善性占21%,适应性占50%,校正性占25%,其他维护占4%

47.下列属于用白盒技术设计测试用例的是( B  )

A.错误推测B.逻辑覆盖

C.等价类划分D.因果图

48.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言是( A  )

A.PASCALB.FORTRAN

C.DL/1D.C

49.在软件详细设计过程中不采用的工具为(  C )

A.判定表B.PDL

C.数据流图D.IPO图

50.根据输入输出的数据结构产生程序结构的设计方法是( B  )

A.PARNAS方法B.JACKSON方法

C.WIRTH方法D.DIJKSTRA方法

51.在软件设计中,为解决一个大而复杂的问题把软件系统划分成一个个完成某一特定的子功能的方法称为(  C )

A.细化B.结构化

C.模块化D.抽象化

52.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?

(  B )

A.由底向上B.自顶向下

C.随机D.回归

53.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为( C  )

A.控制耦合B.公共耦合

C.标记耦合D.数据耦合

54.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?

( B  )

A.可行性分析B.需求分析

C.概要设计D.详细设计

55.结构化方法的基本原则是功能的分解和(  C )

A.模块化B.信息隐蔽

C.抽象D.细化

56.数据字典和数据流程图共同构成了系统的( B  )

A.物理模型B.逻辑模型

C.原型D.目标模型

57.软件需求不应包括( C  )

A.功能要求B.环境需求

C.标准实现的空间需求D.用户界面要求

58.项目开发计划是什么类型的文档?

( D  )

A.设计性B.进度表示

C.需求分析D.管理性

59.瀑布模型是一种什么模型?

( D  )

A.风险驱动模型B.线性开发模型

C.增量模型D.迭代模型

60.软件工具一般是为软件人员开发和维护活动而使用的(  C )

A.硬件环境B.说明书

C.软件D.程序

10.

11.

12.

13.11

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

二、填空题

1.瀑布模型是以文档为驱动、适合于软件需求明确的软件项目的模型。

2.纯收入是指在整个生存周期之内的_累计经济效益(折合成现在值)_与投资之差。

3.数据项是指__不可再分解的__数据单元。

4.软件概要设计的主要任务就是_软件结构的设计_。

5.结构化程序设计方法是使用_.三种基本控制结构_构造程序。

6.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上或相反顺序_集成的过程。

7.软件维护的内容包括校正性维持,适应性维护、_完善性维护_和预防性维护。

8.CASE工具的平台集成指工具运行在相同的__硬件/操作系统_平台上。

9.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_数据存储对象_。

10.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。

这种成本估算方法称为_差别估算法_。

11.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度。

12.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

13.McCall提出的软件质量模型包括11个软件质量特性。

14.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

15.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

16.程序设计语言的心理特性主要表现在歧义性、简洁性、传统性、局部性和顺序性。

17.软件结构是以模块为基础而组成的一种控制层次结构。

18.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:

结构化语言、判定表、

判定树。

19.结构化语言是介于自然语言和形式语言之间的一种半形式语言。

20.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i))。

21.软件项目计划是__可行性研究__阶段的结果产品。

22.McCall质量度量模型高层特性包含面向软件产品操作、产品修改和__产品适应__三个方面的11个特性。

23.在面向对象方法中,__继承性_是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。

24.演化提交模型是在__瀑布模型_的基础上,项目开发的各阶段都进行增量开发。

25.软件编码是将__详细设计_阶段产生的算法,用某种程序设计语言编写成程序的过程。

26.IDEF0用来描述系统的功能活动及其联系,建立系统的__功能_模型。

27.两个模块之间把简单的数值作为参数传递,这种耦合方式为__数据耦合__。

28.把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是__偶然内聚__。

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

30.软件工程的主要思想是在软件生产中用__工程化方法__代替传统手工方法。

三、名词解释(每小题3分,共15分)

1.信息隐蔽

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

2.集成测试

集成测试也称组装测试或联合测试。

是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

组装模块的方式有两种:

渐增式测试和非渐增式测试。

3.多态性

多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

4.CASE

CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。

CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。

因而,CASE领域是一个应用、继承和综合的领域。

5.SA

结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。

基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。

6.软件生存周期模型

是描述软件开发过程中各种活动如何执行的模型。

7.数据字典(DD)

数据字典是用来定义数据流图中的各个成分的具体含义的。

它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

8.内聚性

内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

9.JSP方法

JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。

10.多态性

指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

或(不同的对象,收到同一消息可以产生不同的结果。

11.软件工程过程

软件工程过程规定了获取、供应、开发、操作和维护时,要实施的过程、活动和任务。

12.基线

是软件生存期中各开发阶段的一个特定点,这的作用是把各开发阶段的工作的划分更加明确化,使本来连续的工作在这些点上分开,以便于检查和肯定阶段性成果。

13.静态测试

指被除数测程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。

14.PAD

PAD是指程序分析图,是一种算法描述工具,它是一种从左向右展开的二维树型结构

15.需求分析

是反映开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化为相应的形式功能规约的过程。

16.软件过程

软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

即:

软件过程描述为了开发出客户需要的软件,什么人(WHO)、在什么时候(WHEN)、做什么事(WHAT)以及怎样(HOW)做这些事,以实现某一个特定的具体目标。

17.系统流程图

系统流程图是概括地描绘物理系统的传统工具。

它是基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。

系统流程图表达的是数据在系统各个部件之间流动的情况,而不是对数据进行加工处理的控制过程。

18.状态转换图

状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如:

处理数据)。

因此,状态图提供了行为建模机制。

四、简答题

1.简述软件工程目标和面临的主要问题。

1.软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

包括:

付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

面临的主要问题是:

软件费用软件可靠性软件维护软件生产率软件重用。

2.简述结构化程序设计方法的基本要点。

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环

(3)采用主程序员组的组织形式。

3.简述文档在软件工程中的作用。

(1)提高软件开发过程的能见度

(2)提高开发效率

(3)作为开发人员阶段工作成果和结束标志

(4)记录开发过程的有关信息便于使用与维护;

(5)提供软件运行、维护和培训有关资料;

(6)便于用户了解软件功能、性能。

4.简述提高可维护性的方法。

(1)建立明确的软件质量目标

(2)利用先进的软件开发技术和工具

(3)建立明确的质量保证工作

(4)选择可维护的程序设计语言

(5)改进程序文档

5.简述容错技术的四种主要手段,并解释。

结构冗余:

包括静态冗余、动态冗余和混合冗余。

信息冗余:

为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

时间冗余:

指重复执行指令或程序来消除瞬时错误带来的影响。

冗余附加技术:

指为实现上述冗余技术所需的资源和技术。

6.以G.J.Myers的观点,简述对软件测试的目的。

软件测试是

(1)为了发现错误而执行程序的过程;

(2)一个好的用例能够发现至今尚未发现的错误的测试。

(3)一个成功的测试是发现至今尚未发现的错误的测试。

7.就程序设计语言的工程特性而言,对程序编码有哪些要求?

就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性

(2)开发工具的可利用性

(3)软件的可重用性

(4)可维护性

8.模块的内聚性包括哪些类型?

(1)偶然内聚

(2)逻辑内聚

(3)时间内聚

(4)通信内聚

(5)顺序内聚

(6)功能内聚

 

五、应用题

1.某旅馆的电话服务如下:

可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

要求:

写出在数据字典中,电话号码的数据条目的定义(即组成)。

1.解

电话号码=分机号|外线号码

分机号=7201...7299

外线号码=9+[市话号码|长话号码]

长话号码=区号+市话号码

区号=100...300

市话号码=局号+分局号

局号=[455|466|888|552]

分局号=4{数字}4

 

2.某培训中心要研制一个计算机管理系统。

它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:

(1)对以上问题画出数据流程图。

(2)画出该培训管理的软件结构图的主图。

 

解:

(1)数据流图

(2)软件结构图

 

3.下面是某程序的流程图:

(1)计算它的环路复杂性。

(2)为了完成基本路径测试,求它的一组独立的路径。

 

解:

(1)环路复杂性=判断数+1=6+1=7(个)

(2)路径1:

(0)—①—(13)—(19)

路径2:

(0)—②—③—(14)—(19)

路径3:

(0)—②—④—⑤—(15)—(19)

路径4:

(0)—②—④—⑥—⑦—(16)—(19)

路径5:

(0)—②—④—⑥—⑧—⑨—(17)—(19)

路径6:

(0)—②—④—⑥—⑧—⑩—(18)—(19)

路径7:

(0)—②—④—⑥—⑧—⑩—(12)—(19)

4.某图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组;

(2)订书组从各单位取得要订的书目;

(3)根据供书目录和订书书目产生订书文档留底;

(4)将订书信息(包括数目,数量等)反馈给供书单位;

(5)将未订书目通知订书者;

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2