您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 软件工程导论-期末题库(完整版)
1.填空题1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试)____6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。14.软件工程三要素包括_方法_、__工具___和__过程___,其中,_过程_支持软件开发的各个环节的控制和管理。15.类构件的重用方式有_实力重用__、__继承重用______和_多态重用__三种。16.能力成熟度模型分为5个等级:初始级、____可重复____级、__已定义___级、____已管理__级和__优化____级。2.判断题1.向滞后的项目中增加人手会使得项目更加滞后。(T)2.过程描述语言可以用于描述软件的系统结构。(F)3.按照瀑布模型开发软件的一条指导思想是清楚地区分逻辑设计与物理设计,以便尽早开始程序的物理实现。(F)5.只有质量差的软件产品才需要维护。(F)6.层次图用来描述软件的层次结构。层次图中的一个矩形框代表一个模块,方框间的连线表示模块的组成关系。在层次图中除最顶层的方框之外,给每个方框都加编号,即成为带有编号的层次图。(F)7.建立动态模型的第一步,是编写典型交互行为的脚本。(T)8.软件错误可能出现在开发过程的早期,越早修改越好。(T)9.软件模块的耦合是越低越好。(T)10.一个好的测试用例在于能发现至今未发现的错误。(T)11.面向对象设计的结果只能采用面向对象语言来实现(F)12.一个成功的项目唯一提交的就是运行程序。(F)13.用例之间的关系有3种。(T)14.面向对象设计准则也要遵循弱耦合的原则,但是继承耦合则应该提高,紧密地继承耦合与高度的一般-特殊内聚是一致的。(T)15.软件工作的考虑范围主要是程序设计和实现。(F)16.环形复杂度定量度量程序的逻辑复杂度,可以用这个公式来计算环形复杂度:流图G的环形复杂度V(G)=N–E+2。(改成E-N+2)(F)17.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。(T)18.在进行总体(改成概要)设计时应加强模块间的联系。(F)19.系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。(T)20.建立动态模型的第一步,是编写典型交互行为的脚本。(T)21.在程序调试时,找出错误的位置和性质比改正该错误更难。(F)22.如果通过软件测试没有发现错误,则说明软件是正确的。(F)23.快速原型模型可以有效地适应用户需求的动态变化。(T)24.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(T)25.集成测试主要由用户来完成。(F)26.面向对象=对象+类+继承+消息传递。(T)27.面向对象的分析是面向计算机系统建立软件系统的对象模型。(F)3.选择题1.具有风险分析的软件生命周期模型是()。A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.软件工程的基本要素包括方法、工具和()。A.过程B.软件系统C.硬件环境D.人员3.软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。A.固有的B.人为的C.可消除的D.不可降低的4.在结构化分析方法中,()表达系统内部数据运动的图形化技术。A.数据字典B.实体关系图C.数据流图D.状态转换图5.“软件危机”是指()。A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统6.随着软硬件环境变化而修改软件的过程是()。A.校正性维护B.适应性维护C.完善性维护D.预防性维护7.需求分析中开发人员要从用户那里了解()。A.软件做什么B.用户使用界面C.输入的信息D.软件的规模8.软件详细设计的主要任务是确定每个模块的()。A.算法和使用的数据结构B.外部接口C.功能D.编程9.为了提高模块的独立性,模块内部最好是()。//外部耦合,功能内聚A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚10.一个模块的()太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。A.深度B.宽度C.扇出D.扇入11.模块的内聚性最高的是()。A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚12.需求分析是()。?A.软件开发工作的基础?????????B.软件生存周期的开始?C.由系统分析员单独完成的?????D.由用户自己单独完成的13.在白盒测试技术测试用例的设计中,()是最强的覆盖标准。A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖14.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为()。A.改正性维护???????????B.适应性维护C.完善性维护D.预防性维护15.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A.多态性B.继承C.封装D.消息16.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A.结合B.隐藏C.封装D.抽象17.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。A.Booch方法B.Coad方法C.UML语言D.OMT方法18.()意味着一个操作在不同的类中可以有不同的实现方式。A.多态性B.多继承C.类的可复用D.信息隐藏19.单元测试的测试用例主要根据()的结果来设计。A.需求分析B.源程序C.概要设计D.详细设计20.软件测试是为了()而执行程序的过程。A.纠正错误B.发现错误C.避免错误D.证明正确21.类构件的重用方式有多态重用、继承重用和()A.实例重用B.重载重用C.代码重用D.方法重用22.支持面向对象技术的软件生存周期模型是()。A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型23.在白盒测试技术测试用例的设计中,()是最弱的覆盖标准。A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖1.下面哪些测试方法属于白盒测试()。//BCD是黑盒测试A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试2.下列哪些选项是属于内容耦合()。A、一个模块直接访问另一个模块的内部数据B、一个模块有多个入口C、一个模块不通过正常入口转到另一模块内部D、一个模块只有一个入口3.下列属于度量效益方法的是()。A、货币的时间价值B、投资回收期C、收入D、投资回报率4.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的()。A、自顶向下B、自底向上C、分层绘制D、逐步求精5.软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具()。A、结构图B、实体联系图C、IPO图D、层次图4.简答题:1.简述增量模型的优点和缺点。答:优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。缺点:1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。3)如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。2.简述软件设计的过程。答:软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和角度,是将需求转变为软件陈述的过程,是迭代的过程。软件设计,要根据需求规格说明书,对整个设计过程进行计划,然后实施具体的设计过程,即“先整体,再局部”,也是不断迭代和精化的过程。然后需要对生成的设计规格说明书进行评审,启动质量评价的标准,若未通过评审,需重新修改设计,直至评审通过,确定最后定型的过程本身。进入后续阶段,完成软件设计过程。3.原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。答:建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。原型在软件开发过程中可以起到以下主要作用:(1)明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分。用户对原型的评价可以指出需求中的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。(2)探索设计选择方案原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。(3)发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。4.请看下列伪代码程序,要求完成下列问题:(1)画出代码的流程图(4分)(2)根据该程序流程图画出该程序的流图;(4分)(3)计算该流图的环形复杂度;(4分)STARTINPUT(A,B,C)IFA5THENX=10ELSEX=1ENDIFIFB10THENY=20ELSEY=2ENDIFIFC15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)STOP答:法一:环形复杂度=E-N+2=18-16+2=4法二:环形复杂度=P+1=3+1=45.简述结构化程序设计方法的基本特点。答:(1)尽可能少用goto语句的程序设计方法;(2)每个代码块都单入单出;(3)使用控制结构:顺序、选择和循环;(4)自顶向下逐步求精。6.请比较快速原型模型和螺旋模型的优缺点,并说明各自的适用范围。答:模型优点缺点适用范围快速原型模型易于获取客户真实需求可能导致系统设计差、效率低,难于维护适用于对软件需求缺乏准确认识的情况螺旋模型风险驱动,降低风险风险分析人员需要有经验且经过充分训练内部开发的大型软件项目7.衡量模块独立性的两个定性标准是什么?这两个标准的定义分别是什么?在我们的软件设计中,关于模块独立性我们追求的目标是什么?答:衡量模块独立性的两个定性标准是内聚和耦合(2分)。耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度(2分)。在我们的软件设计中,关于模块独立性我们追求的目标是紧密内聚松散耦合(1分)。8
本文标题:软件工程导论-期末题库(完整版)
链接地址:https://www.777doc.com/doc-2699718 .html