文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习题库带答案完整版

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

一、选择题

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.工作流

&功能性注释嵌入在源程序内部,它是用来说明(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•变换、数据存储、加工和数据流

13、软件工程管理是对软件项目的开发管理。具体地说,就是对整个软件(A)的一切活动进行管理。

A.生存期B开发

C.制定计划D项目

14、在面向数据流的软件设计方法中,一般将信息流分为(A)。

A.变换流和事务流

B.变换流和控制流

C.事务流和控制流

D.数据流和控制流

15、在软件工程项目中,不随参与人数的增加而使软件生产率增加的主要原因是(D)。

A、工作阶段间的等待时间B生产原型的复杂性

C、参与人员所需的工作站数以参与人员之间的通信困难

16、下面(B)不是软件的特征。

A系统性与复制性B有形性与可控性C抽象性与智能性D依附性与泛域性

17、下列关于面向对象分析与设计说法错误的是(C)。

A.面向对象的设计以面向对象分析为基础归纳出类

B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象

C.面向对象的设计是面向对象分析的另一种思维方式

D.面向对象的设计是面向对象分析进一步的细化和更高的抽象

18、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。

A.经济可行性

B.技术可行性

C.操作可行性

D.法律可行性

19、下述任务中,不属于软件工程需求分析阶段的是(D)。

A.分析软件系统的数据要求

B.确定软件系统的功能需求

C.确定软件系统的性能要求

D.确定软件系统的运行平台

20、在面向对象方法中,信息隐蔽是通过对象的(C)来实现的。

A分类性B继承性C封装性D共享性

21、采用面向对象方法开发软件的过程中,抽取和整理用户需求并建立问题域精确模型的过程叫(D)。

A.面向对象测试B面向对象实现

C.面向对象设计

D.面向对象分析

22、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成(B)等步骤。

A.软件计划、需求分析、系统定义

B.系统定义、软件计划、需求分析

C.需求分析、概要设计、软件计划

D.软件计划、需求分析、概要设计

23、一个项目为了修正一个错误而进行了变更,但这个错误被修正后,却引起以前可以正确运行的代码出错。(C)测试最有可能发现这个问题。

A.单元测试

B.接受测试

C.回归测试

D.安装测试

24、从工程管理的角度来看,软件设计分(A)两步完成。

A)概要设计与详细设计

B)数据设计与接口设计

C)软件结构设计与数据设计

D)过程设计与数据设计

25、某系统重用了第三方组件(但无法获得其源代码),则应采用(D)对组件进行测试。

A.基本路径覆盖

B.分支覆盖

C.环路覆盖

D.黑盒测试

26、在软件设计与编码过程中,采取(C)的做法将使软件更容易理解和维护。

A.良好的程序结构,有无文档均可

B.使用标准或规定之外的语句

C.编写详细正确的文档,采用良好的程序结构

D.尽量减少程序中的注释

27、软件维护成本在软件成本中占较大比重,为降低维护的难度,可采取的措施有(D)。

A.设计并实现没有错误的软件

B.限制可修改的范围

C.增加维护人员数量

D.在开发过程中就采取有利于维护的措施并加强维护管理

28、(A)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

A.结构化开发方法

B.Jackson系统开发方法

C.Booch方法

D.UML统一建模语言)

29、在人机界面的设计过程中应该考虑下列()情况。

30、测试用例是测试使用的文档化细则,应包括下列(B)内容的详细信息。

①测试目标和被测功能。

②测试环境和其他条件。

③测试数据和测试步骤。

④测试记录和测试结果。

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

31、(螺旋)模型适合于大型软件的开发,它吸收了软件工程“演化”的概念,使得开发人员和用户对每个周期出现的风险有所了解,从而做出相应的反应。

32、软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。

A.应用范围B内部逻辑C功能D输入数据

33、可行性分析要进行的需求分析和设计应是(C)。

A.详细的B全面的C简化、压缩的D彻底的

34、下面关于面向对象分析与面向对象设计的说法,不正确的是(D)。

A.面向对象分析侧重于理解问题

B.面向对象设计侧重于理解解决方案

C.面向对象分析描述软件要做什么

D.面向对象设计一般不关注技术和实现层而的细节

