文档库 最新最全的文档下载
当前位置:文档库 › 软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)
软件工程试题及答案(较详细)

一.判断题:

1.如果决定将软件全部包给第三方公司开发。(×)

2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。(×)

3.对于一个成功的软件项目,可执行程序是唯一交付的东西。(×)

4.直到程序运行,才评估软件系统的质量。(×)

5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务。(×)

6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它。(×)

7.软件工程将导致我们产生大量的无用文档,降低工作效率。(×)

8.在面向对象建模中,主题划分提供了在更高一层上描述。(主题划分是指UML中将一组关联比较强的类的

集合。则上百个类可划分为几个主题)(√)

9.面向对象的开发,对象分解取代功能分解。(√)

10.软件中80%的错误存在20%的模块中。(√)

11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。

(×)

12.开发软件就是编程。(×)

13.需求规格说明书说明了(√)

14.结构化方法,建立系统模型时使用一般连接组织信息。(×)

15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。(√)

二.简答题

1.软件工程是层次化的,其四个层次是?

答:方法,工具,过程,质量保证

软件工程是一种层次化的技术(如图2-1所示)。任何工程方法(包括软件工程)必须以有组织的质量保证为基础。

全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。支持软件工程的根基就在于对质量的关注。

软件工程的基层是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。

软件工程的方法层提供了建造软件在技术上需要“如何做”。方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。软件工程方法依赖于一组基本原则,这些原则控制了每一个技术区域,且包含建模活动和其他描述技术。

软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信息可被另外一个工具使用时,一个支持软件开发的系统就建立了,称为计算机辅助软件工程(CASE)。CASE集成了软件、硬件和一个软件工程数据库(一个仓库,其中包含了关于分析、设计、编程和测试的重要信息),从而形成了一个软件工程环境,它类似于硬件的CAD/CAE(计算机辅助设计/工程)。

软件工程必须以有组织的质量保证为基础

软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

2.软件工程的框架是?

答:沟通,策划,建模,构建,部署

通用过程框架

通用过程框架可适用于绝大多数的软件项目,该框架由沟通、策划、建模、构造和部署5个通用框架活动组成。

(1) 沟通。这项框架活动包含系统分析员与客户之间大量的交流和协作,还包括需求获取以及其他相关活动。

(2) 策划。策划活动协助软件开发团队定义全局目标,并为后续的软件工程工作制定计划。策划活动包括一系列

管理和技术实践,如描述需要执行的技术任务、可能的风险、资源需求、工作产品和工作进度计划。

(3) 建模。建模的目的是为了更好地理解需要构建的实体。

在软件工程中,要创建两类模型:分析模型和设计模型。

分析模型通过描述软件的信息域、功能域及行为域来表达客户的需求;

设计模型描述软件架构、用户界面及构件细节,从而帮助开发者高效地开发软件。

(4) 构造。构造活动包括一系列构件组装、编码和测试任务,从而为向客户和最终用户交付可运行软件做好准备。

(5) 部署。部署活动是将软件(全部或者完成的部分)交付给用户,用户对其进行评测并给出反馈意见。

部署活动包括三个动作:交付、支持和反馈。

3.一个模块的三个基本要素有哪些?

答:功能,状态,逻辑(程序流程图描述逻辑的一个方法)

?功能:指模块实现什么功能(包括所调用的子模块的功能),做什么事情

?逻辑:描述模块内部怎么做

?状态:指该模块使用时的环境和条件

4.不同的对象收到同一个消息,产生不同的结果这种现象叫多态。

多态性含义

把相同的操作施加于不同类型的对象,获得不同的行为效果和结果。

在C++中,多态性是通过虚函数(Virtual)实现的。

动态联编(Dynamic binding),滞后联编。

5.模块的基本要素:功能,状态,逻辑

6.面向对象建模需要识别五个层次:

a.类与对象层

b.属性层

c.结构层(类与类之间的关系)

d.方法层

e.主题层(为多个类划分主题)

主题层:它相当于高层的模块或子系统

类与对象层:它们是对问题域概念的抽象,可以从用户需求或其它规格说明书中找到。

结构层:描述类之间的整体与部分、一般与特殊的关系。

属性层:它们是类所保存的信息,同时要给出各个类之间的实例连接。

