文档库 最新最全的文档下载
当前位置:文档库 › 软件工程综合练习题

软件工程综合练习题

软件工程综合练习题
软件工程综合练习题

《软件工程》综合练习题

一、选择题

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.技术可行性要解决( )。

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.激发条件

17.系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( )。

A.软件环境可行性、技术可行性、经济可行性、社会可行性

B.经济可行性、技术可行性、社会可行性

C.经济可行性、社会可行性、系统可行性

D.经济可行性、实用性、社会可行性

18.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。

A.数据流图 B.数据字典 C.结构化语言 D.判定表与判定树

19.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。

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.在结构化分析方法(SA)中,与数据流图配合使用的是( )。

A.网络图 B.实体联系图 C.数据字典 D.程序流程图

26.通过( )可以完成数据流图的细化。

A.结构分解 B.功能分解 C.数据分解 D.系统分解

27.需求分析过程中,对算法的简单描述记录在( )中。

A.层次图 B.数据字典 C.数据流图 D.IPO图

28.初步用户手册在( )阶段编写。

A.可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计

29.结构化分析方法(SA)最为常见的图形工具是( )。

A.程序流程图 B.实体联系图 C.数据流图 D.结构图

30.SA方法的基本思想是( )

A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向下逐步抽象31.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )

A.抽象和信息隐蔽 B.局部化和封装化 C.内聚性和耦合性 D.激活机制和控制方法32.结构化程序流程图中一般包括三种基本结构,下述结构中( )不属于其基本结构。

A.顺序结构 B.条件结构 C.选择结构 D.嵌套结构

33.对软件进行分解,是为了( )。

A.降低模块的复杂程度 B.降低模块间接口的复杂程度

C.降低模块的复杂程度,并降低模块间接口的复杂程度

D.降低模块的复杂程度,并提高模块间接口的复杂程度

34.软件设计一般分为总体设计和详细设计,它们之间的关系是( )。

A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构

35.软件结构使用的图形工具,一般采用( )图。

A.DFD B.PAD C SC D.ER

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.E-R图 D.结构图

45.模块( ),则说明模块的独立性越强。

A.耦合越强 B.扇入数越高 C.耦合越弱 D.扇入数越低

46.结构化设计方法在软件开发中,用于( )。

A.测试用例设计 B.概要设计 C.程序设计 D.详细设计

47.软件概要设计结束后得到( )。

A.初始化的软件结构图 B.优化的软件结构图 c.模块详细的算法 D.程序编码48.Jackson方法是一种面向( )的方法。

A.对象 B.数据结构 C.数据流 D.控制流

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

A.分块 B.顺序 C.循环 D.分支

50.PDL是下列( )语言。

A.高级程序设计语言 B.伪码 c.中级程序设计语言 D.低级程序设计语言

51.下列叙述正确的是( )

A.NS图可以用于系统设计 B.PDL语言可以用于运行

c.PAD图表达的软件过程呈树型结构 D.结构化程序设计强调效率第一

52.模块的内部过程描述就是模块内部的( ),它的表达形式就是详细设计语言

A.模块化设汁 B.算法设计 c.程序设计 D.详细设计

53.Jackson方法根据( )来导出程序结构。

A.数据结构 B.数据问的控制结构 c.数据流图 D.IPO图

54.程序控制的三种基本结构中,( )结构可提供程序重复控制。

A.遍历 B.排序 C.循环 D.分支

55.Jackson图上下层之间的关系是( )。

A.调用关系 B.组成关系 C.继承关系 D.嵌套关系

56.详细设计的任务是确定每个模块的( )。

A.外部特性 B.内部特性 C.算法和使用的数据 D.功能和输入输出数据57.结构化程序设计的一种基本方法是( )。

A.筛选法 B.递归法 c.迭代法 D.逐步求精法

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

A.程序的效率 B.程序执行速度 c.程序易读性 D.程序的规模

59.黑盒测试是从( )观点出发的测试,白盒测试是从( )观点出发的测试。

A.开发人员、管理人员 B.用户、管理人员 C.用户、开发人员 D.开发人员、用户

60.为了提高测试的效率,应该( )。

A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据

61.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中( )是最强的覆盖准则。

A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖

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

A.程序的内部逻辑 B.程序的复杂结构 c.使用说明书 D.程序的功能

63.软件测试可能发现软件中的( ),但不能证明软件( )。

