软件工程习题

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

一、选择题

1.软件是一种()产品。

A.有形 B.逻辑C.物质 D.消耗

2.与计算机科学的理论研究不同,软件工程是一门()

A.理论性B.工程性C.原理性D.心理性

3.软件工程学科出现的主要原因是()

A.计算机的发展B.其他工程学科的影响力

C.软件危机的出现D.程序设计方法学的影响

4.软件生存周期模型有多种,下列选项中,()不是软件生存周期的模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型

5.软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、

演化模型、螺旋模型和喷泉模型。螺旋模型将瀑布模型和演化模型相结合,并增加了[A ],它建立在[B ]的基础上,沿着螺线自内向外每旋转一圈,就得到[B ]的一个版本。喷泉模型描述了[C ]的开发模型,它体现了这种开发方法创建软件的过程所固有的[D ]和

[E ]的特征。

供选择的答案:

A:(1)系统工程(2)风险分析(3)设计评审(4)进度控制

B:(1)模块划分(2)子程序分解(3)设计(4)原型

C:(1)面向对象(2)面向数据流(3)面向数据结构(4)面向事件驱动

D:(1)归纳(2)推理(3)迭代(4)递归

E:(1)开发各阶段之间无“间隙”(2)开发各阶段分界明显(3)部分开发阶段分界明显(4)开发过程不分阶段

您的选择是: 【A 】【B 】【C 】【D 】【E 】

6.目前存在若干种软件生存周期模型,例如瀑布模型、增量模型、螺旋模型等。其中规定了由前至

后、相互衔接的固定次序的模型是()

A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型

7.软件生命周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、()维

护等活动。

A.应用B.测试C.检测D.以上都是

8.准确地解决“软件系统必须做什么”是()阶段的任务。

A.分析阶段B.设计阶段C.编码阶段D.测试阶段

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

A.技术可行性

B. 经济可行性

C. 社会可行性

D. 法律可行性

10.需求分析()。【】

A.要回答“软件必须做什么”B.可概括为“理解、分析、表达”六个字

C.要求编写需求规格说明书D.以上都对

11.瀑布模型中软件生命周期划分为八个阶段:问题定义、可行性研究、需求分析、总体设计、详细

设计、编码、测试和运行、维护。这八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和()阶段。

A.运行维护阶段B.可行性分析

C.详细设计D.测试阶段

12.从结构化的瀑布模型看,在软件生命周期的八个阶段中,下面的几个选项中,()出错,对软件

的影响最大。

A.详细设计B.概要设计

C.需求分析D.测试和运行维护阶段

13.数据流图是常用的进行软件需求分析的图形工具,其基本符号是()

A.输入、输出、外部实体和加工

B.变换、加工、数据流和存储

C.加工、数据流、数据存储和外部实体

D.变换、数据存储、加工和数据流

14.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图法方法中,()是常采用的。

①自顶向下②自底向上③分层绘制④逐步求精

A.全是B.①③④C.②③④D.①④

15.在软件开发过程中常用图作为描述工具。DFD就是面向(A)分析方法的描述工具。在一套分层

DFD中,如果某一张图中有N个加工,则这张图允许有(B)张子图。在一张DFD图中,相邻两个加工之间(C)。在画分层的DFD时,应保持(D)之间的平衡。DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为(E)两大类。

A.①数据结构②数据流③对象④构件

B.①0 ②1 ③1-N ④0-N

C.①有且仅有一条数据流

②至少有一条数据流

③可以有0和多条名字互不相同的数据流

④可以有0和多条数据流,但允许其中有若干条名字相同的数据流

D.①父图和子图

②同一父图的所有子图

③不同父图的所有子图

④同一子图的所有直接父图

E.①控制流和变换流

②变换流和事务流

③事务流和事件流

④事件流和控制流

16.进行需求分析可使用多种工具,但()是不适用的。

A.数据流图B.判定表

C.PAD图D.数据字典

17.在数据流图中,有名字及方向的成分是()。

A.控制流B.信息流C.数据流D.信号流

18.需求分析最终结果是产生()。

A.项目开发计划B.可行性分析报告

C.需求规格说明书D.设计说明书

19.软件设计包括四个既独立又相互联系的活动,分别为( 1 ) 、(2) 、数据设计和过程设计。

(1)A.用户手册设计B.语言设计C.体系结构设计D.文档设计

(2)A.文档设计B.程序设计C.实用性设计D.接口设计

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

A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚

21.好的软件结构应是()

A.高耦合、高内聚B.低耦合、高内聚

C.高耦合、低内聚D.低耦合、低内聚

22.程序控制一般分为()、分支、循环三种基本结构。

A.分块B.顺序C.重复D.选择

23.软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能地()

A.强B.弱C.较强D.适中

24.在多层次的结构图中,其模块的层次数称为结构图的()。

A.深度B.跨度C.控制域D.粒度

25.()是指把一些关系密切的软件元素物理地放得彼此靠近。