35、软件设计时需要遵循抽象、模块化、信息隐蔽和模块独立原则。在划分软件系统模块时,应尽量做到(B)。

A.高内聚高耦合

B.高内聚低耦合

C.低内聚高耦合

D.低内聚低耦合

36、软件工程每一个阶段结束前,应该着重对可维护性进行复审,在系统设计阶段的复审期间,应该从(B)出发,评价软件的结构和过程。

A.指出可移植性问题以及可能影响软件维护的系统界面

B.容易修改、模块化和功能独立的目的

C.强调编码风格和内部说明文档

D.可测试性

37、软件的集成测试工作最好由(D)人员承担,以提高集成测试的效果。

A.该软件的设计人员B亥软件开发组的负责人

C.该软件的编程人员D不属于该软件开发组的软件设计人员

38、程序的三种基本控制结构是(B)。

A.过程,子程序,分程序B顺序,条件,循环

C.递归,堆栈,队列调用,返回,转移

39、(C)是决定软件维护成败和质量好坏的关键。

A修改程序B建立目标程序C分析和理解程序D重新验证程序

40、数据库设计时的概念数据模型一般用(B)图表示。

A.PAD

B.E-R

C.E-P

D.HIPO

41、若有一个计算类型的程序,它的输入量只有一个,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)。

A.逻辑覆盖B等价类划分C边界值分析D.错误推测

42、在结构化分析方法(SA)中,(C)与数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。

A模块图BE-R图C数据字典D程序流程图

43、面向对象的分析方法主要是建立三类模型,即(D)。

A.系统模型、ER模型、应用模型

B.对象模型、动态模型、应用模型

C.E-R模型、对象模型、功能模型

D.对象模型、动态模型、功能模型

44、成功的测试是指运行测试用例后(B)。

A未发现程序错误B发现了程序错误C证明程序正确D改正了程序错误

45、面向数据流的设计方法把(A)映身成软件结构。

A.数据流图

B.系统结构图

C.控制结构图

D.变换流图

46、软件危机是指(软件开发和维护过程中遇到的一系列严重问题)。

47、检查软件产品是否符合需求定义的过程称为(A)。

A确认测试B集成测试C验证测试D验收测试

48、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。

A.一般与具体B整体与部分C分类D.isa

49、详细设计的基本任务是确定每个模块的(A)设计

A.算法和使用的数据结构

B.外部接口C功能D编程

50、软件产品的生产主要是脑力劳动,软件产品的成本主要体现在软件的(C)上。

A.复制B开发方式C开发和研制D磨损和消耗

51、以下(D)不属于系统设计。

A总体设计B详细设计C过程设计D需求设计

52、需求规格说明书的作用不应该包括(D)。

A.软件设计的依据

B.用户与开发人员对软件要做什么的共同理解

C.软件验收的依据

D.软件可行性研究的依据

53、软件质量必须从需求分析开始,在(D)加以保证。

A开发之前B开发之后C可行性研究过程D整个开发过程

54、软件简略定义是(一系列按照特定顺序组织的计算机数据和指令的集合)。

55、SA方法的基本思想是(C)。

A•自底向上逐步抽象B•自底向上逐步分解

C.自顶向下逐步分解

D.自顶向下逐步抽象

56、软件工程是一门(指导计算机软件开发和维护的工程(交叉性))学科。

57、等价分类法的关键是(C)。

A.确定等价类的边界条件

B.按照用例来确定等价类

C.划分等价类

D.确定系统中相同和不同的部分

二、填空题

1.可行性研究_的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

2.采用UML讲行软件设计时,可用__泛化一关系来表示两类事物之间存在的特殊/一般关系,用—聚集关系来

表示事物之间存在的整体/部分关系。

3.继承与_多态_机制,是面向对象程序中实现重用的主要手段。

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

5.对象之间通过消息进行通信。

6.在面向对象的软件中,是对具有相同数据和相同操作的一组相似对象的定义;实例是由某个特定的类所

描述的一个具体对象。

7•需求分析阶段产生的最重要的文档是需求规格说明书。

8.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。

9.软件开发过程来自用户方面的干扰和阻力主要有:不积极配合,求快求全和功能变化。

10.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档,其中可行性研究报告属于开发文

档。

