您好,欢迎访问三七文档
软件工程练习题一、单选题参考答案:CBDBADCAACABDBDCBDBACCDACABDBDBADCAACABC1、软件生存周期不包含下列哪个阶段()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、在UML提供的图中,()用户描述按时间顺序对象间的交互。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.如何组织对软件的评审B.如何选择测试用例C.如何验证程序的正确性D.如何采用综合策略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.需求规格说明书24、确定测试计划是在()制定的。A.总体设计阶段B.需求分析阶段C.编码阶段D.测试阶段25、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法()。A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法D.基于数据的数据流开发方法26、在软件维护阶段,占工作量比例最大的一般是()。A、完善性维护B、适应性维护C、改正性维护D、预防性维护27、软件测试的目标是()。A.证明软件是正确的B.发现错误、降低错误带来的风险C.排除软件中所有的错误D.与软件调试相同28、下列测试技术中属于白盒测试技术的是()。A.等价划分B.边界值分析C.错误推测D.逻辑覆盖29、软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及()。A.用户同意B.需求审阅C.需求总结D.需求变更30、在进行软件结构设计时应该遵循的最主要的原理是()A.高度抽象B.信息隐蔽C.方便测试D.模块独立31、软件可行性一般不考虑()。A.是否有足够的人员和相关的技术来支持系统开发B.待开发的软件是否有质量问题C.待开发的软件是否有市场,经济上是否合算D.是否有足够的工具和相关的技术来支持系统开发32、需求分析中开发人员要从用户那里了解()。A.软件做什么B.用户使用界面C.输入的信息D.软件的规模33、瀑布模型将软件生命周期归纳为3个时期,即软件定义期、软件开发期和()期。A.详细设计期B.可行性分析期C.测试与纠错期D.运行维护期34、面向对象设计中,如果有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况;如果一旦类设计完成,就不要对类做任何修改。这个原则叫()。A.单一职责原则B.里氏替换原则C.开放封闭原则D.依赖倒置原则35、()意味着一个操作在不同的类中可以有不同的实现方式。A.多态性B.多继承C.类的可复用D.信息隐藏36、程序测试是一项复杂的工作,一般测试者在进行测试中都需要设计()。A.测试用例B.测试说明C.数据结构D.测试阶段37、软件管理中,需要对软件进行配置,各阶段文档的管理属于()。A.组织管理B.计划管理C.版本管理D.资源管理38、软件详细设计的主要任务是确定每个模块的()。A.算法和使用的数据结构B.外部接口C.功能D.编程39、提高软件的可维护性可采取很多措施,下列()不在措施之列。A.建立质量保证制度B.提供没有错误的程序C.改进程序文档质量D.明确软件质量标准40、软件维护产生的副作用,是指()。A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作二、填空题1、软件工程的出现主要是由于软件危机的出现的出现。2、软件可行性研究主要集中在以下四个方面经济可行性、技术可行性、操作可行性和法律可行性3、软件工程中SA方法时一种面向过程的分析方法4、在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的健壮性。5、软件概要设计关键的一步是确定软件体系结构,它直接影响下一阶段详细设计和编码的工作。6、软件测试方法一般分为动态测试、静态测试。7、结构化分析方法的分析策略是____自顶向下逐步求精____。8、面向对象技术开发软件,模块设计的原则是高内聚低耦合。9、成本效益分析的目的是从经济角度评价开发一个项目是否可行。10、结构化分析方法的分析策略是自顶向下逐步求精。11、动态测试方法中,根据测试用例的设计方法不同,分为白盒测试、黑盒测试。12、按软件的功能划分,软件可以划分为系统软件、支撑软件和应用软件。13、成本效益分析的目的是从经济角度评价开发一个项目是否可行。14、面向对象技术中,把对象的属性和操作结合在一起,其内部对外界是隐蔽的,外界只能通过有限的接口与对象发生联系,我们称之为封装。15、单元测试一般是以白盒测试方法为主。16、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的_____结构化设计方法___设计方法,以数据结构为基础构造模块的jackson方法,和以对象、类、继承和通信为基础的__面向对象设计方法___设计方法。17、软件是按照特定顺序组织起来的程序、数据、文档的集合。三、判断题:(×)1、软件危机完全是由于软件开发人员经验不足造成的。(×)2、开发软件就是编写程序。(√)3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。(×)4、为了软件质量,软件开发时应当尽量使用高级的程序设计语言。(√)5、UML是一种面向对象的分析设计方法工具。(√)6、理想的人机界面应针对具有典型个性的特定的一类用户设计。(×)7、软件工程学只有理论意义,没有实际用途。(√)8、在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。(×)9、软件测试时要发现软件中的所有错误。(×)10、软件也会磨损和老化。(×)11、在进行总体设计时应加强模块间的联系。(×)12、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×)13、如果通过软件测试没有发现错误,则说明软件是正确的。(√)14、快速原型模型可以有效地适应用户需求的动态变化。(√)15、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(×)16、集成测试主要由用户来完成。(×)17、软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。(√)18、软件重用是提高软件开发生产率和目标系统质量的重要途径。(×)19、UML是一种面向对象的分析设计方法,即OOA/OOD方法。(√)20、可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。四、简答题1、什么是软件危机?主要表现在哪些方面?所谓软件危机,就是软件在开发和维护过程中所遇到一系列难以控制的问题。软件危机主要包含了两方面的问题:一是如何开发软件以满足软件日益增长的需要,而是如何维护数量庞大的已有软件。2、软件生存周期都包括哪些活动?软件生命周期的活动包括:可行性研究与计划;需求分析;概要设计;详细设计;编码;软件测试;软件维护。3、软件工程的基本目标是什么?(1)降低软件开发成本(2)满足用户要求的全部软件功能。(3)符合用户要求,领用户满意的软件性能。(4)具有较好的易用性、可重用性、可移植性(5)较低的维护成本,较高的可靠性(6)按合同要求完成开发任务。4、软件测试包括哪些步骤?说明这些步骤的测试对象是什么?(1)单元测试:测试对象为单元模块(2)集成测试:测试对象为组装后的程序模块(3)确认测试:测试对象为可运行的目标软件系统(4)系统测试:测试对象为计算机系统的各组成部分5、动态测试方法可以细分为哪几种测试方法?并简述它们之间的区别(1)单元测试:测试对象为单元模块(2)集成测试:测试对象为组装后的程序模块(3)确认测试:测试对象为可运行的目标软件系统(4)系统测试:测试对象为计算机系统的各组成部分6、软件维护工作的特点有哪些?(1)持续时间长,工作量大。(2)容易产生一些意想不到的副作用,甚至引起错误。(3)软件维护活动实际上是一个简化了的软件开发活动(4)一直没受到软件设计者的足够重视。7、软件测试和软件调试的主要区别是什么?软件测试的目的是找出软件中存在的错误;而软件调试的目的是为了解决软件存在的错误,即对错误定位、分析并找出原因,改正错误。8、活动图与状态图的区别?描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。9、什么是黑盒测试法?黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。五、应用题1、某图书馆要开发一套信息管理系统。该图书馆的日常工作情况如下:市民可以凭身份证注册为会员,成为会员后可以管理自己的基本信息,包括查询、修改个人信息;可以浏览书库中库存书目信息;可以借阅图书;可以归还图书,如果超期要交罚款。图书管理人员可以管理会员信息,包括查询、修改会员信息,如果会员超过1年不借阅,可以注销该会员;管理员可以录入新书目,修改书库中书目信息,删除下架书目。请根据以上描述,画用例图。2、学生管理系统中有一个模块是报到登记,具体流程是:在新生入校报到时,进行新生信息登记,记录学生的报到资料、个人基本情况的输入、查询、修改等。根据上述描述绘制其用例图。3、某公司要开发一款动作冒险类游戏,每个玩家创建一个角色来游戏,游戏的基本要求如下:游戏中有多种角色(Character)可供选择,比如:骑士(Knight)、法师(Ma
本文标题:软件工程练习题
链接地址:https://www.777doc.com/doc-7352687 .html