A.隐藏B.内聚C.局部化D.模块独立

26.()工具在软件详细设计过程中不采用。

A.判定表

B.IPO图

C.PDL

D.DFD

27.指出PDL是下列()语言。

A.高级程序设计语言B.伪码

C.中级程序设计语言D.低级程序设计语言

28.工程上常用的表达工具有()。

A.图形工具B.表格工具C.语言工具D.以上全是

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

A.程序的效率B.程序执行速度

C.程序易读性D.程序的规模

30.最早用于科学计算的程序设计语言是( )

A、PROLOG语言

B、SMALLTALK语言

C、FORTRAN语言

D、COBOL语言

31.软件测试的目的是()

A.证明软件的正确性B.找出软件系统中存在的所有错误

C.证明软件系统中存在错误

D.尽可能多的发现软件系统中的错误

32.一般来说与设计测试数据无关的文档是()。

A.需求规格说明书B.设计说明书C.源程序D.项目开发计划

33.下面的逻辑测试覆盖中,测试覆盖能力最弱的是()。

B.A.条件覆盖B.条件组合覆盖C.语句覆盖D.条件/判定覆盖

34.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现在输入的角度考虑一

组测试用例:-1.001, -1.0, 1.0, 1.001。请问设计这种测试用例的方法是

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

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

35.在软件测试中,逻辑覆盖标准主要用于()。

A.黑盒测试法B.白盒测试法C.灰盒测试法D.错误推断法

36.在黑盒测试中,着重检查输入条件的组合是()

A.等价类划分法B.边界值分析法

C.错误推断法D.因果图法

37.确认测试主要用于发现( )阶段的错误。

A.需求分析

B. 概要设计

C. 详细设计

D. 编码

38.在软件生存周期中,花费代价所占比例最大的阶段是()。

A.需求分析B.设计C.测试D.维护

39.软件生命周期中最长的阶段是()

A.详细设计B.概要设计C.需求分析D.维护阶段

40.软件生命周期中所花费用最多的阶段是

A. 详细设计

B. 软件编码

C. 软件测试

D. 软件维护

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

A.改正性维护

B. 预防性维护

C.完善性维护

D.适应性维护

42.面向对象的主要特征除封装、继承外,还包括()

A.多态性B.完整性C.兼容性D.可移植性

43.在确定类的属性时,所有()是候选属性。

A.动词B.名词C.修饰性名词词组D.词组

44.汽车有一个发动机,汽车与发动机之间的关系是()关系。

A.一般与具体B.整体与部分C.分类关系D.is a

45.OO方法中,每个对象可用它自己的一组属性和它可以执行的一组()来表现。

A.行为B.功能C.操作D.数据

46.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是()。

A.组装B.整体与部分C.has a D.一般与具体

47.CMM软件能力成熟度明确定义了初始级等()个级别。

A. 4

B. 5

C. 2

D. 6

二、判断题

48.软件工程一词诞生于1969年的NA TO会议。()

49.软件工程一词诞生于1968年的ICSE会议。

50.软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、

共同完成的工程项目。()

51.软件生命周期由软件定义、开发和运行维护三个时期组成。

52.瀑布模型是由文档驱动的模型。

53.瀑布模型是添加了风险分析的快速原型模型。()

54.螺旋模型是风险驱动的模型。

55.软件就是程序。

56.喷泉模型是面向对象的过程模型。()

57.可行性分析要进行一次压缩、简化了的需求分析工作。()

58.可行性分析就是回答“是否值得做”的问题。()

59.系统流程图是描绘逻辑系统的传统工具。()

60.

61.软件错误可能出现在开发过程的早期,越早修改越好。

62.需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性研究的依据。

63.需求分析的最终结果是产生软件总体设计说明书。()

64.业务需求、用户需求与系统需求是同一回事。()

65.状态转换图是表示系统行为的重要模型之一。()

66.状态转换图中状态是任何可以被观察的系统行为模式。

67.数据流图的符号由基本符号和附加符号两种组成。

68.数据字典是对系统流程图的重要补充和说明。

69.

70.一个设计得好的典型系统的平均扇出通常是5或7。

71.面向数据流的设计方法根据数据流的不同所采取的映射策略也不同。

72.设计模块时,模块的控制域应在模块的作用域内。()

73.面向数据流的设计方法将DFD映射成为软件结构。()

74.程序的质量主要取决于软件设计的质量。()

75.

76.功能性注释一般出现在模块的首部。()

77.序言性注释一般用于解释程序中某条语言或某段程序设计的算法或数据结构。

78.用户界面设计是一个迭代的过程。()

79.良好的编程网络是提高程序可读性的保证。

80.PAD图是由IBM公司发明的一种用于过程设计的工具。()

81.PAD图是在软件详细设计过程中采用的工具。

82.判定树和判定表不能表示复杂的条件组合与应做的动作之间的对应关系。()

83.判定树与判定表相比,大多数时候判定表更为简洁,而判定树则更为直观。()