11.可行性研究实质上是要进行一次简化、压缩了的需求分析、设计过程,是在较高层次上以较抽象的方式进行需

求分析和设计过程。

12.一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用血来表述“谁做”。

13.在面向对象的软件中,类是对具有相同数据和相同操作的一组相似对象的定义;」是由某个特定的类所描述的

一个具体对象。

14•软件结构是以^模为基础而组成的一种控制层次结构。

15.软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优

化级。

16.关联是建立类之间关系的一种手段,而链则是建立_对象之间关系的一种手段。

17.软件测试方法中的计算机辅助静态分析属于静态测试方法。

18.继承与多态机制是面向对象程序中实现重用的主要手段。

19.系统详细设计阶段最后产生的文档是详细设计说明书。

20.DFD利用图形符号表示系统中的各个元素,表达了系统中各种元素之间的信息流动。

21.在设计阶段,要充分体现软件工程的“模块化”、“抽象”、“信息隐蔽”等基本原则。

22.在面向对象分析和00D中,通常将对象的操作称为方法或服务。

23.单元测试一般以_白盒法为主,测试的依据是系统的模块功能规格说明。

24•当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是数据耦合。

25.软件测试用例主要由输入数据和预期输出结果两部分组成。

26.为适应软硬件环境变化而修改软件的过程是适应性维护。

27.提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构和算法,而不是靠编程时对程序语句做调

整。

三、名词解释

1.数据字典:描述数据流图的数据存储、数据加工(最底层加工)和数据流。

2.模块独立性:指每个模块只完成系统要求的独立的子功能(即:功能单一),并且与其他模块的联系最少且接口简单(比如:只有一个接口)。

3.软件复用:将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。4.内聚:一个模块内部各成分之间相关联程度的度量

5.测试用例:为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求

6.软件生存周期模型:描述软件开发过程中各种活动如何执行的模型

7.信息隐蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理

8.McCabe度量法:由ThomasMcCabe提出的一种基于程序控制流的复杂性度量方法

9.动态模型:用于描述系统的过程和行为

10.软件维护:在软件运行或维护阶段对软件产品所进行的修改

11.CMM:软件过程能力成熟度模型12.软件调试:软件测试成功后,根据错误迹象确定错误的原因和准确位置,并加以改正。13.耦合:块间联系,软件系统结构中各模块间相互联系紧密程度的一种度量14.配置管理:一种标识、组织和控制修改的技术,应用于整个软件工程过程15.软件项目计划:一个软件项目进入系统实施的启动阶段

四、简答题

1.软件工程的两大范型分别是什么?它们有什么不同?分别是传统的结构化范型和面向对象范型。结构化范型要么面向行为要么面向数据,但没有既面向数据又面向行为的;而面向对象范型把数据和行为看成同等重要,即将对象视作一个融合了数据及在其上操作的行为的统一的软件组件。面向对象相对于结构化技术,无论对象的内部细节如何变化,只要对象提供的方法即接口保持不变,则整个软件产品的其他部分就不会受到影响,不需要了解对象内部的变化。

2.如何画分层数据流图?第一步,画子系统的输入输出:把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图。这张图称为顶层图。

第二步,画子系统的内部:把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。

3.面向对象程序设计有哪些优点?

1)易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

2)质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。

3)效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。

4)易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展而且成本较低。

4.在软件测试中,应注意哪些原则?

1)认真执行测试计划

2)“尽早和不断地进行软件测试/评审”

3)优选测试工具、技术和方法

4)精心设计测试用例

5)交叉进行软件检测

6)重点测试群集现象

7)全面检查并分析测试结果

8)妥善保管测试文档

5.为了具有良好的程序设计风格,应注意哪些方面的问题?程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。

6.面向对象分析与面向对象设计的关系?面向对象分析与面向对象设计的任务相同,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。7.成本-效益分析的目的是什么?可用哪些指标进行度量?成本/效益分析的目的是从经济角度论证开发一个特定的新系统开发是否划算,是决定是否投资开发新系统的依据。

(1)货币的时间价值:货币的价值本身随时间的增加而产生增值

(2)投资回收期:累计的经济效益等于最初的投资所需的时间。

(3)纯收入:在整个生存周期内系统的累计经济效益(折合现在的钱)与投资之差。

