软件工程填空题(18套试题与答案)_第1页
软件工程填空题(18套试题与答案)_第2页
软件工程填空题(18套试题与答案)_第3页
软件工程填空题(18套试题与答案)_第4页
软件工程填空题(18套试题与答案)_第5页
已阅读5页,还剩181页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

......专业.专注.《软件工程》填空题二、填空题(请把答案写在相应的横线上,每小题1.5分)1、软件是数据、计算机程序及其说明程序的各种文档。2、概要设计主要是把各项功能需求转换成系统的体系结构。3、面向对象开发方法包括OOA、OOD、OOP三部分。4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。5、在单元测试时,需要为被测模块设计驱动模块和桩模块。6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。7.子类自动共享父类的属性和操作的机制称为继承。8.软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。13.对象的抽象是___类___。14.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个___检查点__。15.软件工程包括软件开发技术和__软件工程管理__两大部分内容。16、开发过程管理包括项目计划、控制和___任务管理__等。17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。20、子类只继承一个父类的属性和操作,这称为__单重继承__。21、McCabe复杂性度量又称__环路度量_。22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。23、Jackson图不仅可表示程序结构,还可表示___数据结构__。24、详细设计的任务是确定每个模块的内部特性,即模块的算法和数据结构。25、UML提供的构建系统动态模型的机制有动态视图视图(包括顺序图和协作图)、静态视图视图、功能视图。26、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动组成。27、用等价类划分法设计一个测试用例时,使其覆盖__尽可能多的__尚未被覆盖的合理等价类;覆盖__一个_不合理等价类。28、需求分析阶段产生的最重要的文档是__需求规格说明书_。29、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种__非结构化__维护。32、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化方法_、结构化程序设计构成。33、对象之间进行通信的构造叫做_消息_。34、按软件服务对象的范围可以把软件划分为项目软件和产品软件。35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过文档实现过渡的。36、概要设计主要是把各项功能需求转换成系统的__体系结构__。37、详细设计的任务是确定每个模块的内部特性,即模块的数据结构和算法。38、结构化程序设计方法提倡开发人员的组织形式是__主程序员组_。39、软件质量管理由软件质量保证、软件质量规划和软件质量控制三方面活动组成。40、类具有操作,它是对象__行为