84.程序的环形复杂度常常借助数据流图来帮助度量。()

85.环形复杂度高的程序往往是最困难、最容易出问题的程序。()

86.环形复杂度为10是模块规模大小的一个更为科学的上限。()

87.常见的帮助设施主要有集成式和附加式两种。

88.编码时应尽量使用全局变量。()

89.

90.软件测试的目的是为了排除错误。

91.目前软件测试仍然是保证软件质量的关键步骤。()

92.软件测试最好由程序员自已来完成。()

93.穷举测试是可能的。()

94.系统测试(或功能测试)常采用白盒测试法。()

95.语句覆盖是白盒测试技术中最强的一种覆盖技术。()

96.判定/条件覆盖一定比判定覆盖强。()

97.设计测试用例是测试阶段的关键技术问题,基本目标是选用最少量的高效测试数据,做到尽可能

完善的测试,从而尽可能多地发现软件中的问题。()

98.软件测试和调试是软件测试阶段中的两个关系非常密切的过程,它们往往交替进行。()

99.语句覆盖是白盒测试技术中覆盖能力最弱的一种技术。

100.软件调试的任务是发现错误

101.

102.软件生命周期中所花费用最多的阶段是需求分析。

103.软件维护不是一项吸引人的工作。()

104.维护过程的本质是修改和压缩了的软件定义和开发过程。()

105.非结构化维护的难度要远远超过结构化维护的难度。

106.软件维护中预防性维护所占的比例最大。

107.

108.面向对象技术中的对象体现了信息隐藏原理。()

109.关联的角色有助于提高关联的可理解性,默认情况下用类名表示角色名。()

110.面向对象的单元测试中单元的概念与传统方法中的有所不同。()

111.在面向对象中,最小的可测试单元是封装起来的类和对象。()

112.面对对象的测试用例与结构化方法中的测试用例是一样的,均由输入数据和预期的结果两部分组成。()

113.面向对象中测试类的方法有随机测试、划分测试和多类测试。()

114.面向对象的测试用例大都是由执行服务的序列构成。()

115.定义类中的服务时,通常可由状态图、顺序图中的事件提取而来。()

116.定义类中的服务时,通常可由顺序图中的事件提取而来。

117.对象是具有一组相同属性和操作的实体的集合。

118.在面向对象程序设计中,对象也是一种模块。

119.用例模型用来体现系统的动态模型。

120.

三、填空题

1.__________是指导计算机软件开发和维护的一门工程学科。

2.软件工程一词诞生于______年举行的NATO会议。

3.通常把在软件生命周期全过程中使用的一整套技术方法的集合称为__________,也称为范型。

4.软件工程方法学包括________、_________、和________三个要素。

5.目前使用得最广泛的软件工程方法学,分别是传统方法学和________________。

6._____________是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务

的工作步骤。

7.原型的作用是_______________________,一旦需求确定了,原型就将被抛弃。

8.螺旋模型可看作是在每个阶段之前都增加了____________的快速原型模型。

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

10.UP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段、、

和交付阶段;9个核心工作流分别是:业务建模、、、实施、测试、部署、配置与变更管理、、环境。

11.

12.可行性研究的目的,就是用最小的代价在尽可能短的时间内确定___________________。

13.一般来说,至少从_______、_________、和____________三个方面进行可行性研究。

14.可行性研究结束后提交的文档是_______________。

15.

16.需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答_______________这个问

题。

17.在需求分析阶段结束之前,系统分析员应该写出____________________,以书面形式准确地描述

软件需求。

18.需求分析必须理解并描述问题的信息域,建立__________模型;必须定义软件应完成的功能,建

立_________模型;必须描述作为外部事件结果的软件行为,建立__________模型。

19.状态转换图中,______是任何可以被观察到的系统行为模式,它用圆角矩形表示。_______是某

个特定时刻发生的事情,它引起系统做动作或者使系统从一种行为模式转换到另一种行为模式。

20.数据流图的四种基本组成要素包括:外部实体、______ 、______ 、和__________ 。

21.数据流图是分层绘制的,一般来说,在绘制时,应保持之间的平衡。

22.需求分析完成后将提交____________________ 文档,简称SRS。

23.需求分析阶段得出的________________是总体设计的极好的出发点。

24.

25.软件设计包括_________设计和_________设计两个阶段。

26.经验表明,一个设计得好的典型系统的平均扇出通常是_______。

27._______________是指为了能集中解决主要问题而尽量推迟对问题细节的考虑。

28.观察大量软件系统后发现,设计得好的软件结构通常顶层扇______比较高,中层扇出较少,底层

模块应有高的扇_____。

29.面向数据流的设计方法把信息流映射成________。信息流的类型决定了映射的方法。

30.面向数据流的设计方法是把信息流映射成软件结构,信息流的类型决定了映射的方法,信息流的

两种类型是、。

31.进行软件结构设计时应该遵循的最主要的原理是___________原理,也就是说,软件应该由一组

