收藏 分享(赏)

《软件工程》练习题.doc

上传人:dzzj200808 文档编号:2738107 上传时间:2018-09-26 格式:DOC 页数:32 大小:573KB
下载 相关 举报
《软件工程》练习题.doc_第1页
第1页 / 共32页
《软件工程》练习题.doc_第2页
第2页 / 共32页
《软件工程》练习题.doc_第3页
第3页 / 共32页
《软件工程》练习题.doc_第4页
第4页 / 共32页
《软件工程》练习题.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、软件工程练习题一一、单选题1可行性研究要进行一次( C )需求分析。A详细的 B全面的 C简化的、压缩的 D彻底的2系统流程图用于可行性分析中的( A )的描述。A当前运行系统 B当前逻辑模型C目标系统 D新系统3系统流程图是描述( C )的工具。A逻辑系统 B程序系统 C体系结构 D物理系统4软件的发展经历了( D )个发展阶段。A 一 B二 C三 D四5需求分析的任务不包括( B ) 。A问题分析 B系统设计 C需求描述 D 需求评审6一个软件的宽度是指其控制的( C ) 。 A模块数 B层数 C跨度 D厚度7可行性研究的步骤中不包括( C )的内容。A复查初步分析结果 B研究现有系统C导

2、出新系统高层逻辑模型 D建立新系统的物理逻辑模型解法8技术可行性是可行性研究的关键,其主要内容一般不包括( C ) 。A风险分析 B资源分析 C人员分析 D技术分析9提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要( D ) 。A消除错误 B检测错误 C避开错误 D容错10 ( D )是以提高软件质量为目的的技术活动。A技术创新 B创新 C技术创造 D技术评审11软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( D ) 。A软件生存期 B面向对象设计C面向对象程序设计 D面向对象分析12软件工程中的各种方法是

3、完成软件工程项目的技术手段,它们支持软件工程的( A )阶段。A各个 B前期 C中期 D后期13从事物的属性侧面来描述事物的方法就是( B )的方法。A面向对象 B面向过程 C面向数据 D面向属性14Jackson 方法在需求分析阶段的主要步骤不包括( A ) 。A了解实体行为 B标识实体与行为C生成实体结构图 D创建软件系统模型15原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。A需求不确定性高的 B需求确定的C管理信息 D实时16原型化方法是一种( A )型的设计过程。A自外向内 B自顶向下 C自内向外 D自底向上17软件总体设计是指软件总体结构设计和数据设计,该阶段

4、的主要任务不包括( D ) 。A设计软件的模块结构 B定义接口并建立数据结构C生成概要设计规格说明和组装测试计划 D模块设计18软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即( A ) 。A软件 B硬件 C文本 D说明19下列关于瀑布模型的描述正确的是( D ) 。A利用瀑布模型,如果发现问题修改的代价很低B瀑布模型的核心是按照软件开发的时间顺序将问题简化C瀑布模型具有良好的灵活性D瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开20总体设计的目的是确定整个系统的( B ) 。A规模 B功能及模块结构 C费用 D测试方案21如果某种内聚要求一个模块中包含的任务必须

5、在同一段时间内执行,则这种内聚为( A ) 。A时间内聚 B逻辑内聚 C通信内聚 D信息内聚22软件需求分析的任务不包括( C ) 。A问题分析 B信息域分析 C结构化设计 D确定逻辑结构23进行需求分析有的多种描述工具,但不包括( C ) 。A数据流图 B判定表 CPAD 图 D数据字典24在需求分析过程中,分析员要从用户那里解决的最重要的问题是( A ) 。A要求软件做什么 B要给软件提供什么信息C要求软件工作效率如何 D要求软件具有什么样的结构25以下软件成本估算模型中,是动态多变量的模型有( C ) 。AHalstead 理论模型 BDeiphi 专家估算模型CPutnam 估算模型