服务层:它们是类可提供的操作,同时要根据需要的功能给出各个操作之间的消息连接。

软件测试的四个阶段:

a.单元测试

b.集成测试

c.确认测试

d.系统测试

单元测试(模块测试):目的是保证每个模块作为一个单元能正确运行。主要测试编码和详细设计阶段的错误。

子系统测试:把经过单元测试的模块放在一起形成子系统。注重模块接口。

系统测试(集成测试):测试由子系统组成的整个系统,不仅测试模块间的协调和通信能力。还要测试设计错误、需求说明中的功能错误。

验收测试:确认系统能够满足用户的需求,方法同系统测试,主要强调用户的参与(alpha测试),测试需求说明中的功能错误。

平行运行、beta测试

测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。

开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

?组装测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

?确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

?系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。

?单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。

?单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

?组装测试(集成测试、联合测试)

?通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:?在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失;

?一个模块的功能是否会对另一个模块的功能产生不利的影响;

?确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。

?对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。

?确认测试一般采用黑盒测试,其测试范围与系统测试略有不同,如弱化一些技术性的测试,强化用户所关心的功能和性能测试等。

确认测试一般包括

?有效性测试(强调由专家进行)

?软件配置复查

?α测试和β测试

?验收测试(强调由用户进行)

–功能测试

–性能测试(响应时间、处理速度、容量开销等)

–强度测试(对强负荷的承受能力)

–对文档配置的复审

?系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

?系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。

将软件周期化为8个阶段(瀑布模型):

a.可行性研究

b.需求分析

c.概要测试

d.详细测试

e.编码

f.测试

g.维护h.问题定义

正确的顺序为:h a b c d e f g

P 12-14页书上。

7.对于一个流图(程序流程图退化为流图),它的基本路径的独立之路的上限是V(G)。(V(G):强连通图

中线性无关的环的个数)

P157页书上

8.自上往下集成测试:不需要编写驱动程序;自下往上集成测试:不需要编写桩程序

P147-148书上。

9.单元测试针对模块哪些方面?

接口信息,主要功能,边界,错误处理,主要路径。P143页

10.题目:比较经典的软件工程开发过程模型(是对这三个模型化比较分析)——瀑布模型、原型模型、螺旋

模型。

瀑布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密联系。一个阶段的失误将蔓延到以后的各个阶段。为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。

瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。

瀑布模型的使用范围:(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(2)开发人员对软件的应用领域很熟悉;(3)用户的使用环境非常稳定;(4)开发工作对用户参与的要求很低。

原型模型又称演化模型,主要是针对事先不能完整定义需求的软件项目开发而言的。许多软件开发项目由于人们对软件需求的认识模糊,很难一次开发成功,返工再开发难以避免。因此,人们对需开发的软件给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软件的最终设计和实现。通常我们把第一次实验性开发出的软件称为原型(prototype)。这种开发模型可以减少由于需求不明给开发工作带来的风险,有较好的效果。相对瀑布模型来说,原型模型更符合人类认识真理的过程和思维,是目前较流行的一种实用的软件开发方法。

原型模型的优点:(1)开发人员和用户在“原型”上达成一致。这样一来,可以减少设计中的错误和开发中的风险,也减少了对用户培训的时间,而提高了系统的实用、正确性以及用户的满意程度。(2)缩短了开发周期,加快了工程进度。(3)降低成本。

快速原型模型的缺点:(1)客户与开发者对原型理解不同;(2)准确的原型设计比较困难;(3)不利于开发人员的创新。

快速原型模型的使用范围:(1)对所开发的领域比较熟悉而且有快速的原型开发工具;(2)项目招投标时,可以以原型模型作为软件的开发模型;(3)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。

螺旋模型是瀑布模型与原型模型相结合,并增加两者所忽略的风险分析而产生的一种模型,该模型通常用来指导大型软件项目的开发,它将开发划分为制定计划、风险计划、实施开发和客户评估四类活动。沿着螺旋线每转一圈,表示开发出一个更完善的新的软件版本。如果开发风险过大,开发机构和客户无法接受,项目有可能就此中止;多数情况下,会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品。

螺旋模型的优点:1)设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大型系统,使成本计算变得简单容易。3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。4)随着项目推进,客户始终掌握项目的最新信息, 从而他或她能够和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

