




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《软件工程》复习内容一.填空题1、软件是数据、计算机程序及其说明程序的各种文档。2、概要设计主要是把各项功能需求转换成系统的体系结构。3、面向对象开发方法包括OOA、OOD、OOP三部分。4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。5、在单元测试时,需要为被测模块设计驱动模块和桩模块。6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。7.子类自动共享父类的属性和操作的机制称为继承。8.软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。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、概要设计主要是把各项功能需求转换成系统的__体系结构__。38、结构化程序设计方法提倡开发人员的组织形式是__主程序员组_。40、类具有操作,它是对象__行为
_的抽象。41、产品管理包括版本管理和__配置管理___。42、集成测试中的具体方法是___渐增式和非渐增式___测试方法。43、增量模型适合于__软件需求_不明确、设计方案有一定风险的软件项目。44、结构化分析方法的分析策略是__自顶向下逐步求精__。45、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。46、衡量模块独立性的两个定性标准是__耦合性与内聚性___。49、继承性是子类自动共享其父类的__数据结构和方法__机制。50、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成54.数据流图中的箭头表示__数据流__。软件结构图中的箭头方向表示___模块调用__。56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,称为软件的生命周期。软件是程序、数据及相关文档的完整集合。其中程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。目前使用得最广泛的软件工程方法学是传统方法学与面向对象学。软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统流程图是概括地描绘物理系统的传统工具;而数据流图是系统逻辑功能的图形表示工具。对数据流图(DFD)中包含的所有元素的定义和集合称为数据字典。面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。在软件的设计原理中,____抽象___和_____求精_____是一对互补的概念。衡量模块独立程序的两个定性标准是内聚和耦合。如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连结,并且每个代码块只有一个入口和一个出口,则称这个程序是___结构化_____的。___软件测试_____是为了发现程序中的错误而执行程序的过程。软件可靠性是指程序在给定的时间间隔内,按照规格说明书得规定成功地运行的概率。软件维护是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件过程。CMM的中文名称为_能力成熟度模型_,它分为__5__个等级。软件需求分析是指_软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。其中软件需求是指(1)用户解决问题或达到目标所需的条件或权能(Capability)。31、下列哪个改变不属于软件维护中的副作用?(
C)
A.修改代码
B.修改数据
C.修改需求分析
D.修改文档32.作坊式小团体合作生产方式的时代是(
C
)时代。
A.程序设计
B.软件生产自动化C.程序系统
D.软件工程33.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。A.CADB.CAIC.CAMD.CASE34.在软件需求规范中,下述哪些要求可以归类为过程要求(
A)A.执行要求
B.效率要求C.可靠性要求
D.可移植性要求35.Jackson方法实现从(
A
)导出(
C)。A.数据结构
B.数据流图
C.程序结构
D.软件模块层次结构36、PAD图的控制执行流程为(
C)
A、自下而下、从左到右
B、自上而下、循环执行
C、自上而下、从左到右
D、都不对37.程序设计语言的心理特性在语言中表现不应包括(
C)。
A.歧义性
B.简洁性
C.保密性
D.传统性38.在软件工程中,白箱测试方法可用于测试程序的内部结构。此方法将程序可作为(A
)
A.路径的集合
B.循环的集合
C.目标的集合
D.地址的集合39.集成测试的主要方法有两个,一个是(
B
)
A.白箱测试方法、黑箱测试方法B.渐增式测试方法、非渐增式测试方法C.等价分类方法、边缘值分析方法D.因果图方法、错误推测方法40、软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向(
A)发展,重要的基本假设是过程的质量直接影响产品的质量。
A.过程质量的控制
B.过程的改进
C.产品的改进
D.技术的革新41、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法(
C)。A.只有结构化语言B.有结构化语言和判定树C.有结构化语言、判定树和判定表D.有判定树和判定表42、项目管理工具中,将网络方法用于工作计划安排的评审和检查的是(
A)。A.Gantt图B.PERT网图C.因果分析图D.流程图43、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定(
C)。A.模块间的操作细节B.模块间的相似性C.模块间的组成关系D.模块的具体功能44、下述任务中,不属于软件工程需求分析阶段的是(
D)。A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台45.PDL是软件开发过程中用于(
C
)阶段的描述工具。
A.需求分析
B.概要设计
C.详细设计
D.编程46、McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组(
A)
A.产品需求
B.产品运行
C.产品修正
D.产品转移47.软件详细设计的主要任务是确定每个模块的(C)。A.功能 B.外部接口 C.算法和使用的数据结构 D.编程48.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(A)。A.状态图B.数据流图C.系统结构图D.时序图49.具有风险分析的软件生存周期模型是(C)A.瀑布模型 B.喷泉模型C.螺旋模型 D.增量模型50.模块(B)定义为受该模块内一个判断影响的所有模块集合。A.控制域B.作用域C.宽度D.接口51.在对数据流的分析中,主要是找到中心变换,这是从(C)导出结构图的关键。A.数据结构B.实体关系C.数据流图D.E—R图52.快速原型模型的主要特点之一是(D)A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件53.模块的内聚性最低的是(C)A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚54.软件详细设计主要采用的方法是(D)A.模块设计B.结构化设计C.PDL语言D.结构化程序设计55.通过(B)可以完成数据流图的细化。A.结构分解B、功能分解C、数据分解D、系统分解56.在考察系统的一些涉及时序和改变的状态时,要用对象-行为模型来表示。动态模型着重于系统的控制逻辑,它包括三个图:一个是事件轨迹图和事件流图,另一个是(A)。A.状态转换图B.数据流图C.系统结构图D.时序图57.在多层次的结构图中,其模块的层次数称为结构图的(A)。A.深度B.跨度C.控制域D.粒度58.软件结构图中,模块框之间若有直线连接,表示它们之间存在(A)。A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系59.在详细设计阶段,经常采用的工具有(A)。A.PADB.SAC.SCD.DFD60.()能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图61、软件结构图的形态特征能反映程序重用率的是()A、深度B、宽度C、扇入D、扇出62、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()A、条件覆盖法 B、等价分类法C、边界值分析法 D、错误推测法63、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()A、需求分析B、程序设计C、详细设计D、软件维护64、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、确认测试D、单元测试65、要显示描绘软件开发项目各作业的依赖关系,应选择(
)。A.
Gantt图
B.工程网络
C.
COCOMO模型
D.数据流图
66、结构化程序设计主要强调的是()A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性67、软件工程管理对软件项目的开发管理,即对整个软件()的一切活动的管理。A、软件项目B、生存期C、软件开发计划D、软件开发68.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)(1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用69.软件维护的副作用主要有以下哪几种(3)(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用70.测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例71.快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。A.需求阶段B.设计阶段C.测试阶段D.软件开发的各个阶段72.下列文档与维护人员有关的有()A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册73.CASE工具的表示集成是指CASE工具提供相同的()A.编程环境B.用户界面C.过程模型D.硬件/操作系统74.用白盒技术设计测试用例的方法包括(条件组合覆盖)A.边界值分析B.条件组合覆盖C.因果图D.错误推测D.为了评价程序的质量75.针对软件需求分析所进行的软件测试是指()A.集成测试B.确认测试C.黑盒子测试D.白盒子测试76.在软件设计中详细描述处理过程常用的三种工具是()A.SA,SD,SPB.程序流程图,IPO,PADC.SA,SC,SDD.图形,表格,语言77.通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是()A.通信、逻辑、顺序、时间B.通信、时间、顺序、逻辑C.顺序、通信、时间、逻辑D.顺序、通信、逻辑、时间78.在软件生产的(),使用的工具主要是机器语言和汇编语言。A.程序系统时代B.软件工程时代C.面向对象时代D.人工智能时代79.在McCall软件质量度量模型中,_________属于面向软件产品操作。()A.正确性B.可维护性C.适应性D.互操作性80.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们(都属于动态测试)81.JSP方法是一种面向_________的设计方法。()A.控制结构B.对象Jackson方法是面向数据结构的设计方法C.数据流D.数据结构82.数据流图(DFD)是_________方法中用于表示系统的逻辑模型的一种图形工具。()A.SAB.SDC.SPD.SC83.数据字典是用来定义__数据流图__中的各个成份的具体含义的。()A.流程图B.功能结构图C.系统结构图D.数据流图84.Putnam成本估算模型是一个()模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量85.软件复杂性度量的参数包括()A.效率B.规模C.完整性D.容错性86.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试87.软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析前面还写了一个写什么文档也属于B.黑盒法C.路径覆盖D.边界值分析88.在详细设计阶段,经常采用的工具有()A.PADB.SAC.SCD.DFD89.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。A.确定B.行或不行C.正确D.无二义90.结构化分析方法是以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.DD91.信息隐蔽概念与()这一概念直接的相关。A.模块的独立性B.模块类型的划分C.软件结构定义D.软件生命周期92.不属于详细设计的主要工具有()。A.IPO图B.PAD图C.PDLD.SC138.单元测试阶段主要涉及()的文档。A.需求设计B.编码和详细设计C.详细设计D.概要设计93.需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出()的过程。A.模块说明书B.软件规格说明C.项目开发计划D.合同文档94.Putnam成本估算模型是一个()模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量95.下列方法中不属于面向对象的开发方法有()。A.Booch方法B.Coad方法C.OMT方法D.SD方法96.结构化分析方法是以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A.DFD图B.PAD图C.IPO图D.DD三、判断题1.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)3.JAVA语言编译器是一个CASE工具。(对)。4.过程描述语言可以用于描述软件的系统结构。(错)5.快速原型模型可以有效地适应用户需求的动态变化。(对)6.在可行性研究中最难决断和最关键的问题是经济可行性。(错)7.耦合是指一个模块内各个元素彼此结合的紧密程度。(错)8.确认测试计划应该在可行性研究阶段制定(错)9.概要设计阶段完成的主要文档是概要设计说明书。(对)10.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(错)四、名词解释数据字典软件工程数据流图白盒测试黑盒测试完善性维护软件可靠性软件配置软件再工程α测试内聚耦合五、简答和应用题1.什么是软件危机?它有哪些典型的表现?为什么会出现软件危机?怎样解决软件危机?答:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现:(1)对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。(2)用户对已完成的软件不满意的现象时有发生。(3)软件产品的质量往往是靠不住的。 (4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。(6)软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。(7)开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因:(1)来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。(2)软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。(3)供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。2.简述文档在软件工程中的作用。答:(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。3.可行性研究包括哪几方面的内容?答:(1)经济可行性:是否有经济效益,多长时间可以收回成本;(2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;(3)运行可行性:系统操作在用户内部行得通吗?(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。4.结构化的需求分析描述工具有哪些?答:有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。5.有人说软件就是程序,你认为这种说法正确吗?请从软件的定义来阐述你的观点。不正确,软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。6.一般面向对象分析建模的工具(图形)有哪些?答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨迹图(时序图)和状态转换图(STD)等7.UML统一建模语言有哪几种图形?用例图、类图、对象图、构件(组件)图、部署(配置)图、状态图、活动图、顺序(时序)图、合作(协作)图等九种图。8.在面向对象分析时类和对象的静态关系主要有哪几种?答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系。9.什么是模块化?模块设计的准则?模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。模块设计的准则:(1)改进软件结构,提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。(2)模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。(3)软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。(4)尽量降低模块接口的复杂程度;(5)设计单入口、单出口的模块。(6)模块的作用域应在控制域之内。10.什么是模块独立性?用什么度量?答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。独立性可以从两个方面来度量:即模块本身的内聚和模块之间的耦合。11.变换型数据流由哪几部分组成?变换分析设计的步骤?变换型结构由三部分组成:传入路径、变换(加工)中心和传出路径。(1)区分传入、传出和变换中心三部分,划分DFD图的分界线;(2)完成第一级分解:建立初始SC图的框架;(3)完成第二级分解:分解SC图的各个分支;(4)对初始结构图按照设计准则进行精化与改进。12.什么是软件生存周期?把生存周期划分为阶段的目的是什么?答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。13.事务型数据流由哪几部分组成?事务分析设计的步骤?事务型结构由至少一条接受路径、一个事务中心与若干条动作路径组成。(1)在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);(2)画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);(3)分解和细化接收分支和动作分支,完成初始的SC图;(4)对初始结构图按照设计准则进行精化与改进。14.详细设计的目的?为软件结构图(SC图或HC图)中的每一个模块确定采用的算法和块内数据结构,用某种选定的表达工具给出清晰的描述.15.软件生存周期大致可以分成8个阶段,请问是哪8个阶段?各个阶段的主要任务是什么?答:1系统定义2可行性分析3需求分析4概念设计5详细设计6编写代码7用户测试8软件维护16.简述自己对软件工程的认识(此题没有标准答案,答题时应结合软件工程的概念、作用、现状等方面阐述自己的理解或观点)17.什么是软件的需求分析?为什么说需求分析是软件生存周期中最重要的阶段?18.详细设计的任务是什么?为每个模块确定采用的算法;确定每一模块使用的数据结构;确定模块接口的细节;编写过程设计说明书;设计每一模块的测试用例。19.
编码的任务?使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写的源程序(源代码)。20.软件测试的基本任务?软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;21.什么是黑盒测试?黑盒测试主要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试主要采用的技术有:等价分类法、边界值分析法、错误推测法和因果图等技术。22.什么是白盒测试?白盒测试主要采用的技术有哪些?白盒测试是测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或条件组合的程序采用基于逻辑的测试技术。23.路径测试技术中几种主要覆盖的含义?举例说明?语句覆盖:至少执行程序中所有语句一次。判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。条件覆盖:执行所有可能的穿过程序的控制路流程。条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。(例略)24.等价分类法的测试技术采用的一般方法?举例说明?(1)
为每个等价类编号;(2)
设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。(3)
设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有无效等价类被覆盖为止。(例略)25.为什么说软件的维护是不可避免的?因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。26.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。27.需求分析与软件设计二个阶段任务的主要区别是什么?答:需求分析定义软件的用户需求,即定义待开发软件能做什么软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。28.说明软件测试和调试的目的有何区别?答:测试的目的是判断和发现软件是否有错误,调试的目的是定位软件错误并纠29.什么是软件复用?简述软件复用和软件共享、软件移植的差别。答:软件复用是指在构造新的软件系统的过程中,对已存在的软件人工制品的使用技术。如果是在一个系统中多次使用一个相同的软件成分,这叫软件共享;对一个软件进行修改,使它能运行于新的软、硬件平台这称作软件移植。30.软件的维护一般分为哪几类?完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;适应性维护:是软件适应新的运行环境而进行的工作;s纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的因素?(1)软件的可理解性、可测试性、可修改性;(2)文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。32.分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加33.说明结构化程序设计的主要思想是什么?答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。34.软件测试的基本任务是什么?测试与纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35.什么是软件再工程?软件再工程的主要活动有哪些?答:软件再工程是运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合,并重新构建软件,用以提高软件的可理解性、可维护性、可复用性或演化性。主要活动:信息库分析、文档重构、逆向工程、代码重构、数据重构、正向工程。36.试由程序流程图导出程序图1入口1入口2A>1F2A>138B=0TT38B=0X=X/AX=X/A4F4A=2A=25T5X>1FX>196X=X+1T96X=X+17出口F7出口(a)程序流程图(b)导出程序图37.把事务型数据流图映射成软件结构图:AABC+f1f2f4f5f3主模块Readf1ABCWritef4Writef5主模块f1f2f1f3f4f538.把变换型数据流图映射成软件结构图:BBACf1f2f3f4主模块Getf2BGetf3Readf1主模块Readf1主模块ACWritef4主模块f1f1f2f2f3f3f4f439.用自顶向下结构化程序设计方法编写直接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。用C语言编写:/*程序名称:直接选择排序;*//*作者:陈明锐;*//*完成日期:2006年6月9日;*//*过程头:selectsort(int*A;intN)*//*输入参数:N为元素个数(N<=1000);A整型数组,从1到N存放待排序元素;*//*返回结果:数组A为指针,由它返回排序结果;*/voidselectsort(int*A;intN){inti,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*/40.某公司的工作分配原则如下:1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。解答如下:(1)判定条件可能的取值如表A-4所示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 但协议不一定是合同
- 合伙造林协议合同
- 阳江复印机租赁协议合同
- 合同协议字体模板
- 怎样写退出合同协议
- 烧虾子合同协议
- 外委合同解除协议
- 软件招商合同协议书范本
- 转让房租合同协议书范本
- 集装箱施工合同协议范本
- 湛江房屋租赁合同书范本
- 2025下半年江苏盐城响水县部分事业单位招聘77人高频重点提升(共500题)附带答案详解
- 0-3岁婴幼儿常见疾病与伤害防护知到智慧树章节测试课后答案2024年秋杭州师范大学
- 博士科研计划书模板
- 医疗设备仪器培训
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 仪态礼仪完整版本
- 项目精细化管理督导巡视评分表及评分标准
- 统编版语文六年级上册第二单元主题阅读(含答案)
- 中国邮政集团有限公司招聘笔试题库2024
- 八年级数学下册 中心对称图形-平行四边形综合压轴(50题12个考点)(原卷版)
评论
0/150
提交评论