软件工程试题库集及答案内容摘要:

避开错误技术无法做到完美无缺和绝无错误,这就需要 A.消除错误 B.检测错误 C.避开错误 D.容错 [解析 ]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错 ,使其影响减至最小的技术。 14. _____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 [解析 ]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。 15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。 因此面向对象方法有许多特征,如软件系统是由对象组成的; ________;对象 彼此之间仅能通过传递消息互相联系;层次结构的继承。 A.开发过程基于功能分析和功能分解 B.强调需求分析重要性 C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整 [解析 ]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。 其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。 16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程 叫 A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析 [解析 ]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。 因此本题答案为 D。 17.原型化方法是用户和设计者之间执行的一种交互构成,适用于 ______系统。 A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 [解析 ]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于 需求不确定性高的系统。 18.原型化方法是一种 _______型的设计过程。 A.自外向内 B.自顶向下 C.自内向外 D.自底向上 [解析 ]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。 如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。 它是一种自外向内的设计过程。 19.为了提高测试的效率,应该 A.随机地选取测试数据 B.取一切可能的 输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据 [解析 ]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。 在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。 20.使用白盒测试方法时,确定测试数据应根据 _______和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能 [解析 ]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。 二,填空题(本大题共 10小题,每小题 2分,共 20分) 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的 ( 信息流动 )情况。 [解析 ]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处 理、数据库、文件、设备等,表达了元素之间的信息流动的情况。 22.成本效益分析的目的是从 ( 经济 )角度评价开发一个项目是否可行。 [解析 ]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( 宽度优先策略 )。 [解析 ]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种 增量式方式,不需要编写驱动模块,只需要编写桩模块。 它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。 从程序图来看,一条独立路径是至少包含有一条 ( 在其他独立路径中未有过 )的边的路径。 [解析 ]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构 —— 程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条 路径。 从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。 25.汇编语言是面向 ( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 [解析 ]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。 26.在 JSP方法中解决结构冲突的具体办法是 ( 中间数据结构或中间文件 )。 [解析 ]JSP方法是面向数据结构的设计方法。 它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在 JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。 27.详细设计的任务是确定每个模块的内部特性,即模块的算法、 ( 使用的数据 )。 [解析 ]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的 数据。 对数据库进行物理设计等。 28.所有软件维护申请报告要按规定方式提出,该报告也称 ( 软件问题 )报告。 [解析 ]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的 ( 维护支援 )技术。 [解析 ]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。 而维护支援技术则包含信息收集 ,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。 30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有: ( FORTRAN语言 )、 PASCAL语言、 C语言和 PL/1语言。 [解析 ]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如 FOXPRO、 ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如 MATLAB、 PL/ FORTRAN语言都是工程计算中常用的语言。 三,名 词解释(本大题共 5小题,每小题 3分,共 15分) 31.经济可行性 解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。 32.社会可行性 解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。 33.投资回收期 解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。 34.对应关系 解:即有直接因果关系在程序中可以同时处理。 35.结构 冲突 解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。 四,简答题(本大题共 4小题,每小题 5分,共 20分) 36.可行性研究报告的主要内容有哪些 ? 解:一个可行性研究报告的主要内容如下: ( 1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。 ( 2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。 ( 3)对现有系统的分析:说明现有系统的处理流程和数据 流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。 ( 4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。 ( 5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。 ( 6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权 等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。 ( 7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 ( 8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。 [解析 ]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。 37.系统设计的内容是什么。 解: 系统设计阶段先从高层入手,然后细化。 系统 设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。 ( 1)系统分解。 系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。 每次分解的各子系统数目不能太多,最底层子系统称为模块。 ( 2)确定并发性。 分析模型、现实世界及硬件中不少对象均是并发的。 系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。 后者可以放在一起,而综合成单个控制线或任务。 ( 3)处理器及任务分配。 各并发子系统必须 分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。 ( 4)数据存储管理。 系统中的内部数据和外部数据的存储管理是一项重要的任务。 通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。 ( 5)全局资源的处理。 必须确定全局资源,并且制定访问全局资源的 策略。 全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。 如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。 ( 6)选择软件控制机制。 分析模型中所有交互行为都表示为对象之间的事件。 系统设计必须从多种方法中选择某种方法来实现软件的控 制。 ( 7)人机交互接口设计。 设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。 38.什么是软件危机。 软件危机的表现是什么。 其产生的原因是什么。 解:软件发展 第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。 一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。 在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软 件危机。 软件危机表现在以下四个方面: ( 1)经费预算经常突破,完成时间一再拖延。 由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。 主观盲目制定计划,执行起来与实际情况有很 大差距,使得开发经费一再突破。 由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。 ( 2)开发的软件不能满足用户要求。 开发初期对用户的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。