软件工程复习题_第1页
软件工程复习题_第2页
软件工程复习题_第3页
软件工程复习题_第4页
软件工程复习题_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

软件工程课程复习题一、单项选择题1、软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。

A.螺旋模型B.增量模型C.功能模型D.瀑布模型

2、检查软件产品与否符合需求定义的过程称为(D)。

A.集成测试B.确认测试 C.验证测试D.验收测试3、黑盒测试是从(C)观点出发的测试,白盒测试是从(A)观点出发的测试。

A.开发人员B.管理人员C.顾客4、可行性研究要进行一次(D)需求分析。A.深入的B.详尽的C.彻底的D.简化的、压缩了的

5、回归测试是(A)中最常用的措施。A.校正性维护 B.适应性维护 C.完善性维护 D.防止性维护6、与选择编程语言无关的原因是(C)。A.软件开发的措施B.软件执行的环境C.程序设计风格D.软件开发人员的知识7、面向对象程序设计将数据与(A)放在一起,作为一种互相依存、不可分割的整体来处理。A.对数据的操作 B.信息 C.数据隐藏 D.数据抽象8、软件生存周期的(D)工作和软件可维护性有亲密的关系。A.编码阶段B.设计阶段C.测试阶段D.每个阶段9、好的软件构造应当是(C)。A.高耦合,高内聚B.高耦合,低内聚C.低耦合,高内聚D.低耦合,低内聚10、在迅速原型模型的开发过程中,仅作为需求阐明的补充形式的原型是(A)

A.探索型模型B.演化型模型C.试验型模型D.提交型模型

11、软件构造图的形态特性能反应程序重用率的是(C)

A.深度B.宽度 C.扇入D.扇出12、需求分析最终止果是产生(B)

A.项目开发计划B.需求规格阐明书C.设计阐明书D.可行性分析汇报

13、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的(C)。A.总体 B.细节 C.抽象 D.分解14.可行性研究要进行一次需求分析。答案为:DA.深入的B.详尽的C.彻底的D.简化的、压缩了的

2.开发软件所需高成本和产品的低质量之间有着锋利的矛盾,这种现象称作B。答A.软件投机B.软件危机C.软件工程D.软件现象15.产生软件维护的副作用,是指。答案为:CA.开发时的错误B.隐含的错误C.因修改软件而导致的错误D.运行时误操作16.维护中,因误删除一种标识符而引起的错误是_________副作用。答案为:CA.文档B.数据C.编码D.设计17.可维护性的特性中互相增进的是答案为:AA.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和构造好18.需求分析最终止果是产生答案:BA.项目开发计划B.需求规格阐明书C.设计阐明书D.可行性分析汇报