_的抽象。41、产品管理包括版本管理和__配置管理___。42、集成测试中的具体方法是___渐增式和非渐增式___测试方法。43、增量模型适合于__软件需求_不明确、设计方案有一定风险的软件项目。44、结构化分析方法的分析策略是__自顶向下逐步求精__。45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。46、衡量模块独立性的两个定性标准是__耦合性与内聚性___。47、Jackson方法是一种面向__数据结构__的设计方法。48、维护阶段是软件生存周期中花费精力和费用___最多___的阶段。49、继承性是子类自动共享其父类的__数据结构和方法__机制。50、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。52.软件工程包括3个要素,即方法、工具、过程。53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成54.数据流图中的箭头表示__数据流__。软件结构图中的箭头方向表示___模块调用__。55.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。复习资料一、填空题软件是计算机系统中与硬件相互依存的另一部分,它是包括(程序)、(数据)及其(相关文档)完整集合。其中,(程序)是按事先设汁的功能和性能要求执行的指令序列,(数据)是使程序能够正确操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.软件危机是指计算机软件的(开发)和(维护)过程中所遇到的一系列严重问题。软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;软件工程学方法的三要素是:(方法)、(工具)和(过程)。瀑布模型是一个(文档)驱动模型。可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。数据流图的四个基本符号分别表示(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。需求分析阶段应该建立三种模,即:(数据模型)、(功能模型)和(行为模型)。一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的正确性。HIPO图是由一组(层次图)图加上一张(IPO)图组成。模块独立性的两个度量标准为:(耦合)和(内聚)。一般说来,模块之间的耦合程度(低),则单个模块的内聚程度(高)。经验表明,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的(可移植性)。如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为(偶然(或巧合)类聚)。白盒法的具体设计程序测试方法有语句覆盖、(判定覆盖)、(条件覆盖)和路径覆盖。组成UML的三种基本建筑块是(事物)、关系和(图)。面向对象的软件工程方法包括面向对象的分析、(面向对象的设计)、(面向对象的编程)、(面向对象的测试)和面向对象的软件维护等主要内容。保证软件质量的措施主要有(审查)、复查和管理复审、(测试)。提高软件质量和可靠性的技术大致分为两类,即(避开错误技术)和(容错技术)。常用的估算软件规模的方法有(代码行技术)和(功能点技术)。功能点技术的信息域包含(输入项数)(输出项数)、(查询数)、(主文件数)、(外部接口数)等5个方面的信息。软件的工作量计算模型是(软件规模)的函数,软件工作量的单位通常是(人月),常用的计算软件工作量的计算模型有(静态单变量模型)、(动态多变量模型)、(COCOMO2模型)等。软件过程是软件(生存期)中的一系列相关软件工程(活动)的集合。每个软件过程又是由一组(工作任务)、项目(里程碑)、软件工程产品和交付物以及软件质量保证(SQA)电等组成。软件的度量包括直接度量和间接度量、软件产品的直接度量包括(产生的代码行数)、(执行速度)、(存储量大小)、在某种时间周期中所报告的差错数。软件产品的间接度量则包括(功能性)、(复杂性)、(效率)、(可靠性)、(可维护性)和许多其他的质量特性。软件配置管理是在软件的整个生命周期内管理变化的一组活动。这组活动包括:①标志变化,②控制变化,③实现变化,④报告变化。软件的质量可以定义为(用户对软件的满意程度),具体地说,软件质量是软件与(功能和性能需求),(开发标准)以及所有软件产品都应该具有的(隐含特性)相一致的程度软件维护可以分为(改正性维护)、(适应性维护)、(完善性维护)、(预防性维护)等四类。把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度叫软件的(移植性)。对象是封装了数据结构及可以施加在这些数据结构上的(操作)的封装体,这个封装体可以唯一地标识它的名字,而且向外界提供一组(服务)。二、单项选择题软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可(C)强适中弱若一个模块直接引用另一个模块中的数据,这种类型的耦合称为(E)。公共偶合数据耦合逻辑耦合外部耦合内容耦合控制耦合瀑布模型是()驱动模型功能文档数据时间若一个模块把开关量作为参数传送给另一个模块,这种类型的耦合称为(F)。公共偶合数据耦合逻辑耦合外部耦合内容耦合控制耦合若一个模块通过公共数据结构把数据传送给另一个模块,这种类型的耦合称为(A)。公共偶合数据耦合逻辑耦合外部耦合内容耦合控制耦合以下各种类型的耦合中,(E)的耦合性最强。公共偶合数据耦合逻辑耦合外部耦合内容耦合控制耦合为了高质量地开发软件项目,在软件结构设计时必遵循(C)的原则质量控制程序优化信息隐蔽数据共享模块通信在建立软件系统的模块结构。应根据(C)评价系统模块划分的质量。数据独立性程序独立性模块独立性可修改性可理解性结构化程序设计方法要求每个(A)结构应是单入口和单出口。程序块公共块数据块记录块通信块开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。程序开发环境操作系统的资源管理功能开发程序人员数量计算机的并行处理能力软件工程中描述软件生存周期的瀑布模型一般包括计划、(D)、设计、编码、测试、维护等几个阶段。其中,设计阶段在管理上又可以依次分为(概要设计)和(详细设计)两个步骤。问题定义需求调查可行性分析需求分析各种需求分析方法都有它们共同适用的(C)。说明方法描述方式准则基本原则软件需求分析阶段的工作,可以分为以下几个方面;对问题定义、分析与综合、编写需求分析文档以及(C)。总结阶段性报告需求分析评审以上答案都不正确在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。数据流图数据词典结构化英语判定表与判定树在结构化分析方法中,用状态迁移图表达系统或对象的行为。在状态迁移图中,由一个状态和一个事件所决定的下一个状态可能会有(C)个。12多个不确定软件需求分析的任务不应包括(C)。问题分析信息域分析结构化程序设计确定逻辑模型进行需求分析可使用多种工具;但(C)是不适用的。数据流图判定表PAD图数据词典1960年底Dijkstra提倡的(D)是一种有效的提高程序设计效率的方法。标准化程序设计模块化程序设计多道程序设计结构化程序设计汇编程序是指(C)。用汇编语言写的程序B、符号程序汇编语言的处理程序为了实现递归子程序的正确调用,人们必须用(A)来保存(返回地址)及有关信息。堆栈线性表队列入口点UNIX操作系统是()研制的,它是用程序语言(C)书写实现的。Bell实验室DEC公司IBM公司Microsoft公司允许用户建立、修改、存储正文的计算机程序是(B)。BootstrapEditorLoaderTextFormaterFORTRAN语言的源程序是(A)结构。块状分程序嵌套既是块状,又是嵌套既不是块状,又不是嵌套的国际上最广泛使用的商用及行政管理语言是(A)。COBOLBASICFORTRANPL/l国际上最流行的数值计算的程序设计语言是(C)。BASICAlgolFORTRANC美国国防部主持开发了高级程序设计语言Ada,在它研制开始时,经反复比较,确定以高级语言(C)作为Ada研究的出发点。LISPALGOLALGOL68PL/l在人工智能领域,目前最广泛使用的高级语言是(D)。AdaFORTRACOBOLLISP下列(A)属于系统软件。WINDOWS2000WordFlash3DMAX下列哪个图是N-S图的构件(C)。ABAABABABWHILEMABWHILEMA某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。变量没有初始化编写的语句书写格式不规范循环控制出错代码输入有误下列关于程序效率的描述错误的是(C)。提高程序的执行速度可以提高程序的效率降低程序占用的存储空间可以提高程序的效率源程序的效率与详细设计阶段确定的算法的效率无关好的程序设计可以提高效率下列伪码片段的程序流图是(),其环路复杂度是()下列伪码片段的环路复杂度是()2345软件过程能力的提高首先需要对当前的软件过程状况进行料学的(C)。度量估算评估管理36.软件工程学的目的应该是最终解决软件生产的(B)问题。A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证.37.目前存在有若干种软件生存周期模型。例如瀑布模型、增量模型、螺旋模型等。其中规定了由前至后、相互衔接的固定次序的模型是(A)。A.瀑布模型B.增量模型c.喷泉模型D.螺旋模型38、瀑布模型的问题是(B)。A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求39、系统定义明确之后,应对系统的可行性进行研究。可行性研究包括(B)A.软件环境可行性、技术可行性、经济可行性、社会可行性B.经济可行性、技术可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性40.数据流图是常用的进行软件需求分析的图形工具,其基本符号是(C)。A.输入、输出、外部实体和加工B.变换、加工、数据流和存储c.加工、数据流、数据存储和外部实体D.变换、数据存储、力IT-和数据流41.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中,(B)是常采用的。①自顶向下②自底向上③分层绘制④逐步求精A.全是B.①③④c.②③④D.①④42、在软件开发过程中常用图作为描述工具,DFD就是面向(B)分析方法的描述工具。A数据结构B数据流C对象D构件(component)43.结构化分析方法使用的描述工具(B)定义了数据流图中每一个图形元素。A.数据流图B.数据字典c.判定表D.判定树44、软件需求规格说明书的内容不应包括对(B)的描述。A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能45、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(B)。A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型46.在面向数据流的软件设计方法中,一般将信息流分为(A)。A.变换流和事务流B.变换流和控制流c.事务流和控制流D.数据流和控制流47模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的(C)。A.抽象和信息隐蔽B.局部化和封装化c.内聚性和耦合性D.激活机制和控制方法49.Jackson方法是一种面向(B)的方法。A.对象B.数据结构C.数据流D.控制流50.为了提高测试的效率,应该(D)。A.随机地选取测试数据B.取一切可能的输人数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据51.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A.程序的内部逻辑B.程序的复杂结构c.使用说明书D.程序的功能三、多项选择题软件危机可以表现为(A、B、C、D)。产品不符合用户的需要软件产品的质量差软件的可维护性差软件的价格昂贵优秀的程序员经常使用(A、B、C、D)显示他们的经验。A、空格B、空行C、注释D、缩进下列(B、D)属于主动式防错程序设计。栈的深度是否合适内存检查数组界限是否正确时间检查关于数据流图有关描述中正确的是(A、B、C)。数据流图中不夹带控制流数据流图的主图必须包括数据流图中的四种基本元素数据流图不是系统的执行程序,不是程序流程图加工可以只有输入数据流,没有输出数据流软件维护工作量的数学模型如下为:M=P+K*e(c-d),其中P是生产性工作量,K为一常数,c为软件的复杂程度,d为维护人员对软件的数熟悉程度。从这个模型可以看出:(AD)不使用软件工程学方法指导开发的软件维护起来工作量较大;不使用软件工程学方法指导开发的软件维护起来工作量较小;软件开发人员参加维护工作,维护的工作量将反而加大;软件开发人员参加维护工作,维护的工作量将相对较低;用于需求分析的结构化分析方法很多,这些分析方法大都遵循以下准则(ABCD)必须理解并描述问题的信息域;必须定义软件的功能域;必须描述软件的行为;用层次的方法展示各种模型的细节从下列叙述中选出5条关于好的程序设计风格的正确叙述(①④⑤⑦⑩)①使用括号以改善表达式的情晰性。②对递归定义的数据结构不要使用递归过程。③尽可能对程序代码进行优化。④不要修补不好前程序,要重新写。⑤不要进行浮点数的相等比较。⑥应尽可能多地输出中间结果。⑦利用数据类型对数据值进行防范。⑧用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。⑨程序中的注释是可有可无的。⑩使用有意义的标识符。从下列叙述中选出5条关于软件测试的正确叙述。(①②③④⑧⑩)①为了使得软件容易测试,应该使用高级的程序设计语言编制程序。②软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。③如果程序中连锁式连接了8个判定(IF)结构,则程序中总的路径数可达28。④白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。⑤为了快速完成集成测试,采用一次性集成方式是适宜的。⑥对一批模块进行侧试,被发现的错误多的模块中残留的错误将比其他的模块少。⑦好的测试用例应能证明软件是正确的。⑧边界值分析方法是取输入/输出等价类的边界值作为测试用例。⑨等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。⑩判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。从下列叙述中选出5条有利于软件可维护性的正确叙述。(①③⑤⑦⑧⑩)①在进行需求分析时需同时考虑可维护性问题。②完成测试作业后,为了缩短源程序的长度应删去程序中的注释。③尽可能在软件生产过程中保证各阶段文档的正确性。④编程时应尽可能使用全局变量。⑤选择时间效率和空间效率尽可能高的算法。⑥尽可能利用硬件的特点。⑦重视程序结构的设计,使程序具有较好的层次结构。⑧使用维护工具或支撑环境。⑨在进行概要设计时应加强模块间的联系。⑩提高程序的易读性,尽可能使用高级语言编写程序。从下列关于模块化程序设计的叙述中,选出5条正确的叙述。(②③④⑦⑧)①程序设计比较方便,但比较难以维护。②便于由多个人分工编制大型程序。③软件的功能便于扩充。④程序易于理解,也便于排错。⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。⑥模块之间的接口叫做数据文件。(可能是数据文件)⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。⑧模块间的单向调用关系叫做模块的层次结构。⑨模块越小模块化的优点越明显。一般来说,模块的大小都在10行以下。从下列叙述中选出5条符合程序设计风格指导原则的叙述。(①③⑤⑦⑨)①嵌套的重数应加以限制。②尽量多使用临时变量。③不滥用语言特色。④不用可以省略的括号。⑤使用有意义的变量名。⑥应尽可能把程序编得短些。⑦把常见的局部优化工作留给编译程序去做。⑧注解越少越好。⑨程序的格式应有助于读者理解程序。⑩应尽可能多用goto语句。由于软件工程有如下哪些的特点,使得软件的管理比其他工程的管理更为困难:(A、B、D)软件产品不可见;软件生产不存在标准的过程;软件的开发成本往往非常高;有些大型软件项目往往是“一次性”的项目;软件维护可以分为改正性维护和()适应性维护文档性维护完善性维护预防性维护OO软件系统可维护性好体现在以下几个方面(ABCD)OO的软件的稳定性比较好OO的软件比较容易修改OO的软件比较容易理解OO的软件易于测试和调试OO方法建模需要建立以下哪几种模型(A、B、D)。对象模型功能模型数据模型动态模型四、判断题软件生存周期是从软件开始开发到开发结束的整个时期。(F)系统流程图是一个典型的描述逻辑系统的传统工具。(F)数据流图和数据字典共同构成系统的逻辑模型。(T)扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。(T)耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。(F)判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。(F)在代码的编写中要尽量避免使用ELSEGOTO或者ELSERETURN结构。(T)软件测试的目的就是证明软件没有错。(F)语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次。(T)软件开发的成本主要是人的劳动消耗。(T)从层次图和结构图中能看出模块之间的调用次序(F)结构化程序设计就是要彻底在程序中消除GOTO语句(F)自顶向下的集成测试方法需要驱动(存根)程序(F)为了加快软件维护作业的进度,应尽可能增加维护人员的数目(F)软件交付给用户使用后,随即进入软件的维护阶段(T)CMM定义的5个等级能引导软件机构不断识别出其软件过程的缺陷,指出应该做哪些改进,并(不)提供做这些改进的具体措施。(F)开发软件时投入的人员越多,开发时间就越短(F)程序正确性证明能证明程序的功能和动态特性符合设计要求(F)五、简答题层次图和层次方框图之间区别何在?P92①层次图描绘软件的层次结构,层次方框图描绘数据结构②层次图中方框代表一个功能模块,层次方框图方框代表数据的子集或数据元素③层次图中连线表示模块间调用关系,层次方框图连线表示组成关系。2、软件设计过程中为什么要采用模块化设计方法?P85参考答案:(1)、采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读和理解;(2)、模块化使软件容易测试和调试,因而有助于提高软件的可靠性;(3)、模块化可以提高软件的可修改性;(4)、模块化有助于开发过程的组织和管理;用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?参考答案:开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。数据流图的作用是什么?它有哪些基本成分?参考答案:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度.以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制.也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。基本成分有:数据原点/终点数据处理数据流数据存储常用的估算软件规模的方法有哪些?试比较这些方法的优缺点。代码行技术的优点,容易计算,缺点是太片面,因为源程序只是软件配置的很少一部分,不同语言实现同一个软件所需的代码行数不同;功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。CMM的全称是什么?其基本思想是什么?为什么要对CMM进行分级?P321其基本思想是:软件开发和维护过程中的问题是由于管理软件过程的方法不当引起的,即使是应用新的软件技术,也不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将有利于开发出高质量的软件,使更多的软件项目免受时间和费用超支之苦。 3分对于任何软件开发机构的软件过程的改进都是在完成一个又一个小的改进的基础之上不断进行的渐进过程,而不是一蹴而就的彻底革命。CMM将软件过程从无序到有序的进化过程分为5个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力什么是软件配置管理?答:软件配置管理,简称SCM(SoftwareConfigurationManagement),是在软件的整个生命周期内管理变化的一组活动。具体地讲,这组活动包括:①标志变化,②控制辩化,③确保适当地实现变化,④向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。什么是基线?你是如何理解基线的?P319基线:已经通过正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。基线是通过了正式复审的软件配置项。一旦软件配置变成基线,那么,对于软件配置的改变,必须使用特定的、正式的过程来评估、实现和验证每个变化。基线除了包含软件配置之外,还有可能包含软件工具。什么是面向对象的方法学?它有哪些优点?P193面向对象的方法就是模拟人类认识世界解决问题的思维习惯开发软件的方法,这种方法认为:OO=对象+类+继承+对象之间的通讯。 1分OO方法有如下四个方面的要点:①客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以有比较简单的对象以某种方式组合而成。②把所有对象都划分成各种对象类,每个类定义一组数据(静态属性,状态信息,类实例专有数据)和一组方法(施加于对象上的操作,类实例所共有的)。③按照子类与父类的关系,把若干个类组成一个层次结构的系统。子类继承父类的方法和属性,同时可以重载某些方法。④对象之间仅能通过传递消息相互联系 2分优点:①与人类习惯的思维方法一致,②稳定性好,③可重用性好,④较易开发大型软件产品,⑤可维护性好。 2分六、分析题试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。(1)A=A+BB=A-BA=A-B(2)for(i=0;j<n;i++) for(j=0;j<n;j++) V[i][j]=(i/j)*(j*i)已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。startstart(A>3)AND(B=1)M=M/2(A=1)OR(M>1)M=M-5M=M+5FFTTbdceafend假设几种可能的条件是:T1:A>3F1:A<=3T2:B=1F2:B≠1T3:A=1F3:A≠1T4:M>1F4:M<=1填写下表(注意:本题答案不唯一)数据覆盖路径覆盖条件M值A=4,B=1,M=2cdT1,T2,F3,F46A=1,B=2,M=4beF1,F2,T3,T4-1请设计路径覆盖用例,并写出各种测试用例下程序的执行路径。下面是一段用Seidel迭代法求解线性方程组的程序。其中A[n,n]是方程组的系数矩阵。B[n]是方程组的右端项,X[n]是方程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag是标志,值为0时表示迭代不收敛,值为l时表示迭代收敛。for(k=0;k<n;k++) X[k]=0.0;X[n-1]=1.0;for(i=1;i<imax;i++){ flag=1; for(j=0;j<n;j++) { s=B[j]; for(k=0;k<n;k++) { if(j==k) s+=X[k]; s=s-A[j,k]*X[k]; } if(abs(X[j]-s)>(abs(s)+1.0)*eps flag=0; X[j]=s; } if(flag==1) break;}画出该C伪码的程序流程图,N-S图,程序流图,并计算程序的McCabe环形复杂度。阅读下列关于软件可靠性方面的叙述,回答问题1和问题2。软件的可靠度可定义为:在假定输入和硬件不发生错误的前提下,对于给定的环境和给定的输入,在指定的时间内能完成规定任务的概率。某软件中心的评测部为了评估已开发实现的应用软件ASP的可靠性,决定采用软件可靠性的错误播种模型来进行测试和评估。评测部在评估时,作了下列3个假设:(l)在测试前,单位长度的故障个数ET/IT为一常数,此常数基本上落在一个固定的范围内。其中IT为被测程序的长度(即机器指令条数),ET为被测程序中故障总数。(2)失效率正比于软件中剩余的(潜伏的)故障数,平均无敌障时间MTTF(MeanTimeToFailure)与单位长度的剩余故障个数成反比,即MTTF=1/(K·εr)。其中εr为单位长度剩余故障个数,K的典型值现取为200。(3)测试中发现的错误都得到了及时改正,在测试过程中没有引入新的错误。评测部对ASP软件人为地植入了10个错误,即Ns=10,在开始测试的一小段时间内,发现了160个固有故障,即n=160,又发现了植入的故障2个,即ns=2,被测程序ASP的长度(即机器指令条数)为100000。问题1:用故障播种(植入)的数学模型,估算出被测程序ASP的固有故障的个数N的值。如果通过测试一段时间后,发现的固有错误个数为EC=795时,请估算此程序的平均无故障时间MTTF的值。问题2:若要求把此MTTF提高4倍,应至少再排除多少个固有错误?请简要地列出有关计算式。由得:所以应该在排除:799-795=4个错误。对于包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h;经过两个月的测试后,总共改正了25个错误(第二个月改正了10个错误),MTTF=15h。请问:(1)在开始测试之前,软件中潜藏着多少个错误?(2)为了达到MTTF=100h,还应该改正多少个错误?程序中还残留多少个错误?在测试一个长度为24000条指令的程序时,第一个月内由甲、乙两人各自独立地测试这个程序。经过一个月后,甲发现并改正了20个错误,使MTTF达到10h。与此同时,乙发现了24个错误,其中6个错误甲也发现了。以后甲一个人继续独立测试这个程序。请问:(1)刚开始测试这个程序时,程序中总共潜藏有多少个错误?(2)为了使MTTF达到60h,需要再改正多少个错误?此时程序中还残留有多少个错误?根据下列程序流程图画出相应得N-S图和PAD图,并计算其环路复杂度。七、名词解释1、系统流程图系统流程图是描绘物理系统的传统工具,用图形符号来表示系统中的各个元素,表达了系统中各个元素之间的信息流动的情况。2.数据字典答:数据字典(DataDictionary,简称DD)就是对数据流图中包含的所有元素的定义的集合。它和数据流图共同构成了系统的逻辑模型。3.数据流图(DFD)答:数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。4.软件工程答:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。5.模块答:在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。6.控制耦合答:控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。7.内聚性答:内聚性指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。8.PAD图答:PAD图指问题分析图(ProblemAnalysisDiagram),是日本日立公司于1979年提出的一算法描述工具,它是一种由左往右展开的二维树型结构。PAD图的控制流程为自上而下、从左到右地执行。9.单元测试答:单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。10.判定/条件覆盖答:指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。11.完善性维护答:在软件运行时期中,用户往往会对软件提出新的功能要求与性能要求。这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。软件工程期末复习资料二模拟试题填空题软件开发模型有()、()、第四代技术模型、()、构件组装模型、混合模型。可行性研究一般可以从()可行性、()可行性、运行可行性、法律可行性和开发可行性等方面来研究。现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为()。数据流图从数据传输和()角度,以()方式描述数据流从输入到输出的传输变换过程。Jackson图除了可以表达程序结构外,还可以表达(),它首先要分析(),并用适当的工具来描述。HIPO图是由一组()图加上一张()图组成。把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的()。如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为()。白盒法的具体设计程序测试方法有语句覆盖、()、()、和路径覆盖。组成UML的三种基本建筑块是()、关系和()。面向对象的软件工程方法包括面向对象的分析、()、()、()和面向对象的软件维护等主要内容。保证软件质量的措施主要有()、复查和管理复审、()。提高软件质量和可靠性的技术大致分为两类,即()和()。二、单项选择题下列()属于系统软件。WINDOWS2000WordFlash3DMAX下列哪个图是N-S图的构件()。

AA.B.AAABBBBAAWHILEMC.D.WHILEMAABB对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。A.制定计划B.实施工程C.风险分析D.程序编码某次程序调试没有出现预计的结果,下列()不可能是导致出错的原因。变量没有初始化编写的语句书写格式不规范循环控制出错代码输入有误下列关于程序效率的描述错误的是()。提高程序的执行速度可以提高程序的效率降低程序占用的存储空间可以提高程序的效率源程序的效率与详细设计阶段确定的算法的效率无关好的程序设计可以提高效率三、多项选择题软件危机可以表现为()。产品不符合用户的需要软件产品的质量差软件的可维护性差软件的价格昂贵Jackson图中一般可能包括()。表头表体表名字段名优秀的程序员经常使用()显示他们的经验。空格空行注释缩进下列()属于主动式防错程序设计。栈的深度是否合适内存检查数组界限是否正确时间检查关于数据流图有关描述中正确的是()。数据流图中不夹带控制流数据流图的主图必须包括数据流图中的四种基本元素数据流图不是系统的执行程序,不是程序流程图加工可以只有输入数据流,没有输出数据流四、判断题软件生存周期是从软件开始开发到开发结束的整个时期。()系统流程图是一个典型的描述逻辑系统的传统工具。()数据流图和数据字典共同构成系统的逻辑模型。()扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。()耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。()判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。()在代码的编写中要尽量避免使用ELSEGOTO或者ELSERETURN结构。()软件测试的目的就是证明软件没有错。()语句覆盖的的含义是使被测试程序中的每个语句都至少被执行一次。()软件开发的成本主要是人的劳动消耗。()五、问答题什么是软件生存周期?在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么?什么是逆向工程?简述什么是程序效率?针对程序的效率有哪些准则?六、分析题已知被测试模块流程图如下,按照“条件覆盖”法,在表格中填入满足测试要求的数据。beginbegin(A>3)AND(B=1)(A>3)AND(B=1)TFTFccbbM=M/2M=M/2(A=1)OR(M>1)(A=1)OR(M>1)edTFedTFM=M+5M=M-5M=M+5M=M-5ReturnReturn假设几种可能的条件是:T1:A>3F1:A<=3T2:B=1F2:B≠1T3:A=1F3:A≠1T4:M>1F4:M<=1填写下表数据覆盖路径覆盖条件M值T1,T2,F3,F4F1,F2,T3,T4根据伪码程序画出程序流程图、N-S图。STARTAREPEATUNTILPBENDREPCDSTOP

答案填空瀑布模型、螺旋模型、原型模型经济、技术F/(1+i)n加工、图形数据结构、数据结构IPO、HC可移植性偶然內聚分支(判定)覆盖、条件覆盖事物、图面向对象的设计、面向对象的编程、面向对象的测试审查、测试避开错误技术、容错技术二、单项选择ACDBC三、多项选择(每小题2分,共10分)A、B、C、DA、B、C、DA、B、C、DB、DA、B、C四、判断题(每小题2分,共20分)╳╳√√╳╳√╳√√五、问答题答:通常把软件从定义到开发、使用和维护,直到最终被弃用,所要经历的漫长时期称为软件生存周期。它是从提出软件产品开始,到该软件产品被淘汰的全过程。答:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。答:逆向工程就是分析已有的工程,寻找比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内的,将软件的某种形式的描述转换为更抽象形式的活动都可称为逆向工程。答:程序效率是指程序的执行速度及程序占用的存储空间。(1)效率是一个性能要求,目标值应当在需求分析阶段给出。软件效率以需求为准,不应以人力所及为准。(2)好的设计可以提高效率。(3)程序的效率与程序的简单性相关。一般说来,任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法都是不可取的。六、答数据覆盖路径覆盖条件M值A=4,B=1,M=2cdT1,T2,F3,F46A=1,B=2,M=4beF1,F2,T3,T4-1注意:本题答案不唯一,学生给出的数字正确就应该算对。答:第三部分试题类型及解答笔试题型和解题基本要求考试题型可以有填空题、选择题、判断题、问答题、程序设计与算法描述题等。填空题、选择题、判断题主要考核学生对基本概念的理解和掌握程度。问答题、程序设计与算法描述主要考核学生对所学知识的应用能力。例如:一、填空题软件生存周期一般可分为、、、、、六个阶段。结构化分析方法是面向进行需求分析的方法。结构化分析方法使用与来描述。数据流图的基本四种成分:、、、。为了在软件开发过程中保证软件的质量,主要采取下述措施:、、。Jackson系统开发方法(JSD)是一种典型的的分析设计方法。二、选择题总体设计的目标:确定系统的功能与模块结构确定系统的费用确定系统的算法确定开发系统所使用的语言是用户和设计交换最频繁的方法原型化方法瀑布模型方法螺旋模型方法构件组装模型软件测试的目的:避免软件开发中出现的错误发现软件开发中出现的错误尽可能发现并排除软件中潜藏的错误,提高软件的可靠性修改软件中出现的错误下述描述错误的是:A.程序流程图独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程。B.N-S图是一种符合结构化程序设计原则的图形描述工具,称为盒图。C.PAD图是用结构化程序设计思想表现程序逻辑结构的图形工具。不允许递归使用。D.HIPO图是由一组IPO图加一张HC图组成。它是美国IBM公司在软件设计中使用的主要表达工具。下列哪一个不是N-S图的基本控制结构:顺序型选择型REAPET重复型UNTIL重复型三、判断题(正确的在括号内打√,错误的打╳)软件开发小组人数越多越好。()在程序运行之前没法评估其质量。()需求是变化的,因为软件是灵活的,总可以满足需求。()有了对目标一般描述,就可以编程序,以后在详细描述。()模块越小,模块的优点越大。()四、简答题什么是软件工程,软件工程的准则是什么?什么是编码风格,包括哪些方面?比较黑盒测试与白盒测试的区别。五、程序设计与算法描述画出下列伪码程序的程序流程图。STARTIFmTHEN WHILEnDO AB ENDDOELSE BLOCK C D ENDBLOCKENDIFSTOP根据下列描述,画出学生申请IC借书卡的第一层数据流图。学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。各种资金往来通过学校的会计科办理。模拟试题答案一、填空题(每空2分,共40分)问题定义、需求分析与可行性研究、设计、编码、测试、运行与维护数据流、数据流图DFD、数据字典DD数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件审查、复查和管理复审、测试面向数据结构二、选择题(每小题3分,共30分)AACCC三、判断题:╳╳╳╳╳四、简答题1、软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。2、编码风格又称程序设计风格或编程风格,实际上指编程的原则。表现为四个方面:源程序文档化,数据说明的方法,语句结构和输入/输出方法。源程序文档化:源程序文档化又可从四个方面来阐述,①符号名的命名;②程序的注释;③标准的书写格式;数据说明:数据说明的次序应当规范化。使数据属性容易查找,也有利于测试,排错和维护。语句结构:语句构造力求简单、直接,不能为了片面追求效率而使语句复杂化。可从以下几方面注意:1.使用标准的控制结构;2.尽可能使用库函数;3.程序编写首先应当考虑清晰性;4.注意使用GOTO语句。3、黑盒测试法黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。白盒测试法白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。五、程序设计与算法描述1、2、软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(B)A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是(D)A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是(B)。A.评价软件的质量B.发现软件的错误C.找出软件的所有错误D.证明软件是正确的6.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。A.等价类划分B.边界值分析C.因果图D.判定表7.需求分析最终结果是产生(B)。A.项目开发计划 B.需求规格说明书C.设计说明书D.可行性分析报告8.Jackson图中,模块框之间若有直线连接,表示它们之间存在(B)。A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系9.软件详细设计的主要任务是确定每个模块的(C)。A.功能 B.外部接口 C.算法和使用的数据结构 D.编程10.为了提高软件的可维护性,在编码阶段应注意(D)A.保存测试用例和数据 B.提高模块的独立性C.文档的副作用 D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A)。A.状态图B.数据流图C.系统结构图D.时序图13.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象14.软件详细设计的主要任务是确定每个模块的(A)。A.算法和使用的数据结构 B.外部接口 C.功能 D.编程15.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)。A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系16.需求分析最终结果是产生(B)。A.项目开发计划 B.需求规格说明书C.设计说明书 D.可行性分析报告17.在详细设计阶段,经常采用的工具有(A)。A.PADB.SAC.SCD.DFD18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(C)A.教正性维护 B.适应性维护C.完善性维护 D.预防性维护20.为了提高软件的可维护性,在编码阶段应注意(D)A.保存测试用例和数据 B.提高模块的独立性C.文档的副作用 D.养成好的程序设计风格1.面向对象开发方法包括OOA、OOD和OOP三部分。2.效益分有形效益和无形效益两种。有形效益可用纯收入、货币时间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类。设计题已知有如下的伪代码程序:STARTI:=1;WHILEi:<=n-1DOmin:=A[i];j:=i+1;WHILEj<=nDOIFmin>A[j]THENBLOCKtemp:=min;min:=A[j];A[j]:=temp;ENDBLOCKENDIF;j:=j+1;ENDDOi:=i+1;ENDDOSTOP要求:请用盒图描述。.i:=1