螺旋模型的缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。

螺旋模型的适用领域:1)适合于大型软件的开发。 2)对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。

11.计算机语言不断发展,提高了软件工程的开发效率,围绕计算机语言,分析计算机语言在软件工程的作用

以及软件工程的本质。

计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。

从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语

言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、JAVA等。

随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。

由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定

义类型,继承,多态等等。

结构化语言比非结构化语言更易于程序设计,用结构化语言编写的程序的清晰性使得它们更易于维护。这已是人们普遍接受的观点了。比如作为结构化语言的C语言主要结构成分是函数C的独立子程序。在C语言中,函数是一种构件(程序块),是完成程序功能的基本构件。函数允许一个程序的诸任务被分别定义和编码,使程序模块化。可以确信,一个好的函数不仅能正确工作且不会对程序的其它部分产生副作用。

面向对象语言是只一切操作都以对象为基础,它是由面向过程语言发展而来的,但正是它的这个特性使得面向对象语言对底层的操作不是很方便。例如:java语言。

面向过程语言是以过程或函数为基础的,这种语言对底层硬件,内存等操作比较方便,但是写代码和调试维护等会很麻烦。例如:c语言:从低级语言到高级语言发展。从非结构化语言――――结构化语言面向过程语言―――面向对象语言(各自的特点)

《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

软件工程的本质:从需求分析道最后的可执行代码有一个语言断层,我们的任务就是消除这个断层。本质特性:

软件工程关注于大型程序的构造;

软件工程的中心课题是控制复杂性;

——许多软件的复杂性主要不是由问题的内在复杂性造成的,而是由必须处理的大量细节造成的。

软件经常化;

开发软件的效率非常重要;

和谐地合作是开发软件的关键;

软件必须有效地支持它的用户;

在软件工程领域中是由一种文化背景的人替具有另一种文化背景的人创造产品。

12.题目:在需求分析建立模型统称为需求模型。

在设计阶段建立模型统称为设计模型。

从需求模型到设计模型的映射。(即需求模型中的模型在设计模型中对应什么位置)

答:(需求模型定义+分类(功能,对象,动态模型);设计模型定义+体系结构用什么模型+借口设计模型+构建级设计)

需求分析应该建立3种模型他们分别是数据模型、功能模型、行为模型。

实体-联系图,描述数据对象及数据对象之间的关系,是用于建立数据模型的图形。

数据流图:描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,因此数据流图是建立功能模型的基础。

状态转换图,指明了作为外部事件结果的系统行为。为此,状态转换图描绘了系统的各种行为模式和在不同状态间转换的方式状态转换图是行为建模的基础。

设计模型包括:体系结构设计、子系统的抽象描述(如包图)、接口设计、组件设计

数据结构设计、算法设计(体系结构设计、数据及类设计模型、接口设计、构件级设计(NS图))

体系结构设计的一般过程:系统结构化,将系统分解成一系列基本子系统(是一个独立的软件单元),并识别它们之间的通信。

控制建模,建立系统各部分之间控制关系的一般模型。

模块分解,将子系统进一步分解成模块,并确定模块之间的关联。

软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。

对象模型:描述系统的数据结构

表示方法:类图

动态模型:描述系统的控制结构

?作用:着重于系统的控制逻辑和时序关系。

?表示:由状态图和事件跟踪图、顺序图、协作图、活动图表示。

功能模型:描述系统的功能

?表示方法:数据流图,用例图

?作用1、从不同的角度对对象模型和行为模型的补充2、定义“处理”,强调系统应该“做什么”

活动图映射到构件级设计

从数据流图到软件结构图

类图映射到体系结构设计

?静态结构——对象模型——WHO

–其作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,以及它们之间的联系。

–对象模型包括类图

?交互次序——动态模型——WHEN

–其作用是描述系统的控制逻辑,主要涉及系统中各个类和对象的时序及变化情况。

?数据变换——功能模型——WHAT

–它着重于描述系统内部数据的传送与处理,它由多个数据流图组成。

软件工程试题(附答案)

软件工程试题(附答案)

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

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

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

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件工程试题及答案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带答案.doc

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

