您好,欢迎来到九壹网。
搜索
您的当前位置:首页软件工程概论的练习题及答案

软件工程概论的练习题及答案

来源:九壹网
概述

一、填空题

1、软件由计算机程序、数据和文档组成。2、软件是一种逻辑产品,它与物质产品有很大的区别。3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。8、软件工程研究的主要内容是方法、过程和工具等三个方面。9、软件开发各阶段任务的划分应尽可能相对,同一阶段任务的性质应尽可能相同。10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。11、演化模型是一种非整体开发模型。先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。

12、螺旋模型将开发过程分为几个螺旋周期。在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。二、单项选择题

1、软件产品的生产主要是C。

A.制造B.复制C.开发D.研制2、个体手工劳动是B时代的软件生产方式。

A.程序系统B.程序设计C.软件工程3、软件工程是一门C学科。

A.理论性B.原理性C.工程性D.心理性4、软件开发费用只占软件生存期全部费用的B。

A.1/2B.1/3C.1/4D.2/3

5、在软件开发过程中大约要花费C%的工作量进行测试和调试。

A.20B.30C.40

D.50

D.程序编码

6、准确地解决“软件系统必须做什么”是B阶段的任务。

A.可行性研究B.需求分析C.软件设计D.程序编码7、软件生存期中时间最长的是D阶段。

A.需求分析B.软件设计C.软件测试D.软件运行/维护

8、在软件生存期的模型中,D适合于大型软件的开发它吸收了软件工程中“演化”的概念。

A.喷泉模型B.基于知识的模型C.瀑布模型D.螺旋模型9、在软件生存期中,用户的参与主要在A。

A.软件定义阶段B.软件开发阶段C.软件维护阶段D.整个软件生存期过程中10、在软件开发过程中的每个阶段都要进行严格的D,以尽早发现在软件开发过程中产生的错误。

A.检验B.验证C.度量D.评审

11、在软件开发和维护过程中需要变更需求时,为了保持软件各个配置成分的一致

性,必须实施严格的B

A.产品检验B.产品控制C.产品标准化D.开发规范

12、实践表明,采用先进的开发技术可提高软件开发的生产率,还可提高软件的D。

A.可靠性B.可使用性C.安全性D.可维护性

13、为了提高软件开发过程的A,有效地进行管理,应当根据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准。

A.

可见性B.

生产率C.

安全性D.

有效性

14、随着开发小组人数的A,因交流开发进展情况和讨论遇到的问题而造成的通信开销也急剧增加。

A.增加B.降低C.稳定D.不稳定

15、为保证软件开发的过程能够跟上技术的进步,必须不断地灵活地改进软件工程C。

A.原则B.工具C.过程D.方法三、选择填空题

1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。?

软件是计算机系统中与硬件相互依存的另一部分,它是包括(②)、(⑦)及(⑤)

的完整集合。其中,(②)是按事先设计的功能和性能要求执行的指令序列。(⑦)是使程序能够正确操纵信息的数据结构。(⑤)是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C.①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表

2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。

开发软件时对提高软件开发人员工作效率至关重要的是(①)。软件工程中描述生存

周期的瀑布模型一般包括计划、(①)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(③)和(⑥)两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力

B.①需求分析②需求调查③可行性分析④问题定义

C、D.①方案设计②代码

设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计?⑧软件体系结构设计

3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。

有人将软件的发展过程划分为4个阶段:

第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有(?A?),也没有(?B?),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了(①),并逐渐普及。随着(④)的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了(⑤)和(⑧)等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如(⑤)、(④)、编码、单元测试、综合测试、(①)及其整体有关的各种管理技术。供选择的答案:

A~D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计

⑥数据库概念⑦固件⑧模块化程序设计

E~G:①使用和维护②兼容性的确认③完整性的确认?④设计⑤需求定义⑥

图象处理

4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括内。

软件工程的最终目的是以较少的投资获得可维护的、可靠的、高效率的和可理解的软件产品。软件工程技术应遵循(⑦)、(④)、(⑥)、(③)、一致性、确定性、完备性、可验证性、抽象和信息隐蔽。

?原型法适用于开发较复杂的系统,原型可分为三种:(②)、(⑤)和(④)。供选择的答案:A~D①有效性②合理性③局部化④协同性?⑤实用性⑥模块化⑦抽象⑧信息隐蔽

E~G:①复用型②实验型③废弃型④演化型?⑤探索型

项目管理

一、填空题

1、要成功地完成软件开发工作的一个主要的决定性因素是项目管理。2、软件过程是软件生存期中的一系列相关工程活动集合。3、所有的软件开发都可以看成是一个问题循环解决过程,其中包括4个截然不同的阶段:状态捕捉、问题定义、技术开发和方案综合。4、在制定软件项目计划之前,必须先明确项目的目标和范围。项目的目标标明了软件项目的目的但不涉及如何去达到这些目的。

5、对软件进行度量,是为了表明软件产品的质量,弄清软件开发人员的生产率,建立项目估算的基线,帮助调整对新的工具和附加培训的要求。6、软件质量的事后度量包括正确性、可维护性、完整性和可使用性。其中完整性包括危险性和安全性。

7、软件范围包括功能、性能、、接口和可靠性。8、软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。资源包括人与工具。

9、对于一个大型的软件项目,要进行一系列的估算处理。主要靠分解和类推的手段进行。

10、基本COCOMO模型是一个静态单变量模型,它用一个已估算出的源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。

11、成本-效益分析的目的,是从经济角度评价开发一个新的软件项目是否可行。12、风险估计从两个方面估价风险。一是估计一个风险发生的可能性。一是估价与风险相关的问题出现后将会产生的结果。13、一个软件任务由一个人单独开发,生产率最高。14、在与软件成本相关的影响因素中,人员的能力是最大影响因素。15、软件开发所需的人力随开发的进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。

16、在建立项目组织时应注意的原则有三:①尽早落实责任,指定专人负责;②减少接口,要有合理的人员分工、好的组织结构、有效的通信,减少不必要的生产率的损失;③责权均衡。17、风险出现概率可以使用从过去项目、直觉或其它信息收集来的度量数据进行统计分析估算出来。18、用各种不同的方法对风险进行分类是可能的。从宏观上来看,可将风险分为项目风险、技术风险和商业风险。二、选择题

1、所有的软件开发都可以看成是一个问题B过程。A.顺序解决B.循环解决C.分类解决

D.分组解决

2、软件项目管理所涉及的范围覆盖了整个软件D。A.开发过程B.运行与维护过程C.定义过程D.生存期

3、为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、

里程碑、成本,进度等做到心中有数,而C可以提供这些信息。A.计算机辅助工程B.软件开发工具C.软件项目管理D.软件估算4、软件范围标明了软件要实现的基本功能,并尽量以A的方式界定这些功能。A.定量B.规范C.统一

D.定性

5、只要事先建立特定的度量规程,很容易做到B开发软件所需要的成本和工作量、产生的代码行数等。

A.间接度量B.直接度量C.间接估算

D.直接估算

6、为了计算特征点,可以像计算功能点那样,对信息域值进行计数和加权。此外,需要对一个新的软件特征A进行计数。A.算法B.计算误差C.程序复杂性D.效率

7、对于软件的D,有一种简单的面向时间的度量,叫做平均变更等待时间MTTC(MeanTimeToChange)。这个时间包括开始分析变更要求、设计合适的修改、实现变更并测试它、以及把这种变更发送给所有的用户。A.可靠性B.可修改性C.可测试性D.可维护性

8、软件的完整性是度量一个系统抗拒对它的C攻击(事故的和人为的)的能力。A.可靠性B.正确性C.安全性

D.容错性

9、对每一种软件资源,应说明4个特性:资源的描述,资源的有效性说明,资源在何时开始需要,使用资源的持续时间。最后两个特性统称为A。A.时间窗口B.时间安排C.日程安排D.资源定义

10、业务系统计划工具借助特定的C建立一个组织的战略信息需求的模型,导出特定的信息系统。

A.过程性语言B.形式化语言C.元语言D.伪码

11、软件开发成本主要是指软件开发过程中所花费的B及相应的代价。A.劳动力B.工作量C.资源D.持续时间

12、自顶向下估算软件成本的方法主要是从项目的整体出发进行B,即根据已完成项目的总成本(或总工作量),来推算待开发软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去。A.分解B.类推C.推导D.评估

13、自底向上估算软件成本的方法主要是把待开发软件A,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。A.分解B.类推C.推导D.评估

16、系统的经济效益B因使用新系统而增加的收入加上使用新系统可以节省的运行费用。

A.大于B.等于C.小于D.不等于

17、项目复杂性、规模和结构的不确定性构成C(估算)风险因素。A.技术B.经济C.项目D.商业

18、识别风险的一种最好的方法就是利用一组A来帮助人们了解在项目和技术方面有哪些风险。因此,Boehm建议使用一个“风险项目检查表”。A.提问B.项目C.脚本D.场景

19、在做风险评价时常采用的一个非常有效的方法就是定义D。A.风险评价标准B.风险影响因子C.风险调整因素D.风险参照水准

