《软件工程》综合练习题一、选择题.软件是一种( )产品。
.有形.逻辑.物质.消耗.与计算机科学的理论研究不同,软件工程是一门( )学科。
.理论性.工程性.原理性.心理性.软件危机的主要原因有( )。
①软件本身的特点②用户使用不当③硬件可靠性差④对软件的错误认识⑤缺乏好的开发方法和手段.③④.①②④.①⑤.①③.软件工程学科出现的主要原因是( )。
.计算机的发展.其他工程科学的影响.软件危机的出现. 程序设计方法学的影响.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。
.软件开发工程化.消除软件危机.实现软件可重用.程序设计自动化.软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。
.螺旋模型.增量模型.功能模型.瀑布模型.结构化方法和原型化方法是软件开发中常使用的两种基本方法,在实际的应用中,它们之间的关系表现为( )。
.相互排斥.相互补充.交替使用.独立使用.在软件生存周期的模型中,( )吸收了软件工程“演化”的概念,适合于大型软件的开发。
.喷泉模型.基于知识的模型.变换模.螺旋模型.瀑布模型是一种( )。
.软件开发方法.软件生存周期.程序设计方法学.软件生存周期模型.在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是( ).经济可行性.技术可行性.操作可行性.法律可行性.技术可行性要解决( )。
.存在侵权否.成本、效益问题.运行方式可行.技术风险问题.可行性研究要进行的需求分析和设计应是( )。
.详细的.全面的.简化、压缩的.彻底的.数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。
.输入、输出、外部实体和加工.变换、加工、数据流和存储.加工、数据流、数据存储和外部实体.变换、数据存储、加工和数据流.系统流程图是描述( )的工具。
.逻辑系统.程序系统.体系结构.物理系统.下列叙述中,( )是正确的。
①软件系统中所有的信息流都可以认为是事务流②软件系统中所有的信息流都可以认为是变换流③事务分析和变换分析的设计步骤是基本相似的.①.②.③.②③.加工是对数据流图中不能再分解的基本加工的精确说明,下述( )是加工的最核心。
.加工顺序.加工逻辑.执行频率.激发条件.系统定义明确之后,应对系统的可行性进行研究。
可行性研究包括( )。
.软件环境可行性、技术可行性、经济可行性、社会可行性.经济可行性、技术可行性、社会可行性.经济可行性、社会可行性、系统可行性.经济可行性、实用性、社会可行性.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
.数据流图.数据字典.结构化语言.判定表与判定树.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。
.提供严格定义的文档.加强用户参与和决策.简化项目管理.加快需求的确定.需求分析( )。
.要回答“软件必须做什么?” .可概括为:“理解,分解,表达”六个字.要求编写需求规格说明书.以上都对.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( )。
.对象.解释.符号.描述.在数据流图中,有名字及方向的成分是( )。
.控制流.信息流.数据流.信号流.在结构化分析方法中,用以表达系统内部数据的运行情况的工具有( )。
.数据流图.数据字典.结构化英语.判定树与判定表.软件需求规格说明书的内容不应包括对( )的描述。
.主要功能.算法的详细过程.用户界面及运行环境.软件的性能.在结构化分析方法()中,与数据流图配合使用的是( )。
.网络图.实体联系图.数据字典.程序流程图.通过( )可以完成数据流图的细化。
.结构分解.功能分解.数据分解.系统分解.需求分析过程中,对算法的简单描述记录在( )中。
.层次图.数据字典.数据流图.图.初步用户手册在( )阶段编写。
.可行性研究.需求分析.软件概要设计.软件详细设计.结构化分析方法()最为常见的图形工具是( )。
.程序流程图.实体联系图.数据流图.结构图.方法的基本思想是( ).自底向上逐步抽象.自底向上逐步分解.自顶向下逐步分解.自顶向下逐步抽象.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( ).抽象和信息隐蔽.局部化和封装化.内聚性和耦合性.激活机制和控制方法.结构化程序流程图中一般包括三种基本结构,下述结构中( )不属于其基本结构。
.顺序结构.条件结构.选择结构.嵌套结构.对软件进行分解,是为了( )。
.降低模块的复杂程度.降低模块间接口的复杂程度.降低模块的复杂程度,并降低模块间接口的复杂程度.降低模块的复杂程度,并提高模块间接口的复杂程度.软件设计一般分为总体设计和详细设计,它们之间的关系是( )。
.全局和局部.抽象和具体.总体和层次.功能和结构.软件结构使用的图形工具,一般采用( )图。
....软件设计阶段一般又可分为( )。
.逻辑设计与功能设计.概要设计与详细设计.概念设计与物理设计.模型设计与程序设计.模块中所有成分引用共同的数据,该模块的内聚度是( )的。
.逻辑性.瞬时性.功能性.通信性.结构图中,不是其主要成分的是( )。
.模块.模块间传递的数据.模块内部数据.模块的控制关系.好的软件结构应该是( ).高耦合、高内聚.低耦合、高内聚.高耦合、低内聚.低耦合、低内聚.结构分析方法就是面向( )自顶向下逐步求精进行需求分析的方法。
.目标.数据流.功能.对象.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和( )。
.独立性.有效性.耦合性.安全性.在面向数据流的软件设计方法中,一般将信息流分为( ).变换流和事务流.变换流和控制流.事务流和控制流.数据流和控制流.在多层次的结构图中,其模块的层次数称为结构图的( ).深度.跨度.控制域.粒度.( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
.程序流程图.数据流图.图.结构图.模块( ),则说明模块的独立性越强。
.耦合越强.扇入数越高.耦合越弱.扇入数越低.结构化设计方法在软件开发中,用于( )。
.测试用例设计.概要设计.程序设计.详细设计.软件概要设计结束后得到( )。
.初始化的软件结构图.优化的软件结构图.模块详细的算法.程序编码.方法是一种面向( )的方法。
.对象.数据结构.数据流.控制流.程序控制一般分为( )、分支、循环三种基本结构。
.分块.顺序.循环.分支.是下列( )语言。
.高级程序设计语言.伪码.中级程序设计语言.低级程序设计语言.下列叙述正确的是( ).图可以用于系统设计.语言可以用于运行.图表达的软件过程呈树型结构.结构化程序设计强调效率第一.模块的内部过程描述就是模块内部的( ),它的表达形式就是详细设计语言.模块化设汁.算法设计.程序设计.详细设计.方法根据( )来导出程序结构。
.数据结构.数据问的控制结构.数据流图.图.程序控制的三种基本结构中,( )结构可提供程序重复控制。
.遍历.排序.循环.分支.图上下层之间的关系是( )。
.调用关系.组成关系.继承关系.嵌套关系.详细设计的任务是确定每个模块的( )。
.外部特性.内部特性.算法和使用的数据.功能和输入输出数据.结构化程序设计的一种基本方法是( )。
.筛选法.递归法.迭代法.逐步求精法.结构化程序设计主要强调的是( ).程序的效率.程序执行速度.程序易读性.程序的规模.黑盒测试是从( )观点出发的测试,白盒测试是从( )观点出发的测试。
.开发人员、管理人员.用户、管理人员.用户、开发人员.开发人员、用户.为了提高测试的效率,应该( )。
.随机地选取测试数据.取一切可能的输入数据作为测试数据.在完成编码以后制定软件的测试计划.选择发现错误可能性大的数据作为测试数据.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中( )是最强的覆盖准则。
.语句覆盖.条件覆盖.判定覆盖.路径覆盖.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
.程序的内部逻辑.程序的复杂结构.使用说明书.程序的功能.软件测试可能发现软件中的( ),但不能证明软件( )。
.所有错误、没有错误.错误、没有错误.逻辑错误、没有错误.设计错误、没有错误.在测试中,下列说法错误的是( )。
.测试是为了发现程序中的错误而执行程序的过程.测试是为了表明程序是正确的.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案.成功的测试是发现了迄今为止尚未发现的错误的方案. 在进行软件测试时,首先应当进行单元测试,然后再进行( ),最后再进行有效性测试。
.组合测试.集成测试.有效性测试.确认测试.在软件生存周期中,工作量所占比例最大的阶段是( )阶段.需求分析.设计.测试.维护.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。
.维护.设计.软件再工程.逆向工程.在整个软件维护阶段所花费的全部工作中,( )所占的比例最大。
.校正性维护.适应性维护.完善性维护.预防性维护.软件工程对维护工作的主要目标是提高( ),降低维护的代价。
.软件的生产率.软件的可靠性.软件的可维护性.维护的效率.软件工程针对维护工作的主要目标是提高软件的可维护性,降低( )。
.维护的效率.维护的工作量.文档.维护的代价.人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。
( )是由于开发时测试的不彻底、不完全造成的。
.校正性维护.适应性维护.完善性维护.预防性维护.维护由引起的原因不同可分为几类,( )是由于外部环境或数据库的环境的变化造成的。
.校正性维护.适应性维护.完善性维护.预防性维护.产生软件维护的副作用,是指( )。
.开发时的错误.隐含的错误.因修改软件而造成的错误.运行时的误操作.软件生存周期的( )工作和软件可维护性有密切的关系。
.编码阶段.设计阶段.测试阶段.每个阶段.软件维护的困难主要原因是( )。
.费用低.人员少.开发方法的缺陷.维护难.对象模型的描述工具是( )。
.状态图.数据流图.对象图.结构图.每个对象可用它自己的一组属性和它可以执行的一组( )来表现。
.行为.功能.动态模型的描述工具是( )。
.对象图.结构图.状态图.设计图.表示对象的相互行为的模型是( )模型。
.对象.动态.功能.静态.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为( ),此定义包括一组数据属性和在数据上的一组合法操作.类.属性.对象.消息.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。