完成相对独立的子功能的模块组成,这些模块彼此之间的接口关系应该尽量简单。

32.结构化程序设计的概念最早由E.W. Dijkstra提出,他是1972年图灵奖的获得者。

33.常见的帮助设施可分为___________和附加的两类。

34.描述程序处理过程的工具称为_____________。它们可以分为图形、_________和________三类。

35.实践表明,模块规模以环形复杂度V(G)小于等于________为宜,也就是说,该值是模块规模

的一个更科学更精确的上限。

36.模块的域定义为受该模块内一个判定影响的所有模块的集合。

37.程序内部文档包括恰当的标识符、_____________________和______________________等。

38.对程序进行注释是程序员和程序读者通信的重要手段。通常对程序的注释有两种___________性

注释和____________性注释。前者出现在程序的开始处,而后者出现在程序的内部。

39.通常把软件开发生命周期中的__________和___________两个阶段统称为实现。

40.所谓_________就是把软件设计结果翻译成用某种程序设计语言书写的程序。

41.

42.Pareto原理说明,测试发现的错误中的________很可能是由程序中的_______的模块赞成的。

43.错误推断法在很大程度上依靠程序员的_________和_________进行。

44.软件调试常用的途径包括__________、回溯法和___________________法三种。

45.软件测试的步骤是单元测试、、、系统测试和平行运行。

46.

47.在软件产品被开发出来并交付用户使用之后,就进入了软件的___________阶段。

48._____________就是在软件已交付使用之后,为了改正错误或满足新的需要而修改软件的过程。

49.是指程序不需修改或稍加修改就能在不同环境中多次重复使用。

50.

51.面向对象程序设计语言的三大特征是___________、继承和___________。

52.对象是描述该对象的______________和_______________________________的统一体。

53.UML的中文全称是_____________________。

54.对象模型通常使用UML中的__________图表示。

55.面向对象中类与类之间通常有关联、________________、_______________和细化等4种关系。

56.面向对象的功能模型通常由UML中的___________图表示。

57.用例图中,如果一个用例是另一个用例的异常处理或事务分支情况,并且前者往往是对后者的完

善,则这两个用例之间的关系是___________。

58.通常,使用UML提供的________来建立对象模型;对于复杂问题的对象模型由主题层、类-&-

对象层、、和结构层五个层次组成。

59.

60.对象之间的耦合可分为_________耦合和继承耦合。

61.面对对象设计中存在_______内聚、______内聚和一般-特殊内聚三种。

62.广义地说,软件重用可分为知识重用、____________________重用和__________重用。

63.软件成分的重用可分为3个级别:________重用、设计结果重用和______________结果重用。

64.类构件有3种重用方式,分别是___________重用、继承重用和___________重用。

65.类-&-对象之间的结构关系包括关联、聚集、泛化、依赖等类型,请将合适的关系填写在下列描

述的()中。⑴人员——雇员关系。⑵学生——课程关系。⑶森林和树木之间是关系。

66.

四、名词解释题

1.软件生命周期

2.软件危机

3.软件过程

4.数据字典

5.模块

6.模块化

7.抽象

8.逐步求精

9.信息隐藏

10.局部化

11.模块独立性

12.耦合

13.内聚

14.模块的作用域

15.模块的控制域

16.结构化程序设计

17.黑盒测试

18.白盒测试

19.β测试

20.α测试

21.改正性维护

22.适应性维护

23.完善性维护

24.预防性维护

25.可移植性

26.可重用性

27.继承

28.多态

29.类

30.主题

31.软件健壮性

32.

五、简答题

1.什么是软件危机,它有哪些典型的表现?为什么会出现软件危机?

2.简述软件工程的基本原理。

3.请简述快速原型法的基本思想。

4.简述瀑布模型的优缺点。

5.简述数据流图的绘制步骤。

6.简述面向数据流设计方法的设计过程。

7.简述G. Myers关于软件测试目的的描述。

8.说明影响软件可维护性的因素有哪些,如何提高软件的可维护性?

9.简述类和对象的区别?

10.系统分析师的主要任务有哪些?需要了解用户对于软件系统哪些需求?

11.“如果我们已经落后于计划,可以增加更多的程序员来赶上进度。”这样的观点正确吗?请说明

理由

12.使用对象建模技术开发软件时,通常建立的三种模型及其分别描述系统的侧重点是什么?

13.

六、应用题

1.某校对于各种不同职称的教师,根据是本校专职教师还是外聘兼职教师决定其讲课的每课时津贴

标准。本校专职教师每课时津贴费:教授50元,副教授40元,讲师30元,助教20元。外聘兼职教师每课时津贴费:教授60元,副教授50元,讲师40元,助教30元。试用判定表表示以上功能。

答:此题的解为:

教授T F F F T F F F

副教授 F T F F F T F F

讲师 F F T F F F T F

助教 F F F T F F F T

专职T T T T F F F F

