软件工程案例教程-习题及答案-第1-11章.docx
《软件工程案例教程-习题及答案-第1-11章.docx》由会员分享,可在线阅读,更多相关《软件工程案例教程-习题及答案-第1-11章.docx(22页珍藏版)》请在咨信网上搜索。
<p>软件工程案例教程习题及答案(汪作文版) 习题1第一章一、选择题 1 .软件的主要特性是() A、无形性B、高本钱 C、包括程序和文档D、可独立构成计算机系统.软件工程三要素是() A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法.包含风险分析的软件工程模型是() A、螺旋模型B、瀑布模型 C、增量模型D、喷泉模型4,软件工程的主要目标是() A、软件需求B、软件设计 C、风险分析D、软件实现5,以下属于面向对象开发方法的是() A、 Booch B、 UML C、 Coad D、 OMT6,软件危机的主要表现是() A、软件本钱太高B、软件产品的质量低劣 C、软件开发人员明显缺乏D、软件生产率低下.软件开发方法的主要工作模型有() A、螺旋模型B、循环模型 C、瀑布模型D、专家模型.软件工程的目标有() A、易于维护 B、低的开发本钱 C、高性能 D、短的开发期.软件工程学的目的和意义是() A、应用科学的方法和工程化的规范管理来指导软件开发。 B、克服软件危机。 C、作好软件开发的培训工作。 D、以较低的本钱开发出高质量的软件。 二、判断题.软件就是程序,编写软件就是编写程序。 1 .瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。 2 .结构化方法的工作模型是使用螺旋模型进行开发的。 3 .结构化方法和JSP方法都不适合于大型软件的开发.原型化开发方法包括生成原型和实现原型两个步骤。 4 .面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序 设计。 5 .软件危机的主要表现是软件的需求量迅速增加,软件价格上升。 C自底向上D从复杂到简单.对象是人们要研究的任何事物主要的对象类型有() A有形实体B作用 C事件D性能说明.以下不是常见的模型元素间的关系有() A 关联B聚合C依赖 D笔记.UML具有扩展性,常见的扩展机制有() A修饰B版类 C加标签值 D约束.UML语言支持的建模方式有() A 静态建模 C动态建模 C模块化建模 D功能性建模 14,以下各种图可用于动态建模的有() A状态图 B类图 C序列图 D活动图.以下属于状态的组成局部的有() A名称 B活动 C条件 D事件. UML中包括的事件有0 A条件成真 B收到另一对象的信号 C收到操作调用D经过指定时间间隔.属性的可见性有() A:公有的 B私有的 C私有保护的 D保护的.用例之间的关系有() A:友元 B扩展 C使用 D组合.应用于通用化约束的方式有() A完整 B不相交 C不完整 D覆盖.消息的类型有() A同步 B异步 C简单 D复杂二、判断题 1.面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。 2,类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对 象。 3•继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关 系。 4,多态性增强了软件的灵活性和重用性,允许用更为明确,易懂的方式去建立通 用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。 5 .面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 6 .面向对象的设计主要目标是提高生产效率,提高质量和提高可维护性。 7 .对象模型表示了静态的,结构化的,系统数据性质,描述了系统的静态结构,她 是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。 8 .面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解,分析和 反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。 9 .类的设计过程确定类,确定关联类,确定属性,识别继承关系。 10,复用也叫重用或再用,面向对象技术中的“类”,是比拟理想的可重用软构 件,有三种重用方式实例重用,继承重用,多态重用。 11 .主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个 模型要同时考虑和理解的内容,主题起一种控制作用。 12 .面向对象的分析由对象,结构,继承性和基于消息的通信构成。 13 .支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的 根本区别。 14 .面向对象的分析过程主要包括三项内容理解,表达和验证。 15 .面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。 16 .UML是由图和元模型组成的。UIVIL的语义是定义在一个四层建模概念框架中的, 这四个层次分别是元元模型层,元模型层,模型层,用户模型层.UML是一种建模语言,是一种标准的表示,是一种方法。 17 .元素是UML的基本构成单位,它包括模型元素和视图元素.关系是模型元素的抽象子类型。关系的责任是在元素实例中建立语义连接。 除非由子类型另外指定,与所有连接相同元素实例的关系实例关联的名字实例必 须是唯一的 18 .角色是关联角色实例到属性实例集合的共享聚集。角色的责任是指定如何在 关联实例的一端将类型实例一的实例划分.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。 19 .用例模型的基本组成部件是用例,角色和系统.用例之间有扩展,使用,组合,三种关系 20 .序列图描述对象是如何交互的并且将重点放在消息序列上.活动图显示动作及其结果。着重描述操作实现中所完成的工作以及用例实例 或类中的活动。 三、简答题.与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别? 1 .阐述面向对象的特征,并做简要的解释? 2 . C0AD方法严格区分了面向对象分析00A和面向对象设计00D。00A方法利用五 个层次和活动定义和记录系统行为,输入和输出。请简述这五个层次? 3 .面向对象程序设计有哪些优点? 4 .面向对象方法与结构化方法比拟。 5 .当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对 象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态 逻辑、静态物理和动态物理。试描述一下这四种特性。 6 .如何绘制活动图? 7 .简述四种UML依赖关系异同。 8 .为什么要使用UML? 9 .简述UML实际建模过程.在UML中的状态图,协作图,活动图,序列图在系统分析中各起到了什么作 用? 10 .简述关联和依赖的区别。 习题4第七章答案 一>选择题ABC 1. BCDACD 2. ABABCD 3. ABDAB 4. ABCDAC 5. ABCDD 6. BCDABD 7. ACDAB 8. ABCDABD 9. BCDABCD 10. ABC二、判断题 1 .错误.正确 2 .错误.错误 3 .正确.正确 4 .正确.正确 5 .正确.正确 6 .正确.错误 7 .正确.正确 8 .正确.正确 9 .错误.正确 10 .正确.正确 11 .错误.正确 12 .正确.正确 25.错误三、简答题 1 .与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别? 答:1)消息传递必须给出信道的信息,通常要指出明显的接受方。2)由于 接受方是一通信实体,具有保持状态的能力,所以同一发送方在不同时刻向同一 接受方发送同样的信息,可因接受方的当前状态不同而得到不同的结果。3)消 息传递可以是异步的,发送方可以不必等待接受方返回信息就可以继续执行后面 的操作,因而支持程序的并发和分布执行,而过程调用只能是同步的,本质上是 串行的。 2 .阐述面向对象的特征,并做简要的解释? 答:1)对象唯一性。 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。 2)分类性。 是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。 3)继承性。 是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。 4)多态性。 是指相同的操作或函数,过程作用于多种类型的对象上并获得不同的结果。 3 . COAD方法严格区分了面向对象分析00A和面向对象设计00D。00A方法利用五 个层次和活动定义和记录系统行为,输入和输出。请简述这五个层次? 1)发现类及对象。描述如何发现类及对象。从应用领域开始识别类及对象, 形成整个应用的基础,然后,据此分析系统的责任。 2)识别结构。该阶段分为两个步骤。第一,识别一般一特殊结构,该结构 捕获了识别出的类的层次结构;第二,识别整体一局部结构,该结构用来表示一 个对象如何成为另一个对象的一局部,以及多个对象如何组装成更大的对象。 3)定义主题。主题由一组类及对象组成,用于将类及对象模型划分为更大 的单位,便于理解。 4)定义属性。其中包括定义类的实例(对象)之间的实例连接。 5)定义服务。其中包括定义对象之间的消息连接。 4 .面向对象程序设计有哪些优点? 答:并发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象 编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。 程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加 局部化。 5 .面向对象方法与结构化方法比拟 答:分析是问题抽象(做什么),设计是问题求解(怎么做),实现是问题的 解(结果)。任何方法学对客观世界的抽象和求解过程都是如此。在问题抽象阶 段,结构化方法面向过程,按照数据变换的过程寻找问题的结点,对问题进行分 解。因此,与面向对象方法强调的对象模型不同,描述数据变换的功能模型是结 构化方法的重点。如果问题世界的功能比数据更复杂或者更重要,那么结构化方 法仍然应是首选的方法学。如果数据结构复杂且变换并不多,那么如以过程主导 分析和设计,一旦有系统变更就会给下游开发带来极大混乱。 由于对过程的理解不同,面向过程的功能细分所分割出的功能模块有时会因人而异。而面向对象的对象细分,从同一问题领域的对象出发,不同人得出相同 结论的比率较高。 在设计上,结构化方法学产生自顶向下、结构清晰的系统结构。每个模块有 可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑 模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,模 块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的 系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。 在软件工程基本原那么中有一条“形式化原那么”,即对问题世界的抽象结论应 该以形式化语言(图形语言、伪码语言等)表述出来。结构化方法可以用数据流 图、系统结构图、数据辞典、状态转移图、实体关系图来进行系统逻辑模型的描 述;而面向对象方法可以使用对象模型图、数据辞典、动态模型图、功能模型图。 其中对象模型图近似系统结构图与实体关系图的结合,动态模型图类似状态迁移 图,功能模型图类似数据流图。 6 .当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对 象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态 逻辑、静态物理和动态物理。试描述一下这四种特性 答:静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/局部)、 和一般化(继承)等关系。这被称为对象模型。一般化关系表示属性和方法的继 承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出 的。对设计十分重要的约束,如基数(一对一、一对多、多对多),也在对象模 型中表示。 动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象,对 象之间消息的有序的序列,参与对象的可见性定义,来定义系统运行时的行为。。 静态物理模型通过模块描述代码的布局。动态物理模型描述软件的进程和线 程体系结构。 7 .如何绘制活动图 答:UML活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业 务流程的逻辑。要创立一个UML活动图,您需要反复执行以下步骤, 第一步,定义活动图的范围 首先应该定义您要对什么建模。单个用户案例力? 一个用户案例的一局部? 一个包含多个用户案例的商务流程? 一个类的单个方法? 一旦您定义了您所作 图的范围,您应该在其顶部,用一个标注添加标签,指明该图的标题和唯一的标 示符。您有可能也想要包括该图的时间甚至作者名 第二步,添加起始和结束点 每个活动图有一个起始点和结束点,因此您也要马上添加它们。在《UML精 粹》(UML Di st i I Ied)(参见参考资料),Fowler和Scott认为结束点是可选的。 有时候一个活动只是一个简单的结束,如果是这种情况,指明其唯一的转变是到 一个结束点也是无害的。这样,当其他人阅读您的图时,他或她知道您已经考虑 了如何退出这些活动。 第三步,添加活动 如果您正对一个用户案例建模,对每个角色(actor)所发出的主要步骤引入 一个活动(该活动可能包括起始步骤,加上对起始步骤系统响应的任何步骤)。如 果您正对一个高层的商务流程建模,对每个主要流程引入一个活动,通常为一个 用户案例或用户案例包。最后,如果您正对一个方法建模,那么对此引入一个活 动是很常见的。 第四步,添加活动间的转变 我的风格总是应该退出一个活动,即使它是转变到一个结束点。一旦一个活 动有多个转变时,您必需对每个转变加以相应标示。 第五步,添加决策点 有时候,您所建模的逻辑需要做出一个决策。有可能是需要检查某些事务或 比拟某些事务。要注意的是,使用决策点是可选的。例如,在图1中,我可以 只是简单地将“接受”和“拒绝”两个转变直接接到“在大学报名(Enroll in Uni versity) ” 活动。"; 第六步,找出可并行活动之处 当两个活动间没有直接的联系,而且它们都必需在第三个活动开始前结束, 那它们是可以并行运行的。在图1中,您看到是有可能“参加简要介绍(attend overview) n和“报名研讨班(enroI I in seminars) v可以按任意次序进行,但 是它们都得在您结束整个流程前完成。 8 .简述四种UML依赖关系异同 答:绑定关系位于模板(如C++模板)和用其生成的模型元素之间,该元素 完全是模板的实例化,为添加任何新的东西。 可溯关系是两个元素或元素集合之间的概念连接,用于描述位于不同语义层 或多种视点下的同一个概念。这些元素间并没有任何特定的映射关系,关系的方 向可被忽略。通常用于跟踪需求,或帮助建模者跟踪多个模型的变化。 使用关系表示一个元素为了实现或完成其全部的功能需要其它元素或元素集合 的配合,例如类与类之间的多种方法调用关系。 细化关系是不同语义层(如分析和设计)之间模型元素的依赖关系,表示客 户可由供应者导出。这一导出关系不一定非要用算法来描述,可以完全人为决定, 因此细化关系可描述的语义范围较广,包括:模型的逐步细化、优化、变换、模 板、模型合成、框架组成等等。 绑定和使用关系只能用于同一模型中元素的连接,而可溯和细化关系可用于 连接多个模型的元素。 9 .为什么要使用UML? 软件开发的过程犹如雕琢一件工艺品,由无形到有形,由粗到细。我们知道, 随着计算机应用的飞速开展,软件的复杂程度不断提高,源代码的规模越来越大, 工程失败的可能性也相应增加。在长期的研究与实践中,人们越来越深刻地认识 到,建立简明准确的表示模型是把握复杂系统的关键。模型是对事物的一种抽象, 人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它 的本质,抓住问题的要害。在模型中,先要剔除那些与问题无关的、非本质的东 西,从而使模型与真实的实体相比更加简单明了、易于把握。总的来说,使用模 型可以使人们从全局上把握系统的全貌及其相关部件之间的关系,可以防止人们 过早地陷入各个模块的细节。因此,面向对象的分析与设计应该从建模开始。 10.简述UML实际建模过程 答:每次迭代都分为以下几个阶段: 分析阶段 建模的目的是捕捉系统的功能需求,分析、提取所开发系统的、 客观世界”;领域的类以及描述它们的合作概貌。 设计阶段 建模的目的是通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案。 实现阶段具体工作就是进行编码,同时对已构造的模型作相应的修正。 配置阶段 通过模型描述所开发系统的软硬件配置情况。 测试阶段使用前几个阶段所构造的模型来指导和协助测试工作。 11 .在UML中的状态图,协作图,活动图,序列图在系统分析中各起到了什么作 用? 答:状态图表示一个类的状态变化,例如订单的状态变化等,在实时系统中 用的较多,也可以用于辅助设计用户界面;顺序图表示各个类如何合作,一起完 成一个use case,并可以险证和修正类图,协作图从另一个角度来完成这些事 情,协作图也可以从顺序图生成。活动图可以用来表示use case的各条分支。 12 .简述关联和依赖的区别 关联是类之间的“静态”关系,只有通过这个关系的导航,一个对象才能找 到另一个对象。它就象我们手中的通信录,取得其他对象的联系方法。除了这个 职责之外,关联没有进一步的意义了。这时有人可能会问,我们总该用关联(通 信录)为程序做点什么呀!不好意思,关联除了能找到对方之外,别的什么都不 懂了。因此,一般来说,关联是用语言机制中的指针来实现,可以在程序初始或 运行是建立。当然,也可以用任何标识对象,并能在运行中定位对象的机制来实 现。 依赖关系,简单地来说就是“动态”的关系,提供者可能要求或指示依赖关 系中客户的变化,依赖者为了达成要求被依赖对象行动的目的,依赖首先要取得 对方的引用,以便于实施这个依赖操作,对方对象的引用可以通过二种方法获得, 一种是依赖对象之间也存在关联关系,所以它可以直接通过自己的关联找到对方 对象的引用,第二种是依赖对象之间不存在直接关联关系,程序设计者有责任设 计通过第三方对象的关联,经过一次或屡次的关联导航获得目标对象的引用。最 后,依赖对象通过这二种的任一种方法获得目标对象引用后,就可以向目标对象 施加相应的依赖关系行为。 习题5第八章 一、选择题.程序设计语言可以分为() A、面向过程的语言 B、机器语言C、局级语言 C、局级语言 D、汇编语言 2•程序效率包括() 2•程序效率包括() 几个方面的内容。 A、代码效率 C、存储效率 B、运行效率 D、I/O效率 1 .SP方法中的基本控制结构有()A、顺序结构 A、顺序结构 B、选择结构 C、重复结构 C、重复结构 D、GOTO结构 4 .内部文档可用注释语言书写,注释语言分为0 A、序言性注释B、描述性注释 C、功能性注释D、状态性注释.为使程序中数据说明更易于理解和维护,必须遵循以下原那么()。 A、数据说明的次序应当规范化; B、一个语句说明多个变量时,各变量名按字母顺序排列; C、对于复杂的数据结构,要加注释,说明在程序实现时的特点; D、定义变量名应按字母顺序排列。 6•源程序的效率与()阶段确定的算法的效率直接有关。 A、概要设计B、总体设计 C、单元设计D、详细设计.在详细设计翻译转换成源程序代码后,算法效率反映为对程序的哪几个方面的 要求() A、读写速度B、代码长度 C、存储容量D、执行速度.提高程序效率的根本途径在于() A.编程时对程序语句做调整;B.选择良好的设计方法; C.使程序最大限度的简洁;D.选择良好的数据结构与算法。 二、简答题•编码阶段的主要任务是什么? 1 .结构化程序设计的优点是什么?如何在编码中使用这种方法? 2 .为何要进行程序的注释?应怎样进行程序的注释? 3 .什么是应该提倡的编程风格?为了有良好的设计风格,应注意哪些方面的问 题? 5•编码阶段的主要任务是什,应交付的结果是什么? 6.SP法的自顶向下,逐步求精方法的优点有哪些? 7 .为了有良好的设计风格,应注意哪些方面的问题? 8 .怎样评价程序的执行效率?它与程序清晰性的关系是怎样的? 9 .假定:需要编一个求解一元二次方程根的子程序,加入到现有的子程序库中, 供其他程序员使用。要求: 1)为该子程序写一个序言性注释;2)用PASCAL语言或其它语言写出这个子程序(要把根的性质,如:实根、复根、 降为一次方程等等有区别地通知调用者),并加上描述性注释。 习题5第八章答案 一、选择题1.BCD 2. ACDABC 3. ABCDABC 4. DCD 5. BC二、简答题 1 •编码阶段的主要任务是什么? 答:为每个模块编写程序。即是:将详细设计的结果转换为用某种计算机语 言写的程序——源程序代码。 2 .结构化程序设计的优点是什么?如何在编码中使用这种方法? 答:易于阅读,易于验证。程序设计自顶向下,逐步求精.为何要进行程序的注释?应怎样进行程序的注释? 答:读程序时那么不再翻阅其他说明材料,使用注释是提高程序可读性的有力 手段。 1)序言性注释应置于每个模块的起始局部,主要内容有: (1)说明每个模块的用途,功能; (2)说明模块的接口即调用格式,参数描述及附属模块的清单; (3)数据描述; (4)开发历史。 2)书写功能性注释应注意以下几点: (1)用空行或缩进或括号,以便很容易区分注释和程序。 (2)修改程序也应修改注释。 (3)注释是用来说明程序段,不是每一行程序都要加注释。 4.什么是应该提倡的编程风格?为了有良好的设计风格,应注意哪些方面的问 题? 答:1 )追求建立在不损害程序可读性或可靠性基础上,要先使程序正确、 清晰,再提高程序效率。 2 )别贪图效率上的小利,而破坏程序的清晰性。 3)让编译程序去作简单的优化。 4)提高程序效率的根本途径在于:选择良好的设计方法,良好的数据结构与算 法,而不是靠编程时对程序语句做调整。 5 .编码阶段的主要任务是什么,应交付的结果是什么? 答:编码阶段的主要任务是为每个模块编写程序。即是:将详细设计的结果 转换为用某种计算机语言写的程序——源程序代码。编码阶段应交付的结果是带 有“程序内部文档”的、不再含有语法错误的程序。 6 .SP法的自顶向下,逐步求精方法的优点有哪些? 答:此法符合人们解决复杂问题的普遍规律,可提高软件开发的成功率和生 产率;而且用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程,开 发出来的程序具有清晰的层次结构,因此程序容易阅读和理解,这样,程序自顶 向下,逐步细化,分解成一个树型结构。 因此,在同一层次的节点上做细化工作,相互之间没有联系,它们之间的细化工 作相互独立;在任何一步发生错误,一般只影响它下层的节点,同一层其他节点 不受影响;在以后的测试中,也可以先独立地一个节点一个节点的做,最后再集 成。这样,程序清晰和模块化,使得在修改和重新设计一个软件时,可复用的代 码量最大。 7 .为了有良好的设计风格,应注意哪些方面的问题? 答:1)标识符应按意取名。 标识符即符号名,包括:模块名、常量名、标号名、子程序名、数据区名、缓冲 区名等等。这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能 够见名知意,有助于对程序功能的理解。 2)程序应加注释,它分为两类:序言性注释和功能性注释。 序言性注释应置于每个模块的起始局部,主要内容有:a.说明每个模块的用途, 功能;b .说明模块的接口即调用格式,参数描述及附属模块的清单;c .数据 描述;d .开发历史。 功能性注释是嵌在源程序体中,用于说明其后的程序段或语句的功能以及数据的 状态;也就是解释下面要“做什么”,或是执行了下面的语句会怎样;而不是解 释下面“怎么做”,因为怎么做常常是与程序重复的,且对读者理解程序没有什 么帮助。 8 .怎样评价程序的执行效率?它与程序清晰性的关系是怎样的? 答:许多程序员往往片面的追求效率,其实程序系统的本钱不仅包括运行所 需的机时,同时还应把程序员机操作员所花费的人力考虑进去,在编程时为追求 效率而损害可读性或可靠性,会给以后的维护工作带来严重困难,所以从整体看 来是不值得的。 此外,我们还应该认识到,提高程序效率的根本途径在于:选择良好的设计 方法、良好的数据结构与算法,而不是靠编程时对程序语句做调整。 1 )追求建立在不损害程序可读性或可靠性基础上,要先使程序正确、清晰,再 提高程序效率。 2)别贪图效率上的小利,而破坏程序的清晰性。 3)让编译程序去作简单的优化。 4)提高程序效率的根本途径在于:选择良好的设计方法,良好的数据结构与算 法,而不是靠编程时对程序语句做调整。 9.略习题6第九章 一、选择题.软件测试的主要特点是() A、软件测试的开销大 B、软件测试要依靠工具 C、软件测试要验证软件正确性 D、软件不能进行“穷举”测试.整体测试又称为组装测试,其主要内容包括() A、对整体的性能进行测试 B、设计测试用例进行功能测试 C、设计测试用例进行测试 D、对组装过程进行测试.渐增式是将模块一个一个的连入系统,每连入一个模块,() A、只需要对新连人的模块进行测试。 B、都不需要再进行测试。 C、都要对新子系统进行测试。 D、都要进行回归测试。 4,静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测 试方法有:() A、状态图 B、流程图 C、数据流分析图 D、调用图5.集成过程的原那么是() 8 .软件工具的作用是为了延长软件产品的寿命。 9 .软件工程过程应该以软件设计为中心,关键是编写程序。 10 . RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最 终的产品,而后者将被废弃。 三、简答题,软件产品的特性是什么? 1 .软件开展有几个阶段?各有何特征? 2 .什么是软件危机?其产生的原因是什么? 3 .什么是软件生存周期模型?它有哪些主要模型? 4 .有哪些主要的软件开发方法? 5 .软件生命期各阶段的任务是什么? 习题1参考答案 一、选择题ABC 1. CDA 2. CABCD 3. BDABC 4. ABCABCD 二、判断题•错误 1 .错误.错误 2 .正确.错误 3 .正确.错误 4 .错误.错误 5 .正确三、简答题 1.软件产品的特性是什么? 答:软件是一种逻辑产品,具有无形性; 软件产品的生产主要是研制; 软件不存在磨损和老化问题,但存在退化问题。 软件产品的生产主要是脑力劳动; 软件产品的本钱非常昂贵,其开发方式目前尚未完全摆脱手工生产方式。 A、尽量将所有模块集成到系统中 B、尽早测试关键模块 C、集成尽早测试关键模块尽早测试包含I/O的模块 D、按照输入-处理-输出的次序进行集成.关于白盒法覆盖程度的论述中正确的选项是:() A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一 次“假”值。 C、条件覆盖:选择测试用例使每个条件都满足。 D、条件组合覆盖:将所有的判定条件的都组合起来执行。 6 .软件测试的基本原那么是() A、关键是注重测试用例的选择 B、选择尽可能多的测试用例 C、尽量不由程序设计者进行测试 D、充分注意测试中的群集现象8,等价分类法的关键是() A、选择测试用例 B、找出等价类的边界条件 C、划分等价类 D、通过输入条件,确定无效等价类二、判断题 1 .单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动 态测试。 2 .功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明 相同。 3 .白盒法是一种静态测试方法,主要用于模块测试。 4 .软件测试的目的是进一步对程序进行调试,发现错误。 5 .在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。 6 .白盒法是一种静态测试方法,主要用于模块测试。 7 .在分析规范(因、果)的基础上画出因果图,再将其转换为有限项判断表,就 容易得出测试用例。 8 .系统测试的主要方法是白盒法,主要进行功能测试、性能测试、平安性测试及 可靠性等测试。 9 .有效性测试是在模拟的环境(或就是开发环境下)下运用黑盒法,验证软件特 性是否与需求符合。 10 .在发现错误后,那么应按照一定的技术去纠正它。纠错的关键是“错误定位”。 三、简答题•渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式? 1 .自顶而下增值与自底而上增值各有何优、缺点? 2 .等价分类法的基本思想是什么? 3 .一般,驱动模块比桩模块容易设计,为什么? 4 .什么是a测试和B测试? 习题6第九章答案 一、选择题AD 1. CDC 2. CDBC 3. ABACD 4. C二、判断题 1 .正确.正确 2 .错误.错误 3 .错误.4昔误 7 .正确.错误 8 .正确.正确 三、简答题.渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式? 答:非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测 试过程中难于查错,发现错误也很难定位,测试效率低。渐增式是将模块一个一 个的连入系统,每连入一个模块,都要对新系统进行测试。这种组装测试方案比 较非渐增式,容易查出错误及进行错误定位,有利于查出模块接口局部的错误, 因此测试效率高。因此通常采用渐增式。 1 .自顶而下增值与自底而上增值各有何优、缺点? 答:自顶而下增值优点:能够尽早发现系统主控方面的问题。 缺点:无法验证桩模块是否完全模拟了下属模块的功能。 自底而上增值优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际 的I/O模块中的错误。 2 .等价分类法的基本思想是什么? 答:根据程序的输入特性,将程序的定义域划分为有限个等价区段一“等 价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值 就等价于对这一类其它值的测试。如果某个等价类的一个输入数据(代表值)测 试中查出了错误,也即是该等价类中的其它值也会查出同样的错误。 3 .一般,驱动模块比桩模块容易设计,为什么? 答:因为驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上 层,所以驱动模块只需要模拟向被测模块传递数据,接收、打印从被测模块返回 的数据的功能,较容易实现。 而桩模块用于模拟那些由被测模块所调用的下属模块的功能,由于下属模块 往往不只一个,也不只一层,由于模块接口的复杂性,桩模块很难模拟各下层模 块之间的调用关系,同时为了模拟下层模块的不同功能,需要编写多个桩模块, 而这些桩模块所模拟的功能是否正确,也很难进行验证。因此,驱动模块的设计 显然比桩模块容易。 4 .什么是a测试和B测试? 答:a测试是在开发机构的监督下,由个别用户在确认测试阶段后期对软件 进行测试,目的是评价软件的FLURPS (功能、局域化、可使用性、可靠性、性 能和支持性),注重界面和特色。 3测试是由支持软件预发行的客户对FLURPS进行测试,主要目的是测试系统的 可支持性。 习题7第十章软件维护 一、选择题,软件维护的类型有() A完善性维护B纠错性维护 C适应性维护D预防性维护.各种软件维护的类型中最重要的是()o A完善性维护B纠错性维护 C适应性维护D预防性维护.以下属于完善性维护的有()o A解决开发是未能测试各种可能条件带来的问题; B增加联机求助命令; C缩短系统的应答时间,使其到达特定要求; D为软件的运行增加监控设施。 1 .进行系统修改时可能会产生维护的副作用,它们可能有()。 A修改数据的副作用B修改错误后,又引入了新的错误 C修改代码的副作用D文档资料的副作用5,确定可维护性的因素主要有()o A文档B可理解性 C可修改性D可测试性.软件维护阶段所产生的文档主要有()o A软件问题报告B软件修改报告 C软件修改申请报告.表达计划安排的主要工具有() A PERT图B甘特图 C DFD图D进度表二、判断题 1 .软件维护只需要校正性维护、适应性维护和完善性维护.软件维护总工作量可用公式表示为:M = P + K • ; exp (D - C) 3,生产性活动包括分析评价、修改设计、编写程序代码和设计约束.改进程序的执行效率不会引入错误 4 .强调简明性的程序出错率低.用面向对象方法开发的软件系统,可维护性好 三、简答题.为什么要进行软件维护? 1 .怎样防止维护的副作用? 2 .什么是软件可维护性?可维护性度量的特性是什么? 3 .高可维护性的方法有哪些? 习题7第十章答案 一、选择题ABCD 1. ABD 2. ACDBCD 3. ABABD 二、判断题.错误 1 .错误.错误 2 .错误.正确 3 .正确三、简答题 1 .为什么要进行软件维护? 答:软件维护是指软件系统交付使用以后,为了改正错误或满足新的需求而 修改软件的过程。一个中等规模的软件,如果其开发过程需要一到二年时间,那么 它投入使用以后,其运行时间可能持续五到十年之久。在这个维护阶段中,人们 需要着手解决开发阶段尚未解决的问题,同时,还解决维护工作本身所产生的问 题。做好软件的维护工作不仅能够排除软件中存在的错误,是它能够正常工作, 而且还可以使它扩充功能,提高性能,为用户带来新的效益。维护阶段的化肥约 占整个软件生命期花费的67%o因此,我们应充分认识到维护现有软件的重要 意义。 2 .怎样防止维护的副作用? 答:修改代码所产生的副作用一般可以在退化测试过程中对其造成系统的故 障进行查明和纠正;完善设计文档资料可以限制修改数据的副作用,在文档中描 述了数据结构,并提供了一种把数据元素、记录、文件以及其他结构与系统模块 联系起来的交叉对照表;在软件系统再次交付使用之前,对整个软件配置进行复 审,将能大大减少文档资料的副作用。 3 .什么是软件可维护性?可维护性度量的特性是什么? 答:软件的可维护性是指维护人员为纠正软件系统出现的错误或缺陷,以及 为满足新的要求而理解、修改和完善软件系统的难易程度。可维护性是所有软件 系统都应具备的特点。在软件工程的每一阶段都应该努力提高系统的可维护性, 在每个阶段结束前的审查和复审中,应着重得可维护性进行复审。 可维护性度量的特性主要有可理解性、可测试性和可修改性。可理解性被定 义为人们通过阅读源代码和文档了解软件系统的结构、接口、功能、内部过程以 及如何运行的难易程度;可测试性被定义为诊断和测试系统的难易程度;可修改 性被定义为修改软件系统的难易程度;它们是密切相关的。 4 .高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结 束前的审查和复审中,应着重得可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的局部加以注明。在讨论软件 可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价 软件的结构和过程,还应对将来可能修改的局部预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要作预防性维护局部的提 o 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明 来维护软件,同时也在大力开展软件重用技术。 习题8第十一章 一、选择题1、软件工程管理的对象是:() A、软件开发人员B、软件工程工程C、软件开发过程D、软件开发速度2、以下对软件工程管理的任务和目标最准确的描述是:() A、明确软件开发工程的工作范围、可能遇到的风险、需要的资源; B、明确软件开发中要</p>- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 案例 教程 习题 答案 作文 11
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文