i<=n-1

min:=A[i]

j:=i+1

j<=n

fmin>A[j]t

temp:=min

min:=A[i]

A[j]:=temp

j:=j+1

i:=i+1软件工程期末试题(二)一,判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)

Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)

PAD图在设置了五种基本控制结构后,还允许递归调用.(×)你

为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)

当验收测试通过,软件开发就完成了.(×)

完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)

系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)

在程序调试时,找出错误的位置和性质比改正该错误更难.(√)

以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)

二,单项选择题(每小题2分,共10分)

试判断下列叙述中,哪个(些)是正确的(D)

a,软件系统中所有的信息流都可以认为是事务流

b,软件系统中所有的信息流都可以认为是变换流

c,事务分析和变换分析的设计步骤是基本相似的

A,aB,bC,cD,b和c

进行需求分析可使用多种工具,但(B)是不适用的.

A,数据流图B,PAD图C,判定表D,数据词典

在详细设计阶段,经常采用的工具有(A).

A,PADB,SAC,SCD,DFD

详细设计的结果基本决定了最终程序的(C)

A,代码的规模B,运行速度C,质量D,可维护性

使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.

A,程序的内部逻辑B,程序的复杂程度

C,该软件的编辑人员D,程序的功能

三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.)

(ABCD)可以作为模块.