60 ×

50 ××

40 ××

30 ××

20 ×

2.某程序要求输入某城市的电话号码,电话号码由三个部分组成,这三个部分的名称与内容分别是:

(1)地区码:空白或三位数字;(2)前缀:非“0”或非“1”开头的三位数据;(3)后缀:四位数字。假定被测试的程序接收符合上述规则的所有号码,拒绝不符合规则的号码,现在使用等价类划分法来对其进行测试。

答:第一步划分等价类。如下表所示。

第二步,写出测试用例

表中有四个有效等价类,可使用下面两个测试用例:

测试数据测试范围预期结果

( )276-2345 (1)(3)(4) 有效 (635)805-9321 (2)(3)(4) 有效

对于11个无效等价类,应选取11个测试用例: 测试数据 测试范围 预期结果 (a) 276-2345 (5) 无效 …

3. 某学校对学生成绩的评定办法为:若期末考试成绩大于90分,作业情况为好的成绩为优,而作

业成绩为差的定为良;否则,若期末考试成绩大于等于75分,作业情况为好的成绩为良,而作业成绩为差的定为及格;若期末考试成绩大于等于60分,作业情况为好的成绩为及格,而作业成绩为差的定为不及格;期末考试成绩低于60分,成绩定为不及格。上述功能请用判定表表示。 期末成绩>=90 T T F F 期末成绩>=75 T T

F

期末成绩>=60

T T F 作业情况好 T F T F T F 优 ×

良 × ×

及格 × ×

不及格

× ×

4. 下面是某程序的流程图。

(1)计算它的环形复杂度。(4分)

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

5. 针对下列的程序,设计符合该程序的语句覆盖和判定覆盖测试用例。

Procedure (V AR A ,B ,X :REAL ); BEGIN

IF (A>4) AND (B=1) THEN X:=X-A ;

IF (A=2) OR (X>1) THEN X:=X+1; END;

a>b

a>b

a>b

t=a; a=b; b=t;

t=a; a=b; b=t;

t=a; a=b; b=t;排序结果输出

T

T T F F F (0)

(1)(7)

(2)(3)

(8)

(9)

(10)

(5)

(4)(6)

6.aa

《软件工程》期末考试及答案

《软件工程》 期末考试试卷 考生注意:1.本试卷共有五道大题,满分100分。 2.考试时间90分钟。 3.卷面整洁,字迹工整。 4.填写内容不得超出密封线。 一、名词解释题(每小题3分,共15分) 1.软件生存周期模型 2.数据字典DD

3.内聚性 4.JSP方法 5.多态性 二、填空题(每空2分,共20分) 1.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有的软件。 3.McCall提出的软件质量模型包括个软件质量特性。 4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。 5. 为了便于对照检查,测试用例应由输入数据和预期的两部分组成。 6. 程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。 7. 软件结构是以为基础而组成的一种控制层次结构。 8. 使用类创建对象的过程实际上是类的过程。 9. 结构化语言是介于自然语言和之间的一种半形式语言。 10.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= 。 三、简答题(每小题5分,共20分)

2.以G.J.Myers的观点,简述对软件测试的目的。 3.就程序设计语言的工程特性而言,对程序编码有哪些要求? 4.模块的内聚性包括哪些类型?

四、理论应用题(每小题15分,共30分) PDL语言描述在数组A(1)~A(10)中找最大数的算法。 2.根据下列条件使用等价类划分法设计测试用例。某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

第1章_软件工程学概述练习题

第一章练习题 一、判断题 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√) 2..软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开 发实际上就是编写程序代码。(X) 3.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是 生成类的模板。(X) 4.快速原型模型可以有效地适应用户需求的动态变化。(√) 5.类是关于对象性质的描述,由方法和数据组成。(√) 6.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 二、名字解释: 1.软件:完成特定功能的程序+数据结构+文档。 2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。 3.软件工程:指导计算机软件开发和维护的一门工程学。 4.软件生命周期:一个软件从定义、开发、使用和维护直至最终被废弃,要经历的漫长时 期。 5.软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。 6.瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 7.快速原型模型:是快速建立起来的可以再计算机上运行的程序,它所能完成的功能往往 是最终产品能完成的功能的一个子集。 8.增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开 发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 9.螺旋模型:是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模 型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 对象。