6、DCOCOMO 模型26关于快速建立渐进原型(RCP 法)的论述不正确的是( C ) 。ARCP 法建立的原型反映了系统的某些主要特征。BRCP 法采用循环渐进的开发方式,对系统模型作连续精化。CRCP 法建立需求规格原型,当需求说明一旦确定原型被废弃。DRCP 法也称为追加(add on)型的原型化方法。27面向对象的开发方法的工作模型是( B ) 。A瀑布模型 B喷泉模型 C智能模型 D循环模型28中级结构性成本模型 COCOMO 是一个( C )。 A. 静态单变量模型 B. 动态单变量模型 C. 静态多变量模型 D. 动态多变量模型29研究开发所需要的成本和资源是属于可行性研究中的(

7、B )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性30面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A. Booch 方法 B. Coad 方法 C. UML 语言 D. OMT 方法31瀑布模型本质上是一种( A )。 A. 线性顺序模型 B. 顺序迭代模型C. 线性迭代模型 D. 及早见产品模型32在 SD 方法中全面指导模块划分的最重要的原则是( D )。 A. 程序模块化 B. 模块高内聚 C. 模块低耦合 D. 模块独立性33软件结构图的形态特征能反映程序复用率的是( C )。 A. 深度 B. 宽度 C.

8、 扇入 D. 扇出34软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )。 A. 可用性 B. 可靠性 C. 正确性 D. 完整性35为了提高模块的独立性,模块内部最好是( C )。 A. 逻辑内聚 B. 时间内聚 C. 功能内聚 D. 通信内聚36软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系37需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告38软件是一种( C )。 A. 程序 B. 数据 C.

9、 逻辑产品 D. 物理产品39开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为( C )。 A. 软件工程 B. 软件周期 C. 软件危机 D. 软件产生40Putnam 成本估算模型是一个( D )模型。A. 静态单变量 B. 动态单变量 C. 静态多变量 D. 动态多变量41IDEF0 图不反映( B )。 A. 系统做什么 B. 系统功能如何实现 C. 系统由谁来做 D. 系统实现的约束条件42模块的内聚性最高的是( D )。 A. 逻辑内聚 B. 时间内聚 C. 偶然内聚 D. 功能内聚43软件复杂性度量的参数包括( B )。A效率 B规模 C完整性 D容错性44需求分

10、析中开发人员要从用户那里了解( A )。A. 软件做什么 B. 用户使用界面 C. 输入的信息 D. 软件的规模45IDEF0 图反映系统( D )。A. 怎么做 B. 对谁做 C. 何时做 D. 做什么46经济可行性研究的范围包括( C )。A. 资源有效性 B. 管理制度 C. 效益分析 D. 开发风险47可行性分析是在系统开发的早期所做的一项重要的论证工作,它是该系统是否开发的决策依据,因此必须给出( B )的回答。A. 确定 B. 行或不行 C. 正确 D. 无二义48需求分析阶段的任务是确定( D )。A. 软件开发方法 B. 软件开发工具 C. 软件开发费 D. 软件系统的功能49

11、在屏蔽硬件错误的容错技术中,冗余附加技术有( D )。A. 三模冗余 B. 信息冗余C. 冗余备份程序的存储及调用 D. 关键程序和数据的冗余存储和调用50软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )。A. 可用性 B. 可靠性 C. 正确性 D. 完整性51下列模型属于成本估算方法的有( A )。A. COCOMO 模型 B. McCall 模型C. McCabe 度量法 D. 时间估算法二、填空题1在软件开发过程中要产生大量的信息,要进行大量的修改,(软件配置管理)能协调软件开发,并使混乱减到最低程度。2规定功能的软件,在一定程度上对自身错误的