7._____是以提高软件质量为目的的技术活动。答案为:DA.技术创新B.测试C.技术发明D.技术评审19.面向对象措施学的出发点和基本原则是尽量模拟人类习惯的思维方式,分析、设计和实现一种软件系统的措施和过程,尽量靠近于人类认识世界处理问题的措施和过程。因此面向对象措施有许多特性,如软件系统是由对象构成的________;对象彼此之间仅能通过传递消息互相联络;层次构造的继承。答案为:CA.开发过程基于功能分析和功能分解B.强调需求分析重要性C.把对象划提成类,每个对象类都定义一组数据和措施D.对既存类进行调整20.原型化措施是顾客和设计者之间执行的一种交互构成,合用于______系统。答案为:AA.需求不确定性高的B.需求确定的C.管理信息D.实时21.为了提高测试的效率,应当。答案为:DA.随机地选用测试数据B.取一切也许的输入数据作为测试数据C.在完毕编码后来制定软件的测试计划D.选择发现错误也许性大的数据作为测试数据二、填空题1、.需求分析阶段阶段决定了系统做什么,软件设计阶段阶段决定系统怎样详细实现的方案,编码阶段是系统实现的过程,软件测试阶段阶段是对实现的系统与否对的的检查,软件维护阶段阶段是找出开发阶段遗留下来的错误,并且伴随顾客规定的增长,环境的变化,对系统进行改造。2、设计分为概要设计和详细设计两大环节。3、集成测试的措施重要有渐增式测试和非渐增式测试两种。4、软件设计要遵守“抽象,分解,低藕合高内聚,封装,接口和实现分离”的设计原理。5、测试阶段是在代码编写完毕后来,先作单元测试,然后是集成测试、系统测试和验收测试。7、软件维护的内容有:纠正性维护、适应性维护、完善性维护和防止性维护。8、一般而言,在面向对象建模过程中,人们最常用的是建立系统的用例图、类图和次序图。9、“四种开发措施”是指“面向过程的措施、面向对象的措施、面向数据的措施、形式化措施”10、“五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”。11、构造化分析措施是需求分析中使用最多的措施之一,合用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐层分解的措施分析整个系统,有效地控制系统开发的复杂性。12、内聚性是模块独立性的衡量原则之一,它是指模块的功能强度的度量,即一种模块内部各个元素彼此结合的紧密程度的度量。13、在构造化分析中,用于描述加工逻辑的重要工具有三种,即:构造化语言、鉴定表、鉴定树。14、构造化语言是介于自然语言和形式语言之间的一种半形式语言。15、模块设计的基本原则是要尽量使用数据耦合,减少控制耦合,限制外部耦合和公共耦合,不使用内容耦合。16.系统流程图是描述物理模型的老式工具,用图形符号表达系统中各个元素体现了系统中多种元素之间的(信息流动)状况。17.自顶向下结合的渐增式测试法,在组合模块时有两种组合方略:深度优先方略和(宽度优先方略)。18.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。19.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。20.科学工程计算需要大量的原则库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三、名词解释1.经济可行性答:进行开发成本的估算以及理解获得效益的评估,确定要开发的项目与否值得投资开发。2.社会可行性答:要开发的项目与否存在任何侵犯、阻碍等责任问题,要开发项目目的运行方式在顾客组织内与否行得通,既有管理制度、人员素质、操作方式与否可行。3.元数据、实体、中间数据答:元数据是组织数据的数据,描述数据的数据,有关数据的数据。实体(指实体集或实体型),是一组有关元数据的集合。中间数据是组织记录数据的数据,描述记录数据的数据,有关记录数据的数据。4.软件维护定义:答:所谓软件维护,就是在软件产品安装、实行并交付给顾客使用后,在新版本产品升级之前,这段时间里软件厂商向客户提供的服务工作,称为该软件产品的软件维护。四、判断题某软件企业拟采用下述措施提高他们开发出的软件产品的可维护性。请判断哪些措施是对的的,哪能些是不对的的,并简朴阐明理由。1、在分析顾客需求时同步考虑维护问题。2、测试完程序后,删去程序中的注解以缩短源程序长度。3、在软件开发过程中保证各阶段文档的对的性。4、编码时多用全局变量。5、选用时间效率和空间效率尽量高的算法。6、尽量运用硬件特点以提高程序效率。7、尽量使用高级语言编写程序。8、进行总体设计时加强模块间的联络。9、尽量减少程序模块的规模。10、用数据库系统替代文献系统来存储需要长期保留的信息。11、用CASE环境或程序自动生成工具来自动生成一部分程序。12、尽量用可重用的软件构件来组装程序。13、使用先进的软件开发技术。14、采用防错程序设计技术,在程序中引入自检能力。答:1、对的。在分析顾客需要的同步考虑维护问题,列出未来也许变更或增长的需求,就可以在设计时为未来也许做的修改预先做某些准备,使得在顾客确实提出这些维护规定期,实现起来比较轻易某些。2、不对的。程序中的注解是提高程序可理解性的关键的内部文档,删去文档的注解必然会减少程序的可读性和可理解性,从而减少软件的可维护性。3、对的。完整精确的文档对提高软件的可理解性有重要奉献,保证文档的对的性是提高软件可维护性的关键。4、不对的。程序中使用的全局变量多,不仅违反局部化原理并且会使得具有公共环境耦合的模块数量增多,从而减少程序的可理解性、可修改性和可测试性,因此,这样的软件可维护性较差。5、不对的。一般说来,效率高的算法的可理解性较差,选用效率尽量高的算法将减少软件的可维护性。实际上,程序的效率可以满足顾客的需求就可以了,没有必要盲目地追求尽量高的效率。6、不对的。程序对硬件特点依赖越多,运行程序的硬件变更时适应性维护的工件量也就越大。7、对的。用高级语言编程时,顾客可以给程序变量和程序模块赋予含义鲜明的名字,通过名字可以比较轻易地把程序对象和它们所代表的实体联络起来。此外,高级语言使用的概念和符号更符合人的习惯。上述事实都使得用高级语言编写的程序更轻易理解,因此也就更轻易维护。8、不对的。模块间耦合越紧密,程序就越难理解和修改,修改后测试也比较困难。因此,加强模块间的联络将减少软件的可维护性。9、不对的。程序模块的规模很小,就会使程序中包括的模块诸多,这将使模块间的接口数量大大增长,从而增长了理解、修改和测试程序的难度,减少了软件的可维护性。10、对的。数据库系统比文献系统使用起来更以便、更安全,用数据库系统替代文献系统来存储需要长期保留的信息,可减少差错,减少改正性维护需求的数量。此外,使用数据库系统的程序比使用文献系统的程序更轻易修改。上述事实表明,用数据库系统替代文献系统来存储需要长期保留的信息,将提高软件的可维护性。11、对的。自动生成的程序段没有差错,对软件的改正性维护需求自然减少。当因顾客的需求变更而需要修改程序时,可以先修改对应部分的规格阐明,然后用CASE环境或程序自动生成工具自动生成需改动的程序,显然,这样做可以减少维护的工作量。12、对的。可重用的软件构件基本上没有错误,用这样的构件组装成的程序可靠性高,改正性维护需求自然就比较少。此外,可重用的软件构件适应性强,应用范围广,轻易使它适应新需求,因此,用这样的构件组装成的程序也较轻易实现适应性或完善性维护。13、对的。用先进的软件技术开发出来的软件轻易理解、轻易修改、轻易重用,因此,可维护性很好。14、对的。在程序中引入自检能力可以明显提高软件的可靠性,因此将明显减少改正性维护需求的数量。五、简答题1、什么是软件过程?它与软件工程措施学有何关系?答:软件过程是为了开发出高质量的软件产品所需完毕的一系列任务的框架,它规定了完毕各项任务的工作环节。软件过程定义了运用技术措施的次序、应当交付的文档资料、为保证软件质量和协调软件变化必须采用的管理措施,以及标志完毕了对应开发活动的里程碑。软件过程是软件工程措施学的3个重要构成部分之一。2、什么是软件生命周期模型?试比较瀑布模型、迅速原型模型、增量模型和螺旋模型的优缺陷,阐明每种模型的合用范围。答:软件生命周期模型规定了把生命周期划提成哪些阶段及各个阶段的执行次序,因此,也称为过程模型。四种模型的优缺陷在于:瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文挡驱动的措施;这种模型的问题是,最终开发出的软件产品也许并不是顾客真正需要的。迅速原型模型正是为了克服瀑布模型的缺陷而提出来的。它通过迅速构建起一种可在计算机上运行的原型系统,让顾客试用原型并搜集顾客反馈意见的措施,获取顾客的真实需求。增量模型具有可在软件开发的初期阶段使投资获得明显回报和教易维护的长处,不过,规定软件具有开放的构造是使用这种模型时固有的困难。风险驱动的螺旋模型合用于内部开发的大型软件项目,不过,只有在开发人员具有风险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。3、在软件开发的初期阶段为何要进行可行性研究?应当从哪些方面研究目的系统的可行性?答:可行性研究的目的不是处理问题,而是确定问题与否值得去处理。实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。应当从如下的方面研究目的系统的可行性:技术可行性:使用既有的技术能实现这个系统吗?经济可行性:这个系统的经济效益能超过它的开发成本吗?操作可行性:这个系统的操作方式在该客户组织内行得能工通吗?4、怎样与顾客有效地沟通以获取顾客的真实需求?答:分析员与顾客沟通进行需求分析的经典措施如下所述:访谈:它有两种基本形式,分别是正式的和非正式的访谈。面向数据流自顶向下求精。简易的应用规格阐明技术。迅速建立软件原型。5、什么是功能模型?建立功能模型时重要使用哪些图形符号?答:功能模型表达变化的系统的“功能”性质,它指明了系统应当“做什么”,因此更直接地反应了顾客对目的系统的需求。一般,功能模型由一组数据流图构成。建立功能模型时重要使用的图形符号如下所示:或数据的源点/终点或变换数据的处理或数据存储数据流6、为何要选择软件开发模型?软件开发模型与软件生存周期有什么关系?答:由于软件开发模型是软件工程研究的四大内容之一,它虽然不是软件工程研究的重点,不过在宏观上尤其重要。软件企业的项目组在开发一种大项目或产品时,首先在技术上必须选择一种开发模型,使开发模型非常适合这个项目或产品的生存周期;随即通过对生存周期的淘汰,来给出适合与本项目或产品的软件生存周期定义。软件的开发模型与软件生存周期有关:不一样的开发模型,也许对应着不一样的生存周期。生存周期不一样,该软件的开发阶段划分、评审次数、基线原则均有所不一样,甚至维护措施均有所区别。7、请阐明“三个模型”的定义,以及三者之间的关系。答:功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。业务模型是描述系统在何时、何地、由何角色、按什么业务规则去做,以及做的环节或流程,即对系统的操作流程进行定义。数据模型是描述系统工作前的数据来自何处,工作中的数据存什么地方,工作后的数据放到何处,以及这些数据之间的关联,即对系统的数据构造进行定义。功能模型和业务模型是在需求分析时建模,是两个基本点。数据模型是一种中心,在设计时建模。功能模型和业务模型给数据模型提供数据与维护数据,数据模型支持功能模型和业务模型的正常运行。8、需求分析的目的是什么?需求分析的难点在哪?答:软件需求分析,其目的是用于阐明软件产品或软件项目需要满足的条件和限制。在软件工程项目中首先要获取顾客的需求,通过对软件需求的提取、分析、文档化及验证,为深入的设计和实现提供根据。需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户到达完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订协议步已经做了规定。要懂得,协议是具有法律效力的。9.可行性研究汇报的重要内容有哪些?答:一种可行性研究汇报的重要内容如下:(1)引言:阐明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参照资料。(2)可行性研究前提:阐明开发项目的功能、性能和基本规定;到达的目的;多种限制条件;可行性研究措施和决定可行性的重要原因。(3)对既有系统的分析。(4)所提议系统的技术可行性分析。(5)所提议系统的经济可行性分析。(6)社会原因可行性分析。(7)其他可供选择方案。(8)结论意见。10.系统设计的内容是什么?答:系统设计阶段先从高层入手,然后细化。系统设计要决定整个构造及风格,这种构造为背面设计阶段的更详细方略的设计提供了基础。重要内容为:(1)系统分解。(2)确定并发性。(3)处理器及任务分派。(4)数据存储管理。(5)全局资源的处理。(6)选择软件控制机制。(7)人机交互接口设计。11.什么是软件危机?软件危机的体现是什么?其产生的原因是什么?答:软件开发技术的进步一直未能满足发展的需要。在软件开发中碰到的问题找不到处理措施,使问题积累起来,形成了锋利的矛盾,因而导致了软件危机。软件危机表目前如下四个方面:(1)经费预算常常突破,完毕时间一再迟延。(2)开发的软件不能满足顾客规定。(3)开发的软件可维护性差。(4)开发的软件可靠性差。导致软件危机的原因是:(1)软件的规模越来越大,构造越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不停增长。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。12.软件质量保证应做好哪几方面的工作?答:软件质量保证是软件工程管理的重要内容,软件质量保证应做好如下几方面的工作:(1)采用技术手段和工具。(2)组织正式技术评审。(3)

温馨提示

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

评论

0/150

提交评论