软件工程课后习题集(含答案解析)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规、项目规。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程期末考试

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ 防灾科技学院 2011 ~ 2012 学年 第二学期期末考试 __软件工程_试卷 (A) 使用班级__0950411/0950412__ 答题时间__120分钟 _ 题号 一 二 三 四 五 总分 阅卷教师 得分 孙旭光 一、 选择题(本大题共20小题,每题2分,共40分。) 请把选择题的答案填写于下列的表格中: 题号 1 2 3 4 5 6 7 8 9 10 答案 D B C A B C B C A C 判卷 题号 11 12 13 14 15 16 17 18 19 20 答案 B A A D B A A C B A 判卷 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、某大企业最近决定采用高性能微机开发人事管理系统,该系统可供操作员和程序员使用,也可供人事处负责人和主管人事的副厂长等查询人事信息用。人事管理系统通过录入人事数据和修改、删除等操作,产生和更新各类人事文件,通过搜索这些文件进行各类人事信息的查询。考虑到人事处有大量的查询信息要求、频繁的人事信息修改和文件存档、查阅等特点,系统设计师决定认真设计人机交互界面,首先设计好在终端上的交互式会话的方式。系统工程师张某通过调查收集到如下4条意见,请问下面4条意见中哪条是不可接受的:( ) A. 某程序员认为:系统在屏幕格式、编码等方面应具有一致性和清晰性,否则会影响操作人员的工作效率。 B. 某操作人员认为:在交互式会话过程中,操作人员可能会忘记或记错某些事情,系统应当提供HELP 功能。 C. 某程序员认为:终端会话也应当符合程序员编制程序时的习惯,这样可以更高效地维护人事管理系统。 D. 教育科干部乙认为:尽管操作人员的指法已经强化训练但在交互式会话时应尽可能缩短和减少操作员输入的信息,以降低出错概率。 阅卷教师 孙旭光 得 分 试卷序号: 班级: 0950411 学号: 095041103 姓名: 谢英杰

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 ?软件也会磨损和老化。(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)

软件工程模拟题1带答案

