软件工程考研真题-填空题.pdf
1 1、软件工程学概述、软件工程学概述1.1 1.1 软件危机软件危机1、为了克服软件危机,1968 年北大西洋公约组织的工作会议上首先提出了_的概念。【答案】软件工程2、开发软件工具的主要目的是为了和_改善软件的质量。【答案】提高软件生产率3、程序设计时代的生产方式是_,程序系统时代的生产方式是_,软件工程时代的生产方式是_。【答案】个体手工、作坊式小团体、工程化1.2 1.2 软件工程概念和任务软件工程概念和任务1、文档(document)是一种数据媒体和其上所记录的()【答案】数据2、软件工程由方法、工具和()三部分组成,称软件工程的三要素【答案】过程3、到目前为止,软件生产的发展经过了三个阶段,即_、_、_。【答案】程序设计时代、程序系统时代、软件工程时代4、组成软件的两个部分是:_。【答案】程序和文档5、软件工程的主要思想是在软件生产中用_代替传统手工方法。【答案】工程化方法6、硬件与_一起构成完整的计算机系统。【答案】软件7、软件是一种_产品,它与物质产品有很大区别。【答案】逻辑8、“软件”包含计算机程序及其说明程序的各种_。【答案】文档1.3 1.3 软件生命周期软件生命周期1、软件生命周期可以分为,和3个时期。【答案】软件定义 软件开发 软件维护2、基于计算机系统的软件要素中的软部件由程序、数据和()组成【答案】文档3、软件生存周期模型是描述软件开发过程中_的模型。【答案】各种活动如何执行4、软件生存周期是指一个软件从提出开发要求开始直到_为止的整个时期。【答案】该软件报废5、_是描述软件开发过程中各种活动如何执行的模型。【答案】软件生存周期模型1.4 1.4 软件过程软件过程1、经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题。因此,总体设计又称为或初步设计。通过这个阶段的工作,将划分出组成系统的物理元素:、文件、数据库、人工过程和文档等。总体设计通常由两个主要阶段组成:设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。【答案】概要设计程序系统设计2、软件定义过程可通过软件系统的()和()两个阶段来完成【答案】可行性研究和需求分析3、软件定义的基本任务是确定软件系统的工程(),也就是要搞清“做什么”【答案】需求4、在软件生产中,_的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。【答案】软件工程过程5、基于方法的软件开发环境可分为两大类:支持软件开发周期特定阶段的管理和_。【答案】开发过程6、开发过程依序包括_、_、_、_、软件安装和_等活动。【答案】需求分析、设计、编码、集成、验收7、软件开发划分的各阶段任务尽可能_,同一阶段任务性质尽可能_。【答案】相对独立、相同1.5 1.5 软件过程模型软件过程模型1、增量模型适合于_不明确、设计方案有一定风险的软件项目。【答案】软件需求2、增量模型根据增量方式和形式的不同,分为_和原型模型。【答案】渐增模型3、瀑布模型是以文档为驱动、适合于_的软件项目的模型。【答案】软件需求明确4、软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_。【答案】演化型原型5、演化提交模型是在_的基础上,项目开发的各阶段都进行增量开发。【答案】瀑布模型6、软件开发中的原型是软件的一个_,它反映了最终系统的_。【答案】早期可运行的版本,重要特性7、瀑布模型是将_各活动规定为_依联接的若干阶段的模型。【答案】生存周期、线性顺序8、变换模型是一种适合于_方法的模型。从_开始,经过一系列变换,最终得到系统的目标程序。【答案】形式化开发软件、需求形式化说明9、喷泉模型是一种以_为动力,以_为驱动的模型。【答案】用户需求;对象10、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有_和_。【答案】抛弃策略,附加策略11、由于运用原型的目的和方式不同,在使用原型时可采取的策略有_策略和_策略。【答案】抛弃、附加2 2、可行性研究和必要性、可行性研究和必要性2.1 2.1 可行性研究概念和任务可行性研究概念和任务1、可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_。【答案】是否值得开发2、可行性研究实质上是要在较高层次上以较抽象的方式进行_的过程。【答案】需求分析和设计3、可行性研究从技术可行性、经济可行性、_三方面进行分析。【答案】社会可行性4、软件项目计划是_阶段的结果产品。【答案】可行性研究5、可行性研究的目的是用_的代价,在尽可能_的时间内,确定该项目是否能够_。【答案】最小、短、开发6、可以从三方面研究可行性,即_可行性、_可行性、_可行性。【答案】技术经济社会7、可行性研究实质上是进行一项_、压缩了的需求分析、_过程。【答案】简化;设计8、可行性研究要在_层次上以_方式进行需求分析和设计。【答案】较高、较抽象9、社会可行性研究包括_、_、_、用户组织的管理模式及_,其他一些技术人员常常不了解的_等。【答案】合同、责任、侵权、规范、陷阱10、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否_,_。【答案】值得开发、其中的问题能否解决11、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、_。【答案】社会可行性2.2 2.2 系统流程图系统流程图2.3 2.3 数据流图和数据字典数据流图和数据字典1、第二代 CASE 工具的特点是支持图形表示的_如数据流图与结构图。【答案】结构化方法2、SA 方法中主要描述工具是_与_。【答案】DFD(数据流图)、DD(数据字典)3、数据字典中有四类条目,分别是_、_、_、_。【答案】数据流、数据项、数据存储、加工4、数据字典中的加工逻辑主要描述该加工_,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的_。【答案】做什么、加工规则5、数据流图中的箭头表示_。【答案】数据流6、数据流图中,每个加工至少有_个输入流和_个输出流。【答案】1、1 7、建立数据字典一般的两种形式是_和_。【答案】手工建立、利用计算机辅助建立并维护2.4 2.4 成本效益分析成本效益分析1、纯收入是指在整个生存周期之内的_与投资之差。【答案】累计经济效益2、将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为_。【答案】差别估算3、成本效益分析的目的是从_角度评价开发一个新的软件项目是否可行。【答案】经济角度4、投资回收期就是使累计的经济效益等于_所需的时间。【答案】最初的投资费用5、效益分析有_效益和_效益两种。【答案】有形、无形6、若年利率为 i,不计复利,P 元在 n 年后的价值 F=_。【答案】P(1+ni)7、_就是使累计的经济效益等于最初的投资费用所需的时间。项目的_是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。【答案】投资回收期、纯收入8、投资回收期就是_等于最初的_所需的时间。【答案】累计的经济效益,项目投资9、成本效益分析的目的是从_角度评价开发一个_是否可行。【答案】经济软件、项目3 3、需求分析、需求分析3.1 3.1 需求分析概念和任务需求分析概念和任务1、软件项目计划是_阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情总,因此软件项目计划一般_在阶段完成后才定稿的。【答案】可行性研究、需求分析3.2 3.2 需求分析方法需求分析方法1、软件需求获取主要包括、等步骤。【答案】用户访谈、面向数据流自顶向下求精、简易技术规格说明书、快速建立软件原型2、为了使用户需求逐步精细化、完全化、一致化,通常采用()。【答案】需求建模技术3、软件需求分析方法必须能够表达和理解问题的_和功能域。【答案】数据域4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是_。【答案】功能需求5、在需求分析阶段要进行以下几方面的工作:问题识别、_、_、编写文档。【答案】分析与综合、导出软件的逻辑模型3.3 3.3 熟练掌握数据流图的细化及熟练掌握数据流图的细化及 ERER 图、状态转换图的画法图、状态转换图的画法1、系统流程图是描述_的传统工具,用图形符号表示系统中各个_,表达了系统中各种元素之间的_情况。【答案】物理模型、元素、信息流动2、通过_,可以确定组成软件的过程实体。通过_,可以定义和实施对模块的过程细节和局部数据结构的存取限制。【答案】抽象、信息隐蔽3、为了较完整地描述用户对系统的需求,DFD 应与数据库中的_图结合起来。【答案】ER 3.4 3.4 掌握需求分析过程及各种图形工具的应用(层次方框图、掌握需求分析过程及各种图形工具的应用(层次方框图、WarnierWarnier 图、图、IPOIPO 图)图)1、由于数据流是流动中的数据,所以必须有_。除了与_之间的数据流不用命名外,数据流应该用名词或名词短语命名。【答案】流向、数据存储2、IPO 图描述分层图中一个模块的输入、输出、_和内容。【答案】处理3.5 3.5 需求验证需求验证3.6 3.6 形式化说明技术(有穷状态机、形式化说明技术(有穷状态机、PetriPetri 网、网、Z Z 语言)语言)1、需求分析阶段产生的最重要的文档之一是_。【答案】需求规格说明书4 4、总体设计、总体设计4.1 4.1 总体设计概念和任务总体设计概念和任务1、软件概要设计的主要任务就是_。【答案】软件结构的设计2、软件设计阶段产生的最重要的文档之一是_。【答案】概要设计说明书4.2 4.2 总体设计原理总体设计原理1、列举五种你最熟悉并经常运用的软件工程原则、和等。【答案】抽象、模块化、信息隐蔽、局部化、确定性、一致性、完备性、可验证性;任选5 个2、什么是模块的作用范围?什么是模块的控制范围?【答案】控制范围:模块本身和它的下属模块的集合;作用范围:模块中的一个判定影响的所有模块的集合4.3 4.3 启发规则启发规则/设计技巧和经验(耦合、内聚、深度、宽度、设计技巧和经验(耦合、内聚、深度、宽度、扇入、扇出等)扇入、扇出等)1、如果一个模块被 N 个模块调用,其中直接的上级模块的个数是 M 个(MN),那么该模块的扇入数是个.【答案】N【解析】最大扇出数,即模块直接调用的下层模块数目,可以看一个模块向下辐射出去的第一层的模块数。同理,最小扇出数,即模块被直接调用的上层模块最大数目,可以看一个模块向上辐射出去的第一层的模块数。2、衡量模块独立性的两个定性标准是_。【答案】耦合性和内聚性3、耦合性和内聚性是衡量_的两个定性的标准。【答案】模块独立性4、在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出 现的内聚称为_。【答案】偶然内聚5、一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是_。【答案】控制耦合6、有效的模块化是通过定义一组_的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。【答案】相互独立7、两个模块之间把简单的数值作为参数传递,这种耦合方式为_。【答案】数据耦合8、把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模 块的内聚性是_。【答案】偶然内聚9、一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是_。【答案】顺序内聚10、软件结构图的宽度是指一层中_的模块个数。【答案】最大11、两个模块都使用同一张表,这种耦合称为_。【答案】公共耦合12、一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为_。【答案】通信内聚13、信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于_的其他模块来说,是不能_的。【答案】不需要这些信息、访问14、一个模块把数值作为参数传送给另一个模块,这种耦合方式称为_。【答案】数据耦合15、如果只有两个模块之间有公共数据环境,这种公共耦合有两种情况:一是一个模块只是给公共数据环境送数据,另一个模块只是从公共环境中取数据,这是_耦合。二是两个模块都往公共环境中送数据又从里面取数据,这是_耦合。【答案】比较松散的、公共紧密的数据16、在一个模块中_,_和_反映模块的外部特性,逻辑反映它的内部特性。【答案】功能、状态、接口17、反映软件结构的基本形态特征是_、_、_和_。【答案】深度、宽度、扇入、扇出4.4 4.4 软件结构设计(层次图和软件结构设计(层次图和 HIPOHIPO 图)图)1、耦合性和内聚性是衡量的两个定性的标准。【答案】模块独立性2、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为耦合。【答案】数据耦合【解析】数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递3、结构化分析方法的分析策略是_。【答案】自顶向下逐步求精4、一个软件的深度是指其控制的()【答案】层数5、人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得出了一些启发式规则。一个常用启发规则是,设计出软件的初步结构后,应该审查分析这软件结构,通过模块分解或(),力求降低耦合提高内聚。例如,多个模块公有的一个子功能可以独立成一个模块,由这些模块调用:多个类共有的数据成员或功能可以抽取出来做成(),由多个类继承使用。第二个常用启发规则是,模块的规模应该适中,并且其深度、宽度、扇出和扇入都应适当。第三个常用启发规则就是降低模块接口的()。接口复杂或不一致(即看起来传递的数据之间没有联系),是紧耦合低内聚的征兆,应该重新分析这个模块的独立性。第四个常用的启发规则是,设计单入口单出口单功能的模块。【答案】合并、父类、复杂程度6、结构化程序设计方法是使用_构造程序。【答案】基本控制结构7、结构化设计对数据流有两种分析方法,它们是_设计和_设计。【答案】变换分析、事务分析8、软件结构是以_为基础而组成的一种控制层次结构。【答案】模块4.5 4.5 结构化设计方法结构化设计方法(数据流的类型,数据流的类型,将其能换成软件结构图,将其能换成软件结构图,并能根据优化准则将其优化并能根据优化准则将其优化)1、结构化方法总的指导思想是_逐层分解。【答案】自顶向下2、在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_。【答案】数据存储对象3、变换型数据流图是由输入、_和输出三部分组成的【答案】变换(或处理)4、结构化语言是介于_和形式语言之间的一种半形式语言。【答案】自然语言5、结构化分析是面向_进行需求分析的方法。【答案】数据流6、结构化设计以_为基础,按一定的步骤映射成软件结构。【答案】数据流7、在 SA 方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的_。【答案】每一个加工8、结构化设计以_为基础映射成软件结构。【答案】数据流9、结构化方法由结构化分析、_、结构化程序设计构成,它是一种面向_的开发方法。【答案】结构化设计,数据流4.6 4.6 优化设计优化设计5 5、详细设计、详细设计5.1 5.1 详细设计概念和任务详细设计概念和任务1、模块内部的算法设计在结构化方法的阶段进行。【答案】详细设计5.2 5.2 结构程序设计结构程序设计1、软件结构是以为基础而组成的一种控制层次结构。【答案】模块2、详细设计阶段将设计出程序的“蓝图”,以后程序员将根据这个“蓝图”写出实际的程序代码。因为程序的“读者”有两个,那就是计算机和。因此,衡量程序的质量不仅要看它的逻辑是否正确、性能是否满足要求,更主要的是要看它是否容易阅读和理解。结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础。该技术使用三种结构即、和循环实现任何单入口和单出口的程序。【答案】人 顺序 选择3、不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种_的维护。【答案】非结构化4、PDL 是一种用于描述模块_和处理细节的语言。【答案】算法设计5、任何程序都可由顺序、选择、_三种基本控制结构构造。【答案】重复/循环5.3 5.3 人机界面设计人机界面设计1、用户界面设计过程主要包括、和等步骤。【答案】绘制窗体和消息流程图、制作用户界面原型窗体和消息框之间的前后顺序、从用户哪里获取反馈信息、迭代修改用户界面2、通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可()性的措施之一。【答案】交互5.4 5.4 过程设计工具(程序流程图、盒图、过程设计工具(程序流程图、盒图、PADPAD 图、判定表、图、判定表、判定树、过程设计语言)判定树、过程设计语言)1、计算机辅助软件工程这一术语的英文缩写为_。【答案】CASE【解析】Computer Aided Software Engineering(计算机辅助软件工程)2、在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是_。【答案】PAD 图3、在算法描述工具中,PAD 图可自动生成程序。由机器自动通过_生成相应的源代码,大大提高了_。【答案】走树的办法、软件的生产率4、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用_或_较好。【答案】判定表,判定树5、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。可将两种工具结合起来,先用_作底稿,在此基础上产生_。【答案】判定表;判定树5.5 Jackson5.5 Jackson 图和方法图和方法1、Jackson 图除了可以表达外,还可以表达数据结构【答案】程序结构2、Jackson 方法是一种面向_的开发方法。【答案】数据结构3、在许多软件项目中,输入数据和输出数据之间很少或没有结构上的对应关系,Jackson 把这种情况称为_。【答案】结构冲突4、Jackson 方法是面向_的设计方法。早期的 Jackson 方法用于开发规模较小的数据处理系统的设计,简称_。【答案】数据结、JSP5、Jackson 结构图能对结构进行_分解,因此可以表示_。【答案】自顶向下、层次结构5.6 5.6 程序复杂度的度量方法程序复杂度的度量方法(McCabeMcCabe 方法、方法、HalsteadHalstead 方法)方法)1、软件复杂性度量的参数很多,主要有规模、_、结构、智能度。【答案】难度2、软件复杂性主要表现在程序的复杂性。程序的复杂性主要指_程序的复杂性。【答案】模块内3、McCabe 质量度量模型,针对面向软件产品的运行、_、_。【答案】修正、转移4、软件复杂性度量的参数主要有_、_、结构和智能度。【答案】规模、难度6 6、实现、实现6.1 6.1 编码的概念和任务编码的概念和任务1、以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫()过程。【答案】编码2、软件编码是将_阶段产生的算法,用某种程序设计语言编写成程序的过程。【答案】详细设计6.2 6.2 编程语言和编程规范编程语言和编程规范1、机器语言、汇编语言:依赖于机器,面向()【答案】机器2、结构化语言是介于自然语言和_之间的一种半形式语言。【答案】形式语言3、Lisp 是一种_语言,Prolog 是一种_语言。【答案】函数型 逻辑型4、程序设计语言的_指语言的联想性。在编码过程中,由语句组合成模块,由模块组装成系统结构,并在组装过程中实现模块的高内聚,低耦合,使_得到加强。【答案】局部性、局部性5、汇编语言是面向_的,可以完成_语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。【答案】机器、高级6、程序设计语言的简洁性是指人们必须记住的_的数量。人们要掌握一种语言,需要记住的成分数量越多,简洁性越_。【答案】语言成分、差6.3 6.3 测试的概念和任务测试的概念和任务1、软件测试的步骤主要包括、集成测试、确认测试和【答案】单元测试 系统测试2、测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来验证是否每个功能都正常使用;如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照设计文档的规定正常和正确运行。前一种方法称为盒测试,也称为功能测试;后一种方法称为盒测试,也称为结构测试。软件测试必须分步骤进行,后一个步骤在逻辑上是前一个步骤的继续。大型软件的测试一般分三步进行,即模块单元测试、测试和验收(确认)测试。有时候还需要做子系统测试和回归测试。【答案】黑盒 白盒 集成3、临时维护小组采用“_”或“_”等方法来提高维护工作的效率。【答案】同事复审、同行复审4、独立路径是指包括一组以前没有处理的_的一条路径。从程序图来看,一条独立路径是至少包含有一条_的边的路径。【答案】语句或条件、在其他独立路径中未有过6.4 6.4 测试步骤和准则测试步骤和准则1、为了便于对照检查,测试用例应由输入数据和预期的两部分组成。【答案】输出结果2、软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_集成的过程。【答案】自底向上3、软件测试时需要三类信息:软件配置、_和测试工具。【答案】测试配置6.5 6.5 单元测试单元测试1、软件产品在交付使用之前一般要经过_、集成测试、确认测试和系统测试【答案】单元测试6.6 6.6 集成测试集成测试1、软件集成测试的方法主要有两种,它们是_ _。【答案】渐增式与非渐增式测试2、各模块经过单元测试后,将各模块组装起来进行_,以检查与设计相关的_的有关问题。【答案】集成测试、软件体系结构6.7 6.7 确认测试确认测试6.8 6.8 白盒测试白盒测试1、动态测试有两种测试方法:黑盒测试和()测试。【答案】白盒2、白盒法中,_首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。【答案】基本路径测试6.9 6.9 黑盒测试黑盒测试1、黑盒测试主要是测试软件是否满足()需求。【答案】功能2、为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量检验。检验的实施有_和_两种形式。【答案】白盒测试、黑盒测试3、黑盒测试是功能测试,因此设计测试用例时,需要研究_和_中有关程序功能或输入、输出之间的关系等信息,从而与测试后的结果进行分析比较。【答案】需求规格说明、概要设计说明6.10 6.10 调试和调试方法调试和调试方法1、()的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错或纠错【答案】调试6.11 6.11 软件可靠性软件可靠性1、软件的一般由两次故障平均间隔时间和故障平均恢复时间来度量。【答案】可靠性2、McCall 提出的软件质量模型包括_个软件质量特性。【答案】11【解析】正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、可复用性、互连性3、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有_的软件。【答案】容错功能4、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_软件。【答案】容错5、常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。常用指标有_与_。【答案】平均失效等待时间、MTTF 平均失效间隔时间 MTBF7 7、维护、维护7.1 7.1 软件维护概念和任务软件维护概念和任务1、一般来说,在管理软件中,软件生存周期各个阶段的工作量以所占的比例最大。【答案】维护阶段2、程序设计语言的性通常指这种语言编写的程序被理解,被修改及调整和改进的难易程度。【答案】可维护3、在软件产品被开发出来并交付用户使用之后,就进入了软件生命周期的最后一个阶段,该阶段将保证软件在相当长的时间内能够正常运行。在这个阶段,把诊断和改正错误而修改软件的过程称为维护,为了和变化了的环境适当配合而修改软件的过程称为维护,为了满足用户提出的新增功能和修改已有功能而修改软件的过程称为完善性维护,为了改进未来的可维护性和可靠性或给未来的改进奠定更好的基础而修改软件的过程称为预防性维护。这四类维护活动都必须应用于整个软件配置,维护软件和软件文档同样重要。【答案】改正性适应性 代码4、软件生存周期中时间最长、花费的精力和费用最多的一个阶段是_阶段。【答案】维护5、软件维护是软件生命周期的()一个阶段【答案】最后6、维护的副作用有编码副作用、_、文档副作用三种。【答案】数据副作用7.2 7.2 维护过程维护过程1、软件维护工作的生产性活动包括分析评价、修改设计和_等。【答案】编写程序代码2、为了使应用软件适应计算机环境的变化而_的过程称为适应性维护。【答案】修改软件3、有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的_技术,在维护阶段 用来提高维护的效率和质量的_技术。【答案】面向维护、维护支援7.3 7.3 可维护性判断标准可维护性判断标准1、软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可使用性和效率。【答案】可移植性2、软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的()程度。【答案】难易3、软件开发环境的主要目标是提高_、_和降低软件成本。【答案】软件开发的生产率、改善软件质量7.4 7.4 软件再工程软件再工程1、软件维护的内容包括校正性维持,适应性维护、_和预防性维护。【答案】完善性维护8 8、面向对象方法学引论、面向对象方法学引论8.1 8.1 面向对象方法学的要点面向对象方法学的要点1、面向对象开发方法包括_、_、_三部分。【答案】面向对象分析、面向对象设计、面向对象实现8.2 8.2 面向对象方法学的优点面向对象方法学的优点8.3 8.3 面向对象相关概念面向对象相关概念1、类的实例化是_。【答案】对象2、面向对象有三个基本要素,它们是_、_和_。【答案】抽象、封装性(信息隐蔽)、共享性3、对象具有状态,描述对象的状态用它的_。【答案】属性值4、是自动地共享类、子类和对象中的方法和数据的机制。【答案】继承5、属性指的是类中对象所具有的_。不同对象的同一属性可以具有相同或不同的_。【答案】性质的抽象、属性值6、继承性是子类自动共享其父类的_机制。【答案】数据结构和方法7、软件部件的内部实现与外部可访问性分离,这是指软件的_。【答案】封装8、用来模拟被测模块的上级调用模块的模块称为_。【答案】驱动模块9、子类自动共享父类数据结构和方法的机制是_,这是类之间的一种关系【答案】继承性10、在面向对象方法中,_是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。【答案】继承性11、在面向对象方法中,对象实现了数据和操作的结合,使数据和操作_于对象的统一体中。【答案】封装12、在类层次中,子类只继承一个父类的数据结构和方法,则称为_。子类继承了多个父类的 数据结构和方法,则称为_。【答案】单重继承、多重继承13、不同对象的同一属性可以具有相同或不同的_。【答案】属性值14、同一个类中的共享是指同一个类中的对象有着相同_和相同的_。【答案】数据结构、行为特征8.4 8.4 面向对象面向对象 3 3 中模型中模型1、通常认为 UML 的结构视图包括_、_和 对象图。【答案】类图、包图2、在面向对象的设计中,先后要建立的模型,分别是_、_和_【答案】对象模型、动态模型、功能模型3、用面向对象方法开发软件,通常需要建立3 种形式的模型:描述系统_的对象模型、描述系统控制结构的_和描述系统功能的功能模型。【答案】静态结构、动态模型4、在面向对象方法中,人们常用状态图描述类中对象的_。【答案】动态行为5、IDEF0 方法用来描述系统的功能活动及其联系,建立系统的_模型。【答案】功能6、IDEF0 用来描述系统的功能活动及其联系,建立系统的_模型。【答案】功能7、动态模型把脚本表示成事件跟踪表,其中对象为_。【答案】表中的列8、基于 IDEF0 图的设计是以系统的功能模型和_为基础设计系统的软件结构。【答案】信息结构9、IDEF 图是一种_模型,表示系统功能的图形称为_图形,连方框上的箭头有四种类型,它们分别是_、_、_、_。【答案】功能、活动、输入、输出、控制机制10、基于 IDEF0 图的设计也是结构化设计技术之一,它以系统的_和信息结构为基础设计软件结构。【答案】功能模型9 9、面向对象分析、面向对象分析9.1 9.1 什么是面向对象分析什么是面向对象分析9.2 9.2 面向对象分析的基本过程面向对象分析的基本过程1、面向对象分析的目的是对客观世界的系统进行_。【答案】建模9.3 9.3 掌握对象模型建立方法(掌握对象模型建立方法(ATMATM 案例)案例)9.4 9.4 掌握动态模型建立方法(掌握动态模型建立方法(ATMATM 案例)案例)9.5 9.5 掌握功能模型建立方法(掌握功能模型建立方法(ATMATM 案例)案例)1010、面向对象设计、面向对象设计10.1 10.1 掌握面向对象设计的概念和准则掌握面向对象设计的概念和准则1、从结构化程序设计到是程序设计方法的又一次飞跃。【答案】面向对象程序设计10.2 10.2 面向对象设计的启发规则和经验面向对象设计的启发规则和经验10.310.3 掌握软件重用概念及提高重用的方法掌握软件重用概念及提高重用的方法10.4 10.4 系统分解、面向对象设计案例分析系统分解、面向对象设计案例分析1、解决一个复杂问题,往往采取的策略是_。【答案】分解1111、面向对象实现、面向对象实现11.1 11.1 面向对象语言介绍面向对象语言介绍11.2 11.2 程序设计风格程序设计风格11.3 11.3 测试策略与测试用例测试策略与测试用例1、测试用例应由输入数据和预期的_两部分组成。这样便于对照检查。【答案】输出数据1212、软件项目管理、软件项目管理12.1 12.1 软件项目管理概念软件项目管理概念1、软件项目管理包括()、()、()、()、()、()等【答案】估算软件规模、工作量估算、进度计划、人员组织、质量保证、软件配置管理2、软件项目管理的范围主要集中于 3 个 P 上,即:_、_和(过程 process 项目 project)【答案】People 人员、Problem 问题3、软件工程管理的具体内容包括对开发人员、组织机构、用户和_等方面的管理。【答案】文档资料4、项目开发计划的主要内容包括项目概述、_、人员组织及分工、交付期限。【答案】实施计划5、项目开发计划的主要内容有:项目概述、_、_、交付期限。【答案】实施计划 人员组织及分工6、项目开发计划是一个_文档。【答案】管理性12.2 12.2 估算软件规模估算软件规模12.3 12.3 工作量估算工作量估算1、为了估算项目的工作量和完成期限,首先需要估算软件的规模,主要的估算技术有:与程序代码相关的()技术和与软件信息域及软件复杂度相关的功能点技术。其中,第一项估算技术根据多名经验工程师估算后加权获得,计算单位为行代码(L0C)或千行代码(KL0C);第二项估算技术的软件信息域包括五个特性:输入项数、输出项数、查询数、()数和外部接口数,计算单位为 FP。在软件估算规模的基础上,使用由经验导出的公式来预测软件开发工作量,其计算单位通常是()。【答案】代码行、主文件、人月(PM)12.4 12.4 工作计划管理工作计划管理12.5 12.5 人员组织管理人员组织管理12.6 12.6 软件质量保证软件质量保证1、为了在软件开发过程中保证软件的质量,主要采取下述措施:_、复查和管理复审、_。【答案】软件测试、程序正确性证明2、软件工程管理中的控制包括进度控制、人员控制、经费控制和_。【答案】质量控制3、McCall 质量度量模型高层特性包含面向软件产品操作、产品修改和_三个方面的 11 个特性。【答案】产品适应4、提高程序效率的根本途径在于选择良好的设计方法、良好的_、而不是靠编程时对程序语句的调整。【答案】数据结构与算法12.7 12.7 软件配置管理软件配置管理1、在软件开发过程中要产生大量的信息,要进行大量的修改,_能协调软件开发,并使混乱减到最低程度。【答案】软件配置管理2、软件版本控制是属于_的活动内容。【答案】软件配置管理3、软件配置管理,简称_,软件配置项简称_。【答案】SCM、SCI【解析】Software configuration management SCM,Software Configuration item4、产品管理包括_和_。【答案】版本管理、配置管理12.8 12.8 能力成熟度模型能力成熟度模型