1、软件工程考研真题填空题1、软件工程学概述1.1 软件危机1、为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了_的概念。【答案】软件工程2、开发软件工具的主要目的是为了和_改善软件的质量。【答案】提高软件生产率3、程序设计时代的生产方式是_,程序系统时代的生产方式是_,软件工程时代的生产方式是_。【答案】个体手工、作坊式小团体、工程化 1.2 软件工程概念和任务1、文档(document)是一种数据媒体和其上所记录的( )【答案】数据2、软件工程由方法、工具和( )三部分组成,称软件工程的三要素【答案】过程3、到目前为止,软件生产的发展经过了三个阶段,即_、_、_。【答案】程序
2、设计时代、程序系统时代、软件工程时代4、组成软件的两个部分是:_。【答案】程序和文档5、软件工程的主要思想是在软件生产中用_代替传统手工方法。【答案】工程化方法6、硬件与_一起构成完整的计算机系统。【答案】软件 7、软件是一种_产品,它与物质产品有很大区别。【答案】逻辑 8、“软件”包含计算机程序及其说明程序的各种_。【答案】文档1.3 软件生命周期1、软件生命周期可以分为 , 和 3个时期。【答案】软件定义 软件开发 软件维护2、基于计算机系统的软件要素中的软部件由程序、数据和( )组成【答案】文档 3、软件生存周期模型是描述软件开发过程中_的模型。【答案】各种活动如何执行 4、软件生存周期
3、是指一个软件从提出开发要求开始直到_为止的整个时期。【答案】该软件报废 5、_是描述软件开发过程中各种活动如何执行的模型。【答案】软件生存周期模型1.4 软件过程1、经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现”这个问题。因此,总体设计又称为 或初步设计。通过这个阶段的工作,将划分出组成系统的物理元素: 、文件、数据库、人工过程和文档等。总体设计通常由两个主要阶段组成: 设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。【答案】概要设计 程序 系统设计2、软件定义过程可通过软件系统的( )
4、和( )两个阶段来完成【答案】可行性研究和需求分析3、软件定义的基本任务是确定软件系统的工程( ),也就是要搞清“做什么”【答案】需求4、在软件生产中,_的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。【答案】软件工程过程5、基于方法的软件开发环境可分为两大类:支持软件开发周期特定阶段的管理和_。【答案】开发过程6、开发过程依序包括_、_、_、_、软件安装和_等活动。【答案】需求分析、设计、编码、集成、验收 7、软件开发划分的各阶段任务尽可能_,同一阶段任务性质尽可能_。【答案】相对独立、相同1.5 软件过程模型1、增量模型适合于_不明确、设计方案有一定风险的软件项
5、目。【答案】软件需求 2、增量模型根据增量方式和形式的不同,分为_和原型模型。【答案】渐增模型 3、瀑布模型是以文档为驱动、适合于_的软件项目的模型。 【答案】软件需求明确4、软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_。【答案】演化型原型 5、演化提交模型是在_的基础上,项目开发的各阶段都进行增量开发。【答案】瀑布模型 6、软件开发中的原型是软件的一个_,它反映了最终系统的_。【答案】早期可运行的版本,重要特性 7、瀑布模型是将_各活动规定为_依联接的若干阶段的模型。【答案】生存周期、线性顺序8、变换模型是一种适合于_方法的模型。从_开始,经过一系列变换,最终得到系统的
6、目标程序。【答案】形式化开发软件、需求形式化说明9、喷泉模型是一种以_为动力,以_为驱动的模型。【答案】用户需求;对象10、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有_和_。【答案】抛弃策略,附加策略 11、由于运用原型的目的和方式不同,在使用原型时可采取的策略有_策略和_策略。【答案】抛弃、附加2、可行性研究和必要性2.1 可行性研究概念和任务1、可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_。【答案】是否值得开发2、可行性研究实质上是要在较高层次上以较抽象的方式进行_的过程。【答案】需求分析和设计3、可行性研究从技术可行性、经济可行性、_三方面进行分析
7、。【答案】社会可行性4、软件项目计划是_阶段的结果产品。【答案】可行性研究 5、可行性研究的目的是用_的代价,在尽可能_的时间内,确定该项目是否能够_。【答案】最小、短、开发6、可以从三方面研究可行性,即_可行性、_可行性、_可行性。【答案】技术经济社会 7、可行性研究实质上是进行一项_、压缩了的需求分析、_过程。【答案】简化;设计 8、可行性研究要在_层次上以_方式进行需求分析和设计。【答案】较高、较抽象 9、社会可行性研究包括_、_、_、用户组织的管理模式及_,其他一些技术人员常常不了解的_等。【答案】合同、责任、侵权、规范、陷阱10、可行性研究的目的不是去开发一个软件项目,而是研究这个软
8、件项目是否_,_。【答案】值得开发、其中的问题能否解决11、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、_。【答案】社会可行性 2.2 系统流程图2.3 数据流图和数据字典1、第二代CASE工具的特点是支持图形表示的_如数据流图与结构图。【答案】结构化方法 2、SA方法中主要描述工具是_与_。【答案】DFD(数据流图)、DD(数据字典) 3、数据字典中有四类条目,分别是_、_、_、_。【答案】数据流、数据项、数据存储、加工4、数据字典中的加工逻辑主要描述该加工_,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的_。【答案】做
9、什么、加工规则5、数据流图中的箭头表示_。【答案】数据流6、数据流图中,每个加工至少有_个输入流和_个输出流。【答案】1、1 7、建立数据字典一般的两种形式是_和_。【答案】手工建立、利用计算机辅助建立并维护2.4 成本效益分析1、纯收入是指在整个生存周期之内的_与投资之差。 【答案】累计经济效益2、将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为_。 【答案】 差别估算3、成本效益分析的目的是从_角度评价开发一个新的软件项目是否可行。【答案】经济角度 4、投资回收期就是使累计的经济效
10、益等于_所需的时间。【答案】最初的投资费用5、效益分析有_效益和_效益两种。【答案】有形、无形 6、若年利率为i,不计复利,P元在n年后的价值F=_。【答案】P(1+ni) 7、_就是使累计的经济效益等于最初的投资费用所需的时间。项目的_是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。【答案】投资回收期、纯收入 8、投资回收期就是_等于最初的_所需的时间。【答案】累计的经济效益,项目投资9、成本效益分析的目的是从_角度评价开发一个_是否可行。【答案】经济软件、项目3、需求分析3.1 需求分析概念和任务1、软件项目计划是_阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未
11、能考虑软件系统开发的细节情总,因此软件项目计划一般_在阶段完成后才定稿的。【答案】可行性研究、需求分析3.2 需求分析方法1、软件需求获取主要包括 、 、 、 等步骤。【答案】用户访谈、面向数据流自顶向下求精、简易技术规格说明书、快速建立软件原型2、为了使用户需求逐步精细化、完全化、一致化,通常采用( )。【答案】需求建模技术3、软件需求分析方法必须能够表达和理解问题的_和功能域。【答案】数据域4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是_。【答案】功能需求 5、在需求分析阶段要进行以下几方面的工作:问题识别、_、_、编写文档。【答案】分析与综合、导出软件的逻辑模型3.3
12、熟练掌握数据流图的细化及ER图、状态转换图的画法1、系统流程图是描述_的传统工具,用图形符号表示系统中各个_,表达了系统中各种元素之间的_情况。【答案】物理模型、元素、信息流动2、通过_,可以确定组成软件的过程实体。通过_,可以定义和实施对模块的过程细节和局部数据结构的存取限制。【答案】抽象、信息隐蔽3、为了较完整地描述用户对系统的需求,DFD应与数据库中的_图结合起来。【答案】ER 3.4 掌握需求分析过程及各种图形工具的应用(层次方框图、Warnier图、IPO图)1、由于数据流是流动中的数据,所以必须有_。除了与_之间的数据流不用命名外,数据流应该用名词或名词短语命名。【答案】流向、数据
13、存储2、IPO图描述分层图中一个模块的输入、输出、_和内容。【答案】处理3.5 需求验证3.6 形式化说明技术(有穷状态机、Petri网、Z语言)1、需求分析阶段产生的最重要的文档之一是_。【答案】需求规格说明书4、总体设计4.1 总体设计概念和任务1、软件概要设计的主要任务就是_。 【答案】软件结构的设计2、软件设计阶段产生的最重要的文档之一是_。【答案】概要设计说明书4.2 总体设计原理1、列举五种你最熟悉并经常运用的软件工程原则 、 、 、 、和 等。【答案】抽象、模块化、信息隐蔽、局部化、确定性、一致性、完备性、可验证性;任选5个2、什么是模块的作用范围?什么是模块的控制范围?【答案】
14、控制范围:模块本身和它的下属模块的集合;作用范围:模块中的一个判定影响的所有模块的集合4.3 启发规则/设计技巧和经验(耦合、内聚、深度、宽度、扇入、扇出等)1、如果一个模块被N个模块调用,其中直接的上级模块的个数是M个(MN),那么该模块的扇入数是 个.【答案】N【解析】最大扇出数,即模块直接调用的下层模块数目,可以看一个模块向下辐射出去的第一层的模块数。同理,最小扇出数,即模块被直接调用的上层模块最大数目,可以看一个模块向上辐射出去的第一层的模块数。2、衡量模块独立性的两个定性标准是_。【答案】耦合性和内聚性3、耦合性和内聚性是衡量_的两个定性的标准。【答案】模块独立性4、在一段程序中,将
15、多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出 现的内聚称为_。【答案】偶然内聚 5、一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是_。【答案】控制耦合 6、有效的模块化是通过定义一组_的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。【答案】相互独立7、两个模块之间把简单的数值作为参数传递,这种耦合方式为_。【答案】数据耦合8、把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模 块的内聚性是_。【答案】偶然内聚9、一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均
16、值,则该模块的内聚性是_。【答案】顺序内聚10、软件结构图的宽度是指一层中_的模块个数。【答案】最大11、两个模块都使用同一张表,这种耦合称为_。【答案】公共耦合 12、一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为_。【答案】通信内聚13、信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于_的其他模块来说,是不能_的。【答案】不需要这些信息、访问14、一个模块把数值作为参数传送给另一个模块,这种耦合方式称为_。【答案】数据耦合15、如果只有两个模块之间有公共数据环境,这种公共耦合有两种情况:一是一个模块只是给公共数据环境送数据,另一个模块只是从公共环境中
17、取数据,这是_耦合。二是两个模块都往公共环境中送数据又从里面取数据,这是_耦合。【答案】比较松散的、公共紧密的数据 16、在一个模块中_,_和_反映模块的外部特性,逻辑反映它的内部特性。【答案】功能、状态、接口17、反映软件结构的基本形态特征是_、_、_和_。【答案】深度、宽度、扇入、扇出4.4 软件结构设计(层次图和HIPO图)1、耦合性和内聚性是衡量 的两个定性的标准。【答案】模块独立性2、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为 耦合。【答案】数据耦合【解析】数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递3、结构化分析
18、方法的分析策略是_。【答案】自顶向下逐步求精4、一个软件的深度是指其控制的( )【答案】层数5、人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得出了一些启发式规则。一个常用启发规则是,设计出软件的初步结构后,应该审查分析这软件结构,通过模块分解或( ), 力求降低耦合提高内聚。例如,多个模块公有的一个子功能可以独立成一个模块,由这些模块调用:多个类共有的数据成员或功能可以抽取出来做成( ),由多个类继承使用。第二个常用启发规则是,模块的规模应该适中,并且其深度、宽度、扇出和扇入都应适当。第三个常用启发规则就是降低模块接口的( )。接口复杂或不一致(即看起来传递的数据之间没有联系
19、),是紧耦合低内聚的征兆,应该重新分析这个模块的独立性。第四个常用的启发规则是,设计单入口单出口单功能的模块。【答案】合并、父类、复杂程度6、结构化程序设计方法是使用_构造程序。 【答案】基本控制结构7、结构化设计对数据流有两种分析方法,它们是_设计和_设计。【答案】变换分析、事务分析8、软件结构是以_为基础而组成的一种控制层次结构。【答案】模块 4.5 结构化设计方法(数据流的类型,将其能换成软件结构图,并能根据优化准则将其优化)1、 结构化方法总的指导思想是_逐层分解。【答案】自顶向下 2、在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_。 【答案】数据存储对象3、
20、变换型数据流图是由输入、_和输出三部分组成的【答案】变换(或处理)4、结构化语言是介于_和形式语言之间的一种半形式语言。【答案】自然语言 5、结构化分析是面向_进行需求分析的方法。【答案】数据流6、结构化设计以_为基础,按一定的步骤映射成软件结构。【答案】数据流7、在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素;结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的_。【答案】每一个加工8、结构化设计以_为基础映射成软件结构。【答案】数据流9、结构化方法由结构化分析、_、结构化程序设计构成,它
21、是一种面向_的开发方法。【答案】结构化设计,数据流4.6 优化设计5、详细设计5.1 详细设计概念和任务1、模块内部的算法设计在结构化方法的 阶段进行。【答案】详细设计5.2 结构程序设计1、软件结构是以 为基础而组成的一种控制层次结构。【答案】模块2、详细设计阶段将设计出程序的“蓝图”,以后程序员将根据这个“蓝图”写出实际的程序代码。因为程序的“读者”有两个,那就是计算机和 。因此,衡量程序的质量不仅要看它的逻辑是否正确、性能是否满足要求,更主要的是要看它是否容易阅读和理解。结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础。该技术使用三种结构即 、 和循环实现任何单入口和单出口
22、的程序。【答案】人 顺序 选择3、不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种_的维护。【答案】非结构化4、PDL是一种用于描述模块_和处理细节的语言。【答案】算法设计 5、任何程序都可由顺序、选择、_三种基本控制结构构造。【答案】重复/循环5.3 人机界面设计1、用户界面设计过程主要包括 、 、 和 等步骤。【答案】绘制窗体和消息流程图、制作用户界面原型窗体和消息框之间的前后顺序、从用户哪里获取反馈信息、迭代修改用户界面2、通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可( )性的措施之一。【答案】交互5.4 过程设计工具(程序
23、流程图、盒图、PAD图、判定表、判定树、过程设计语言)1、计算机辅助软件工程这一术语的英文缩写为_。【答案】CASE【解析】Computer Aided Software Engineering(计算机辅助软件工程)2、在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是_。【答案】PAD图 3、在算法描述工具中,PAD图可自动生成程序。由机器自动通过_生成相应的源代码,大大提高了_。【答案】走树的办法、 软件的生产率4、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用_或_较好。【答案】判定表,判定树 5、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把
24、所有的可能性全部都考虑到。可将两种工具结合起来,先用_作底稿,在此基础上产生_。【答案】判定表;判定树 5.5 Jackson图和方法1、Jackson图除了可以表达 外,还可以表达数据结构【答案】程序结构2、 Jackson方法是一种面向_的开发方法。【答案】数据结构3、在许多软件项目中,输入数据和输出数据之间很少或没有结构上的对应关系,Jackson把这种情况称为_。【答案】结构冲突 4、Jackson方法是面向_的设计方法。早期的Jackson方法用于开发规模较小的数据处理系统的设计,简称_。【答案】数据结、JSP5、Jackson结构图能对结构进行_分解,因此可以表示_。【答案】自顶向
25、下、层次结构 5.6 程序复杂度的度量方法(McCabe方法、Halstead方法)1、软件复杂性度量的参数很多,主要有规模、_、结构、智能度。【答案】难度 2、软件复杂性主要表现在程序的复杂性。程序的复杂性主要指_程序的复杂性。【答案】模块内3、McCabe质量度量模型,针对面向软件产品的运行、_、_。【答案】修正、转移 4、软件复杂性度量的参数主要有_、_、结构和智能度。【答案】规模、难度6、实现6.1 编码的概念和任务1、以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫( )过程。【答案】编码2、软件编码是将_阶段产生的算法,用某种程序设计语言编写成程序的过程。【答案】详细设计 6.2 编程语言和编程规范1、机器语言、汇编语言:依赖于机器,面向( )【答案】机器2、结构化语言是介于自然语言和_之间的一种半形式语言。【答案】形式语言3、Lisp是一种_语言,Prolog是一种_语言。【答案】函数型 逻辑型 4、程序设计语言的_指语言的联想性。在编码过程中,由语句组合成模块,由模块组装成系统结构,并在组装过程中实现模块的高内聚,低耦合
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1