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