(4)投资回收率投资的年利率

8.软件设计分哪几个阶段,它们的主要任务是什么?软件设计可以分为概要设计和详细设计两个阶段。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。

9.用户需求和系统需求各有什么特点?用户需求是从用户角度来描述系统功能和非功能需求,以便让不具备专业技术方面知识的用户能看懂。用户需求是描述系统的外部行为,用自然语言、图表和直观的图形来叙述。系统需求是比用户需求更详细的需求描述,是系统实现的基本依据,因此,是一个完全的、一致的系统描述,是软件工程人员系统设计的起点。

系统需求描述可能包括许多不同的模型,如对象模型和数据流模型。

10.面向对象设计的准则?

1)模块化

2)抽象

3)信息隐藏

4)弱耦合

5)强内聚

6)可重用

11需求分析过程主要有哪几个步骤?

需求分析过程主要有沟通、导出需求、分析与精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理等步骤。

12.软件设计分哪几个阶段,它们的主要任务是什么?总体设计——概要设计、软件结构设计、高层设计,仔细地

分析需求规格说明,研究开发产品的模块划分。详细设计——(模块)过程设计、低层设计,为结构设计中的各个模块设计过程细节,确定模块所需的算法和数据结构等。

设计测试——测试和复审,确保设计的正确和优化。

13.什么是软件结构图?它有哪些主要元素?软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。主要元素有:

14.面向对象方法的特点是什么?为什么要用面向对象方法开发软件?面向对象方法的特点是:方法的唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到的。从生存期的一个阶段到下一个阶段的高度连续性,即生存期后一阶段的成果只是在前一阶段成果的补充和修改。

把面向对象分析(00A)、面向对象设计(00D)和面向对象程序设计(OOP)集成到生存期的相应阶段。使用面向对象方法开发软件的好处是:开发方法的唯一性,开发阶段的高度连续性,表示方式的一致性;问题空间实体的自然表示,减轻了设计者的负担,在设计系统之初不必考虑一个很完整的解决方案。建立稳定的系统结构,可促进复用性,易于维护,易于修改,可合理利用共同性,减少复杂性。15.什么是编码风格?请根据自己的编程经验编写一个编程注意事项。是指一个人编制程序时所表现出来的特点、习惯和逻辑思路等。注意事项:源程序文档化、数据说明、语句构造、输入输出、追求效率等。

1)源程序文档化

(1)标识符应按意取名。

(2)程序应加注释。

2)数据说明原则

(1)数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。例如按以下顺序常量寿命、类型说明、全程量说明、局部量说明。

(2)一个语句说明多个变量时,各变量名按字典序排列。

(3)对于复杂的数据结构,要加注释,说明在程序实现时的特点。

3)语句构造原则:简单直接,不能为了追求效率而使代码复杂化

4)输入输出原则

(1)输入操作步骤和输入格式尽量简单。

(2)应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。

(3)输入一批数据时,使用数据或文件结束标志,而不要用计数来控制。

(4)交互式输入时,提供可用的选择和边界值。

(5)当程序设计语言有严格的格式要求时,应保持输入格式的一致性。(6)输出数据表格化、图形化。

5)追求效率原则

(1)效率是一个性能要求,目标在需求分析给出。

(2)追求效率建立在不损害程序可读性或可靠性基础上,要先使程序正确,再提高程序效率,先使程序清晰,再提高程序效率。 £3 主国 子su I 却块 f6 把£2吏换成馬 T T

V=2*5in(K)-i 五、应用题 4.下面是某程序的流程图: (1) 先画出流图,再计算它的环路复杂性。 (2) 为了完成基本路径测试,求它的一组独立的路径 1. 画XXX 系统的状态图。 2. McCabe 度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数根据给出的程序流程图,画出它的程序图,并计算它的McCabe 复杂性度量。 3请将下面的DFD 转换为软件结构图(注:图中令表示“或者”)。(作业上有) A2

(1)环路复杂性=判断数+1=3+1=4(个)

流图:

(2)独立路径:

1:a->b2:a->c->d

3:a->c->e->f

4:a->c->e->g->h5.建立微机的对象模型。(作业上有)

6.画出银行取款过程的DFD图。

问题描述:储户用存折取款首先填写取款的,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登陆“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。

