软件工程期末考试总复习题及答案.docx
复习题填空题1. 在信息处理和计算机领域内,一般认为软件是 _程序_、_文档_ 和_数据_ 。2. 数据流图的基本组成部分有 _数据的源点与终点_、 数据流_、 加工_、 数据文件_。3. 数据流图和数据字典共同构成了系统的 _逻辑_模型,是需求规格说明书的主要组成部分。4. 划分模块时尽量做到_高内聚、低耦合_,保持模块的独立性,尽量使用公共模块。 5. 类的实例化是_对象_。 6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7. 靠性的两个指标是_成功地运行的概率_和_平均故障时间_。 8. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9. 将得到软件的总开发量。这种成本估算方法称为_自底向上_。 10. 如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 _N_ 个。 11. 结构化设计以 _数据流图_ 为基础,按一定的步骤映射成软件结构。 12. 软件的风险分析可包括风险识别、风险预测 和风险驾驭(或风险管理)等3项活动。13. 软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。14. 软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。15. 面向对象分析的目的是对客观世界的系统进行 _建模_ 。 16. 软件维护工作的生产性活动包括分析评价、修改设计和 _编写程序代码_ 等。 17. 为了使应用软件适应计算机环境的变化而 _修改软件_ 的过程称为适应性维护。 18. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 _顺序内聚_ 。 19. 投资回收期就是使累计的经济效益等于 _最初的投资费用_ 所需的时间。 20. 软件生存周期是指一个软件从提出开发要求开始直到 _软件废弃_为止的整个时期。21. 曾被誉为“程序设计方法的革命”的 结构化 程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可循的一门科学。22. 从结构化程序设计到 面向对象程序设计 ,是程序设计方法的又一次飞跃。23. 在单元测试时,需要为被测模块设计_测试用例_。一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对)6.数据库设计说明书是一个软件配置项(对) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12.集成测试主要由用户来完成。(错) 13.确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16.在可行性研究中最难决断和最关键的问题是经济可行性。( )17.耦合是指一个模块内各个元素彼此结合的紧密程度。( )18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。( )19.概要设计阶段完成的主要文档是概要设计说明书。( )20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。( )21.程序设计语言中应绝对禁止使用GOTO语句。( )22.类是关于对象性质的描述,由方法和数据组成。( )23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。( )25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。( )26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。( )名词解释1. 数据词典是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。2. 数据流图他以图形的方式反映系统的数据流程3. 白盒测试按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法4. 黑盒测试按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法5. 完善性维护为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大6. 软件可靠性指在给定的时间内,程序按照规定的条件成功地运行的概率7. 软件配置是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称8. 软件再工程运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。9. 测试是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。10. 测试是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。11. 聚集关系表示类或对象之间的整体与部分的关系12. 泛化关系表示类或对象之间的一般与特殊的关系13. 内聚一个模块内部各个元素彼此结合的紧密程度的度量。14. 耦合一一个软件结构内不同模块之间互连程度的度量。简答题1.软件工程的七条基本原理是什么?答:软件工程的七条基本原理是:(1) 用分阶段的是的生存周期计划严格管理;(2) 坚持进行阶段评审;(3) 严格实施的产品控制;(4) 采用现代程序技术;(5) 结果应能清楚地审查;(6) 开发小组的成员应该少而精;(7) 承认不断改进软件工程的必要性。2.良好的编码风格应具备哪些条件?答:应具备以下条件:(1)使用标准的控制结构;(2)有限制地使用GOTO语句;(3)源程序的文档化 (应具备以下内容)有意义的变量名称 “匈牙利命名规则 ”。 适当的注释 “注释规范”。标准的书写格式:用分层缩进的写法显示嵌套结构的层次(锯齿形风格);在注释段的周围加上边框;在注释段与程序段、以及不同程序段之间插入空行;每行只写一条语句;书写表达式时,适当使用空格或圆括号等作隔离符。(4)满足运行工程学的输入输出风格。3.简述文档在软件工程中的作用。答:(1) 提高软件开发过程的能见度(2) 提高开发效率(3) 作为开发人员阶段工作成果和结束标志(4) 记录开发过程的有关信息便于使用与维护;(5) 提供软件运行、维护和培训有关资料;(6) 便于用户了解软件功能、性能。4.可行性研究包括哪几方面的内容?答:(1)经济可行性:是否有经济效益,多长时间可以收回成本;(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;(3)运行可行性:系统操作在用户内部行得通吗?(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。5.结构化的需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体关系图(ER)等。6.一般面向对象分析建模的工具(图形)有哪些? 答:用例图、类/对象图、对象关系图、实体关系图(ER)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。8.在面向对象分析时类和对象的静态关系主要有哪几种?答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。9. 什么是模块化?模块设计的准则?模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。模块设计的准则:(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。(4) 尽量降低模块接口的复杂程度;(5) 设计单入口、单出口的模块。(6) 模块的作用域应在控制域之内。10.什么是模块独立性?用什么度量?答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。11. 变换型数据流由哪几部分组成?变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。12. 变换分析设计的步骤?(1) 区分传入、传出和变换中心三部分,划分DFD图的分界线;(2) 完成第一级分解:建立初始SC图的框架;(3) 完成第二级分解:分解SC图的各个分支;(4) 对初始结构图按照设计准则进行精化与改进。13. 事务型数据流由哪几部分组成?事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。14. 事务分析设计的步骤?(1) 在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);(2) 画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);(3) 分解和细化接收分支和动作分支,完成初始的SC图;(4) 对初始结构图按照设计准则进行精化与改进。15数据字典包括哪些内容?数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。16给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:(1)流程图;(2)N-S图;(3) PDL语言。17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。绘制该系统的数据流图和软件结构图。18.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。19.详细设计的目的?为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.20详细设计的任务是什么?(1) 为每个模块确定采用的算法;(2) 确定每一模块使用的数据结构;(3) 确定模块接口的细节;(4) 编写过程设计说明书;(5) 设计每一模块的测试用例。21. 编码的任务?使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)。22.软件测试的基本任务?软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;23.什么是黑盒测试?黑盒测试主要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。 24.什么是白盒测试?白盒测试主要采用的技术有哪些?白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。 25.路径测试技术中几种主要覆盖的含义?举例说明?语句覆盖:至少执行程序中所有语句一次。 判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。条件覆盖:执行所有可能的穿过程序的控制路流程。条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。(例略) 26.等价分类法的测试技术采用的一般方法?举例说明?(1) 为每个等价类编号;(2) 设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。(3) 设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。(例略)27.如图显示某程序的逻辑结构。 试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。NYN设计测试方案覆盖种类需满足的条件测试数据期望结果 判定覆盖A>1,B=0A=2,B=0执行S1A>1,B¹0或A£1,B=0或A£1,B¹0A=2,B=1或A=1,B=0或A=1,B=1 执行S2 条件覆盖以下四种情况各出现一次 A>1B=0A=2,B=0执行S1A£1B¹0A=1,B=1执行S2 条件组合覆盖A>1,B=0A=2,B=0执行S1A>1,B¹0A=2,B=1执行S2A£1,B=0A=1,B=0执行S2A£1,B¹0A=1,B=1执行S2 28.某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0或1的三位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1. 有非数字字符;2.少于三位数字;3.多于三位数字。前 缀3.从200到999之间的三位4.有非数字字符;5.起始位为0;6.起始位为1; 7.少于三位数字;8.多于三位数字。后 缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。 设计测试方案方案内容输 入预期输出地区码前缀后缀1空白200999之间的三位数字四位数字( )276-2345有效2三位数字四位数字(635)805-9321有效3有非数字字符 (20A)723-4567无效4少于三位数字 (33 )234-5678无效5多于三位数字 (5555)345-6789无效6 有非数字字符 (345)5A2-3456无效7 起始位为0 (345)012-3456无效8 起始位为1 (345)132-3456无效9 少于三位数字 (345) 92-3456无效10 多于三位数字 (345)4562-3456无效11 有非数字字符(345)342-3A56无效12 少于四位数字(345)342- 356无效13 多于四位数字(345)562-34567无效 29.为什么说软件的维护是不可避免的?因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。22.试由程序流程图导出程序图1入口2A>1 F38B=0 T TX=X/A 4 FA=25 TX>1 F96X=X+1 T 7出口 F(a)程序流程图 (b)导出程序图30.软件的维护一般分为哪几类?完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作; 适应性维护:是软件适应新的运行环境而进行的工作;纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的因素?(1) 软件的可理解性、可测试性、可修改性; (2) 文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。32.分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有: (1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加 1 个要点1分,只要答上5个要点得5分!33.说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分) 34、软件测试的基本任务是什么?测试与纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么? 答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。36.需求分析与软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分) 37.说明软件测试和调试的目的有何区别? 答:测试的目的是判断和发现软件是否有错误(2。5分)调试的目的是定位软件错误并纠38. 根据以下被测试的流程图,选择相应的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 在1-3的答案中满足判定覆盖的测试用例是_1_ (2分) 在1-3的答案中满足条件覆盖的测试用例是_3_ (2分) 在1-3的答案中满足判定/条件覆盖的测试用例是_2_ (2分) 39工资计算系统中的一个子系统有如下功能: ( 1 )计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分根据职工的出勤情况计算出奖励金; ( 3 )计算工资总额部分根据输入的扣除额及奖金计算出总额; ( 4 )计算税金部分由工资总额中计算出应扣除各种税金; ( 5 )生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 试根据要求画出该问题的数据流程图。40用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。用C语言编写:/*程序名称:直接选择排序;*/*作者 */*完成日期:2006年6月9日;*/*过程头:selectsort(int *A;int N)*/*输入参数:N为元素个数(N<=1000);A整型数组,从1到N存放待排序元素;*/*返回结果:数组A为指针,由它返回排序结果;*/void selectsort(int *A;int N)int i,j,k,x;for (i=1;i<N;i+) /*求第I个最小值*/ k=i; /*先假设I位置上的值最小*/for (j+=i;j<=N;j+) /*求I到N位置上的最小值*/ if (A(j)<A(k)) k=j;if (k<>i) /*需要交换A(K)和A(I)的值*/ /*交换A(K)和A(I)*/ x=A(i); A(i)=A(k);A(k)=x /*结束交换*/ /*求出了第I个最小值*/ /*SELECTSORT*/41.把事务型数据流图映射成软件结构图:A B C + f1 f2 f4 f5 f3 主模块 Read f1 A B C Write f4 Write f5主模块 f1 f2 f1 f3 f4 f5 42.把变换型数据流图映射成软件结构图:B A C f1 f2 f3 f4 主模块 Get f2 B Get f3 Read f1主模块 Read f1主模块 A C Write f4主模块 f1 f1 f2 f2 f3 f3 f4 f4 43、什么是软件复用?简述软件复用和软件共享、软件移植的差别。答:软件复用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。如果是在一个系统中多次使用一个相同的软件成分,这叫软件共享;对一个软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。44、什么是软件再工程?软件再工程的主要活动有哪些?答:软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。主要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。选择题1. 软件工程的概念是哪年提出的( )。 A. 1988 B. 1968 C. 1948 D. 19282. 瀑布模型的关键不足在于( )。 A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更3. 以下哪一项不是软件危机的表现形式( )。 A. 开发的软件不满足用户需要 B. 开发的软件可维护性差 C. 开发的软件价格便宜 D. 开发的软件可靠性差4. 软件可行性研究实质上是要进行一次( )需求分析、设计过程。 A. 简化、压缩的 B. 详细的 C. 彻底的 D. 深入的 5. 结构化设计是一种面向( )的设计方法。 A. 数据流 B. 模块 C. 数据结构 D. 程序 6. 与确认测试阶段有关的文档是( )。 A. 需求规格说明书 B. 概要设计说明书 C. 详细设计说明书 D. 源程序7. 软件开发的需求活动,其主要任务是( )。A. 给出软件解决方案 B. 给出系统模块结构C. 定义模块算法 D. 定义需求并建立系统模型8. 以下说法错误的是( )。 A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令 B. 文档也是软件产品的一部分,没有文档的软件就不成软件 C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量 D. 高质量文档对于发挥软件产品的效益有着重要的意义 9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。 A. 成本估算 B. 项目计划 C. 工程管理 D. 工程网络图 10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。 A. 隐藏复杂性 B. 信息隐蔽 C. 经常类的复用 D. 类的开发 11. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。 A. 多态性 B. 完整性 C. 可移植性 D. 兼容性 12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。 A. 数据流图 B. 状态图 C. 系统结构图 D. 用例图13. 面说法正确的是( )。 A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误 C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 14. ( )能够有效地检测输入条件的各种组合可能会引起的错误。 A. 等价类划分 B. 边界值分析 C. 错误推测 D. 因果图 15火车是一种陆上交通工具。火车和陆上交通工具之间的关系是( )关系。 A. 组装 B. 整体部分 C. has a D. 一般特殊 16、软件维护产生的副作用,是指( )A、开发时的错误 B、隐含的错误C、因修改软件而造成的错误 D、运行时误操作 17、使用程序设计的控制结构导出测试用例的测试方法是( )A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 18、软件详细设计的主要任务是确定每个模块的( )A、算法和使用的数据结构 B、外部接口 C、功能 D、编程 19、软件结构图的形态特征能反映程序重用率的是( )A、深度 B、宽度 C、扇入 D、扇出 20、为了提高模块的独立性,模块内部最好是( )A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 21、软件是一种( )A、程序 B、数据 C、逻辑产品 D、物理产品 22、需求分析最终结果是产生( )A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A、纠正性维护B、适应性维护 C、完善性维护D、预防性维护24、下列属于维护阶段的文档是( ) A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告25、若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0,1.0,现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法B、等价分类法 C、边界值分析法D、错误推测法26、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A. 技术可行性B. 经济可行性 C. 社会可行性D. 法律可行性27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( )A、需求分析 B、程序设计 C、详细设计 D、软件维护 28、经过严密的软件测试后所提交给用户的软件产品中( )A、软件不再包含任何错误 B、还可能包含少量软件错误 C、所提交给用户的可执行文件不会含有错误 D、文档中不会含有错误。 29、等价划分测试方法属于( ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性B.可靠性C.正确性D.完整性31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )A、集成测试 B、恢复测试 C、确认测试 D、单元测试 32、要显示描绘软件开发项目各作业的依赖关系,应选择( )。A. Gantt图 B.工程网络 C. COCOMO模型 D.数据流图 33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( )A、3±1 B、7±2C、15±1 D、18±234、结构化程序设计主要强调的是( )A、程序的规模 B、程序的效率C、程序设计语言的先进性 D、程序易读性35、在用户界面层次上对软件进行测试属于哪种测试方法( ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 36、对象实现了数据和操作的结合, 使数据和操作( )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象37、( )是比较理想的可重用软构件。A.子程序库 B.源代码包含文件 C.对象 D.类 38、下列模型属于成本估算方法的有( ) A、COCOMO模型 B、McCall模型C、McCabe度量法 D、时间估算法39、软件生存周期中时间最长的是( )阶段。A、总体设计 B、需求分析 C、软件测试 D、软件维护 40、为了提高模块的独立性,模块之间的联系最好的是( )。A、公共耦合