A.所有错误、没有错误 B.错误、没有错误 c.逻辑错误、没有错误 D.设计错误、没有错误64.在测试中,下列说法错误的是( )。

A.测试是为了发现程序中的错误而执行程序的过程

B.测试是为了表明程序是正确的

C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案

D.成功的测试是发现了迄今为止尚未发现的错误的方案

65. 在进行软件测试时,首先应当进行单元测试,然后再进行( ),最后再进行有效性测试。

A.组合测试 B.集成测试 C.有效性测试 D.确认测试

66.在软件生存周期中,工作量所占比例最大的阶段是( )阶段

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

67.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。

A.维护 B.设计 C.软件再工程 D.逆向工程

68.在整个软件维护阶段所花费的全部工作中,( )所占的比例最大。

A.校正性维护 B.适应性维护 c.完善性维护 D.预防性维护

69.软件工程对维护工作的主要目标是提高( ),降低维护的代价。

A.软件的生产率 B.软件的可靠性 C.软件的可维护性 D.维护的效率

70.软件工程针对维护工作的主要目标是提高软件的可维护性,降低( )。

A.维护的效率 B.维护的工作量 C.文档 D.维护的代价

71.人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。( )是由于开发时测试的不彻底、不完全造成的。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护

72.维护由引起的原因不同可分为几类,( )是由于外部环境或数据库的环境的变化造成的。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护

73.产生软件维护的副作用,是指( )。

A.开发时的错误 B.隐含的错误 c.因修改软件而造成的错误 D.运行时的误操作74.软件生存周期的( )工作和软件可维护性有密切的关系。

A.编码阶段 B.设计阶段 C.测试阶段 D.每个阶段

75.软件维护的困难主要原因是( )。

A.费用低 B.人员少 c.开发方法的缺陷 D.维护难

76.对象模型的描述工具是( )。

A.状态图 B.数据流图 c.对象图 D.结构图

77.每个对象可用它自己的一组属性和它可以执行的一组( )来表现。

A.行为 B.功能

78.动态模型的描述工具是( )。

A.对象图 B.结构图 C.状态图 D.设计图

79.表示对象的相互行为的模型是( )模型。

A.对象 B.动态 C.功能 D.静态

80.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为( ),此定义包括一组数据属性和在数据上的一组合法操作

A.类 B.属性 c.对象 D.消息

81.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。

A.服务 B.参数 C.属性 D.调用

82.按照传统的生命周期方法开发软件,各阶段工作自顶向下,从抽象到具体顺序进行,我们一般用( )模型来模拟。

A.螺线模型 B.喷泉模型 C.瀑布模型 D.椭圆模型

83.软件部分的内部实现与外部可访问性分离,这是指软件的( )。

A.继承性 B.共享性 c.封装性 D.抽象性

84.在只有单重继承的类层次结构中,类层次结构是( )层次结构。

A.树型 B.网状型 C.星型 D.环型

85.面向对象分析阶段建立的三个模型中,核心的模型是( )模型

A.功能 B.动态 c.对象 D.分析

86.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。

A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析

87.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为( ),此定义包括一组数据属性和在数据上的一组合法操作。

A.类 B.属性 C.对象 D.消息

88.描述类中某个对象的行为,反映了状态与事件关系的是( )。

A.对象图 B.状态图 c.流程图 D.结构图

89.类库这种机制是( )级别的共享。

A.同一类 B.不同类 C.同一应用 D.不同应用

二、填空题

1.软件工程要用工程科学中的观点来进行( )、( )、( )。2.软件工程要用( )的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。

3.可行性分析一般要考虑的情况包括:( )、( )、( )。

4. 系统的经济效益等于( )加上( )。

5.数据流图有四个基本成分:( )、( )、( )、( )。

6.数据字典中的加工逻辑主要描述该加工( ),即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变量变换为输出数据流的( )。

7.需求分析的困难主要体现在四个方面:问题的复杂性、( )、( )、需求易变性。

8.建立数据字典一般的两种形式是( )和( )。

9.( )是形式化方法的基础。

10.用不同的语义抽象以不同的方式来描述同一个系统是可能的,数据流和对应的加工用( )描述,而系统行为用( )来描述。

11.白盒测试中逻辑覆盖条件最强的是()。

12.有限状态机是( )中的一种数学模型。

13.Petri网的表示方法使用( )工具。

14.软件设计是一个把( )转换为( )的过程,包括( )和( )。

15.概要设计主要是把各项功能需求转换成系统的( )。