(以下是另外发现的题,Web版式视图中找到,不知道是不是考试题目)

二、填空题(每空2分,共20分)

21.—个模块把数值作为参数传送给另一个模块的耦合方式称为。

22•成本效益分析的目的是从角度评价开发一个软件项目是否可行。

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

24.在单元测试时,需要为被测模块设计驱动模块和桩模块。的作用是返回被测模块所需的信息。

25.是引起系统状态转换的控制信息。

26.继承与机制,是面向对象程序中实现重用的主要手段。

27.对象具有状态,一个对象用来描述它的状态。

28•为协调软件开发使得混乱减到最小,使用技术,使变更所产生的错误达到最小并最有效地提高生产率。

29•软件开发环境是相关的一组集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。

30.关联是建立类之间关系的一种手段,而链则是建立之间关系的一种手段。

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

31•数据字典

32•模块独立性

33•软件生存周期模型

34.CMM

35.动态模型

四、简答题(每题5分,共20分)

36.软件生命期各阶段的任务是什么?

答:软件生命期分为7个阶段:

1、问题定义:要解决的问题是什么

2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:系统必须做什么

4、总体设计:系统如何实现,包括系统设计和结构设计

5、详细设计:具体实现设计的系统

6、实现:编码和测试

7、运行维护:保证软件正常运行。

37.非渐增式测试与渐增式测试有什么区别?

㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。

㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。

㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。

㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。

㈤渐增式比较彻底,已测试的模块和新的模块再测试。

㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。

(七)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。

38.面向对象程序设计有哪些优点?

39.模块间的耦合性有哪几种?

(耦合度由高到低)

(1)内容耦合(2)公共耦合(3)外部耦合

(4)控制耦合(5)标记耦合(6)数据耦合

(7)非直接耦合

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A~C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案 1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是 A.系统建模 B.软件开发 C.问题求解 D.验证确认 3.结构化分析方法给出了一种能表达功能模型的工具是()。 A.HIP0图 B.PAD图 C.N-S图 D.DFD图 7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类 10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。 A.继承 B.多态 C.消息 D.封装 11.分层DFD中父子平衡是指()。 A.父加工的数据流数目与子图中数据流数目相同 B.父图应包含子图中的全部数据流 C.子图应包含父图中的全部数据流 D.父加工和子图的输入数据和输出数据应分别保持一致 2.在建模过程中,可用以描述加工的工具是()。 A.数据流 B.判定树 C.数据字典 D.数据存储 13.以下软件生存周期的活动中,要进行软件结构设计的是()。 A.测试用例设计 B.概要设计C.程序设计 D.详细设计 16.CMMI 成熟度等级中的第四级为()。 A.已定义级 B.已定量管理级 C.持续优化级 D.已重复 17.以下选项中,最适合于用交互式计算机软件解决的问题是()。 A.非结构化决策问题 B.半结构化决策问题 C.结构化决策问题 D.确定性问题 18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。不是系统测试的内容()。 A.路径测试 B.可靠性测试 C.安装测试 D.安全测试 19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。 A.Gantt图B.PERT网图 C.因果分析图 D.流程图 20.选择软件开发工具时,应考虑功能、( )、稳健性、硬件要求和性能、服务和支持。

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将 正确答案填涂在答题卡上) 1.软件质量因素不包括。 A.正确性 B.高性能 C.可测试性 D.可理解性 2.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 3.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 4.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 5.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 6.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 8.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 9.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 10.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 11.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 12.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

软件工程期末考试总复习题及答案

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量使用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_成功地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所需要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.如果一个模块被n 个模块调用,其中直接的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按一定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预测和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权延续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面向对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变化而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行 累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求开始直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面向对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,需要为被测模块设计___测试用例_______。名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软

软件工程复习题(带答案)

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程试题及答案

软件工程试题及答案 第一篇:软件工程试题及答案 1、瀑布模型把软件生命周期划分为8个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(运行阶段)。 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。 3、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。 4、软件工程的出现主要是由于(软件危机的出现)。 5软件工程方法学的目的:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发的环境。 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。 7、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。 10、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。 11、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。喷泉模型描述了(面向对象)的开发模型,它体现

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案 一. 选择题 1. 下列不属于软件工程方法论的是: A. 瀑布模型 B. 敏捷开发 C. 融合开发 D. 增量开发 答案:C. 融合开发 2. 哪个不是软件需求工程的阶段? A. 需求收集和分析 B. 需求规格说明书编写 C. 需求确认和验证 D. 需求修复和更新 答案:D. 需求修复和更新 3. 软件开发生命周期中不包含以下哪个阶段? A. 需求分析