试题二、下面是程序流程图,试分别用N-S图和伪代码(类C语言描述)表示。(共20分) 答案: 我做的:do { if(!p) { g 真假 假 开始 结束 p >0 q 真

exit(); } g; } while(q); 我自己做的,可以不太对

Do { If(p为真) { 执行g If(g为真) { do nothing } Else if(g为假) { return } } Else if(p为假) { Return } }while(g为真) 试题三、(共20 分,每题10 分) 阅读下面的程序段,回答后面的问题: float calculateTotal( int N) //计算满足条件的N个数的和 { float count = 0.0; int i=1; while ( i<=N ) { if( i % 4 == 0) count += i; i++; } return count; } (1)画出上述程序的有向流图,并计算该函数的环形复杂度。(每问5分,共10分)(2)请用基本路径的测试技术完成该函数的测试。要求给出基本路径和测试用例。(每问5分,共10分) 答:这道题课本上没有知识点,从网上搜出来的,知识点见“测试基础”PPT的P30页 白盒测试代码分支图的环形复杂度计算: 环形复杂度以图论为基础,为我们提供了非常有用的软件度量。可用如下三种方法之一来计算环形复杂度:(1)控制流图中环形区域的数量对应于环形复杂度。(2)给定控制流图G的环形复杂度—V(G),定义为V(G) = E-N+2 其中,E是控制流图中边的数量,N是控制

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

软件工程考试题 简答题 1、什么叫软件? 软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合 2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因就是什么? 软件危机就是指在计算机软件开发与维护过程中所遇到的一系列严重问题。包括两点: (1)如何开发软件,以满足对软件日益增长的需求; (2)如何维护数量不断膨胀的已有软件。 软件开发与维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也与软件开发与维护的方法不正确有关。具体表现如下: (1)软件就是逻辑部件而不就是物理部件。 (2)软件的规模越来越大,复杂性越来越大。 (3)轻视需求分析的重要性,轻视软件维护的错误观点与方法。 3、什么叫软件工程? 1968年在第一届NATO会议上的早期定义: “建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。 1993年IEEE的定义: “①软件工程就是:把系统的、规范的、可度量的途径应用于软件开发、运行与维护过程,也就就是把工程应用于软件;②进而研究①实现的途径”。 我们国家最近定义:软件工程就是指导计算机软件开发与维护的工程学科。它采用工程的概念、原理、技术与方法来开发与维护软件,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来。 4、两种软件工程方法学开发软件时要建立哪些模型? 软件工程方法学包括:传统方法学与面向对象方法学。常用的开发模型有: 瀑布模型(需求稳定,而且可以预先指定) 原型模型(需求模糊或者随时间变化) 增量模型(分析员先作出需求分析与概要设计,用户参与逐步完善) 螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析) 喷泉模型(使开发过程具有迭代性与无间隙性) 5、软件过程模型有哪些?简述它们的特点。 过程模型分为五大类:1、管理过程模型。2、瀑布模型(又称为生命周期模型)。3、增量过程模型:包括增量模型,,RAD模型。4、烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。5、专用过程模型:包括机遇构建的开发模型,形式化方法模型,面向方面的软件开发模型。 6、什么就是软件生命周期? 一个软件从定义,开发,使用与维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长时期称为生命周期 7、软件生命周期有哪几个阶段与步骤? 三个阶段:定义、开发、维护 八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试;运行维护。 8、计算机软件的开发经过哪三个大阶段? 三个阶段:定义、开发、维护 9、软件开发的各阶段的任务就是什么? 定义阶段:问题定义--任务:关于规模与目标的报告书;可行性研究--任务:系统的高层逻辑模型:数据流图,成本/效益分析;需求分析--任务:系统的逻辑模型:数据流图,数据字典,算法描述。 开发阶段:总体设计--任务:系统流程图,成本/效益分析,推荐的系统结构:层次图/结构图;详细设计--任务:HIPO图或PDL 图;编码与单元测试--任务:源程序清单,单元测试方案与结果;综合测试--任务:综合测试方案,结果集成测试,验收测试,完整一致的软件配置。 维护阶段:软件维护--任务:维护记录以及改正性维护,适应性维护,完整性维护与预防性维护

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件工程试题及答案

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

