您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 南理工软件工程。简答题
简答题1.功能模型的特征有哪些?功能模型描述了系统的所有计算。功能模型指出发生了什么,对动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如果从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。2.什么事测试用例?动态测试有哪些方法?所谓“测试用例”是指为寻找程序中的错误而精心设计的一组测试数据,每个测试用例一般是一个二元组(输入数据、预期结果)。动态测试主要有两种方法:白盒测试法和黑盒测试法。白盒测试法师从被测试程序的内部逻辑入手来设计测试用例;黑盒测试着重测试被测试程序的功能,而不关心内部如和实现其功能的结构,是从用户观点出发的测试。但无论白盒测试法还是黑盒测试法都只能选择一些有代表性的测试用例进行有限的测试。3.怎样克服软件危机?1)充分吸收和借鉴人类长期以来从事各项工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸收几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力做到良好的组织,严格的管理,相互友好的协作。2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些作物概念和作法。3)根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支撑环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。4.请说多态重用和继承重用的关系。多态重用实际是一种特殊的继承重用,是充分利用多态性机制支持的继承重用。一般来说,使用多态重用方式重用已有的类构件时,在子类中需要重新定义的操作比较少,因此,多态重用方式比继承重用方式成本低。5.用等价类划分的方法设计测试用例的步骤是什么?1)划分等价类。从程序的功能说明找出一个个输入条件,然后为每一个输入条件划分成两个或多个等价类,将其列表。2)确定测试用例。根据已划分的等价类,按以下步骤设计测试用例。@1为每一个等价类编号。@2设计一个测试用例,使其尽可能多的覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。@3设计一个测试用例,使其只覆盖一个不合理等价类,重复这一步,直到所有不合理等价类被覆盖。之所以这样做,是因为某些程序中对某一错误的检查往往会屏蔽对其他输入错误的检查。因此必须针对每一个不合理等价类,分别设计测试用例。6.什么是实验型原型模型?这是一种把原型思想用于设计阶段的快速原型模型。若对于一个大型软件系统的设计方案心中没有把握时,要考核设计方案是否正确、能否实现,可通过原型模型的开发运行来证实。一旦通过原型模型的开发运行,证实设计方案是正确的、能实现的,可废弃这个原型,按照开发过程来开发。7.为了进行测试,为什么需要一个规格说明?规格说明用来决定程序的实际行为合适正确,合适不正确。8.用PDL表示的程序结构一般有哪几种?用PDL表示的程序结构一般有:1)顺序结构:采用自然语言描述。2)选择结构3)重复结构4)出口结构5)模块定义与调用6)数据定义7)输入输出:GET(输入变量表)PUT(输出变量表)9.何谓软件维护?常用的软件维护有几种?软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。通常有四项基本维护:纠错性维护、完善性维护、适应性维护以及预防性维护等。10.文档的作用是什么?在软件工程中,文档用来表示对需求、工程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。它们描述或规定了软件设计和实现的细节,说明使用软件的操作命令。文档也是软件产品的一部分,没有文档的软件就不成为软件。11.软件工程是指什么?软件工程的性质是什么?软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程师一门综合性的交叉性学科,它涉及计算机科学、工程学科、管理学科数学等领域。计算机科学中的研究成果均可用于软件工程,但计算机科学着重原理和理论,而软件工程着重于如何建造一个软件系统。软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。软件工程要用管理科学中的方法和原理进行软件生产的管理。软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。12.衡量模块独立的两个标准是什么?它们各表示什么含义?衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。1)耦合性。也称块间联系,是指软件系统结构中各模块间互相之间联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间的耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。2)内聚性。又称块内联系,是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素联系得越紧密,则它的内聚性就越高。耦合性与内聚性是模块独立性的两个定性标准,是软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。13.什么是序言性注释?它包涵哪些内容?序言性注释通常放在每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序具有引导作用。序言性注释一般包含下列内容:@1程序标题:有关该模块的功能和目的说明;主要算法;@2接口说明:包括调用形式,参数描述、子程序清单;@3有关数据说明(重要的变量及其用途、约束或限制条件,以及其他有关信息);@4模块位置(在哪一个源文件中,或隶属于哪个软件包);@5开发简历模块设计者,复审者,复审日期,修改日期及有关说明等。14.传统“瀑布模型”的主要缺陷是什么?试说明造成缺陷的原因。传统“瀑布模型”的主要缺陷是:1)阶段与阶段划分完全固定,阶段间产生大量文档,极大地增加了工作量。2)由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。这样,软件与用户见面的时间较长,也增加了一定的风险。3)前面未发现的错误传到后面的开发活动中,可能会扩散,极大地增加了工作量。造成问题的主要原因:1)现实的项目开发很少按”瀑布模型“的顺序进行。2)用户往往难以清楚地给出所有的需求,因此,用该模型开发软件会存在许多不确定的因素。3)开发者常常被不需要的耽搁。15.简述软件工程目标和面临的主要问题。软件工程的目标就是建造高质量的软件。但是目前的软件开发面临着许多问题。1)对软件开发成本和进度的估计常常不准确。2)用户常对”已完成的”软件系统不满意。3)软件产品的质量往往靠不住。4)软件常常很难维护。5)软件常常缺乏适当的文档资料。6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。7)软件成本在计算机系统总成本中所占的比例逐年上升。16.什么是时间内聚?什么事公共耦合?时间内聚是指某一软件运行中有几个动作经常需要在同一时间段内完成。公共耦合,是指若干个模块共同享有对公共数据区的读和写的访问权。17.请说明为什么模块控制的宽度和深度要适度。深度过大表示分工过细,而宽度过大则表示系统复杂度大,所以模块控制宽度和深度要适度。18.什么是蜕变测试?编写蜕变测试的测试用例关键点是什么?蜕变测试依据被测软件的领域知识和软件的实现方式建立蜕变关系,利用蜕变关系来生成新的测试用例,通过验证蜕变关系是否被保持来决定测试是否通过。编写蜕变测试的测试用例关键点就是找出蜕变关系。19.快速原型技术的基本思想是什么?在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。20.软件出错处理设计,即软件安全性设计。一个交互式出错处理程序应该具备哪些功能和属性?1)信息应该使用用户可以理解的术语描述。2)信息应该提供有助于从错误中恢复的建设性意见。3)信息应该指出错误可能导致的后果。4)信息应该伴随感官提示。5)信息不能带有指责色彩。21.试叙述软件生存周期划分为哪3个阶段,每个阶段有哪些任务。1)3个阶段是:软件定义阶段、软件开发阶段、软件使用与维护阶段。2)软件定义阶段的任务:问题定义、可行性研究、需求分析。软件开发阶段的任务:概要设计、详细设计、实现、组装测试、验收测试。软件使用与维护阶段的任务:使用与维护、退役。22.试比较程序流程图与PAD图的特点。这两种图均为详细设计阶段使用的描述工具。程序流程图:直观清晰,易于使用,但控制流程线不易限制,不易反映逐步求精的过程,不易表示数据结构。PAD图:是一种由左往右展开的二维树形结构,其能清晰地反映程序的层次结构,支持逐步求精的设计方法,易读易写,使用方便;可自动生成程序,支持结构化程序设计原理。23.抛弃型原型模型开发和进化型原型模型开发有何区别?进化式原型的目标是给用户一个实用的系统。原型开发必须从对用户需求把握最准的部分做起,最优处理这部分。而对用户需求把握程度较差的部分和模糊的需求安排得稍后一些,可以在用户明确要求后处理。抛弃式原型模型开发的目标是验证和导出需求。此时应从理解得不好的那部分开始实现,因为要从目标中发现问题,对明确的需求就没必要去做原型。
本文标题:南理工软件工程。简答题
链接地址:https://www.777doc.com/doc-2597717 .html