1、试题1(2016年上半年试题32)软件产品的Alpha测试和Beta测试属于( )。A.回归测试B.性能测试C.集成测试D.确认测试试题分析确认测试包括:内部确认测试以及Alpha测试与Beta测试。试题答案(32)D 试题2(2015年上半年试题30)在系统开发中,原型可以划分为不同的种类。从原型是否实现功能来分,可以分为水平原型和垂直原型;从原型最终结果来分,可以分为抛弃式原型和演化式原型。以下关于原型的叙述中,正确的是( )。A.水平原型适合于算法较为复杂的项目B.垂直原型适合于Web项目C.抛弃式原型适合于需求不确定、不完整、含糊不清的项目D.演化式原型主要用于界面设计试题分析抛弃式原
2、型主要用于界面设计。抛弃式原型基本思路就是开始就做一个简单的界面设计,用来让用户有直观感受,从而可以提得出需求,等需求获取到之后,可以把这个界面原型抛弃不用。而演化式,会把原型保留,通过不断的演化,逐步形成最终产品。试题答案(30)C 试题3(2014年上半年试题23)在对于现有系统进行分析时,( )方法是错误的。A.多与用户沟通,了解他们对现有系统的认识和评价B.了解现有系统的组织结构,输入/输出、资源利用情况和数据处理过程C.理解现有系统“做什么”的基础上,抽取其“怎么做”的本质D.从对现有系统的物理模型出发,通过研究、分析建立起其较高层次的逻辑模型描述试题分析系统分析阶段的任务是确定“做
3、什么”,“怎么做”是系统设计阶段的任务。试题答案(23)C 试题4(2014年上半年试题27)某公司要开发一个软件产品,产品的某些需求是明确的,而某些需求则需要进一步细化。由于市场竞争的压力,产品需要尽快上市。则开发该软件产品最不适合采用( )模型。A.增量B.原型C.瀑布D.螺旋试题分析本题考查软件过程模型的基本概念。软件过程模型习惯上也称为软件开发模型,是软件开发全部过程、活动和任务的结构框架。瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。它包括需求分析、设计、编码、测试、运行和维护。瀑布模型的优点是:容易理解,管理成本低,强调开发的阶段性早期计划及需求调查和产品测
4、试。不足之处是:客户必须能够完整、正确和清晰地表达他们的需要,需求或设计中的错误往往只有到了项目后期才能够被发现。增量模型融合了瀑布模型的基本成本和原型实现的迭代特征,它假设可以将需求分段为一系列增量产品,每一增量可以分别地开发。该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。大量的实践表明,在开发初期很难得到一个完整的、准确的需求规格说明。这主要是由于客户往往不能准确地表达对未来系统的全面要求,开发者对要解决的应用问题模糊不清,以至于形成的需求规格说明常常是不完整、不准确的,有时甚至是有歧义的。此外,在整个开发过程中,用户可能会产生新的要求,导致需
5、求的更变。而瀑布模型难以适应这种需求的不确定性和变化,于是出现了快速原型这种新的开发方法。原型是预期系统的一个可执行版本,反映了系统性质的一个选定的子集。一个原型不必满足目标软件的所有约束,其目的是能快速、低成本地构建原型。螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应。因此特别适用于庞大、复杂并且有高风险的系统。与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高软件的适应能力,并且为项目管理人员及时调整管
6、理决策提供了便利,从而降低了软件开发的风险。试题答案(27)C 试题5(2014年上半年试题28-29)( )是系统分析阶段结束后得到的工作产品,( )是系统测试阶段完成后的工作产品。A.系统设计规格说明 B.系统方案建议书C.程序规格说明 D.单元测试数据A.验收测试计划 B.测试标准C.系统测试计划 D.操作手册试题分析本题考查软件配置项的基本概念。随着软件开发工作的开展,会得到许多工作产品或阶段产品,还会用到许多工具软件。所有这些独立的信息项都要得到妥善的管理,绝对不能出现混乱,以便于在提出某些特定要求时,将它们进行约定的组合来满足使用目的。这些信息项目是配置管理的对象,称为软件配置项。
7、软件配置项目可以分为以下几类:(1)环境类,指软件开发环境或软件维护环境,例如编译器、操作系统、编辑器、数据库管理系统、开发工具、项目管理工具、文档编制工具等;(2)定义类,是需求分析与定义阶段结束后得到的工作产品,例如需求规格说明、项目开发计划、设计标准或设计准则、验收测试计划等;(3)设计类,设计阶段结束后得到的工作产品,例如系统设计规格说明、程序规格说明、数据库设计、编码标准、用户界面标准、测试标准、系统测试计划、用户手册等;(4)测试类,系统测试完成后的工作产品,例如系统测试数据、系统测试结果、操作手册、安装手册等;(5)维护类,进入维护阶段以后产生的工作产品。试题答案(28)B(29
8、)D 试题6(2013年上半年试题35)RUP中的软件过程在时间上分解为4个顺序的阶段:初始阶段、细化阶段、构建阶段和移交阶段。架构的确定与建立是在( )完成的。A.初始阶段B.细化阶段C.构建阶段D.移交阶段试题分析RUP中4个阶段的功能为:初始阶段的任务是为系统建立业务模型并确定项目的边界。在初始阶段,必须识别所有与系统交互的外部实体,定义系统与外部实体交互的特性。在这个阶段中,所关注的是整个项目的业务和需求方面的主要风险。细化阶段的任务是分析问题领域,建立完善的架构,淘汰项目中最高风险的元素。在细化阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围、主要功能和诸如性能等非功能需
9、求,同时为项目建立支持环境。在构建阶段,要开发所有剩余的构件和应用程序功能,把这些构件集成为产品,并进行详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制操作,以优化成本、进度和质量。构建阶段的主要任务是通过优化资源和避免不必要的报废和返工,使开发成本降到最低;完成所有所需功能的分析、开发和测试,快速完成可用的版本;确定软件、场地和用户是否已经为部署软件作好准备。当基线已经足够完善,可以安装到最终用户实际环境中时,则进入交付阶段。交付阶段的重点是确保软件对最终用户是可用的。交付阶段的主要任务是进行测试,制作产品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培
10、训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品,例如,进行调试、性能或可用性的增强等。试题答案(35)B 试题7(2013年上半年试题38)下列关于敏捷方法的叙述,错误的是( )。A.敏捷方法强调可工作的软件胜过大量的文档B.敏捷方法强调软件过程与工具胜过个体和交互C.敏捷方法强调尽早提交有价值的软件D.敏捷方法强调小版本发布试题分析敏捷方法是从20世纪90年代开始逐渐引起广泛关注的一些新型软件开发方法,以应对快速变化的需求。虽然它们的具体名称、理念、过程、术语都不尽相同,但相对于“非敏捷”而言,它们更强调开发团队与用户之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自
11、我组织型的团队等,也更注重人的作用。敏捷方法强调,让客户满意和软件尽早增量发布;小而高度自主的项目团队;非正式的方法;最小化软件工程工作产品以及整体精简开发。产生这种情况的原因是,在绝大多数软件开发过程中,提前预测哪些需求是稳定的和哪些需求会变化非常困难;对于软件项目构建来说,设计和实现是交错的;从指定计划的角度来看,分析、设计、实现和测试并不容易预测;可执行原型和部分实现的可运行系统是了解用户需求和反馈的有效媒介。从以上描述可以看出,敏捷方法会更强调个体和交互,而不是软件过程。试题答案(38)B 试题8(2012年上半年试题4-5)面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树
12、层次的测试。在常见的测试技术中,( )属于方法层次的测试,( )属于类层次的测试。A.等价类划分测试和多态消息测试B.不变式边界测试和递归函数测试C.组合功能测试和非模态类测试D.不变式边界测试和模态类测试A.等价类划分测试和多态消息测试B.不变式边界测试和递归函数测试C.组合功能测试和非模态类测试D.不变式边界测试和模态类测试试题分析本题考查面向对象系统测试的基本概念。 面向对象系统的单元测试包括方法层次的测试、类层次的测试和类树层次的测试。方法层次的测试类似于传统软件测试中对单个函数的测试,常用的测试技术包括等价类划分测试、组合功能测试、递归函数测试和多态消息测试等。类层次的测试主要包括不
13、变式边界测试、模态类测试和非模态类测试。类树层次的测试主要包括多态服务测试和展平测试。试题答案(4)A(5)D 试题9(2011年上半年试题12)2001年发布的ITIL(IT基础架构库)2.0版本中,ITIL的主体框架被扩充为六个主要的模块,( )模块处于最中心的位置。A.服务管理B.应用管理C.业务管理D.ICT基础设施管理试题分析本题考查技术标准方面的基础知识。ITIL即信息技术基础架构库(Information Technology Infrastructure Library),主要用于IT服务管理(ITSM)。20世纪90年代后期,ITIL的思想和方法被广泛引用,并进一步发展。目前
14、,ITIL已经成为世界IT服务管理领域事实上的标准。在它的最新版2.0版中,ITIL主要包括六个模块,即业务管理、服务管理、ICT基础架构管理、IT服务管理规划与实施、应用管理和安全管理。其中服务管理是其最核心的模块,该模块包括“服务提供”和“服务支持”两个流程组。试题答案(12)A 试题10(2011年上半年试题22)以下关于敏捷开发原则的叙述中,错误的是( )。A.强调通过尽早地、持续地交付有价值的软件来使客户满意B.经常交付可以工作的软件,但是每次都必须交付具有完整功能的系统C.在团队内部,最具有效果并富有效率的信息传递方法是面对面的交谈D.强调应对需求的持续变更,即使在项目后期也可灵活
15、应对需求变更试题分析本题主要考查对敏捷开发原则的理解。敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发的原则包括: 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。但不要求每次交付的都是系统的完整功
16、能。 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 围绕被激励起来的人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。 工作的软件是首要进度度量标准。 敏捷过程提可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 不断地关注优秀的技能和好的设计会增强敏捷能力。 简单使未完成的工作最大化的艺术是根本的。 最好的构架、需求和设计出自与自组织的团队。 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。试题答案(22)B 试题11
17、(2011年上半年试题23)以下敏捷软件开发方法中,( )方法强调以业务为核心,快速而有效地进行系统开发。A.极限编程B.自适应软件开发C.特性驱动开发D.动态系统开发试题分析本题主要考查对敏捷开发方法的理解。敏捷开发包括一系列的方法,主流的有如下七种: XP。XP(极限编程)的思想源自 Kent Beck和Ward Cunningham在软件项目中的合作经历。XP注重的核心是沟通、简明、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。 SCRUM。SCRUM是一种迭代的增量化过程,用于产品开发或工作管
18、理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。 该方法由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。 Crystal Methods。Crystal Methods(水晶方法族)由Alistair Cockburn在20世纪90年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如XP的产出效率高,但会有更多的人能够接受并遵循它。 FDD。FDD(特性驱动开发)由Peter Coad、Jeff de Luca 、Eric L
19、efebvre共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。 ASD。ASD(自适应软件开发)由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性,这一思想来源于复杂系统的混沌理论。ASD不像其他方法那样有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。 DSDM。DSDM(动态系统开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是
20、成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。 轻量型RUP。RUP其实是个过程的框架,它可以包容许多不同类型的过程, Craig Larman极力主张以敏捷型方式来使用RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP 的主流OO开发方法而已。试题答案(23)D 试题12(2011年上半年试题24-25)螺旋模型将瀑布模型和( )结合起来,强调项目的风险分析,特别适合大型复杂系统的开发过程。螺旋模型沿着螺线进行
21、若干次迭代,依次经历了计划指定、风险分析、工程实施和( )四个主要活动。A.喷泉模型B.增量模型C.V模型D.快速原型模型A.客户评估B.客户使用C.工程交付D.软件测试试题分析本题主要考查对软件开发模型中的螺旋模型的概念。1988年,Barry Boehm正式发表了软件系统开发的“螺旋模型”,它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动: 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件; 风险分析:分析评估所选方案,考虑如何识别和消除风险; 实施工程:实施软件开发和验证
22、; 客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。但是,螺旋模型也有一定的限制条件,具体如下: 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目。 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。首先是确定一个阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分
23、析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段。试题答案(24)D(25)A 试题13(2011年上半年试题26)某软件公司欲开发一个人力资源管理系统,客户在开发初期对系统的功能并不清楚,但明确表示随着人力资源管理制度的逐步完善,需要对软件功能进行不断调整,针对这种情况,采用( )开发模型比较合适。A.瀑布式B.喷泉C.增量D.螺旋试题分析本题主要考查软件开发模型的应用。根据题干描述,可以看出在开发之初,用户对系统的功能并不了解,并且系统的功能会不断变更,针对这种情况,
24、应该采用增量的开发模型。这是因为在增量模型中,软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。试题答案(26)C 试题14(2011年上半年试题38)( )是指对一组类似资源提供一个通用的抽象接口集,从而隐藏其属性与操作之间的差异,并允许通过一种通用的方式来使用和维护资源。A.协同B.虚
25、拟化C.集约化D.集成试题分析本题考查信息化方面的基础知识。虚拟化是指对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。虚拟化为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。试题答案(38)B 试题15(2010年上半年试题21-22)软件开发模型大体上可以分为三种类型:第一种是以完全确定软件需求为前提的( );第二种是在软件开发初始阶段只能提供基本需求时采用的( );第三种是以形式化为基础的变换模型。A.协同模型B.瀑布模型C.交互式模型D.迭代式模型A.协同模型B.瀑布模型C.交互式模型D.迭代式模型试
26、题分析软件开发模型大体上可以分为三种类型。第一种是以软件需求完全确定为前提的瀑布模型;第二种是在软件开发初始阶段只能提供基本需求时采用的迭代式或渐进式模型,例如喷泉模型、螺旋模型、统一开发过程和敏捷方法等;第三种是以形式化为基础的变换模型。试题答案(21)B(22)D 试题16(2010年上半年试题23)某小型软件公司欲开发一个基于Web的考勤管理系统,客户对系统的基本功能、表现形式等要求并不明确,在这种情况下,采用( )比较合适。A.瀑布模型B.螺旋模型C.V模型D.原型化模型试题分析是小型软件开发公司在面对客户需求模糊或者多变的情况下,采用极限编程的方法能够在更短的周期内,更早地提供具体、
27、持续的反信息,实现轻量、高效、低风险的软件开发。试题答案(23)D 试题17(2010年上半年试题24-25)净室软件工程是软件开发的一种( )方法,可以开发出具有较高质量的软件。它使用盒结构规约进行分析和建模,并将( )作为发现和排除错误的主要机制,采用统计测试来获取验证软件可靠性所需要的信息。A.形式化B.迭代式C.瀑布式D.交互式A.测试B.仿真C.实验D.正确性验证试题分析净室软件工程是软件开发的一种形式化方法,可以开发较高质量的软件。它使用盒结构规约进行分析和建模,并将正确性验证作为发现和排除错误的主要机制,采用统计测试来获取验证软件可靠性所需要的信息。净室软件下程强凋在规约和设计上的严格性,以及使用基于数学的正确性来证明对设计模型的每个元素进行形式化验证。试题答案(24)A(25)D