16.Jackson结构图能对结构进行( )分解,因此可以表示( )。

17.过程设计语言的出口结构有:( )结构、( )结构两种。

18.详细描述处理过程常用的三种工具是:( )、( )和( )。

19.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的( )进行设计。

20.编码是将( )阶段得到的( )的描述转换为基于某种计算机语言的程序,即源程序代码。21.追求效率建立在不损害( )或( )基础上。

22.运行被测试程序的方法称为( )测试。

23.确认测试又称( )。它的任务是检查软件的( )与( )是否与( )中确定的指标相符合。

24.选择测试用例,使用被测试程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为( )。

25.维护有( )、( )、( )、()四种。

26.软件的( )、( )、( )是衡量软件质量的几个主要特性。

27.对象的抽象是( ),类的实例化是( )。

28.继承性是( )自动共享父类属性和( )的机制。

29.对象具有封装性,实现了( )的组合。

30.子类只继承( )的属性和操作,称为单重继承。

31.对象的抽象是( ),类的具体化就是( ),也可以说类的实例是( )。

32.类具有( ),它是( )的行为的抽象。

33.对象具有状态,描述对象的状态用它的( )。

34.子类自动共享父类的属性和操作的机制称为( )。

35.抽象是指强调实体的( )、( ),忽略一些无关紧要的属性。类实现了对象的( )和( )的抽象,它是对象的共性的抽象。

36.面向对象设计可分为( )设计和( )设计。

37.用户界面设计最重要的目标是( )。

38.设计人机交互子系统时,需要把( )作为主角。

39.在面向对象设计中存在( )、( )、( )三种内聚。

40.事件跟踪图用来表示( )、( )对象和( )对象。( )和( )可用一条垂直线表示,各( )用水平箭头表示,箭头方向是从( )对象指向( )对象。

三、名词解释

1、软件危机

2、软件工程

3、软件生命周期

4、面向对象范型 5.加工(又称为数据处理) 6、数据流条目 7.白盒法 8.黑盒法 9.多态性 10.可重用性

四、简答题

1.需求分析方法应遵循的原则是什么?

2、简述结构化设计方法(SA)的优缺点。

3、什么是模块的作用范围?什么是模块的控制范围?

4、什么是模块?模块有哪些基本属性?

5、软件结构设计的优化准则是什么?

6、软件测试的种类及方法是什么?

7、什么是结构化维护?结构化维护的特点是什么?

8、试述面向对象方法的要点是什么。

9、简述面向对象建模的三个子模型和5个层次,说明三种模型的关系及5个层次的含义。

10、模块的内聚性包括哪些类型?

11、为什么说类构件是比较理想的可重用软件?它有哪几种重用方式?

12、测试过程中产生的基本文档有哪些?

五、应用题

1、交通工具分为空中、陆上、水上交通工具。空中交通工具分为客机,货机,专用轻型机;陆上交通工具分为火车,汽车,火车汽车又分客车、货车,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。建立交通工具的对象模型。

2、画出下面用PDL写出的程序的PAD图。它是否是结构化的,若是,画出盒图(N-S图),若不是,将它转化为结构化的,并画出盒图。

WHILE P DO

IF A>O THEN A1 ELSE A2 ENDIF;

IF B>0 THEN B1;

IF C>0 THEN C1 ELSE C2 ENDIF

ELSE B2

ENDIF;

B3

ENDWHILE;

3、请使用流程图、N-S图和PAD图描述下列程序的算法:在数据A(1)~A(10)中求最大数和次大数。4.某程序的功能是输入代表三角形三条边长的三个整数,判断它们能否组成三角形,若能则输出等边、等腰或任意三角形的类型标记。请分别用黑盒法与白盒法对该程序设计测试用例。

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。 第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程复习题