12、作用具有屏蔽能力,则称此软件具有(容错功能)的软件。3McCall 提出的软件质量模型包括(11 )个软件质量特性。4软件结构是以(模块)为基础而组成的一种控制层次结构。5若年利率为 i,不计复利,n 年后可得钱数为 F,则现在的价值 P=( F/(1+(n*i) )。6软件工程是从(管理)和(技术)两个方面研究如何更好的开发和维护计算机软件的一门学科。7软件开发技术包括软件开发方法学、(软件工具)和(软件开发环境)。8结构化分析方法使用数据流图 DFD 和(数据字典 DD )来描述。9模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠性和(可测试性)。10在分层的数据流图中,称上层图为下

13、层图的(父图),下层图为上层图的(子图)。11Jackson 图既可用表达程序结构,也可用表达(数据结构)。12实现容错的主要手段是冗余和(防错程序设计)。13软件有效性,指软件系统的时间和(空间)效率。14软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。15软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么” 。16为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。17一个软件的深度是指其控制的(层数)。18成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。19软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。20软件

14、项目管理的范围主要集中于 3 个 P 上,即:People 人员、Problem 问题和(过程)。21任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。22软件项目管理的对象主要包括产品、过程和(资源)等。23计算机系统工程是用工程、科学和(数学)的原则与方法研制基于计算机的系统的有关技术、方法和过程。24在 Jackson 方法中,实体结构是指实体在时间坐标系中的行为序列。这种序列以(重复)、顺序和选择三种结构进行复合。25一个模块的“扇出数”是指该模块直接控制的其他(模块数)。26软件可适应性,是指软件在不同的(系统约束)条件下,使用户需求

15、得到满足的难易程度。27如果一个模块控制另一个模块,称前者为主控模块,后者为(从属)模块。28软件工程由方法、工具和过程三部分组成,称为(软件工程)的三要素。29软件可修改性,是指允许对软件系统进行修改而不增加其(复杂)性。30一般来说,产品、过程、资源等对象都具有内部属性和(外部)属性。31软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,包括(风险估算)、风险标识、风险评价、风险驾驭和监控。32基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。33数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、(数据源)以及外部实体

16、。34成本估算模型中,Putnam 估算模型是一种(动态多变量)模型。35功能模型描述子系统的所有计算,它由多张(数据流图)组成。36结构化程序设计方法是使用(三种基本控制结构)构造程序。37按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和(事务分析设计)。38数据流图仅反映系统必须完成的逻辑功能,所以它是一种(功能)模型。39在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和(用户组织的管理模式及规范)。40软件开发方法是一种使用早已定义好的技术集及(符号表示习惯)来组织软件生产的过程。41数据项是指(不可再分解的)数据单元。42瀑布模型是以文档为驱动、

17、适合于(软件需求明确)的软件项目的模型。43纯收入是指在整个生存周期之内的(累计经济效益(折合成现在值)与投资之差。44CASE 工具的平台集成指工具运行在相同的(硬件/操作系统)平台上。45将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为(差别估算法)。三、判断题1在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。 (错)2SA 法是面向数据流,建立在数据封闭原则上的需求分析方法。 (对)3HIPO 法既是需求分析方法,又是软件设计方法。 (对)4在面向对象的需求分析方法

18、中,建立动态模型是最主要的任务。 (错)5需求分析的主要方法有 SD 法、OOA 法及 HIPO 法等。 (错)6分层的 DFD 图可以用于可行性分析阶段,描述系统的物理结构。 (错)7用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。 (对)四、名词解释1. 软件生存周期模型软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。2数据字典 DD数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。3内聚性内聚性是模块独立性的衡量标准之一,它是指模块

19、的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。4JSP 方法JSP 方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。5软件生存周期软件生存周期包括一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。6概要设计概要设计是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能实现。7耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模

20、块的独立性则越差。8信息隐蔽信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据) ,对于不需要这些信息的其他模块来说是不能访问的。9模块的作用范围一个模块的作用范围是指受该模块内一个判定影响的所有模块的集合。 10SA结构化分析方法(SA)是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。11CASECASE 是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE 把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了 CAD(计算机辅

21、助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE 领域是一个应用、继承和综合的领域。12. .结构化分析方法结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下、逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。五、简答题1模块的内聚性包括哪些类型?模块的内聚性包括:(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚2软件产品具有哪些特性?(1)软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。(2)软件是通过人们的智力活动,把知识与技术转化成信息的一种

22、产品,是在研制、开发中被创造出来的。(3)在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题。(4)软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。(5)软件的开发至今尚未完全摆脱手工的开发方式。(6)软件的开发费用越来越高,成本相当昂贵。3什么是耦合?什么是内聚?耦合是对一个软件结构内各个模块之间互连程度的度量。内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。4什么是计算机软件?计算机软件包括与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。5需求分析的任务是什么?需求分析的任务是确定待开发的软件系统“做什么

23、” 。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。6如何对软件项目进行成本管理?项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用估算软件。7快速原型技术的基本思路是什么?在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。8什么是软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。9软件项目的质量管理包含哪几方面?(1)制定软件质量保证计划。(2)按照质量评价体系控制软件质量要素。

24、(3)对阶段性的软件产品进行评审。(4)对最终软件产品进行确认,确保软件质量。10螺旋模型的适应场合有哪些?支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。11简述软件生存周期的五个阶段?软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。12软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容?(1)风险标识(2)风险估算(3)风险评价(4)风险驾驭和监控。13需求评审标准(按照重要性的次序)包括正确性、无歧义性、完全性、可验证性和其它那些内容?(1)一致性

25、(2)可理解性(3)可修改性(4)可追踪性14可行性研究报告的主要内容有哪些?(1)引言。 (2)可行性研究前提。 (3)对现有系统的分析。 (4)所建议系统的技术可行性分析。 (5)所建议系统的经济可行性分析。 (6)社会因素可行性分析。 (7)其他可供选择方案。 (8)结论意见。15软件危机的表现是什么?(1)经费预算经常突破,完成时间一再拖延。 (2)开发的软件不能满足用户要求。 (3)开发的软件可维护性差。 (4)开发的软件可靠性差。16原型法模型一般适应哪些场合?它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或

26、通信有困难的情况。17简答软件工程的目标是什么?在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。18常用的软件项目的估算方法主要有哪 4 种?(1)自顶向下的估算方法(2)自底向上的估算方法(3)差别估算法(4)根据经验估算公式19软件危机产生的原因是什么?(1)软件的规模越来越大,结构越来越复杂。 (2)软件开发管理困难而复杂。 (3)软件开发费用不断增加。 (4)软件开发技术落后。 (5)生产方式落后。 (6)开发工具落后,生产率提高缓慢。20什么是经济可行性?进行开发成本的估算以

27、及了解取得效益的评估,确定要开发的项目是否值得投资开发。21为什么说“CASE 领域是一个应用、集成和综合的领域”?CASE 是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。22软件复杂性度量的主要参数有哪些?简单说明其含义。(1)规模:总共的指令数或源程序行数。 (2)难度:通常由程序中出现的操作数的数目所决定的量来表示。 (3)结构:通常用与程序结构有关的度量来表示。 (4)智能度:即算法的难易程度。23试画出

28、Jackson 方法所用的结构图的三种基本结构及对应的图解逻辑。(1)三种基本结构为:顺序结构 选择结构 重复结构(2)顺序结构的图解逻辑 选择结构的图解逻辑 重复结构的图解逻辑A seq A select(条件 1) A iter while(条件)B B BC A or (条件 2) A endD CA end A end24简述软件工程目标和面临的主要问题。软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。面临的

29、主要问题是:软件费用、软件可靠性、软件维护、软件生产率、软件重用。25简述结构化程序设计方法的基本要点。(1)采用自顶向下,逐步求精的程序设计方法。 (2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。六、理论应用题1某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划。(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传

30、达到各科,将组装月计划分解为周计划,下达给车间。技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。答:2根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。答:3可将软件生存周期划分为哪 3 个过程和哪 9 个阶段。答:(1)3 个过程是:软件定义过程、软件开发过程

31、、软件使用与维护过程。(2)9 个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。4已知一个软件项目的记录,开发人员 M=3 人,其代码行数=12.1KLOC,工作量 E=24PM,成本 S=168000 美元,错误数 N=29,文档页数 Pd=365 页。试计算开发该软件项目的生产率P、平均成本 C、代码出错率 EQR 和文档率 D。答:(1)软件开发的生产率 P 为:P = L / E = 12.1103LOC / 24PM = 504 LOC/PM(2)开发每行代码的平均成本 C 为:C = S / L = 168000 美元 / 12100

32、LOC=13.9 美元/LOC(3)代码出错率 EQR 为:EQR = N / L = 29 个/12.1KLOC=2.4 个/KLOC(4)软件的文档率 D 为:D = Pd / L = 365 页 / 12.1KLOC = 30 页/ KLOC5银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码) 、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存款存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据

33、流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。答:(1)描述本系统功能的数据流图如下所示:储户1记录存款信息2打印存款单3核对密码4计算利息4打印利息清单储户存款单取款单存款信息 存款存单存款信息存款信息存款信息D1存款信息 利息值(2)描绘计算机储蓄系统中数据对象的实体-联系图。储户 储户所存取款M N姓名住址 身份证号码电话号码 名称地址电话号码数额类型 利率到期日期 密码6画出银行取款过程的 DFD 图。问题描述为:储户用存折取款,首先填写取款单,根据“ 账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款 数据库” ,修改相应数据,并更新“账卡

34、” ,同时发出付款通知,出纳向储户付款。答:7图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 12 个改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。答:下图为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。8图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组。(2)订书组从各单位取得要订的书目。(3)根据供书目录和订书书目产生订书文档留底。(4)将订书信息(包括数目,数量等 )反馈给供书单位。(5)将未订书目通知订书者。(6)对于重复订购的书目由

35、系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。答:(1)数据流图:(2)软件结构图:9根据下列描述,画出学生申请 IC 借书卡的第一层数据流图。学生入学后到图书馆申请IC 借书卡,图书馆管理人员根据 IC 借书卡库存情况分析是否需要购买新的 IC 借书卡,如需购买,则向 IC 借书卡提供商购买。各种资金往来通过学校的会计科办理。答:软件工程练习题二一、单选题1面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。A对应 B映射 C反映 D反射2盒图也称为( D)或 Chapin 图。这种表达方式

36、取消了流程线,它强迫程序员以结构化方式思考和解决问题。A流程图 B框图 C判定表 DN-S 图3面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的( A )结构。 A程序 B数据 C逻辑 D物理4人机界面的风格大致经过了(B)代的演变。A三 B四 C五 D六5以下不属于白盒测试技术的是( D ) 。A逻辑覆盖 B基本路径测试 C循环覆盖测试 D等价类划分6为改正软件系统中潜藏的错误而进行的维护活动称为( A ) 。 A纠错性维护 B适应性维护 C改善性维护 D预防性维护7 ( D )工具在软件详细设计过程中不采用。A判定表 BIPO 图 CPDL DDFD 图

37、8当模块中包含复杂的条件组合,只有( D )能够清晰地表达出各种动作之间的对应关系。A关系图 B盒图 C流程图 D判定树和判定表9以下不属于逻辑覆盖的是( D ) 。A语句覆盖 B判定覆盖 C条件覆盖 D基本路径10为适应软件运行环境的变化而修改软件的活动称为( B ) 。A纠错性维护 B适应性维护 C改善性维护 D预防性维护11程序的三种基本控制结构的共同特点是( D ) 。A不能嵌套使用 B只能用来写简单程序C应该用硬件实现 D只有一个入口和一个出口12产生软件维护的副作用,是指( C ) 。A开发时的错误 B隐含的错误C因修改软件而造成的错误 D运行时误操作13维护中,因误删除一个标识符

38、而引起的错误是( C )副作用。A文档 B数据 C编码 D设计14可维护性的特性中相互促进的是( A) 。A可理解性和可测试性 B效率和可移植性C效率和可修改性 D效率和结构好15从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为( A )的方法。A面向对象 B面向数据 C面向过程 D面向属性16判定表由四部分组成:左上部列出( B ) 。A条件组合与动作之间的对应关系 B所有条件C所有可能的动作 D可能的条件组合17根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为( C ) 。A纠错性维护 B适应性维护 C改善性维护 D预防性维护18将软件组装成系统的一种测试技术叫

39、( A ) 。A集成测试 B单元测试 C集合测试 D系统测试19汽车有一个发动机。汽车和发动机之间的关系是( B )关系。A一般具体 B整体部分 C分类关系 D主从关系20实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的( D )%。A30 B50 C70 D9021为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为( D ) 。A纠错性维护 B适用性维护 C改善性维护 D预防性维护22为了提高测试的效率,应该( D ) 。A随机地选取测试数据 B取一切可能的输入数据作为测试数据C在完成编码以后制定软件的测试计划D选择发现错误可能性大的数据作

40、为测试数据23使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A程序的内部逻辑 B程序的复杂结构C使用说明书 D程序的功能24统计表明,软件测试工作往往占软件开发总工作量的( B )%以上。A20 B40 C60 D8025单元测试的测试对象是( B ) 。A系统 B程序模块 C模块接口 D系统功能26维护工作量的估算模型为:MP+Ke(c-d)其中:M 代表( A ) 。A维护所用工作量 B生产性工作量C助动性工作量 D经验常数27维护的副作用可分三类,不包括( D ) 。A代码副作用 B数据副作用 C文档副作用 D人员副作用28下列各方法中( D )不是软件测试方法。A白

41、盒法 B黑盒法 C动态测试 D盒法29软件测试的目的是( B ) 。A评价软件的质量 B发现软件的错误C找出软件中的所有错误 D证明软件是正确的30白盒法又称为逻辑覆盖法,主要用于( D ) 。A功能测试 B系统测试 C 测试 D单元测试31结构化分析方法(SA 法)使用的主要描述工具有( D ) 。A数据库 B模块结构图 CPAD 图 D分层的 DFD 图32UML 中,包图是一种( C ) 。A集合 B数据结构 C分组机制 D对系统的动态描述33软件可维护性的特性中相互矛盾的是( C ) 。 A. 可修改性和可理解性 B. 可测试性和可理解性 C. 效率和可修改性 D. 可理解性和可读性3

42、4用黑盒技术设计测试用例的方法之一为( A ) 。 A. 边界值分析 B. 逻辑覆盖 C. 循环覆盖 D. 基本路径测试35软件测试方法中的( D )属于静态测试方法。 A. 黑盒法 B. 路径覆盖 C. 错误推测 D. 人工检测36Ada 语言是在 Pascal 语言基础上开发出来的,适用于( C)项目的应用领域。 A. 科学工程计算 B. 数据库应用C. 实时处理 D. 人工智能37程序设计语言的工程特性之一为( A ) 。 A. 软件的可重用性 B. 数据结构的描述性C. 抽象类型的描述性 D. 数据库的易操作性38软件详细设计的主要任务是确定每个模块的( A ) 。 A. 算法和使用的

43、数据结构 B. 外部接口 C. 功能 D. 编程39PAD 图为( B )提供了有力的工具。 A. 系统分析 B. 软件的自动化生成 C. 自动分析数据 D. 测试软件40对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。A. 结合 B. 隐藏 C. 封装 D. 抽象41软件调试技术包括( B ) 。A. 边界值分析 B. 演绎法 C. 循环覆盖 D. 集成测试42瀑布模型的存在问题是( B ) 。A. 用户容易参与开发 B. 缺乏灵活性C. 用户与开发者易沟通 D. 适用可变需求43软件测试方法中的静态测试方法之一为( A ) 。A. 计算机辅助静态分析 B. 黑盒法C.

44、路径覆盖 D. 边界值分析44软件生命周期中所花费用最多的阶段是( D ) 。A. 详细设计 B. 软件编码 C. 软件测试 D. 软件维护45第一个体现结构化编程思想的程序设计语言是( B ) 。A. Fortran 语言 B. Pascal 语言 C. C 语言 D. PL/1 语言46程序的三种基本控制结构是( B ) 。A. 过程、子程序和分程序 B. 顺序、选择和重复C. 递归、堆栈和队列 D. 调用、返回和转移47在详细设计阶段,经常采用的工具有( A ) 。A. PAD B. SA C. SC D. DFD48详细设计的结果基本决定了最终程序的( C ) 。A. 代码的规模 B.

45、 运行速度 C. 质量 D. 可维护性49结构化程序设计主要强调的是( D ) 。A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 D. 程序易读性50软件详细设计主要采用的方法是( D )。A. 模块设计 B. 结构化设计 C. PDL 语言 D. 结构化程序设计51下列关于 JSP 方法不正确的说法是( D )。A. JSP 方法主要用于规模不大的数据处理系统B. JSP 方法不明确的划分软件概要设计和详细设计的两个阶段C. JSP 方法适用于输入数据和输出数据之间有对应关系的问题求解D. JSP 方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于

46、详细设计阶段52不适合作为科学工程计算的语言是( D )。A. Pascal B. C C. Fortran D. Prolog53黑盒测试在设计测试用例时,主要需要研究( A )。A. 需求规格说明与概要设计说明 B. 详细设计说明C. 项目开发计划 D. 概要设计说明与详细设计说明54若有一个计算类型的程序,它的输入量只有一个 X,其范围是-1.0,1.0 ,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C )。A. 条件覆盖法 B. 等价分类法 C. 边界值分析法 D. 错误推测法55下列属于维护阶段的文档是( C )。A. 软件

47、规格说明 B. 用户操作手册C. 软件问题报告 D. 软件测试分析报告56因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )。A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护57类库这种机制是( D )级别的信息共享。A. 同一类 B. 不同类 C. 同一应用 D. 不同应用58只有单重继承的类层次结构是( C )层次结构。A. 网状型 B. 星型 C. 树型 D. 环型59下列文档与维护人员有关的有( C )。A. 软件需求说明书 B. 项目开发计划C. 概要设计说明书 D. 操作手册60采用 Gantt 图表示软件项目进度安排,下列说法中正确的是( D

48、)。A. 能够反映多个任务之间的复杂关系B. 能够直观表示任务之间相互依赖制约关系C. 能够表示哪些任务是关键任务D. 能够表示子任务之间的并行和串行关系二、填空题1软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可使用性和效率。2为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。3程序设计语言的心理特性主要表现在(歧义性)、简洁性、传统性、局部性和顺序性。4在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和(判定树)。5结构化语言是介于自然语言和(形式语言)之间的一种半形式语言。6程序的控制结构一般采用(顺序)、(选择)、(循环)三种构成,这样可确保结构比较简单。7程序的效率是指程序的执行速度和(程序占用的存储空间)。8文档是一种数据媒体和其上所记录

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报