软件工程期末试卷A 试题一、结构化分析与设计(共20分,每小题10分) 需求陈述: 高考录取统分子系统有如下功能: (1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件; (2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。 要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作: (1)给出高考录取统分子系统的功能模型(用数据流图表示)。(10分) (2)给出高考录取统分子系统的软件体系结构(用H图或结构图表示)。(10分) 答案网上搜的答案 let计创 结构图即软件的模块

软件结构答案 试题二、F面是程序流程图,试分别用表示。(共20分) 答案: 我做的: do {

if( ! P) { g ; } while(q); 我自己做的,可以不太对 始 开 q 为真

执行 do nothing Else if(g 为假) return } Else if(p 为假) { Return }while(g 为真) 试题三、(共20分,每题10分) float calculateTotal( int N) { float count = 0.0; int i=1; while ( i<=N ) Do lf(p 为真) lf(g 为真) 阅读下面的程序段,回答后面的问题: //计算满足条件的N 个数的和

{ if( i % 4 == 0) cou nt += i; i++; } retur n count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。 (每问5分,共10分) (2)请用基本路径的 测试技术完成该函数的 测试。要求给出 基本路径和测试用例。(每问5 分,共 10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础” 对应的测试用例 N=1 对应的测试用例N=4 试用例N=0 对应的测试用例 N=1 (?? ?不太确定) 对应的测试用例 N=4 对应的测试用例 N=4 PPT 的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础, 为我们提供了非常有用的软件度量。 算环形复杂度: (1)控制流图中环形区域的数量对应于环形复杂度。 可用如下三种方法之一来计 (2)给定控制流图 N 是控制 G 的环形复杂度 一V(G),定义为V(G) = E-N+2其中,E 是控制流图中边的数量, 流图中 的节点数量。 (3)给定控制流图 其中,P 是控制流图G 中判定节点的数量。 以上输出路径的节点。 环形复杂度V(G)=区域数=边-结点+2= 4 G 的环形复杂度 一V(G),也可定义为 V(G) = P+1 何为判定节点:即存在一个输入,两个或两个 判定结点+1 环形复杂度3 基本路径3条 路径 1 : 1-2-3-4-6-3-7 路径 2 : 1-2-3-4-5-6-3-7 路径3 : 1-2-3-7 对 路径 1 : 1-2-3-4-6-7 路径 2 : 1-2-3-4-5-6-7 路径 3 : 1-2-3-4-6-3-7

软件工程《软件工程》习题集

软件工程习题集 第一章概述 一、选择题 1.“软件危机”产生的主要原因是( B )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。 ①需求分析②需求调查③可行性分析④问题定义⑤方案设计 ⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩ 3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档 4.在软件工程时期,决定软件质量的主要因素是( ) A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展 5.下列哪个模型没有采用迭代的思想(A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 6.下列关于瀑布模型的描述正确的是( D ) A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 7.瀑布模型的关键不足在于(B ) (A)过于简单(B)不能适应需求的动态变更 (C)过于灵活(D)各个阶段需要进行评审 8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行及维护 D. 测试与排错

二、判断题 1.软件工程是指导计算机软件开发和维护的工程学科。( ) 2.在软件工程时期,决定软件质量的主要因素是管理水平. ( ) 3.软件生存期是从软件项目需求定义直至软件开始使用为止。() 4.常用的软件生存周期模型有瀑布模型和结构化模型。() 5.瀑布模型是一种线形的、顺序的软件开发模型( ) 6.瀑布模型的关键不足在于不能适应需求的动态变更.( ) 7.快速原型模型是为了克服瀑布模型的缺点而提出来的。() 8.快速原型模型可以有效地适应用户需求的动态变化。() 9.风险分析是螺旋模型的优点,因此螺旋模型适合任何大系统的开发。() 三、简答题 1、什么软件工程?什么是软件过程? 2、软件工程学的主要内容是什么? 3、什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?第二章可行性研究与软件开发计划 一、选择题 1.经济可行性研究的范围包括( C ) A.资源有效性 B.管理制度 C.效益分析 D.开发风险 2.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。 A.确定 B.行或不行 C.正确 D.无二义 3.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持 4.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对( A ) A.成本的估算B.项目计划C.工程管理D.工程网络图 5. 可行性研究的目标是( B )

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

1.简述软件开发的本质。 答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19 2.简述实施软件开发的基本途径。 答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19 3.简述何谓模型以及软件开发中所涉及的模型。 答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。 软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。 4.简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。 5、简述需求与需求规约的基本性质。 答:需求的基本性质:1) 必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求是可测量的。 需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。 3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。 6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可 7、举例说明功能需求和非功能需求之间的基本关系。 答: 非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。P24 8、有哪几种常用的初始需求发现技术 答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。P26 9、简述需求规约的3种基本形式。 (1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。(2) 半形式化的需求规约。半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。(3)形式化的需求规约。形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。 P29 10、简述软件需求规约的内容和作用。 答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。P28 需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求规约是一个管理控制点。3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。4)需求规约是创建产品验收测试计划和用户指南的基础。P31 11、简述需求规约在项目开发中的基本作用。 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求

《软件工程》期末复习题1(精)

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。

4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。

软件工程习题200题

软件工程习题200题 1、什么是软件危机?产生软件危机的原因?怎样消除? 2、什么是软件工程?包括哪些内容? 3、软件生存周期包含哪些内容? 4、软件开发模型有几种?各有什么特点? 5、软件技术审查和管理复审的作用是什么? 6、软件开发与写程序有什么不同? 7、在软件开发的早期阶段,为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性? 8、一个软件开发系统的可行性研究报告应如何编写? 9、数据流图有哪几种基本符号? 10、画数据流图原则是什么? 11、数据流图在软件分析中的作用是什么? 12、数据字典的作用? 13、什么是数据字典?有几个定义?各自特点是什么? 14、有几种效益的分析方法? 15、需求分析的任务是什么? 16、需求分析通常采用哪些分析技术? 17、什么是结构化分析?他的结构化体现在哪里? 18、简述面向对象分析技术的主要步骤? 19、原型开发技术的目的,特点是什么? 20、简述总体设计的一般过程? 21、什么叫软件结构?什么叫软件工程?二者之间关系? 22、解释深度、宽度、扇出、扇入对软件的影响。 23、什么叫模块化?M代表的含义是什么? 24、模块化的三个重要特征是什么?阐明各自的作用。 25、举例说明各种耦合情况和各种内聚情况。 26、简述设计准则的内容。 27、简述层次方框图与软件结构图的异同点。

28、事物型软件结构图有什么特点?原因是什么? 29、详细设计的任务是什么? 30、什么是结构化程序设计?用N-S图表示三种基本结构。 31、简述Jackson程序设计方法的主要内容。 32、简述Wariner程序设计方法的主要内容。 33、McaHei(Muahe,笔记有些模糊,未校正)方法的核心是什么?有何用途? 34、简述程序设计语言两次本质性变化的内容及意义。 35、C语言属于第几代语言?第四代语言特点是什么? 36、简述高级语言的应用特点和内在特点。 37、试分析程序设计语言特点及软件可靠性、可理解性、可修改性、可测试性及成本的关系。 38、选择一种语言的实用标准是什么? 39、简述开发环境、计算机体系结构、软件设计方法、软件开发过程与程序设计语言之间的促进和制约作用。 40、程序的编码风格主要体现在哪几个方面? 41、软件测试的基本任务是什么?测试与调试区别是什么? 42、软件测试的目标是什么? 43、软件测试分几个步骤进行?每个步骤解决什么问题? 44、软件测试有几种方法?每种方法的特点是什么? 45、软件出错有几种类型?验证其程序正确性有几种方法? 46、什么是单元测试和集成测试?他们各有什么特点? 47、简述渐增式测试方法与非渐增式测试方法的优劣。 48、简述存根程序驱动程序的作用。 49、编最大、最小公倍数程序,并为它设计测试用例。 50、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务? 51、举出几种常用的测试工具,说明他们的用法。 52、MTTF的含义是什么?如何计算Et值? 53、假设有一个由1000行Pascal语句构成的程序(编译后约有5000条机器指令),请估算对它进行测试期间将发现多少错误。为什么? 54、什么叫软件维护?软件维护的基本内容是什么? 55、软件维护分几类?每类的基本内容是什么?占软件维护总工作量的百分比是多少?

《软件工程》期末考试及答案

的年 值

1.简述容错技术的四种主要手段, 并解释。 2. 3. 就程序设计语言的工程特性而 言,对程序编码有哪些要求? 4. 模块的内聚性包括哪些类型? 四、理论应用题(每小题15分,共30分) 1. 请使用PAD图和PDL语言描述在 数组A(1)~A(10)中找最大数的 算法。 2.根据下列条件使用等价类划分法 设计测试用例。某一8位微机,其八 进制常数定义为:以零开头的数是八 进制整数,其值的范围是-177~177, 如05,0127,-065。 五、实践应用题(每小题15分,共15分) 1.某电器集团公司下属的厂包括技 术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是: (1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。 (2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是: (1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。 (2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上

系统中生产科和技术科处理的软件结构图。 软件工程期末答案一、名词解释题(每题3分,共15分)。 1.是描述软件开发过程中各种活动如何执行的模型。 2.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。 4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 5.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。) 二、填空题(每空2分,共20分)。 1.软件配置管理 2.容错功能 3.11 4.可移植性 5.输出结果 6.歧义性 7.模块 8.实例化 9.形式语言 10.F/(1+(n*i)) 三、简答题(每小题5分,共20分)。1.结构冗余:包括静态冗余、动态冗余和混合冗余。 信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

软件工程第一,二章习题doc

第一、二章习题及答案 (一)名词解释 1. 软件 2. 文档 3. 软件危机 4. 软件工程 5. 软件工程过程 6. 软件生存周期 7. 软件生存周期模型(软件开发模型) (二)填空题 1. 在信息处理和计算机领域内,一般认为软件是、和。 2. 国家标准“计算机软件开发规范”中,把软件生存周期划分为8个阶段,即、、、、、、和。 3. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为、、和四个步骤。 4. 软件工程过程包含的7个过程是、、、、、 和。 5. 结构化方法包括结构化方法、结构化方法和结构化程序设计方法。它是一种面向的开发方法,其实质就是分解。 (三)单项选择题 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. 增量模型 D. 螺旋模型 7、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。 A、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 8、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( )。 A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 9、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( )。 A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 10、软件工程的出现主要是由于( )。 A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 11、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工

-软件工程习题答案参考

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

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

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结 构化设计方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属 性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果

软件工程习题1传统方法

一.选择和判断 软件工程概述 1、软件的主要特性是() A、无形性 B、高成本 C、包括程序和文档 D、可独立构成计算机系统 2、软件工程三要素是() A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 3、包含风险分析的软件工程模型是() A、螺旋模型 B、瀑布模型 C、增量模型 D、喷泉模型 4、软件的生命周期的阶段包括() A、软件需求 B、软件设计 C、风险分析 D、软件实现 5、下列属于面向对象开发方法的是() A、Booch B、UML C、Coad D、OMT 6、软件危机的主要表现是() A、软件成本太高 B、软件产品的质量低劣 C、软件开发人员明显不足 D、软件生产率低下 7、软件开发方法的主要工作模型有() A、螺旋模型 B、喷泉模型 C、瀑布模型 D、专家模型 8、软件工程的目标有() A、易于维护 B、低的开发成本 C、高性能 D、短的开发期 9、软件工程学的目的和意义是() A、应用科学的方法和工程化的规范管理来指导软件开发。 B、克服软件危机。 C、作好软件开发的培训工作。 D、以较低的成本开发出高质量的软件。 10、软件就是程序,编写软件就是编写程序。() 11、瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。() 12、结构化方法的工作模型是使用螺旋模型进行开发的。() 13、结构化方法和JSP方法都不适合于大型软件的开发。()

14、原型化开发方法包括生成原型和实现原型两个步骤。() 15、面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。 () 16、软件危机的主要表现是软件的需求量迅速增加,软件价格上升。() 17、软件工具的作用是为了延长软件产品的寿命。() 18、软件工程过程应该以软件设计为中心,关键是编写程序。() 19、RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品, 而后者将被废弃。() 需求分析 1、需求分析的主要目的是() A、系统开发的具体方案 B、进一步确定用户的需求 C、解决系统是“做什么的问题” D、解决系统是“如何做的问题” 2、需求分析的主要方法有() A、形式化分析方法 B、PAD图描述 C、结构化分析(SA)方法 D、OOA法 3、面向对象的分析方法主要是建立三类模型,即()。 A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型 4、SA法的主要描述手段有() A、系统流程图和模块图 B、DFD图、数据词典、加工说明 C、软件结构图、加工说明 D、功能结构图、加工说明 5、画分层DFD图的基本原则有()。 A、数据守恒原则 B、分解的可靠性原则 C、子、父图平衡的原则 D、数据流封闭的原则 6、在E-R模型中,包含以下基本成分()。 A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、联系 7、用例驱动的需求方法的主要优点是() A、作为需求分析阶段用户与开发者之间交流信息的工具。 B、对系统的数据结构进行描述。

相关文档
最新文档