一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1、软件工程强调将()的方法应用于软件的开发和维护过程之中。 A.规范化B.系统化C.可度量D.以上全部 2、软件开发活动的顺序应该是()。 A.问题定义、可行性研究、需求分析、设计、编码和测试。 B.问题定义、设计、可行性研究、编码和测试。 C.需求分析、设计、编码和测试。 D.需求分析、编码和测试、试运行。 3、假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为()元。A.5202 B.4500 C.5100 D.4712 4、系统物理模型用()表示。 A.系统流程图B.数据流程图 C.程序流程图D.E-R图 5、关于软件需求特性不正确的描述是“软件需求具有()”。 A.多变性B.模糊性C.准确性D.主观性 6、随着模块规模减小,模块开发成本_____,模块集成成本____()。 A.减小/减小B.减小/增加C.增加/减小D.增加/增加 7、反映模块独立性的指标是()。

A.模块的复杂性B.模块的大小 C.模块的参数D.内聚和耦合 8、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。 A.过程B.主体C.参数D.数据结构 9、UML是一种()。 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.从详细设计阶段开始

软件工程考试卷及答案

《软件工程导论》测试题(参考答案) (本试卷答卷时间为60分钟) 学号:_____________ 组别:姓名:___________________一、选择题:(每题2分,共20分) 1.瀑布模型的存在问题是(B) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 2.程序的三种基本控制结构是(B) A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 3.在详细设计阶段,经常采用的工具有(A) A.PAD B.SA C.SC D.DFD 4.详细设计的结果基本决定了最终程序的(C) A.代码的规模 B.运行速度 C.质量 D.可维护性5.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 6.需求分析阶段的任务是确定( D) A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 7. 在E-R模型中,包含以下基本成分( C )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 8.设函数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.信息隐藏和局部化的根据 9.面向数据流的设计方法把(D)映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 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. 测试错误提示信息不属于文档测试范围。( ×)

《软件工程》试题及参考答案(第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.软件系统的功能

软件工程考模拟试题 (2)

软件工程考模拟试题 一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1、下面的哪个选项不是软件工程的宗旨()。 A.开发满足用户需求的软件 B.研究算法 C.及时交付软件 D.生产无故障软件 2、针对需求不确定的软件开发,比较好的模型是()。 A. 快速原型化模型 B. 瀑布模型 C.软件成熟度模型 D.系统化模型 3、可行性分析研究的费用大约是项目总经费的()。 A.2% B.6% C.20% D.5‰ 4、业务需求描述的是()。 A.功能需求 B.用户需求 C.用户的具体业务流程 D.软件的目标、规模和范围 5、一个数据流程图中的图形符号有且仅有()种。 A.3 B.5 C.4 D.7 6、非直接耦合的模块独立性最强,()的模块独立性最弱。 A.内容耦合B.数据耦合C.控制耦合D.外部耦合 7、信息隐藏的核心内容是()。 A.把数据都放在公共的区域 B.数据不能被其他模块访问 C.一个模块的内部信息不允许其他模块直接访问 D.把信息加密,只能让有密钥的模块访问 8、面向过程的方法最关心的是过程,而过程实施的对象是作为过程()传递的。 A.参数 B.主体 C.过程 D.数据结构 9、()用于描述系统的功能集。 A. 组件视图 B.逻辑视图 C. 用例视图 D.对象视图 10、用()模型描述系统组织结构。 A.组织 B.CMM 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.30%,70% B. 70%,30% C. 30%,30% D. 70%,70% 17、软件项目管理的内容不包括()。 A.人员的组织与管理 B. 技术和算法 C.软件配置管理 D.软件开发进度计划 18、通俗的说,软件项目管理中常说的基线是()。 A.管理的基本思路 B. 一种软件开发的基本策略 C.基本的技术路线 D. 通过正式复审的文档 19、科学计算领域一般选择()语言。 A.HTML B.C C.汇编语言 D.XML 20、对于嵌套的循环和分支程序,层次不要超过()层。 A.1 B.2 C.3 D.5 二、简答题(30分,每小题6分) 1、请画图说明软件工程的层次化结构,并详细分析中间两层的内容。

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

软件工程试题及答案

综合练习一答案 一.选择题: 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.需求分析说明书不能作为______。

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

软件工程期末考试参考试题 一、填空题 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分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件测试试题及答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 4.Beta测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 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.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x)

相关文档