.精选文档软件系统开发技术试题(一)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1.设计软件结构一般不.确定(D)A.模块之间的接口B.模块间的调用关系C.模块的功能D.模块内的局部数据2.软件结构化设计中,好的软件结构应该力求做到(B)A.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高,中间扇出较少,底层模块高扇入C.顶层扇入较少,中间扇出较高,底层模块高扇入D.顶层扇入较少,中间扇入较高,底层模块低扇入3.两个模块都使用同一张数据表,模块间的这种耦合称为(A)A.公共耦合B.内容耦合C.数据耦合D.控制耦合4.划分模块时,下列说法正确的是(A)A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C.作用范围与控制范围互不包含D.作用范围与控制范围不受限制5.重用率高的模块在软件结构图中的特征是(B)A.扇出数大B.扇入数大C.扇出数小D.内聚性高6.面向对象建模得到的三个模型,其中核心的模型是(A)A.对象模型B.功能模型C.逻辑模型D.动态模型7.从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段8.对UML的叙述不正确...的是(D)A.UML统一了Booch方法、OMT方法、OOSE方法的表示方法。B.UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。C.UML融入了软件工程领域的新思想、新方法和新技术。D.UML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。9.以下哪个软件生存周期模型是一种风险驱动的模型(C)A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型10.以下哪一项对模块耦合性没有..影响(D)A.模块间接口的复杂程度B.调用模块的方式C.通过接口的信息D.模块内部各个元素彼此之间的紧密结合程度二、填空题(本大题共10小题,每空2分,共20分).精选文档1.数据流图描绘数据在系统中___流动和处理_______的过程。P402.为了便于对照检查,测试用例应由输入数据和预期的__输出结果(输出数据)____两部分组成。P1623.面向对象分析的目的是对_____目标系统______进行建模。4.结构化方法总的指导思想是__自顶向下_____逐层分解。5.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为___偶然内聚_____。6.用来模拟被测模块的上级调用模块的模块称为__驱动模块_____7.一个模块的作用域指受该模块内一个__判定____影响的所有模块的集合。8.在用况图中,关联是参与者和用况(USECASE)之间的唯一关系。9.RUP的突出特点是一种以用况(UseCase)为驱动的、以体系结构为中心的、迭代增量式开发。10.在RUP中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。三、名词解释题(本大题共6小题,每小题3分,共18分)1.软件生存周期模型答:从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。2.系统模型答:简单地说,模型是任一抽象,其中包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内个模型元素以及它们之间的语义关系。3.白盒测试法答:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。4.信息隐蔽答:信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要这些信息的模块访问。5.测试用例答:为了发现程序中的故障而专门设计的一组或多组测试数据。6.类答:类是一组具有相同属性、操作、关系和语义的对象的描述。四、简答题(本大题共5小题,每小题6分,共30分)1.简述演化模型以及可适应的情况,为什么?答:简述演化模型如图所示:演化模型主要是针对事先不能完整定义需求的软件开发。在用户提出待开发系统的核心需求的基础上,软件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接.精选文档着,软件开发人员根据用户的反馈,实施开发的迭代过程。2.结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的?答:结构化分析方法给出了5个术语:数据流:加工,数据存储、数据源、数据潭,数据流是数据的流动,数据流表示为加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。数据存储是数据的静态结构。数据源是数据流的起点;数据潭是数据流的归宿地。数据源和数据潭是系统之外的实体,可以是人、物或其他软件系统。表示。3.简述衡量模块独立性的两个标准及其含义。答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。4.说明用况之间有哪几种关系,说明每种关系的含义。答:用况之间可以具有三种关系,即泛化、扩展和包含。泛化:泛化是用况之间的一般/特殊关系。USECASEA到USECASEB的泛化,指出A是B的特殊情况。扩展:记为《extend》,USECASEA到USECASEB的一个扩展关系,指出了USECASEB的一个实例可以由A说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。包含:记为《include》,USECASEA到USECASEB的一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。5.结构化设计中总体设计和详细设计的目标和任务是什么?答:结构化设计分为总体设计和详细设计。总体设计的目标是:建立系统的模块结构,即系统实现所需要的软件模块—系统中可标识的软件成分,以及这些模块之间的调用关系。总体设计的具体任务是:将DFD转化为MSD详细设计的目标是将总体设计阶段所产生的系统高层结构,映射为以这些术语所表达的低层结构,也是系统的最终结构。详细设计的主要任务是:给出软件模块结构中各个模块的内部过程描述,也就是模块内部的算法设计。五、应用题(本大题共2小题,第1小题10分,第2小题12分,共22分)1.根据下列变换型的数据流图,设计出初始软件结构图。.精选文档答:2.下列是某程序的N-S图(1)请将其转换成PAD图(2)请将其转换成伪码表示。答:(1)PAD图主模块getf5getf3Agetf4getf2BC由f5变为f9DEFputf9Putf10Ggetf1.精选文档(2)伪码表示:beginifL1thenBeginS1;whileL2dobeginS2;ifL3thenS3elseS4;endendelseS5;end;.精选文档软件系统开发技术试题(二)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1.以下哪个软件生存周期模型是一种风险驱动的模型(C)A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型2.结构化分析建立功能模型的工具是(B)A.DFDB.判定树/判定表C.DDD.结构化语言3.模块中所有成分结合起来完成一项任务,该模块的内聚性是(A)A.功能内聚B.顺序内聚C.通信内聚D.逻辑内聚4.以下哪一项对模块耦合性没有..影响(D)A.模块间接口的复杂程度B.调用模块的方式C.通过接口的信息D.模块内部各个元素彼此之间的紧密结合程度5.检查软件产品是否符合需求定义的过程称为(A)A.确认测试B.集成测试C.系统测试D.单元测试6.下面关于详细设计的叙述中,错误..的是(B)A.程序流程图可以描述结构化程序B.程序流程图不能描述结构化程序C.NS图描述的程序一定是结构化的D.PAD图描述的程序一定是结构化的7.集成测试是为了发现(A)A.接口错误B.编码错误C.性能、质量不合要求D.功能错误8.结构化程序设计,主要强调的是(C)A.程序的执行效率B.模块的内聚C.程序的可理解性D.模块的耦合9.下面关于文档的叙述,错误..的是(A)A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节B.文档是软件产品的一部分,没有文档的软件就不成为软件C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量10.面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是(C)A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)1.为了克服软件危机,1968年北大西洋公约组织的工作会议上首先提出了____软件工程___的概念。2.变换型数据流图是由输入、_____变换(或处理)________和输出三部分组成的。.精选文档3.软件产品在交付使用之前一般要经过______单元测试______、集成测试、确认测试和系统测试。4.子类自动共享父类数据结构和方法的机制是_____继承性____,这是类之间的一种关系。5.G.J.Myers提出:软件测试是为了发现__程序错误____而执行程序的过程。6.状态图反映了状态与_____事件与状态____________的关系。7.两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。8.用况之间可以具有三种关系,即泛化、扩展和包含。泛化是用况之间的一般/特殊关系。9.RUP的突出特点是一种以用况(UseCase)为驱动的、以体系结构为中心的、迭代增量式开发。10.在RUP中,规定了四个开发阶段:初始阶段、精化阶段、构造阶段和移交阶段。三、名词解释题(本大题6小题,每小题3分,共18分)1.软件工程答:软件工程定义为:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。2.软件生存周期答:软件生存周期是软件产品或系统的一系列相关活动的全周期。从形成概念开始,历经开发、交付使用、在使用中不断修订和演化,直到最后被淘汰,让位于新的软件产品”。3.用况答:用况(usecase)是对一组动作序列的描述,系统执行这些动作应产生对特定的参与者有值的、可观察的结果。4.软件需求分析:答:就软件需求分析而言,即为:系统化地使用问题域术语,给出该问题的模型5.模块化:答:把一个待开发的软件分解成若干简单的、具有高内聚低耦合的模块,这一过程称为模块化。6.类的操作答:操作是服务的一个实现,由该类的任意对象为其行为所要求的。四、简答题(本大题共5小题,每小题6分,共30分)1.简述瀑布模型以及可适应的情况,为什么?答:瀑布模型如图所示:(1)软件生存周期分为若干规定阶段并规定了各开发阶段的活动,项目的开发依次经过:需求、设计、编码和单元测试、集成以及维护—这一基本路径。(2)在每一阶段提交以下产品:软件需求规约、设计文档、实际代码、测试用例、最终产品等。工作产品(又称可提交的产品)流经“正向”开发的基本步骤路径。(3)“反向”步骤流表示对前一个可提交产品的重复变更(又称为“返工”)。瀑布模型可适应的情况u