21、当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的A问题,即所谓通信问题。A.接口B.衔接C.调用D.控制

22、假设一个人单独开发软件,生产率是5000行/人年。若4个人组成一个小组共同开发这个软件,在每条通信路径上耗费的工作量是250行/人年。则组中每人的生产率降低为C

A.4200B.4350C.4675D.4375

23、PERT技术叫做B技术,它是采用网络图来描述一个项目的任务网络,安排开发进度,制定软件开发计划的最常用的方法。A.日程安排B.计划评审C.关键路径D.因果图

24、在进度压力下赶任务,其成果往往是以B产品的质量为代价的。A.浪费B.牺牲C.抵押D.维持三、选择填空题

1、从供选择的答案中选出与下列有关软件过程叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件过程是软件(4)中的一系列相关软件工程(3)的集合。每一个软件过程又是由一组(6)、项目(8)、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用右图的形式来表示。首先建立一个(2)过程框架,其中定义了少量可适用于所有软件项目的框架(3),再给出各个框架(3)的任务集合,最后是保护伞活动,如软件质量保证、软件配置管理以及测量等。软件过程模型的选择基于项目和应用的特点、采用的(5)和工具、要求的控制和需交付的产品。

A.④???B.③???C.⑥???D.⑧???E.②???F.⑤

供选择的答案:A~F.①务⑦功能⑧里程碑

2、从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

由于软件工程有如下的特点,使软件管理比其它工程的管理更为困难。软件产品

工程②公共③活动④生存期⑤方法

⑥工作任

(2)。(6)标准的过程。大型软件项目往往是(3)项目。(2)的作用是为有效地定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出(4);(5)实际上就是贯穿于软件工程过程中一系列风险管理步骤。最后,每一个软件项目都要制定一个(1),一旦(6)制定出来,就可以开始着手(5)。

供选择的答案:A.②??B.⑥??C.③??D.②??E.④??F.①??G.⑥??H.⑤

A~C.①可见的②不可见的③“一次性”④“多次”⑤存在⑥不

存在

D~H.①

开发计划

3、从供选择的答案中选出与下列有关软件度量叙述相对应的正确答案,将其编号填入到相应的括弧内。软件的度量包括(

A1

)和(

B4

)。软件产品的(

A1)包括产生的代码行数、

进度安排②度量③风险分析④估算⑤追踪和控制⑥

执行速度等。软件产品的(B如右图所示那样分类。软件(

)则包括若干质量特性。我们还可进一步将软件度量C

)度量主要关注软件工程过程的结果;(

E

D

)度

量则指明了软件适应明确和不明确的用户要求到什么程度;()度量主要关注软

件的一些特性而不是软件开发的全过程。从图中还可看到另一种分类方法:面向((

FG

)的度量用于收集与直接度量有关软件工程输出的信息和质量信息。面向)的度量提供直接度量的尺度。面向(

H

)的度量则收集有关人们开发软件

所用方式的信息和人们理解有关工具和方法的效率的信息。

A.①??B.④??C.④??D.①??E.②??F.

⑤??G.⑦??H.③供选择的答案:A~B.①C~E.①

质量②技术

直接度量②尺度度量③二元度量④间接度量

③成本④生产率

F~H.①过程②对象③人④存取⑤规模⑥进程⑦功能⑧数据

4、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

估算资源、成本和进度时需要经验、有用的历史信息、足够的定量数据和作定量度量的勇气。通常估算本身带有(A(

B

),估算的(D

A

)就(

C

)。项目的复杂性越高,规模越大,开发工作量)。项目的结构化程度提高,进行精确估算的能力

F

),总的风险会减少。

就能(),而风险将(E)。有用的历史信息(

供选择的答案:A.③??B.②??C.⑦??D.①??E.③??F.②A.①风范(范型)②风格③风险④度量变⑤越少⑥越高⑦越大

5、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

在软件项目估算时,将代码行LOC和功能点FP数据在两个方面使用:一是作为一个估算变量,度量软件每一个(到的(

B

A

)的大小;一是联合使用从过去的项目中收集

C

)估算。LOC和FP是两种不同的估

D

)

B~F.①