一、单选题 1.软件结构图的形态特征能反映程序重用率的是() a)A、深度 B、宽度C、扇入 D、扇出 2.在大型数据处理系统的功能分析和设计中,数据库的概念设计对应于系统开发的( ) a)A、需求分析 B、概要设计C、详细设计 D、程序设计 3.为了提高模块的独立性,模块内部最好是() a)A、逻辑内聚 B、时间内聚C、功能内聚 D、通信内聚 4.需求分析最终结果是产生() a)A、项目开发计划 B、需求规格说明书C、设计说明书D、可行行分析报告 5.软件是一种() a)A、程序 B、数据C、逻辑产品 D、物理产品 6.信息隐蔽概念与()概念有直接的关系 a)A、模块的独立性 B、模块类型的划分C、软件结构定义 D、软件生命周期 7.不属于序言性注释的有() a)A、模块设计者B、修改日期C、程序的整体说明D、语句功能 8.单元测试阶段主要涉及()的文档。 a)A、需求设计 B、编码和详细设计C、详细设计D、概要设计 9.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。( ) a)A、应用范围B、内部逻辑C、功能 D、输入数据 10.需求分析是系统分析师经了解用户的需求,认真仔细的调研、分析,最终建立目标系统 的逻辑模型并写出() a)A、模块说明书B、软件规格说明书C、项目开发计划 D、合同文档 11.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( ) a)A、系统软件B、容错软件C、测试软件 D、操作系统 12.产品管理包括版本管理和() a)A、质量管理 B、性能管理C、开发过程管理 D、配置管理 13.ISO9001质量管理体系认证等同于能力成熟度模型中的第几级() a)A、CMM1 B、CMM2 C、CMM3 D、CMM4 E、CMM5 14.ISO9001质量管理体系认证只做到() a)A、历史记录可查询B、错误原因可查询 15.为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。 a)A、数据B、软件学C、运筹学D、工程学 16.可行性研究的目标是() a)A、开发项目B、项目是否值得开发C、规划项目 D、维护项目 17.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成A、 选择 B、单入口C、单出口D、有规则的GOTO 18.纠错是由()完成的

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件工程复习题及答案完整

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统

软件工程习题及参考答案

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

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

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

一、选择题 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.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若 干(B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程复习题课后答案

1、假设你负责为一个数字电话制造商开发一个原料控制系统,开发预算是430000美元。按软件工程的推算,每个周期的开发成本,维护费用该如何。 答: 因为开发阶段的花费约占整个生命周期的 33%,所以开发该软件的总开销约为 430000/33%=1300000美元。维护阶段开销 约占整个生命周期的67%,则维护阶段的 投入为1300000*67%=871000美元。 2、描述使用瀑布生命周期模型时的内在风险。 瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量; 2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险; 3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。 4)各个软件生命周期衔接花费时间较长,团队人员交流成本大。 5)瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。 3、简述RUP的核心工程工作流。 (1)商业建模(Business Modeling) 商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。 (2)需求(Requirements)

需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。 (3)分析和设计(Analysis & Design) 分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。 (4)实现工作流: 建立代码的分层结构,实现类和对象,进行单元测试和系统集成。(5)测试(Test) 测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现, 识别并确认缺陷在软件部署之前被提出并处理。 (6)配置工作流:在目的是成功的生成版本并将软件分发给最终用户,实际使用中主要包括:软件打包、生成软件本身以外的产品、安装软件、培训最终用户及销售人员。 4、使用RUP过程开发软件系统,软件的生命周期分为哪几个阶段。 (1)初始阶段 初始阶段也称为初始的目标,是“获得项目的基础”。初始阶段的主要人员是项目经理和系统设计师,任务包括对系统的可行性分析,创建基本需求,界定系统范围;识别软件系统的关键任务。初始阶段的焦点是需求和分析工作流。 (2)细化阶段 细化阶段的主要目标是创建可执行构件基线;细化风险评估;定义质量属性;捕获大部分的系统功能需求用例;为构造阶段创建详细计划。 细化阶段的焦点是需求、分析和设计工作流。 (3)构造阶段 构建阶段完成了所有需求、分析、设计和实现,所有的功能被详细测试,细化阶段的工作产品将演化为最终系统,构造的主要问题是维护系统框架的完整性。 构建阶段的焦点是实现工作流。 (4)交付阶段 交付是将完整的系统部署到用户所处的环境,交付阶段的重点是完成系统部署确保软件可用。交付阶段的焦点是实现和测试工作流。 5、使用RUP过程中交付阶段的主要目标是什么。 交付阶段的主要目标是确保软件完全满足用户需求。 1.进行Beta测试以确保满足用户的期望; 2.培训用户和维护人员来达到用户的自我依赖; 3.准备交付环境并转换数据库系统; 4.包装准备投放市场的产品;进行宣传并演示系统;交付销售力量;进行人员培训; 5.通过得到的经验改进未来的项目。 6、用例驱动、以构架为中心、采用迭代和增量模型是统一软件过程中三个核心概念。对CMM 等级 (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。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

相关文档