B. 软件设计 C. 软件测试 D. 软件维护 答案:C. 软件测试 4. 下列哪个是软件开发项目管理的基本约束? A. 时间 B. 人员 C. 质量 D. 成本 答案:D. 成本 5. 使用UML建模时,哪个图标不属于结构图? A. 类图 B. 对象图 C. 时序图 D. 包图 答案:C. 时序图 二. 填空题

1. 软件工程的目标是提高软件的质量和________。 答案:生产效率 2. 软件需求可以分为________和________两类。 答案:功能需求,非功能需求 3. 软件设计的核心目标是________。 答案:满足需求 4. 软件测试的目的是发现________。 答案:缺陷和错误 5. 软件维护分为________和________两个主要类别。 答案:正确性维护,适应性维护 三. 简答题 1. 请简要介绍敏捷开发方法。 答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。 2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

软件工程-期末考试题(含答案)

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案) 1. 题目一:软件需求工程 软件需求工程是软件开发的重要环节之一,主要包括需求获取、需 求分析、需求规格、需求验证等阶段。在软件开发的整个过程中,需 求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软 件的质量和可靠性。 1.1 需求获取 需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调 研和收集。需求获取的方法可以包括面谈、问卷调查、观察等。通过 与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。 1.2 需求分析 需求分析是对收集到的需求进行认真分析和理解的过程。在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。通过对 需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化 为可执行的任务。 1.3 需求规格 需求规格是将需求分析的结果进行详细描述和规范化的过程。在这 个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便

于开发人员进行后续的开发工作。需求规格书通常包括用例图、类图、时序图等各种工具和技术。 1.4 需求验证 需求验证是对需求的正确性和完整性进行验证的过程。在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期 望和需求。需求验证也可通过模拟测试、原型验证等方式进行。 2. 题目二:软件设计原则 软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。下面介绍几个常用的软件设计 原则。 2.1 单一职责原则 单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。 这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护 和扩展。 2.2 开放封闭原则 开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对 扩展开放,对修改封闭。这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。 2.3 里氏替换原则

软件工程复习题及参考答案

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 是软件开发方法是系统描述语言 是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 +1 7.按ISO9000-3的说明,下列属软件配置项的是 A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8.软件测试的目的是 A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 A.软件体系结构 B.模块细节 C.软件性能 10.软件项目开发计划的内容有 A.数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的是 A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 A.软件过程能力 B.组织能力 C.学习能力 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 A.完善性维护 B.改正性维护 C.适应性维护 14.对项目软件而言,软件功能需求信息主要由谁提供 A.软件用户 B.软件开发人员 C.软件项目管理人员 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型模型 C.原型模型 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计 27.下列属面向对象软件开发方法的是

《软件工程》题库及参考答案

《软件工程》练习测试题库 一、单项选择题 1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 () A.软件工程 B.软件周期 C.软件危机 D.软件产生 2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.IDEF0图不反映出系统() A.系统做什么 B.系统功能如何实现 C.系统由谁来做 D.系统实现的约束条件 4.模块的内聚性最高的是() A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.在SD方法中全面指导模块划分的最重要的原则是() A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 6.软件详细设计主要采用的方法是() A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 7.下列关于JSP方法不正确的说法是() A.JSP方法主要用于规模不大的数据处理系统 B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解 D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段 8.不适合作为科学工程计算的语言是() A. Pascal B. C C. Fortran D. Prolog 9.黑盒测试在设计测试用例时,主要需要研究() A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0], 现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是() A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 11.下列属于维护阶段的文档是() A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程考试答案-复习题