增加②越多③降低④不

)和其它估算变量,进行成本和(

算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的(不同。当用(而用(

F

E

)作为估算变量时,功能分解是绝对必要且应达到很详细的程度,

E

)是直接估算,(

F)

)作为估算变量时,分解程度可以不很详细。(

是间接估算。若计划人员对每个功能分别按最佳的、可能的、悲观的三种情况给出LOC或FP估计值,记作a,m,b,则LOC或FP的期望值E的公式为(加权的最可能的估计值,遵循(H

)。

G

),m是

供选择的答案:A.③,?B.⑦,?C.⑤,?D.①,?E.②,?F.①,?G.②,?H.③。A~C.①模块②软件项目③分量④持续时间⑤工作量⑥进度⑦基线数据⑧改进数据D.①详细程度②分解要求③改进过程④使用方法G.①E=(a+m+b)/3②E=(a+4m+b)/6③E=(2a+3m+4b)/3④①χ概率②γ概率③β概率④泊松

6、从供选择的答案中选出与下列有关软件估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

在考虑各种软件开发资源时,(

A

)是最重要的资源。如果把软件开发所需的资

A

),在底部为(

B

)。

E,F.①FP②LOC

H.

源画成一个金字塔形:在塔的上层是最基本的资源((

B

)包括硬件资源和软件资源。(

E

C)、(

D

)和其它硬件设备属于硬件资源。

IPSE工具属于软件资源中的(建立(

F

)。

)。为了提高软件的生产率和软件产品的质量,可

供选择的答案:A.②??B.③??C.②??D.④??E.⑥??F.⑤A,B.①方法②人力③工具④上下文环境机④宿主机

E,F.①维护工具②分析设计工具③支持工具④编程工具⑤可复用构件库⑥框架工具⑦原型化模拟工具

7、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

定义一个人参加劳动时间的长短为(

A

),其度量单位为PM(人月)或PY(人

A

)为(

AB

),其度量单位

C,D.①虚拟机②目标机③自动

年)。而定义完成一个软件项目(或软件任务)所需的(

是人月/项目(任务),记作PM(人月)。进一步地,定义单位((

C

)的数量为软件(

D

)所能完成的软件

E

)的一

),其度量单位为LOC/PM。它表明一般指(

个平均值。例如,一个软件的开发工作量如下表所示。该软件共有源代码2900行,

其中,500行用于测试,2400行是执行((LOC/PM)。

F)的源代码。则劳动生产率是(G)

供选择的答案:A.④??B.②??C.④??D.①??E.①??F.②??G.④A,B,D.①生产率②工作量③成本④劳动量E.①开发全过程②某开发阶段③软件生存期④某开发任务

F,C.①软件②程序③进程④产品G.①520②120③320④240

8、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按((

B

A

)和(

B

)手段进行。估算的方法分为三类:从项目的整体出发,进行C

)估算法。把待开发的软件细分,直到每一个子任务都已

)的方法称为(

经明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为(

D

)估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出

E

)估算法。(

F

)是由多位专家进

类似部分和不同部分分别处理的方法称为(行成本估算的方法。

供选择的答案:A.③,?B.①,?C.②,?D.③,?E.①,?F.④A,B.①

类推②类比③分解④综合

C~F.①差别②自顶向下③自底向上④专家判定技术⑤循序渐进⑥比较10、从供选择的答案中选出与下列有关软件成本估算叙述相对应的正确答案,将其编号填入到相应的括弧内。

一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行软件成本估算。程序的名义工作量MM=(开发所用的时间TDEV=(C

A);程序实际工作量MM=(

B

);

);如果软件开发人员的工资都按每月6000美元计算,

D

)。

则该软件项目的开发人员的工资总额=(

表1中间COCOMO模型的名义工作量与进度公式表2影响工作量的因素fi的取值

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

供选择的答案:A,B.①45.8②51.5③44.38④54.27.8月④10.9月

D.①26.4万美元②36万美元③20.96万美元④30.9万美元

11、从供选择的答案中选出与下列有关软件成本-效益分析叙述相对应的答案,将其编号填入到相应的括弧内。

假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,两者不能简单地比较。

假定年利率为12%,利用计算货币现在价值的公式,可以算出该计算机应用系统投入使用后每年预计节省的金额的现在价值。

C.①8.9月②9.8月③

A.④,?B.②,?C.③

则该系统的纯收入是(A

),投资回收期是(

B

),投资回收率为(

C

)。

供选择的答案:A.①512.3元②729.28元③602.4元④612.27元B.①2.4年②3.93年③4.25年④2.78元20%④15%

12从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

在特定情况下,是否必须进行风险分析,是对项目开发的形势进行(定的。(

A

A

)后确

C.①25%②30%③

)可以按如下步骤进行:明确项目的目标、总策略、具体策略和为完成

B

),项目成功的标准也是

所标识的目标而使用的方法和资源;保证该目标是((

B

);考虑采用某些条目作为项目成功的(

C

);根据估计的结果来确定是否

要进行风险分析。

一般来说,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分3步进行。第一步识别潜在的风险项,首先进行(个风险的大小及其出现的可能性,选择一种(

D

)过程;第二步估计每

E),它可以估计各种风险项的值;

F

),确定(

G

),把风

第三步进行风险评估。风险评估也有三个步骤:确定(险与“参照风险”做比较。

供选择的答案:A.②??B.①??C.②??D.②??E.③??F.④??G.③A.①风险管理②风险估计③风险评价④风险测试B.①可度量的②不可度量的③准确的④不确定的

C.①规范②标准③过程模型④设计要求

D,E.①信息分类②信息收集③度量

尺度④标准⑤度量工具⑥信息获取F,G.①风险的范围②风险的特性③风

险的级别④风险的评价标准⑤风险的排除策略

13、从供选择的答案中选出与下列有关软件风险分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

风险分析实际上是4个不同的活动,按顺序依次为(和(

C

A)、(

B

)、风险评价

)。在风险评价时,应当建立一个三元组:[ri,li,xi],ri是风险描述,D)、(E

),而xi是风险的影响。一个对风险评价很有用的技术是定义(G

)、(

H

)是三种典型的(

E

E

)。

li是((

F

)。在做风险分析的上下文环境中I

)。在这个点上要公正底给

一个()就存在一个单独的点,叫做参照点或(

出判断。实际上,参照点能在图上表示成一条平滑的曲线的情况很少,多数情况它是一个(

J

)。

供选择的答案:A.②,?B.③,?C.①,?D.②,?E.①,?F.③,?G.④,?H.⑥,?I.②,?J.④

A~C.①风险驾驭和监控②风险识别③风险估计④风险消除D.①风险的大小②风险的概率③风险的时间④风险的范围E.①风险参照水准②风险度量③风险监控④风险工具

F~H.①生产率②功能③成本④进度⑤范围⑥性能I,J.①凹点②崩溃点③终点④区域⑤拐点⑥原点

14、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

任何软件项目都必须做好项目管理工作,最常使用的进度管理工具是(

A

),当

某一开发项目的进度有可能拖延时,应该(B)。对于一个典型的软件开发项目,各开发阶段需投入的工作量的百分比大致是(

C)。各阶段所需不同层次的技术人员

E

)。

大致是(D),而管理人员在各阶段所需数量也不同,相对而言大致是(

供选择的答案:A.①数据流图②程序结构图③因果图④PERT图

B.①增加新的开发人员②分析拖期原因加以补救③从别的小组抽调人员临时帮忙④推迟预定完成时间

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

15从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。

对于一个小型的软件开发项目,一个人就可以完成需求分析、设计、编码和测试工作。但随着软件项目规模增大,需要有多人共同参与同一软件项目的工作。当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承担任务之间的(误(

B

),(

CA

)问题,即通信问题。通信需花费时间和代价,会引起软件错

)软件生产率。如果一个软件开发小组有n个人,每两人之间都D

)条通信路径。假设一个人单独开发软件,生产率是5000

需要通信,则共有(

行/人年,且在每条通信路径上耗费的工作量是250行/人年。若4个人组成一个小组共同开发这个软件,则小组中每个人的软件生产率为(员,则小组中每个成员的软件生产率为(规模不能太大,人数不能太多,一般在(GD.②??E.③??F.②??G.④

F

E

)。若小组有6名成

)。因此,有人提出,软件开发小组的)人左右为宜。A.③??B.②??C.①??

供选择的答案:A.①分配②管理③接口④协作B,C.①降低②增加③不变D.①n(n+1)/2②n(n-1)/2③n(n-1)(n-2)/6④n2/2E,F.①4875②4375③4625④5735

G.①8~15②1~2③2~5④2~8

16、从供选择的答案中选出与下列有关软件进度管理叙述相对应的正确答案,将其编号填入到相应的括内。

软件项目的进度管理有许多方法,但(种进度控制图示方法中,(

B

A

)不是常用的进度控制图示方法。在几

C

)

)难以表达多个子任务之间的逻辑关系,使用(

CF

不仅能表达子任务之间的逻辑关系,而且可以找出关键子任务。在(箭头的边表示(D

),用圆圈结点表示(

E

),它标明(

D

)的(

)中,用带)。

供选择的答案::A.②??B.①??C.③??D.⑥??E.③??F.⑤

A~C.①甘特图②IPO③PERT④时标网状图D~F.①数据流②控制流③事件④处理⑤起点或终点⑥任务

17从供选择的答案中选出与下列有关软件项目管理叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件项目管理的主要职能包括:(

A

),建立组织,配备人员,(

BD)和(

C

)。

由于软件项目的特有性质,使得项目管理存在一定困难。第一、(过程充满了大量高强度的脑力劳动;第二、(

E

),软件工程

),在特定机型上,利用特定的硬

F

),

件配置,由特定的系统软件和支撑软件支持,形成了特定的开发环境;第三、(

软件项目经历的各个阶段都深透了大量的手工劳动,远未达到自动化的程度;第四、(

G

),用户要经过专门的培训,才能掌握操作步骤,且需要配备专职维护人员进

H

),为高质量地完成软件项目,充分发掘人员的智力才能

行售后服务;第五、(和创造精神。

在总结和分析足够数量失误的软件项目之后可知,造成软件失误的原因大多与(

I

)工作有关。在软件项目开始执行时,执行的过程中及项目进行的最后阶段都

会遇到种种问题。

供选择的答案:A.②?B.④?C.⑥?D.②?E.③?F.⑤?G.④?H.①?I.④A~C.①编码②制定计划③开发④指导⑤测试⑥检验

D~H.①软件工作渗透了人的因素②智力密集,可见性差③单件生产④使用方法繁琐,维护困难⑤劳动密集,自动化程度低I.①设计②维护③测试④管理⑤实践⑥指导⑦审核⑧分析

18从供选择的答案中选出与下列有关软件项目组织叙述相对应的正确答案,将其编号填入到相应的括弧内。软件项目组织的原则是(((

FE

A

)、(F

B

)和(

CD

)。一般有()和(

E

D

)、(

E

)、

)三种组织结构的模式。()实际上是()两种模式的复合。

)这种模式在小组之间的联系形成的接口较多,但便于软件人员熟悉小组的工

作,进而成为这方面的专家。

供选择的答案:A.②??B.③??C.⑥??D.③??E.④??F.①

A~C.①推迟责任的落实②尽早落实责任③减少接口④增加联系⑤责权分离⑥责权均衡

D~F.①矩阵形模式②主程序员小组模式③按课题划分的模式④按职能划分的模式⑤民主制小组模式

19从供选择的答案中选出与下列有关软件开发小组叙述相对应的正确答案,将其编号填入到相应的括弧内。

软件开发小组的目的是发挥集体的力量进行软件研制。因此,小组从培养(的观点出发进行程序设计消除软件的(式有三种,如下图所示的a属于(

C

B

A

)

)的性质。通常,程序设计小组的组织形

),c属于(

E

)。

A.

),b属于(D

②??B.④??C.③??D.②??E.①

供选择的答案:A,B.①“局部”②“全局”③“集体”④“个人”C~E.①层次式

小组②民主制小组③主程序员制小组

需求分析

一、填空

1、在软件需求分析阶段,分析人员要确定对软件的综合要求,其中最重要的是功能要求。2、需求分析阶段产生的最主要的文档是需求规格说明书。3、解决一个复杂的问题,往往采取的策略是分解。4、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该软件项目是否能够开发。5、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。6、可以从4个方面研究可行性,即技术可行性、经济可行性、社会可行性、(可行性。

?7、结构化分析方法从三个方面建模:数据建模、功能建模、行为建模。?8、实体―关系图用于数据建模,它最初用于数据库设计。?9、数据流图中的每一个加工至少有一个输入数据流和一个输出数据流。?10、状态―迁移图用于行为建模,状态中包含活动,状态因事件发生转移。?11、数据词典中有四类条目,分别为数据流、加工、数据存储、外部实体。?二、单项选择

1、软件需求分析阶段的工作可以划分以下四个方面:对问题的识别、分析与综合、制定需求规格说明和C。

A.总结B.阶段性报告C.需求分析评审D.以上答案都不正确2、各种需求分析方法都有它们共同适用的D。A.说明方法B.描述方法C.准则D.基本原则

3、软件需求分析应从问题的信息域和功能域出发。信息域应包括信息流、信息内容

)

和C。

A.信息项B.数据结构C.信息结构D.信息内容4、需求分析产生的文档是C。

A.项目开发计划B.可行性分析报告C.需求规格说明书D.软件设计说明书5、需求分析中,分析人员要从用户那里解决的最重要的问题是A。

A.要让软件做什么B.要给该软件提供什么信息C.要求软件工作效率如何D.要让该软件具有何种结构6、可行性研究的目的是B。A.

开发项目B.项目值得开发否C.

规划项目D.维护项目

7、技术可行性要解决D。

A.存在侵权否B.成本效益问题C.运行方式可行D.技术风险问题8、研究开发资源的有效性属于A可行性的一部分。A.技术B.经济C.社会D.操作

9、在可行性研究过程中,对每一个合理的候选方案,分析人员都应准备如下资料D。A.系统流程B.组成系统的物理元素清单、成本―效益分析C.实现该系统的进度计划D.以上全部

10、软件需求分析的任务不应包括C。

A.问题分析B.信息域分析C.结构化程序设计D.确定逻辑模型11、结构化语言、判定表和判定树属于A规格说明的描述工具。A.加工B.控制C.数据描述D.脚本12、加工激活表属于B规格说明的描述工具。A.加工B.控制C.数据描述D.脚本13、基数和参与性属于C图的描述工具。

A.控制流B.数据流C.实体―关系D.状态―迁移

14、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层数据流图描述了系统的B。

A.细节B.输入与输出C.软件的作者D.绘制的时间

15、对于分层的数据流图,父图与子图的平衡是指子图的输入、输出数据流同父图的输入、输出数据流A。A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等

16、在数据流图的基本图形符号中,加工是以信息结构或B作为加工对象的。A.数据结构B.信息内容C.信息流D.数据内容17、一个局部数据存储当它作为D时就把它画出来。A.某些加工的数据接口B.某个加工的特定输入

C.某个加工的特定输出D.某些加工的数据接口或某个加工的特定输入/输出18、软件需求规格说明书的内容不应包括对B的描述。

A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能19、需求规格说明书的作用不应包括B。A.软件设计的依据B.软件可行性研究的依据

C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解20、快速原型化思想是在研究D阶段的方法技术中产生的。A.可行性研究B.软件设计C.程序编码D.需求分析21、用于整个开发阶段,及早提供一个原型系统的是D原型。A.实验型B.探索型C.提交型D.演化型

22、用于软件设计阶段,考察实现方案是否可行的是C原型。A.探索型B.演化型C.实验型D.增量型三、选择填空

1、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编

号填入到相应的括弧内。

软件需求分析的任务不应包括(?A?)。进行需求分析可使用多种工具,但(?B?)是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(?C?)。需求规格说明书的内容不应当包括(?D?)。该文档在软件开发中具有重要的作用,但其作用不应当包括(?E?)。

供选择的答案:A.③,B.③,C.①,D.②,E.④

A.①问题分析?②信息域分析?③结构化程序设计?④确定逻辑模型B.①数据流图?②判定表?③PAD图④数据词典

C.①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率如何?④要让软件具有什么样的结构

D.①对重要功能的描述?②对算法的详细过程性描述③软件确认准则?④软件的性能

E.①软件设计的依据?②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据?④软件可行性分析的依据

2、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

当前系统的(A)模型描述现行系统的实际业务处理过程,反映了现行系统具体(B?)的现实。当前系统的(?C?)模型描述现行系统的功能结构、数据组织以及动态行为,反映了现行系统(?D?)的本质。?

目标系统是指待开发的新系统。根据计算机系统的特点,分析、比较目标系统和

当前系统逻辑上的差别,确定目标系统的软件工作范围,采用自顶向下逐步分解的分析策略,确定目标系统的功能结构、数据组织以及动态行为,从而建立起目标系统的(?E?)模型。

供选择的答案:A.②,B.①,C.⑤,D.③,E.⑤

A,C,E:①对象②物理③服务④过程⑤逻辑B,D:①怎么做②何时做③做什么④为何做⑤谁来做

3、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

?结构化分析模型从多视角来描述系统。在分析模型的核心是(?A?),它描述了所有在目标系统中使用和生成的数据对象。围绕着这个核心有三种图:(?B?)、(?C?)和(?D?)。(?B?)描述数据对象及其关系,用于建立数据模型;(?C?)描述数据在系统中如何被传递和变换,用于建立功能模型,同时还需要给出加工规格说明;(?D?)描述系统对外部事件如何响应,用于建立行为模型,同时还需要给出控制规格说明。?Petri网主要用于描述相互,协同操作的处理系统,即(?E?)的处理系统。

【供选择的答案】A.②,B.⑧,C.④,D.③,E.①

A~D:①对象图?②数据词典?③状态迁移图?④数据流程图⑤时序图⑥事件追踪图?⑦控制流程图?⑧实体关系图⑨仿真图⑩行为图时钟驱动?④随机执行⑤顺序执行

4、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

?软件需求分析方法必须能够理解和表达问题领域的信息域和功能域。信息域包括(A)、(B)和(C)。

(?A?)表示数据和控制在系统中传递时的变化方式。输入对象首先被变换成数据和控制的(?D?)信息,然后再变换成输出结果信息。

(?B?)表示信息在计算机中的组织形式。各种数据和控制对象按什么逻辑关系组织在一起,又按什么物理关系存储在计算机中,必须靠(?B?)分析来解决。(?C?)可以利用数据词典明确地表示,也可以通过数据或数据对象的层次结构

E:①并发执行?②事件驱动?③

隐含地表示。

对数据进行变换就是程序所表现的功能。两个功能之间的数据传递确定了功能之间的(?E?)。

【供选择的答案】A.⑦,B.②,C.⑥,D.③,E.②

A~C:①信息属性?②信息结构?③信息服务?④信息通信?⑤信息抽象⑥信息内容?⑦信息流?⑧信息层次⑨信息项?⑩信息行为通讯⑤联系

5、从供选择的答案中选出与下列有关软件需求分析叙述相对应的正确答案,将其编号填入到相应的括弧内。

?原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(?A?)系统。它从用户界面的开发入手,首先形成(?B?),用户(?C?),并就(?D?)提出意见,它是一种(?E?)型的设计过程。

供选择的答案:A.①B.③C.④D.①E.①

A.?①需求不确定性高的?②需求确定的?③管理信息??④决策支持

B.?①用户界面使用手册?②用户界面需求分析说明书③系统界面原型?④完善的用户界面

C.?①改进用户界面的设计②阅读文档资料③模拟用户界面的运行?④运行用户界面原型

D.①同意什么和不同意什么?②使用和不使用哪一种编程语言执行速度是否满足要求

E.①自外向内??②自顶向下??③自内向外??④自底向上

面向对象

一、填空题

1、面向对象的特征是对象唯一性、分类性、继承性和多态性。

③程序的结构?④

D~E:①连接?②接口?③中间?④

2、面向对象有三个基本要素,它们是抽象、封装性和共享性。3、类具有属性,它是对象状态的抽象,用数据结构来描述类的属性。4、类具有操作,它是对象行为的抽象,用操作名和操作方法实现来描述。5、在类层次中,子类只继承一个父类的属性和方法,则称为单继承。子类继承了多个父类的属性和方法,则称为多继承。6、OMT方法是RumBaugh等人提出的面向对象开发方法。开发工作的基础是对现实世界的对象建模,然后围绕这些对象使用分析模型来进行于语言的设计。7、Coad和Yourdon方法完成了从需求角度出发的对象和分类结构认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行类和类层次结构的认定。8、Booch方法通过分析问题陈述正文,将其中的名词映射为对象,将其中的动词映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向Ada的语言,但仍处于面向对象开发方法的奠基性地位。

9、UML不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。

10、在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般化—特殊化关系和整体-部分关系。11、在面向对象设计中存在三种内聚,即操作内聚、类内聚和一般化-特殊化内聚。二、单选填空题

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

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

2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为B。此定义包括一组数据属性和在数据上的一组合法操作。A.聚合B.类C.结构D.主题

3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。一个类的上层可以有父类,下层可以有子类。这种系统的类层次结构的一个重要性质是D,通过它,一个类可共享其父类的全部数据和操作。A.传递性B.复用性

C.并行性D.继承性

4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有A的优点。A.设计稳定B.性能稳定

C.模块

D.硬件

5、封装性是指所有软件部件都有明确的范围以及清楚的外部边界。每个软件部件都有友好的B,软件部件的内部实现和外部使用分离。A.使用方式B.界面C.调用D.继承

6、属性指的是类中对象具有的特性(数据)。不同对象的同一属性可具有相同的或不同的A。

A.属性值B.操作C.服务D.控制

7、操作是类中对象所使用的一种功能或变换。类中的各个对象可以共享操作,方法是类中操作的B。

A.别名B.实现步骤C.功能D.脚本

8、A应当在应用分析之前进行,因为我们在了解问题之前应对问题敞开思想考虑,不应加以。

A.论域分析B.高层设计C.实例建立D.类的开发

9、应用程序可以通过执行对象的操作来改变对象的属性值,但它必须通过C的传递。

A.接口B.控制C.消息D.实例

10、在软件开发过程中,抽取和整理用户要求并建立问题论域精确模型的过程叫做D。

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

11、Rumbaugh等人提出的对象模型化技术OMT把分析时收集到的信息组织在三种模型中,即对象模型、动态模型和C。

A.信息模型B.控制模型C.功能模型D.行为模型

12、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构。它是从现实世界实体的相互关系的角度来描述、表现对象间的相互关系。该模型主要关心系统中对象的结构、属性和操作,使用了B的工具来刻划。A.E-R图B.对象图C.系统流程图D.系统结构图

13、组装关系是一种“整体-部分”关系。在这种关系中,有整体类和部分类之分。组装关系中最重要的性质是D,它还具有逆对称性。A.局部性B.完整性C.一致性D.传递性

14、分类关系是“一般化-特殊化”关系。一般化类又称为父类,特殊化类又称为子类。分类关系和C是同时存在的。

A.传递性B.逐步求精C.继承性D.全局性

15、继承有单继承和多继承。单继承指的是子类只有一个父类,在一个类层次结构中若只有单继承,则该类层次结构是树形结构。多继承指的是子类可以有多个父类,在一个类层次结构中若有多继承,则该类层次结构是C层次结构。A.树形B.星形C.网状D.环形

16、动态模型描述与时间和变化有关的系统的性质。该模型描述了系统的控制结构,表示了瞬时的行为化的系统控制性质,它关心的是系统的控制、操作的执行顺序。它从系统涉及的事件和对象的A出发,表现了对象及对象间的相互行为。A.状态B.属性C.操作D.控制

17、动态模型描述的系统属性是触发事件、事件序列、状态、事件和状态的组织。使用A作为描述工具。

A.状态图B.顺序图C.活动图D.进程图

18、功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能。数据流图有助于表示功能依赖关系,其中的处理对应于状态图中的活动和动作,数据流对应于对象图中的B。

A.实例连接B.对象或属性C.消息传递D.关联

19、操作与对象模型中的属性和关联的查询有关,与动态模型中的A有关,与功能模型中的加工有关。

A.事件B.状态C.变换D.处理

20、面向对象设计阶段中的高层设计是要确定实现系统的策略和目标系统的A。A.体系结构B.算法设计C.类结构D.类设计

21、面向对象设计阶段中的类设计是要确定实现方案中的类、关联和接口形式及实现操作的D。

A.逻辑B.顺序C.控制D.算法

22、状态是对象属性值的抽象,状态指明了对象对A的响应。A.输入事件B.输入信息C.输入数据D.输入序列

23、活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与B联系在一起的操作。A.时间B.事件C.控制

D.状态

24、事件可以看成是信息从一个对象到另一个对象的单向传送。因此要确定各事件的发送对象和接收对象。A用来表示事件、事件的接收对象和发送对象。A.事件追踪图B.进程图C.脚本D.状态序列图三、选择填空题

2、从供选择的答案中选出与下面有关面向对象范型的叙述最适合的答案,将其编号填入相应的括号内。

对象是面向对象范型的(以执行的一组(C它的应用必须通过(

A)。每个对象可用它自己的一组(B)和它可

)。

)来表征。应用执行对象的(CD

)可以改变该对象的(B

D

)的传递。可以认为,这种()的传递大致等价于

过程性范型中的函数调用。某些语言提供了特殊功能,允许对象引用自己。若一个对象没有显式地被引用,则可让该对象(E供选择的答案:A①B⑤C.③D.②E.③

A.①基本单位②最小单位③最大单位④语法单位B~C.①行为②功能③操作④数据⑤属性

D.①接口②消息③信息④操作⑤过程式引用⑤引用自己

3、从供选择的答案中选出与下面有关面向对象开发过程的叙述最适合的答案,将其编号填入相应的括号内。

在面向对象软件开发过程中特别重视复用。软件构件应于当初开发它们的应用而存在。在以后的应用开发中,可以调整这些构件以适应新问题的需要。因此,应使得类成为一个(

A

)的单元。这样就有一个(B

)生存期问题。(

B

E.①撤消②歇着③缺省④隐)。

生存期有自己的步骤,与任一特定应用的开发(C地描述一个基本(D

)。按照这些步骤,可以完整

)。而不仅仅考虑当前正在开发的系统。系统开发的各个阶

)生存期引导开发工作逐个

段都可能会标识新的类。随着各个新类的标识,(B阶段循序渐进。

在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的三个可能途径是:(

E

)复用既存类;对既存类进行(

F

)以得到满足

要求的类;重新开始进行开发。

供选择的答案:A.①,B.③,C.④,D.②,E.③,F.④

A.①可复用②可测试③可适用④可靠B.①应用②寿命③类④软件

C.①相关②密切相关③负相关④无关D.①概念②实体③事件④事情E,F.①修改②更新③照原样④演化

7、从供选择的答案中选出与下面的叙述最适合的答案,将其编号填入相应的括号内。从分析到设计的过程流如图所示。一旦已经开发完成一个合理完整的(后,就要着手(

B

)的设计。这需要描述(

B

A

)模型

)的特征,以准确表达待实现的用

B

),就开始(

E

C)。

)

户需求,以及实现需求所必须的支持环境。一旦定义了各个(设计,这时,可利用CRC卡片,将属性转换为(供选择的答案:A.①,B.④,C.⑤,D.②,E.④

D

),将关系转换为(

A~C.①分析②系统设计③模块设计④子系统设计⑤对象设计⑥数据设计⑦操作设计⑧行为设计

D~E.①对象②数据结构③算法④消息传递程

8、从供选择的答案中选出与下面有关面向对象分析的叙述最适合的答案,将其编号填入相应的括号内。

由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。第一个模型是(

A

),它的

⑤控制⑥并发处理⑦进程⑧过

作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。第二个模型是(

B

),它描述系统的控制逻辑,主要涉及系统中BD

)包括两种图,即(

C

)和(

D

)。

各个对象和类的时序及变化状况。((

C

)描述每一类对象的行为,(

E

)描述发生于系统执行过程中的某一特定场

景。第三个模型是(据流图组成。

),它着重于描述系统内部数据的传送与处理,它由多个数

A.⑦B.⑥C.③D.⑥E.②

供选择的答案:A,B,E:①数据模型②功能模型③行为模型④信息模型⑤原型⑥动态模型⑦对象模型⑧逻辑模型⑨控制模型⑩仿真模型

C,D:①对象图②概

念模型图③状态迁移图④数据流程图⑤时序图⑥事件追踪图⑦控制流程图⑧逻辑模拟图⑨仿真图⑩行为图

9、从供选择的答案中选出与下面有关面向对象设计的叙述最适合的答案,将其编号填入相应的括号内。

在面向对象软件设计过程中,应按如下要求进行类的设计:只有类的共有界面的成员才能成为使用类的操作,这就是软件设计的(

A)原则。当且仅当一个操作对

B

)原

类的实例的用户有用时,它才是类公共界面的一个成员,这是软件设计的(则。由同属一个类的操作负担存取或加工类的数据,这是软件设计的(两个类之间的交互应当仅涉及参数表,这是软件设计的(

D

C

)原则。

)原则。每个派生类应

该当做基类的特殊化来开发,而基类所具有的公共界面成为派生类的共有界面的一个子集,这是软件设计的(

E

)原则。

供选择的答案:A.③B.②C.③D.①E.⑤\\

A:①过程抽象②功能抽象③信息隐蔽④共享性⑤连通性B:①标准调用②最小界面③高耦合④高效率⑤可读性C:①数据抽象②低内聚③高内聚④低复杂度⑤低强度D:①显式信息传递②高内聚③低内聚④相互操作性⑤连接性E:①动态联编②异质表③信息隐蔽④多态性⑤继承性

10、从供选择的答案中选出与下面有关面向对象程序设计的叙述最适合的答案,将其编号填入相应的括号内。

面向对象的程序设计语言具有数据抽象、信息隐蔽、(A位的对象应具有下列特性:(言。

B

)、(

C

)、(

D

)。(

)等特征。作为运算单E

)是面向对象的语

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

供选择的答案:A:①对象调用②对象变换③非过程性④信息继承⑤并发性B~D①对象把数据和处理数据的操作结合为一体②在程序运行时对象都处于活动

状态③

对象在计算中可向其他对象发送消息

④接受消息的对象必须给消息

发送者以回答⑤

对象的内部状态只根据外部送来的消息才操作

②C,Ada,Modula2③PASCAL,C++,APL④Ada,

E:①C++,SMALLTALK,objectCobjectC,C

软件设计

一、填空

?1、软件设计是要把描述软件“做什么”的逻辑模型转换为描述“怎么做”的物理模型,即着手实现软件的需求,并将设计结果记入软件设计说明书文档中。?2、软件程序系统结构的设计是以模块为基础的。以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。?3、数据库的设计指数据存储文件的设计,主要进行概念、逻辑、物理的设计。?4、在数据处理系统的功能分析与设计过程中同时要进行数据分析和数据设计,数据库的概念设计和逻辑设计分别对应于系统开发的需求分析与概要设计,而数据库的物理设计与模块的详细设计相对应。?5、在软件的系统结构中,模块是可组合、可分解和可更换的单元。模块的基本属性包括功能、逻辑、接口和状态。?6、模块内聚与耦合是模块性的两个定性标准。在划分模块时,应尽可能作到低内聚、高耦合。

?7、一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽可能靠近。?8、如果模块之间耦合性太高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和数据公用区的引用。若有多个相关的模块,应对它们的功能进行分析,消去重复的功能。二、单项选择题

1、结构化设计方法(SD)与结构化分析方法(SA)一样,遵循C的模型,采用自顶向下,逐步细化的技术。通常SD方法继续SA的工作,根据数据流图设计程序的结构。A.实体-关系B.快速原型C.抽象D.瀑布2、结构化设计在软件开发中用于B。

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

3、D把已确定的软件需求转换成特定形式的软件表示,使其得以实现。A.系统设计B.逻辑设计C.详细设计D.软件设计

4、在进行软件模块结构设计时应当遵循的最主要的准则是C。A.抽象B.模块化C.模块D.信息隐蔽

5、A是数据说明、可执行语句等程序对象的集合,它是单独命名的并可通过名字访问。

A.模块B.复合语句C.程序块D.数据块6、模块C,则说明模块的性越强。

A.耦合越强B.扇入数越高C.耦合越弱D.扇入数越低7、模块之间的信息可以做“控制信息”用,也可以作为D用。A.控制流B.数据结构C.控制结构D.数据

8、A数据处理问题的工作过程大致分为三步:即取得数据、变换数据和输出数据。A.变换型B.事务型C.演化型D.结构化

9、在多层系统结构图中,其模块的层次数称为结构图的A。A.深度B.宽度C.控制域D.粒度

10、C着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。A.程序流程图B.数据流图C.系统结构图D.实体关系图

11、C是指把一些关系密切的软件元素物理地放置到彼此靠近的位置。A.信息隐蔽B.内聚C.局部化D.模块

12、块间联系和块内联系是评价程序结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和界面的C等因素决定了块间联系的大小。A.友好性B.健壮C.清晰性D.安全性13、为了提高模块的性,模块之间最好是D。A.公共耦合B.控制耦合C.内容耦合D.数据耦合14、为了提高模块的性,模块内部最好是C。A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚15、从下列有关系统结构图的叙述中选出正确的叙述D。A.系统结构图中反映的是程序中数据流的情况。

B.系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用?

C.一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。D.在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。三、选择填空

1、软件的开发工作经过需求分析阶段,进入(做”的问题。常用的软件设计方法有(

B

)、(

AC

)以后,就开始着手解决“怎么)、(

D

)和(

E

)等方法。

A.②,B.⑤,C.①,D.①,E.③。D与E的答案可互换

供选择的答案:A~B.①程序设计②设计阶段③总体设计④定义阶段⑤SD方法⑥SP方法

C.①Jackson方法②瀑布法③快速原型法④回溯法

D~E.①CP(Wanier)方法②递归法③Parnas方法④自下而上修正⑤逐步求精

法⑥检测校正法

2、请将下述有关模块性的各种模块之间的耦合,按其耦合度从低到高排列起来。③⑤④②⑥⑦①

①内容耦合②控制耦合③非直接耦合④标记耦合⑤数据耦合⑥外部耦合⑦公共耦合

3、请将下述有关模块性的各种模块内聚,按其内聚度(强度)从高到低排列起来。③⑥④⑦②⑤①

①巧合内聚②时间内聚③功能内聚④通信内聚⑤逻辑内聚⑥信息内聚⑦过程内聚

4、从供选择的答案中选出正确的答案填入下列叙述中的(③,D.④,E.①

模块内聚性用于衡量模块内部各成份之间彼此结合的紧密程度。

(1)一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚性是(A)的。

(2)将几个逻辑上相似的成分放在同一个模块中,通过模块入口处的一个判断决定执行哪一个功能。该模块的内聚性是(

B

)的。

C

)的。

D

)的。

)内。A.⑤,B.⑦,C.

(3)模块中所有成分引用共同的数据,该模块的内聚性是(

(4)模块内的某成份的输出是另一些成份的输入,该模块的内聚性是((5)模块中所有成份结合起来完全一项任务,该模块的内聚性是(有简明的外部界面,由它构成的软件易于理解、测试和维护。供选择的答案:

E

)的。它具

A~E:①功能内聚②信息内聚③通信内聚④过程内聚⑤巧合内聚⑥时间内聚⑦逻辑内聚

5、从供选择的答案中选出正确的答案填入下面的(

)中。

块间联系和块内联系是评价程序模块结构质量的重要标准。联系的方式、共用信息的作用、共用信息的数量和接口的(联系中,(

B

)的块内联系最强。

C

)功能,模块间传送(

DF

)参数,模)。

A

)等因素决定了块间联系的大小。在块内

SD方法的总的原则是使每个模块执行(块通过(

E

)语句调用其它模块,而且模块间传送的参数应尽量(

此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。SD方法认为,(

G

)应该是(

H

)的子集。

供选择的答案:A.③,B.②,C.①,D.①,E.②,F.①,G.①,H.②

A:①友好性②健壮性③简单性④安全性B:①巧合内聚②功能内聚③通信内聚④信息内聚

C:①一个②多个D:①数据型②控制型③混合型E:①直接引用②标准调用③中断④宏调用

F:①少②多G~H:①作用范围②控制范围

6、从供选择的答案中选出应该填入下列关于软件设计的叙述的(案。

在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(

A

)方法及编程阶段的(

B

)方法前后衔接,SD方法是考

)内的正确答

虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准——块间联系和块内联系。SD方法的最终目标是(的图叫(

D

)。

E

)方

C),用于表示模块间调用关系

另一种比较着名的设计方法是以信息隐蔽为原则划分模块,这种方法叫(法。

供选择的答案:A.②,B.⑤,C.③,D.③,E.②A~B:①Jackson②SA③SC④Parnas⑤SP

C:①块间联系大,块内联系大②块间联系大,块内联系小

③块间联系小,块内联系大④块间联系小,块内联系小D:①PAD②HCP③SC④SADT⑤HIPO⑥NSWirth⑤Dijkstra

7、从供选择的答案中选出应该填入下列关于软件详细设计的叙述的(答案。

软件详细设计工具可分为三类,即:图示工具、设计语言和表格工具。图示工具中,(

A)简单而应用广泛、(

C

B

)表示法中,每一个处理过程用一个盒子表示,

)内的正确

E:①Jackson②Parnas③Turing④

盒子可以嵌套。((

D

)可以纵横延伸,图形的空间效果好。

E

)的语言。A.②,B.①,

)是一种设计和描述程序的语言,它是一种面向(

C.④,D.②,E.①

供选择的答案:A~C:①NS图②流程图RPOLOG④PASCAL

E:①人

②机器

③数据结构④对象

③HIPO图④PAD图D:①C②PDL③

8、Jackson结构化程序设计方法(JSP)是英国人M.Jackson提出的,它是一种面向(

A

)的设计方法,主要适用于规模适中的(C

)、

(D)

、(

E)

B

)系统的开发,其基本步骤

依次为(

供选择的答案:A.③B.①C.①D.③E.②

A:①对象②数据流③数据结构④控制结构B:①数据处理②文字处理③实时控制④科学计算

C~E:①建立数据结构②列出基本操作③建立程序结构④建立控制结构⑤建立对象

9、从供选择的答案中选出应该填入下列关于软件设计的叙述的(案。

)内的正确答

在完成软件概要设计,并编写出相关文档之后,应当组织对概要设计工作的评审。评审的内容包括:

分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成份是否可(

A

)到某一项需求。分析软件各部分之间的联系,

B

)和

确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足((

C

)的要求。模块(

D

)是否在其(

E

)之内。

供选择的答案A.③,B.②,C.③,D.①,E.⑤A:①覆盖②演化③追溯④等同⑤连接效率⑤可读性

C:①多入口②低内聚③低耦合④低复杂度⑤低强度D~E:①作用范围②高内聚③低内聚④取值范围⑤控制范围

程序编码

一、填空

1、软件详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易懂。结构化程序设计是实现该目标的关键技术之一;它指导人们用良好的思想方法开发易于理解、易于验证的程序。2、结构化程序设计方法的基本要点是:①采用自顶向下、逐步细化的程序设计方法;②使用三种基本结构构造程序,避免GOTO语句的使用;③数据结构合理化。3、任何程序都可由顺序、选择和重复等三种基本控制结构构造。这三种基本控制结构的共同点是单入口和单出口。4、程序设计风格是人们编写程序的特点、习惯和逻辑思路等。5、语句构造的原则是简单,直接不能因为追求效率而使代码复杂化。6、追求效率建立在不损害程序可读性或可靠性的基础上。7、提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构和算法,而B:①多功能②高内聚③高耦合④高

不是靠编程时对语句进行调整。

8、为开发一个特定的项目选择程序设计语言时,必须从心理特性、工程特性和技术性能特性等几方面考虑。

9、通常考虑选用程序设计语言的因素有项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性和软件开发人员的知识。二、单项选择题

1、在编制程序时应采纳的原则之一是D。

A.不goto语句的使用B.减少或取消注解行C.程序越短越好结构应有助于读者理解

2、一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一个B。A.结构化程序

B.组合的过程C.自顶向下程序设计

D.分解过程

D.程序

3、程序控制一般分为B、分支和重复等三种基本控制结构。A.分块B.顺序C.迭代D.循环

4、将非结构化的程序转换为结构化程序的过程中,下面D不适用于具有重复结构的程序。

A.重复编码法

B.状态变量法C.布尔标记法

D.全部方法

5、以下说法正确的是B。

A.所有改变循环条件的成分都在循环体外行一次

C.在当型循环中,循环体至少要执行一

D.基本程序结构不允许嵌套B.在直到型循环中,循环体至少要执

6、源程序文档化要求在每个模块的首部加序言性注释。该注释的内容不应有B。A.模块的功能

B.语句的功能C.模块的接口

D.扇入数越低

7、功能性注释的作用是解释下面的语句B。

A.怎么做B.做什么C.何时做D.为何做

8、对于不好的程序,应当CA.打补丁

B.修改错误C.重新编写

D.原封不动

9、程序设计语言的心理特性在语言中表现不应包括C。A.二义性

B.简洁性C.保密性

D.传统性

10、程序设计语言的工程特性之一表现在A。A.软件的可复用性库的易操作性

11、程序设计语言的技术特性不应包括D。A.数据结构的可描述性件的可移植性

12、Lipow证明了:当源程序少于100个语句时,每行代码的出错率随程序行数的增长A。

A.呈线性相关关系三、选择填空题

1、从下列关于模块化程序设计的叙述中选出5条正确的叙述。(×)(1)程序设计比较方便,但比较难以维护。(√)(2)便于由多个人分工编制大型程序。(√)(3)软件的功能便于扩充。(√)(4)程序易于理解,也便于排错。

(×)(5)在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。

(×)(6)模块之间的接口叫做数据文件。

(√)(7)只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响

B.呈指数方式增长C.呈对数方式增长D.没有一定规律

B.抽象类型的可描述性C.数据库的易操作性

D.软

B.数据结构的可描述性C.抽象类型的可描述性

D.数据

别的模块。

(√)(8)模块间的单向调用关系叫做模块的层次结构。

(×)(9)模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。2、从下列叙述中选出5条符合程序设计风格指导原则的叙述。(1)、(3)、(5)、(7)、(9)是正确的

(1)嵌套的重数应加以。(2)尽量多使用临时变量。(3)不滥用语言特色。(4)不用可以省略的括号。(5)使用有意义的变量名。(6)应尽可能把程序编得短些。

(7)把常见的局部优化工作留给编译程序去做。(8)注解越少越好。

(9)程序的格式应有助于读者理解程序。(10)应尽可能多用GOTO语句。

3、从下面关于程序编制的叙述中,选出三条正确的叙述。(1)、(4)、(6)是正确的(1)在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方。程序员在作业时应该对这些地方作出适当的解释。

(2)在着手编制程序时,重要的是采用既能使程序正确地按设计说明书进行处理,又易于出错的编写方法。

(3)在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要象写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等。(4)考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要

有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。(5)编制程序时不可缺少的条件是,程序的输入和输出数据的格式都应确定。其他各项规定都是附带的,无足轻重。

(6)作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规程和单纯的表现方法,注意使整个程序的结构简洁。4、从供选择的答案中选出应该填入下面(

)中的正确答案。

)。

A.允许用户建立、修改、存储正文的计算机程序是(①

BOOtstrap②

Editor③Loader

④Textformatter

)。

B.程序语言的编译系统和解释系统相比,从用户程序的运行效率来看(①

前者运行效率高②

两者大致相同③后者运行效率高④

①)结构。

PL/1

)。

不能确定

C.FORTRAN语言的源程序是(①

COBOL②

BASIC③FORTRAN④

E.国际上最流行的数值计算的程序设计语言是(①

BASIC②

ALGOL③FORTRAN④

C

F.美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言(①

LISP

②)作为Ada研究的出发点。

③ALGOL68④

PL/1

)。

②ALGOL

G.在人工智能领域,目前最广泛使用的高级语言是(①

Ada②

FORTRAN③COBOL④

LISP

5、从供选择的答案中选出应该填入下面(A.汇编程序是指(①

)。

)中的正确答案。

用汇编语言写的程序②符号程序③汇编语言的处理程序

①)来保存(

)及有关

B.为了实现递归子程序的正确调用,人们必须用(

信息。

①堆栈②线性表③队列④树⑤入口点⑥返回地址⑦断点C.UNIX操作系统是(

)研制的,它是用程序语言(

)书写实现的。

①Bell实验室②DEC公司③IBM公司④PASCAL⑤并发PASCAL⑥MODULA⑦C6、从供选择的答案中选出适当的字句填入下面关于程序生产率的描述中的(内。A.⑤,

B.②,

C.③,

D.①,

E.③A

)是一种有效的提高程序设计效率的方法。

B

)、)

(1)1960年底Dijkstra提倡的(

(2)Dijkstra为了使程序结构易于理解,把基本控制结构限于顺序、((

C

)3种,应避免使用(A

D

)。

E

)。

(3)()不仅提高程序设计的生产率,同时也容易进行程序的(

供选择的答案:A.①标准化程序设计②模块化程序设计③多道程序设计④宏语言⑤结构化程序设计⑥汇编语言⑦表格处理语B~C.④计算⑤输入输出D.①④编码

软件测试

一、填空

1、软件测试阶段的基本任务应当是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一批“高产”的测试用例,利用这些测试用例执行程序,找出软件中潜藏的各种错误和缺陷。

2、测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地发现错误,提高程序的可靠性。对于不合理的测试输入数据,程序应拒绝执行,并给出相应的提示。GOTO语句②DO语句③IF语句④REPEAT语句E.①

设计②调试③维护①分支②

选择③重复

3、动态测试指通过运行程序发现错误。对软件产品进行动态测试时使用黑盒测试法和白盒测试法。4、静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。5、黑盒测试依据软件需求规格说明,检查程序是否满足功能要求。因此,黑盒测试由称为功能测试或数据驱动测试。6、白盒测试以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,程序的运行状态与预期的状态是否一致。

7、在基本路径测试中,路径是指包括一组以前没有处理过的语句或条件的一条路径。从程序图来看,一条路径是至少包含有一条上层调用模块的边的路径。8、在单元测试中,驱动模块的作用是用来模拟被测模块的主程序。它的工作是接受测试输入数据,以上层模块调用被测模块的形式驱动被测模块,接收被测模块的实测结果并输出。9、在单元测试中,桩模块用来代替被测模块的子模块。其作用是返回被测模块所需的信息。10、错误的群集现象是指模块错误发现率与模块的残留错误数成正比关系。二、选择题

1、在软件测试中,下面说法中错误的是A。

A.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序是正确的

C.好的测试方案是极可能发现迄今为止尚未发现的错误的方案D.成功的测试是发现了至今为止尚未发现的错误的测试2、软件测试的目的是B。

A.试验性运行软件错误

B.发现软件错误C.证明软件正确D.找出软件中全部

3、软件测试用例主要由测试输入数据和C两部分组成。

A.测试计划B.测试规则C.测试的预期结果D.以往测试记录分析4、与设计测试用例无关的文档是A。

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

5、软件测试是软件质量保证的主要手段之一,测试的成本已超过A的30%以上。因此,提高测试的有效性非常重要。

A.软件开发成本B.软件维护成本C.软件开发成本和维护成本D.软件研制成本

6、“高产”的测试是指C。

A.用适量的测试用例说明被测试程序正确无误B.用适量的测试用例说明被测试程序符合相应的要求C.用适量的测试用例发现被测试程序尽可能多的错?D.用适量的测试用例纠正被测试程序尽可能多的错误

7、如果想要进行成功的测试,为其设计测试用例主要依赖于B。

A.黑盒测试方法B.测试人员的经验C.白盒测试方法D.错误推测法8、使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准。A.程序的内部结构B.程序的复杂性C.使用说明书D.程序的功能

9、在用逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等。其中D是最强的覆盖准则。A.语句覆盖B.条件覆盖C.判定-条件覆盖D.路径覆盖10、在设计测试用例时,A是用得最多的一种黑盒测试方法。A.等价类划分B.边界值分析C.因果图

D.功能图

11、在黑盒测试中,着重检查输入条件的组合的测试用例设计方法是D。A.等价类划分

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

D.因果图法

12、从下列叙述中,能够与软件开发各阶段,如需求分析、设计、编码相对应的软件测试是B。

A.组装测试、确认测试、单元测试B.单元测试、组装测试、确认测试C.单元测试、确认测试、组装测试D.确认测试、组装测试、单元测试13、单元测试将根据在D阶段中产生的规格说明进行。

A.可行性研究与计划B.需求分析C.概要设计D.详细设计14、组装测试计划是在C阶段制定的。

A.可行性研究与计划B.需求分析C.概要设计D.详细设计15、确认测试计划是在B阶段制定的。

A.可行性研究与计划B.需求分析C.概要设计D.详细设计16、软件的组装测试最好是由D承担,以提高组装测试的效果。A.该软件的设计者开发组的人员

17、D是简化了的模拟较低层次模块功能的虚拟子程序。A.过程B.函数C.仿真D.桩

18、A是指为查明程序中的错误和缺陷,可能使用的工具和手段。A.调试技术

B.测试技术C.跟踪法D.动态测试

B.该软件开发组的负责人C.该软件的编程者D.不属于该

19、从已发现故障的存在到找到准确的故障位置并确定故障的性质,这一过程称为C。A.错误检测

B.故障排除C.调试D.测试

20、在程序设计的过程中应为程序调试做好准备,主要体现在D方面。

A.采用模块化、结构化的程序设计方法设计程序B.编写程序时要为程序调试提供足够的灵活性

C.根据程序调试的需要,选择并安排适当的中间结果输出和必要的断?上全是

21、统计资料表明,软件测试的工作量占整个软件开发工作量的C。A.30%B.70%

C.40%~50%

D.95%

D.以

22、软件测试计划是一些文档,它们描述了D。A.软件的性质

B.软件的功能和测试用例C.软件的规定动作

D.对于预定的

测试活动将要采取的手段

23、IBM公司的统计资料表明,使用静态测试的方法最高可以查出在测试中查出的全部软件错误的B。

A.80%B.70%C.50%D.35%24、黑盒测试方法的优点是D。

A.可测试软件的特定部位B.能站在用户立场测试C.可按软件内部结构测试D.可发现实现功能需求中的错误25、白盒测试方法的优点是C。

A.可测试软件的特定部位B.能站在用户立场测试C.可按软件内部结构测试D.可发现实现功能需求中的错误

26、等价类划分完成后,就可得出C,它是确定测试用例的基础。A.有效等价类B.无效等价C.等价类表D.测试用例集27、由因果图转换出来的A是确定测试用例的基础。A.判定表B.约束条件表C.输入状态表D.输出状态表三、选择填空题

1、从供选择的答案中选出应填入下列(

)中的字句。

软件测试的目的是(A②)。为了提高测试的效率,应该(B④)。使用白盒测试方法时,确定测试数据应根据(C①)和指定的覆盖标准。与设计测试数据无关的文

档是(D④)。

软件的集成测试工作最好由(E④)承担,以提高集成测试的效果?BR>供选择的答案:A.①

评价软件的质量②发现软件的错误③找出软件中的所有错误④证明软件

是正确的

B.①随机地选取测试数据③

②取一切可能的输入数据作为测试数据

④选择发现错误的可能性大的数据作

在完成编码以后制定软件的测试计划

为测试数据

C.①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D.①该软件的设计人员②程序的复杂程度③源程序④项目开发计划E.①

该软件的设计人员②该软件开发组的负责人③该软件的编程人员④不属

该软件开发组的软件人员

2、从供选择的答案中选出应填入下列(③F.④

为了把握软件开发各个环节的正确性和协调性,人们需要进行(A工作。(A(C

)和(B

)中的字句。A.②B.③C.②D.③E.

)的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括

),(B

F

)则试图证明在软件生存期各个阶段,以及阶段间

)和(D

的逻辑(E)、()和正确性。

供选择的答案:A,B.①操作②确认③验证④测试⑤调试

C,D.①用户的确认②需求规格说明的确认③程序的确认④测试的确认E,F.①可靠性②性③协调性④完备性⑤扩充性3、从供选择的答案中选出应填入下列(③

E.①

F.②

A

)、(

B

)和(

C

)。请选择正确的答案

)中的字句。A.②

B.④

C.⑥

D.

测试过程需要三类输入:(

填入下图中以完成测试信息处理的全过程。供选择的答案?

A~C.①接口选择②软件配置③硬件配置④测试配置⑤测试环境⑥测试工具D~F.①排错

②可靠性分析③结果分析④数据分类

)中的字句。A.②

B.④

C.④

4、请从供选择的答案中选出应填入下列(D.②

E.①

A

程序的三种基本控制结构是(设计的一种基本方法是(是(E

)。

C

)。它们的共同点是(

D

B)。结构化程序

)。软件测试的目的是()。软件调试的目的

供选择的答案:

A.①过程,子程序,分程序返回,转移B.①

不能嵌套使用②只能用来写简单的程序③已经用硬件实现④只有一个入

②顺序,条件,循环③递归,堆栈,队列④调用,

口和一个出口C.①D.①

筛选法②递归法③归纳法④逐步求精法证明程序中没有错误

②发现程序中的错误③测量程序的动态特性④检查

程序中的语法错误E.①

找出错误所在并改正之②排除存在错误的可能性③对错误性质进行分类

④统计出错的次数

5、从供选择的答案中选出同下列各条叙述关系最密切的字句。

(1)对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。(2)已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。(3)在意识到被测试模块的内部结构或算法的情况下进行测试。

(4)为了确认用户的需求,先做出系统的主要部分,提交给用户试用。

(5)在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。供选择的答案:(1)②

(2)⑩

(3)⑨

(4)⑧

(5)④

A~E:①仿真器②代码审查③模拟器④桩⑤驱动器⑥域测试⑦黑盒测试⑧原型⑨白盒测试⑩退化测试

6、从供选择的答案中选出应填入下面叙述的(

)内的正确答案。

软件测试方法可分为黑盒测试法和白盒测试法两种。黑盒测试法是通过分析程序的(A它还适用于对(B

)来设计测试用例的方法。除了测试程序外,

)阶段的软件文档进行测试。

)来设计测试用例的方法。除了测试程序外,它

白盒测试法是根据程序的(C也适用于对(D

)阶段的软件文档进行测试。

)覆盖比(F

白盒法测试程序时常按照给定的覆盖条件选取测试用例。(E覆盖严格,它使得每一个判定的每一条分支至少经历一次。(G

)覆盖既是判定

覆盖,又是条件覆盖,但它并不保证使各种条件都能取到所有可能的值。(H

覆盖比其他条件都要严格,但它不能保证覆盖程序中的每一条路径?BR>单元测试一般以(I

)为主,测试的依据是(

J

)。

供选择的答案:A.③B.④C.②D.②E.②F.①G.④H.⑤I.①J.①

A,C:①应用范围②内部逻辑③功能④输入数据B,D:①编码②软件详细设计③软件总体设计④需求分析

E~H:①语句②判定③条件④判定/条件⑤多重条件⑥路径法②黑盒法J:

①模块功能规格说明

②系统模块结构图

③系统需求规格说明

I:①白盒

7、从供选择的答案中选出应填入下面叙述的()内的正确答案。

集成测试也叫做(A)或(B)。通常,在(C)的基础上,将所有模

),它所做

块按照设计要求组装成为系统。子系统的集成测试特别称为?nbsp;D的工作是要找出子系统和系统需求规格说明之间的(

E)。需要考虑的问题是:

F

);一个模块

在把各个模块连接起来的时侯,穿越模块接口的数据是否会(的功能是否会对另一个模块的功能产生不利的影响;各个(G达到预期要求的(会放大。

H

);(

I

)组合起来,能否

)是否有问题;单个模块的误差累积起来是否

供选择的答案:A.③B.⑥C.①D.②E.⑥F.②G.①H.③I.⑤A、B的答案可互换

A~D.①单元测试②部件测试③组装测试④系统测试⑤确认测试⑥联合测试E~I.①⑦一致

8、从供选择的答案中选出应该填入下列叙述的(软件测试中常用的静态分析方法是(

A

)内的正确答案。

)。(

B

)用于检查模

)方

子功能②丢失③父功能④局部数据结构

⑤全局数据结构⑥不一致

)和(B

块或子程序间的调用是否正确。分析方法(白盒方法)中常用的方法是(C法。非分析方法(黑盒方法)中常用的方法是(D方法根据输出对输入的依赖关系设计测试用例。供选择的答案:A.①

B.⑤

C.①

D.②

E.③)方法和(E

)方法。(E

A~B:①引用分析②算法分析③可靠性分析④效率分析⑤接口分析⑥操作分析C~E:①路径测试②等价类③因果图④归纳测试⑤综合测试⑥追踪⑦深度优先⑧调试⑨相对图

9、从供选择的答案中选出应填入下面叙述的(

)内的正确答案。

等价类划分是一种典型的(A)方法,也是一种非常实用的重要的测试方法。使用这一方法,完全不考虑程序的(B)。用所有可能输入的数据来测试程序是不可能

的,只能从全部可供输入的数据中选择一个(C)进行测试。(D)是指某个

)。

输入域的集合,在该集合中,各个输入数据对于揭露程序中的错误是(E供选择的答案:A.②

B.①

C.②

D.⑤

E.③

A:①白盒测试方法②黑盒测试方法B:①内部结构②外部环境③顺序④流程C~E:①全集②子集③等效④不同的⑤等价类⑥典型集10、从供选择的答案中选出应填入下面叙述的(①

黑盒测试方法的缺点是(

A

)和(

D

)内的正确答案。)。

A.不可测试软件的特定部位B.不能发现功能需求中的错误

C.无法检验软件的外部特性D.无法测试未实现功能需求的软件的内部缺陷②

白盒测试方法的缺点是(

B

)和(

C

)。

A.不可测试软件的特定部位B.不能发现功能需求中的错误

C.无法检验软件的外部特性D.无法测试未实现功能需求的软件的内部缺陷

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务