A,子程序B,函数C,过程D,编译文件

下面哪些测试属于黑盒测试(BCD).

A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试

下列属于度量效益方法的是(ABCD).

A,货币的时间价值B,投资回收期C,收入D,投资回报率

软件维护的策略包括(BCD).

A,定期检测维护B,改正性维护C,适应性维护D,完善性维护

下列属于软件测试过程的是(ABE).

A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试

四,简答题(每题6分,共24分)

1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何

答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高

强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱

2、请举例说明什么是多态,什么是重载

答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.

3、重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.

例:publicclassA{

intage;

Stringname;

publicvoidsetValue(inti){

age=i;}

publicvoidsetValue(Strings){

name=s;}

4、什么是数据字典简述数据字典与数据流图的关系.

答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用.数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)

5、简述编码风格的重要性.

答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.

面向对象的测试和传统开发方法的测试有什么不同

答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大.每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.

软件工程期末试卷(三)2004年下半年期末考试(开放教育本科)计算机科学与技术专业《软件工程》试题B2005年1月题号一二三四五六总分分数填空题(每空1分,共20分)软件生存周期一般可分为__________、可行性研究、__________、设计编码、__________、运行与维护阶段。IPO图由__________、__________和__________三个框组成。软件=__________+__________。软件测试的方法有__________和__________(即黑盒法)。Jackson图除了可以表达程序结构外,还可以表达__________。详细设计的工具有图形工具、__________和__________。__________和__________共同构成系统的逻辑模型。成本估计方法主要有__________、__________和算法模型估计三种类型。在需求分析阶段常用的图形工具有__________、__________、__________三种。答案:填空题(每空1分,共20分)1、问题定义需求分析测试2、输入处理输出3、程序文档4、分析方法非分析方法5、数据结构6、表格工具语言工具7、数据流图数据字典8、自顶向下估计自底向上估计9、层次方框图Warnier图IPO图单项选择题(每小题2分,共10分)系统流程图是描绘()的传统工具。A、逻辑系统B、数据结构C、状态变迁D、物理系统下列模块独立性最强的是()A、非直接耦合B、数据耦合C、公共耦合D、内容耦合下列哪个阶段不属于软件生存周期的三大阶段()。A、计划阶段B、开发阶段C、编码阶段D、维护阶段常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是()。Jackson方法和LCP(Wanier)逻辑构造方法结构化设计方法(SD)面向对象设计方法(OOD)D、快速原型法使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能答:1、D2、A3、C4、A5、A多项选择题(每题2分,共10分)()可以作为模块。A、子程序B、函数C、过程D、编译文件关于内容耦合的描述正确的是()。内容耦合是最高程度的耦合高级语言一般设计成允许内容耦合的形成应该尽量使用内容耦合如果一个模块可以直接调用另一模块,则可以称为内容耦合下列属于度量效益方法的是()。A、货币的时间价值B、投资回收期B、收入D、投资回报率软件维护的策略包括()。定期检测维护改正性维护适应性维护完善性维护下列不属于软件测试过程的是()。A、单元测试B、组装测试C、内核测试D、法律验证答:1、ABCD2、AD3、ABC4、BCD5、CD判断题(正确的在括号内打上“√”,错误的打上“×”。每题2分,共20分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格。()PAD图在设置了五种基本控制结构后,还允许递归调用。()为了加快软件维护作业的进度,应尽可能增加维护人员的数目。()当验收测试通过,软件开发就完成了。()完成测试作业后,为了缩短源程序的长度应删除程序中的注解。()在进行总体设计时应加强模块间的联系。()系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。()用黑盒法测试时,测试用例是根据程序内部逻辑设计的。()在程序调试时,找出错误的位置和性质比改正该错误更难。()以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。()答:1—5:√√×××6—10:×××√√简答题(每题5分,共20分)什么是软件危机?为什么会产生软件危机?答:软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。什么是软件的生存周期?包括哪几个部分?答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。什么是黑盒测试法?答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。耦合性和内聚性有几种类型?其耦合度、内聚强度的顺序如何?答:低:非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合:高强:功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚:弱分析设计题(共20分)(8分)假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率。答:年节省利率现在价值累计现在价值110001.12892.86892.86210001.25800.001692.86310001.40714.292407.15410001.57636.943044.09510001.76568.183612.27计算该系统的纯收:3612.27-3000=612.27投资回收期:3+(3000-2407.15)/(3044.09-2407.15

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论