一、选择填空 1.软件工程三要素是( B )。 A) 技术、方法和工具 B) 方法、工具和过程 C) 方法、对象和类 D) 过程、模型、方法 2.下列关于瀑布模型的描述正确的是( D )。 A)利用瀑布模型,如果发现问题修改的代价很低 B)瀑布模型的核心是按照软件开发的时间顺序将问题简化 C)瀑布模型具有良好的灵活性 D)瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开 3.以下说法正确的是( B )。 A.对于软件项目,投资回收期越长,越快获得利润。 B.用例模型的基本组成部件是用例、角色和用例之间的联系。 C.模块接口简单是软件发生错误的一个主要原因。 D.软件的质量保证工作一般在编码工作结束后才开始。 4.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 5.可行性研究的步骤中不包括(D )的内容。 A.复查初步分析结果 B.研究现有的系统 C.导出新系统高层逻辑模型 D.建立新系统的物理模型解法。 6.技术可行性是可行性研究的关键,其主要内容一般不包括( C )。 A.风险分析 B.资源分析 C.人员分析 D.技术分析 7.需求分析最终结果是产生( B ) A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 8.需求分析的任务不包括( B )。 A.问题分析 B.系统设计 C.需求描述 D.需求评审。 9.需求分析中开发人员要从用户那里了解( A ) A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 10.数据字典是数据流图中所有元素的定义的集合,一般由( C )组成。 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. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD (Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或者流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件工程题库(含答案)

软件工程题库 初级 一、填空题 1、在Word中,必须在视图方式或打印预览中才会显示出用户设定的页眉和页脚。 2、在Word中,只有在视图下可以显示水平标尺和垂直标尺。 3、在Excel 中,一个工作簿至多可由张工作表构成。 4、Excel中,已输入的数据清单含有字段:学号、姓名和成绩,若希望只显示成绩处于前5名的学生信息,可以使用()功能。 5、计算机的是指计算机主板上的各个总线的工作频率,计算机的是指计算机中的中央处理器(CPU)工作频率。 二、单选题(每题只有一个正确答案,多选或不选均不能得分) 1、硬盘工作时应特别注意避免() A.噪声 B.震动 C.潮湿 D.日光 2、在Word中,当多个文档打开时,关于保存这些文档的说法中正确的是() A.只能保存活动文档 B.用“文件”菜单的“保存”命令,可以重命名保存所有文档 C.用“文件”菜单的“保存”命令,可一次性保存所有打开的文档 D.用“文件”菜单的“全部保存”命令保存所有打开的文档 3、微型计算机中,I/O设备的含义是() A.输入设备 B.输出设备 C.输入输出设备 D.控制设备 4、关于“开始”菜单,说法正确的是()

A.“开始”菜单的内容是固定不变的 B.可以在“开始”菜单的“程序”中添加应用程序,但不可以在“程序”中添加 C.“开始”菜单和“程序”里面都可以添加应用程序 D.以上说法都不正确 5、下列操作中,不能在Excel工作表的选定单元格中输入公式的是() A.单击工具栏中的“粘贴函数”按钮 B.单击“插入”菜单中的“函数”命令 C.单击“编辑”菜单中的“对象…”命令 D.单击“编辑公式”按钮,在从左端的函数列表中选择所需函数 6、内存储器是计算机系统中的记忆设备,它主要用于( )。 A.存放数据 B.存放程序 C.存放数据和程序 D.存放地址 7、在Word中,"窗口"下拉菜单底部所显示的文件名是( )。 A.已关闭文件的文件名 B.正在打印的文件名 C.扩展名为DOC的文件名 D.打开的所有文件的文件名 8、Windows的"桌面"指的是( )。 A.整个屏幕 B.全部窗口 C.某个窗口 D.活动窗口 9、在Word中查找和替换正文时,若操作错误则( )。 A.可用"撤销"来恢复 B.必须手工恢复 C.无可挽回 D.有时可恢复,有时就无可挽回 10、在EXCEL的打印页面中,增加页眉和页脚的操作是() A.执行[文件]菜单中的[页面设置],选择[页眉/页脚] B.执行[文件]菜单中的[页面设置],选择[页面] C.执行[插入]菜单中的[名称],选择[页眉/页脚]

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

一、选择 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、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件具体设计重要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 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、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不拟定的 18、可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()

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

一、选择题 1、白盒测试法是通过分析程序的〔C〕来设计测试用例的。 A.应用X围 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.输入、输出、外部实体和加工

相关文档
相关文档 最新文档